First pass at typescript support
Oh man did this end up requiring a *ton* of other work as well.
There's still a few typing issues I still can't quite work out,
and others I'd like to improve when I have time. In fact, this version
doesn't even really work, it has a stack overflow error caused by
a tooltip for some reason have a tree inside it, which in turn has
another tooltip, etc. There's also 17 errors that I *really* feel like
shouldn't be there, but they are, and 113 warnings - mostly using !
to assert that things are non-null. Lots of work left to do, to sum up.
The reason I'm committing this now is because I really need to get to
work on my game jam, and since it won't use a tree or really many of
TMT-X's features, I can get away with using a broken engine :)
2021-08-17 04:30:54 +00:00
|
|
|
// Import and register all components,
|
|
|
|
// which will allow us to use them in any template strings anywhere in the project
|
|
|
|
|
|
|
|
import CollapseTransition from "@ivanv/vue-collapse-transition/src/CollapseTransition.vue";
|
|
|
|
import VueTextareaAutosize from "vue-textarea-autosize";
|
|
|
|
import Sortable from "vue-sortable";
|
|
|
|
import VueNextSelect from "vue-next-select";
|
|
|
|
import "vue-next-select/dist/index.css";
|
2021-08-19 05:25:49 +00:00
|
|
|
import panZoom from "vue-panzoom";
|
First pass at typescript support
Oh man did this end up requiring a *ton* of other work as well.
There's still a few typing issues I still can't quite work out,
and others I'd like to improve when I have time. In fact, this version
doesn't even really work, it has a stack overflow error caused by
a tooltip for some reason have a tree inside it, which in turn has
another tooltip, etc. There's also 17 errors that I *really* feel like
shouldn't be there, but they are, and 113 warnings - mostly using !
to assert that things are non-null. Lots of work left to do, to sum up.
The reason I'm committing this now is because I really need to get to
work on my game jam, and since it won't use a tree or really many of
TMT-X's features, I can get away with using a broken engine :)
2021-08-17 04:30:54 +00:00
|
|
|
import { App } from "vue";
|
|
|
|
|
|
|
|
export function registerComponents(vue: App): void {
|
|
|
|
/* from files */
|
|
|
|
const componentsContext = require.context("./");
|
|
|
|
componentsContext.keys().forEach(path => {
|
|
|
|
const component = componentsContext(path).default;
|
|
|
|
if (component && !(component.name in vue._context.components)) {
|
|
|
|
vue.component(component.name, component);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
/* from packages */
|
|
|
|
vue.component("collapse-transition", CollapseTransition);
|
|
|
|
vue.use(VueTextareaAutosize);
|
|
|
|
vue.use(Sortable);
|
|
|
|
vue.component("vue-select", VueNextSelect);
|
2021-08-19 05:25:49 +00:00
|
|
|
vue.use(panZoom);
|
First pass at typescript support
Oh man did this end up requiring a *ton* of other work as well.
There's still a few typing issues I still can't quite work out,
and others I'd like to improve when I have time. In fact, this version
doesn't even really work, it has a stack overflow error caused by
a tooltip for some reason have a tree inside it, which in turn has
another tooltip, etc. There's also 17 errors that I *really* feel like
shouldn't be there, but they are, and 113 warnings - mostly using !
to assert that things are non-null. Lots of work left to do, to sum up.
The reason I'm committing this now is because I really need to get to
work on my game jam, and since it won't use a tree or really many of
TMT-X's features, I can get away with using a broken engine :)
2021-08-17 04:30:54 +00:00
|
|
|
}
|