48 lines
953 B
JavaScript
48 lines
953 B
JavaScript
Vue.component('plugin', {
|
|
template: '#tmpl-plugin',
|
|
props: ['config','tag'],
|
|
|
|
data: function() {
|
|
return {
|
|
selected: false,
|
|
};
|
|
},
|
|
});
|
|
|
|
// Declaration of the main vue app
|
|
window.vm = new Vue({
|
|
el: '#app',
|
|
// Override {{ }} delimiters to prevent clash with Flask templates
|
|
delimiters: ['[[',']]'],
|
|
|
|
data: function() {
|
|
return {
|
|
config: window.config,
|
|
selectedPlugin: undefined,
|
|
now: new Date(),
|
|
fullscreen: false,
|
|
};
|
|
},
|
|
|
|
methods: {
|
|
toggleFullScreen: function() {
|
|
toggleFullScreen();
|
|
},
|
|
},
|
|
|
|
created: function() {
|
|
let m = window.location.href.match('#([a-zA-Z0-9._]+)$');
|
|
if (m) {
|
|
this.selectedPlugin = m[1];
|
|
}
|
|
|
|
const self = this;
|
|
setInterval(() => {
|
|
self.now = new Date();
|
|
}, 1000);
|
|
|
|
initEvents();
|
|
},
|
|
});
|
|
|