summaryrefslogtreecommitdiffstats
path: root/apps/updatenotification/js-src/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/updatenotification/js-src/app.js')
-rw-r--r--apps/updatenotification/js-src/app.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/apps/updatenotification/js-src/app.js b/apps/updatenotification/js-src/app.js
new file mode 100644
index 00000000000..bf96a2ff326
--- /dev/null
+++ b/apps/updatenotification/js-src/app.js
@@ -0,0 +1,53 @@
+/**
+ * @copyright (c) 2018 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ */
+
+/* global $, define */
+
+define(function (require) {
+ "use strict";
+
+ return {
+
+ /** @type {Vue|null} */
+ vm: null,
+
+ /**
+ * Initialise the app
+ */
+ initialise: function() {
+ var data = JSON.parse($('#updatenotification').attr('data-json'));
+ var Vue = require('vue');
+ var vSelect = require('vue-select');
+ Vue.component('v-select', vSelect.VueSelect);
+ Vue.mixin({
+ methods: {
+ t: function(app, text, vars, count, options) {
+ return OC.L10N.translate(app, text, vars, count, options);
+ },
+ n: function(app, textSingular, textPlural, count, vars, options) {
+ return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);
+ }
+ }
+ });
+ this.vm = new Vue(require('./components/root.vue'));
+
+ this.vm.newVersionString = data.newVersionString;
+ this.vm.lastCheckedDate = data.lastChecked;
+ this.vm.isUpdateChecked = data.isUpdateChecked;
+ this.vm.updaterEnabled = data.updaterEnabled;
+ this.vm.downloadLink = data.downloadLink;
+ this.vm.isNewVersionAvailable = data.isNewVersionAvailable;
+ this.vm.updateServerURL = data.updateServerURL;
+ this.vm.currentChannel = data.currentChannel;
+ this.vm.channels = data.channels;
+ this.vm.notifyGroups = data.notifyGroups;
+ this.vm.isDefaultUpdateServerURL = data.isDefaultUpdateServerURL;
+ }
+ };
+});