Select Git revision
election-program-point.mustache
Forked from
TO / Weby / ui-styleguide
Source project has a limited visibility.
main.js 2.51 KiB
import '../css/style.pcss';
import Vue from "vue";
import { forEachNode } from "./utils";
import ArticleCarousel from "./components/articles/ArticleCarousel";
import HeaderCarousel from "./components/header/HeaderCarousel";
import Renderer from "./components/calendar/Renderer";
import DummyProvider from "./components/calendar/DummyProvider";
import GoogleProvider from "./components/calendar/GoogleProvider";
import RegionMap from "./components/RegionMap";
import InstagramCarousel from "./components/InstagramCarousel";
import ViewProvider from "./components/ViewProvider";
import Popout from "./components/popout/Popout";
import PopoutContent from "./components/popout/PopoutContent";
import PopoutItem from "./components/popout/PopoutItem";
import Navbar from "./components/navbar/Navbar";
import FooterCollapsible from "./components/footer/FooterCollapsible";
import FlipClock from "./components/FlipClock";
import HorizontalScrollable from "./components/HorizontalScrollable";
import SlideUpDown from 'vue-slide-up-down';
Vue.component("ui-article-carousel", ArticleCarousel);
Vue.component("ui-header-carousel", HeaderCarousel);
Vue.component("ui-calendar-renderer", Renderer);
Vue.component("ui-calendar-dummy-provider", DummyProvider);
Vue.component("ui-calendar-google-provider", GoogleProvider);
Vue.component("ui-region-map", RegionMap);
Vue.component("ui-instagram-carousel", InstagramCarousel);
Vue.component("ui-view-provider", ViewProvider);
Vue.component("ui-popout", Popout);
Vue.component("ui-popout-content", PopoutContent);
Vue.component("ui-popout-item", PopoutItem);
Vue.component("ui-navbar", Navbar);
Vue.component("ui-footer-collapsible", FooterCollapsible);
Vue.component("ui-flip-clock", FlipClock);
Vue.component("ui-horizontal-scrollable", HorizontalScrollable);
Vue.component("ui-slide-up-down", SlideUpDown);
import UiApp from "./components/UiApp.vue";
const appFactory = (el, attrs) => {
// Bootstrap Vue.js.
new Vue({
el,
components: {
UiApp
}
});
};
/**
* Bootstrap Vue.js application at given Element instance.
*
* App properties are passed via data attributes, like:
*
* <div class="__vue-root" data-message="Hello" data-app="SomeApp"></div>
*
* @param {Element} el DOM Element
*/
function renderVueAppElement(el) {
const attrs = Object.assign({}, el.dataset);
return appFactory(el, attrs);
}
function init(event) {
// Initialize Vue.js apps.
forEachNode(document.querySelectorAll('.__js-root'), renderVueAppElement)
}
document.addEventListener('DOMContentLoaded', init);