From bc9ecb628dc4fd63adcf405b52f10aec311d44a9 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Mon, 15 May 2017 09:41:30 +0100 Subject: [PATCH 01/23] Install webpack with npm --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 44d066c7e..10743e231 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ }, "devDependencies": { "jshint": "*", - "node-qunit-phantomjs": "*" + "node-qunit-phantomjs": "*", + "webpack": "^2.5.1" } } From 1cb73fc35a931ae731b1e956acbf407e547c851e Mon Sep 17 00:00:00 2001 From: martinRenou Date: Mon, 15 May 2017 13:31:51 +0100 Subject: [PATCH 02/23] Switch the user part to webpack --- package.json | 6 +- .../vue-components/toolkit/AdminLTEBox.js | 36 +-- .../vue-components/toolkit/ConfirmDialog.js | 61 ++-- .../admin/vue-components/toolkit/DataTable.js | 86 +++-- .../vue-components/toolkit/ModalDialog.js | 27 +- .../admin/vue-components/toolkit/toolkit.js | 37 +-- .../static/js/home/configurables.js | 118 ++++--- remoteappmanager/static/js/home/controller.js | 74 ++--- remoteappmanager/static/js/home/models.js | 11 +- .../js/home/views/application_list_view.js | 186 ++++++----- .../static/js/home/views/application_view.js | 294 +++++++++--------- remoteappmanager/static/js/vue/filters.js | 32 +- remoteappmanager/templates/home.html | 4 +- remoteappmanager/templates/page.html | 24 +- webpackfile.js | 34 ++ 15 files changed, 501 insertions(+), 529 deletions(-) create mode 100644 webpackfile.js diff --git a/package.json b/package.json index 10743e231..8161a17c1 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,10 @@ "type": "git", "url": "https://github.com/simphony-remote/simphony-remote.git" }, + "scripts": { + "server": "python -m SimpleHTTPServer", + "watch": "webpack --watch", + "build": "webpack -p"}, "dependencies": { "bower": "*", "configurable-http-proxy": "git://github.com/jupyterhub/configurable-http-proxy.git#2.0.1" @@ -15,6 +19,6 @@ "devDependencies": { "jshint": "*", "node-qunit-phantomjs": "*", - "webpack": "^2.5.1" + "webpack": "2.5.1" } } diff --git a/remoteappmanager/static/js/admin/vue-components/toolkit/AdminLTEBox.js b/remoteappmanager/static/js/admin/vue-components/toolkit/AdminLTEBox.js index 4d4b7b167..1db1cc9f0 100644 --- a/remoteappmanager/static/js/admin/vue-components/toolkit/AdminLTEBox.js +++ b/remoteappmanager/static/js/admin/vue-components/toolkit/AdminLTEBox.js @@ -1,23 +1,19 @@ -define([ -], function() { - "use strict"; - - return { +"use strict"; + +module.exports = { props: { - title: { - type: String, - default: "Box" - } + title: { + type: String, + default: "Box" + } }, template: - '
' + - '
' + - '
' + - '
{{title}}
' + - '
' + - '
' + - '
' + - '
' - }; - -}); + '
' + + '
' + + '
' + + '
{{title}}
' + + '
' + + '
' + + '
' + + '
' +}; diff --git a/remoteappmanager/static/js/admin/vue-components/toolkit/ConfirmDialog.js b/remoteappmanager/static/js/admin/vue-components/toolkit/ConfirmDialog.js index 066e48a47..0a76cbc77 100644 --- a/remoteappmanager/static/js/admin/vue-components/toolkit/ConfirmDialog.js +++ b/remoteappmanager/static/js/admin/vue-components/toolkit/ConfirmDialog.js @@ -1,35 +1,32 @@ -define([ -], function() { - "use strict"; +"use strict"; - return { +module.exports = { props: { - title: { - type: String, - default: "Confirm" - }, - closeCallback: { - type: Function, - default: undefined - }, - okCallback: { - type: Function, - default: function() {} - } - }, + title: { + type: String, + default: "Confirm" + }, + closeCallback: { + type: Function, + default: undefined + }, + okCallback: { + type: Function, + default: function() {} + } + }, template: '' + - ' ' + - '' - }; -}); + ' ' + + '' +}; diff --git a/remoteappmanager/static/js/admin/vue-components/toolkit/DataTable.js b/remoteappmanager/static/js/admin/vue-components/toolkit/DataTable.js index e0cb0494e..0c37f9351 100644 --- a/remoteappmanager/static/js/admin/vue-components/toolkit/DataTable.js +++ b/remoteappmanager/static/js/admin/vue-components/toolkit/DataTable.js @@ -1,52 +1,48 @@ -define([ -], function() { - "use strict"; +"use strict"; - return { +module.exports = { props: [ - "headers", "rows", "globalActions", "rowActions" + "headers", "rows", "globalActions", "rowActions" ], methods: { - isBoolean: function(value) { - return typeof(value) === "boolean"; - }, - buttonClassFromType: function(value) { - var cls = {"btn": true}; - if (value === undefined) { - value = "danger"; + isBoolean: function(value) { + return typeof(value) === "boolean"; + }, + buttonClassFromType: function(value) { + var cls = {"btn": true}; + if (value === undefined) { + value = "danger"; + } + cls["btn-" + value] = true; + return cls; } - cls["btn-" + value] = true; - return cls; - } }, template: - '
' + - '
' + - ' ' + - '
' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '
{{header}}Actions
' + - ' ' + - '
' + - '
' - }; - -}); + '
' + + '
' + + ' ' + + '
' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '
{{header}}Actions
' + + ' ' + + '
' + + '
' +}; diff --git a/remoteappmanager/static/js/admin/vue-components/toolkit/ModalDialog.js b/remoteappmanager/static/js/admin/vue-components/toolkit/ModalDialog.js index d8df1d553..50e8e351b 100644 --- a/remoteappmanager/static/js/admin/vue-components/toolkit/ModalDialog.js +++ b/remoteappmanager/static/js/admin/vue-components/toolkit/ModalDialog.js @@ -1,17 +1,14 @@ -define([ -], function() { - "use strict"; +"use strict"; - return { +module.exports = { template: '' + - ' ' + - '' - }; -}); + ' ' + + '' +}; \ No newline at end of file diff --git a/remoteappmanager/static/js/admin/vue-components/toolkit/toolkit.js b/remoteappmanager/static/js/admin/vue-components/toolkit/toolkit.js index 32c04004c..fbc219a82 100644 --- a/remoteappmanager/static/js/admin/vue-components/toolkit/toolkit.js +++ b/remoteappmanager/static/js/admin/vue-components/toolkit/toolkit.js @@ -1,28 +1,19 @@ -define([ - "components/vue/dist/vue", - "admin/vue-components/toolkit/AdminLTEBox", - "admin/vue-components/toolkit/ConfirmDialog", - "admin/vue-components/toolkit/ModalDialog", - "admin/vue-components/toolkit/DataTable" -], function( - Vue, - AdminLTEBox, - ConfirmDialog, - ModalDialog, - DataTable -) { - "use strict"; +"use strict"; - Vue.component("confirm-dialog", ConfirmDialog); - Vue.component("modal-dialog", ModalDialog); - Vue.component("adminlte-box", AdminLTEBox); - Vue.component("data-table", DataTable); - - return { +var Vue = require("vuejs"); +var ConfirmDialog = require("./ConfirmDialog"); +var ModalDialog = require("./ModalDialog"); +var AdminLTEBox = require("./AdminLTEBox"); +var DataTable = require("./DataTable"); + +Vue.component("confirm-dialog", ConfirmDialog); +Vue.component("modal-dialog", ModalDialog); +Vue.component("adminlte-box", AdminLTEBox); +Vue.component("data-table", DataTable); + +module.exports = { ConfirmDialog: ConfirmDialog, AdminLTEBox: AdminLTEBox, ModalDialog: ModalDialog, DataTable: DataTable - }; - -}); +}; diff --git a/remoteappmanager/static/js/home/configurables.js b/remoteappmanager/static/js/home/configurables.js index 4f4e8902e..e6fd6cb38 100644 --- a/remoteappmanager/static/js/home/configurables.js +++ b/remoteappmanager/static/js/home/configurables.js @@ -1,61 +1,59 @@ -define([ - "utils", - "components/vue/dist/vue" -], function(utils, Vue) { - "use strict"; - - var resolutionTag = 'resolution'; - var resolutionComponent = Vue.component(resolutionTag + '-component', { - // Your configurable must have a "configDict" property from the model - props: ['configDict'], - - template: - '
' + - ' ' + - ' ' + - '
', - - data: function() { - return { - resolution: this.configDict.resolution, - resolutionOptions: ['Window', '1920x1080', '1280x1024', '1280x800', '1024x768'] - }; - }, - - watch: { - configDict: function() { this.resolution = this.configDict.resolution; }, // model -> view update - resolution: function() { this.$emit('update:configDict', { resolution: this.resolution }); } // view -> model update - } - }); - - // Your configurable class must implement a tag and default configDict - var ResolutionModel = function() { - this.tag = resolutionTag; - this.configDict = { resolution: 'Window' }; - }; - - ResolutionModel.prototype.asConfigDict = function() { - var resolution = this.configDict.resolution; - - if (resolution === 'Window') { - var maxSize = utils.maxIframeSize(); - resolution = maxSize[0] + 'x' + maxSize[1]; - } - - return { resolution: resolution }; - }; - - var outputConfigurables = {}; - - // Export all your configurable models here - outputConfigurables[resolutionTag] = { - model: ResolutionModel, - component: resolutionComponent - }; - - return outputConfigurables; +"use strict"; + +var Vue = require("vuejs"); +var utils = require("utils"); + +var resolutionTag = 'resolution'; +var resolutionComponent = Vue.component(resolutionTag + '-component', { + // Your configurable must have a "configDict" property from the model + props: ['configDict'], + + template: + '
' + + ' ' + + ' ' + + '
', + + data: function() { + return { + resolution: this.configDict.resolution, + resolutionOptions: ['Window', '1920x1080', '1280x1024', '1280x800', '1024x768'] + }; + }, + + watch: { + configDict: function() { this.resolution = this.configDict.resolution; }, // model -> view update + resolution: function() { this.$emit('update:configDict', { resolution: this.resolution }); } // view -> model update + } }); + +// Your configurable class must implement a tag and default configDict +var ResolutionModel = function() { + this.tag = resolutionTag; + this.configDict = { resolution: 'Window' }; +}; + +ResolutionModel.prototype.asConfigDict = function() { + var resolution = this.configDict.resolution; + + if (resolution === 'Window') { + var maxSize = utils.maxIframeSize(); + resolution = maxSize[0] + 'x' + maxSize[1]; + } + + return { resolution: resolution }; +}; + +var outputConfigurables = {}; + +// Export all your configurable models here +outputConfigurables[resolutionTag] = { + model: ResolutionModel, + component: resolutionComponent +}; + +module.exports = outputConfigurables; \ No newline at end of file diff --git a/remoteappmanager/static/js/home/controller.js b/remoteappmanager/static/js/home/controller.js index eef36c39b..bedf390cd 100644 --- a/remoteappmanager/static/js/home/controller.js +++ b/remoteappmanager/static/js/home/controller.js @@ -1,42 +1,34 @@ -/*globals: require, console*/ -require([ - "home/models", - "home/views/application_list_view", - "home/views/application_view", - "components/vue/dist/vue", - "gamodule", - "vue/filters" -], function( - models, - applicationListView, - applicationView, - Vue, - gamodule) { - "use strict"; - - // This model keeps the retrieved content from the REST query locally. - // It is only synchronized at initial load. - var model = new models.ApplicationListModel(); - - // Initialize views - var appListView = new applicationListView.ApplicationListView({ - el: '#applist', - data: function() { return { model: model }; } - }); - - var appView = new applicationView.ApplicationView({ - el: '#appview', - data: function() { return { model: model }; } - }); - - // Create GA observer - var gaObserver = new gamodule.GaObserver(); - - appView.$on('startApplication', function(application) { - gaObserver.triggerApplicationStarting(application.appData.image.name); - }); - - appListView.$on('entryClicked', function() { appView.focusIframe(); }); - - model.update(); +"use strict"; + +var Vue = require("vuejs"); +var gamodule = require("gamodule"); +var models = require("./models"); +var applicationListView = require("./views/application_list_view"); +var applicationView = require("./views/application_view"); +require("filters"); + +// This model keeps the retrieved content from the REST query locally. +// It is only synchronized at initial load. +var model = new models.ApplicationListModel(); + +// Initialize views +var appListView = new applicationListView.ApplicationListView({ + el: '#applist', + data: function() { return { model: model }; } +}); + +var appView = new applicationView.ApplicationView({ + el: '#appview', + data: function() { return { model: model }; } }); + +// Create GA observer +var gaObserver = new gamodule.GaObserver(); + +appView.$on('startApplication', function(application) { + gaObserver.triggerApplicationStarting(application.appData.image.name); +}); + +appListView.$on('entryClicked', function() { appView.focusIframe(); }); + +model.update(); diff --git a/remoteappmanager/static/js/home/models.js b/remoteappmanager/static/js/home/models.js index 03203c653..7ccaa34bf 100644 --- a/remoteappmanager/static/js/home/models.js +++ b/remoteappmanager/static/js/home/models.js @@ -1,10 +1,9 @@ -define([ - "jquery", - "home/configurables", - "jsapi/v1/resources" -], function ($, configurables, resources) { - "use strict"; +"use strict"; +var $ = require("jquery"); +var configurables = require("./configurables"); + +require(["resources"], function(resources) { var Status = { RUNNING: "RUNNING", STARTING: "STARTING", diff --git a/remoteappmanager/static/js/home/views/application_list_view.js b/remoteappmanager/static/js/home/views/application_list_view.js index c76611aa8..60597e983 100644 --- a/remoteappmanager/static/js/home/views/application_list_view.js +++ b/remoteappmanager/static/js/home/views/application_list_view.js @@ -1,109 +1,107 @@ -define([ - "../../components/vue/dist/vue", - "admin/vue-components/toolkit/toolkit" -], function (Vue) { - 'use strict'; +'use strict'; - var ApplicationListView = Vue.extend({ - template: - '' + + '', - computed: { - visibleList: function() { - return this.model.appList.filter(function(app) { - var appName = this.$options.filters.appName(app.appData.image).toLowerCase(); - return appName.indexOf(this.searchInput.toLowerCase()) !== -1; - }.bind(this)); - } - }, + data: function() { + return { + 'searchInput': '', + stoppingError: { show: false, appName: '', code: '', message: '' } + }; + }, - methods: { - stopApplication: function(index) { - var stoppingAppName = this.$options.filters.appName( - this.model.appList[index].appData.image); - this.model.stopApplication(index).fail(function(error) { - this.stoppingError.code = error.code; - this.stoppingError.message = error.message; - this.stoppingError.appName = stoppingAppName; - this.stoppingError.show = true; - }.bind(this)); - }, - closeDialog: function() { - this.stoppingError.show = false; - }, - indexOf: function(app) { - return this.model.appList.indexOf(app); - } + computed: { + visibleList: function() { + return this.model.appList.filter(function(app) { + var appName = this.$options.filters.appName(app.appData.image).toLowerCase(); + return appName.indexOf(this.searchInput.toLowerCase()) !== -1; + }.bind(this)); } - }); + }, - return { - ApplicationListView : ApplicationListView - }; + methods: { + stopApplication: function(index) { + var stoppingAppName = this.$options.filters.appName( + this.model.appList[index].appData.image); + this.model.stopApplication(index).fail(function(error) { + this.stoppingError.code = error.code; + this.stoppingError.message = error.message; + this.stoppingError.appName = stoppingAppName; + this.stoppingError.show = true; + }.bind(this)); + }, + closeDialog: function() { + this.stoppingError.show = false; + }, + indexOf: function(app) { + return this.model.appList.indexOf(app); + } + } }); + +module.exports = { + ApplicationListView : ApplicationListView +}; diff --git a/remoteappmanager/static/js/home/views/application_view.js b/remoteappmanager/static/js/home/views/application_view.js index 8932c06b6..2cf1f26e7 100644 --- a/remoteappmanager/static/js/home/views/application_view.js +++ b/remoteappmanager/static/js/home/views/application_view.js @@ -1,153 +1,151 @@ -define([ - "urlutils", - "utils", - "../../components/vue/dist/vue", - "admin/vue-components/toolkit/toolkit" -], function (urlUtils, utils, Vue) { - "use strict"; - - var ApplicationView = Vue.extend({ - template: - '' + - '
' + - ' ' + - ' ' + - '
' + - ' Code: {{startingError.code}}' + - ' {{startingError.message}}' + - '
' + - '
' + - - ' ' + - '
' + - '
' + - '
' + - '
' + - '

{{ currentApp.appData.image | appName }}

' + - '
' + - '
' + - '
' + - '

Description

' + - ' {{ currentApp.appData.image.description }}' + - - '

Policy

' + - - '
    ' + - ' ' + - '
  • ' + - ' Workspace accessible' + - '
  • ' + - '
  • ' + - ' Workspace not accessible' + - '
  • ' + - - ' ' + - '
  • ' + - ' Volume mounted: {{ appPolicy.volume_source }} → {{ appPolicy.volume_target }} ({{ appPolicy.volume_mode }})' + - '
  • ' + - '
  • ' + - ' No volumes mounted' + - '
  • ' + - '
' + - - '

Configuration

' + - '
' + - '
No configurable options for this image
' + - '
' + - ' ' + - '
' + - '
' + - '
' + - - ' ' + - ' ' + - '
' + - '
' + - '
' + - - - ' ' + - ' ' + - '
', - - data: function() { - return { - startingError: { show: false, appName: '', code: '', message: '' } - }; +"use strict"; + +var Vue = require("vuejs"); +var urlUtils = require("urlutils"); +var utils = require("utils"); +require("toolkit"); + +var ApplicationView = Vue.extend({ + template: + '' + + '
' + + ' ' + + ' ' + + '
' + + ' Code: {{startingError.code}}' + + ' {{startingError.message}}' + + '
' + + '
' + + + ' ' + + '
' + + '
' + + '
' + + '
' + + '

{{ currentApp.appData.image | appName }}

' + + '
' + + '
' + + '
' + + '

Description

' + + ' {{ currentApp.appData.image.description }}' + + + '

Policy

' + + + '
    ' + + ' ' + + '
  • ' + + ' Workspace accessible' + + '
  • ' + + '
  • ' + + ' Workspace not accessible' + + '
  • ' + + + ' ' + + '
  • ' + + ' Volume mounted: {{ appPolicy.volume_source }} → {{ appPolicy.volume_target }} ({{ appPolicy.volume_mode }})' + + '
  • ' + + '
  • ' + + ' No volumes mounted' + + '
  • ' + + '
' + + + '

Configuration

' + + '
' + + '
No configurable options for this image
' + + '
' + + ' ' + + '
' + + '
' + + '
' + + + ' ' + + ' ' + + '
' + + '
' + + '
' + + + + ' ' + + ' ' + + '
', + + data: function() { + return { + startingError: { show: false, appName: '', code: '', message: '' } + }; + }, + + computed: { + currentApp: function() { + return this.model.appList[this.model.selectedIndex] || null; }, - - computed: { - currentApp: function() { - return this.model.appList[this.model.selectedIndex] || null; - }, - appPolicy: function() { - return this.currentApp.appData.image.policy; - }, - appSource: function() { - var url = urlUtils.pathJoin( - window.apidata.base_url, - 'containers', - this.currentApp.appData.container.url_id - ); - var output = this.currentApp.delayed ? url : url + '/'; - - this.currentApp.delayed = false; - - return output; - } + appPolicy: function() { + return this.currentApp.appData.image.policy; }, - - methods: { - startApplication: function() { - var startingApp = this.currentApp; - var startingAppName = this.$options.filters.appName(startingApp.appData.image); - this.model.startApplication() - .done(function() { - this.$emit('startApplication', startingApp); - }.bind(this)) - .fail(function(error) { - this.startingError.code = error.code; - this.startingError.message = error.message; - this.startingError.appName = startingAppName; - this.startingError.show = true; - }.bind(this)); - }, - closeDialog: function() { - this.startingError.show = false; - }, - getIframeSize: function() { - return utils.maxIframeSize(); - }, - focusIframe: function() { - var iframe = this.$el.querySelector('iframe'); - if(iframe !== null) { - iframe.focus(); - } - } + appSource: function() { + var url = urlUtils.pathJoin( + window.apidata.base_url, + 'containers', + this.currentApp.appData.container.url_id + ); + var output = this.currentApp.delayed ? url : url + '/'; + + this.currentApp.delayed = false; + + return output; + } + }, + + methods: { + startApplication: function() { + var startingApp = this.currentApp; + var startingAppName = this.$options.filters.appName(startingApp.appData.image); + this.model.startApplication() + .done(function() { + this.$emit('startApplication', startingApp); + }.bind(this)) + .fail(function(error) { + this.startingError.code = error.code; + this.startingError.message = error.message; + this.startingError.appName = startingAppName; + this.startingError.show = true; + }.bind(this)); }, + closeDialog: function() { + this.startingError.show = false; + }, + getIframeSize: function() { + return utils.maxIframeSize(); + }, + focusIframe: function() { + var iframe = this.$el.querySelector('iframe'); + if(iframe !== null) { + iframe.focus(); + } + } + }, - updated: function() { this.focusIframe(); } - }); - - return { - ApplicationView : ApplicationView - }; + updated: function() { this.focusIframe(); } }); + +module.exports = { + ApplicationView : ApplicationView +}; diff --git a/remoteappmanager/static/js/vue/filters.js b/remoteappmanager/static/js/vue/filters.js index 682127069..3c10f9479 100644 --- a/remoteappmanager/static/js/vue/filters.js +++ b/remoteappmanager/static/js/vue/filters.js @@ -1,22 +1,18 @@ -define([ - "components/vue/dist/vue", - "urlutils" -], function (Vue, urlUtils) { - 'use strict'; +"use strict"; - Vue.filter('iconSrc', function(icon_data) { - return ( - icon_data ? - 'data:image/png;base64,' + icon_data : - urlUtils.pathJoin( - window.apidata.base_url, 'static', 'images', 'generic_appicon_128.png' - ) - ); - }); +var Vue = require("vuejs"); +var urlUtils = require("urlutils"); - Vue.filter('appName', function(image) { - return image.ui_name? image.ui_name: image.name; - }); +Vue.filter('iconSrc', function(icon_data) { + return ( + icon_data ? + 'data:image/png;base64,' + icon_data : + urlUtils.pathJoin( + window.apidata.base_url, 'static', 'images', 'generic_appicon_128.png' + ) + ); +}); - return null; +Vue.filter('appName', function(image) { + return image.ui_name? image.ui_name: image.name; }); diff --git a/remoteappmanager/templates/home.html b/remoteappmanager/templates/home.html index 0f165419e..0f1432f0f 100644 --- a/remoteappmanager/templates/home.html +++ b/remoteappmanager/templates/home.html @@ -10,7 +10,5 @@ {% block script_init %} {{ super() }} - + {% endblock %} diff --git a/remoteappmanager/templates/page.html b/remoteappmanager/templates/page.html index 3741e3486..6b675b552 100644 --- a/remoteappmanager/templates/page.html +++ b/remoteappmanager/templates/page.html @@ -52,33 +52,11 @@ {% if analytics %} {% endif %} + {% endblock %} {% block script_init %} - - {% endblock %} - {% block script_init %} - - {% endblock %} - {% block meta %} {% endblock %} @@ -164,6 +147,23 @@ {% endcall %} {% endblock %} + {% block script_init %} + + {% endblock %} + From 2ef064455e9469ae842571b327c33ee5aea73ed4 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Mon, 15 May 2017 14:12:08 +0100 Subject: [PATCH 05/23] Remove requirejs --- bower.json | 1 - remoteappmanager/templates/page.html | 2 -- 2 files changed, 3 deletions(-) diff --git a/bower.json b/bower.json index 6dd59a7be..7e7d46e6e 100644 --- a/bower.json +++ b/bower.json @@ -17,7 +17,6 @@ "ionicons": "~2.0.1", "jquery": "components/jquery#~2.0", "moment": "~2.7", - "requirejs": "~2.1", "datatables.net": "~1.10.12", "datatables.net-dt": "~1.10.12", "admin-lte": "~2.3.11", diff --git a/remoteappmanager/templates/page.html b/remoteappmanager/templates/page.html index a4727bf26..c60981e9a 100644 --- a/remoteappmanager/templates/page.html +++ b/remoteappmanager/templates/page.html @@ -52,8 +52,6 @@ {% if analytics %} {% endif %} - - {% endblock %} {% block meta %} From 66bde16605fa7aef52c1e67f1628b11ecb5c27fb Mon Sep 17 00:00:00 2001 From: martinRenou Date: Mon, 15 May 2017 14:15:54 +0100 Subject: [PATCH 06/23] Remove unused copied/past script --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 8161a17c1..0a9663d9d 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,6 @@ "url": "https://github.com/simphony-remote/simphony-remote.git" }, "scripts": { - "server": "python -m SimpleHTTPServer", "watch": "webpack --watch", "build": "webpack -p"}, "dependencies": { From 781c8ae546b1fe831e5c77c90efaeaa894343cf4 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Mon, 15 May 2017 14:26:57 +0100 Subject: [PATCH 07/23] Removed use of "use strict" outside of functions --- .../static/js/admin/vue-components/toolkit/AdminLTEBox.js | 2 -- .../static/js/admin/vue-components/toolkit/ConfirmDialog.js | 2 -- .../static/js/admin/vue-components/toolkit/DataTable.js | 2 -- .../static/js/admin/vue-components/toolkit/ModalDialog.js | 2 -- .../static/js/admin/vue-components/toolkit/toolkit.js | 2 -- remoteappmanager/static/js/gamodule.js | 2 -- remoteappmanager/static/js/home/configurables.js | 2 -- remoteappmanager/static/js/home/controller.js | 2 -- remoteappmanager/static/js/home/models.js | 2 -- remoteappmanager/static/js/home/views/application_list_view.js | 2 -- remoteappmanager/static/js/home/views/application_view.js | 2 -- remoteappmanager/static/js/resources.js | 2 -- remoteappmanager/static/js/urlutils.js | 2 -- remoteappmanager/static/js/utils.js | 2 -- remoteappmanager/static/js/vue/filters.js | 2 -- webpackfile.js | 2 -- 16 files changed, 32 deletions(-) diff --git a/remoteappmanager/static/js/admin/vue-components/toolkit/AdminLTEBox.js b/remoteappmanager/static/js/admin/vue-components/toolkit/AdminLTEBox.js index 1db1cc9f0..83aa72b84 100644 --- a/remoteappmanager/static/js/admin/vue-components/toolkit/AdminLTEBox.js +++ b/remoteappmanager/static/js/admin/vue-components/toolkit/AdminLTEBox.js @@ -1,5 +1,3 @@ -"use strict"; - module.exports = { props: { title: { diff --git a/remoteappmanager/static/js/admin/vue-components/toolkit/ConfirmDialog.js b/remoteappmanager/static/js/admin/vue-components/toolkit/ConfirmDialog.js index 0a76cbc77..c82188cf3 100644 --- a/remoteappmanager/static/js/admin/vue-components/toolkit/ConfirmDialog.js +++ b/remoteappmanager/static/js/admin/vue-components/toolkit/ConfirmDialog.js @@ -1,5 +1,3 @@ -"use strict"; - module.exports = { props: { title: { diff --git a/remoteappmanager/static/js/admin/vue-components/toolkit/DataTable.js b/remoteappmanager/static/js/admin/vue-components/toolkit/DataTable.js index 0c37f9351..3845ddac9 100644 --- a/remoteappmanager/static/js/admin/vue-components/toolkit/DataTable.js +++ b/remoteappmanager/static/js/admin/vue-components/toolkit/DataTable.js @@ -1,5 +1,3 @@ -"use strict"; - module.exports = { props: [ "headers", "rows", "globalActions", "rowActions" diff --git a/remoteappmanager/static/js/admin/vue-components/toolkit/ModalDialog.js b/remoteappmanager/static/js/admin/vue-components/toolkit/ModalDialog.js index 50e8e351b..61a7059a6 100644 --- a/remoteappmanager/static/js/admin/vue-components/toolkit/ModalDialog.js +++ b/remoteappmanager/static/js/admin/vue-components/toolkit/ModalDialog.js @@ -1,5 +1,3 @@ -"use strict"; - module.exports = { template: '' + '