12033: Move classes to global namespace.
authorTom Clegg <tom@curoverse.com>
Mon, 14 Aug 2017 19:23:46 +0000 (15:23 -0400)
committerTom Clegg <tom@curoverse.com>
Mon, 14 Aug 2017 19:23:46 +0000 (15:23 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curoverse.com>

apps/workbench/app/assets/javascripts/components/collections.js
apps/workbench/app/assets/javascripts/components/date.js
apps/workbench/app/assets/javascripts/components/save_ui_state.js [moved from apps/workbench/app/assets/javascripts/components/save_state.js with 95% similarity]
apps/workbench/app/assets/javascripts/components/sessions.js
apps/workbench/app/assets/javascripts/components/test.js
apps/workbench/app/assets/javascripts/mithril_mount.js
apps/workbench/app/assets/javascripts/models/loader.js
apps/workbench/app/assets/javascripts/models/session_db.js
apps/workbench/app/views/collections/multisite.html
apps/workbench/app/views/sessions/index.html
apps/workbench/app/views/tests/mithril.html

index fad7e749e03a61f1724f8810ddcc0e6ed7dc11ae..d65354f526e36bac27e64460d4fed57046b2b017 100644 (file)
@@ -2,8 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-window.components = window.components || {}
-window.components.collection_table = {
+window.CollectionsTable = {
     maybeLoadMore: function(dom) {
         var loader = this.loader
         if (loader.done || loader.loading)
@@ -50,7 +49,7 @@ window.components.collection_table = {
                         m('td', m('a.btn.btn-xs.btn-default', {href: item.session.baseURL.replace('://', '://workbench.')+'collections/'+item.uuid}, 'Show')),
                         m('td.arvados-uuid', item.uuid),
                         m('td', item.name || '(unnamed)'),
-                        m('td', m(window.components.datetime, {parse: item.modified_at})),
+                        m('td', m(LocalizedDateTime, {parse: item.modified_at})),
                     ])
                 }),
             ]),
@@ -74,9 +73,9 @@ window.components.collection_table = {
     },
 }
 
-window.components.collection_search = {
+window.CollectionsSearch = {
     oninit: function(vnode) {
-        vnode.state.sessionDB = new window.models.SessionDB()
+        vnode.state.sessionDB = new SessionDB()
         vnode.state.searchEntered = m.stream()
         vnode.state.searchActive = m.stream()
         // When searchActive changes (e.g., when restoring state
@@ -86,10 +85,10 @@ window.components.collection_search = {
         // with the given search term.
         vnode.state.searchActive.map(function(q) {
             var sessions = vnode.state.sessionDB.loadActive()
-            vnode.state.loader = new window.models.MergingLoader({
+            vnode.state.loader = new MergingLoader({
                 children: Object.keys(sessions).map(function(key) {
                     var session = sessions[key]
-                    return new window.models.MultipageLoader({
+                    return new MultipageLoader({
                         loadFunc: function(filters) {
                             if (q)
                                 filters.push(['any', '@@', q+':*'])
@@ -119,7 +118,7 @@ window.components.collection_search = {
                 return false
             },
         }, [
-            m(window.components.save_state, {
+            m(SaveUIState, {
                 defaultState: '',
                 currentState: vnode.state.searchActive,
                 forgetSavedState: vnode.state.forgetSavedState,
@@ -153,7 +152,7 @@ window.components.collection_search = {
                         m('a[href="/sessions"]', 'Add/remove sites'),
                     ]),
                 ]),
-                m(window.components.collection_table, {
+                m(CollectionsTable, {
                     loader: vnode.state.loader,
                 }),
             ],
index c3c905ae7f3a0ae1f1da2a6f56a36d9a29352da0..62eacc37de597320bb91aabcedb44e3014061266 100644 (file)
@@ -2,8 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-window.components = window.components || {}
-window.components.datetime = {
+window.LocalizedDateTime = {
     view: function(vnode) {
         return m('span', new Date(Date.parse(vnode.attrs.parse)).toLocaleString())
     },
similarity index 95%
rename from apps/workbench/app/assets/javascripts/components/save_state.js
rename to apps/workbench/app/assets/javascripts/components/save_ui_state.js
index 021f7ff18e80e47909f06b6d2035afbe0c9ab11d..b24aef3c8cdfded3f80f5b1d21edbeed76303408 100644 (file)
@@ -2,8 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-window.components = window.components || {}
-window.components.save_state = {
+window.SaveUIState = {
     saveState: function() {
         var state = history.state || {}
         state.bodyHeight = window.getComputedStyle(document.body)['height']
index 97af8b29b70ad2d7044365d796e493aa3b864f17..17c144c589ac9e952b056ad263f01bf5b2b4cb47 100644 (file)
@@ -3,15 +3,14 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 $(document).on('ready', function() {
-    var db = new window.models.SessionDB()
+    var db = new SessionDB()
     db.checkForNewToken()
     db.fillMissingUUIDs()
 })
 
-window.components = window.components || {}
-window.components.sessions = {
+window.SessionsTable = {
     oninit: function(vnode) {
-        vnode.state.db = new window.models.SessionDB()
+        vnode.state.db = new SessionDB()
         vnode.state.hostToAdd = m.stream('')
     },
     view: function(vnode) {
index 809c6d7100cf0e049f4598183539efd1cdc85a6f..4893544022344892f3a3e52b78b55dc3aca79542 100644 (file)
@@ -2,8 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-window.components = window.components || {}
-window.components.test = {
+window.TestComponent = {
     view: function(vnode) {
         return m('div.mithril-test-component', [
             m('p', {
index 4a85a091c65105a50ec82c2f65992f0140c29eae..f4689b51d7ebfc265476dfa3e0b748ac33b62b94 100644 (file)
@@ -4,6 +4,6 @@
 
 $(document).on('ready arv:pane:loaded', function() {
     $('[data-mount-mithril]').each(function() {
-        m.mount(this, window.components[$(this).data('mount-mithril')])
+        m.mount(this, window[$(this).data('mount-mithril')])
     })
 })
index 93e193b1acdcf8cb7bfbb64e3ae607c586321f28..1b446704c4e2f850043ef4828435390af8be5738 100644 (file)
@@ -17,8 +17,7 @@
 // items is a stream that resolves to an array of all items retrieved so far.
 //
 // loadMore() loads the next page, if any.
-window.models = window.models || {}
-window.models.MultipageLoader = function(config) {
+window.MultipageLoader = function(config) {
     var loader = this
     Object.assign(loader, config, {
         done: false,
@@ -57,8 +56,7 @@ window.models.MultipageLoader = function(config) {
 // new MergingLoader({children: [loader, loader, ...]})
 //
 // The children must retrieve results in "modified_at desc" order.
-window.models = window.models || {}
-window.models.MergingLoader = function(config) {
+window.MergingLoader = function(config) {
     var loader = this
     Object.assign(loader, config, {
         // Sorted items ready to display, merged from all children.
index b64481eee061c0a004e3f55229e969224ec613a1..1ebff8340c9b69a4047ae77ae5cf6cf0f1ca4d22 100644 (file)
@@ -2,8 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-window.models = window.models || {}
-window.models.SessionDB = function() {
+window.SessionDB = function() {
     var db = this
     Object.assign(db, {
         loadFromLocalStorage: function() {
index 7e49ac903b6e209cf474248398fc4d1bd4ace2ea..9b03f10f3dcd90f6fd14d4d730367359be620797 100644 (file)
@@ -2,4 +2,4 @@
 
 SPDX-License-Identifier: AGPL-3.0 -->
 
-<div data-mount-mithril="collection_search"></div>
+<div data-mount-mithril="CollectionsSearch"></div>
index ddfa8ddc974dc631b21e3afbe07a382f1c6f3a1e..bf23028ce7c6a75efa2a9a8fac02057bce865822 100644 (file)
@@ -2,4 +2,4 @@
 
 SPDX-License-Identifier: AGPL-3.0 -->
 
-<div data-mount-mithril="sessions"></div>
+<div data-mount-mithril="SessionsTable"></div>
index 4936f12f187bb2389d3df2d5256a0a9168ae1a4f..a629eb75fda0a8140e00d411543528e05765d4ae 100644 (file)
@@ -1 +1 @@
-<div data-mount-mithril="test"></div>
+<div data-mount-mithril="TestComponent"></div>