Skip to content

Commit

Permalink
Build assets
Browse files Browse the repository at this point in the history
  • Loading branch information
skryukov committed May 12, 2024
1 parent 4d5624e commit b51390b
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 17 deletions.
11 changes: 6 additions & 5 deletions app/assets/javascripts/turbo-mount.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,14 @@ class TurboMountController extends Controller {
}
TurboMountController.values = {
props: Object,
component: String
component: String,
};
TurboMountController.targets = ["mount"];

const camelToKebabCase = (str) => {
return str.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
};

class TurboMount {
constructor(props) {
var _a;
Expand All @@ -55,7 +59,7 @@ class TurboMount {
}
this.components.set(name, component);
if (controller) {
const controllerName = `turbo-mount-${this.framework}-${this.camelToKebabCase(name)}`;
const controllerName = `turbo-mount-${this.framework}-${camelToKebabCase(name)}`;
this.application.register(controllerName, controller);
}
}
Expand All @@ -66,9 +70,6 @@ class TurboMount {
}
return component;
}
camelToKebabCase(str) {
return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
}
}

export { TurboMount, TurboMountController };
2 changes: 1 addition & 1 deletion app/assets/javascripts/turbo-mount.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion app/assets/javascripts/turbo-mount.min.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions app/assets/javascripts/turbo-mount/react.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@ class TurboMountReactController extends TurboMountController {
mountComponent(el, Component, props) {
const root = createRoot(el);
root.render(createElement(Component, props));
return () => { root.unmount(); };
return () => {
root.unmount();
};
}
}

const plugin = {
framework: "react",
controller: TurboMountReactController
controller: TurboMountReactController,
};

export { plugin as default };
2 changes: 1 addition & 1 deletion app/assets/javascripts/turbo-mount/react.min.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions app/assets/javascripts/turbo-mount/svelte.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@ class TurboMountSvelteController extends TurboMountController {
}
mountComponent(el, Component, props) {
const component = new Component({ target: el, props });
return () => { component.$destroy(); };
return () => {
component.$destroy();
};
}
}

const plugin = {
framework: "svelte",
controller: TurboMountSvelteController
controller: TurboMountSvelteController,
};

export { plugin as default };
Loading

0 comments on commit b51390b

Please sign in to comment.