diff --git a/app/admin-tab/accounts/controller.js b/app/admin-tab/accounts/controller.js index 38e5364f8..539345441 100644 --- a/app/admin-tab/accounts/controller.js +++ b/app/admin-tab/accounts/controller.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend(); +export default Controller.extend(); diff --git a/app/admin-tab/accounts/route.js b/app/admin-tab/accounts/route.js index dd457cb3b..b9e2cdfe5 100644 --- a/app/admin-tab/accounts/route.js +++ b/app/admin-tab/accounts/route.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend(); +export default Route.extend(); diff --git a/app/admin-tab/audit-logs/controller.js b/app/admin-tab/audit-logs/controller.js index 38a5eebb6..2d31dcc38 100644 --- a/app/admin-tab/audit-logs/controller.js +++ b/app/admin-tab/audit-logs/controller.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; import C from 'ui/utils/constants'; -export default Ember.Controller.extend({ - application : Ember.inject.controller(), +export default Controller.extend({ + application : controller(), queryParams : ['sortBy', 'descending', 'eventType', 'resourceType', 'resourceId', 'clientIp', 'authType'], resourceTypeAndId : null, - modalService: Ember.inject.service('modal'), + modalService: service('modal'), headers: [ { diff --git a/app/admin-tab/audit-logs/route.js b/app/admin-tab/audit-logs/route.js index 86b463121..6ce6fedc8 100644 --- a/app/admin-tab/audit-logs/route.js +++ b/app/admin-tab/audit-logs/route.js @@ -1,8 +1,9 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import Route from '@ember/routing/route'; import PolledModel from 'ui/mixins/polled-model'; import { urlOptions } from 'ember-api-store/utils/url-options'; -export default Ember.Route.extend(PolledModel, { +export default Route.extend(PolledModel, { pollInterval: 10000, queryParams: { @@ -50,7 +51,7 @@ export default Ember.Route.extend(PolledModel, { return us.rawRequest({url}).then((res) => { let records = us._typeify(res.body, {updateStore: false}); - return Ember.Object.create({ + return EmberObject.create({ auditLog: records, resourceTypes: resourceTypes }); diff --git a/app/admin-tab/catalog/route.js b/app/admin-tab/catalog/route.js index 6e5614cb4..a8f716eec 100644 --- a/app/admin-tab/catalog/route.js +++ b/app/admin-tab/catalog/route.js @@ -1,8 +1,10 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - settings: Ember.inject.service(), +export default Route.extend({ + settings: service(), beforeModel() { return this.get('settings').load([ @@ -14,7 +16,7 @@ export default Ember.Route.extend({ let settings = this.get('settings'); return this.get('userStore').find('setting').then(() => { - return Ember.Object.create({ + return EmberObject.create({ catalog: settings.get(C.SETTING.CATALOG_URL), }); }); diff --git a/app/admin-tab/controller.js b/app/admin-tab/controller.js index 38e5364f8..539345441 100644 --- a/app/admin-tab/controller.js +++ b/app/admin-tab/controller.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend(); +export default Controller.extend(); diff --git a/app/admin-tab/ha/controller.js b/app/admin-tab/ha/controller.js index e50601259..cfe0b95fe 100644 --- a/app/admin-tab/ha/controller.js +++ b/app/admin-tab/ha/controller.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ - settings: Ember.inject.service(), +export default Controller.extend({ + settings: service(), sortBy: 'address', headers: [ diff --git a/app/admin-tab/ha/route.js b/app/admin-tab/ha/route.js index 03ffbbdaa..18006c6be 100644 --- a/app/admin-tab/ha/route.js +++ b/app/admin-tab/ha/route.js @@ -1,8 +1,9 @@ -import Ember from 'ember'; +import { cancel, later } from '@ember/runloop'; +import Route from '@ember/routing/route'; const INTERVAL = 2000; -export default Ember.Route.extend({ +export default Route.extend({ model() { return this.get('userStore').find('hamembership'); }, @@ -12,14 +13,14 @@ export default Ember.Route.extend({ }, deactivate() { - Ember.run.cancel(this.get('timer')); + cancel(this.get('timer')); this.set('timer', null); // This prevents scheduleTimer from rescheduling if deactivate happened at just the wrong time. }, timer: null, scheduleTimer: function() { - Ember.run.cancel(this.get('timer')); - this.set('timer', Ember.run.later(() => { + cancel(this.get('timer')); + this.set('timer', later(() => { this.get('userStore').find('hamembership', null, {forceReload: true}).then((response) => { this.controller.set('model', response); if ( this.get('timer') ) { diff --git a/app/admin-tab/index/route.js b/app/admin-tab/index/route.js index 9e3a3273c..bba02f142 100644 --- a/app/admin-tab/index/route.js +++ b/app/admin-tab/index/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ redirect: function() { this.transitionTo('admin-tab.accounts'); } diff --git a/app/admin-tab/process/controller.js b/app/admin-tab/process/controller.js index 55ff9aa58..d630f3134 100644 --- a/app/admin-tab/process/controller.js +++ b/app/admin-tab/process/controller.js @@ -1,4 +1,4 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ }); diff --git a/app/admin-tab/process/route.js b/app/admin-tab/process/route.js index 529f8ec8a..26dd75db4 100644 --- a/app/admin-tab/process/route.js +++ b/app/admin-tab/process/route.js @@ -1,6 +1,7 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ params: null, model: function(params /*, transition*/ ) { this.set('params', params); @@ -8,7 +9,7 @@ export default Ember.Route.extend({ return processInstance.followLink('processExecutions').then((processExecutions) => { var sorted = processExecutions.get('content').reverse(); processExecutions.set('content', sorted); - return Ember.Object.create({ + return EmberObject.create({ processInstance: processInstance, processExecutions: processExecutions }); diff --git a/app/admin-tab/processes/index/controller.js b/app/admin-tab/processes/index/controller.js index 6f1b25f9c..440b28d5e 100644 --- a/app/admin-tab/processes/index/controller.js +++ b/app/admin-tab/processes/index/controller.js @@ -1,6 +1,7 @@ -import Ember from 'ember'; +import EmberObject, { computed } from '@ember/object'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ sortBy: 'name', headers: [ { @@ -26,7 +27,7 @@ export default Ember.Controller.extend({ }, ], - total: Ember.computed('model.summary.[]', function() { + total: computed('model.summary.[]', function() { let running = 0; let ready = 0; let delay = 0; @@ -37,7 +38,7 @@ export default Ember.Controller.extend({ delay += summary.get('delay')||0; }); - return Ember.Object.create({ + return EmberObject.create({ processName: 'Total', running: running, ready: ready, diff --git a/app/admin-tab/processes/index/route.js b/app/admin-tab/processes/index/route.js index 5a7c1afd3..b7c5e49b6 100644 --- a/app/admin-tab/processes/index/route.js +++ b/app/admin-tab/processes/index/route.js @@ -1,10 +1,11 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; import PolledModel from 'ui/mixins/polled-model'; -export default Ember.Route.extend(PolledModel,{ +export default Route.extend(PolledModel,{ model() { let us = this.get('userStore'); - return Ember.RSVP.hash({ + return hash({ summary: us.find('processsummary', null, {forceReload: true}), }); }, diff --git a/app/admin-tab/processes/list/controller.js b/app/admin-tab/processes/list/controller.js index 030255714..7bfcd7da6 100644 --- a/app/admin-tab/processes/list/controller.js +++ b/app/admin-tab/processes/list/controller.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ - prefs: Ember.inject.service(), +export default Controller.extend({ + prefs: service(), queryParams: ['which','sortBy','descending'], which: 'running', diff --git a/app/admin-tab/processes/list/route.js b/app/admin-tab/processes/list/route.js index 44ade2c50..bba73e51b 100644 --- a/app/admin-tab/processes/list/route.js +++ b/app/admin-tab/processes/list/route.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import Route from '@ember/routing/route'; import PolledModel from 'ui/mixins/polled-model'; -export default Ember.Route.extend(PolledModel, { +export default Route.extend(PolledModel, { queryParams: { which: { refreshModel: true @@ -35,7 +36,7 @@ export default Ember.Route.extend(PolledModel, { filter: filters, forceReload: true }).then((response) => { - return Ember.Object.create({ + return EmberObject.create({ processInstances: response, }); }); diff --git a/app/admin-tab/processes/pools/controller.js b/app/admin-tab/processes/pools/controller.js index 1fe945113..6d14bb706 100644 --- a/app/admin-tab/processes/pools/controller.js +++ b/app/admin-tab/processes/pools/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ sortBy: 'name', headers: [ { diff --git a/app/admin-tab/processes/pools/route.js b/app/admin-tab/processes/pools/route.js index fb750ce06..714e4837f 100644 --- a/app/admin-tab/processes/pools/route.js +++ b/app/admin-tab/processes/pools/route.js @@ -1,10 +1,11 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; import PolledModel from 'ui/mixins/polled-model'; -export default Ember.Route.extend(PolledModel, { +export default Route.extend(PolledModel, { model() { let us = this.get('userStore'); - return Ember.RSVP.hash({ + return hash({ pools: us.find('processpool', null, {forceReload: true}), }); }, diff --git a/app/admin-tab/route.js b/app/admin-tab/route.js index 0d27404fd..09a7f467c 100644 --- a/app/admin-tab/route.js +++ b/app/admin-tab/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ activate() { this._super(); this.controllerFor('authenticated').setPageScope('admin'); diff --git a/app/admin-tab/settings/advanced/controller.js b/app/admin-tab/settings/advanced/controller.js index 25c0d0100..db26be523 100644 --- a/app/admin-tab/settings/advanced/controller.js +++ b/app/admin-tab/settings/advanced/controller.js @@ -1,5 +1,6 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ - settings: Ember.inject.service(), +export default Controller.extend({ + settings: service(), }); diff --git a/app/admin-tab/settings/advanced/route.js b/app/admin-tab/settings/advanced/route.js index bfcaa03a0..81a85d4b4 100644 --- a/app/admin-tab/settings/advanced/route.js +++ b/app/admin-tab/settings/advanced/route.js @@ -1,9 +1,11 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - settings: Ember.inject.service(), +export default Route.extend({ + settings: service(), beforeModel() { return this.get('settings').load([ @@ -15,7 +17,7 @@ export default Ember.Route.extend({ let settings = this.get('settings'); return this.get('userStore').find('setting').then(() => { - return Ember.Object.create({ + return EmberObject.create({ telemetry: settings.get(C.SETTING.TELEMETRY), }); }); diff --git a/app/admin-tab/settings/auth/activedirectory/controller.js b/app/admin-tab/settings/auth/activedirectory/controller.js index d1a818f97..3cc883875 100644 --- a/app/admin-tab/settings/auth/activedirectory/controller.js +++ b/app/admin-tab/settings/auth/activedirectory/controller.js @@ -1,13 +1,15 @@ -import Ember from 'ember'; +import { later } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; import Errors from 'ui/utils/errors'; import C from 'ui/utils/constants'; var PLAIN_PORT = 389; var TLS_PORT = 636; -export default Ember.Controller.extend({ - access: Ember.inject.service(), - settings: Ember.inject.service(), +export default Controller.extend({ + access: service(), + settings: service(), confirmDisable: false, errors: null, @@ -116,7 +118,7 @@ export default Ember.Controller.extend({ promptDisable: function() { this.set('confirmDisable', true); - Ember.run.later(this, function() { + later(this, function() { this.set('confirmDisable', false); }, 10000); }, diff --git a/app/admin-tab/settings/auth/activedirectory/route.js b/app/admin-tab/settings/auth/activedirectory/route.js index 93ef88505..1387ad294 100644 --- a/app/admin-tab/settings/auth/activedirectory/route.js +++ b/app/admin-tab/settings/auth/activedirectory/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ resourceType: 'ldapconfig', model: function() { diff --git a/app/admin-tab/settings/auth/azuread/controller.js b/app/admin-tab/settings/auth/azuread/controller.js index 1c19c7367..475589482 100644 --- a/app/admin-tab/settings/auth/azuread/controller.js +++ b/app/admin-tab/settings/auth/azuread/controller.js @@ -1,9 +1,11 @@ -import Ember from 'ember'; +import { later } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ - access : Ember.inject.service(), - settings : Ember.inject.service(), - intl : Ember.inject.service(), +export default Controller.extend({ + access : service(), + settings : service(), + intl : service(), confirmDisable : false, errors : null, @@ -76,7 +78,7 @@ export default Ember.Controller.extend({ promptDisable: function() { this.set('confirmDisable', true); - Ember.run.later(this, function() { + later(this, function() { this.set('confirmDisable', false); }, 10000); }, diff --git a/app/admin-tab/settings/auth/azuread/route.js b/app/admin-tab/settings/auth/azuread/route.js index afa252195..7842ef639 100644 --- a/app/admin-tab/settings/auth/azuread/route.js +++ b/app/admin-tab/settings/auth/azuread/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { return this.get('userStore').find('azureadconfig', null, {forceReload: true}).then((collection) => { let obj = collection.get('firstObject'); diff --git a/app/admin-tab/settings/auth/controller.js b/app/admin-tab/settings/auth/controller.js index 91e97963c..26d118c6d 100644 --- a/app/admin-tab/settings/auth/controller.js +++ b/app/admin-tab/settings/auth/controller.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ - access: Ember.inject.service(), +export default Controller.extend({ + access: service(), lastRoute: 'global-admin.settings.auth.github', drivers: function() { diff --git a/app/admin-tab/settings/auth/github/controller.js b/app/admin-tab/settings/auth/github/controller.js index 33df5c549..114ec6d16 100644 --- a/app/admin-tab/settings/auth/github/controller.js +++ b/app/admin-tab/settings/auth/github/controller.js @@ -1,13 +1,17 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { once, later } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; import C from 'ui/utils/constants'; import { denormalizeName } from 'ui/services/settings'; -export default Ember.Controller.extend({ - github : Ember.inject.service(), - endpoint : Ember.inject.service(), - access : Ember.inject.service(), - settings : Ember.inject.service(), - githubConfig : Ember.computed.alias('model.githubConfig'), +export default Controller.extend({ + github : service(), + endpoint : service(), + access : service(), + settings : service(), + githubConfig : alias('model.githubConfig'), confirmDisable : false, errors : null, @@ -18,7 +22,7 @@ export default Ember.Controller.extend({ haveToken : false, organizations : null, - scheme : Ember.computed.alias('githubConfig.scheme'), + scheme : alias('githubConfig.scheme'), isEnterprise: false, secure : true, @@ -80,7 +84,7 @@ export default Ember.Controller.extend({ }, enterpriseDidChange: function() { - Ember.run.once(this,'updateEnterprise'); + once(this,'updateEnterprise'); }.observes('isEnterprise','githubConfig.hostname','secure'), protocolChoices: [ @@ -93,7 +97,7 @@ export default Ember.Controller.extend({ this.send('clearError'); this.set('saving', true); - let githubConfig = Ember.Object.create(this.get('githubConfig')); + let githubConfig = EmberObject.create(this.get('githubConfig')); githubConfig.setProperties({ 'clientId' : (githubConfig.get('clientId')||'').trim(), 'clientSecret' : (githubConfig.get('clientSecret')||'').trim(), @@ -219,7 +223,7 @@ export default Ember.Controller.extend({ promptDisable: function() { this.set('confirmDisable', true); - Ember.run.later(this, function() { + later(this, function() { this.set('confirmDisable', false); }, 10000); }, diff --git a/app/admin-tab/settings/auth/github/route.js b/app/admin-tab/settings/auth/github/route.js index b0ddbe40c..fdd246a62 100644 --- a/app/admin-tab/settings/auth/github/route.js +++ b/app/admin-tab/settings/auth/github/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { return this.get('authStore').find('config', null, {forceReload: true}).then(function(collection) { return collection; diff --git a/app/admin-tab/settings/auth/index/route.js b/app/admin-tab/settings/auth/index/route.js index 8c8f7ba71..ad0d968f8 100644 --- a/app/admin-tab/settings/auth/index/route.js +++ b/app/admin-tab/settings/auth/index/route.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - access: Ember.inject.service(), +export default Route.extend({ + access: service(), model: function() { var route = (this.get('access.provider')||'').toLowerCase().replace(/config$/i,''); diff --git a/app/admin-tab/settings/auth/localauth/controller.js b/app/admin-tab/settings/auth/localauth/controller.js index 220d7c937..8f0fc69a2 100644 --- a/app/admin-tab/settings/auth/localauth/controller.js +++ b/app/admin-tab/settings/auth/localauth/controller.js @@ -1,10 +1,13 @@ -import Ember from 'ember'; +import { later } from '@ember/runloop'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; import C from 'ui/utils/constants'; -export default Ember.Controller.extend({ - access : Ember.inject.service(), - settings : Ember.inject.service(), - intl : Ember.inject.service(), +export default Controller.extend({ + access : service(), + settings : service(), + intl : service(), confirmDisable : false, errors : null, @@ -21,7 +24,7 @@ export default Ember.Controller.extend({ return !ok; }.property('adminPublicValue','adminSecretValue','adminSecretValue2'), - validateDescription: Ember.computed(function() { + validateDescription: computed(function() { return this.get('settings').get(C.SETTING.AUTH_LOCAL_VALIDATE_DESC) || null; }), @@ -102,7 +105,7 @@ export default Ember.Controller.extend({ promptDisable: function() { this.set('confirmDisable', true); - Ember.run.later(this, function() { + later(this, function() { this.set('confirmDisable', false); }, 10000); }, diff --git a/app/admin-tab/settings/auth/localauth/route.js b/app/admin-tab/settings/auth/localauth/route.js index 7c1ee5407..a38f85f6b 100644 --- a/app/admin-tab/settings/auth/localauth/route.js +++ b/app/admin-tab/settings/auth/localauth/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { return this.get('userStore').find('localauthconfig', null, {forceReload: true}).then((collection) => { return collection.get('firstObject'); diff --git a/app/admin-tab/settings/auth/route.js b/app/admin-tab/settings/auth/route.js index eb5851b42..f95190de8 100644 --- a/app/admin-tab/settings/auth/route.js +++ b/app/admin-tab/settings/auth/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ beforeModel: function() { return this.get('authStore').rawRequest({url: '/v1-auth/schemas', dataType: 'json'}).then((resp) => { return this.get('authStore')._bulkAdd('schema', resp.body.data); diff --git a/app/admin-tab/settings/auth/shibboleth/controller.js b/app/admin-tab/settings/auth/shibboleth/controller.js index 3a4238803..5f2dbe1b4 100644 --- a/app/admin-tab/settings/auth/shibboleth/controller.js +++ b/app/admin-tab/settings/auth/shibboleth/controller.js @@ -1,14 +1,18 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { later } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; import Util from 'ui/utils/util'; import C from 'ui/utils/constants'; -export default Ember.Controller.extend({ - access : Ember.inject.service(), - settings : Ember.inject.service(), - session : Ember.inject.service(), - shibbolethAuth : Ember.inject.service(), +export default Controller.extend({ + access : service(), + settings : service(), + session : service(), + shibbolethAuth : service(), providerName : 'authPage.shibboleth.providerName.shibboleth', - config : Ember.computed.alias('model.shibbolethConfig'), + config : alias('model.shibbolethConfig'), errors : null, confirmDisable : false, redirectUrl : null, @@ -45,7 +49,7 @@ export default Ember.Controller.extend({ }, promptDisable: function() { this.set('confirmDisable', true); - Ember.run.later(this, function() { + later(this, function() { this.set('confirmDisable', false); }, 10000); }, @@ -104,7 +108,7 @@ export default Ember.Controller.extend({ }, validate: function() { - let model = Ember.Object.create(this.get('config')); + let model = EmberObject.create(this.get('config')); let errors = []; if ((model.get('displayNameField')||'').trim().length === 0 ) { diff --git a/app/admin-tab/settings/auth/shibboleth/route.js b/app/admin-tab/settings/auth/shibboleth/route.js index 56a0b9fa8..ac1741a26 100644 --- a/app/admin-tab/settings/auth/shibboleth/route.js +++ b/app/admin-tab/settings/auth/shibboleth/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { return this.get('authStore').find('config', null, {forceReload: true}).then(function(collection) { return collection; diff --git a/app/admin-tab/settings/controller.js b/app/admin-tab/settings/controller.js index 216fbe016..f5b3fcadb 100644 --- a/app/admin-tab/settings/controller.js +++ b/app/admin-tab/settings/controller.js @@ -1,7 +1,9 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; import C from 'ui/utils/constants'; -export default Ember.Controller.extend({ - settings : Ember.inject.service(), - projectId : Ember.computed.alias(`tab-session.${C.TABSESSION.PROJECT}`), +export default Controller.extend({ + settings : service(), + projectId : alias(`tab-session.${C.TABSESSION.PROJECT}`), }); diff --git a/app/admin-tab/settings/index/route.js b/app/admin-tab/settings/index/route.js index fffbf32cf..e48095e1c 100644 --- a/app/admin-tab/settings/index/route.js +++ b/app/admin-tab/settings/index/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ redirect() { this.transitionTo('global-admin.settings.auth'); }, diff --git a/app/admin-tab/settings/machine/controller.js b/app/admin-tab/settings/machine/controller.js index 3ef4692a5..5dd7045cd 100644 --- a/app/admin-tab/settings/machine/controller.js +++ b/app/admin-tab/settings/machine/controller.js @@ -1,12 +1,14 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; import C from 'ui/utils/constants'; import { parseExternalId } from 'ui/utils/parse-externalid'; -export default Ember.Controller.extend({ - application : Ember.inject.controller(), - growl : Ember.inject.service(), - settings : Ember.inject.service(), - modalService: Ember.inject.service('modal'), +export default Controller.extend({ + application : controller(), + growl : service(), + settings : service(), + modalService: service('modal'), actions: { activate(driver) { @@ -70,7 +72,7 @@ export default Ember.Controller.extend({ }; }, - arranged: Ember.computed('model.drivers.@each.{state,id,version,externalId}', 'model.catalogDrivers.@each.{id,catalogId,name}', function() { + arranged: computed('model.drivers.@each.{state,id,version,externalId}', 'model.catalogDrivers.@each.{id,catalogId,name}', function() { // possibly add some search here let cDrivers = this.get('model.catalogDrivers.catalog'); let drivers = this.get('model.drivers.content'); diff --git a/app/admin-tab/settings/machine/route.js b/app/admin-tab/settings/machine/route.js index bb07173e0..a3c374ba2 100644 --- a/app/admin-tab/settings/machine/route.js +++ b/app/admin-tab/settings/machine/route.js @@ -1,10 +1,12 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - catalog: Ember.inject.service(), +export default Route.extend({ + catalog: service(), model() { - return Ember.RSVP.hash({ + return hash({ drivers: this.get('userStore').findAll('machinedriver', null, {forceReload: true}), catalogDrivers: this.get('catalog').fetchTemplates({templateBase: 'machine', category: 'all', allowFailure: true}), }).then((hash) => { diff --git a/app/admin-tab/settings/registration/route.js b/app/admin-tab/settings/registration/route.js index a6ab1ed69..37b05778d 100644 --- a/app/admin-tab/settings/registration/route.js +++ b/app/admin-tab/settings/registration/route.js @@ -1,8 +1,10 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - settings: Ember.inject.service(), +export default Route.extend({ + settings: service(), beforeModel() { return this.get('settings').load([ @@ -14,7 +16,7 @@ export default Ember.Route.extend({ let settings = this.get('settings'); return this.get('userStore').find('setting').then(() => { - return Ember.Object.create({ + return EmberObject.create({ host: settings.get(C.SETTING.API_HOST), }); }); diff --git a/app/admin-tab/settings/route.js b/app/admin-tab/settings/route.js index e588cf903..7fa045533 100644 --- a/app/admin-tab/settings/route.js +++ b/app/admin-tab/settings/route.js @@ -1,8 +1,10 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - settings: Ember.inject.service(), +export default Route.extend({ + settings: service(), beforeModel() { return this.get('settings').load([ @@ -16,7 +18,7 @@ export default Ember.Route.extend({ let settings = this.get('settings'); return this.get('userStore').find('setting').then(() => { - return Ember.Object.create({ + return EmberObject.create({ host: settings.get(C.SETTING.API_HOST), catalog: settings.get(C.SETTING.CATALOG_URL), telemetry: settings.get(C.SETTING.TELEMETRY), diff --git a/app/application/controller.js b/app/application/controller.js index ed933bddf..f33062117 100644 --- a/app/application/controller.js +++ b/app/application/controller.js @@ -1,16 +1,18 @@ -import Ember from "ember"; +import { oneWay } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ - settings: Ember.inject.service(), +export default Controller.extend({ + settings: service(), // GitHub auth params queryParams : ['error_description','state','code','isTest', 'isPopup','redirectTo'], - resourceActions : Ember.inject.service('resource-actions'), - tooltipService : Ember.inject.service('tooltip'), + resourceActions : service('resource-actions'), + tooltipService : service('tooltip'), - tooltip : Ember.computed.oneWay('tooltipService.tooltipOpts.type'), - tooltipTemplate : Ember.computed.oneWay('tooltipService.tooltipOpts.template'), + tooltip : oneWay('tooltipService.tooltipOpts.type'), + tooltipTemplate : oneWay('tooltipService.tooltipOpts.template'), error : null, error_description : null, diff --git a/app/application/route.js b/app/application/route.js index cf5204495..f751e18ab 100644 --- a/app/application/route.js +++ b/app/application/route.js @@ -1,14 +1,17 @@ -import Ember from 'ember'; +import RSVP, { reject } from 'rsvp'; +import { cancel, next, scheduleOnce } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - access : Ember.inject.service(), - cookies : Ember.inject.service(), - github : Ember.inject.service(), - language : Ember.inject.service('user-language'), - modal : Ember.inject.service(), - prefs : Ember.inject.service(), - settings : Ember.inject.service(), +export default Route.extend({ + access : service(), + cookies : service(), + github : service(), + language : service('user-language'), + modal : service(), + prefs : service(), + settings : service(), previousParams : null, previousRoute : null, @@ -21,7 +24,7 @@ export default Ember.Route.extend({ loading(transition) { this.incrementProperty('loadingId'); let id = this.get('loadingId'); - Ember.run.cancel(this.get('hideTimer')); + cancel(this.get('hideTimer')); //console.log('Loading', id); if ( !this.get('loadingShown') ) { @@ -46,11 +49,11 @@ export default Ember.Route.extend({ if ( this.get('loadingId') === id ) { if ( transition.isAborted ) { //console.log('Loading aborted', id, this.get('loadingId')); - this.set('hideTimer', Ember.run.next(hide)); + this.set('hideTimer', next(hide)); } else { //console.log('Loading finished', id, this.get('loadingId')); //needed to set this to run after render as there was wierdness wiht new register page - Ember.run.scheduleOnce('afterRender', () => { + scheduleOnce('afterRender', () => { hide(); }); } @@ -188,7 +191,7 @@ export default Ember.Route.extend({ transition.abort(); - return Ember.RSVP.reject('isTest'); + return reject('isTest'); } else if ( params.code ) { @@ -216,7 +219,7 @@ export default Ember.Route.extend({ this.controllerFor('application').set('error', obj); - return Ember.RSVP.reject(obj); + return reject(obj); } } @@ -226,7 +229,7 @@ export default Ember.Route.extend({ setTimeout(function() { window.close(); },250); - return new Ember.RSVP.promise(); + return new RSVP.promise(); } catch(e) { window.close(); } diff --git a/app/apps-tab/index/controller.js b/app/apps-tab/index/controller.js index b4e75cb1d..cd53c7b4b 100644 --- a/app/apps-tab/index/controller.js +++ b/app/apps-tab/index/controller.js @@ -1,14 +1,16 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; import C from 'ui/utils/constants'; import { tagsToArray } from 'ui/models/stack'; -export default Ember.Controller.extend({ - projectController: Ember.inject.controller('authenticated.project'), - projects: Ember.inject.service(), - prefs: Ember.inject.service(), - intl: Ember.inject.service(), +export default Controller.extend({ + projectController: controller('authenticated.project'), + projects: service(), + prefs: service(), + intl: service(), - tags: Ember.computed.alias('projectController.tags'), + tags: alias('projectController.tags'), sortBy: 'name', expandedStacks: null, diff --git a/app/apps-tab/index/route.js b/app/apps-tab/index/route.js index 529d599aa..7a844a32c 100644 --- a/app/apps-tab/index/route.js +++ b/app/apps-tab/index/route.js @@ -1,9 +1,13 @@ -import Ember from 'ember'; +import { on } from '@ember/object/evented'; +import EmberObject from '@ember/object'; +import { allSettled } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; import { parseExternalId } from 'ui/utils/parse-externalid'; -export default Ember.Route.extend({ - catalog: Ember.inject.service(), +export default Route.extend({ + catalog: service(), model() { return this.get('store').findAll('stack').then((stacks) => { @@ -16,15 +20,15 @@ export default Ember.Route.extend({ deps.push(catalog.fetchTemplate(extInfo.templateId, false)); }); - return Ember.RSVP.allSettled(deps).then(() => { - return Ember.Object.create({ + return allSettled(deps).then(() => { + return EmberObject.create({ stacks: stacks, }); }); }); }, - setDefaultRoute: Ember.on('activate', function() { + setDefaultRoute: on('activate', function() { this.set(`session.${C.SESSION.CONTAINER_ROUTE}`,'containers'); }), }); diff --git a/app/authenticated/clusters/cluster/controller.js b/app/authenticated/clusters/cluster/controller.js index 671b7fc82..571040e15 100644 --- a/app/authenticated/clusters/cluster/controller.js +++ b/app/authenticated/clusters/cluster/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ // might be an ember bug but if we dont have an empty controller here the transtion from the cluster managemnt page // via launchOnCluster and useKubernetes fails because of a missing lookup. }); diff --git a/app/authenticated/clusters/cluster/edit/controller.js b/app/authenticated/clusters/cluster/edit/controller.js index 4a63e6959..78eae8fa3 100644 --- a/app/authenticated/clusters/cluster/edit/controller.js +++ b/app/authenticated/clusters/cluster/edit/controller.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Controller, { inject as controller } from '@ember/controller'; -export default Ember.Controller.extend({ - application: Ember.inject.controller(), +export default Controller.extend({ + application: controller(), actions: { cancel(prev) { this.send('goToPrevious',prev); diff --git a/app/authenticated/clusters/cluster/edit/route.js b/app/authenticated/clusters/cluster/edit/route.js index 32ead863c..8e45c36e3 100644 --- a/app/authenticated/clusters/cluster/edit/route.js +++ b/app/authenticated/clusters/cluster/edit/route.js @@ -1,10 +1,12 @@ -import Ember from 'ember'; +import { allSettled } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; import { parseExternalId } from 'ui/utils/parse-externalid'; -export default Ember.Route.extend({ - settings: Ember.inject.service(), - catalog: Ember.inject.service(), +export default Route.extend({ + settings: service(), + catalog: service(), model() { let store = this.get('store'); @@ -22,7 +24,7 @@ export default Ember.Route.extend({ })); } - return Ember.RSVP.allSettled(deps).then(() => { + return allSettled(deps).then(() => { return this.get('catalog').fetchTemplates({plusInfra: true}).then((resp) => { resp.cluster = cluster; return resp; diff --git a/app/authenticated/clusters/cluster/host-new/controller.js b/app/authenticated/clusters/cluster/host-new/controller.js index 20595c298..7ab5c1551 100644 --- a/app/authenticated/clusters/cluster/host-new/controller.js +++ b/app/authenticated/clusters/cluster/host-new/controller.js @@ -1,8 +1,9 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Controller, { inject as controller } from '@ember/controller'; -export default Ember.Controller.extend({ - clusterController: Ember.inject.controller('authenticated.clusters.cluster'), - cluster: Ember.computed.alias('clusterController.model'), +export default Controller.extend({ + clusterController: controller('authenticated.clusters.cluster'), + cluster: alias('clusterController.model'), queryParams : ['backTo', 'driver', 'hostId'], backTo : null, diff --git a/app/authenticated/clusters/cluster/host-new/route.js b/app/authenticated/clusters/cluster/host-new/route.js index ae751d7a0..7dae08cb3 100644 --- a/app/authenticated/clusters/cluster/host-new/route.js +++ b/app/authenticated/clusters/cluster/host-new/route.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; -const { getOwner } = Ember; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; +import { getOwner } from '@ember/application'; -export default Ember.Route.extend({ - access : Ember.inject.service(), - projects : Ember.inject.service(), - settings : Ember.inject.service(), - host : Ember.inject.service(), +export default Route.extend({ + access : service(), + projects : service(), + settings : service(), + host : service(), backTo : null, defaultDriver: '', diff --git a/app/authenticated/clusters/cluster/host-templates/index/controller.js b/app/authenticated/clusters/cluster/host-templates/index/controller.js index a04018f39..03c6e4aab 100644 --- a/app/authenticated/clusters/cluster/host-templates/index/controller.js +++ b/app/authenticated/clusters/cluster/host-templates/index/controller.js @@ -1,7 +1,9 @@ -import Ember from 'ember'; +import { sort } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ - projects: Ember.inject.service(), +export default Controller.extend({ + projects: service(), queryParams: ['backTo'], backTo: 'hosts', @@ -14,5 +16,5 @@ export default Ember.Controller.extend({ }, sorting: ['driver','name'], - arranged: Ember.computed.sort('model','sorting'), + arranged: sort('model','sorting'), }); diff --git a/app/authenticated/clusters/cluster/host-templates/index/route.js b/app/authenticated/clusters/cluster/host-templates/index/route.js index 55e0fc43f..d14de6fd0 100644 --- a/app/authenticated/clusters/cluster/host-templates/index/route.js +++ b/app/authenticated/clusters/cluster/host-templates/index/route.js @@ -1,8 +1,9 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - projects: Ember.inject.service(), +export default Route.extend({ + projects: service(), backTo: null, model(params/*,transition*/) { diff --git a/app/authenticated/clusters/cluster/host-templates/launch/controller.js b/app/authenticated/clusters/cluster/host-templates/launch/controller.js index 55ff9aa58..d630f3134 100644 --- a/app/authenticated/clusters/cluster/host-templates/launch/controller.js +++ b/app/authenticated/clusters/cluster/host-templates/launch/controller.js @@ -1,4 +1,4 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ }); diff --git a/app/authenticated/clusters/cluster/host-templates/launch/route.js b/app/authenticated/clusters/cluster/host-templates/launch/route.js index 27223f903..a6c41a009 100644 --- a/app/authenticated/clusters/cluster/host-templates/launch/route.js +++ b/app/authenticated/clusters/cluster/host-templates/launch/route.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; -const { get } = Ember; +import Route from '@ember/routing/route'; +import { get } from '@ember/object'; -export default Ember.Route.extend({ +export default Route.extend({ model(params, transistion) { return this.get('store').find('hosttemplate', params.template_id).then((template) => { return this.get('userStore').find('machinedriver', null, {forceReload: true}).then((drivers) => { diff --git a/app/authenticated/clusters/cluster/hosts/controller.js b/app/authenticated/clusters/cluster/hosts/controller.js index c8a5b193f..8f4421482 100644 --- a/app/authenticated/clusters/cluster/hosts/controller.js +++ b/app/authenticated/clusters/cluster/hosts/controller.js @@ -1,10 +1,11 @@ -import Ember from 'ember'; -import { headersCluster as hostHeaders } from 'ui/components/host-row/component'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; +import { headersCluster as hostHeaders } from 'shared/components/host-row/component'; -export default Ember.Controller.extend({ - prefs: Ember.inject.service(), - projects: Ember.inject.service(), - projectController: Ember.inject.controller('authenticated.project'), +export default Controller.extend({ + prefs: service(), + projects: service(), + projectController: controller('authenticated.project'), sortBy: 'name', queryParams: ['sortBy'], diff --git a/app/authenticated/clusters/cluster/hosts/route.js b/app/authenticated/clusters/cluster/hosts/route.js index 149745e3d..bacc8dc83 100644 --- a/app/authenticated/clusters/cluster/hosts/route.js +++ b/app/authenticated/clusters/cluster/hosts/route.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - projects: Ember.inject.service(), +export default Route.extend({ + projects: service(), model: function() { return this.get('userStore').find('host', null, {filter: {clusterId: this.get('projects.currentCluster.id')}}).then((hosts) => { diff --git a/app/authenticated/clusters/cluster/import/controller.js b/app/authenticated/clusters/cluster/import/controller.js index 8eb1fc8c8..1da7a03a7 100644 --- a/app/authenticated/clusters/cluster/import/controller.js +++ b/app/authenticated/clusters/cluster/import/controller.js @@ -1,13 +1,16 @@ -import Ember from 'ember'; +import { cancel, later } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; -export default Ember.Controller.extend({ - projects: Ember.inject.service(), - settings: Ember.inject.service(), - clusterController: Ember.inject.controller('authenticated.clusters.cluster'), - cluster: Ember.computed.alias('clusterController.model'), +export default Controller.extend({ + projects: service(), + settings: service(), + clusterController: controller('authenticated.clusters.cluster'), + cluster: alias('clusterController.model'), - loading: Ember.computed.alias('cluster.isTransitioning'), - registrationCommand: Ember.computed.alias('cluster.registrationToken.clusterCommand'), + loading: alias('cluster.isTransitioning'), + registrationCommand: alias('cluster.registrationToken.clusterCommand'), refreshTimer: null, init() { @@ -20,12 +23,12 @@ export default Ember.Controller.extend({ }, cancelRefresh() { - Ember.run.cancel(this.get('refreshTimer')); + cancel(this.get('refreshTimer')); }, scheduleRefresh() { this.cancelRefresh(); - this.set('refreshTimer', Ember.run.later(this, 'refreshCluster', 5000)); + this.set('refreshTimer', later(this, 'refreshCluster', 5000)); }, refreshCluster() { diff --git a/app/authenticated/clusters/cluster/import/route.js b/app/authenticated/clusters/cluster/import/route.js index 88cc9cb7a..0eff53abc 100644 --- a/app/authenticated/clusters/cluster/import/route.js +++ b/app/authenticated/clusters/cluster/import/route.js @@ -1,15 +1,18 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { next } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - settings: Ember.inject.service(), +export default Route.extend({ + settings: service(), actions: { toggleGrouping() { let choices = ['list','grouped']; let cur = this.get('controller.mode'); let neu = choices[((choices.indexOf(cur)+1) % choices.length)]; - Ember.run.next(() => { + next(() => { this.set('controller.mode', neu); }); }, @@ -18,7 +21,7 @@ export default Ember.Route.extend({ model() { let settings = this.get('settings'); return settings.load(C.SETTING.API_HOST).then(() => { - return Ember.Object.create({ + return EmberObject.create({ apiHostSet: !!settings.get(C.SETTING.API_HOST), }); }); diff --git a/app/authenticated/clusters/cluster/index/route.js b/app/authenticated/clusters/cluster/index/route.js index e45675840..2bbd3dd6a 100644 --- a/app/authenticated/clusters/cluster/index/route.js +++ b/app/authenticated/clusters/cluster/index/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ redirect() { this.transitionTo('authenticated.clusters.cluster.hosts'); }, diff --git a/app/authenticated/clusters/cluster/k8s/controller.js b/app/authenticated/clusters/cluster/k8s/controller.js index 1ca315ce2..1a798e12d 100644 --- a/app/authenticated/clusters/cluster/k8s/controller.js +++ b/app/authenticated/clusters/cluster/k8s/controller.js @@ -1,12 +1,15 @@ -import Ember from 'ember'; +import { later } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; -export default Ember.Controller.extend({ - modalService: Ember.inject.service('modal'), - projects: Ember.inject.service(), - k8s: Ember.inject.service(), +export default Controller.extend({ + modalService: service('modal'), + projects: service(), + k8s: service(), - projectController: Ember.inject.controller('authenticated.project'), - tags: Ember.computed.alias('projectController.tags'), + projectController: controller('authenticated.project'), + tags: alias('projectController.tags'), actions: { dashboard() { @@ -16,7 +19,7 @@ export default Ember.Controller.extend({ kubectl(e) { if (e.metaKey) { let proj = this.get('projects.current.id'); - Ember.run.later(() => { + later(() => { window.open(`//${window.location.host}/env/${proj}/infra/console?kubernetes=true&isPopup=true`, '_blank', "toolbars=0,width=900,height=700,left=200,top=200"); }); } else { diff --git a/app/authenticated/clusters/cluster/k8s/route.js b/app/authenticated/clusters/cluster/k8s/route.js index 28dedfcf2..34c93d529 100644 --- a/app/authenticated/clusters/cluster/k8s/route.js +++ b/app/authenticated/clusters/cluster/k8s/route.js @@ -1,14 +1,17 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { hash } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - projects: Ember.inject.service(), - k8s: Ember.inject.service(), +export default Route.extend({ + projects: service(), + k8s: service(), model() { - return Ember.RSVP.hash({ + return hash({ stacks: this.get('store').find('stack'), }).then((hash) => { - return Ember.Object.create(hash); + return EmberObject.create(hash); }); }, }); diff --git a/app/authenticated/clusters/cluster/route.js b/app/authenticated/clusters/cluster/route.js index f79053599..cd9f644d9 100644 --- a/app/authenticated/clusters/cluster/route.js +++ b/app/authenticated/clusters/cluster/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ activate() { this._super(); this.controllerFor('authenticated').setPageScope('cluster'); diff --git a/app/authenticated/clusters/index/controller.js b/app/authenticated/clusters/index/controller.js index 0062ccde7..389171c9e 100644 --- a/app/authenticated/clusters/index/controller.js +++ b/app/authenticated/clusters/index/controller.js @@ -1,5 +1,6 @@ -import Ember from 'ember'; -const { getOwner } = Ember; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; +import { getOwner } from '@ember/application'; const headers = [ { @@ -49,15 +50,15 @@ const headers = [ }, ]; -export default Ember.Controller.extend({ +export default Controller.extend({ queryParams: ['mode'], mode: 'grouped', - modalService: Ember.inject.service('modal'), - access: Ember.inject.service(), - projects: Ember.inject.service(), - settings: Ember.inject.service(), - application: Ember.inject.controller(), + modalService: service('modal'), + access: service(), + projects: service(), + settings: service(), + application: controller(), headers: headers, sortBy: 'name', diff --git a/app/authenticated/clusters/index/route.js b/app/authenticated/clusters/index/route.js index 8e3725ecd..8e4f9d745 100644 --- a/app/authenticated/clusters/index/route.js +++ b/app/authenticated/clusters/index/route.js @@ -1,12 +1,13 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ actions: { toggleGrouping() { let choices = ['list','grouped']; let cur = this.get('controller.mode'); let neu = choices[((choices.indexOf(cur)+1) % choices.length)]; - Ember.run.next(() => { + next(() => { this.set('controller.mode', neu); }); }, diff --git a/app/authenticated/clusters/new-project/controller.js b/app/authenticated/clusters/new-project/controller.js index 084798fd5..249753d89 100644 --- a/app/authenticated/clusters/new-project/controller.js +++ b/app/authenticated/clusters/new-project/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ queryParams: ['clusterId'], actions: { diff --git a/app/authenticated/clusters/new-project/route.js b/app/authenticated/clusters/new-project/route.js index 3cbd5b187..fd7cb8e70 100644 --- a/app/authenticated/clusters/new-project/route.js +++ b/app/authenticated/clusters/new-project/route.js @@ -1,13 +1,16 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { hash } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - access: Ember.inject.service(), - catalog: Ember.inject.service(), +export default Route.extend({ + access: service(), + catalog: service(), model: function() { var userStore = this.get('userStore'); - return Ember.RSVP.hash({ + return hash({ all: userStore.findAll('project'), catalogTemplates: this.get('catalog').fetchTemplates({templateBase: C.EXTERNAL_ID.KIND_INFRA, category: C.EXTERNAL_ID.KIND_ALL}), }).then((hash) => { @@ -30,7 +33,7 @@ export default Ember.Route.extend({ project.set('projectMembers',[]); } - return Ember.Object.create({ + return EmberObject.create({ originalProject: null, project: project, all: hash.all, diff --git a/app/authenticated/clusters/new/controller.js b/app/authenticated/clusters/new/controller.js index 4a63e6959..78eae8fa3 100644 --- a/app/authenticated/clusters/new/controller.js +++ b/app/authenticated/clusters/new/controller.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Controller, { inject as controller } from '@ember/controller'; -export default Ember.Controller.extend({ - application: Ember.inject.controller(), +export default Controller.extend({ + application: controller(), actions: { cancel(prev) { this.send('goToPrevious',prev); diff --git a/app/authenticated/clusters/new/route.js b/app/authenticated/clusters/new/route.js index 6d6186454..d5ed0ac35 100644 --- a/app/authenticated/clusters/new/route.js +++ b/app/authenticated/clusters/new/route.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import { on } from '@ember/object/evented'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - catalog: Ember.inject.service(), - settings: Ember.inject.service(), +export default Route.extend({ + catalog: service(), + settings: service(), model() { let store = this.get('userStore'); @@ -18,13 +21,13 @@ export default Ember.Route.extend({ let cluster = store.createRecord(def); return this.get('catalog').fetchTemplates({plusInfra: true}).then((templates) => { - return Ember.Object.create({ + return EmberObject.create({ cluster: cluster, allTemplates: templates }); }); }, - teardownForComponentState: Ember.on('deactivate', function(){ + teardownForComponentState: on('deactivate', function(){ this.controller.setProperties({ catalogItem: null, editCatalog: false, diff --git a/app/authenticated/clusters/project/controller.js b/app/authenticated/clusters/project/controller.js index 8a7e9ad65..3efafc2b7 100644 --- a/app/authenticated/clusters/project/controller.js +++ b/app/authenticated/clusters/project/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ model: null, actions: { diff --git a/app/authenticated/clusters/project/route.js b/app/authenticated/clusters/project/route.js index 41a64de40..8b969095b 100644 --- a/app/authenticated/clusters/project/route.js +++ b/app/authenticated/clusters/project/route.js @@ -1,10 +1,13 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { Promise as EmberPromise } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; import { xhrConcur } from 'ui/utils/platform'; import PromiseToCb from 'ui/mixins/promise-to-cb'; -export default Ember.Route.extend(PromiseToCb, { - catalog: Ember.inject.service(), +export default Route.extend(PromiseToCb, { + catalog: service(), model: function(params /* , transition*/) { var userStore = this.get('userStore'); @@ -18,7 +21,7 @@ export default Ember.Route.extend(PromiseToCb, { }, }; - let promise = new Ember.RSVP.Promise((resolve, reject) => { + let promise = new EmberPromise((resolve, reject) => { let tasks = { allProjects: this.toCb(() => { return userStore.findAll('project'); }), project: ['allProjects', this.toCb(() => { return userStore.find('project', params.project_id); })], @@ -66,7 +69,7 @@ export default Ember.Route.extend(PromiseToCb, { }); } - let out = Ember.Object.create({ + let out = EmberObject.create({ all: hash.allProjects, network: network, policyManager: hash.policyManagers.objectAt(0), diff --git a/app/authenticated/clusters/route.js b/app/authenticated/clusters/route.js index 7a2782cc5..b17c0cc1e 100644 --- a/app/authenticated/clusters/route.js +++ b/app/authenticated/clusters/route.js @@ -1,6 +1,7 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ activate() { this._super(); this.controllerFor('authenticated').setPageScope('clusters'); @@ -8,7 +9,7 @@ export default Ember.Route.extend({ model() { var userStore = this.get('userStore'); - return Ember.RSVP.hash({ + return hash({ projects: userStore.find('project', null, {url: 'projects', filter: {all: 'true'}, forceReload: true, removeMissing: true}), clusters: userStore.find('cluster', null, {url: 'clusters', forceReload: true, removeMissing: true}), }).then(() => { diff --git a/app/authenticated/controller.js b/app/authenticated/controller.js index ba1f2fcd4..efc9c49be 100644 --- a/app/authenticated/controller.js +++ b/app/authenticated/controller.js @@ -1,17 +1,20 @@ -import Ember from 'ember'; +import { schedule } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; import C from 'ui/utils/constants'; -export default Ember.Controller.extend({ - application : Ember.inject.controller(), - settings : Ember.inject.service(), - prefs : Ember.inject.service(), - projects : Ember.inject.service(), +export default Controller.extend({ + application : controller(), + settings : service(), + prefs : service(), + projects : service(), error : null, - isPopup: Ember.computed.alias('application.isPopup'), + isPopup: alias('application.isPopup'), bootstrap: function() { - Ember.run.schedule('afterRender', this, () => { + schedule('afterRender', this, () => { this.get('application').setProperties({ error: null, error_description: null, diff --git a/app/authenticated/dummy-dev/controller.js b/app/authenticated/dummy-dev/controller.js index 55ff9aa58..d630f3134 100644 --- a/app/authenticated/dummy-dev/controller.js +++ b/app/authenticated/dummy-dev/controller.js @@ -1,4 +1,4 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ }); diff --git a/app/authenticated/dummy-dev/route.js b/app/authenticated/dummy-dev/route.js index c24ce3529..00dbd1a2f 100644 --- a/app/authenticated/dummy-dev/route.js +++ b/app/authenticated/dummy-dev/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { return [ ]; }, diff --git a/app/authenticated/index/route.js b/app/authenticated/index/route.js index 995f7a2df..2c14cfb2c 100644 --- a/app/authenticated/index/route.js +++ b/app/authenticated/index/route.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - projects: Ember.inject.service(), +export default Route.extend({ + projects: service(), redirect() { var project = this.get('projects.current'); diff --git a/app/authenticated/prefs/controller.js b/app/authenticated/prefs/controller.js index 40ba05476..2fd38d5a5 100644 --- a/app/authenticated/prefs/controller.js +++ b/app/authenticated/prefs/controller.js @@ -1,8 +1,9 @@ -import Ember from 'ember'; +import { equal } from '@ember/object/computed'; +import Controller from '@ember/controller'; import C from 'ui/utils/constants'; -export default Ember.Controller.extend({ - isCaas : Ember.computed.equal('app.mode',C.MODE.CAAS), +export default Controller.extend({ + isCaas : equal('app.mode',C.MODE.CAAS), newPassword: null, actions: { diff --git a/app/authenticated/prefs/route.js b/app/authenticated/prefs/route.js index 7279d9c81..6a2eda039 100644 --- a/app/authenticated/prefs/route.js +++ b/app/authenticated/prefs/route.js @@ -1,22 +1,26 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { resolve } from 'rsvp'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import { loadScript } from 'ui/utils/load-script'; import C from 'ui/utils/constants'; import fetch from 'ember-api-store/utils/fetch'; -export default Ember.Route.extend({ - session: Ember.inject.service(), - accountId: Ember.computed.alias(`session.${C.SESSION.ACCOUNT_ID}`), +export default Route.extend({ + session: service(), + accountId: alias(`session.${C.SESSION.ACCOUNT_ID}`), beforeModel() { return loadScript('https://js.stripe.com/v2/').then(() => { Stripe.setPublishableKey(this.get('app.stripe.publishableKey')); - return Ember.RSVP.resolve(); + return resolve(); }); }, model(/*params, transition*/) { - var modelOut = Ember.Object.create({ + var modelOut = EmberObject.create({ account: null, stripeCards: null, }); diff --git a/app/authenticated/project/apikeys/account/controller.js b/app/authenticated/project/apikeys/account/controller.js index 2a2462151..445c371eb 100644 --- a/app/authenticated/project/apikeys/account/controller.js +++ b/app/authenticated/project/apikeys/account/controller.js @@ -1,18 +1,20 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; import C from 'ui/utils/constants'; -export default Ember.Controller.extend({ - access: Ember.inject.service(), - 'tab-session': Ember.inject.service(), +export default Controller.extend({ + access: service(), + 'tab-session': service(), - application: Ember.inject.controller(), - cookies: Ember.inject.service(), - projects: Ember.inject.service(), - growl: Ember.inject.service(), - project: Ember.computed.alias('projects.current'), - endpointService: Ember.inject.service('endpoint'), - modalService: Ember.inject.service('modal'), - bulkActionHandler: Ember.inject.service(), + application: controller(), + cookies: service(), + projects: service(), + growl: service(), + project: alias('projects.current'), + endpointService: service('endpoint'), + modalService: service('modal'), + bulkActionHandler: service(), sortBy: 'name', headers: [ diff --git a/app/authenticated/project/apikeys/account/route.js b/app/authenticated/project/apikeys/account/route.js index 5bdf3edab..a952dd281 100644 --- a/app/authenticated/project/apikeys/account/route.js +++ b/app/authenticated/project/apikeys/account/route.js @@ -1,10 +1,11 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { var me = this.get(`session.${C.SESSION.ACCOUNT_ID}`); - return Ember.RSVP.hash({ + return hash({ account: this.get('userStore').findAll('apikey', null, {filter: {accountId: me}, url: 'apikeys', forceReload: true}), }); }, diff --git a/app/authenticated/project/apikeys/environment/controller.js b/app/authenticated/project/apikeys/environment/controller.js index c7c22406a..ae82d59f5 100644 --- a/app/authenticated/project/apikeys/environment/controller.js +++ b/app/authenticated/project/apikeys/environment/controller.js @@ -1,10 +1,10 @@ -import Ember from 'ember'; +import { computed, get } from '@ember/object'; import AccountController from '../account/controller'; export default AccountController.extend({ - arranged: Ember.computed('model.environment.@each.{accountId,name,createdTs}','sortBy','descending', function() { + arranged: computed('model.environment.@each.{accountId,name,createdTs}','sortBy','descending', function() { var project = this.get('project.id'); - let sort = (Ember.get(this.get('headers').findBy('name', this.get('sortBy')), 'sort')||[]); + let sort = (get(this.get('headers').findBy('name', this.get('sortBy')), 'sort')||[]); let out = this.get('model.environment').filter((row) => { return row.get('accountId') === project; diff --git a/app/authenticated/project/apikeys/environment/route.js b/app/authenticated/project/apikeys/environment/route.js index 605daf041..226eff32a 100644 --- a/app/authenticated/project/apikeys/environment/route.js +++ b/app/authenticated/project/apikeys/environment/route.js @@ -1,8 +1,9 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { - return Ember.RSVP.hash({ + return hash({ environment: this.get('store').findAll('apikey', null, {forceReload: true}), }); }, diff --git a/app/authenticated/project/apikeys/index/route.js b/app/authenticated/project/apikeys/index/route.js index 397a3aa71..61fa3fd98 100644 --- a/app/authenticated/project/apikeys/index/route.js +++ b/app/authenticated/project/apikeys/index/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ redirect: function() { this.transitionTo('authenticated.project.apikeys.account'); } diff --git a/app/authenticated/project/controller.js b/app/authenticated/project/controller.js index 36ab9bb6b..ab8fe6fe9 100644 --- a/app/authenticated/project/controller.js +++ b/app/authenticated/project/controller.js @@ -1,4 +1,6 @@ -import Ember from 'ember'; +import { scheduleOnce } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; import C from 'ui/utils/constants'; import { tagsToArray } from 'ui/models/stack'; @@ -6,9 +8,9 @@ import { tagsToArray } from 'ui/models/stack'; //const SERVICE = 'service'; const STACK = 'stack'; -export default Ember.Controller.extend({ - prefs: Ember.inject.service(), - projects: Ember.inject.service(), +export default Controller.extend({ + prefs: service(), + projects: service(), tags: '', group: STACK, @@ -24,7 +26,7 @@ export default Ember.Controller.extend({ this.set('hosts', this.get('store').all('host')); this.set('expandedInstances',[]); - Ember.run.scheduleOnce('afterRender', () => { + scheduleOnce('afterRender', () => { let key = `prefs.${C.PREFS.CONTAINER_VIEW}`; const group = this.get(key) || this.get('group'); this.transitionToRoute({queryParams: {group}}); diff --git a/app/authenticated/project/help/controller.js b/app/authenticated/project/help/controller.js index 4d77e8d6f..1bd30e5ae 100644 --- a/app/authenticated/project/help/controller.js +++ b/app/authenticated/project/help/controller.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; import C from 'ui/utils/constants'; -export default Ember.Controller.extend({ - settings: Ember.inject.service(), - projects: Ember.inject.service(), +export default Controller.extend({ + settings: service(), + projects: service(), modelError: false, modelResolved: false, @@ -11,9 +14,9 @@ export default Ember.Controller.extend({ forumsLink: C.EXT_REFERENCES.FORUM, companyLink: C.EXT_REFERENCES.COMPANY, githubLink: C.EXT_REFERENCES.GITHUB, - docsLink: Ember.computed.alias('settings.docsBase'), + docsLink: alias('settings.docsBase'), - latestAnnouncement: Ember.computed('model.announcements', function() { + latestAnnouncement: computed('model.announcements', function() { if (this.get('model.announcements.topics')) { let sorted = this.get('model.announcements.topics').sortBy('id'); var announcement = sorted[sorted.length-1]; diff --git a/app/authenticated/project/help/route.js b/app/authenticated/project/help/route.js index a7b31e148..5d32a278f 100644 --- a/app/authenticated/project/help/route.js +++ b/app/authenticated/project/help/route.js @@ -1,10 +1,12 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import $ from 'jquery'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ +export default Route.extend({ actions: { didTransition: function() { - Ember.$.getJSON(`${C.EXT_REFERENCES.FORUM}/categories.json`).then((response) => { + $.getJSON(`${C.EXT_REFERENCES.FORUM}/categories.json`).then((response) => { let modelOut = { resolved: true, }; @@ -15,26 +17,26 @@ export default Ember.Route.extend({ switch (item.name) { case 'Announcements': modelOut.announcements = item; - promises['announcements'] = Ember.$.getJSON(`${C.EXT_REFERENCES.FORUM}/c/${item.id}/l/latest.json`); + promises['announcements'] = $.getJSON(`${C.EXT_REFERENCES.FORUM}/c/${item.id}/l/latest.json`); break; case 'General': modelOut.general = item; - promises['general'] = Ember.$.getJSON(`${C.EXT_REFERENCES.FORUM}/c/${item.id}/l/latest.json`); + promises['general'] = $.getJSON(`${C.EXT_REFERENCES.FORUM}/c/${item.id}/l/latest.json`); break; case 'Rancher': modelOut.rancher = item; - promises['rancher'] = Ember.$.getJSON(`${C.EXT_REFERENCES.FORUM}/c/${item.id}/l/latest.json`); + promises['rancher'] = $.getJSON(`${C.EXT_REFERENCES.FORUM}/c/${item.id}/l/latest.json`); break; case 'RancherOS': modelOut.rancherOS = item; - promises['rancherOS'] = Ember.$.getJSON(`${C.EXT_REFERENCES.FORUM}/c/${item.id}/l/latest.json`); + promises['rancherOS'] = $.getJSON(`${C.EXT_REFERENCES.FORUM}/c/${item.id}/l/latest.json`); break; default: break; } }); - Ember.RSVP.hash(promises).then((hash) => { + hash(promises).then((hash) => { Object.keys(hash).forEach((key) => { let topics = hash[key].topic_list.topics.filterBy('pinned',false); topics.length = 5; diff --git a/app/authenticated/project/hooks/edit-receiver/controller.js b/app/authenticated/project/hooks/edit-receiver/controller.js index a5d5cb4e9..b616ecdc2 100644 --- a/app/authenticated/project/hooks/edit-receiver/controller.js +++ b/app/authenticated/project/hooks/edit-receiver/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ actions: { cancel() { this.send('goToPrevious'); diff --git a/app/authenticated/project/hooks/edit-receiver/route.js b/app/authenticated/project/hooks/edit-receiver/route.js index 2cc71cd40..2a6d37cc1 100644 --- a/app/authenticated/project/hooks/edit-receiver/route.js +++ b/app/authenticated/project/hooks/edit-receiver/route.js @@ -1,11 +1,13 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - webhookStore: Ember.inject.service(), +export default Route.extend({ + webhookStore: service(), model(params) { return this.get('webhookStore').find('receiver', params.receiver_id).then((receiver) => { - return Ember.Object.create({ + return EmberObject.create({ receiver: receiver, }); }); diff --git a/app/authenticated/project/hooks/index/controller.js b/app/authenticated/project/hooks/index/controller.js index 7154891be..42876be5a 100644 --- a/app/authenticated/project/hooks/index/controller.js +++ b/app/authenticated/project/hooks/index/controller.js @@ -1,8 +1,9 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ - settings: Ember.inject.service(), - projects: Ember.inject.service(), +export default Controller.extend({ + settings: service(), + projects: service(), sortBy:'name', diff --git a/app/authenticated/project/hooks/new-receiver/controller.js b/app/authenticated/project/hooks/new-receiver/controller.js index d4e4737bc..29c71abcd 100644 --- a/app/authenticated/project/hooks/new-receiver/controller.js +++ b/app/authenticated/project/hooks/new-receiver/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ queryParams: ['receiverId'], receiverId: null, diff --git a/app/authenticated/project/hooks/new-receiver/route.js b/app/authenticated/project/hooks/new-receiver/route.js index 60a890ef6..d332f2e6b 100644 --- a/app/authenticated/project/hooks/new-receiver/route.js +++ b/app/authenticated/project/hooks/new-receiver/route.js @@ -1,8 +1,11 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { resolve } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - webhookStore: Ember.inject.service(), - store: Ember.inject.service(), +export default Route.extend({ + webhookStore: service(), + store: service(), beforeModel() { return this.get('store').findAll('hostTemplate').then((templates) => { @@ -16,14 +19,14 @@ export default Ember.Route.extend({ if ( params.receiverId ) { promise = store.find('receiver', params.receiverId); } else { - promise = Ember.RSVP.resolve(store.createRecord({ + promise = resolve(store.createRecord({ type: 'receiver', driver: 'scaleService', })); } return promise.then((receiver) => { - return Ember.Object.create({ + return EmberObject.create({ receiver: receiver.cloneForNew(), }); }); diff --git a/app/authenticated/project/hooks/route.js b/app/authenticated/project/hooks/route.js index 5994219d8..b7c6d0d93 100644 --- a/app/authenticated/project/hooks/route.js +++ b/app/authenticated/project/hooks/route.js @@ -1,7 +1,9 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - webhookStore: Ember.inject.service(), +export default Route.extend({ + webhookStore: service(), model: function() { return this.get('webhookStore').findAll('schema', {url: 'schemas'}).then((schemas) => { @@ -11,7 +13,7 @@ export default Ember.Route.extend({ schemas.findBy('id','scalehost').resourceFields.hostSelector.required = true; schemas.findBy('id','serviceupgrade').resourceFields.serviceSelector.required = true; - return Ember.RSVP.hash({ + return hash({ receivers: this.get('webhookStore').findAll('receiver', {forceReload: true}), }); }); diff --git a/app/authenticated/project/index/route.js b/app/authenticated/project/index/route.js index fb1337f55..7e442d973 100644 --- a/app/authenticated/project/index/route.js +++ b/app/authenticated/project/index/route.js @@ -1,10 +1,10 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; const DEFAULT_ROUTE = 'containers'; const VALID_ROUTES = [DEFAULT_ROUTE,'scaling-groups','balancers', 'dns','volumes']; -export default Ember.Route.extend({ +export default Route.extend({ redirect() { let route = this.get(`session.${C.SESSION.CONTAINER_ROUTE}`); if ( !VALID_ROUTES.includes(route) ) { diff --git a/app/authenticated/project/route.js b/app/authenticated/project/route.js index ef1904b82..06b8b36c0 100644 --- a/app/authenticated/project/route.js +++ b/app/authenticated/project/route.js @@ -1,8 +1,11 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - access : Ember.inject.service(), - projects : Ember.inject.service(), +export default Route.extend({ + access : service(), + projects : service(), activate() { this._super(); @@ -25,7 +28,7 @@ export default Ember.Route.extend({ return; } - return Ember.Object.create({ + return EmberObject.create({ project: project, hosts: this.get('store').all('host'), }); @@ -47,7 +50,7 @@ export default Ember.Route.extend({ let choices = ['none','service','stack']; let cur = this.get('controller.group'); let neu = choices[((choices.indexOf(cur)+1) % choices.length)]; - Ember.run.next(() => { + next(() => { this.set('controller.group', neu); }); }, diff --git a/app/authenticated/route.js b/app/authenticated/route.js index 2cc22e52e..03b7be6f0 100644 --- a/app/authenticated/route.js +++ b/app/authenticated/route.js @@ -1,4 +1,13 @@ -import Ember from 'ember'; +import $ from 'jquery'; +import EmberObject from '@ember/object'; +import { later, scheduleOnce, cancel } from '@ember/runloop'; +import { + reject, + Promise as EmberPromise, + resolve +} from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; import Subscribe from 'ui/mixins/subscribe'; import { xhrConcur } from 'ui/utils/platform'; @@ -7,15 +16,15 @@ import Errors from 'ui/utils/errors'; const CHECK_AUTH_TIMER = 60*10*1000; -export default Ember.Route.extend(Subscribe, PromiseToCb, { - prefs : Ember.inject.service(), - projects : Ember.inject.service(), - settings : Ember.inject.service(), - access : Ember.inject.service(), - userTheme : Ember.inject.service('user-theme'), - language : Ember.inject.service('user-language'), - storeReset: Ember.inject.service(), - modalService: Ember.inject.service('modal'), +export default Route.extend(Subscribe, PromiseToCb, { + prefs : service(), + projects : service(), + settings : service(), + access : service(), + userTheme : service('user-theme'), + language : service('user-language'), + storeReset: service(), + modalService: service('modal'), testTimer: null, @@ -27,13 +36,13 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { this.testAuthToken(); } else { transition.send('logout', transition, false); - return Ember.RSVP.reject('Not logged in'); + return reject('Not logged in'); } } }, testAuthToken: function() { - let timer = Ember.run.later(() => { + let timer = later(() => { this.get('access').testAuth().then((/* res */) => { this.testAuthToken(); }, (/* err */) => { @@ -52,7 +61,7 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { this.get('session').set(C.SESSION.BACK_TO, undefined); - let promise = new Ember.RSVP.Promise((resolve, reject) => { + let promise = new EmberPromise((resolve, reject) => { let tasks = { userSchemas: this.toCb('loadUserSchemas'), clusters: this.toCb('loadClusters'), @@ -85,9 +94,9 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { }, 'Load all the things'); return promise.then((hash) => { - return Ember.Object.create(hash); + return EmberObject.create(hash); }).catch((err) => { - return this.loadingError(err, transition, Ember.Object.create({ + return this.loadingError(err, transition, EmberObject.create({ projects: [], project: null, })); @@ -111,13 +120,13 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { let opt = this.get(`settings.${C.SETTING.TELEMETRY}`); if ( this.get('access.admin') && (!opt || opt === 'prompt') ) { - Ember.run.scheduleOnce('afterRender', this, function() { + scheduleOnce('afterRender', this, function() { this.get('modalService').toggleModal('modal-telemetry'); }); } else if ( form && !this.get(`prefs.${C.PREFS.FEEDBACK}`) ) { - Ember.run.scheduleOnce('afterRender', this, function() { + scheduleOnce('afterRender', this, function() { this.get('modalService').toggleModal('modal-feedback'); }); } @@ -127,7 +136,7 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { deactivate() { this._super(); this.disconnectSubscribe(); - Ember.run.cancel(this.get('testTimer')); + cancel(this.get('testTimer')); // Forget all the things this.get('storeReset').reset(); @@ -176,7 +185,7 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { this.get('userTheme').setupTheme(); if (this.get(`prefs.${C.PREFS.I_HATE_SPINNERS}`)) { - Ember.$('BODY').addClass('i-hate-spinners'); + $('BODY').addClass('i-hate-spinners'); } return res; @@ -219,7 +228,7 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { if ( this.get('store').getById('schema','secret') ) { return this.get('store').find('secret'); } else { - return Ember.RSVP.resolve(); + return resolve(); } }, diff --git a/app/balancers/index/controller.js b/app/balancers/index/controller.js index e33a2b9c5..878049ec2 100644 --- a/app/balancers/index/controller.js +++ b/app/balancers/index/controller.js @@ -1,18 +1,22 @@ -import Ember from 'ember'; -import { searchFields as containerSearchFields } from 'ui/components/container-dots/component'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; +import { + searchFields as containerSearchFields +} from 'shared/components/container-dots/component'; import { headers } from 'ui/containers/index/controller'; -export default Ember.Controller.extend({ - projectController: Ember.inject.controller('authenticated.project'), - projects: Ember.inject.service(), +export default Controller.extend({ + projectController: controller('authenticated.project'), + projects: service(), - tags: Ember.computed.alias('projectController.tags'), - simpleMode: Ember.computed.alias('projectController.simpleMode'), - group: Ember.computed.alias('projectController.group'), - groupTableBy: Ember.computed.alias('projectController.groupTableBy'), - showStack: Ember.computed.alias('projectController.showStack'), - expandedInstances: Ember.computed.alias('projectController.expandedInstances'), - preSorts: Ember.computed.alias('projectController.preSorts'), + tags: alias('projectController.tags'), + simpleMode: alias('projectController.simpleMode'), + group: alias('projectController.group'), + groupTableBy: alias('projectController.groupTableBy'), + showStack: alias('projectController.showStack'), + expandedInstances: alias('projectController.expandedInstances'), + preSorts: alias('projectController.preSorts'), queryParams: ['sortBy'], sortBy: 'name', diff --git a/app/balancers/index/route.js b/app/balancers/index/route.js index 656a9db1f..94d1af30b 100644 --- a/app/balancers/index/route.js +++ b/app/balancers/index/route.js @@ -1,15 +1,17 @@ -import Ember from 'ember'; +import { on } from '@ember/object/evented'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ +export default Route.extend({ model() { var store = this.get('store'); - return Ember.RSVP.hash({ + return hash({ services: store.findAll('service'), }); }, - setDefaultRoute: Ember.on('activate', function() { + setDefaultRoute: on('activate', function() { this.set(`session.${C.SESSION.CONTAINER_ROUTE}`,'balancers'); }), }); diff --git a/app/balancers/run/controller.js b/app/balancers/run/controller.js index 43a6f6f05..8d1e82334 100644 --- a/app/balancers/run/controller.js +++ b/app/balancers/run/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ queryParams: ['stackId','serviceId','tab','upgrade','upgradeImage'], stackId: null, serviceId: null, diff --git a/app/balancers/run/route.js b/app/balancers/run/route.js index c399678e8..719597dab 100644 --- a/app/balancers/run/route.js +++ b/app/balancers/run/route.js @@ -1,8 +1,10 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - settings: Ember.inject.service(), +export default Route.extend({ + settings: service(), model: function(params/*, transition*/) { var store = this.get('store'); @@ -17,7 +19,7 @@ export default Ember.Route.extend({ dependencies['existingService'] = store.find('service', params.serviceId); } - return Ember.RSVP.hash(dependencies).then((hash) => { + return hash(dependencies).then((hash) => { let service; hash.mode = 'service'; diff --git a/app/catalog-tab/controller.js b/app/catalog-tab/controller.js index 417af7688..0b7c1a05f 100644 --- a/app/catalog-tab/controller.js +++ b/app/catalog-tab/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ queryParams: ['category', 'catalogId','templateBase', 'launchCluster'], category: 'all', templateBase: '', diff --git a/app/catalog-tab/index/controller.js b/app/catalog-tab/index/controller.js index c5fa2442a..63885706c 100644 --- a/app/catalog-tab/index/controller.js +++ b/app/catalog-tab/index/controller.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Controller, { inject as controller } from '@ember/controller'; import { isAlternate } from 'ui/utils/platform'; -export default Ember.Controller.extend({ - application: Ember.inject.controller(), - catalogController: Ember.inject.controller('catalog-tab'), - category: Ember.computed.alias('catalogController.category'), - catalogId: Ember.computed.alias('catalogController.catalogId'), +export default Controller.extend({ + application: controller(), + catalogController: controller('catalog-tab'), + category: alias('catalogController.category'), + catalogId: alias('catalogController.catalogId'), parentRoute: 'catalog-tab', launchRoute: 'catalog-tab.launch', actions: { diff --git a/app/catalog-tab/index/route.js b/app/catalog-tab/index/route.js index 89db99eee..325a54eed 100644 --- a/app/catalog-tab/index/route.js +++ b/app/catalog-tab/index/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ resetController: function (controller, isExiting/*, transition*/) { if (isExiting) { diff --git a/app/catalog-tab/launch/controller.js b/app/catalog-tab/launch/controller.js index dc5e62304..b597b3667 100644 --- a/app/catalog-tab/launch/controller.js +++ b/app/catalog-tab/launch/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ queryParams: ['stackId','upgrade'], stackId: null, upgrade: null, diff --git a/app/catalog-tab/launch/route.js b/app/catalog-tab/launch/route.js index 6280ea365..b8456a5c9 100644 --- a/app/catalog-tab/launch/route.js +++ b/app/catalog-tab/launch/route.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { hash } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - modalService: Ember.inject.service('modal'), - catalog: Ember.inject.service(), +export default Route.extend({ + modalService: service('modal'), + catalog: service(), parentRoute: 'catalog-tab', @@ -29,7 +32,7 @@ export default Ember.Route.extend({ dependencies.stack = store.find('stack', params.stackId); } - return Ember.RSVP.hash(dependencies, 'Load dependencies').then((results) => { + return hash(dependencies, 'Load dependencies').then((results) => { if ( !results.stack ) { results.stack = store.createRecord({ @@ -66,7 +69,7 @@ export default Ember.Route.extend({ }); } - return Ember.Object.create({ + return EmberObject.create({ stack: results.stack, tpl: results.tpl, upgrade: results.upgrade, diff --git a/app/catalog-tab/route.js b/app/catalog-tab/route.js index 18ed246bb..d03e2ad0c 100644 --- a/app/catalog-tab/route.js +++ b/app/catalog-tab/route.js @@ -1,10 +1,12 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - access: Ember.inject.service(), - catalog: Ember.inject.service(), - projects: Ember.inject.service(), +export default Route.extend({ + access: service(), + catalog: service(), + projects: service(), queryParams: { category: { refreshModel: true }, @@ -29,7 +31,7 @@ export default Ember.Route.extend({ beforeModel: function() { this._super(...arguments); - return Ember.RSVP.hash({ + return hash({ stacks: this.get('store').find('stack'), catalogs: this.get('catalog').fetchCatalogs({ headers: { diff --git a/app/certificates/controller.js b/app/certificates/controller.js index 38e5364f8..539345441 100644 --- a/app/certificates/controller.js +++ b/app/certificates/controller.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend(); +export default Controller.extend(); diff --git a/app/certificates/detail/controller.js b/app/certificates/detail/controller.js index b9d8f4e83..eac5b9ce1 100644 --- a/app/certificates/detail/controller.js +++ b/app/certificates/detail/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ actions: { changeCertificate(cert) { this.transitionToRoute('certificates.detail', cert.get('id')); diff --git a/app/certificates/detail/route.js b/app/certificates/detail/route.js index eb6379c29..d2776ac25 100644 --- a/app/certificates/detail/route.js +++ b/app/certificates/detail/route.js @@ -1,9 +1,10 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(params/*, transition*/) { return this.get('store').find('certificate', params.certificate_id).then((cert) => { - return Ember.Object.create({ + return EmberObject.create({ certificate: cert, allCertificates: this.modelFor('certificates'), }); diff --git a/app/certificates/index/controller.js b/app/certificates/index/controller.js index 787adebdc..3f483efb8 100644 --- a/app/certificates/index/controller.js +++ b/app/certificates/index/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ sortBy: 'name', headers: [ { diff --git a/app/certificates/new/controller.js b/app/certificates/new/controller.js index 5c44e52b6..502a0f1bc 100644 --- a/app/certificates/new/controller.js +++ b/app/certificates/new/controller.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; import NewOrEdit from 'ui/mixins/new-or-edit'; -export default Ember.Controller.extend(NewOrEdit,{ +export default Controller.extend(NewOrEdit,{ isEncrypted: function() { var key = this.get('model.key')||''; return key.match(/^Proc-Type: 4,ENCRYPTED$/m) || key.match(/^-----BEGIN ENCRYPTED PRIVATE KEY-----$/m); diff --git a/app/certificates/new/route.js b/app/certificates/new/route.js index 1f7c55bf0..251dabaa2 100644 --- a/app/certificates/new/route.js +++ b/app/certificates/new/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(/*params, transition*/) { return this.get('store').createRecord({ type: 'certificate' diff --git a/app/certificates/route.js b/app/certificates/route.js index c939fd108..3c4b6504c 100644 --- a/app/certificates/route.js +++ b/app/certificates/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { return this.get('store').findAll('certificate'); }, diff --git a/app/components/page-header/component.js b/app/components/page-header/component.js index 97d3b1289..77a814a78 100644 --- a/app/components/page-header/component.js +++ b/app/components/page-header/component.js @@ -1,5 +1,5 @@ import PageHeader from 'shared/components/page-header/component'; -import {getProjectId, getClusterId, bulkAdd} from 'ui/utils/navigation-tree'; +import { getProjectId, getClusterId, bulkAdd } from 'ui/utils/navigation-tree'; import C from 'shared/utils/constants'; const rootNav = [ diff --git a/app/console/controller.js b/app/console/controller.js index ff17c72e9..e335df0ea 100644 --- a/app/console/controller.js +++ b/app/console/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; import Console from 'ui/mixins/console'; -export default Ember.Controller.extend(Console, { +export default Controller.extend(Console, { command: null, }); diff --git a/app/console/route.js b/app/console/route.js index 8ebd1a45c..3690a862a 100644 --- a/app/console/route.js +++ b/app/console/route.js @@ -1,9 +1,11 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ - projects: Ember.inject.service(), - k8s: Ember.inject.service(), +export default Route.extend({ + projects: service(), + k8s: service(), model: function(params) { let store = this.get('store'); if (params.kubernetes) { @@ -17,7 +19,7 @@ export default Ember.Route.extend({ setupController(controller, model) { this._super(controller, model); if (controller.get('kubernetes')) { - controller.set('command', Ember.computed('model.labels', function() { + controller.set('command', computed('model.labels', function() { var labels = this.get('model.labels')||{}; if ( labels[C.LABEL.K8S_TOKEN]+'' === 'true' ) { return [ diff --git a/app/container-log/controller.js b/app/container-log/controller.js index 71a8773b2..79607e339 100644 --- a/app/container-log/controller.js +++ b/app/container-log/controller.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import $ from 'jquery'; +import Controller from '@ember/controller'; import Console from 'ui/mixins/console'; -export default Ember.Controller.extend(Console, { +export default Controller.extend(Console, { bootstrap: function() { - let body = Ember.$('body'); - let application = Ember.$('#application'); + let body = $('body'); + let application = $('#application'); body.css('overflow', 'hidden'); diff --git a/app/container-log/route.js b/app/container-log/route.js index fdf96a9b7..a51ac3ab5 100644 --- a/app/container-log/route.js +++ b/app/container-log/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(params) { let store = this.get('store'); return store.find('container', params.instanceId).then((response) => { diff --git a/app/container/controller.js b/app/container/controller.js index 6d60adf04..509856745 100644 --- a/app/container/controller.js +++ b/app/container/controller.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ - projects: Ember.inject.service(), +export default Controller.extend({ + projects: service(), actions: { changeContainer(container) { diff --git a/app/container/route.js b/app/container/route.js index 827af780e..3ab13131b 100644 --- a/app/container/route.js +++ b/app/container/route.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(params) { return this.get('store').find('container', params.container_id).then((container) => { - return Ember.RSVP.hash({ + return hash({ hosts: this.get('store').findAll('host'), }).then((hash) => { diff --git a/app/containers/index/controller.js b/app/containers/index/controller.js index 0503ad0b6..1617d9a5e 100644 --- a/app/containers/index/controller.js +++ b/app/containers/index/controller.js @@ -1,5 +1,9 @@ -import Ember from 'ember'; -import { searchFields as containerSearchFields } from 'ui/components/container-dots/component'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; +import { + searchFields as containerSearchFields +} from 'shared/components/container-dots/component'; export const headers = [ { @@ -37,10 +41,10 @@ export const headers = [ }, ]; -export default Ember.Controller.extend({ - projectController: Ember.inject.controller('authenticated.project'), - projects: Ember.inject.service(), - prefs: Ember.inject.service(), +export default Controller.extend({ + projectController: controller('authenticated.project'), + projects: service(), + prefs: service(), queryParams: ['sortBy'], sortBy: 'name', @@ -51,14 +55,14 @@ export default Ember.Controller.extend({ }, }, - tags: Ember.computed.alias('projectController.tags'), - simpleMode: Ember.computed.alias('projectController.simpleMode'), - group: Ember.computed.alias('projectController.group'), - groupTableBy: Ember.computed.alias('projectController.groupTableBy'), - showStack: Ember.computed.alias('projectController.showStack'), - emptyStacks: Ember.computed.alias('projectController.emptyStacks'), - expandedInstances: Ember.computed.alias('projectController.expandedInstances'), - preSorts: Ember.computed.alias('projectController.preSorts'), + tags: alias('projectController.tags'), + simpleMode: alias('projectController.simpleMode'), + group: alias('projectController.group'), + groupTableBy: alias('projectController.groupTableBy'), + showStack: alias('projectController.showStack'), + emptyStacks: alias('projectController.emptyStacks'), + expandedInstances: alias('projectController.expandedInstances'), + preSorts: alias('projectController.preSorts'), headers: headers, extraSearchFields: ['id:prefix','displayIp:ip'], diff --git a/app/containers/index/route.js b/app/containers/index/route.js index 41af4a846..3cb0e2a20 100644 --- a/app/containers/index/route.js +++ b/app/containers/index/route.js @@ -1,16 +1,18 @@ -import Ember from 'ember'; +import { on } from '@ember/object/evented'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ +export default Route.extend({ model() { var store = this.get('store'); - return Ember.RSVP.hash({ + return hash({ services: store.findAll('service'), instances: store.findAll('instance'), }); }, - setDefaultRoute: Ember.on('activate', function() { + setDefaultRoute: on('activate', function() { this.set(`session.${C.SESSION.CONTAINER_ROUTE}`,'containers'); }), }); diff --git a/app/containers/run/controller.js b/app/containers/run/controller.js index ee8be7a4a..9a5c26d2d 100644 --- a/app/containers/run/controller.js +++ b/app/containers/run/controller.js @@ -1,9 +1,10 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ - growl: Ember.inject.service(), - projects: Ember.inject.service(), - modalService: Ember.inject.service('modal'), +export default Controller.extend({ + growl: service(), + projects: service(), + modalService: service('modal'), queryParams: ['stackId','serviceId','containerId','addSidekick','launchConfigIndex','upgrade'], stackId: null, diff --git a/app/containers/run/route.js b/app/containers/run/route.js index 15a32360a..7a3897613 100644 --- a/app/containers/run/route.js +++ b/app/containers/run/route.js @@ -1,3 +1,7 @@ +import EmberObject from '@ember/object'; +import { hash } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import Ember from 'ember'; import C from 'ui/utils/constants'; @@ -9,8 +13,8 @@ export const EMPTY_LC = JSON.stringify({ restartPolicy: {name: 'always'}, }); -export default Ember.Route.extend({ - prefs: Ember.inject.service(), +export default Route.extend({ + prefs: service(), queryParams: { launchConfigIndex: { @@ -58,7 +62,7 @@ export default Ember.Route.extend({ dependencies['container'] = store.find('container', params.containerId); } - return Ember.RSVP.hash(dependencies, 'Load dependencies').then((results) => { + return hash(dependencies, 'Load dependencies').then((results) => { if ( results.hasOwnProperty('service') ) { // Service Upgrade/Clone let service = results.service; @@ -69,7 +73,7 @@ export default Ember.Route.extend({ let clone = service.clone(); if ( params.addSidekick ) { - return Ember.Object.create({ + return EmberObject.create({ mode: 'sidekick', service: clone, launchConfig: emptyLc, @@ -79,7 +83,7 @@ export default Ember.Route.extend({ } else if ( lcIndex === null ) { // If there are sidekicks, you need to pick one & come back if ( service.secondaryLaunchConfigs && service.secondaryLaunchConfigs.length ) { - return Ember.Object.create({ + return EmberObject.create({ service: service, selectLaunchConfig: true, }); @@ -100,7 +104,7 @@ export default Ember.Route.extend({ if ( params.upgrade) { // Upgrade service - let out = Ember.Object.create({ + let out = EmberObject.create({ mode: 'service', service: clone, launchConfig: lc, @@ -118,7 +122,7 @@ export default Ember.Route.extend({ // Clone service let neu = store.createRecord(clone.serializeForNew()); - return Ember.Object.create({ + return EmberObject.create({ mode: 'service', service: neu, launchConfig: lc, @@ -138,7 +142,7 @@ export default Ember.Route.extend({ if ( params.upgrade) { emptyService.set('launchConfig', clone); - return Ember.Object.create({ + return EmberObject.create({ mode: 'container', service: emptyService, launchConfig: clone, @@ -148,7 +152,7 @@ export default Ember.Route.extend({ } else { let neu = store.createRecord(clone.serializeForNew()); emptyService.set('launchConfig', neu); - return Ember.Object.create({ + return EmberObject.create({ mode: 'container', service: emptyService, launchConfig: neu, @@ -167,7 +171,7 @@ export default Ember.Route.extend({ // New Container/Service emptyService.set('launchConfig', emptyLc); - return Ember.Object.create({ + return EmberObject.create({ mode: mode, service: emptyService, launchConfig: emptyLc, diff --git a/app/dns/index/controller.js b/app/dns/index/controller.js index 7c82d5f8b..981df3657 100644 --- a/app/dns/index/controller.js +++ b/app/dns/index/controller.js @@ -1,16 +1,18 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; -export default Ember.Controller.extend({ - projectController: Ember.inject.controller('authenticated.project'), - projects: Ember.inject.service(), +export default Controller.extend({ + projectController: controller('authenticated.project'), + projects: service(), - tags: Ember.computed.alias('projectController.tags'), - simpleMode: Ember.computed.alias('projectController.simpleMode'), - groupTableBy: Ember.computed.alias('projectController.groupTableBy'), - showStack: Ember.computed.alias('projectController.showStack'), - emptyStacks: Ember.computed.alias('projectController.emptyStacks'), - expandedInstances: Ember.computed.alias('projectController.expandedInstances'), - preSorts: Ember.computed.alias('projectController.preSorts'), + tags: alias('projectController.tags'), + simpleMode: alias('projectController.simpleMode'), + groupTableBy: alias('projectController.groupTableBy'), + showStack: alias('projectController.showStack'), + emptyStacks: alias('projectController.emptyStacks'), + expandedInstances: alias('projectController.expandedInstances'), + preSorts: alias('projectController.preSorts'), queryParams: ['sortBy'], sortBy: 'name', diff --git a/app/dns/index/route.js b/app/dns/index/route.js index d73900441..f4b74ff7e 100644 --- a/app/dns/index/route.js +++ b/app/dns/index/route.js @@ -1,15 +1,17 @@ -import Ember from 'ember'; +import { on } from '@ember/object/evented'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ +export default Route.extend({ model() { var store = this.get('store'); - return Ember.RSVP.hash({ + return hash({ services: store.findAll('service'), }); }, - setDefaultRoute: Ember.on('activate', function() { + setDefaultRoute: on('activate', function() { this.set(`session.${C.SESSION.CONTAINER_ROUTE}`,'dns'); }), }); diff --git a/app/dns/new/controller.js b/app/dns/new/controller.js index 0299c1368..41ebbb238 100644 --- a/app/dns/new/controller.js +++ b/app/dns/new/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ queryParams: ['stackId','serviceId'], stackId: null, serviceId: null, diff --git a/app/dns/new/route.js b/app/dns/new/route.js index 1c4a60c0c..23fb21a38 100644 --- a/app/dns/new/route.js +++ b/app/dns/new/route.js @@ -1,6 +1,7 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(params/*, transition*/) { var store = this.get('store'); @@ -10,7 +11,7 @@ export default Ember.Route.extend({ deps['service'] = store.find('service', params.serviceId); } - return Ember.RSVP.hash(deps, 'Load dependencies').then(function(hash) { + return hash(deps, 'Load dependencies').then(function(hash) { let record; let stackId = params.stackId; diff --git a/app/fail-whale/route.js b/app/fail-whale/route.js index 7c950dcb4..1bee3a06e 100644 --- a/app/fail-whale/route.js +++ b/app/fail-whale/route.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - storeReset: Ember.inject.service(), +export default Route.extend({ + storeReset: service(), actions: { activate: function() { diff --git a/app/host/controller.js b/app/host/controller.js index 4091f6935..53c72c653 100644 --- a/app/host/controller.js +++ b/app/host/controller.js @@ -1,8 +1,9 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Controller from '@ember/controller'; import ContainerSparkStats from 'ui/mixins/container-spark-stats'; -export default Ember.Controller.extend(ContainerSparkStats, { - host: Ember.computed.alias('model.host'), +export default Controller.extend(ContainerSparkStats, { + host: alias('model.host'), queryParams: ['sortBy'], sortBy: 'name', diff --git a/app/host/route.js b/app/host/route.js index 20e962049..25e996cc6 100644 --- a/app/host/route.js +++ b/app/host/route.js @@ -1,12 +1,14 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { hash, all } from 'rsvp'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(params) { var store = this.get('store'); - return store.findAll('host').then((all) => { + return store.findAll('host').then((hosts) => { - return Ember.RSVP.hash({ + return hash({ host: store.find('host', params.host_id), service: store.findAll('service'), instance: store.findAll('instance'), @@ -21,9 +23,9 @@ export default Ember.Route.extend({ }); }); - return Ember.RSVP.all(promises).then(() => { - return Ember.Object.create({ - all: all, + return all(promises).then(() => { + return EmberObject.create({ + all: hosts, host: hash.host, storagePools: out }); diff --git a/app/hosts/controller.js b/app/hosts/controller.js index 38e5364f8..539345441 100644 --- a/app/hosts/controller.js +++ b/app/hosts/controller.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend(); +export default Controller.extend(); diff --git a/app/hosts/index/controller.js b/app/hosts/index/controller.js index 8ef2c437a..41327048e 100644 --- a/app/hosts/index/controller.js +++ b/app/hosts/index/controller.js @@ -1,12 +1,16 @@ -import Ember from 'ember'; -import C from 'ui/utils/constants'; -import { headersWithoutHost as containerHeaders } from 'ui/components/container-table/component'; -import { headersProject as hostHeaders } from 'ui/components/host-row/component'; +import { scheduleOnce } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; +import C from 'shared/utils/constants'; +import { + headersWithoutHost as containerHeaders +} from 'shared/components/container-table/component'; +import { headersProject as hostHeaders } from 'shared/components/host-row/component'; -export default Ember.Controller.extend({ - prefs: Ember.inject.service(), - projects: Ember.inject.service(), - projectController: Ember.inject.controller('authenticated.project'), +export default Controller.extend({ + prefs: service(), + projects: service(), + projectController: controller('authenticated.project'), mode: 'list', sortBy: 'name', @@ -20,7 +24,7 @@ export default Ember.Controller.extend({ this._super(...arguments); this.set('expandedHosts',[]); - Ember.run.scheduleOnce('afterRender', () => { + scheduleOnce('afterRender', () => { let key = `prefs.${C.PREFS.HOST_VIEW}`; let mode = this.get(key) || this.get('mode'); this.transitionToRoute({queryParams: {mode}}); diff --git a/app/hosts/index/route.js b/app/hosts/index/route.js index 48c3f231e..60b7f2140 100644 --- a/app/hosts/index/route.js +++ b/app/hosts/index/route.js @@ -1,6 +1,7 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { return this.get('store').findAll('host').then((hosts) => { return { @@ -14,7 +15,7 @@ export default Ember.Route.extend({ let choices = ['list','dot','grouped']; let cur = this.get('controller.mode'); let neu = choices[((choices.indexOf(cur)+1) % choices.length)]; - Ember.run.next(() => { + next(() => { this.set('controller.mode', neu); }); }, diff --git a/app/hosts/route.js b/app/hosts/route.js index f67cd992c..cd181a7f2 100644 --- a/app/hosts/route.js +++ b/app/hosts/route.js @@ -1,11 +1,13 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - prefs: Ember.inject.service(), +export default Route.extend({ + prefs: service(), model: function() { var store = this.get('store'); - return Ember.RSVP.hash({ + return hash({ hosts: store.findAll('host'), instances: store.findAll('instance'), }).then((hash) => { diff --git a/app/ie/controller.js b/app/ie/controller.js index 2ee908a8d..f8c3de0ec 100644 --- a/app/ie/controller.js +++ b/app/ie/controller.js @@ -1,10 +1,12 @@ -import Ember from 'ember'; +import $ from 'jquery'; +import { schedule } from '@ember/runloop'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ bootstrap: function() { - Ember.run.schedule('afterRender', this, () => { - Ember.$('#loading-overlay').hide(); - Ember.$('#loading-underlay').hide(); + schedule('afterRender', this, () => { + $('#loading-overlay').hide(); + $('#loading-underlay').hide(); }); }.on('init') }); diff --git a/app/infrastructure-tab/controller.js b/app/infrastructure-tab/controller.js index 38e5364f8..539345441 100644 --- a/app/infrastructure-tab/controller.js +++ b/app/infrastructure-tab/controller.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend(); +export default Controller.extend(); diff --git a/app/infrastructure-tab/index/route.js b/app/infrastructure-tab/index/route.js index edeb2f088..5636e2191 100644 --- a/app/infrastructure-tab/index/route.js +++ b/app/infrastructure-tab/index/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ beforeModel: function() { this.transitionTo('hosts'); } diff --git a/app/initializers/extend-ember-input.js b/app/initializers/extend-ember-input.js index 7eaa34d55..d2dc5a250 100644 --- a/app/initializers/extend-ember-input.js +++ b/app/initializers/extend-ember-input.js @@ -1,14 +1,16 @@ -import Ember from 'ember'; +import Checkbox from '@ember/component/checkbox'; +import TextArea from '@ember/component/text-area'; +import TextField from '@ember/component/text-field'; import SafeStyle from 'ui/mixins/safe-style'; export function initialize(/*application */) { // Allow style to be bound on inputs - Ember.TextField.reopen(SafeStyle); - Ember.TextArea.reopen(SafeStyle); - Ember.Checkbox.reopen(SafeStyle); + TextField.reopen(SafeStyle); + TextArea.reopen(SafeStyle); + Checkbox.reopen(SafeStyle); // Disable iOS auto-capitalization - Ember.TextField.reopen({ + TextField.reopen({ attributeBindings: ['autocapitalize'], autocapitalize: 'none', }); diff --git a/app/initializers/extend-ember-link.js b/app/initializers/extend-ember-link.js index 1d38918f2..041851764 100644 --- a/app/initializers/extend-ember-link.js +++ b/app/initializers/extend-ember-link.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import LinkComponent from '@ember/routing/link-component'; export function initialize(/*application */) { - Ember.LinkComponent.reopen({ + LinkComponent.reopen({ attributeBindings: ['tooltip', 'data-placement'], // Set activeParent=true on a {{link-to}} to automatically propagate the active diff --git a/app/initializers/extend-ember-route.js b/app/initializers/extend-ember-route.js index d48faabf0..bfc46a8e6 100644 --- a/app/initializers/extend-ember-route.js +++ b/app/initializers/extend-ember-route.js @@ -1,9 +1,8 @@ -import Ember from "ember"; - -const { getOwner } = Ember; +import Route from '@ember/routing/route'; +import { getOwner } from '@ember/application'; export function initialize(/*application */) { - Ember.Route.reopen({ + Route.reopen({ // Remember the current route (into the application route's previousRoute/Params properties) beforeModel: function() { diff --git a/app/instance-initializers/intl.js b/app/instance-initializers/intl.js index 4c724e1dc..e26935457 100644 --- a/app/instance-initializers/intl.js +++ b/app/instance-initializers/intl.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import { get } from '@ember/object'; +import { makeArray } from '@ember/array'; import missingMessage from 'ui/utils/intl/missing-message'; -const { get, makeArray } = Ember; export function initialize(instance) { let intl = instance.lookup('service:intl'); diff --git a/app/ll/service.js b/app/ll/service.js index b9261c61d..2c0547143 100644 --- a/app/ll/service.js +++ b/app/ll/service.js @@ -1,4 +1,4 @@ -import Ember from 'ember'; +import Service from '@ember/service'; -export default Ember.Service.extend({ +export default Service.extend({ }); diff --git a/app/loading/controller.js b/app/loading/controller.js index 38e5364f8..539345441 100644 --- a/app/loading/controller.js +++ b/app/loading/controller.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend(); +export default Controller.extend(); diff --git a/app/loading/route.js b/app/loading/route.js index dd457cb3b..b9e2cdfe5 100644 --- a/app/loading/route.js +++ b/app/loading/route.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend(); +export default Route.extend(); diff --git a/app/logout/route.js b/app/logout/route.js index 8a0c94f43..c961c9e4b 100644 --- a/app/logout/route.js +++ b/app/logout/route.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - access: Ember.inject.service(), +export default Route.extend({ + access: service(), beforeModel: function(transition) { transition.send('logout'); diff --git a/app/models/account.js b/app/models/account.js index 0f001f904..ab3f2c1b1 100644 --- a/app/models/account.js +++ b/app/models/account.js @@ -1,10 +1,10 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import PolledResource from 'ui/mixins/cattle-polled-resource'; var Account = Resource.extend(PolledResource, { type: 'account', - modalService: Ember.inject.service('modal'), + modalService: service('modal'), reservedKeys: ['_allPasswords'], diff --git a/app/models/apikey.js b/app/models/apikey.js index 7ca411cb1..72596e318 100644 --- a/app/models/apikey.js +++ b/app/models/apikey.js @@ -1,4 +1,4 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import PolledResource from 'ui/mixins/cattle-polled-resource'; import C from 'ui/utils/constants'; @@ -8,7 +8,7 @@ var ApiKey = Resource.extend(PolledResource,{ type: 'apiKey', publicValue: null, secretValue: null, - modalService: Ember.inject.service('modal'), + modalService: service('modal'), actions: { deactivate: function() { diff --git a/app/models/catalogtemplate.js b/app/models/catalogtemplate.js index 30628a7e9..dc048466a 100644 --- a/app/models/catalogtemplate.js +++ b/app/models/catalogtemplate.js @@ -1,10 +1,10 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import { parseExternalId } from 'ui/utils/parse-externalid'; import C from 'ui/utils/constants'; export default Resource.extend({ - catalog: Ember.inject.service(), + catalog: service(), type: 'catalogTemplate', diff --git a/app/models/certificate.js b/app/models/certificate.js index 92f017971..b470202cb 100644 --- a/app/models/certificate.js +++ b/app/models/certificate.js @@ -1,8 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; export default Resource.extend({ - modalService: Ember.inject.service('modal'), + modalService: service('modal'), actions: { edit: function() { this.get('modalService').toggleModal('modal-edit-certificate', this); diff --git a/app/models/cluster.js b/app/models/cluster.js index 614c1d898..73d69f5da 100644 --- a/app/models/cluster.js +++ b/app/models/cluster.js @@ -1,11 +1,13 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { equal } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import PolledResource from 'ui/mixins/cattle-polled-resource'; var Cluster = Resource.extend(PolledResource, { - userStore: Ember.inject.service('user-store'), - projectsService: Ember.inject.service('projects'), - router: Ember.inject.service(), + userStore: service('user-store'), + projectsService: service('projects'), + router: service(), type: 'cluster', @@ -15,7 +17,7 @@ var Cluster = Resource.extend(PolledResource, { }, }, - isKubernetes: Ember.computed.equal('orchestration','kubernetes'), + isKubernetes: equal('orchestration','kubernetes'), delete: function(/*arguments*/) { const promise = this._super.apply(this, arguments); @@ -65,7 +67,7 @@ var Cluster = Resource.extend(PolledResource, { return out; }.property('projects.@each.{name,clusterOwner}'), - canEdit: Ember.computed('actionLinks.{activate,deactivate}','links.{update,remove}', function() { + canEdit: computed('actionLinks.{activate,deactivate}','links.{update,remove}', function() { return (this.get('links.update') && this.get('state') === 'inactive') ? true : false; }), diff --git a/app/models/container.js b/app/models/container.js index 3da84bf2b..255f1a039 100644 --- a/app/models/container.js +++ b/app/models/container.js @@ -1,3 +1,6 @@ +import { computed } from '@ember/object'; +import { later } from '@ember/runloop'; +import { inject as service } from '@ember/service'; import Ember from 'ember'; import C from 'ui/utils/constants'; import Util from 'ui/utils/util'; @@ -7,9 +10,9 @@ import { formatSi } from 'shared/utils/util'; import EndpointPorts from 'ui/mixins/endpoint-ports'; var Container = Instance.extend(EndpointPorts, { - projects: Ember.inject.service(), - modalService: Ember.inject.service('modal'), - router: Ember.inject.service(), + projects: service(), + modalService: service('modal'), + router: service(), // Common to all instances requestedHostId: null, primaryIpAddress: null, @@ -63,7 +66,7 @@ var Container = Instance.extend(EndpointPorts, { popoutShell: function() { let proj = this.get('projects.current.id'); let id = this.get('id'); - Ember.run.later(() => { + later(() => { window.open(`//${window.location.host}/env/${proj}/infra/console?instanceId=${id}&isPopup=true`, '_blank', "toolbars=0,width=900,height=700,left=200,top=200"); }); }, @@ -71,7 +74,7 @@ var Container = Instance.extend(EndpointPorts, { popoutLogs: function() { let proj = this.get('projects.current.id'); let id = this.get('id'); - Ember.run.later(() => { + later(() => { window.open(`//${window.location.host}/env/${proj}/infra/container-log?instanceId=${id}&isPopup=true`, '_blank', "toolbars=0,width=700,height=715,left=200,top=200"); }); }, @@ -134,7 +137,7 @@ var Container = Instance.extend(EndpointPorts, { }.property('actionLinks.{restart,start,stop,restore,execute,logs,upgrade,converttoservice}','canDelete','isSystem','nativeContainer','service.links.update'), - memoryReservationBlurb: Ember.computed('memoryReservation', function() { + memoryReservationBlurb: computed('memoryReservation', function() { if ( this.get('memoryReservation') ) { return formatSi(this.get('memoryReservation'), 1024, 'iB', 'B'); } @@ -164,7 +167,7 @@ var Container = Instance.extend(EndpointPorts, { return ['running','migrating','restarting'].indexOf(this.get('state')) >= 0; }.property('state'), - displayState: Ember.computed('_displayState','exitCode', function() { + displayState: computed('_displayState','exitCode', function() { let out = this.get('_displayState'); let code = this.get('exitCode'); if ( this.get('state') === 'stopped' && this.get('exitCode') > 0) { @@ -174,7 +177,7 @@ var Container = Instance.extend(EndpointPorts, { return out; }), - displayEnvironmentVars: Ember.computed('environment', function() { + displayEnvironmentVars: computed('environment', function() { var envs = []; var environment = this.get('environment')||{}; Object.keys(environment).forEach((key) => { diff --git a/app/models/host.js b/app/models/host.js index 8f843df0e..d45c22d9e 100644 --- a/app/models/host.js +++ b/app/models/host.js @@ -1,4 +1,5 @@ -import Ember from 'ember'; +import EmberObject, { computed } from '@ember/object'; +import { alias } from '@ember/object/computed'; import Util from 'ui/utils/util'; import Resource from 'ember-api-store/models/resource'; import { formatMib, formatSi } from 'shared/utils/util'; @@ -91,7 +92,7 @@ var Host = Resource.extend(StateCounts,{ return out; }.property('actionLinks.{activate,deactivate,evacuate}','links.{update,remove,config}','driver'), - displayIp: Ember.computed.alias('agentIpAddress'), + displayIp: alias('agentIpAddress'), displayName: function() { let name = this.get('name'); @@ -123,7 +124,7 @@ var Host = Resource.extend(StateCounts,{ return out; }.property('info.osInfo.operatingSystem','labels'), - osDetail: Ember.computed.alias('info.osInfo.operatingSystem'), + osDetail: alias('info.osInfo.operatingSystem'), dockerEngineVersion: function() { if ( this.get('info.osInfo') ) @@ -150,7 +151,7 @@ var Host = Resource.extend(StateCounts,{ } }.property('dockerEngineVersion',`settings.${C.SETTING.SUPPORTED_DOCKER}`,`settings.${C.SETTING.NEWEST_DOCKER}`), - dockerDetail: Ember.computed.alias('info.osInfo.operatingSystem'), + dockerDetail: alias('info.osInfo.operatingSystem'), kernelBlurb: function() { if ( this.get('info.osInfo') ) @@ -175,7 +176,7 @@ var Host = Resource.extend(StateCounts,{ } }.property('info.cpuInfo.{count,mhz}'), - cpuTooltip: Ember.computed.alias('info.cpuInfo.modelName'), + cpuTooltip: alias('info.cpuInfo.modelName'), memoryBlurb: function() { if ( this.get('info.memoryInfo') ) @@ -184,14 +185,14 @@ var Host = Resource.extend(StateCounts,{ } }.property('info.memoryInfo.memTotal'), - memoryLimitBlurb: Ember.computed('memory', function() { + memoryLimitBlurb: computed('memory', function() { if ( this.get('memory') ) { return formatSi(this.get('memory'), 1024, 'iB', 'B'); } }), - localStorageBlurb: Ember.computed('localStorageMb', function() { + localStorageBlurb: computed('localStorageMb', function() { if (this.get('localStorageMb')) { return formatSi(this.get('localStorageMb'), 1024, 'iB', 'B', 2 /*start at 1024^2==MB */); } @@ -229,7 +230,7 @@ var Host = Resource.extend(StateCounts,{ var out = []; var fses = this.get('info.diskInfo.fileSystems')||[]; Object.keys(fses).forEach((fs) => { - out.pushObject(Ember.Object.create({label: fs, value: formatMib(fses[fs].capacity)})); + out.pushObject(EmberObject.create({label: fs, value: formatMib(fses[fs].capacity)})); }); return out; diff --git a/app/models/identity.js b/app/models/identity.js index a46361398..158ed521e 100644 --- a/app/models/identity.js +++ b/app/models/identity.js @@ -1,13 +1,14 @@ -import Ember from 'ember'; +import { equal } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import C from 'ui/utils/constants'; var Identity = Resource.extend({ - intl: Ember.inject.service(), + intl: service(), - isUser: Ember.computed.equal('externalIdType', C.PROJECT.TYPE_USER), - isTeam: Ember.computed.equal('externalIdType', C.PROJECT.TYPE_TEAM), - isOrg: Ember.computed.equal('externalIdType', C.PROJECT.TYPE_ORG), + isUser: equal('externalIdType', C.PROJECT.TYPE_USER), + isTeam: equal('externalIdType', C.PROJECT.TYPE_TEAM), + isOrg: equal('externalIdType', C.PROJECT.TYPE_ORG), avatarSrc: function() { if ( this.get('isGithub') && this.get('profilePicture') ) diff --git a/app/models/instance.js b/app/models/instance.js index c7d888c2d..bb898344d 100644 --- a/app/models/instance.js +++ b/app/models/instance.js @@ -1,4 +1,4 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; import Resource from 'ember-api-store/models/resource'; import C from 'ui/utils/constants'; import { formatSi } from 'shared/utils/util'; @@ -34,7 +34,7 @@ var Instance = Resource.extend({ return labels && !!labels[C.LABEL.SYSTEM_TYPE]; }.property('system','labels'), - memoryReservationBlurb: Ember.computed('memoryReservation', function() { + memoryReservationBlurb: computed('memoryReservation', function() { if ( this.get('memoryReservation') ) { return formatSi(this.get('memoryReservation'), 1024, 'iB', 'B'); } diff --git a/app/models/kubernetesservice.js b/app/models/kubernetesservice.js index 297167f91..e50f15d5c 100644 --- a/app/models/kubernetesservice.js +++ b/app/models/kubernetesservice.js @@ -1,3 +1,4 @@ +import { alias } from '@ember/object/computed'; import Service from 'ui/models/service'; import Ember from 'ember'; @@ -5,7 +6,7 @@ const esc = Ember.Handlebars.Utils.escapeExpression; var KubernetesService = Service.extend({ type: 'kubernetesService', - spec: Ember.computed.alias('template.spec'), + spec: alias('template.spec'), displayPorts: function() { var pub = ''; diff --git a/app/models/kubernetesstack.js b/app/models/kubernetesstack.js index a5a3dfba4..ae1f2169b 100644 --- a/app/models/kubernetesstack.js +++ b/app/models/kubernetesstack.js @@ -1,10 +1,10 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; import Stack from 'ui/models/stack'; var KubernetesStack = Stack.extend({ type: 'kubernetesStack', - k8s: Ember.inject.service(), + k8s: service(), availableActions: function() { let l = this.get('links'); diff --git a/app/models/launchconfig.js b/app/models/launchconfig.js index bd9967a10..50bd77626 100644 --- a/app/models/launchconfig.js +++ b/app/models/launchconfig.js @@ -1,8 +1,8 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; import Resource from 'ember-api-store/models/resource'; var LaunchConfig = Resource.extend({ - displayEnvironmentVars: Ember.computed('launchConfig.environment', function() { + displayEnvironmentVars: computed('launchConfig.environment', function() { var envs = []; var environment = this.get('launchConfig.environment')||{}; Object.keys(environment).forEach((key) => { diff --git a/app/models/loadbalancerservice.js b/app/models/loadbalancerservice.js index c3df4c2ea..235b819df 100644 --- a/app/models/loadbalancerservice.js +++ b/app/models/loadbalancerservice.js @@ -1,13 +1,13 @@ +import { inject as service } from '@ember/service'; import Service from 'ui/models/service'; -import Ember from 'ember'; import C from 'ui/utils/constants'; import { parsePortSpec } from 'ui/utils/parse-port'; var LoadBalancerService = Service.extend({ type: 'loadBalancerService', - intl: Ember.inject.service(), - settings: Ember.inject.service(), + intl: service(), + settings: service(), initPorts() { let rules = this.get('lbConfig.portRules')||[]; diff --git a/app/models/machinedriver.js b/app/models/machinedriver.js index ac1b89be3..fc8518854 100644 --- a/app/models/machinedriver.js +++ b/app/models/machinedriver.js @@ -1,4 +1,5 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import PolledResource from 'ui/mixins/cattle-polled-resource'; import C from 'ui/utils/constants'; @@ -26,9 +27,9 @@ function displayUrl(url) { var machineDriver = Resource.extend(PolledResource, { type: 'machineDriver', - modalService: Ember.inject.service('modal'), - catalog: Ember.inject.service(), - intl: Ember.inject.service(), + modalService: service('modal'), + catalog: service(), + intl: service(), actions: { activate: function() { @@ -44,7 +45,7 @@ var machineDriver = Resource.extend(PolledResource, { }, }, - catalogTemplateIcon: Ember.computed('externalId', function() { + catalogTemplateIcon: computed('externalId', function() { let parsedExtId = parseExternalId(this.get('externalId')) || null; if (!parsedExtId) { @@ -59,11 +60,11 @@ var machineDriver = Resource.extend(PolledResource, { }), - displayName: Ember.computed('displayIcon', 'intl.locale', function() { + displayName: computed('displayIcon', 'intl.locale', function() { return this.get('intl').t('machine.driver.'+this.get('displayIcon')); }), - displayIcon: Ember.computed('name', function() { + displayIcon: computed('name', function() { let name = this.get('name'); if ( this.get('hasBuiltinUi') ) { @@ -77,7 +78,7 @@ var machineDriver = Resource.extend(PolledResource, { return displayUrl(this.get('url')); }.property('url'), - displayChecksum: Ember.computed('checksum', function() { + displayChecksum: computed('checksum', function() { return this.get('checksum').substring(0, 8); }), diff --git a/app/models/mountentry.js b/app/models/mountentry.js index 73ceacfb9..177a2860f 100644 --- a/app/models/mountentry.js +++ b/app/models/mountentry.js @@ -1,16 +1,18 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { equal } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import { denormalizeId } from 'ember-api-store/utils/denormalize'; export default Resource.extend({ - intl: Ember.inject.service(), - isReadWrite: Ember.computed.equal('permission','rw'), - isReadOnly: Ember.computed.equal('permission','ro'), + intl: service(), + isReadWrite: equal('permission','rw'), + isReadOnly: equal('permission','ro'), instance: denormalizeId('instanceId'), volume: denormalizeId('volumeId'), - displayVolumeName: Ember.computed('volumeName', function() { + displayVolumeName: computed('volumeName', function() { let name = this.get('volumeName'); if ( name.match(/^[0-9a-f]{64}$/) ) { return (name.substr(0,12)+'…').htmlSafe(); @@ -19,7 +21,7 @@ export default Resource.extend({ return name; }), - displayPermission: Ember.computed('permission', function() { + displayPermission: computed('permission', function() { let permission = this.get('permission'); let out = null; let intl = this.get('intl'); diff --git a/app/models/portrule.js b/app/models/portrule.js index 243c4ffb5..045e416d7 100644 --- a/app/models/portrule.js +++ b/app/models/portrule.js @@ -1,4 +1,5 @@ -import Ember from 'ember'; +import { later } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; import Resource from 'ember-api-store/models/resource'; import { denormalizeId } from 'ember-api-store/utils/denormalize'; @@ -44,7 +45,7 @@ let PortRule = Resource.extend({ return ['http','https'].includes(this.get('protocol')); }.property('protocol'), - canSticky: Ember.computed.alias('canPath'), + canSticky: alias('canPath'), ipProtocol: function() { if ( this.get('protocol') === 'udp' ) { @@ -55,7 +56,7 @@ let PortRule = Resource.extend({ }.property('protocol'), autoSetPort: function() { - Ember.run.later(this, setTlsPort, 500); + later(this, setTlsPort, 500); }.observes('protocol','sourcePort'), }); diff --git a/app/models/processinstance.js b/app/models/processinstance.js index f6cc2e32d..9d9bd1c0e 100644 --- a/app/models/processinstance.js +++ b/app/models/processinstance.js @@ -1,12 +1,12 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; import Resource from 'ember-api-store/models/resource'; var ProcessInstance = Resource.extend({ - runTime: Ember.computed('startTime', 'endTime', function(){ + runTime: computed('startTime', 'endTime', function(){ return moment(this.get('endTime')).diff(this.get('startTime'), 'seconds'); }), - typeAndId: Ember.computed('resourceType','resourceId', function() { + typeAndId: computed('resourceType','resourceId', function() { return this.get('resourceType') + ':' + this.get('resourceId'); }), diff --git a/app/models/project.js b/app/models/project.js index 89fd44b10..f7a56e7d5 100644 --- a/app/models/project.js +++ b/app/models/project.js @@ -1,17 +1,18 @@ +import { notEmpty, equal } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import PolledResource from 'ui/mixins/cattle-polled-resource'; -import Ember from 'ember'; import Util from 'ui/utils/util'; import C from 'ui/utils/constants'; import { denormalizeId } from 'ember-api-store/utils/denormalize'; var Project = Resource.extend(PolledResource, { - access: Ember.inject.service(), - prefs: Ember.inject.service(), - projects: Ember.inject.service(), - settings: Ember.inject.service(), - modalService: Ember.inject.service('modal'), - router: Ember.inject.service(), + access: service(), + prefs: service(), + projects: service(), + settings: service(), + modalService: service('modal'), + router: service(), type: 'project', @@ -20,9 +21,9 @@ var Project = Resource.extend(PolledResource, { cluster: denormalizeId('clusterId'), - canAddHost: Ember.computed.notEmpty('cluster.registrationToken.hostCommand'), - canImport: Ember.computed.notEmpty('cluster.registrationToken.clusterCommand'), - isKubernetes: Ember.computed.equal('cluster.orchestration','kubernetes'), + canAddHost: notEmpty('cluster.registrationToken.hostCommand'), + canImport: notEmpty('cluster.registrationToken.clusterCommand'), + isKubernetes: equal('cluster.orchestration','kubernetes'), actions: { edit: function() { @@ -121,7 +122,7 @@ var Project = Resource.extend(PolledResource, { return Util.ucFirst(this.get('orchestration')); }.property('orchestration'), - isWindows: Ember.computed.equal('orchestration','windows'), + isWindows: equal('orchestration','windows'), // @TODO real data numStacks: function() { diff --git a/app/models/publicendpoint.js b/app/models/publicendpoint.js index ebd859519..80bab3509 100644 --- a/app/models/publicendpoint.js +++ b/app/models/publicendpoint.js @@ -1,19 +1,19 @@ -import Ember from 'ember'; +import { isArray } from '@ember/array'; import Resource from 'ember-api-store/models/resource'; import { denormalizeId } from 'ember-api-store/utils/denormalize'; const BIND_ANY = ['0.0.0.0','::']; function portMatch(ports, equals, endsWith) { - if ( !Ember.isArray(ports) ) { + if ( !isArray(ports) ) { ports = [ports]; } - if ( !Ember.isArray(equals) ) { + if ( !isArray(equals) ) { equals = [equals]; } - if ( !Ember.isArray(endsWith) ) { + if ( !isArray(endsWith) ) { endsWith = [endsWith]; } diff --git a/app/models/receiver.js b/app/models/receiver.js index 39a59eec0..b05a36bba 100644 --- a/app/models/receiver.js +++ b/app/models/receiver.js @@ -1,12 +1,12 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import PolledResource from 'ui/mixins/cattle-polled-resource'; import { denormalizeId } from 'ember-api-store/utils/denormalize'; var Receiver = Resource.extend(PolledResource, { - regularStore: Ember.inject.service('store'), - intl: Ember.inject.service(), - router: Ember.inject.service(), + regularStore: service('store'), + intl: service(), + router: service(), service: denormalizeId('opt.serviceId','service','regularStore'), diff --git a/app/models/registry.js b/app/models/registry.js index fc3bca27d..e871a148f 100644 --- a/app/models/registry.js +++ b/app/models/registry.js @@ -1,10 +1,12 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; var Registry = Resource.extend({ type: 'registry', serverAddress: null, - modalService: Ember.inject.service('modal'), + modalService: service('modal'), actions: { deactivate: function() { @@ -17,7 +19,7 @@ var Registry = Resource.extend({ edit: function() { this.get('store').find('registry').then((registries) => { - this.get('modalService').toggleModal('modal-edit-registry', Ember.Object.create({ + this.get('modalService').toggleModal('modal-edit-registry', EmberObject.create({ registries: registries, registry: this, credential: this.get('credential'), @@ -42,7 +44,7 @@ var Registry = Resource.extend({ ]; }.property('actionLinks.{activate,deactivate}','links.{update,remove}'), - displayName: Ember.computed.alias('displayAddress'), + displayName: alias('displayAddress'), displayAddress: function() { var address = this.get('serverAddress').toLowerCase(); if ( address === 'index.docker.io' ) diff --git a/app/models/scalinggroup.js b/app/models/scalinggroup.js index bf0be9019..b0c344a64 100644 --- a/app/models/scalinggroup.js +++ b/app/models/scalinggroup.js @@ -1,9 +1,9 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; import Service from 'ui/models/service'; var ScalingGroup = Service.extend({ type: 'scalingGroup', - displayEnvironmentVars: Ember.computed('launchConfig.environment', function() { + displayEnvironmentVars: computed('launchConfig.environment', function() { var envs = []; var environment = this.get('launchConfig.environment')||{}; Object.keys(environment).forEach((key) => { diff --git a/app/models/secondarylaunchconfig.js b/app/models/secondarylaunchconfig.js index 4289f4272..d7306560f 100644 --- a/app/models/secondarylaunchconfig.js +++ b/app/models/secondarylaunchconfig.js @@ -1,8 +1,8 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; import LC from 'ui/models/launchconfig'; var secondaryLaunchConfigs = LC.extend({ - displayEnvironmentVars: Ember.computed('launchConfig.environment', function() { + displayEnvironmentVars: computed('launchConfig.environment', function() { var envs = []; var environment = this.get('launchConfig.environment')||{}; Object.keys(environment).forEach((key) => { diff --git a/app/models/secret.js b/app/models/secret.js index 2aa26a07d..16a31d210 100644 --- a/app/models/secret.js +++ b/app/models/secret.js @@ -1,8 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; export default Resource.extend({ - modalService: Ember.inject.service('modal'), + modalService: service('modal'), actions: { edit: function() { this.get('modalService').toggleModal('modal-edit-secret', this); diff --git a/app/models/service.js b/app/models/service.js index 1ab3e6798..9b5a3730e 100644 --- a/app/models/service.js +++ b/app/models/service.js @@ -1,5 +1,7 @@ +import { later, cancel } from '@ember/runloop'; +import { computed } from '@ember/object'; +import { alias } from '@ember/object/computed'; import Resource from 'ember-api-store/models/resource'; -import Ember from 'ember'; import C from 'ui/utils/constants'; import Util from 'ui/utils/util'; import { denormalizeId, denormalizeIdArray } from 'ember-api-store/utils/denormalize'; @@ -18,7 +20,7 @@ var Service = Resource.extend(StateCounts, EndpointPorts, { router: service(), instances: denormalizeIdArray('instanceIds'), - instanceCount: Ember.computed.alias('instances.length'), + instanceCount: alias('instances.length'), stack: denormalizeId('stackId'), init() { @@ -26,7 +28,7 @@ var Service = Resource.extend(StateCounts, EndpointPorts, { this.defineStateCounts('instances', 'instanceStates', 'instanceCountSort'); }, - lcType: Ember.computed('type', function() { + lcType: computed('type', function() { return (this.get('type')||'').toLowerCase(); }), @@ -148,7 +150,7 @@ var Service = Resource.extend(StateCounts, EndpointPorts, { popoutShell() { let proj = this.get('projects.current.id'); let id = this.get('containerForShell.id'); - Ember.run.later(() => { + later(() => { window.open(`//${window.location.host}/env/${proj}/infra/console?instanceId=${id}&isPopup=true`, '_blank', "toolbars=0,width=900,height=700,left=200,top=200"); }); }, @@ -158,10 +160,10 @@ var Service = Resource.extend(StateCounts, EndpointPorts, { saveScale() { if ( this.get('scaleTimer') ) { - Ember.run.cancel(this.get('scaleTimer')); + cancel(this.get('scaleTimer')); } - var timer = Ember.run.later(this, function() { + var timer = later(this, function() { this.save().catch((err) => { this.get('growl').fromError('Error updating scale',err); }); @@ -207,7 +209,7 @@ var Service = Resource.extend(StateCounts, EndpointPorts, { 'lcType','isK8s','canHaveContainers','canHaveSidekicks','containerForShell' ), - image: Ember.computed.alias('launchConfig.image'), + image: alias('launchConfig.image'), sortName: function() { return Util.sortableNumericSuffix(this.get('displayName')); @@ -315,21 +317,21 @@ var Service = Resource.extend(StateCounts, EndpointPorts, { return ['service','scalinggroup'].includes(this.get('lcType')); }.property('lcType'), - hasPorts: Ember.computed.alias('isReal'), - hasImage: Ember.computed.alias('isReal'), - canUpgrade: Ember.computed.alias('isReal'), - canHaveLabels: Ember.computed.alias('isReal'), - canScale: Ember.computed.alias('isReal'), + hasPorts: alias('isReal'), + hasImage: alias('isReal'), + canUpgrade: alias('isReal'), + canHaveLabels: alias('isReal'), + canScale: alias('isReal'), realButNotLb: function() { return this.get('isReal') && !this.get('isBalancer'); }.property('isReal','isBalancer'), - canHaveLinks: Ember.computed.alias('realButNotLb'), - canChangeNetworking: Ember.computed.alias('realButNotLb'), - canChangeSecurity: Ember.computed.alias('realButNotLb'), - canHaveSecrets: Ember.computed.alias('realButNotLb'), - canHaveEnvironment: Ember.computed.alias('realButNotLb'), + canHaveLinks: alias('realButNotLb'), + canChangeNetworking: alias('realButNotLb'), + canChangeSecurity: alias('realButNotLb'), + canHaveSecrets: alias('realButNotLb'), + canHaveEnvironment: alias('realButNotLb'), canHaveHealthCheck: function() { return [ @@ -400,7 +402,7 @@ var Service = Resource.extend(StateCounts, EndpointPorts, { return activeIcon(this); }.property('lcType'), - memoryReservationBlurb: Ember.computed('launchConfig.memoryReservation', function() { + memoryReservationBlurb: computed('launchConfig.memoryReservation', function() { if ( this.get('launchConfig.memoryReservation') ) { return Util.formatSi(this.get('launchConfig.memoryReservation'), 1024, 'iB', 'B'); } diff --git a/app/models/servicelog.js b/app/models/servicelog.js index f9daa778c..b15c01295 100644 --- a/app/models/servicelog.js +++ b/app/models/servicelog.js @@ -1,8 +1,10 @@ -import Ember from 'ember'; +import { equal } from '@ember/object/computed'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; var ServiceLog = Resource.extend({ - router: Ember.inject.service(), + router: service(), actions: { goToInstance() { @@ -30,7 +32,7 @@ var ServiceLog = Resource.extend({ return choices; }.property('instanceId'), - runTime: Ember.computed('created', 'endTime', function(){ + runTime: computed('created', 'endTime', function(){ if ( this.get('endTime') ) { let sec = moment(this.get('endTime')).diff(this.get('created'), 'seconds'); if (sec > 0) { @@ -41,9 +43,9 @@ var ServiceLog = Resource.extend({ } }), - isError: Ember.computed.equal('level','error'), + isError: equal('level','error'), - displayState: Ember.computed('level', function() { + displayState: computed('level', function() { return this.get('level').toUpperCase(); }), }); diff --git a/app/models/setting.js b/app/models/setting.js index c8ebc30e6..23806203b 100644 --- a/app/models/setting.js +++ b/app/models/setting.js @@ -1,5 +1,5 @@ +import { later } from '@ember/runloop'; import Resource from 'ember-api-store/models/resource'; -import Ember from 'ember'; export default Resource.extend({ isDefault: function() { @@ -17,7 +17,7 @@ export default Resource.extend({ delete() { return this._super().then((res) => { - Ember.run.later(this,'reload',500); + later(this,'reload',500); return res; }); }, diff --git a/app/models/stack.js b/app/models/stack.js index 131d9d61a..68a319c9c 100644 --- a/app/models/stack.js +++ b/app/models/stack.js @@ -1,4 +1,7 @@ -import Ember from 'ember'; +import { isEmpty } from '@ember/utils'; +import { computed } from '@ember/object'; +import { filterBy } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import { parseExternalId } from 'ui/utils/parse-externalid'; import C from 'ui/utils/constants'; @@ -46,15 +49,15 @@ export function tagChoices(all) { var Stack = Resource.extend(StateCounts, { type: 'stack', - k8s: Ember.inject.service(), - modalService: Ember.inject.service('modal'), - catalog: Ember.inject.service(), - projectsService: Ember.inject.service('projects'), - router: Ember.inject.service(), + k8s: service(), + modalService: service('modal'), + catalog: service(), + projectsService: service('projects'), + router: service(), services: denormalizeIdArray('serviceIds'), - realServices: Ember.computed.filterBy('services','isReal',true), + realServices: filterBy('services','isReal',true), init() { this._super(...arguments); @@ -62,7 +65,7 @@ var Stack = Resource.extend(StateCounts, { }, _allInstances: null, - instances: Ember.computed('_allInstances.@each.stackId', function() { + instances: computed('_allInstances.@each.stackId', function() { let all = this.get('_allInstances'); if ( !all ) { all = this.get('store').all('instance'); @@ -219,9 +222,9 @@ var Stack = Resource.extend(StateCounts, { return (this.get('name')||'').toLowerCase() === 'default'; }.property('name'), - isEmpty: Ember.computed('instances.length', 'services.length', function() { + isEmpty: computed('instances.length', 'services.length', function() { - if (Ember.isEmpty(this.get('instances')) && Ember.isEmpty(this.get('services'))) { + if (isEmpty(this.get('instances')) && isEmpty(this.get('services'))) { return true; } @@ -262,7 +265,7 @@ var Stack = Resource.extend(StateCounts, { } }.property('externalIdInfo.kind','group','system'), - normalizedTags: Ember.computed('group', { + normalizedTags: computed('group', { get() { return tagsToArray(this.get('group')); }, @@ -271,7 +274,7 @@ var Stack = Resource.extend(StateCounts, { return value; } }), - tags: Ember.computed('group', { + tags: computed('group', { get(){ return tagsToArray(this.get('group'), false); }, diff --git a/app/models/template.js b/app/models/template.js index c06773c9e..e25489098 100644 --- a/app/models/template.js +++ b/app/models/template.js @@ -1,11 +1,13 @@ -import Ember from 'ember'; +import { htmlSafe } from '@ember/string'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import C from 'ui/utils/constants'; const Template = Resource.extend({ - projects: Ember.inject.service(), - settings: Ember.inject.service(), - intl: Ember.inject.service(), + projects: service(), + settings: service(), + intl: service(), headers: function() { return { @@ -13,7 +15,7 @@ const Template = Resource.extend({ }; }.property('project.current.id'), - cleanProjectUrl: Ember.computed('links.project', function() { + cleanProjectUrl: computed('links.project', function() { let projectUrl = this.get('links.project'); let pattern = new RegExp('^([a-z]+://|//)', 'i'); @@ -23,10 +25,10 @@ const Template = Resource.extend({ } } - return Ember.String.htmlSafe(projectUrl); + return htmlSafe(projectUrl); }), - defaultName: Ember.computed('id','templateBase', function() { + defaultName: computed('id','templateBase', function() { var name = this.get('id'); var base = this.get('templateBase'); @@ -50,7 +52,7 @@ const Template = Resource.extend({ return name; }), - machineHasIcon: Ember.computed('templateBase', function(){ + machineHasIcon: computed('templateBase', function(){ if (this.get('templateBase') === 'machine') { if (this.get('links.icon')) { return this.get('links.icon'); diff --git a/app/models/templateversion.js b/app/models/templateversion.js index 509eda8de..d9b8bdec8 100644 --- a/app/models/templateversion.js +++ b/app/models/templateversion.js @@ -1,9 +1,9 @@ +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import C from 'ui/utils/constants'; -import Ember from 'ember'; export default Resource.extend({ - projects: Ember.inject.service(), + projects: service(), headers: function() { return { diff --git a/app/models/typedocumentation.js b/app/models/typedocumentation.js index 595d06d42..bcbd1197e 100644 --- a/app/models/typedocumentation.js +++ b/app/models/typedocumentation.js @@ -1,4 +1,4 @@ -import {normalizeType} from 'ember-api-store/utils/normalize'; +import { normalizeType } from 'ember-api-store/utils/normalize'; import Resource from 'ember-api-store/models/resource'; var TypeDocumentation = Resource.extend(); diff --git a/app/models/volume.js b/app/models/volume.js index d03282799..e9418c066 100644 --- a/app/models/volume.js +++ b/app/models/volume.js @@ -1,14 +1,15 @@ -import Ember from 'ember'; +import { notEmpty } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; import Resource from 'ember-api-store/models/resource'; import { denormalizeId } from 'ember-api-store/utils/denormalize'; var Volume = Resource.extend({ type: 'volume', - intl: Ember.inject.service(), + intl: service(), stack: denormalizeId('stackId'), - isRoot: Ember.computed.notEmpty('instanceId'), + isRoot: notEmpty('instanceId'), scope: function() { return 'standalone'; diff --git a/app/new-stack/controller.js b/app/new-stack/controller.js index f491a9e72..08dbd9a5c 100644 --- a/app/new-stack/controller.js +++ b/app/new-stack/controller.js @@ -1,8 +1,8 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; import NewOrEdit from 'ui/mixins/new-or-edit'; -import {tagChoices, tagsToArray} from 'ui/models/stack'; +import { tagChoices, tagsToArray } from 'ui/models/stack'; -export default Ember.Controller.extend(NewOrEdit, { +export default Controller.extend(NewOrEdit, { error: null, editing: false, compose: null, diff --git a/app/new-stack/route.js b/app/new-stack/route.js index b2e8d3f37..e61224d22 100644 --- a/app/new-stack/route.js +++ b/app/new-stack/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model() { var stack = this.get('store').createRecord({ type: 'stack', diff --git a/app/not-found/route.js b/app/not-found/route.js index 5fe5c5484..574591698 100644 --- a/app/not-found/route.js +++ b/app/not-found/route.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - language : Ember.inject.service('user-language'), +export default Route.extend({ + language : service('user-language'), beforeModel: function() { return this.get('language').initLanguage(); diff --git a/app/registries/index/controller.js b/app/registries/index/controller.js index 74c6c9241..f5f0f655b 100644 --- a/app/registries/index/controller.js +++ b/app/registries/index/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ sortBy: 'address', headers: [ { diff --git a/app/registries/index/route.js b/app/registries/index/route.js index c9e0b7fa4..9f643e7a6 100644 --- a/app/registries/index/route.js +++ b/app/registries/index/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { return this.get('store').findAll('registrycredential').then(() => { return this.get('store').findAll('registry'); diff --git a/app/registries/new/controller.js b/app/registries/new/controller.js index d7aa6b660..dd37edccf 100644 --- a/app/registries/new/controller.js +++ b/app/registries/new/controller.js @@ -1,12 +1,13 @@ -import Ember from 'ember'; +import { alias, equal } from '@ember/object/computed'; +import Controller from '@ember/controller'; import NewOrEdit from 'ui/mixins/new-or-edit'; -export default Ember.Controller.extend(NewOrEdit, { +export default Controller.extend(NewOrEdit, { editing: false, - primaryResource: Ember.computed.alias('model.registry'), + primaryResource: alias('model.registry'), activeDriver: null, - isCustom: Ember.computed.equal('activeDriver','custom'), + isCustom: equal('activeDriver','custom'), actions: { selectDriver: function(name) { diff --git a/app/registries/new/route.js b/app/registries/new/route.js index 3ebf77715..d80b53ded 100644 --- a/app/registries/new/route.js +++ b/app/registries/new/route.js @@ -1,6 +1,7 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(/*params, transition*/) { var store = this.get('store'); var registry = store.createRecord({ @@ -15,7 +16,7 @@ export default Ember.Route.extend({ }); return store.find('registry').then((registries) => { - return Ember.Object.create({ + return EmberObject.create({ allRegistries: registries, registry: registry, credential: credential diff --git a/app/router.js b/app/router.js index 180bff81f..ea0003854 100644 --- a/app/router.js +++ b/app/router.js @@ -1,11 +1,11 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; import EmberRouter from '@ember/routing/router'; import config from './config/environment'; -import {applyRoutes, clearRoutes} from 'ui/utils/additional-routes'; +import { applyRoutes, clearRoutes } from 'ui/utils/additional-routes'; //const Router = Ember.Router.extend({ const Router = EmberRouter.extend({ - modalService: Ember.inject.service('modal'), + modalService: service('modal'), location: config.locationType, willTransition(){ if (this.get('modalService.modalVisible')) { diff --git a/app/routes/index.js b/app/routes/index.js index b98162845..bd77d5758 100644 --- a/app/routes/index.js +++ b/app/routes/index.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ actions: { activate: function() { this.transitionTo('authenticated'); diff --git a/app/secrets/index/controller.js b/app/secrets/index/controller.js index 424c6254a..091aec293 100644 --- a/app/secrets/index/controller.js +++ b/app/secrets/index/controller.js @@ -1,9 +1,11 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ sortBy: 'name', - prefs: Ember.inject.service(), - projects: Ember.inject.service(), + prefs: service(), + projects: service(), queryParams: ['sortBy'], @@ -36,7 +38,7 @@ export default Ember.Controller.extend({ }, ], - sortableContent: Ember.computed.alias('filtered'), + sortableContent: alias('filtered'), filtered: function() { let all = this.get('model'); if ( !this.get('prefs.showSystemResources') ) { diff --git a/app/secrets/new/controller.js b/app/secrets/new/controller.js index 87c6f8d4a..866348fa9 100644 --- a/app/secrets/new/controller.js +++ b/app/secrets/new/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ actions: { cancel() { this.transitionToRoute('secrets'); diff --git a/app/secrets/new/route.js b/app/secrets/new/route.js index a421ce12e..53020a9a0 100644 --- a/app/secrets/new/route.js +++ b/app/secrets/new/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(/*params, transition*/) { return this.get('store').createRecord({ type: 'secret' diff --git a/app/secrets/route.js b/app/secrets/route.js index 35f129ba0..052f65b0f 100644 --- a/app/secrets/route.js +++ b/app/secrets/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { return this.get('store').findAll('secret'); }, diff --git a/app/service/controller.js b/app/service/controller.js index 90bf646eb..871593f1a 100644 --- a/app/service/controller.js +++ b/app/service/controller.js @@ -1,12 +1,15 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { oneWay } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; -export default Ember.Controller.extend({ - application: Ember.inject.controller(), - projects: Ember.inject.service(), - allServices: Ember.inject.service(), +export default Controller.extend({ + application: controller(), + projects: service(), + allServices: service(), - service: Ember.computed.oneWay('model.service'), - rules: Ember.computed.oneWay('service.lbConfig.portRules'), + service: oneWay('model.service'), + rules: oneWay('service.lbConfig.portRules'), sortBy: 'priority', fixedLaunchConfig: null, @@ -101,7 +104,7 @@ export default Ember.Controller.extend({ } }, - serviceLinksNamed: Ember.computed('service.serviceLinks.[]', function() { + serviceLinksNamed: computed('service.serviceLinks.[]', function() { let as = this.get('allServices'); ( this.get('service.serviceLinks') || []).forEach((link) => { diff --git a/app/service/route.js b/app/service/route.js index d76df7da5..e53e00941 100644 --- a/app/service/route.js +++ b/app/service/route.js @@ -1,11 +1,13 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(params) { - return Ember.RSVP.hash({ + return hash({ service: this.get('store').find('service', params.service_id), }).then((hash) => { - return Ember.Object.create(hash); + return EmberObject.create(hash); }); }, diff --git a/app/signup/controller.js b/app/signup/controller.js index 772584ecc..0b8d79875 100644 --- a/app/signup/controller.js +++ b/app/signup/controller.js @@ -1,8 +1,10 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; import fetch from 'ember-api-store/utils/fetch'; -export default Ember.Controller.extend({ - settings: Ember.inject.service(), +export default Controller.extend({ + settings: service(), emailSent: false, saving: false, @@ -35,7 +37,7 @@ export default Ember.Controller.extend({ this.transitionToRoute('login'); } }, - validate: Ember.observer('model.name', 'model.email', function() { + validate: observer('model.name', 'model.email', function() { if (this.get('model.name') && this.get('model.email')) { if (this.get('errors')) { this.set('errors', []); diff --git a/app/signup/route.js b/app/signup/route.js index 3828fa25b..0318ae9fa 100644 --- a/app/signup/route.js +++ b/app/signup/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ activate: function() { $('BODY').addClass('container-farm'); }, diff --git a/app/stack/chart/controller.js b/app/stack/chart/controller.js index 728bd5c73..fd29d0134 100644 --- a/app/stack/chart/controller.js +++ b/app/stack/chart/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ selectedService: null, showAddtlInfo: false, diff --git a/app/stack/chart/route.js b/app/stack/chart/route.js index 560af79ea..262ba57ce 100644 --- a/app/stack/chart/route.js +++ b/app/stack/chart/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { return this.modelFor('stack').get('stack'); } diff --git a/app/stack/code/controller.js b/app/stack/code/controller.js index 38e5364f8..539345441 100644 --- a/app/stack/code/controller.js +++ b/app/stack/code/controller.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend(); +export default Controller.extend(); diff --git a/app/stack/code/route.js b/app/stack/code/route.js index 4262673a4..d0f3d3570 100644 --- a/app/stack/code/route.js +++ b/app/stack/code/route.js @@ -1,6 +1,7 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(/*params, transition*/) { var par = this.modelFor('stack'); var stack = par.get('stack'); @@ -15,7 +16,7 @@ export default Ember.Route.extend({ }); } - return Ember.Object.create({ + return EmberObject.create({ stack: stack, all: par.get('all'), templates: templates, diff --git a/app/stack/index/controller.js b/app/stack/index/controller.js index 495703581..fd9f924a1 100644 --- a/app/stack/index/controller.js +++ b/app/stack/index/controller.js @@ -1,9 +1,15 @@ -import Ember from 'ember'; -import { headersWithHost as containerHeaders } from 'ui/components/container-table/component'; -import { searchFields as containerSearchFields } from 'ui/components/container-dots/component'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; +import { + headersWithHost as containerHeaders +} from 'shared/components/container-table/component'; +import { + searchFields as containerSearchFields +} from 'shared/components/container-dots/component'; -export default Ember.Controller.extend({ - prefs: Ember.inject.service(), +export default Controller.extend({ + prefs: service(), containerHeaders: containerHeaders, showAddtlInfo: false, selectedService: null, @@ -150,34 +156,34 @@ export default Ember.Controller.extend({ extraSearchFields: ['id:prefix','displayIp:ip'], extraSearchSubFields: containerSearchFields, - rows: Ember.computed('instances.[]', 'services.[]', function() { + rows: computed('instances.[]', 'services.[]', function() { let out = []; let containers = this.get('instances'); let services = this.get('services'); return out.concat(containers, services); }), - containerStats: Ember.computed('instances.[]', 'services.[]', function() { + containerStats: computed('instances.[]', 'services.[]', function() { let containerLength = this.get('instances.length') || 0; let scalingGroupsLength = this.get('services.length') || 0; return containerLength += scalingGroupsLength; }), - services: Ember.computed('model.services.[]', function() { + services: computed('model.services.[]', function() { return this.get('model.services').filter((obj) => { return obj.get('isReal') && !obj.get('isBalancer'); }); }), - loadBalancers: Ember.computed('model.services.@each.isBalancer', function() { + loadBalancers: computed('model.services.@each.isBalancer', function() { return this.get('model.services').filterBy('isBalancer',true); }), - dnsServices: Ember.computed('model.services.[]', function() { + dnsServices: computed('model.services.[]', function() { return this.get('model.services').filterBy('isReal',false); }), - instances: Ember.computed('model.instances.[]','prefs.showSystemResources', function() { + instances: computed('model.instances.[]','prefs.showSystemResources', function() { let out = this.get('model.instances').filterBy('stackId', this.get('model.stack.id')); out = out.filterBy('serviceId', null); if ( !this.get('prefs.showSystemResources') ) { diff --git a/app/stack/index/route.js b/app/stack/index/route.js index b6741edee..6ef123845 100644 --- a/app/stack/index/route.js +++ b/app/stack/index/route.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ parentRoute: 'stack', resetController: function (controller, isExisting/*, transition*/) { diff --git a/app/stack/route.js b/app/stack/route.js index 8e94fdb7a..276072328 100644 --- a/app/stack/route.js +++ b/app/stack/route.js @@ -1,10 +1,11 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(params) { var store = this.get('store'); return store.find('stack', params.stack_id).then((stack) => { - return Ember.Object.create({ + return EmberObject.create({ stack: stack, instances: store.all('instance'), services: stack.get('services') diff --git a/app/verify-reset-password/controller.js b/app/verify-reset-password/controller.js index eccc751ec..3459d172b 100644 --- a/app/verify-reset-password/controller.js +++ b/app/verify-reset-password/controller.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; import fetch from 'ember-api-store/utils/fetch'; -export default Ember.Controller.extend({ +export default Controller.extend({ passwordRest: false, loading: false, password: null, diff --git a/app/verify-reset-password/route.js b/app/verify-reset-password/route.js index cb4445553..664a48927 100644 --- a/app/verify-reset-password/route.js +++ b/app/verify-reset-password/route.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { reject } from 'rsvp'; +import Route from '@ember/routing/route'; import fetch from 'ember-api-store/utils/fetch'; -export default Ember.Route.extend({ +export default Route.extend({ activate: function() { $('BODY').addClass('container-farm'); }, @@ -24,7 +25,7 @@ export default Ember.Route.extend({ return resp.body; } }).catch((err) => { - return Ember.RSVP.reject(err.body); + return reject(err.body); }); } else { diff --git a/app/verify/controller.js b/app/verify/controller.js index ceaf6e048..46d3ccd58 100644 --- a/app/verify/controller.js +++ b/app/verify/controller.js @@ -1,8 +1,9 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; import fetch from 'ember-api-store/utils/fetch'; -export default Ember.Controller.extend({ - access: Ember.inject.service(), +export default Controller.extend({ + access: service(), accountCreated: false, loading: false, canSend: false, diff --git a/app/verify/route.js b/app/verify/route.js index a2537bdd5..9f365ed44 100644 --- a/app/verify/route.js +++ b/app/verify/route.js @@ -1,7 +1,8 @@ -import Ember from 'ember'; +import { reject } from 'rsvp'; +import Route from '@ember/routing/route'; import fetch from 'ember-api-store/utils/fetch'; -export default Ember.Route.extend({ +export default Route.extend({ activate: function() { $('BODY').addClass('container-farm'); @@ -24,7 +25,7 @@ export default Ember.Route.extend({ if (resp.status >= 200 && resp.status < 300) { return resp.body; } else { - return Ember.RSVP.reject(); + return reject(); } }); diff --git a/app/volume/controller.js b/app/volume/controller.js index 9435cdbb2..fc1205bcd 100644 --- a/app/volume/controller.js +++ b/app/volume/controller.js @@ -1,21 +1,23 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { alias } from '@ember/object/computed'; +import Controller from '@ember/controller'; import Util from 'ui/utils/util'; import { volumes as VolumeHeaders } from 'shared/headers'; const headers = VolumeHeaders; -export default Ember.Controller.extend({ +export default Controller.extend({ queryParams: ['type'], - stack: Ember.computed.alias('model.stack'), - host: Ember.computed.alias('model.host'), - volume: Ember.computed.alias('model.volume'), + stack: alias('model.stack'), + host: alias('model.host'), + volume: alias('model.volume'), - sizeGB: Ember.computed('volume.sizeMb', function() { + sizeGB: computed('volume.sizeMb', function() { let sizeOut = Util.formatGB(this.get('volume.sizeMb')); return sizeOut; }), - driverOpts: Ember.computed('volume.driverOpts', function() { + driverOpts: computed('volume.driverOpts', function() { if (this.get('volume.driverOpts')) { let out = []; let opts = this.get('volume.driverOpts') @@ -27,11 +29,11 @@ export default Ember.Controller.extend({ } return []; }), - dCount: Ember.computed('', function() { + dCount: computed('', function() { return this.get('volume.driverOpts.length') || 0; }), - vCount: Ember.computed('', function() { + vCount: computed('', function() { return this.get('volume.mounts.length') || 0; }), diff --git a/app/volume/route.js b/app/volume/route.js index 18e1a0e95..0665aa128 100644 --- a/app/volume/route.js +++ b/app/volume/route.js @@ -1,6 +1,7 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ queryParams: { type: { refreshModel: true @@ -8,7 +9,7 @@ export default Ember.Route.extend({ }, model: function(params) { - let out = Ember.Object.create({ + let out = EmberObject.create({ volume: this.get('store').getById(params.type, params.volume_id) }); diff --git a/app/volumes/index/controller.js b/app/volumes/index/controller.js index 882da98e2..21b29e760 100644 --- a/app/volumes/index/controller.js +++ b/app/volumes/index/controller.js @@ -1,16 +1,18 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller, { inject as controller } from '@ember/controller'; -export default Ember.Controller.extend({ - projectController: Ember.inject.controller('authenticated.project'), - projects: Ember.inject.service(), +export default Controller.extend({ + projectController: controller('authenticated.project'), + projects: service(), - tags: Ember.computed.alias('projectController.tags'), - simpleMode: Ember.computed.alias('projectController.simpleMode'), - groupTableBy: Ember.computed.alias('projectController.groupTableBy'), - showStack: Ember.computed.alias('projectController.showStack'), - emptyStacks: Ember.computed.alias('projectController.emptyStacks'), - expandedInstances: Ember.computed.alias('projectController.expandedInstances'), - preSorts: Ember.computed.alias('projectController.preSorts'), + tags: alias('projectController.tags'), + simpleMode: alias('projectController.simpleMode'), + groupTableBy: alias('projectController.groupTableBy'), + showStack: alias('projectController.showStack'), + emptyStacks: alias('projectController.emptyStacks'), + expandedInstances: alias('projectController.expandedInstances'), + preSorts: alias('projectController.preSorts'), queryParams: ['sortBy'], sortBy: 'name', diff --git a/app/volumes/index/route.js b/app/volumes/index/route.js index 6a62cac84..4ff5436f6 100644 --- a/app/volumes/index/route.js +++ b/app/volumes/index/route.js @@ -1,16 +1,18 @@ -import Ember from 'ember'; +import { on } from '@ember/object/evented'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; import C from 'ui/utils/constants'; -export default Ember.Route.extend({ +export default Route.extend({ model() { let store = this.get('store'); - return Ember.RSVP.hash({ + return hash({ volumes: store.findAll('volume'), volumeTemplates: store.findAll('volumetemplate'), }); }, - setDefaultRoute: Ember.on('activate', function() { + setDefaultRoute: on('activate', function() { this.set(`session.${C.SESSION.CONTAINER_ROUTE}`,'volumes'); }), }); diff --git a/app/volumes/new/controller.js b/app/volumes/new/controller.js index 6b8bb3712..9d306fe7b 100644 --- a/app/volumes/new/controller.js +++ b/app/volumes/new/controller.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ queryParams: ['volumeId','stackId','volumeTemplateId'], volumeId: null, volumeTemplateId: null, diff --git a/app/volumes/new/route.js b/app/volumes/new/route.js index bd90f99ad..22de0cc52 100644 --- a/app/volumes/new/route.js +++ b/app/volumes/new/route.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { hash } from 'rsvp'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function(params/*, transition*/) { var store = this.get('store'); @@ -17,7 +19,7 @@ export default Ember.Route.extend({ dependencies['volumeTemplate'] = store.find('volumeTemplate', params.volumeTemplateId); } - return Ember.RSVP.hash(dependencies, 'Load dependencies').then((results) => { + return hash(dependencies, 'Load dependencies').then((results) => { let out; let scope = 'global'; if ( results.hasOwnProperty('volume') ) { @@ -44,7 +46,7 @@ export default Ember.Route.extend({ stack = results.stacks.findBy('id', out.stackId); } - return Ember.Object.create({ + return EmberObject.create({ scope: scope, config: out, stack: stack, diff --git a/lib/global-admin/addon/controllers/accounts/index.js b/lib/global-admin/addon/controllers/accounts/index.js index 12bd6b37b..7c817fc66 100644 --- a/lib/global-admin/addon/controllers/accounts/index.js +++ b/lib/global-admin/addon/controllers/accounts/index.js @@ -1,12 +1,14 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; import FilterState from 'ui/mixins/filter-state'; const showKinds = ['user','admin']; -export default Ember.Controller.extend(FilterState, { - access: Ember.inject.service(), +export default Controller.extend(FilterState, { + access: service(), sortBy: 'name', - headers: Ember.computed('isLocal', function() { + headers: computed('isLocal', function() { let out = [ { translationKey: 'generic.state', diff --git a/lib/global-admin/addon/controllers/accounts/new/new.js b/lib/global-admin/addon/controllers/accounts/new/new.js index 3ed835aa8..67073d048 100644 --- a/lib/global-admin/addon/controllers/accounts/new/new.js +++ b/lib/global-admin/addon/controllers/accounts/new/new.js @@ -1,11 +1,14 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import { alias } from '@ember/object/computed'; +import Controller from '@ember/controller'; import NewOrEdit from 'ui/mixins/new-or-edit'; import C from 'ui/utils/constants'; -export default Ember.Controller.extend(NewOrEdit, { - primaryResource: Ember.computed.alias('model.account'), - settings: Ember.inject.service(), - intl: Ember.inject.service(), +export default Controller.extend(NewOrEdit, { + primaryResource: alias('model.account'), + settings: service(), + intl: service(), actions: { cancel() { @@ -13,7 +16,7 @@ export default Ember.Controller.extend(NewOrEdit, { }, }, - validateDescription: Ember.computed(function() { + validateDescription: computed(function() { return this.get('settings').get(C.SETTING.AUTH_LOCAL_VALIDATE_DESC) || null; }), diff --git a/lib/global-admin/addon/initializers/app.js b/lib/global-admin/addon/initializers/app.js index 1f86c719c..281913411 100644 --- a/lib/global-admin/addon/initializers/app.js +++ b/lib/global-admin/addon/initializers/app.js @@ -1,9 +1,9 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; import config from '../config/environment'; export function initialize(application) { // Inject the contents of ENV.APP in config/environment.js into all the things as an 'app' property - let app = Ember.Object.extend(config.APP); + let app = EmberObject.extend(config.APP); application.register('config:app', app); application.inject('controller','app', 'config:app'); diff --git a/lib/global-admin/addon/routes/accounts/new/new.js b/lib/global-admin/addon/routes/accounts/new/new.js index c84aced0b..ba72288e8 100644 --- a/lib/global-admin/addon/routes/accounts/new/new.js +++ b/lib/global-admin/addon/routes/accounts/new/new.js @@ -1,13 +1,14 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default Route.extend({ model: function() { var account = this.get('userStore').createRecord({type: 'account', kind: 'user'}); var credential = this.get('userStore').createRecord({type: 'password'}); return this.get('userStore').findAll('credential').then((credentials) => { return this.get('userStore').findAll('account').then((accounts) => { - return Ember.Object.create({ + return EmberObject.create({ account: account, accounts: accounts, credential: credential, diff --git a/lib/global-admin/addon/routes/application.js b/lib/global-admin/addon/routes/application.js index 3fa34600d..af680a662 100644 --- a/lib/global-admin/addon/routes/application.js +++ b/lib/global-admin/addon/routes/application.js @@ -1,24 +1,29 @@ +import $ from 'jquery'; +import EmberObject from '@ember/object'; +import { Promise as EmberPromise } from 'rsvp'; +import { cancel, next, scheduleOnce } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; import C from 'shared/utils/constants'; -import Ember from 'ember'; import Errors from 'shared/utils/errors'; import PromiseToCb from 'ui/mixins/promise-to-cb'; import Subscribe from 'ui/mixins/subscribe'; import { xhrConcur } from 'shared/utils/platform'; -export default Ember.Route.extend(Subscribe, PromiseToCb, { - prefs: Ember.inject.service(), - projects: Ember.inject.service(), - settings: Ember.inject.service(), - access: Ember.inject.service(), - session: Ember.inject.service(), - userStore: Ember.inject.service('user-store'), - language: Ember.inject.service('user-language'), - userTheme : Ember.inject.service('user-theme'), +export default Route.extend(Subscribe, PromiseToCb, { + prefs: service(), + projects: service(), + settings: service(), + access: service(), + session: service(), + userStore: service('user-store'), + language: service('user-language'), + userTheme : service('user-theme'), actions: { loading(transition) { this.incrementProperty('loadingId'); let id = this.get('loadingId'); - Ember.run.cancel(this.get('hideTimer')); + cancel(this.get('hideTimer')); if ( !this.get('loadingShown') ) { this.set('loadingShown', true); @@ -42,11 +47,11 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { if ( this.get('loadingId') === id ) { if ( transition.isAborted ) { //console.log('Loading aborted', id, this.get('loadingId')); - this.set('hideTimer', Ember.run.next(hide)); + this.set('hideTimer', next(hide)); } else { //console.log('Loading finished', id, this.get('loadingId')); //needed to set this to run after render as there was wierdness wiht new register page - Ember.run.scheduleOnce('afterRender', () => { + scheduleOnce('afterRender', () => { hide(); }); } @@ -81,7 +86,7 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { this.get('session').set(C.SESSION.BACK_TO, undefined); - let promise = new Ember.RSVP.Promise((resolve, reject) => { + let promise = new EmberPromise((resolve, reject) => { let tasks = { userSchemas: this.toCb('loadUserSchemas'), clusters: this.toCb('loadClusters'), @@ -106,7 +111,7 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { return promise.then((hash) => { return hash; }).catch((err) => { - return this.loadingError(err, transition, Ember.Object.create({ + return this.loadingError(err, transition, EmberObject.create({ projects: [], project: null, })); @@ -142,7 +147,7 @@ export default Ember.Route.extend(Subscribe, PromiseToCb, { this.get('userTheme').setupTheme(); if (this.get(`prefs.${C.PREFS.I_HATE_SPINNERS}`)) { - Ember.$('BODY').addClass('i-hate-spinners'); + $('BODY').addClass('i-hate-spinners'); } return res; diff --git a/lib/login/addon/components/caas-login/component.js b/lib/login/addon/components/caas-login/component.js index 6647728cd..0b47bfc45 100644 --- a/lib/login/addon/components/caas-login/component.js +++ b/lib/login/addon/components/caas-login/component.js @@ -1,11 +1,15 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import { on } from '@ember/object/evented'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import fetch from 'ember-api-store/utils/fetch'; -export default Ember.Component.extend({ - intl: Ember.inject.service(), +export default Component.extend({ + intl: service(), classNames: ['caas-login', 'text-left'], - showReset: Ember.computed.alias('promptReset'), + showReset: alias('promptReset'), userEmail: null, passwordResetSent: false, showSuccess: false, @@ -46,7 +50,7 @@ export default Ember.Component.extend({ } } }, - emailObsv: Ember.on('init', Ember.observer('userEmail', function() { + emailObsv: on('init', observer('userEmail', function() { if (this.get('userEmail')) { this.set('errMsg', null); this.set('saveDisabled', false); diff --git a/lib/login/addon/components/login-github/component.js b/lib/login/addon/components/login-github/component.js index aa0d6cb7f..8adff3b1e 100644 --- a/lib/login/addon/components/login-github/component.js +++ b/lib/login/addon/components/login-github/component.js @@ -1,12 +1,14 @@ -import Ember from 'ember'; +import { later } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; -export default Ember.Component.extend({ - github: Ember.inject.service(), +export default Component.extend({ + github: service(), actions: { authenticate() { this.sendAction('action'); - Ember.run.later(() => { + later(() => { this.get('github').authorizeRedirect(); }, 10); } diff --git a/lib/login/addon/components/login-shibboleth/component.js b/lib/login/addon/components/login-shibboleth/component.js index 21bb88b3c..e14bf983a 100644 --- a/lib/login/addon/components/login-shibboleth/component.js +++ b/lib/login/addon/components/login-shibboleth/component.js @@ -1,8 +1,10 @@ -import Ember from 'ember'; +import { later } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ redirectUrl: null, - shibbolethAuth: Ember.inject.service(), + shibbolethAuth: service(), outRoute: null, init: function() { this._super(...arguments); @@ -11,7 +13,7 @@ export default Ember.Component.extend({ actions: { authenticate() { this.sendAction('action'); - Ember.run.later(() => { + later(() => { this.authShibboleth(); }, 10); } diff --git a/lib/login/addon/components/login-user-pass/component.js b/lib/login/addon/components/login-user-pass/component.js index e259662e9..a533eb053 100644 --- a/lib/login/addon/components/login-user-pass/component.js +++ b/lib/login/addon/components/login-user-pass/component.js @@ -1,8 +1,10 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; -export default Ember.Component.extend({ - access: Ember.inject.service(), - isCaas: Ember.computed('app.mode', function() { +export default Component.extend({ + access: service(), + isCaas: computed('app.mode', function() { return this.get('app.mode') === 'caas' ? true : false; }), waiting: null, diff --git a/lib/login/addon/controllers/login.js b/lib/login/addon/controllers/login.js index 2680a249a..e89f239a6 100644 --- a/lib/login/addon/controllers/login.js +++ b/lib/login/addon/controllers/login.js @@ -1,28 +1,33 @@ -import Ember from 'ember'; +import $ from 'jquery'; +import { later, schedule } from '@ember/runloop'; +import { computed } from '@ember/object'; +import { equal, alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ +export default Controller.extend({ queryParams : ['timedOut','errorMsg', 'resetPassword', 'errorCode'], - access : Ember.inject.service(), - settings : Ember.inject.service(), - intl : Ember.inject.service(), + access : service(), + settings : service(), + intl : service(), - isGithub : Ember.computed.equal('access.provider', 'githubconfig'), - isActiveDirectory : Ember.computed.equal('access.provider', 'ldapconfig'), - isOpenLdap : Ember.computed.equal('access.provider', 'openldapconfig'), - isLocal : Ember.computed.equal('access.provider', 'localauthconfig'), - isAzureAd : Ember.computed.equal('access.provider', 'azureadconfig'), - isShibboleth : Ember.computed.equal('access.provider', 'shibbolethconfig'), - isCaas : Ember.computed('app.mode', function() { + isGithub : equal('access.provider', 'githubconfig'), + isActiveDirectory : equal('access.provider', 'ldapconfig'), + isOpenLdap : equal('access.provider', 'openldapconfig'), + isLocal : equal('access.provider', 'localauthconfig'), + isAzureAd : equal('access.provider', 'azureadconfig'), + isShibboleth : equal('access.provider', 'shibbolethconfig'), + isCaas : computed('app.mode', function() { return this.get('app.mode') === 'caas' ? true : false; }), - promptPasswordReset: Ember.computed.alias('resetPassword'), + promptPasswordReset: alias('resetPassword'), timedOut : false, waiting : false, errorMsg : null, errorCode : null, resetPassword : false, - isForbidden : Ember.computed.equal('errorCode', '403'), + isForbidden : equal('errorCode', '403'), actions: { started() { @@ -36,7 +41,7 @@ export default Ember.Controller.extend({ authenticate(code) { this.send('started'); - Ember.run.later(() => { + later(() => { this.get('access').login(code).then(() => { this.send('finishLogin'); }).catch((err) => { @@ -55,9 +60,9 @@ export default Ember.Controller.extend({ }, bootstrap: function() { - Ember.run.schedule('afterRender', this, () => { - var user = Ember.$('.login-user')[0]; - var pass = Ember.$('.login-pass')[0]; + schedule('afterRender', this, () => { + var user = $('.login-user')[0]; + var pass = $('.login-pass')[0]; if ( user ) { if ( user.value ) diff --git a/lib/login/addon/routes/login.js b/lib/login/addon/routes/login.js index cd8adca10..591ae4f30 100644 --- a/lib/login/addon/routes/login.js +++ b/lib/login/addon/routes/login.js @@ -1,8 +1,9 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ - access: Ember.inject.service(), - language: Ember.inject.service('user-language'), +export default Route.extend({ + access: service(), + language: service('user-language'), activate: function() { $('BODY').addClass('container-farm'); }, diff --git a/lib/shared/addon/access/service.js b/lib/shared/addon/access/service.js index 8770dbb9f..44b8fae7c 100644 --- a/lib/shared/addon/access/service.js +++ b/lib/shared/addon/access/service.js @@ -1,13 +1,16 @@ -import Ember from 'ember'; +import { resolve, reject } from 'rsvp'; +import { observer } from '@ember/object'; +import { on } from '@ember/object/evented'; +import Service, { inject as service } from '@ember/service'; import C from 'shared/utils/constants'; -export default Ember.Service.extend({ - cookies: Ember.inject.service(), - session: Ember.inject.service(), - github: Ember.inject.service(), - shibbolethAuth: Ember.inject.service(), - store: Ember.inject.service(), - userStore: Ember.inject.service('user-store'), +export default Service.extend({ + cookies: service(), + session: service(), + github: service(), + shibbolethAuth: service(), + store: service(), + userStore: service('user-store'), token: null, loadedVersion: null, @@ -24,7 +27,7 @@ export default Ember.Service.extend({ // The identity from the session isn't an actual identity model... identity: null, - identityObsvr: Ember.on('init', Ember.observer(`session.${C.SESSION.IDENTITY}`, function() { + identityObsvr: on('init', observer(`session.${C.SESSION.IDENTITY}`, function() { var obj = this.get(`session.${C.SESSION.IDENTITY}`) || {}; obj.type = 'identity'; this.set('identity', this.get('userStore').createRecord(obj)); @@ -45,16 +48,16 @@ export default Ember.Service.extend({ } // Auth token still good - return Ember.RSVP.resolve('Auth Succeeded'); + return resolve('Auth Succeeded'); }, (/* err */) => { // Auth token expired - return Ember.RSVP.reject('Auth Failed'); + return reject('Auth Failed'); }); }, detect() { if ( this.get('enabled') !== null ) { - return Ember.RSVP.resolve(); + return resolve(); } return this.get('userStore').rawRequest({ @@ -79,13 +82,13 @@ export default Ember.Service.extend({ this.clearSessionKeys(); } - return Ember.RSVP.resolve(undefined,'API supports authentication'+(token.security ? '' : ', but is not enabled')); + return resolve(undefined,'API supports authentication'+(token.security ? '' : ', but is not enabled')); }) .catch((err) => { // Otherwise this API is too old to do auth. this.set('enabled', false); this.set('app.initError', err); - return Ember.RSVP.resolve(undefined,'Error determining API authentication'); + return resolve(undefined,'Error determining API authentication'); }); }, @@ -131,7 +134,7 @@ export default Ember.Service.extend({ } catch(e) { err = {type: 'error', message: 'Error logging in'}; } - return Ember.RSVP.reject(err); + return reject(err); }); }, diff --git a/lib/shared/addon/all-containers/service.js b/lib/shared/addon/all-containers/service.js index 71e8f2c36..dd65aa177 100644 --- a/lib/shared/addon/all-containers/service.js +++ b/lib/shared/addon/all-containers/service.js @@ -1,9 +1,9 @@ -import Ember from 'ember'; +import Service, { inject as service } from '@ember/service'; -export default Ember.Service.extend({ - intl: Ember.inject.service(), - store: Ember.inject.service(), - prefs: Ember.inject.service(), +export default Service.extend({ + intl: service(), + store: service(), + prefs: service(), list: function() { let intl = this.get('intl'); diff --git a/lib/shared/addon/all-services/service.js b/lib/shared/addon/all-services/service.js index a37a5464a..20c4d1b61 100644 --- a/lib/shared/addon/all-services/service.js +++ b/lib/shared/addon/all-services/service.js @@ -1,9 +1,10 @@ -import Ember from 'ember'; +import { get } from '@ember/object'; +import Service, { inject as service } from '@ember/service'; -export default Ember.Service.extend({ - intl: Ember.inject.service(), - store: Ember.inject.service(), - prefs: Ember.inject.service(), +export default Service.extend({ + intl: service(), + store: service(), + prefs: service(), list: function() { let intl = this.get('intl'); @@ -62,7 +63,7 @@ export default Ember.Service.extend({ matching(serviceOrCombinedName, defaultStackObj) { if ( defaultStackObj && typeof defaultStackObj === 'object' ) { - defaultStackObj = Ember.get(defaultStackObj,'name'); + defaultStackObj = get(defaultStackObj,'name'); } let combined; diff --git a/lib/shared/addon/bulk-action-handler/service.js b/lib/shared/addon/bulk-action-handler/service.js index c469844f5..eb3d060e8 100644 --- a/lib/shared/addon/bulk-action-handler/service.js +++ b/lib/shared/addon/bulk-action-handler/service.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Service, { inject as service } from '@ember/service'; -export default Ember.Service.extend({ - modalService: Ember.inject.service('modal'), +export default Service.extend({ + modalService: service('modal'), promptStop: function(nodes) { this.get('modalService').toggleModal('modal-container-stop', { model: nodes diff --git a/lib/shared/addon/catalog/service.js b/lib/shared/addon/catalog/service.js index 8b93e0476..b64395bc7 100644 --- a/lib/shared/addon/catalog/service.js +++ b/lib/shared/addon/catalog/service.js @@ -1,19 +1,21 @@ -import Ember from 'ember'; +import { resolve, reject } from 'rsvp'; +import EmberObject, { computed } from '@ember/object'; +import Service, { inject as service } from '@ember/service'; import { addQueryParams, uniqKeys } from 'shared/utils/util'; import C from 'shared/utils/constants'; const RANCHER_VERSION = 'rancherVersion'; -export default Ember.Service.extend({ - settings: Ember.inject.service(), - store: Ember.inject.service('store'), - userStore: Ember.inject.service('user-store'), - projects: Ember.inject.service(), +export default Service.extend({ + settings: service(), + store: service('store'), + userStore: service('user-store'), + projects: service(), templateCache: null, catalogs: null, - templateBase: Ember.computed('projects.current.orchestration', function() { + templateBase: computed('projects.current.orchestration', function() { return this.get('projects.current.orchestration') || ''; }), @@ -67,7 +69,7 @@ export default Ember.Service.extend({ } if ( cached ) { - return Ember.RSVP.resolve(cached); + return resolve(cached); } let url = this._addLimits(`${this.get('app.catalogEndpoint')}/${type}/${id}`); @@ -98,7 +100,7 @@ export default Ember.Service.extend({ // If the catalogIds dont match we need to go get the other catalog from the store since we do not cache all catalogs if ( cache && cache.catalogId === catalogId) { - return Ember.RSVP.resolve(this.filter(cache, params.category, templateBase, plusInfra)); + return resolve(this.filter(cache, params.category, templateBase, plusInfra)); } let url = this._addLimits(`${this.get('app.catalogEndpoint')}/templates`, qp); @@ -110,7 +112,7 @@ export default Ember.Service.extend({ if ( params.allowFailure ) { return this.filter([], params.category, templateBase, plusInfra); } else { - return Ember.RSVP.reject(err); + return reject(err); } }); }, @@ -156,7 +158,7 @@ export default Ember.Service.extend({ data = data.sortBy('name'); - return Ember.Object.create({ + return EmberObject.create({ categories: categories, catalog: data, templateBase: templateBase, diff --git a/lib/shared/addon/components/accordion-list-item/component.js b/lib/shared/addon/components/accordion-list-item/component.js index 8ff2a0e73..5eb49ffe1 100644 --- a/lib/shared/addon/components/accordion-list-item/component.js +++ b/lib/shared/addon/components/accordion-list-item/component.js @@ -1,5 +1,6 @@ +import { on } from '@ember/object/evented'; import Component from '@ember/component'; -import layout from './template.hbs' +import layout from './template' import { inject as service } from '@ember/service' import { observer } from '@ember/object' import { run } from '@ember/runloop'; @@ -78,7 +79,7 @@ export default Component.extend({ } }); }, - expdObserver: Ember.on('init', observer('expanded', function() { + expdObserver: on('init', observer('expanded', function() { if (this.get('expanded') && !this.get('intent')) { if (!this.get('everExpanded')) { this.set('everExpanded', true); @@ -89,7 +90,7 @@ export default Component.extend({ } })), - expandAllObserver: Ember.on('init', observer('expandAll', function() { + expandAllObserver: on('init', observer('expandAll', function() { var ea = this.get('expandAll'); if (ea) { this.set('expanded', true); diff --git a/lib/shared/addon/components/accordion-list/component.js b/lib/shared/addon/components/accordion-list/component.js index 6e2c8ed96..804132731 100644 --- a/lib/shared/addon/components/accordion-list/component.js +++ b/lib/shared/addon/components/accordion-list/component.js @@ -1,5 +1,5 @@ import Component from '@ember/component'; -import layout from './template.hbs' +import layout from './template' export default Component.extend({ layout, diff --git a/lib/shared/addon/components/add-host/component.js b/lib/shared/addon/components/add-host/component.js index d9e1b7067..9df12c493 100644 --- a/lib/shared/addon/components/add-host/component.js +++ b/lib/shared/addon/components/add-host/component.js @@ -1,3 +1,4 @@ +import { sort } from '@ember/object/computed'; import C from 'shared/utils/constants'; import Component from '@ember/component'; import layout from './template'; @@ -20,7 +21,7 @@ export default Component.extend({ goBack: null, sortBy: ['name'], - sortedDrivers: computed.sort('model.availableDrivers','sortBy'), + sortedDrivers: sort('model.availableDrivers','sortBy'), didReceiveAttrs() { if (this.get('driver')) { diff --git a/lib/shared/addon/components/catalog-index/component.js b/lib/shared/addon/components/catalog-index/component.js index b114559e4..e2c6380bf 100644 --- a/lib/shared/addon/components/catalog-index/component.js +++ b/lib/shared/addon/components/catalog-index/component.js @@ -1,3 +1,4 @@ +import { alias } from '@ember/object/computed'; import C from 'shared/utils/constants'; import Component from '@ember/component'; import layout from './template'; @@ -11,8 +12,8 @@ export default Component.extend({ catalog: service(), settings: service(), projects: service(), - projectId: computed.alias(`tab-session.${C.TABSESSION.PROJECT}`), - categories: computed.alias('model.categories'), + projectId: alias(`tab-session.${C.TABSESSION.PROJECT}`), + categories: alias('model.categories'), modalService: service('modal'), search: '', parentRoute: null, diff --git a/lib/shared/addon/components/cloud-host-add-or-edit/component.js b/lib/shared/addon/components/cloud-host-add-or-edit/component.js index 2dea69b07..7abceddf5 100644 --- a/lib/shared/addon/components/cloud-host-add-or-edit/component.js +++ b/lib/shared/addon/components/cloud-host-add-or-edit/component.js @@ -1,3 +1,4 @@ +import { alias } from '@ember/object/computed'; import Component from '@ember/component'; import Driver from 'shared/mixins/host-driver'; import layout from './template'; @@ -8,9 +9,9 @@ export default Component.extend(Driver, { errors: null, host: null, clonedModel: null, - primaryResource: computed.alias('clonedModel'), + primaryResource: alias('clonedModel'), hostOptions: null, - labelResource: computed.alias('primaryResource'), + labelResource: alias('primaryResource'), didReceiveAttrs() { this._super(...arguments); diff --git a/lib/shared/addon/components/cluster-welcome/component.js b/lib/shared/addon/components/cluster-welcome/component.js index 6a52cedab..8a3e7560c 100644 --- a/lib/shared/addon/components/cluster-welcome/component.js +++ b/lib/shared/addon/components/cluster-welcome/component.js @@ -1,3 +1,4 @@ +import { alias, notEmpty } from '@ember/object/computed'; import Component from '@ember/component'; import layout from './template'; import { computed } from '@ember/object'; @@ -8,9 +9,9 @@ export default Component.extend({ projects: service(), settings: service(), - cluster: computed.alias('projects.currentCluster'), - canCreate: computed.notEmpty('cluster.registrationToken.hostCommand'), - canImport: computed.notEmpty('cluster.registrationToken.clusterCommand'), + cluster: alias('projects.currentCluster'), + canCreate: notEmpty('cluster.registrationToken.hostCommand'), + canImport: notEmpty('cluster.registrationToken.clusterCommand'), header: true, }); diff --git a/lib/shared/addon/components/columns-section/component.js b/lib/shared/addon/components/columns-section/component.js index 533a43913..1b488f239 100644 --- a/lib/shared/addon/components/columns-section/component.js +++ b/lib/shared/addon/components/columns-section/component.js @@ -1,13 +1,16 @@ +import { alias } from '@ember/object/computed'; import Component from '@ember/component'; import ThrottledResize from 'shared/mixins/throttled-resize'; import { computed } from '@ember/object'; import { run } from '@ember/runloop'; import { htmlSafe } from '@ember/string'; +import layout from './template'; const MIN_WIDTH = 260; // Minimum width of a column, including margin-right const COLUMN_MARGIN = 10; // this must match the rule in styles/pod.scss .pod-column export default Component.extend(ThrottledResize, { + layout, pods : null, // Override me with an array of content pods emptyMessage : null, @@ -18,7 +21,7 @@ export default Component.extend(ThrottledResize, { tagName : 'section', columnCount : 3, // Will be reset on didInsertElement and resize - podCount : computed.alias('pods.length'), + podCount : alias('pods.length'), lastIndex: computed('columnCount', function() { return this.get('columnCount')-1; diff --git a/lib/shared/addon/components/common-mark/component.js b/lib/shared/addon/components/common-mark/component.js index 5223d22de..039078321 100644 --- a/lib/shared/addon/components/common-mark/component.js +++ b/lib/shared/addon/components/common-mark/component.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ markdown: null, diff --git a/lib/shared/addon/components/confirm-delete/component.js b/lib/shared/addon/components/confirm-delete/component.js index 345365cdd..06b33ad25 100644 --- a/lib/shared/addon/components/confirm-delete/component.js +++ b/lib/shared/addon/components/confirm-delete/component.js @@ -1,13 +1,19 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import { alternateLabel } from 'ui/utils/platform'; import ModalBase from 'ui/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { + +export default Component.extend(ModalBase, { + layout, classNames: ['medium-modal'], - resources: Ember.computed.alias('modalService.modalOpts.resources'), + resources: alias('modalService.modalOpts.resources'), alternateLabel: alternateLabel, - settings: Ember.inject.service(), - intl: Ember.inject.service(), + settings: service(), + intl: service(), showProtip: function() { let show = this.get('modalService.modalOpts.showProtip'); @@ -33,7 +39,7 @@ export default Ember.Component.extend(ModalBase, { }, - isEnvironment: Ember.computed('resources', function() { + isEnvironment: computed('resources', function() { return !!this.get('resources').findBy('type','project'); }), diff --git a/lib/shared/addon/components/container-dot/component.js b/lib/shared/addon/components/container-dot/component.js index 0d9d72f69..2dbc2398e 100644 --- a/lib/shared/addon/components/container-dot/component.js +++ b/lib/shared/addon/components/container-dot/component.js @@ -1,15 +1,20 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import $ from 'jquery'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import { isMore } from 'ui/utils/platform'; +import layout from './template'; -export default Ember.Component.extend({ - resourceActions: Ember.inject.service('resource-actions'), - tooltipService: Ember.inject.service('tooltip'), +export default Component.extend({ + layout, + resourceActions: service('resource-actions'), + tooltipService: service('tooltip'), model: null, tagName: 'div', classNames: ['vertical-middle'], type: 'tooltip-action-menu', template: 'tooltip-container-dot', - router: Ember.inject.service(), + router: service(), click(event) { this.details(event); @@ -41,14 +46,14 @@ export default Ember.Component.extend({ this.get('resourceActions').set('open', true); this.get('tooltipService').set('openedViaContextClick', true); - Ember.$('.container-tooltip .more-actions').trigger('click'); + $('.container-tooltip .more-actions').trigger('click'); } else { this.get('resourceActions').show(this.get('model'), this.$(), null, {}); } }, - resourceActionsObserver: Ember.observer('resourceActions.open', function() { + resourceActionsObserver: observer('resourceActions.open', function() { if (this.get('tooltipService.openedViaContextClick')) { this.get('tooltipService').set('openedViaContextClick', false); } diff --git a/lib/shared/addon/components/container-dots/component.js b/lib/shared/addon/components/container-dots/component.js index 4072a57e2..a3755773d 100644 --- a/lib/shared/addon/components/container-dots/component.js +++ b/lib/shared/addon/components/container-dots/component.js @@ -1,10 +1,14 @@ -import Ember from 'ember'; +import { computed, observer } from '@ember/object'; +import { sort, alias } from '@ember/object/computed'; +import Component from '@ember/component'; import pagedArray from 'ember-cli-pagination/computed/paged-array'; -import { matches } from 'ui/components/sortable-table/component'; +import { matches } from 'shared/components/sortable-table/component'; +import layout from './template'; export const searchFields = ['displayName','id:prefix','displayState','image','displayIp:ip']; -export default Ember.Component.extend({ +export default Component.extend({ + layout, containers: null, searchText: null, groupByDeploymentUnit: false, @@ -22,8 +26,8 @@ export default Ember.Component.extend({ // ----- // Flow: containers -> arranged -> filtered -> pagedContent -> grouped // ----- - arranged: Ember.computed.sort('containers','sort'), - filtered: Ember.computed('arranged.[]','searchText', function() { + arranged: sort('containers','sort'), + filtered: computed('arranged.[]','searchText', function() { let out = this.get('arranged').slice(); let searchFields = this.get('searchFields'); let searchText = (this.get('searchText')||'').trim().toLowerCase(); @@ -54,11 +58,11 @@ export default Ember.Component.extend({ }), pagedContent: pagedArray('filtered', { - page: Ember.computed.alias("parent.page"), - perPage: Ember.computed.alias("parent.perPage") + page: alias("parent.page"), + perPage: alias("parent.perPage") }), - grouped: Ember.computed('pagedContent.[].deploymentUnitUuid', function() { + grouped: computed('pagedContent.[].deploymentUnitUuid', function() { let map = {}; this.get('pagedContent').forEach((inst) => { let du = inst.get('deploymentUnitUuid'); @@ -74,17 +78,17 @@ export default Ember.Component.extend({ return Object.values(map); }), - indexFrom: Ember.computed('page','perPage', function() { + indexFrom: computed('page','perPage', function() { var current = this.get('page'); var perPage = this.get('perPage'); return Math.max(0, 1 + perPage*(current-1)); }), - indexTo: Ember.computed('indexFrom','perPage','filtered.length', function() { + indexTo: computed('indexFrom','perPage','filtered.length', function() { return Math.min(this.get('filtered.length'), this.get('indexFrom') + this.get('perPage') - 1); }), - pageCountChanged: Ember.observer('indexFrom', 'filtered.length', function() { + pageCountChanged: observer('indexFrom', 'filtered.length', function() { // Go to the last page if we end up past the last page let from = this.get('indexFrom'); let last = this.get('filtered.length'); diff --git a/lib/shared/addon/components/container-logs/component.js b/lib/shared/addon/components/container-logs/component.js index 321d7adf3..42c6adb21 100644 --- a/lib/shared/addon/components/container-logs/component.js +++ b/lib/shared/addon/components/container-logs/component.js @@ -1,7 +1,10 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import { alias, equal } from '@ember/object/computed'; +import Component from '@ember/component'; import ThrottledResize from 'shared/mixins/throttled-resize'; import Util from 'ui/utils/util'; import { alternateLabel } from 'ui/utils/platform'; +import layout from './template'; import AnsiUp from 'npm:ansi_up'; var typeClass = { @@ -10,7 +13,8 @@ var typeClass = { 2: 'log-stderr', }; -export default Ember.Component.extend(ThrottledResize, { +export default Component.extend(ThrottledResize, { + layout, instance: null, alternateLabel: alternateLabel, showProtip: true, @@ -20,11 +24,11 @@ export default Ember.Component.extend(ThrottledResize, { logHeight: 300, - onlyCombinedLog: Ember.computed.alias('instance.tty'), + onlyCombinedLog: alias('instance.tty'), which: 'combined', - isCombined: Ember.computed.equal('which','combined'), - isStdOut: Ember.computed.equal('which','stdout'), - isStdErr: Ember.computed.equal('which','stderr'), + isCombined: equal('which','combined'), + isStdOut: equal('which','stdout'), + isStdErr: equal('which','stderr'), stdErrVisible: true, stdOutVisible: true, @@ -55,7 +59,7 @@ export default Ember.Component.extend(ThrottledResize, { this.set('which',which); this.set('stdErrVisible', (which === 'combined' || which === 'stderr') ); this.set('stdOutVisible', (which === 'combined' || which === 'stdout') ); - Ember.run.next(this, function() { + next(this, function() { this.send('scrollToBottom'); }); }, @@ -63,7 +67,7 @@ export default Ember.Component.extend(ThrottledResize, { didInsertElement: function() { this._super(); - Ember.run.next(this, 'exec'); + next(this, 'exec'); }, exec: function() { @@ -128,7 +132,7 @@ export default Ember.Component.extend(ThrottledResize, { if ( isFollow ) { - Ember.run.next(() => { + next(() => { this.send('scrollToBottom'); }); } diff --git a/lib/shared/addon/components/container-row/component.js b/lib/shared/addon/components/container-row/component.js index 02867710e..5b861583c 100644 --- a/lib/shared/addon/components/container-row/component.js +++ b/lib/shared/addon/components/container-row/component.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; -export default Ember.Component.extend({ - projects: Ember.inject.service(), - session: Ember.inject.service(), +export default Component.extend({ + layout, + projects: service(), + session: service(), model: null, showStats: false, diff --git a/lib/shared/addon/components/container-shell/component.js b/lib/shared/addon/components/container-shell/component.js index 8eab88f8c..a30a7464e 100644 --- a/lib/shared/addon/components/container-shell/component.js +++ b/lib/shared/addon/components/container-shell/component.js @@ -3,10 +3,13 @@ import { alternateLabel } from 'ui/utils/platform'; import ThrottledResize from 'shared/mixins/throttled-resize'; import Terminal from 'npm:xterm'; import { proposeGeometry } from 'ui/utils/xterm-fit-addon'; +import { next } from '@ember/runloop'; +import layout from './template'; const DEFAULT_COMMAND = ["/bin/sh","-c",'TERM=xterm-256color; export TERM; [ -x /bin/bash ] && ([ -x /usr/bin/script ] && /usr/bin/script -q -c "/bin/bash" /dev/null || exec /bin/bash) || exec /bin/sh']; export default Ember.Component.extend(ThrottledResize, { + layout, instance: null, command: null, cols: 80, @@ -47,7 +50,7 @@ export default Ember.Component.extend(ThrottledResize, { didInsertElement: function() { this._super(); - Ember.run.next(this, 'exec'); + next(this, 'exec'); }, exec: function() { diff --git a/lib/shared/addon/components/container-subpod/component.js b/lib/shared/addon/components/container-subpod/component.js index 981928931..334dd68e1 100644 --- a/lib/shared/addon/components/container-subpod/component.js +++ b/lib/shared/addon/components/container-subpod/component.js @@ -1,8 +1,10 @@ -import Ember from 'ember'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; import StrippedName from 'shared/mixins/stripped-name'; +import layout from './template'; -export default Ember.Component.extend(StrippedName, { +export default Component.extend(StrippedName, { + layout, model: null, children: null, groupHasChildren: false, diff --git a/lib/shared/addon/components/container-table/component.js b/lib/shared/addon/components/container-table/component.js index dbb17e9e5..b584595ff 100644 --- a/lib/shared/addon/components/container-table/component.js +++ b/lib/shared/addon/components/container-table/component.js @@ -1,4 +1,6 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; export const headersAll = [ { @@ -25,8 +27,9 @@ export const headersWithHost = headersAll.filter((x) => x.name !== 'stats'); export const headersWithoutHost = headersWithHost.filter((x) => x.name !== 'hostName'); export const headersWithStats = headersAll.filter((x) => x.name !== 'hostName'); -export default Ember.Component.extend({ - prefs: Ember.inject.service(), +export default Component.extend({ + layout, + prefs: service(), stickyHeader: true, diff --git a/lib/shared/addon/components/container/form-command/component.js b/lib/shared/addon/components/container/form-command/component.js index 36f782364..419b7a45e 100644 --- a/lib/shared/addon/components/container/form-command/component.js +++ b/lib/shared/addon/components/container/form-command/component.js @@ -1,7 +1,15 @@ -import Ember from 'ember'; +import { isEmpty } from '@ember/utils'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; -import ManageLabels from 'ui/mixins/manage-labels'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import ManageLabels from 'shared/mixins/manage-labels'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; const STOP_TIMEOUT = 10; const STOP_SIGNALS = [ @@ -51,7 +59,8 @@ const LOG_DRIVERS = [ 'syslog', ]; -export default Ember.Component.extend(ManageLabels, { +export default Component.extend(ManageLabels, { + layout, // Inputs instance: null, errors: null, @@ -60,7 +69,7 @@ export default Ember.Component.extend(ManageLabels, { stopSignals: STOP_SIGNALS, customStopSet: false, - intl: Ember.inject.service(), + intl: service(), init() { this._super(...arguments); @@ -227,7 +236,7 @@ export default Ember.Component.extend(ManageLabels, { logDriverChoices: LOG_DRIVERS, - stopOrCustom: Ember.computed({ + stopOrCustom: computed({ get(/* key */) { return this.get('instance.stopSignal'); }, @@ -243,8 +252,8 @@ export default Ember.Component.extend(ManageLabels, { } }), - hasLogConfig: Ember.computed('instance.logConfig.config', function() { - return Ember.isEmpty(this.get('instance.logConfig.config')); + hasLogConfig: computed('instance.logConfig.config', function() { + return isEmpty(this.get('instance.logConfig.config')); }), }); diff --git a/lib/shared/addon/components/container/form-container-links/component.js b/lib/shared/addon/components/container/form-container-links/component.js index 8dff8c7c7..f640f3bcf 100644 --- a/lib/shared/addon/components/container/form-container-links/component.js +++ b/lib/shared/addon/components/container/form-container-links/component.js @@ -1,6 +1,13 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ContainerChoices from 'ui/mixins/container-choices'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; const headers = [ { @@ -13,15 +20,16 @@ const headers = [ }, ]; -export default Ember.Component.extend(ContainerChoices, { - router: Ember.inject.service(), - growl: Ember.inject.service(), +export default Component.extend(ContainerChoices, { + layout, + router: service(), + growl: service(), // Inputs editing: null, instance: null, - linksArray: Ember.computed.alias('instance.instanceLinks'), + linksArray: alias('instance.instanceLinks'), tagName: '', errors: null, diff --git a/lib/shared/addon/components/container/form-image/component.js b/lib/shared/addon/components/container/form-image/component.js index 7387b0ff5..e4747dd32 100644 --- a/lib/shared/addon/components/container/form-image/component.js +++ b/lib/shared/addon/components/container/form-image/component.js @@ -1,11 +1,15 @@ -import Ember from 'ember'; +import { scheduleOnce } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; // Remember the last value and use that for new one var lastContainer = 'ubuntu:xenial'; var lastWindows = 'microsoft/nanoserver'; -export default Ember.Component.extend({ - projects: Ember.inject.service(), +export default Component.extend({ + layout, + projects: service(), // Inputs initialValue: null, @@ -41,7 +45,7 @@ export default Ember.Component.extend({ } } - Ember.run.scheduleOnce('afterRender', () => { + scheduleOnce('afterRender', () => { this.send('setInput', initial); this.userInputDidChange(); }); diff --git a/lib/shared/addon/components/container/form-networking/component.js b/lib/shared/addon/components/container/form-networking/component.js index ee8d2ae80..35bc2e345 100644 --- a/lib/shared/addon/components/container/form-networking/component.js +++ b/lib/shared/addon/components/container/form-networking/component.js @@ -1,14 +1,23 @@ -import Ember from 'ember'; +import { equal } from '@ember/object/computed'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ContainerChoices from 'ui/mixins/container-choices'; import ManageLabels from 'ui/mixins/manage-labels'; import C from 'ui/utils/constants'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; const UTS_HOST = 'host'; -export default Ember.Component.extend(ManageLabels, ContainerChoices,{ - projects: Ember.inject.service(), - settings: Ember.inject.service(), +export default Component.extend(ManageLabels, ContainerChoices,{ + layout, + projects: service(), + settings: service(), //Inputs instance: null, @@ -51,7 +60,7 @@ export default Ember.Component.extend(ManageLabels, ContainerChoices,{ }, }, - disableRetainIp: Ember.computed('isUpgrade', 'service.retainIp', 'retainWasSetOnInit', function() { + disableRetainIp: computed('isUpgrade', 'service.retainIp', 'retainWasSetOnInit', function() { let isUpgrade = this.get('isUpgrade'); let wasSet = this.get('retainWasSetOnInit'); if ( isUpgrade && wasSet ) { @@ -69,10 +78,10 @@ export default Ember.Component.extend(ManageLabels, ContainerChoices,{ // Network // ---------------------------------- networkChoices: null, - isContainerNetwork: Ember.computed.equal('instance.networkMode','container'), - isManagedNetwork: Ember.computed.equal('instance.networkMode','managed'), - isHostNetwork: Ember.computed.equal('instance.networkMode','host'), - isBridgeNetwork: Ember.computed.equal('instance.networkMode','bridge'), + isContainerNetwork: equal('instance.networkMode','container'), + isManagedNetwork: equal('instance.networkMode','managed'), + isHostNetwork: equal('instance.networkMode','host'), + isBridgeNetwork: equal('instance.networkMode','bridge'), initNetwork: function() { let mode = this.get('instance.networkMode') || 'managed'; diff --git a/lib/shared/addon/components/container/form-ports/component.js b/lib/shared/addon/components/container/form-ports/component.js index a5d2a2e43..025597a32 100644 --- a/lib/shared/addon/components/container/form-ports/component.js +++ b/lib/shared/addon/components/container/form-ports/component.js @@ -1,13 +1,17 @@ -import Ember from 'ember'; +import { next, scheduleOnce } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import { parsePortSpec } from 'ui/utils/parse-port'; +import layout from './template'; const protocolOptions = [ {label: 'TCP', value: 'tcp'}, {label: 'UDP', value: 'udp'} ]; -export default Ember.Component.extend({ - intl: Ember.inject.service(), +export default Component.extend({ + layout, + intl: service(), // The initial ports to show, as an array of objects initialPorts : null, @@ -37,7 +41,7 @@ export default Ember.Component.extend({ if ( value.bindAddress ) { - Ember.run.next(() => { this.send('showIp'); }); + next(() => { this.send('showIp'); }); } out.push({ @@ -56,7 +60,7 @@ export default Ember.Component.extend({ if ( parsed.hostIp ) { - Ember.run.next(() => { this.send('showIp'); }); + next(() => { this.send('showIp'); }); } out.push({ @@ -74,7 +78,7 @@ export default Ember.Component.extend({ }); } - Ember.run.scheduleOnce('afterRender', () => { + scheduleOnce('afterRender', () => { this.set('portsArray', out); this.portsArrayDidChange(); }); @@ -83,7 +87,7 @@ export default Ember.Component.extend({ actions: { addPort() { this.get('portsArray').pushObject({public: '', private: '', protocol: 'tcp'}); - Ember.run.next(() => { + next(() => { if ( this.isDestroyed || this.isDestroying ) { return; } diff --git a/lib/shared/addon/components/container/form-scale/component.js b/lib/shared/addon/components/container/form-scale/component.js index b47fb6029..211a2e795 100644 --- a/lib/shared/addon/components/container/form-scale/component.js +++ b/lib/shared/addon/components/container/form-scale/component.js @@ -1,8 +1,12 @@ -import Ember from 'ember'; +import { computed, observer } from '@ember/object'; +import { next } from '@ember/runloop'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; import ManageLabels from 'ui/mixins/manage-labels'; +import layout from './template'; -export default Ember.Component.extend(ManageLabels, { +export default Component.extend(ManageLabels, { + layout, initialLabel: null, initialScale: null, isService: null, @@ -25,7 +29,7 @@ export default Ember.Component.extend(ManageLabels, { var glb = this.getLabel(C.LABEL.SCHED_GLOBAL) === 'true'; let mode = this.get('mode'); if ( mode === 'service' && glb ) { - Ember.run.next(() => { + next(() => { this.set('mode', 'global'); }); } @@ -45,16 +49,16 @@ export default Ember.Component.extend(ManageLabels, { }, }, - asInteger: Ember.computed('userInput', function() { + asInteger: computed('userInput', function() { return parseInt(this.get('userInput'),10) || 0; }), - scaleChanged: Ember.observer('asInteger', function() { + scaleChanged: observer('asInteger', function() { let cur = this.get('asInteger'); this.sendAction('setScale', cur); }), - modeChanged: Ember.observer('mode', function() { + modeChanged: observer('mode', function() { var mode = this.get('mode'); if ( !mode ) { return; diff --git a/lib/shared/addon/components/container/form-scheduling/component.js b/lib/shared/addon/components/container/form-scheduling/component.js index b11c772aa..b60332856 100644 --- a/lib/shared/addon/components/container/form-scheduling/component.js +++ b/lib/shared/addon/components/container/form-scheduling/component.js @@ -1,9 +1,18 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { scheduleOnce } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ManageLabels from 'ui/mixins/manage-labels'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; -export default Ember.Component.extend(ManageLabels, { - intl: Ember.inject.service(), +export default Component.extend(ManageLabels, { + layout, + intl: service(), // Inputs // Global scale scheduling @@ -57,7 +66,7 @@ export default Ember.Component.extend(ManageLabels, { isRequestedHost: false, requestedHostId: null, }); - Ember.run.scheduleOnce('afterRender', () => { + scheduleOnce('afterRender', () => { this.sendAction('setRequestedHost', null); }); } @@ -99,7 +108,7 @@ export default Ember.Component.extend(ManageLabels, { this.sendAction('setRequestedHost', hostId); }.observes('requestedHostId'), - selectedChoice: Ember.computed('allHosts.@each.{id,name,state}', function() { + selectedChoice: computed('allHosts.@each.{id,name,state}', function() { return this.get('hostChoices').findBy('id', this.get('initialHostId')); }), diff --git a/lib/shared/addon/components/container/form-secrets/component.js b/lib/shared/addon/components/container/form-secrets/component.js index 28d10b73d..1feba88a2 100644 --- a/lib/shared/addon/components/container/form-secrets/component.js +++ b/lib/shared/addon/components/container/form-secrets/component.js @@ -1,18 +1,26 @@ -import Ember from 'ember'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { gte } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; const DEFAULT_UID = '0'; const DEFAULT_GID = '0'; const DEFAULT_MODE = '444'; -export default Ember.Component.extend({ - intl: Ember.inject.service(), +export default Component.extend({ + layout, + intl: service(), secrets: null, editing: false, showPermissions: false, allSecrets: null, - haveAny: Ember.computed.gte('allSecrets.length',1), + haveAny: gte('allSecrets.length',1), init: function() { this._super(...arguments); diff --git a/lib/shared/addon/components/container/form-security/component.js b/lib/shared/addon/components/container/form-security/component.js index 0f581683c..06475d563 100644 --- a/lib/shared/addon/components/container/form-security/component.js +++ b/lib/shared/addon/components/container/form-security/component.js @@ -1,9 +1,14 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import { next } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; import ManageLabels from 'shared/mixins/manage-labels'; +import layout from './template'; -export default Ember.Component.extend(ManageLabels, { - projects: Ember.inject.service(), +export default Component.extend(ManageLabels, { + layout, + projects: service(), classNames: ['accordion-wrapper'], @@ -210,10 +215,10 @@ export default Ember.Component.extend(ManageLabels, { }, memoryDidChange: function() { - Ember.run.next(this,'updateMemory'); + next(this,'updateMemory'); }.observes('memoryMb','memoryMode','swapMb','swapMode','swappinessMode','swappiness'), - memoryReservationChanged: Ember.observer('memoryReservationMb', function() { + memoryReservationChanged: observer('memoryReservationMb', function() { var mem = this.get('memoryReservationMb'); if ( isNaN(mem) || mem <= 0) { diff --git a/lib/shared/addon/components/container/form-service-links/component.js b/lib/shared/addon/components/container/form-service-links/component.js index ec54954a4..1c703ad1c 100644 --- a/lib/shared/addon/components/container/form-service-links/component.js +++ b/lib/shared/addon/components/container/form-service-links/component.js @@ -1,9 +1,16 @@ -import Ember from 'ember'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; -export default Ember.Component.extend({ - intl: Ember.inject.service(), - settings: Ember.inject.service(), +export default Component.extend({ + layout, + intl: service(), + settings: service(), // Inputs service : null, diff --git a/lib/shared/addon/components/container/form-upgrade/component.js b/lib/shared/addon/components/container/form-upgrade/component.js index 4102fe0b4..d6f277e94 100644 --- a/lib/shared/addon/components/container/form-upgrade/component.js +++ b/lib/shared/addon/components/container/form-upgrade/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, service: null, editing: null, isUpgrade: null, diff --git a/lib/shared/addon/components/container/form-volume-row/component.js b/lib/shared/addon/components/container/form-volume-row/component.js index e147e996b..e868ab5a7 100644 --- a/lib/shared/addon/components/container/form-volume-row/component.js +++ b/lib/shared/addon/components/container/form-volume-row/component.js @@ -1,7 +1,10 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ - modalService: Ember.inject.service('modal'), +export default Component.extend({ + layout, + modalService: service('modal'), requestedHostId: null, diff --git a/lib/shared/addon/components/container/form-volumes/component.js b/lib/shared/addon/components/container/form-volumes/component.js index e76675e16..540a7940c 100644 --- a/lib/shared/addon/components/container/form-volumes/component.js +++ b/lib/shared/addon/components/container/form-volumes/component.js @@ -1,6 +1,17 @@ -import Ember from 'ember'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; -import { parseVolumeSpec, stringifyVolumeSpec } from 'ui/utils/parse-volume'; +import { once } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import { + parseVolumeSpec, + stringifyVolumeSpec +} from 'ui/utils/parse-volume'; +import layout from './template'; + export const NEW_VOLUME = 'newVolume'; export const VOLUME = 'volume'; @@ -10,10 +21,11 @@ export const FROM_LAUNCH_CONFIG = 'volumesFromLaunchConfig'; export const TMPFS = 'tmpfs'; export const CUSTOM = 'custom'; -export default Ember.Component.extend({ - intl: Ember.inject.service(), - projects: Ember.inject.service(), - modalService: Ember.inject.service('modal'), +export default Component.extend({ + layout, + intl: service(), + projects: service(), + modalService: service('modal'), classNames: ['accordion-wrapper'], @@ -187,7 +199,7 @@ export default Ember.Component.extend({ }, shouldUpdate: function() { - Ember.run.once(this,'updateInstance'); + once(this,'updateInstance'); }.observes('volumesArray.@each.{volume,hostPath,mountPoint,launchConfig,str,opts}'), updateInstance() { diff --git a/lib/shared/addon/components/container/new-edit/component.js b/lib/shared/addon/components/container/new-edit/component.js index 40f96d976..1c26ad5cc 100644 --- a/lib/shared/addon/components/container/new-edit/component.js +++ b/lib/shared/addon/components/container/new-edit/component.js @@ -1,14 +1,20 @@ -import Ember from 'ember'; +import { equal } from '@ember/object/computed'; +import { next } from '@ember/runloop'; +import { resolve, reject, all } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; import { debouncedObserver } from 'ui/utils/debounce'; import C from 'ui/utils/constants'; import { flattenLabelArrays } from 'shared/mixins/manage-labels'; import Util from 'ui/utils/util'; +import layout from './template'; -export default Ember.Component.extend(NewOrEdit, { - intl: Ember.inject.service(), - prefs: Ember.inject.service(), - settings: Ember.inject.service(), +export default Component.extend(NewOrEdit, { + layout, + intl: service(), + prefs: service(), + settings: service(), tagName: 'form', @@ -292,7 +298,7 @@ export default Ember.Component.extend(NewOrEdit, { doSave() { let pr = this.get('primaryResource'); - let stackPromise = Ember.RSVP.resolve(); + let stackPromise = resolve(); if ( !this.get('isUpgrade') ) { // Set the stack ID if ( this.get('stack.id') ) { @@ -303,7 +309,7 @@ export default Ember.Component.extend(NewOrEdit, { }); } else { // This shouldn't happen since willSave checked it... - return Ember.RSVP.reject('No Stack'); + return reject('No Stack'); } } @@ -312,10 +318,10 @@ export default Ember.Component.extend(NewOrEdit, { return stackPromise.then(() => { let volumes = this.get('volumesToCreate'); - let volumesPromise = Ember.RSVP.resolve(); + let volumesPromise = resolve(); if ( volumes && volumes.get('length') ) { - volumesPromise = Ember.RSVP.all(volumes.map((volume) => { + volumesPromise = all(volumes.map((volume) => { volume.set('stackId', this.get('stack.id')); return volume.save(); })); @@ -330,7 +336,7 @@ export default Ember.Component.extend(NewOrEdit, { return sup.apply(self,arguments); } }); - }) + }); }, doneSaving() { @@ -368,7 +374,7 @@ export default Ember.Component.extend(NewOrEdit, { k += 'container'; } - Ember.run.next(() => { + next(() => { this.set('header', this.get('intl').t(k, args)); }); }.observes('isUpgrade','isService','isSidekick','isGlobal','service.displayName','intl.locale').on('init'), @@ -377,5 +383,5 @@ export default Ember.Component.extend(NewOrEdit, { return !!this.get('store').getById('schema','secret'); }.property(), - isSidekick: Ember.computed.equal('mode','sidekick'), + isSidekick: equal('mode','sidekick'), }); diff --git a/lib/shared/addon/components/container/scheduling-rule-row/component.js b/lib/shared/addon/components/container/scheduling-rule-row/component.js index 13209d543..40af129e3 100644 --- a/lib/shared/addon/components/container/scheduling-rule-row/component.js +++ b/lib/shared/addon/components/container/scheduling-rule-row/component.js @@ -1,5 +1,7 @@ -import Ember from 'ember'; +import { setProperties, computed } from '@ember/object'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; function splitEquals(str) { var idx = str.indexOf('='); @@ -34,7 +36,8 @@ function normalizedLabels(objects) { return out; } -export default Ember.Component.extend({ +export default Component.extend({ + layout, rule: null, instance: null, @@ -160,7 +163,7 @@ export default Ember.Component.extend({ key += this.get('suffix'); - Ember.setProperties(this.get('rule'),{ + setProperties(this.get('rule'),{ key: key, value: value }); @@ -183,7 +186,7 @@ export default Ember.Component.extend({ } }.observes('isGlobal'), - getSuffixLabel: Ember.computed('suffix', function() { + getSuffixLabel: computed('suffix', function() { let label = this.get('schedulingRuleSuffixChoices').findBy('value', this.get('suffix')).label; label = label.split('.'); return label[label.length -1]; diff --git a/lib/shared/addon/components/containers-header/component.js b/lib/shared/addon/components/containers-header/component.js index a1dc12ce2..b7a59579e 100644 --- a/lib/shared/addon/components/containers-header/component.js +++ b/lib/shared/addon/components/containers-header/component.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import { tagChoices } from 'ui/models/stack'; import { uniqKeys } from 'shared/utils/util'; +import layout from './template'; -export default Ember.Component.extend({ - projects: Ember.inject.service(), +export default Component.extend({ + layout, + projects: service(), tags: null, simpleMode: false, diff --git a/lib/shared/addon/components/copy-inline/component.js b/lib/shared/addon/components/copy-inline/component.js index 2306371da..c7260909d 100644 --- a/lib/shared/addon/components/copy-inline/component.js +++ b/lib/shared/addon/components/copy-inline/component.js @@ -1,10 +1,13 @@ -import Ember from 'ember'; +import { later } from '@ember/runloop'; +import Component from '@ember/component'; import { isSafari } from 'ui/utils/platform'; +import layout from './template'; const DELAY = 1000; const DEFAULT_TEXT = 'copyToClipboard.tooltip'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName : 'span', model : null, @@ -41,7 +44,7 @@ export default Ember.Component.extend({ model: {tooltipText: 'copyToClipboard.copied'} }); - Ember.run.later(() =>{ + later(() =>{ this.setProperties({ status: null, model: {tooltipText: orig} diff --git a/lib/shared/addon/components/copy-to-clipboard/component.js b/lib/shared/addon/components/copy-to-clipboard/component.js index 0ed839bb8..a8bf5c834 100644 --- a/lib/shared/addon/components/copy-to-clipboard/component.js +++ b/lib/shared/addon/components/copy-to-clipboard/component.js @@ -1,10 +1,14 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { later } from '@ember/runloop'; +import Component from '@ember/component'; import { isSafari } from 'ui/utils/platform'; +import layout from './template'; const DELAY = 1000; const DEFAULT_TEXT = 'copyToClipboard.tooltip'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName : 'span', model : null, @@ -41,7 +45,7 @@ export default Ember.Component.extend({ model: {tooltipText: 'copyToClipboard.copied'} }); - Ember.run.later(() =>{ + later(() =>{ this.setProperties({ status: null, model: {tooltipText: orig} @@ -50,7 +54,7 @@ export default Ember.Component.extend({ }, }, - buttonClasses: Ember.computed('status', function() { + buttonClasses: computed('status', function() { let status = this.get('status'); let out = 'btn bg-transparent'; diff --git a/lib/shared/addon/components/device-permissions/component.js b/lib/shared/addon/components/device-permissions/component.js index a0483be47..476bb8309 100644 --- a/lib/shared/addon/components/device-permissions/component.js +++ b/lib/shared/addon/components/device-permissions/component.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import { get, computed } from '@ember/object'; +import layout from './template'; -const { computed, get/*, set*/ } = Ember; - -export default Ember.Component.extend({ - intl: Ember.inject.service(), +export default Component.extend({ + layout, + intl: service(), rSelected: false, wSelected: false, @@ -71,7 +74,7 @@ export default Ember.Component.extend({ }), rebuild: function() { - Ember.run.next(() => { + next(() => { if (get(this, 'editing')) { this.$('SELECT').multiselect('setOptions', { nonSelectedText: get(this, 'intl').t('devicePermissions.none'), diff --git a/lib/shared/addon/components/empty-table/component.js b/lib/shared/addon/components/empty-table/component.js index 31381a787..dc62247e8 100644 --- a/lib/shared/addon/components/empty-table/component.js +++ b/lib/shared/addon/components/empty-table/component.js @@ -1,11 +1,15 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ - projects: Ember.inject.service(), +export default Component.extend({ + layout, + projects: service(), classNames: ['row border-dash'], showNew: true, ctx: 'projectId', - projectId: Ember.computed.alias('projects.current.id'), + projectId: alias('projects.current.id'), }); diff --git a/lib/shared/addon/components/env-catalog/component.js b/lib/shared/addon/components/env-catalog/component.js index 38378af20..35882666b 100644 --- a/lib/shared/addon/components/env-catalog/component.js +++ b/lib/shared/addon/components/env-catalog/component.js @@ -1,9 +1,15 @@ -import Ember from 'ember'; +import { allSettled } from 'rsvp'; +import { next } from '@ember/runloop'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; import Util from 'ui/utils/util'; +import layout from './template'; -export default Ember.Component.extend({ - catalog: Ember.inject.service(), +export default Component.extend({ + layout, + catalog: service(), project: null, catalogs: null, ary: null, @@ -36,7 +42,7 @@ export default Ember.Component.extend({ actions: { add() { - let obj = Ember.Object.create({ + let obj = EmberObject.create({ name: '', branch: C.CATALOG.DEFAULT_BRANCH, url: '', @@ -46,7 +52,7 @@ export default Ember.Component.extend({ this.get('ary').pushObject(obj); - Ember.run.next(() => { + next(() => { if ( this.isDestroyed || this.isDestroying ) { return; } @@ -101,7 +107,7 @@ export default Ember.Component.extend({ } }); - Ember.RSVP.allSettled(changes).then((settled) => { + allSettled(changes).then((settled) => { let errors = settled.filterBy('state', 'rejected'); if (errors.length) { let errOut = []; @@ -111,11 +117,11 @@ export default Ember.Component.extend({ this.set('errors',errOut.uniq()); cb(false); } else { - return Ember.run.next(() => { + return next(() => { return this.get('catalog').refresh().finally(() => { cb(true); this.sendAction('cancel'); - Ember.run.next(() => { + next(() => { // @TODO ugh... window.l('route:catalog-tab').send('refresh'); }); diff --git a/lib/shared/addon/components/environment-name/component.js b/lib/shared/addon/components/environment-name/component.js index 767ab0734..6ff50cdf5 100644 --- a/lib/shared/addon/components/environment-name/component.js +++ b/lib/shared/addon/components/environment-name/component.js @@ -1,8 +1,10 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; let notFound= {}; -export default Ember.Component.extend({ +export default Component.extend({ + layout, environmentId: null, loading: true, env: null, diff --git a/lib/shared/addon/components/field-required/component.js b/lib/shared/addon/components/field-required/component.js index d560b82d6..3534fc4c5 100644 --- a/lib/shared/addon/components/field-required/component.js +++ b/lib/shared/addon/components/field-required/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName: 'span', classNames: ['field-required'], }); diff --git a/lib/shared/addon/components/form-balancer-config/component.js b/lib/shared/addon/components/form-balancer-config/component.js index 9dd64e2f4..cf0734919 100644 --- a/lib/shared/addon/components/form-balancer-config/component.js +++ b/lib/shared/addon/components/form-balancer-config/component.js @@ -1,13 +1,21 @@ -import Ember from 'ember'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { empty } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; -export default Ember.Component.extend({ - intl: Ember.inject.service(), - settings: Ember.inject.service(), +export default Component.extend({ + layout, + intl: service(), + settings: service(), classNames: ['accordion-wrapper'], - isEmpty: Ember.computed.empty('service.lbConfig.config'), + isEmpty: empty('service.lbConfig.config'), statusClass: null, status: function() { diff --git a/lib/shared/addon/components/form-balancer-listeners/component.js b/lib/shared/addon/components/form-balancer-listeners/component.js index eb964f150..c175147c3 100644 --- a/lib/shared/addon/components/form-balancer-listeners/component.js +++ b/lib/shared/addon/components/form-balancer-listeners/component.js @@ -1,8 +1,13 @@ -import Ember from 'ember'; +import { once } from '@ember/runloop'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import { parsePortSpec } from 'ui/utils/parse-port'; +import layout from './template'; -export default Ember.Component.extend({ - intl: Ember.inject.service(), +export default Component.extend({ + layout, + intl: service(), service: null, @@ -44,7 +49,7 @@ export default Ember.Component.extend({ (this.get('service.launchConfig.ports')||[]).forEach((str) => { let parsed = parsePortSpec(str,'http'); - let obj = Ember.Object.create({ + let obj = EmberObject.create({ access: 'public', protocol: null, sourcePort: parsed.hostPort, @@ -56,7 +61,7 @@ export default Ember.Component.extend({ (this.get('service.launchConfig.expose')||[]).forEach((str) => { let parsed = parsePortSpec(str,'http'); - let obj = Ember.Object.create({ + let obj = EmberObject.create({ access: 'internal', protocol: null, sourcePort: parsed.hostPort, @@ -86,7 +91,7 @@ export default Ember.Component.extend({ }.on('init'), shouldFlattenAndValidate: function() { - Ember.run.once(this,'flattenAndValidate'); + once(this,'flattenAndValidate'); }.observes('ports.@each.{sourcePort,protocol,access,sourceIp,rules}'), flattenAndValidate() { @@ -192,7 +197,7 @@ export default Ember.Component.extend({ actions: { addPort() { - let port = Ember.Object.create({ + let port = EmberObject.create({ access: 'public', protocol: 'http', port: null, diff --git a/lib/shared/addon/components/form-balancer-rules/component.js b/lib/shared/addon/components/form-balancer-rules/component.js index b84504e20..e7c69efee 100644 --- a/lib/shared/addon/components/form-balancer-rules/component.js +++ b/lib/shared/addon/components/form-balancer-rules/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, rules: null, singleTarget: true, protocol: null, diff --git a/lib/shared/addon/components/form-count/component.js b/lib/shared/addon/components/form-count/component.js index 3511d8b61..96d79ebda 100644 --- a/lib/shared/addon/components/form-count/component.js +++ b/lib/shared/addon/components/form-count/component.js @@ -1,10 +1,13 @@ -import Ember from 'ember'; +import { computed, observer } from '@ember/object'; +import Component from '@ember/component'; +import layout from './template'; function newMax(val, curMax, absoluteMax) { return Math.min(absoluteMax, Math.max(curMax, Math.ceil(val/10)*10)); } -export default Ember.Component.extend({ +export default Component.extend({ + layout, initialScale: null, min: 1, max: 100, @@ -32,11 +35,11 @@ export default Ember.Component.extend({ }, }, - asInteger: Ember.computed('userInput', function() { + asInteger: computed('userInput', function() { return parseInt(this.get('userInput'),10) || 0; }), - scaleChanged: Ember.observer('asInteger', function() { + scaleChanged: observer('asInteger', function() { let cur = this.get('asInteger'); this.sendAction('setScale', cur); diff --git a/lib/shared/addon/components/form-engine-opts/component.js b/lib/shared/addon/components/form-engine-opts/component.js index 9009aa4f6..e8cf71523 100644 --- a/lib/shared/addon/components/form-engine-opts/component.js +++ b/lib/shared/addon/components/form-engine-opts/component.js @@ -1,10 +1,13 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, machine: null, - settings: Ember.inject.service(), - intl: Ember.inject.service(), + settings: service(), + intl: service(), showEngineUrl: null, didReceiveAttrs() { diff --git a/lib/shared/addon/components/form-env-var/component.js b/lib/shared/addon/components/form-env-var/component.js index 3d73cc72a..0e2ccec07 100644 --- a/lib/shared/addon/components/form-env-var/component.js +++ b/lib/shared/addon/components/form-env-var/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName: '', model: null, expandAll: null, diff --git a/lib/shared/addon/components/form-healthcheck/component.js b/lib/shared/addon/components/form-healthcheck/component.js index a4e420b48..b7cf924c7 100644 --- a/lib/shared/addon/components/form-healthcheck/component.js +++ b/lib/shared/addon/components/form-healthcheck/component.js @@ -1,6 +1,13 @@ -import Ember from 'ember'; -import { parseRequestLine } from 'ui/utils/parse-healthcheck'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { equal } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import { parseRequestLine } from 'shared/utils/parse-healthcheck'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; const NONE = 'none'; const TCP = 'tcp'; @@ -10,10 +17,11 @@ const METHOD_CHOICES = ['OPTIONS','GET','HEAD','POST','PUT','DELETE','TRACE','CO const HTTP_1_0 = 'HTTP/1.0'; const HTTP_1_1 = 'HTTP/1.1'; -export default Ember.Component.extend({ - projects: Ember.inject.service(), - intl: Ember.inject.service(), - settings: Ember.inject.service(), +export default Component.extend({ + layout, + projects: service(), + intl: service(), + settings: service(), // Inputs healthCheck: null, @@ -32,7 +40,7 @@ export default Ember.Component.extend({ uriVersion: null, checkType: null, uriHost: null, - showUriHost: Ember.computed.equal('uriVersion', HTTP_1_1), + showUriHost: equal('uriVersion', HTTP_1_1), strategy: null, diff --git a/lib/shared/addon/components/form-key-value/component.js b/lib/shared/addon/components/form-key-value/component.js index 69f5a040d..1b8ce8327 100644 --- a/lib/shared/addon/components/form-key-value/component.js +++ b/lib/shared/addon/components/form-key-value/component.js @@ -1,4 +1,8 @@ -import Ember from 'ember'; +import { on } from '@ember/object/evented'; +import { next, debounce } from '@ember/runloop'; +import Component from '@ember/component'; +import EmberObject, { set, observer } from '@ember/object'; +import layout from './template'; function applyLinesIntoArray(lines, ary) { lines.forEach((line) => { @@ -29,11 +33,11 @@ function applyLinesIntoArray(lines, ary) { var existing = ary.filterBy('key',key)[0]; if ( existing ) { - Ember.set(existing,'value',val); + set(existing,'value',val); } else { - ary.pushObject(Ember.Object.create({key: key, value: val})); + ary.pushObject(EmberObject.create({key: key, value: val})); } }); } @@ -55,7 +59,8 @@ function removeEmptyEntries(ary, allowEmptyValue=false) { ary.removeObjects(toRemove); } -export default Ember.Component.extend({ +export default Component.extend({ + layout, // Inputs initialStr: null, initialMap: null, @@ -79,12 +84,12 @@ export default Ember.Component.extend({ if ( required && !ary.get('length') ) { Object.keys(required).forEach((k) => { - ary.pushObject(Ember.Object.create({key: k, value: required[k], editable: false})); + ary.pushObject(EmberObject.create({key: k, value: required[k], editable: false})); }); } - ary.pushObject(Ember.Object.create({key: '', value: ''})); - Ember.run.next(() => { + ary.pushObject(EmberObject.create({key: '', value: ''})); + next(() => { if ( this.isDestroyed || this.isDestroying ) { return; } @@ -122,7 +127,7 @@ export default Ember.Component.extend({ if ( map ) { Object.keys(map).forEach((key) => { - ary.push(Ember.Object.create({key: key, value: map[key]})); + ary.push(EmberObject.create({key: key, value: map[key]})); }); } else if ( this.get('initialStr') ) @@ -149,8 +154,8 @@ export default Ember.Component.extend({ } }, - aryObserver: Ember.on('init', Ember.observer('ary.@each.{key,value}', function() { - Ember.run.debounce(this,'fireChanged',100); + aryObserver: on('init', observer('ary.@each.{key,value}', function() { + debounce(this,'fireChanged',100); })), fireChanged() { diff --git a/lib/shared/addon/components/form-metadata/component.js b/lib/shared/addon/components/form-metadata/component.js index 44777747e..45896f894 100644 --- a/lib/shared/addon/components/form-metadata/component.js +++ b/lib/shared/addon/components/form-metadata/component.js @@ -1,8 +1,16 @@ -import Ember from 'ember'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { typeOf, isNone } from '@ember/utils'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; -export default Ember.Component.extend({ - intl: Ember.inject.service(), +export default Component.extend({ + layout, + intl: service(), instance: null, detailKey: 'formMetadata.detail', @@ -22,7 +30,7 @@ export default Ember.Component.extend({ validate: function () { let intl = this.get('intl'); if ( this.get('valid') ) { - if ( ['object', 'null'].indexOf(Ember.typeOf(this.get('instance.metadata'))) === -1 ) { + if ( ['object', 'null'].indexOf(typeOf(this.get('instance.metadata'))) === -1 ) { this.set('errors', [intl.t('formMetadata.errors.topLevelValueInvalid')]); } else { this.set('errors', []); @@ -37,7 +45,7 @@ export default Ember.Component.extend({ let k; if (this.get('errors.length') ) { k = STATUS.ERROR; - } else if (!Ember.isNone(this.get('instance.metadata')) && Object.keys(this.get('instance.metadata')).length > 0) { + } else if (!isNone(this.get('instance.metadata')) && Object.keys(this.get('instance.metadata')).length > 0) { k = STATUS.CONFIGURED; } else { k = STATUS.NOTCONFIGURED; diff --git a/lib/shared/addon/components/form-name-description/component.js b/lib/shared/addon/components/form-name-description/component.js index 1819e7553..734849571 100644 --- a/lib/shared/addon/components/form-name-description/component.js +++ b/lib/shared/addon/components/form-name-description/component.js @@ -1,6 +1,9 @@ -import Ember from 'ember'; +import { next, once } from '@ember/runloop'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, // Inputs // You can either set model or name+description model : null, @@ -49,7 +52,7 @@ export default Ember.Component.extend({ actions: { expandDescription() { this.set('descriptionExpanded', true); - Ember.run.next(() => { + next(() => { if ( this.isDestroyed || this.isDestroying ) { return; } @@ -74,7 +77,7 @@ export default Ember.Component.extend({ }.observes('model'), nameChanged: function() { - Ember.run.once(() => { + once(() => { let val = this.get('_name'); if ( this.get('model') ) { this.set('model.name', val); @@ -85,7 +88,7 @@ export default Ember.Component.extend({ }.observes('_name'), descriptionChanged: function() { - Ember.run.once(() => { + once(() => { let val = this.get('_description'); if ( this.get('model') ) { this.set('model.description', val); @@ -96,7 +99,7 @@ export default Ember.Component.extend({ }.observes('_description'), didInsertElement() { - Ember.run.next(() => { + next(() => { if ( this.isDestroyed || this.isDestroying ) { return; } diff --git a/lib/shared/addon/components/form-ssl-termination/component.js b/lib/shared/addon/components/form-ssl-termination/component.js index 3b00474d5..ee539d1d3 100644 --- a/lib/shared/addon/components/form-ssl-termination/component.js +++ b/lib/shared/addon/components/form-ssl-termination/component.js @@ -1,13 +1,22 @@ -import Ember from 'ember'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { get, set } from '@ember/object'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; -export default Ember.Component.extend({ - intl: Ember.inject.service(), +export default Component.extend({ + layout, + intl: service(), service : null, allCertificates : null, - lbConfig: Ember.computed.alias('service.lbConfig'), + lbConfig: alias('service.lbConfig'), alternates : null, @@ -42,23 +51,23 @@ export default Ember.Component.extend({ alternateCertificates: function() { var def = this.get('lbConfig.defaultCertificateId'); return this.get('allCertificates').slice().filter((obj) => { - return Ember.get(obj, 'id') !== def; + return get(obj, 'id') !== def; }); }.property('allCertificates.@each.id','lbConfig.defaultCertificateId'), defaultDidChange: function() { var def = this.get('lbConfig.defaultCertificateId'); this.get('alternates').forEach((obj) => { - if ( Ember.get(obj, 'value') === def ) + if ( get(obj, 'value') === def ) { - Ember.set(obj,'value',null); + set(obj,'value',null); } }); }.observes('lbConfig.defaultCertificateId'), alternatesDidChange: function() { this.set('lbConfig.certificateIds', this.get('alternates').map((obj) => { - return Ember.get(obj, 'value'); + return get(obj, 'value'); }).filter((id) => { return !!id; }).uniq()); }.observes('alternates.@each.value'), diff --git a/lib/shared/addon/components/form-stack/component.js b/lib/shared/addon/components/form-stack/component.js index 0896588fc..0821b9099 100644 --- a/lib/shared/addon/components/form-stack/component.js +++ b/lib/shared/addon/components/form-stack/component.js @@ -1,10 +1,16 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import { next } from '@ember/runloop'; +import { equal } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; const REUSE = 'reuse'; const CREATE = 'create'; -export default Ember.Component.extend({ - intl: Ember.inject.service(), +export default Component.extend({ + layout, + intl: service(), // Outputs stack: null, @@ -16,7 +22,7 @@ export default Ember.Component.extend({ mode: REUSE, editable: true, required: true, - isReuse: Ember.computed.equal('mode', REUSE), + isReuse: equal('mode', REUSE), classNames: ['inline-form'], choices: null, @@ -40,20 +46,20 @@ export default Ember.Component.extend({ if ( stack && stack.get('id') ) { this.set('reuseStackId', stack.get('id')); } else { - Ember.run.next(() => { + next(() => { this.set('mode', CREATE); this.get('createStack.name', 'Default') }); } } - Ember.run.next(() => { + next(() => { this.updateStack(); }); } }, - updateStack: Ember.observer('reuseStackId','mode', function() { + updateStack: observer('reuseStackId','mode', function() { let stack; if ( this.get('mode') === REUSE ) { stack = this.get('choices').findBy('id', this.get('reuseStackId')); @@ -66,7 +72,7 @@ export default Ember.Component.extend({ this.set('stack', stack); }), - validate: Ember.observer('stack.{id,name}', function() { + validate: observer('stack.{id,name}', function() { let intl = this.get('intl'); let errors = []; @@ -91,7 +97,7 @@ export default Ember.Component.extend({ let mode = (this.get('mode') === REUSE ? CREATE : REUSE); this.set('mode', mode); if ( mode === CREATE ) { - Ember.run.next(() => { + next(() => { let elem = this.$('.new-name')[0]; if ( elem ) { elem.focus(); diff --git a/lib/shared/addon/components/form-stickiness/component.js b/lib/shared/addon/components/form-stickiness/component.js index d2ccc1460..65aeaee2e 100644 --- a/lib/shared/addon/components/form-stickiness/component.js +++ b/lib/shared/addon/components/form-stickiness/component.js @@ -1,20 +1,28 @@ -import Ember from 'ember'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { alias, equal } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; import C from 'ui/utils/constants'; import ManageLabels from 'shared/mixins/manage-labels'; +import layout from './template'; -export default Ember.Component.extend(ManageLabels, { +export default Component.extend(ManageLabels, { + layout, service : null, - intl: Ember.inject.service(), + intl: service(), classNames: ['accordion-wrapper'], - lbConfig: Ember.computed.alias('service.lbConfig'), + lbConfig: alias('service.lbConfig'), lbCookie : null, stickiness : 'none', - isNone : Ember.computed.equal('stickiness','none'), - isCookie : Ember.computed.equal('stickiness','cookie'), + isNone : equal('stickiness','none'), + isCookie : equal('stickiness','cookie'), modeChoices: [ {value: 'rewrite', label: 'Rewrite'}, diff --git a/lib/shared/addon/components/form-user-labels/component.js b/lib/shared/addon/components/form-user-labels/component.js index e95e144c3..5b21b012e 100644 --- a/lib/shared/addon/components/form-user-labels/component.js +++ b/lib/shared/addon/components/form-user-labels/component.js @@ -1,9 +1,17 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ManageLabels from 'shared/mixins/manage-labels'; -import { STATUS, STATUS_INTL_KEY, classForStatus } from 'ui/components/accordion-list-item/component'; +import { + STATUS, + STATUS_INTL_KEY, + classForStatus +} from 'shared/components/accordion-list-item/component'; +import layout from './template'; -export default Ember.Component.extend(ManageLabels, { - intl: Ember.inject.service(), +export default Component.extend(ManageLabels, { + layout, + intl: service(), classNames: ['accordion-wrapper'], @@ -19,7 +27,7 @@ export default Ember.Component.extend(ManageLabels, { actions: { addUserLabel() { this._super(); - Ember.run.next(() => { + next(() => { if ( this.isDestroyed || this.isDestroying ) { return; } diff --git a/lib/shared/addon/components/form-value-array/component.js b/lib/shared/addon/components/form-value-array/component.js index 7187c0018..13da3b7cd 100644 --- a/lib/shared/addon/components/form-value-array/component.js +++ b/lib/shared/addon/components/form-value-array/component.js @@ -1,6 +1,10 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import EmberObject from '@ember/object'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, // Inputs initialValues : null, addActionLabel : 'formValueArray.addActionLabel', @@ -13,8 +17,8 @@ export default Ember.Component.extend({ actions: { add() { - this.get('ary').pushObject(Ember.Object.create({value: ''})); - Ember.run.next(() => { + this.get('ary').pushObject(EmberObject.create({value: ''})); + next(() => { if ( this.isDestroyed || this.isDestroying ) { return; } @@ -39,7 +43,7 @@ export default Ember.Component.extend({ return; } - ary.pushObject(Ember.Object.create({value: line})); + ary.pushObject(EmberObject.create({value: line})); }); // Clean up empty user entries @@ -60,7 +64,7 @@ export default Ember.Component.extend({ var ary = []; (this.get('initialValues')||[]).forEach((value) => { - ary.push(Ember.Object.create({value: value})); + ary.push(EmberObject.create({value: value})); }); this.set('ary', ary); diff --git a/lib/shared/addon/components/graph-area/component.js b/lib/shared/addon/components/graph-area/component.js index a54ec344e..da1bec32f 100644 --- a/lib/shared/addon/components/graph-area/component.js +++ b/lib/shared/addon/components/graph-area/component.js @@ -1,12 +1,15 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ThrottledResize from 'shared/mixins/throttled-resize'; import initGraph from 'ui/utils/graph-area'; +import layout from './template'; -export default Ember.Component.extend(ThrottledResize, { +export default Component.extend(ThrottledResize, { + layout, tagName: 'div', classNames: ['graph-area'], - intl: Ember.inject.service(), + intl: service(), model: null, fields: null, diff --git a/lib/shared/addon/components/host-pod/component.js b/lib/shared/addon/components/host-pod/component.js index 0dbc42d7d..ff4bfe4a4 100644 --- a/lib/shared/addon/components/host-pod/component.js +++ b/lib/shared/addon/components/host-pod/component.js @@ -1,16 +1,20 @@ -import Ember from 'ember'; +import { or, equal, alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ManageLabels from 'shared/mixins/manage-labels'; import GroupedInstances from 'shared/mixins/grouped-instances'; +import layout from './template'; -export default Ember.Component.extend(ManageLabels, GroupedInstances, { - settings: Ember.inject.service(), - prefs: Ember.inject.service(), +export default Component.extend(ManageLabels, GroupedInstances, { + layout, + settings: service(), + prefs: service(), model: null, mode: null, classNames: ['pod','host'], - showLabelRow: Ember.computed.or('model.displayUserLabelStrings.length','model.requireAnyLabelStrings.length'), + showLabelRow: or('model.displayUserLabelStrings.length','model.requireAnyLabelStrings.length'), init() { this._super(...arguments); @@ -43,11 +47,11 @@ export default Ember.Component.extend(ManageLabels, GroupedInstances, { return this.get('filteredInstances').sortBy('name','id'); }.property('filteredInstances.@each.{name,id}'), - isActive: Ember.computed.equal('model.state','active'), - isProvisioning: Ember.computed.equal('model.state','provisioning'), - isError: Ember.computed.equal('model.state','error'), - showAdd: Ember.computed.alias('isActive'), - showOnlyMessage: Ember.computed.or('isProvisioning','isError'), + isActive: equal('model.state','active'), + isProvisioning: equal('model.state','provisioning'), + isError: equal('model.state','error'), + showAdd: alias('isActive'), + showOnlyMessage: or('isProvisioning','isError'), stateBackground: function() { return this.get('model.stateColor').replace("text-"); diff --git a/lib/shared/addon/components/host-row/component.js b/lib/shared/addon/components/host-row/component.js index d54ee72d0..85506b593 100644 --- a/lib/shared/addon/components/host-row/component.js +++ b/lib/shared/addon/components/host-row/component.js @@ -1,7 +1,7 @@ +import { or, equal, not, alias } from '@ember/object/computed'; import Component from '@ember/component'; import layout from './template'; import { inject as service } from '@ember/service' -import { computed } from '@ember/object'; export const headersAll = [ { @@ -87,14 +87,14 @@ export default Component.extend({ subMatches: null, expanded: null, - showLabelRow: computed.or('model.displayUserLabelStrings.length','model.requireAnyLabelStrings.length'), + showLabelRow: or('model.displayUserLabelStrings.length','model.requireAnyLabelStrings.length'), - isCluster: computed.equal('view','cluster'), - showExpand: computed.not('isCluster'), - linkName: computed.not('isCluster'), - showInstanceStates: computed.not('isCluster'), - showCpu: computed.alias('isCluster'), - showDisk: computed.alias('isCluster'), + isCluster: equal('view','cluster'), + showExpand: not('isCluster'), + linkName: not('isCluster'), + showInstanceStates: not('isCluster'), + showCpu: alias('isCluster'), + showDisk: alias('isCluster'), actions: { toggle() { diff --git a/lib/shared/addon/components/identity-avatar/component.js b/lib/shared/addon/components/identity-avatar/component.js index 3ed6913cd..e62285847 100644 --- a/lib/shared/addon/components/identity-avatar/component.js +++ b/lib/shared/addon/components/identity-avatar/component.js @@ -1,6 +1,9 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, identity: null, link: true, size: 35, @@ -8,6 +11,6 @@ export default Ember.Component.extend({ classNames: ['gh-avatar'], attributeBindings: ['aria-label:identity.name'], - avatarSrc: Ember.computed.alias('identity.avatarSrc'), - url: Ember.computed.alias('identity.profileUrl'), + avatarSrc: alias('identity.avatarSrc'), + url: alias('identity.profileUrl'), }); diff --git a/lib/shared/addon/components/identity-block/component.js b/lib/shared/addon/components/identity-block/component.js index 9b03d3451..19a641743 100644 --- a/lib/shared/addon/components/identity-block/component.js +++ b/lib/shared/addon/components/identity-block/component.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; let notFound={}; -export default Ember.Component.extend({ +export default Component.extend({ + layout, // Identity or externalId+externalIdType identity : null, externalIdType : null, @@ -64,9 +67,9 @@ export default Ember.Component.extend({ classNames: ['gh-block'], attributeBindings: ['aria-label:identity.name'], - avatarSrc: Ember.computed.alias('identity.profilePicture'), - url: Ember.computed.alias('identity.profileUrl'), - login: Ember.computed.alias('identity.login'), + avatarSrc: alias('identity.profilePicture'), + url: alias('identity.profileUrl'), + login: alias('identity.login'), displayDescription: function() { var out; diff --git a/lib/shared/addon/components/info-multi-stats/component.js b/lib/shared/addon/components/info-multi-stats/component.js index b2d43fe97..8f43cb6cc 100644 --- a/lib/shared/addon/components/info-multi-stats/component.js +++ b/lib/shared/addon/components/info-multi-stats/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, model: null, mode: 'small', smallWidth: 60, diff --git a/lib/shared/addon/components/input-answers/component.js b/lib/shared/addon/components/input-answers/component.js index 85b59bed4..e7871ec65 100644 --- a/lib/shared/addon/components/input-answers/component.js +++ b/lib/shared/addon/components/input-answers/component.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; -import YAML from 'npm:yamljs'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; +import { set, computed } from '@ember/object'; import { isSafari } from 'ui/utils/platform'; +import layout from './template'; -const {set} = Ember; - -export default Ember.Component.extend({ - questions: Ember.computed.alias('selectedTemplate.questions'), +export default Component.extend({ + layout, + questions: alias('selectedTemplate.questions'), pasteOrUpload: false, accept : '.yml, .yaml', _boundChange : null, @@ -28,7 +29,7 @@ export default Ember.Component.extend({ reader.readAsText(file); } }, - pastedAnswers: Ember.computed({ + pastedAnswers: computed({ get(/* key */) { var questions = this.get('questions'); var out = {}; @@ -59,7 +60,7 @@ export default Ember.Component.extend({ this.set('pasteOrUpload', false); } }, - actualAccept: Ember.computed('accept', function() { + actualAccept: computed('accept', function() { if ( isSafari ) { return ''; } else { diff --git a/lib/shared/addon/components/input-certificate/component.js b/lib/shared/addon/components/input-certificate/component.js index 3629389a4..0c1a7b29f 100644 --- a/lib/shared/addon/components/input-certificate/component.js +++ b/lib/shared/addon/components/input-certificate/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, model: null, tagName: 'div', diff --git a/lib/shared/addon/components/input-command/component.js b/lib/shared/addon/components/input-command/component.js index f7ab09c1f..13e2e1b61 100644 --- a/lib/shared/addon/components/input-command/component.js +++ b/lib/shared/addon/components/input-command/component.js @@ -1,5 +1,7 @@ -import Ember from 'ember'; -import ShellQuote from 'npm:shell-quote'; +import { isArray } from '@ember/array'; +import TextField from '@ember/component/text-field'; +import ShellQuote from 'npm:shell-quote' +import layout from './template'; export const OPS = ['||','&&',';;','|&','&',';','(',')','|','<','>']; export function reop(xs) { @@ -34,14 +36,15 @@ export function unparse(xs) { } -export default Ember.TextField.extend({ +export default TextField.extend({ + layout, type: 'text', init() { this._super(...arguments); let initial = this.get('initialValue')||''; - if ( Ember.isArray(initial) ) + if ( isArray(initial) ) { this.set('value', unparse(reop(initial))); } diff --git a/lib/shared/addon/components/input-files/component.js b/lib/shared/addon/components/input-files/component.js index 7c35fd0ba..0614e7fb3 100644 --- a/lib/shared/addon/components/input-files/component.js +++ b/lib/shared/addon/components/input-files/component.js @@ -1,7 +1,10 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import Component from '@ember/component'; import { isSafari } from 'ui/utils/platform'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, initialFiles: null, accept: "text/*", addActionLabel: 'generic.emptyString', @@ -44,7 +47,7 @@ export default Ember.Component.extend({ this.set('ary', ary); }, - onFilesChanged: Ember.observer('ary.@each.{name,value}', function() { + onFilesChanged: observer('ary.@each.{name,value}', function() { let out = {}; this.get('ary').forEach((file) => { diff --git a/lib/shared/addon/components/input-identity/component.js b/lib/shared/addon/components/input-identity/component.js index 313eb393b..f99373a06 100644 --- a/lib/shared/addon/components/input-identity/component.js +++ b/lib/shared/addon/components/input-identity/component.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; -export default Ember.Component.extend({ - access: Ember.inject.service(), - intl: Ember.inject.service(), +export default Component.extend({ + layout, + access: service(), + intl: service(), allowTeams: true, checking: false, addInput: '', diff --git a/lib/shared/addon/components/input-integer/component.js b/lib/shared/addon/components/input-integer/component.js index ef596e7ae..c24112b28 100644 --- a/lib/shared/addon/components/input-integer/component.js +++ b/lib/shared/addon/components/input-integer/component.js @@ -1,5 +1,7 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import TextField from '@ember/component/text-field'; import { isMobile } from 'ui/utils/platform'; +import layout from './template'; function sanitize(val) { val = (val+'').trim().replace(/[^0-9-]/g,''); @@ -7,8 +9,9 @@ function sanitize(val) { return val; } -export default Ember.TextField.extend({ - type: Ember.computed(function() { +export default TextField.extend({ + layout, + type: computed(function() { return ( isMobile ? 'number' : 'text' ); }), diff --git a/lib/shared/addon/components/input-number/component.js b/lib/shared/addon/components/input-number/component.js index 74374434d..e7f6d5ead 100644 --- a/lib/shared/addon/components/input-number/component.js +++ b/lib/shared/addon/components/input-number/component.js @@ -1,5 +1,7 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import TextField from '@ember/component/text-field'; import { isMobile } from 'ui/utils/platform'; +import layout from './template'; function sanitize(val) { val = (val+'').trim().replace(/[^0-9.-]/g,''); @@ -19,8 +21,9 @@ function sanitize(val) { return val; } -export default Ember.TextField.extend({ - type: Ember.computed(function() { +export default TextField.extend({ + layout, + type: computed(function() { return ( isMobile ? 'number' : 'text' ); }), diff --git a/lib/shared/addon/components/input-or-display/component.js b/lib/shared/addon/components/input-or-display/component.js index 11a86c93b..20fc9bc83 100644 --- a/lib/shared/addon/components/input-or-display/component.js +++ b/lib/shared/addon/components/input-or-display/component.js @@ -1,14 +1,18 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import Component from '@ember/component'; import SafeStyle from 'shared/mixins/safe-style'; +import layout from './template'; -export default Ember.Component.extend(SafeStyle, { + +export default Component.extend(SafeStyle, { + layout, tagName: 'span', value: null, editable: true, classesForInput: 'form-control', classesForDisplay: '', obfuscate: false, - obfuscatedValue: Ember.computed('value', function() { + obfuscatedValue: computed('value', function() { let val = this.get('value') || ''; let count = val.length; let obChar = '*'; diff --git a/lib/shared/addon/components/input-paste/component.js b/lib/shared/addon/components/input-paste/component.js index e1de5415f..e8d7a3e99 100644 --- a/lib/shared/addon/components/input-paste/component.js +++ b/lib/shared/addon/components/input-paste/component.js @@ -1,7 +1,9 @@ -import Ember from 'ember'; +import TextField from '@ember/component/text-field'; import IntlPlaceholder from 'shared/mixins/intl-placeholder'; +import layout from './template'; -export default Ember.TextField.extend(IntlPlaceholder, { +export default TextField.extend(IntlPlaceholder, { + layout, _onPaste: null, didInsertElement: function() { this._super(); diff --git a/lib/shared/addon/components/input-slider/component.js b/lib/shared/addon/components/input-slider/component.js index aa4d6d342..ee895e26d 100644 --- a/lib/shared/addon/components/input-slider/component.js +++ b/lib/shared/addon/components/input-slider/component.js @@ -1,5 +1,7 @@ -import Ember from 'ember'; +import { scheduleOnce } from '@ember/runloop'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; function clientX(event) { if ( typeof event.clientX !== 'undefined' ) @@ -24,7 +26,8 @@ function clientX(event) { return 0; } -export default Ember.Component.extend({ +export default Component.extend({ + layout, classNames : ['slider'], classNameBindings : ['disabled','active'], @@ -53,7 +56,7 @@ export default Ember.Component.extend({ didInsertElement: function() { this._super(); - Ember.run.scheduleOnce('afterRender', this, 'valueChanged'); + scheduleOnce('afterRender', this, 'valueChanged'); }, willDestroyElement: function() { diff --git a/lib/shared/addon/components/input-suggest/component.js b/lib/shared/addon/components/input-suggest/component.js index 0547e582d..2fa60262e 100644 --- a/lib/shared/addon/components/input-suggest/component.js +++ b/lib/shared/addon/components/input-suggest/component.js @@ -1,7 +1,9 @@ -import Ember from 'ember'; +import Component from '@ember/component'; import DropdownComponentMixin from 'ember-rl-dropdown/mixins/rl-dropdown-component'; +import layout from './template'; -export default Ember.Component.extend(DropdownComponentMixin, { +export default Component.extend(DropdownComponentMixin, { + layout, value: null, placheolder: null, diff --git a/lib/shared/addon/components/input-text-file/component.js b/lib/shared/addon/components/input-text-file/component.js index 4f7c7d41f..521a63563 100644 --- a/lib/shared/addon/components/input-text-file/component.js +++ b/lib/shared/addon/components/input-text-file/component.js @@ -1,8 +1,11 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import { isSafari } from 'ui/utils/platform'; +import layout from './template'; -export default Ember.Component.extend({ - settings: Ember.inject.service(), +export default Component.extend({ + layout, + settings: service(), label: null, namePlaceholder: '', diff --git a/lib/shared/addon/components/json-editor/component.js b/lib/shared/addon/components/json-editor/component.js index 3dcadf56a..2a55dec21 100644 --- a/lib/shared/addon/components/json-editor/component.js +++ b/lib/shared/addon/components/json-editor/component.js @@ -1,11 +1,13 @@ -import Ember from 'ember'; +import Component from '@ember/component'; import sanitize from 'json-sanitizer'; import C from 'ui/utils/constants'; +import layout from './template'; const TAB_SIZE = 2; const TAB_STR = (new Array(TAB_SIZE+1)).join(' '); -export default Ember.Component.extend({ +export default Component.extend({ + layout, jsonString: null, tagName: 'div', diff --git a/lib/shared/addon/components/labels-section/component.js b/lib/shared/addon/components/labels-section/component.js index 357435a8c..1c3a58e1a 100644 --- a/lib/shared/addon/components/labels-section/component.js +++ b/lib/shared/addon/components/labels-section/component.js @@ -1,10 +1,14 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ManageLabels from 'shared/mixins/manage-labels'; +import layout from './template'; -export default Ember.Component.extend(ManageLabels, { +export default Component.extend(ManageLabels, { + layout, model : null, - labelSource : Ember.computed.alias('model.labels'), + labelSource : alias('model.labels'), sortBy : 'kind', showKind : true, descending : true, @@ -29,7 +33,7 @@ export default Ember.Component.extend(ManageLabels, { }, ], - labelsObserver: Ember.observer('model.labels', function () { + labelsObserver: observer('model.labels', function () { this.initLabels(this.get('labelSource')); }), diff --git a/lib/shared/addon/components/language-dropdown/component.js b/lib/shared/addon/components/language-dropdown/component.js index bc2712e3c..b1dc5889a 100644 --- a/lib/shared/addon/components/language-dropdown/component.js +++ b/lib/shared/addon/components/language-dropdown/component.js @@ -1,3 +1,4 @@ +import { alias } from '@ember/object/computed'; import Component from '@ember/component'; import layout from './template'; import C from 'shared/utils/constants'; @@ -19,7 +20,7 @@ export default Component.extend({ session: service(), settings: service(), - locales: computed.alias('language.locales'), + locales: alias('language.locales'), hideSingle: function() { return Object.keys(this.get('locales')).length <= 1; diff --git a/lib/shared/addon/components/limit-parameters/component.js b/lib/shared/addon/components/limit-parameters/component.js index dc53c11a2..53891d44f 100644 --- a/lib/shared/addon/components/limit-parameters/component.js +++ b/lib/shared/addon/components/limit-parameters/component.js @@ -1,6 +1,9 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, memoryLimit: null, init: function() { this._super(...arguments); @@ -11,7 +14,7 @@ export default Ember.Component.extend({ this.set('memoryLimit', ''); } }, - memoryReservationChanged: Ember.observer('memoryLimit', function() { + memoryReservationChanged: observer('memoryLimit', function() { var mem = this.get('memoryLimit'); if ( isNaN(mem) || mem <= 0) { diff --git a/lib/shared/addon/components/link-to-as-attrs/component.js b/lib/shared/addon/components/link-to-as-attrs/component.js index 2cce6c1ce..a7ca9b448 100644 --- a/lib/shared/addon/components/link-to-as-attrs/component.js +++ b/lib/shared/addon/components/link-to-as-attrs/component.js @@ -1,9 +1,9 @@ -import Ember from 'ember'; +import LinkComponent from '@ember/routing/link-component'; import { computed } from '@ember/object'; // This is a link-to where models (path components) and query-params can be set as attribtues instead of positional params -export default Ember.LinkComponent.extend({ +export default LinkComponent.extend({ attributeBindings: ['role','aria-haspopup','aria-expanded'], 'current-when': function() { diff --git a/lib/shared/addon/components/machine/driver-aliyunecs/component.js b/lib/shared/addon/components/machine/driver-aliyunecs/component.js index 96eb64fbf..80255d8a8 100644 --- a/lib/shared/addon/components/machine/driver-aliyunecs/component.js +++ b/lib/shared/addon/components/machine/driver-aliyunecs/component.js @@ -1,5 +1,7 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import Driver from 'shared/mixins/host-driver'; +import layout from './template'; let ioOptimized=[ { @@ -10,9 +12,10 @@ let ioOptimized=[ }, ]; -export default Ember.Component.extend(Driver, { +export default Component.extend(Driver, { + layout, driverName: 'aliyunecs', - aliyunecsConfig: Ember.computed.alias('model.publicValues.aliyunecsConfig'), + aliyunecsConfig: alias('model.publicValues.aliyunecsConfig'), ioOptimized: ioOptimized, diff --git a/lib/shared/addon/components/machine/driver-amazonec2/component.js b/lib/shared/addon/components/machine/driver-amazonec2/component.js index 083239e68..dab04ff84 100644 --- a/lib/shared/addon/components/machine/driver-amazonec2/component.js +++ b/lib/shared/addon/components/machine/driver-amazonec2/component.js @@ -1,5 +1,11 @@ -import Ember from 'ember'; +import $ from 'jquery'; +import { scheduleOnce } from '@ember/runloop'; +import EmberObject, { computed } from '@ember/object'; +import { alias, equal, gte } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import Driver from 'shared/mixins/host-driver'; +import layout from './template'; let RANCHER_TAG = 'rancher-ui'; let RANCHER_GROUP = 'rancher-machine'; @@ -178,11 +184,12 @@ function tagsFromResource(r) { return out; } -export default Ember.Component.extend(Driver, { - prefs : Ember.inject.service(), +export default Component.extend(Driver, { + layout, + prefs : service(), driverName : 'amazonec2', model : null, - amazonec2Config : Ember.computed.alias('model.publicValues.amazonec2Config'), + amazonec2Config : alias('model.publicValues.amazonec2Config'), clients : null, allSubnets : null, @@ -191,23 +198,23 @@ export default Ember.Component.extend(Driver, { defaultSecurityGroup : null, defaultSecurityGroupName : RANCHER_GROUP, whichSecurityGroup : 'default', - isCustomSecurityGroup : Ember.computed.equal('whichSecurityGroup','custom'), + isCustomSecurityGroup : equal('whichSecurityGroup','custom'), instanceTypes : INSTANCE_TYPES, regionChoices : REGIONS, step : 1, - isStep1 : Ember.computed.equal('step',1), - isStep2 : Ember.computed.equal('step',2), - isStep3 : Ember.computed.equal('step',3), - isStep4 : Ember.computed.equal('step',4), - isStep5 : Ember.computed.equal('step',5), - isStep6 : Ember.computed.equal('step',6), - isStep7 : Ember.computed.equal('step',7), - isGteStep3 : Ember.computed.gte('step',3), - isGteStep4 : Ember.computed.gte('step',4), - isGteStep5 : Ember.computed.gte('step',5), - isGteStep6 : Ember.computed.gte('step',6), - isGteStep7 : Ember.computed.gte('step',7), + isStep1 : equal('step',1), + isStep2 : equal('step',2), + isStep3 : equal('step',3), + isStep4 : equal('step',4), + isStep5 : equal('step',5), + isStep6 : equal('step',6), + isStep7 : equal('step',7), + isGteStep3 : gte('step',3), + isGteStep4 : gte('step',4), + isGteStep5 : gte('step',5), + isGteStep6 : gte('step',6), + isGteStep7 : gte('step',7), bootstrap: function() { let pref = this.get('prefs.amazonec2')||{}; @@ -250,7 +257,7 @@ export default Ember.Component.extend(Driver, { this._super(...arguments); this.set('editing', false); - this.set('clients', Ember.Object.create()); + this.set('clients', EmberObject.create()); this.set('allSubnets', []); let cur = this.get('amazonec2Config.securityGroup'); @@ -280,7 +287,7 @@ export default Ember.Component.extend(Driver, { }, stepDidChange: function() { - Ember.run.scheduleOnce('afterRender', this, function() { + scheduleOnce('afterRender', this, function() { document.body.scrollTop = document.body.scrollHeight; }); }.observes('context.step'), @@ -336,7 +343,7 @@ export default Ember.Component.extend(Driver, { return; } - subnets.pushObject(Ember.Object.create({ + subnets.pushObject(EmberObject.create({ subnetName: nameFromResource(subnet, 'SubnetId'), subnetId: subnet.SubnetId, subnetTags: tagsFromResource(subnet), @@ -416,7 +423,7 @@ export default Ember.Component.extend(Driver, { }, multiSecurityGroupSelect: function() { - let options = Array.prototype.slice.call(Ember.$('.existing-security-groups')[0], 0); + let options = Array.prototype.slice.call($('.existing-security-groups')[0], 0); let selectedOptions = []; options.filterBy('selected', true).forEach((cap) => { @@ -489,7 +496,7 @@ export default Ember.Component.extend(Driver, { }, }, - selectedZone: Ember.computed('amazonec2Config.{region,zone}', { + selectedZone: computed('amazonec2Config.{region,zone}', { get: function() { let config = this.get('amazonec2Config'); if ( config.get('region') && config.get('zone') ) { @@ -568,7 +575,7 @@ export default Ember.Component.extend(Driver, { return out.sortBy('sortKey'); }.property('selectedZone','allSubnets.@each.{subnetId,vpcId,zone}'), - selectedSubnet: Ember.computed('amazonec2Config.{subnetId,vpcId}', { + selectedSubnet: computed('amazonec2Config.{subnetId,vpcId}', { set: function(key, val) { let config = this.get('amazonec2Config'); if ( arguments.length > 1 ) { diff --git a/lib/shared/addon/components/machine/driver-azure/component.js b/lib/shared/addon/components/machine/driver-azure/component.js index a4853d9db..b6333245d 100644 --- a/lib/shared/addon/components/machine/driver-azure/component.js +++ b/lib/shared/addon/components/machine/driver-azure/component.js @@ -1,9 +1,19 @@ -import Ember from 'ember'; -import { regions, sizes, storageTypes, environments } from 'ui/utils/azure-choices'; +import { computed, observer } from '@ember/object'; +import { scheduleOnce } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; +import { + regions, + sizes, + storageTypes, + environments +} from 'ui/utils/azure-choices'; import Driver from 'shared/mixins/host-driver'; +import layout from './template'; -export default Ember.Component.extend(Driver, { - azureConfig : Ember.computed.alias('model.publicValues.azureConfig'), +export default Component.extend(Driver, { + layout, + azureConfig : alias('model.publicValues.azureConfig'), environments : environments.sortBy('value'), sizeChoices : sizes.sortBy('value'), driverName : 'azure', @@ -53,7 +63,7 @@ export default Ember.Component.extend(Driver, { init() { this._super(...arguments); - Ember.run.scheduleOnce('afterRender', () => { + scheduleOnce('afterRender', () => { this.set('publicIpChoice', this.initPublicIpChoices(this.get('azureConfig.staticPublicIp'), this.get('azureConfig.noPublicIp'))); this.set('openPorts', this.initOpenPorts(this.get('azureConfig.openPort'))); }); @@ -73,17 +83,17 @@ export default Ember.Component.extend(Driver, { } }, - regionChoices: Ember.computed('azureConfig.environment', function() { + regionChoices: computed('azureConfig.environment', function() { let environment = this.get('azureConfig.environment'); return regions[environment]; }), - evironmentChoiceObserver: Ember.observer('azureConfig.environment', function() { + evironmentChoiceObserver: observer('azureConfig.environment', function() { let environment = this.get('azureConfig.environment'); this.set('azureConfig.location', regions[environment][0].name); }), - privateSet: Ember.computed('publicIpChoice', function() { + privateSet: computed('publicIpChoice', function() { let publicIpChoice = this.get('publicIpChoice'); if (publicIpChoice && this.get('publicIpChoices').findBy('value', publicIpChoice).name === 'None') { return true; @@ -91,7 +101,7 @@ export default Ember.Component.extend(Driver, { return false; }), - ipChoiceObserver: Ember.observer('publicIpChoice', function() { + ipChoiceObserver: observer('publicIpChoice', function() { let publicIpChoice = this.get('publicIpChoice'); if (this.get('publicIpChoices').findBy('value', publicIpChoice).name === 'None') { this.set('azureConfig.usePrivateIp', true); @@ -100,7 +110,7 @@ export default Ember.Component.extend(Driver, { } }), - setUsePrivateIp: Ember.computed('publicIpChoice', function() { + setUsePrivateIp: computed('publicIpChoice', function() { let publicIpChoice = this.get('publicIpChoice'); if (publicIpChoice && this.get('publicIpChoices').findBy('value', publicIpChoice).name === 'None') { return this.set('azureConfig.usePrivateIp', true); @@ -108,7 +118,7 @@ export default Ember.Component.extend(Driver, { return false; }), - publicIpObserver: Ember.observer('publicIpChoice', function() { + publicIpObserver: observer('publicIpChoice', function() { let elChoice = this.get('publicIpChoice'); let choice = this.get('publicIpChoices').findBy('value', elChoice); @@ -121,7 +131,7 @@ export default Ember.Component.extend(Driver, { }), - openPort: Ember.observer('openPorts', function() { + openPort: observer('openPorts', function() { let str = (this.get('openPorts')||'').trim(); let ary = []; if ( str.length ) { diff --git a/lib/shared/addon/components/machine/driver-custom/component.js b/lib/shared/addon/components/machine/driver-custom/component.js index 42cb936e5..d929f7f4d 100644 --- a/lib/shared/addon/components/machine/driver-custom/component.js +++ b/lib/shared/addon/components/machine/driver-custom/component.js @@ -1,16 +1,21 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ManageLabels from 'shared/mixins/manage-labels'; import Util from 'ui/utils/util'; +import layout from './template'; -export default Ember.Component.extend(ManageLabels, { - settings: Ember.inject.service(), - projects: Ember.inject.service(), +export default Component.extend(ManageLabels, { + layout, + settings: service(), + projects: service(), cattleAgentIp : null, model: null, cluster: null, - loading: Ember.computed.alias('cluster.isTransitioning'), - registrationCommandWindows: Ember.computed.alias('cluster.registrationToken.windowsCommand'), + loading: alias('cluster.isTransitioning'), + registrationCommandWindows: alias('cluster.registrationToken.windowsCommand'), _allHosts: null, hostsAtLoad: null, @@ -40,7 +45,7 @@ export default Ember.Component.extend(ManageLabels, { }); }, - registrationCommand: Ember.computed('registrationCommand','labels', 'cattleAgentIp', function() { + registrationCommand: computed('registrationCommand','labels', 'cattleAgentIp', function() { let cmd = this.get('cluster.registrationToken.hostCommand'); let cattleIp = this.get('cattleAgentIp'); let lookFor = 'docker run'; @@ -69,7 +74,7 @@ export default Ember.Component.extend(ManageLabels, { return cmd; }), - newHosts: Ember.computed('hostsAtLoad','_allHosts.length', function() { + newHosts: computed('hostsAtLoad','_allHosts.length', function() { let atLoad = this.get('hostsAtLoad') let now = this.get('_allHosts.length'); diff --git a/lib/shared/addon/components/machine/driver-digitalocean/component.js b/lib/shared/addon/components/machine/driver-digitalocean/component.js index b26efef7f..d3b9edb60 100644 --- a/lib/shared/addon/components/machine/driver-digitalocean/component.js +++ b/lib/shared/addon/components/machine/driver-digitalocean/component.js @@ -1,7 +1,11 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import { computed } from '@ember/object'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import Driver from 'shared/mixins/host-driver'; import fetch from 'ember-api-store/utils/fetch'; import Util from 'ui/utils/util'; +import layout from './template'; const DIGITALOCEAN_API = 'api.digitalocean.com/v2'; const VALID_IMAGES = [ @@ -22,17 +26,18 @@ const VALID_IMAGES = [ // 'ubuntu-16-10-x64' ]; -export default Ember.Component.extend(Driver, { +export default Component.extend(Driver, { + layout, driverName: 'digitalocean', regionChoices: null, model: null, - digitaloceanConfig: Ember.computed.alias('model.publicValues.digitaloceanConfig'), + digitaloceanConfig: alias('model.publicValues.digitaloceanConfig'), step1: true, sizeChoices: null, imageChoices: null, gettingData: false, - filteredSizeChoices: Ember.computed('digitaloceanConfig.region', function(){ + filteredSizeChoices: computed('digitaloceanConfig.region', function(){ let region = this.get('regionChoices').findBy('slug', this.get('digitaloceanConfig.region')); let sizes = this.get('sizeChoices'); let out = sizes.filter((size) => { @@ -53,7 +58,7 @@ export default Ember.Component.extend(Driver, { this.set('gettingData', true); - Ember.RSVP.hash(promises).then((hash) => { + hash(promises).then((hash) => { let filteredRegions = hash.regions.regions.filter(function(region) { return region.available && (region.features.indexOf('metadata') >= 0); diff --git a/lib/shared/addon/components/machine/driver-exoscale/component.js b/lib/shared/addon/components/machine/driver-exoscale/component.js index 011ba396e..009b855c1 100644 --- a/lib/shared/addon/components/machine/driver-exoscale/component.js +++ b/lib/shared/addon/components/machine/driver-exoscale/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import { alias, equal, gte } from '@ember/object/computed'; +import Component from '@ember/component'; import Driver from 'shared/mixins/host-driver'; import { ajaxPromise } from 'ember-api-store/utils/ajax-promise'; +import layout from './template'; let RANCHER_TEMPLATE = 'Linux Ubuntu 14.04 LTS 64-bit'; let RANCHER_GROUP = 'rancher-machine'; @@ -37,10 +39,11 @@ let RANCHER_INGRESS_RULES = [ } ]; -export default Ember.Component.extend(Driver, { +export default Component.extend(Driver, { + layout, driverName : 'exoscale', model : null, - exoscaleConfig : Ember.computed.alias('model.publicValues.exoscaleConfig'), + exoscaleConfig : alias('model.publicValues.exoscaleConfig'), allDiskSizes : null, allInstanceProfiles : null, @@ -50,20 +53,20 @@ export default Ember.Component.extend(Driver, { defaultSecurityGroup : null, defaultSecurityGroupName : RANCHER_GROUP, whichSecurityGroup : 'default', - isCustomSecurityGroup : Ember.computed.equal('whichSecurityGroup','custom'), + isCustomSecurityGroup : equal('whichSecurityGroup','custom'), exoscaleApi : 'api.exoscale.ch/compute', step : 1, - isStep1 : Ember.computed.equal('step',1), - isStep2 : Ember.computed.equal('step',2), - isStep3 : Ember.computed.equal('step',3), - isStep4 : Ember.computed.equal('step',4), - isStep5 : Ember.computed.equal('step',5), - isStep6 : Ember.computed.equal('step',6), - isGteStep3 : Ember.computed.gte('step',3), - isGteStep4 : Ember.computed.gte('step',4), - isGteStep5 : Ember.computed.gte('step',5), - isGteStep6 : Ember.computed.gte('step',6), + isStep1 : equal('step',1), + isStep2 : equal('step',2), + isStep3 : equal('step',3), + isStep4 : equal('step',4), + isStep5 : equal('step',5), + isStep6 : equal('step',6), + isGteStep3 : gte('step',3), + isGteStep4 : gte('step',4), + isGteStep5 : gte('step',5), + isGteStep6 : gte('step',6), bootstrap: function() { let config = this.get('userStore').createRecord({ diff --git a/lib/shared/addon/components/machine/driver-other/component.js b/lib/shared/addon/components/machine/driver-other/component.js index e57c811ee..f9968080e 100644 --- a/lib/shared/addon/components/machine/driver-other/component.js +++ b/lib/shared/addon/components/machine/driver-other/component.js @@ -1,7 +1,11 @@ -import Ember from 'ember'; +import { on } from '@ember/object/evented'; +import { computed, observer } from '@ember/object'; +import Component from '@ember/component'; import Driver from 'shared/mixins/host-driver'; +import layout from './template'; -export default Ember.Component.extend(Driver, { +export default Component.extend(Driver, { + layout, // Set by Driver driverName : 'other', driver : null, @@ -41,7 +45,7 @@ export default Ember.Component.extend(Driver, { }); }, - fieldNames: Ember.computed('otherDriver', 'model', function() { + fieldNames: computed('otherDriver', 'model', function() { let driver = this.get('otherDriver'); if ( driver ) { @@ -60,7 +64,7 @@ export default Ember.Component.extend(Driver, { return out; }, - driverChanged: Ember.on('init', Ember.observer('otherDriver','model', function() { + driverChanged: on('init', observer('otherDriver','model', function() { if (this.get('otherDriver')) { let driver = this.get('otherDriver').split('C')[0]; let hostTemplate = this.get('model'); @@ -90,7 +94,7 @@ export default Ember.Component.extend(Driver, { } })), - otherChoices: Ember.computed('availableDrivers.@each.{hasUi,name}', function() { + otherChoices: computed('availableDrivers.@each.{hasUi,name}', function() { let out = []; this.get('availableDrivers').filterBy('hasUi',false).forEach((driver) => { out.push({label: driver.name, value: driver.name+'Config'}); diff --git a/lib/shared/addon/components/machine/driver-packet/component.js b/lib/shared/addon/components/machine/driver-packet/component.js index 1e01116bb..a45c16aba 100644 --- a/lib/shared/addon/components/machine/driver-packet/component.js +++ b/lib/shared/addon/components/machine/driver-packet/component.js @@ -1,6 +1,12 @@ -import Ember from 'ember'; +import { hash } from 'rsvp'; +import { on } from '@ember/object/evented'; +import { isEmpty } from '@ember/utils'; +import { computed, observer } from '@ember/object'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import Driver from 'shared/mixins/host-driver'; import fetch from 'ember-api-store/utils/fetch'; +import layout from './template'; const WHITELIST = ['centos_7', 'coreos_stable', 'ubuntu_14_04', 'ubuntu_16_04', 'rancher']; const BLACKLIST = ['baremetal_2a']; //quick wheres james spader? @@ -11,9 +17,10 @@ const DEFAULTS = { billingCycle : 'hourly', } -export default Ember.Component.extend(Driver, { +export default Component.extend(Driver, { + layout, driverName: 'packet', - packetConfig: Ember.computed.alias('model.publicValues.packetConfig'), + packetConfig: alias('model.publicValues.packetConfig'), facilityChoices: null, planChoices: null, @@ -59,7 +66,7 @@ export default Ember.Component.extend(Driver, { }); }, - planChoiceDetails: Ember.computed('packetConfig.plan', function() { + planChoiceDetails: computed('packetConfig.plan', function() { let planSlug = this.get('packetConfig.plan'); let plan = this.get('allPlans').findBy('slug', planSlug); @@ -69,7 +76,7 @@ export default Ember.Component.extend(Driver, { parseOSs(osList) { let whitelist = this.get('osWhitelist'); return osList.filter((os) => { - if (whitelist.includes(os.slug) && !Ember.isEmpty(os.provisionable_on)) { + if (whitelist.includes(os.slug) && !isEmpty(os.provisionable_on)) { return os; } }); @@ -89,7 +96,7 @@ export default Ember.Component.extend(Driver, { return out; }, - facilityObserver: Ember.on('init', Ember.observer('packetConfig.facility', function() { + facilityObserver: on('init', observer('packetConfig.facility', function() { let facilities = this.get('facilityChoices'); let slug = this.get('packetConfig.facility'); @@ -119,7 +126,7 @@ export default Ember.Component.extend(Driver, { facilities: this.apiRequest('facilities'), }; - Ember.RSVP.hash(promises).then((hash) => { + hash(promises).then((hash) => { let osChoices = this.parseOSs(hash.opSys.operating_systems); let selectedPlans = this.parsePlans(osChoices.findBy('slug', 'ubuntu_14_04'), hash.plans.plans); diff --git a/lib/shared/addon/components/machine/driver-rackspace/component.js b/lib/shared/addon/components/machine/driver-rackspace/component.js index 8ebc3fb28..b1158d606 100644 --- a/lib/shared/addon/components/machine/driver-rackspace/component.js +++ b/lib/shared/addon/components/machine/driver-rackspace/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import Driver from 'shared/mixins/host-driver'; import Flavors from 'ui/utils/rackspace-choices'; +import layout from './template'; let flavorChoices = []; @@ -37,9 +39,10 @@ flavorChoices.sort(function(a,b) { } }); -export default Ember.Component.extend(Driver, { +export default Component.extend(Driver, { + layout, driverName : 'rackspace', - rackspaceConfig : Ember.computed.alias('model.publicValues.rackspaceConfig'), + rackspaceConfig : alias('model.publicValues.rackspaceConfig'), flavorChoices : flavorChoices, regionChoices : [ {label: 'Dallas (DFW)', value: 'DFW'}, diff --git a/lib/shared/addon/components/machine/driver-vmwarevsphere/component.js b/lib/shared/addon/components/machine/driver-vmwarevsphere/component.js index 57c39e631..ba223fcba 100644 --- a/lib/shared/addon/components/machine/driver-vmwarevsphere/component.js +++ b/lib/shared/addon/components/machine/driver-vmwarevsphere/component.js @@ -1,10 +1,13 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import Driver from 'shared/mixins/host-driver'; +import layout from './template'; -export default Ember.Component.extend(Driver, { +export default Component.extend(Driver, { + layout, driverName : 'vmwarevsphere', model : null, - config : Ember.computed.alias('model.publicValues.vmwarevsphereConfig'), + config : alias('model.publicValues.vmwarevsphereConfig'), showEngineUrl : false, bootstrap: function() { diff --git a/lib/shared/addon/components/modal-about/component.js b/lib/shared/addon/components/modal-about/component.js index f8dfbe650..b9860e540 100644 --- a/lib/shared/addon/components/modal-about/component.js +++ b/lib/shared/addon/components/modal-about/component.js @@ -1,7 +1,10 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['generic', 'about', 'medium-modal'], - settings: Ember.inject.service(), + settings: service(), }); diff --git a/lib/shared/addon/components/modal-add-payment/component.js b/lib/shared/addon/components/modal-add-payment/component.js index eaaebd5fb..c0e490e32 100644 --- a/lib/shared/addon/components/modal-add-payment/component.js +++ b/lib/shared/addon/components/modal-add-payment/component.js @@ -1,6 +1,10 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; import fetch from 'ember-api-store/utils/fetch'; +import layout from './template'; const CURRENCIES = [ { @@ -17,10 +21,11 @@ const CURRENCIES = [ }, ]; -export default Ember.Component.extend(ModalBase, { - intl: Ember.inject.service(), - session: Ember.inject.service(), - account: Ember.computed.alias('modalOpts'), +export default Component.extend(ModalBase, { + layout, + intl: service(), + session: service(), + account: alias('modalOpts'), classNames: ['generic', 'medium-modal', 'add-new-payment'], creditCard: null, errors: null, @@ -151,7 +156,7 @@ export default Ember.Component.extend(ModalBase, { }); }, - canValidate: Ember.observer('creditCard.name', 'creditCard.number', 'creditCard.expiry', 'creditCard.cvc', function() { + canValidate: observer('creditCard.name', 'creditCard.number', 'creditCard.expiry', 'creditCard.cvc', function() { var cc = this.get('creditCard'); var out = true; if (cc.name && cc.number && cc.cvc && cc.expiry) { diff --git a/lib/shared/addon/components/modal-auditlog-info/component.js b/lib/shared/addon/components/modal-auditlog-info/component.js index adbd20bac..40f086b14 100644 --- a/lib/shared/addon/components/modal-auditlog-info/component.js +++ b/lib/shared/addon/components/modal-auditlog-info/component.js @@ -1,10 +1,13 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['large-modal'], - requestObject : Ember.computed.alias('modalService.modalOpts.requestObject'), - responseObject : Ember.computed.alias('modalService.modalOpts.responseObject'), + requestObject : alias('modalService.modalOpts.requestObject'), + responseObject : alias('modalService.modalOpts.responseObject'), requestJSON : null, responseJSON : null, diff --git a/lib/shared/addon/components/modal-catalog-host/component.js b/lib/shared/addon/components/modal-catalog-host/component.js index 83f5e96e8..0d93366f7 100644 --- a/lib/shared/addon/components/modal-catalog-host/component.js +++ b/lib/shared/addon/components/modal-catalog-host/component.js @@ -1,10 +1,14 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; import { task } from 'ember-concurrency'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { - modalService: Ember.inject.service('modal'), - hostService: Ember.inject.service('host'), +export default Component.extend(ModalBase, { + layout, + modalService: service('modal'), + hostService: service('host'), classNames: ['full-modal'], loading: true, model: null, @@ -20,7 +24,7 @@ export default Ember.Component.extend(ModalBase, { actions: { completed(hostConfig) { this.get('modalService.modalOpts.callee').send('completed', hostConfig); - Ember.run.next(() => { + next(() => { this.get('modalService').toggleModal(); }); }, diff --git a/lib/shared/addon/components/modal-confirm-deactivate/component.js b/lib/shared/addon/components/modal-confirm-deactivate/component.js index adb28ff0f..cdbf03c44 100644 --- a/lib/shared/addon/components/modal-confirm-deactivate/component.js +++ b/lib/shared/addon/components/modal-confirm-deactivate/component.js @@ -1,13 +1,18 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import { alternateLabel } from 'ui/utils/platform'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['medium-modal', 'modal-logs'], - originalModel : Ember.computed.alias('modalService.modalOpts.originalModel'), - action : Ember.computed.alias('modalService.modalOpts.action'), + originalModel : alias('modalService.modalOpts.originalModel'), + action : alias('modalService.modalOpts.action'), alternateLabel : alternateLabel, - intl : Ember.inject.service(), + intl : service(), actions: { @@ -25,7 +30,7 @@ export default Ember.Component.extend(ModalBase, { }, 500); }, - isService: Ember.computed('originalModel.type','intl.locale', function() { + isService: computed('originalModel.type','intl.locale', function() { let type = this.get('originalModel.type'); let out = {}; let intl = this.get('intl'); diff --git a/lib/shared/addon/components/modal-confirm-remove-payment/component.js b/lib/shared/addon/components/modal-confirm-remove-payment/component.js index fd630148d..67f72876c 100644 --- a/lib/shared/addon/components/modal-confirm-remove-payment/component.js +++ b/lib/shared/addon/components/modal-confirm-remove-payment/component.js @@ -1,11 +1,14 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; import fetch from 'ember-api-store/utils/fetch'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['generic', 'medium-modal', 'add-new-payment'], - card: Ember.computed.alias('modalService.modalOpts.card'), - account: Ember.computed.alias('modalService.modalOpts.account'), + card: alias('modalService.modalOpts.card'), + account: alias('modalService.modalOpts.account'), actions: { confirm() { this.set('loading', true); diff --git a/lib/shared/addon/components/modal-container-logs/component.js b/lib/shared/addon/components/modal-container-logs/component.js index d107afd77..889e154ab 100644 --- a/lib/shared/addon/components/modal-container-logs/component.js +++ b/lib/shared/addon/components/modal-container-logs/component.js @@ -1,8 +1,11 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['large-modal'], - originalModel: Ember.computed.alias('modalService.modalOpts'), + originalModel: alias('modalService.modalOpts'), }); diff --git a/lib/shared/addon/components/modal-container-stop/component.js b/lib/shared/addon/components/modal-container-stop/component.js index 0d3ad154d..b504e96c4 100644 --- a/lib/shared/addon/components/modal-container-stop/component.js +++ b/lib/shared/addon/components/modal-container-stop/component.js @@ -1,10 +1,14 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; import { alternateLabel } from 'ui/utils/platform'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['medium-modal'], - resources: Ember.computed.alias('modalService.modalOpts.model'), + resources: alias('modalService.modalOpts.model'), alternateLabel: alternateLabel, actions: { @@ -13,7 +17,7 @@ export default Ember.Component.extend(ModalBase, { resource.send('stop'); }); - Ember.run.next(() => { + next(() => { this.send('cancel'); }); } diff --git a/lib/shared/addon/components/modal-container-to-service/component.js b/lib/shared/addon/components/modal-container-to-service/component.js index 964b222b6..681b06109 100644 --- a/lib/shared/addon/components/modal-container-to-service/component.js +++ b/lib/shared/addon/components/modal-container-to-service/component.js @@ -1,10 +1,15 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['medium-modal'], - model: Ember.computed.alias('modalService.modalOpts'), - router: Ember.inject.service(), + model: alias('modalService.modalOpts'), + router: service(), name: null, error: null, @@ -14,7 +19,7 @@ export default Ember.Component.extend(ModalBase, { this.set('error', null); this.get('model').doAction('converttoservice', {}).then(() => { this.send('cancel'); - Ember.run.next(() => { + next(() => { this.get('router').transitionTo('containers.index'); }); }).catch((err) => { diff --git a/lib/shared/addon/components/modal-edit-account/component.js b/lib/shared/addon/components/modal-edit-account/component.js index 439715b3b..58dd0fdb1 100644 --- a/lib/shared/addon/components/modal-edit-account/component.js +++ b/lib/shared/addon/components/modal-edit-account/component.js @@ -1,25 +1,31 @@ -import Ember from 'ember'; +import { resolve } from 'rsvp'; +import EmberObject, { computed } from '@ember/object'; +import { alias, not, reads } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; import C from 'ui/utils/constants'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, NewOrEdit, { +export default Component.extend(ModalBase, NewOrEdit, { + layout, classNames: ['large-modal'], - access: Ember.inject.service(), - primaryResource: Ember.computed.alias('model.account'), - settings: Ember.inject.service(), + access: service(), + primaryResource: alias('model.account'), + settings: service(), - originalModel: Ember.computed.alias('modalService.modalOpts'), + originalModel: alias('modalService.modalOpts'), account: null, credential: null, oldPassword: '', newPassword: '', newPassword2: '', - isAdmin: Ember.computed.alias('access.admin'), + isAdmin: alias('access.admin'), generated: false, - needOld: Ember.computed.not('isAdmin'), - showConfirm: Ember.computed.not('generated'), + needOld: not('isAdmin'), + showConfirm: not('generated'), actions: { error(err) { @@ -38,7 +44,7 @@ export default Ember.Component.extend(ModalBase, NewOrEdit, { }, }, - validateDescription: Ember.computed(function() { + validateDescription: computed(function() { return this.get('settings').get(C.SETTING.AUTH_LOCAL_VALIDATE_DESC) || null; }), @@ -46,7 +52,7 @@ export default Ember.Component.extend(ModalBase, NewOrEdit, { return this.get('access.provider') === 'localauthconfig'; }.property('access.provider'), - authEnabled: Ember.computed.reads('access.enabled'), + authEnabled: reads('access.enabled'), init() { this._super(...arguments); @@ -54,7 +60,7 @@ export default Ember.Component.extend(ModalBase, NewOrEdit, { var credential = this.get('originalModel.passwordCredential'); var credentialClone = (credential ? credential.clone() : null); - this.set('model', Ember.Object.create({ + this.set('model', EmberObject.create({ account: accountClone, credential: credentialClone, })); @@ -96,7 +102,7 @@ export default Ember.Component.extend(ModalBase, NewOrEdit, { } else { - return Ember.RSVP.resolve(); + return resolve(); } }, @@ -123,7 +129,7 @@ export default Ember.Component.extend(ModalBase, NewOrEdit, { this.set('session.'+C.SESSION.USER_TYPE, this.get('model.account.kind')); } - return Ember.RSVP.resolve(); + return resolve(); }, }); diff --git a/lib/shared/addon/components/modal-edit-apikey/component.js b/lib/shared/addon/components/modal-edit-apikey/component.js index a00eb23c5..a115d7d20 100644 --- a/lib/shared/addon/components/modal-edit-apikey/component.js +++ b/lib/shared/addon/components/modal-edit-apikey/component.js @@ -1,13 +1,17 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, NewOrEdit, { - endpointService: Ember.inject.service('endpoint'), - projects: Ember.inject.service(), +export default Component.extend(ModalBase, NewOrEdit, { + layout, + endpointService: service('endpoint'), + projects: service(), classNames: ['large-modal', 'alert'], - originalModel: Ember.computed.alias('modalService.modalOpts'), + originalModel: alias('modalService.modalOpts'), model: null, clone: null, justCreated: false, diff --git a/lib/shared/addon/components/modal-edit-backup/component.js b/lib/shared/addon/components/modal-edit-backup/component.js index ac7bd5307..274eeb19f 100644 --- a/lib/shared/addon/components/modal-edit-backup/component.js +++ b/lib/shared/addon/components/modal-edit-backup/component.js @@ -1,10 +1,13 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['large-modal'], - originalModel: Ember.computed.alias('modalService.modalOpts.originalModel'), - backupTargets : Ember.computed.alias('modalService.modalOpts.backupTargets'), + originalModel: alias('modalService.modalOpts.originalModel'), + backupTargets : alias('modalService.modalOpts.backupTargets'), editing : false, clone : null, errors : null, diff --git a/lib/shared/addon/components/modal-edit-certificate/component.js b/lib/shared/addon/components/modal-edit-certificate/component.js index b9df721d4..75c195133 100644 --- a/lib/shared/addon/components/modal-edit-certificate/component.js +++ b/lib/shared/addon/components/modal-edit-certificate/component.js @@ -1,13 +1,17 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, NewOrEdit, { +export default Component.extend(ModalBase, NewOrEdit, { + layout, classNames: ['large-modal'], - originalModel: Ember.computed.alias('modalService.modalOpts'), + originalModel: alias('modalService.modalOpts'), editing: true, model: null, - intl: Ember.inject.service(), + intl: service(), init() { this._super(...arguments); diff --git a/lib/shared/addon/components/modal-edit-dns/component.js b/lib/shared/addon/components/modal-edit-dns/component.js index a705bc248..95a1e6fd1 100644 --- a/lib/shared/addon/components/modal-edit-dns/component.js +++ b/lib/shared/addon/components/modal-edit-dns/component.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['large-modal'], - model : Ember.computed.alias('modalService.modalOpts'), + model : alias('modalService.modalOpts'), actions: { done() { diff --git a/lib/shared/addon/components/modal-edit-driver/component.js b/lib/shared/addon/components/modal-edit-driver/component.js index 66b93b577..d05a6de51 100644 --- a/lib/shared/addon/components/modal-edit-driver/component.js +++ b/lib/shared/addon/components/modal-edit-driver/component.js @@ -1,21 +1,26 @@ -import Ember from 'ember'; +import { scheduleOnce } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, NewOrEdit, { +export default Component.extend(ModalBase, NewOrEdit, { + layout, classNames: ['large-modal', 'alert'], - originalModel: Ember.computed.alias('modalService.modalOpts'), - settings: Ember.inject.service(), + originalModel: alias('modalService.modalOpts'), + settings: service(), clone : null, - primaryResource : Ember.computed.alias('originalModel'), + primaryResource : alias('originalModel'), errors : null, init() { this._super(...arguments); this.set('clone', this.get('originalModel').clone()); this.set('model', this.get('originalModel').clone()); - Ember.run.scheduleOnce('afterRender', () => { + scheduleOnce('afterRender', () => { this.$('INPUT')[0].focus(); }); }, diff --git a/lib/shared/addon/components/modal-edit-env-catalogs/component.js b/lib/shared/addon/components/modal-edit-env-catalogs/component.js index c910d1edb..26ec331c4 100644 --- a/lib/shared/addon/components/modal-edit-env-catalogs/component.js +++ b/lib/shared/addon/components/modal-edit-env-catalogs/component.js @@ -1,8 +1,11 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['large-modal'], - project: Ember.computed.alias('modalService.modalOpts.project'), - catalogs: Ember.computed.alias('modalService.modalOpts.catalogs'), + project: alias('modalService.modalOpts.project'), + catalogs: alias('modalService.modalOpts.catalogs'), }); diff --git a/lib/shared/addon/components/modal-edit-host/component.js b/lib/shared/addon/components/modal-edit-host/component.js index 443a15289..764358a28 100644 --- a/lib/shared/addon/components/modal-edit-host/component.js +++ b/lib/shared/addon/components/modal-edit-host/component.js @@ -1,14 +1,19 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import { on } from '@ember/object/evented'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ManageLabels from 'shared/mixins/manage-labels'; import { flattenLabelArrays } from 'shared/mixins/manage-labels'; import NewOrEdit from 'shared/mixins/new-or-edit'; import C from 'ui/utils/constants'; import { debouncedObserver } from 'ui/utils/debounce'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, NewOrEdit, ManageLabels, { +export default Component.extend(ModalBase, NewOrEdit, ManageLabels, { + layout, classNames: ['large-modal'], - originalModel: Ember.computed.alias('modalService.modalOpts'), + originalModel: alias('modalService.modalOpts'), model: null, editing: true, @@ -39,7 +44,7 @@ export default Ember.Component.extend(ModalBase, NewOrEdit, ManageLabels, { this.set('requireAny', this.getLabel(C.LABEL.REQUIRE_ANY)); }, - customNameObserver: Ember.on('init', Ember.observer('customName', function() { + customNameObserver: on('init', observer('customName', function() { let cn = this.get('customName'); if (cn && cn.length > 0) { this.set('primaryResource.name', cn); diff --git a/lib/shared/addon/components/modal-edit-registry/component.js b/lib/shared/addon/components/modal-edit-registry/component.js index ba30a8c17..af3440392 100644 --- a/lib/shared/addon/components/modal-edit-registry/component.js +++ b/lib/shared/addon/components/modal-edit-registry/component.js @@ -1,10 +1,14 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, NewOrEdit, { +export default Component.extend(ModalBase, NewOrEdit, { + layout, classNames: ['large-modal'], - originalModel: Ember.computed.alias('modalService.modalOpts'), + originalModel: alias('modalService.modalOpts'), error: null, credentials: null, model: null, @@ -15,7 +19,7 @@ export default Ember.Component.extend(ModalBase, NewOrEdit, { this._super(...arguments); var orig = this.get('originalModel'); - this.set('model',Ember.Object.create({ + this.set('model',EmberObject.create({ allRegistries: orig.get('registries'), registry: orig.get('registry').clone(), credential: orig.get('credential').clone() diff --git a/lib/shared/addon/components/modal-edit-secret/component.js b/lib/shared/addon/components/modal-edit-secret/component.js index 7e91cfca8..e4722e9cc 100644 --- a/lib/shared/addon/components/modal-edit-secret/component.js +++ b/lib/shared/addon/components/modal-edit-secret/component.js @@ -1,10 +1,13 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['span-8', 'offset-2'], - originalModel: Ember.computed.alias('modalService.modalOpts'), + originalModel: alias('modalService.modalOpts'), editing: true, model: null, diff --git a/lib/shared/addon/components/modal-edit-setting/component.js b/lib/shared/addon/components/modal-edit-setting/component.js index e4452b37a..322fb2d1d 100644 --- a/lib/shared/addon/components/modal-edit-setting/component.js +++ b/lib/shared/addon/components/modal-edit-setting/component.js @@ -1,13 +1,17 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import { normalizeName } from 'ui/services/settings'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { - settings: Ember.inject.service(), - growl: Ember.inject.service(), +export default Component.extend(ModalBase, { + layout, + settings: service(), + growl: service(), classNames: ['span-8', 'offset-2'], - model: Ember.computed.alias('modalService.modalOpts'), + model: alias('modalService.modalOpts'), value: null, removing: false, diff --git a/lib/shared/addon/components/modal-edit-stack/component.js b/lib/shared/addon/components/modal-edit-stack/component.js index 3446d763f..a8b536d6d 100644 --- a/lib/shared/addon/components/modal-edit-stack/component.js +++ b/lib/shared/addon/components/modal-edit-stack/component.js @@ -1,12 +1,15 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; -import {tagChoices, tagsToArray} from 'ui/models/stack'; +import { tagChoices, tagsToArray } from 'ui/models/stack'; import ModalBase from 'shared/mixins/modal-base'; import { uniqKeys } from 'shared/utils/util'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, NewOrEdit, { +export default Component.extend(ModalBase, NewOrEdit, { + layout, classNames: ['large-modal'], - originalModel: Ember.computed.alias('modalService.modalOpts'), + originalModel: alias('modalService.modalOpts'), editing: true, model: null, diff --git a/lib/shared/addon/components/modal-feedback/component.js b/lib/shared/addon/components/modal-feedback/component.js index ece0a5ef1..4ec76a623 100644 --- a/lib/shared/addon/components/modal-feedback/component.js +++ b/lib/shared/addon/components/modal-feedback/component.js @@ -1,13 +1,17 @@ -import Ember from 'ember'; +import { scheduleOnce, later } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; import { loadScript } from 'ui/utils/load-script'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['span-8', 'offset-2', 'modal-telemetry'], - settings: Ember.inject.service(), - prefs: Ember.inject.service(), - access: Ember.inject.service(), + settings: service(), + prefs: service(), + access: service(), loading: true, @@ -17,7 +21,7 @@ export default Ember.Component.extend(ModalBase, { let opt = JSON.parse(this.get(`settings.${C.SETTING.FEEDBACK_FORM}`)||'{}'); - Ember.run.scheduleOnce('afterRender', this, function() { + scheduleOnce('afterRender', this, function() { loadScript('//js.hsforms.net/forms/v2.js').then(() => { window['hbspt'].forms.create({ css: '', @@ -33,7 +37,7 @@ export default Ember.Component.extend(ModalBase, { }, onFormSubmit: function() { self.styleForm(); - Ember.run.later(() => { + later(() => { self.send('sent'); }, 1000); }, diff --git a/lib/shared/addon/components/modal-host-evacuate/component.js b/lib/shared/addon/components/modal-host-evacuate/component.js index 3b92d18a3..98898f0f8 100644 --- a/lib/shared/addon/components/modal-host-evacuate/component.js +++ b/lib/shared/addon/components/modal-host-evacuate/component.js @@ -1,10 +1,14 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; import { alternateLabel } from 'ui/utils/platform'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['modal-container', 'medium-modal', 'alert'], - resources: Ember.computed.alias('modalService.modalOpts.model'), + resources: alias('modalService.modalOpts.model'), alternateLabel: alternateLabel, actions: { @@ -13,7 +17,7 @@ export default Ember.Component.extend(ModalBase, { resource.doAction('evacuate'); }); - Ember.run.next(() => { + next(() => { this.send('cancel'); }); } diff --git a/lib/shared/addon/components/modal-kubeconfig/component.js b/lib/shared/addon/components/modal-kubeconfig/component.js index 0339e4000..65f070074 100644 --- a/lib/shared/addon/components/modal-kubeconfig/component.js +++ b/lib/shared/addon/components/modal-kubeconfig/component.js @@ -1,5 +1,7 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; const CONFIG_TPL = `apiVersion: v1 kind: Config @@ -22,11 +24,12 @@ users: -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['modal-container', 'large-modal', 'alert'], - access: Ember.inject.service(), - growl: Ember.inject.service(), - projects: Ember.inject.service(), + access: service(), + growl: service(), + projects: service(), step: 1, kubeconfig: '', diff --git a/lib/shared/addon/components/modal-kubectl/component.js b/lib/shared/addon/components/modal-kubectl/component.js index ea31d9e82..67e7dd309 100644 --- a/lib/shared/addon/components/modal-kubectl/component.js +++ b/lib/shared/addon/components/modal-kubectl/component.js @@ -1,10 +1,14 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; import C from 'ui/utils/constants'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { - access: Ember.inject.service(), - projects: Ember.inject.service(), +export default Component.extend(ModalBase, { + layout, + access: service(), + projects: service(), classNames: ['modal-container', 'large-modal', 'fullscreen-modal', 'modal-shell', 'alert'], loading: true, @@ -21,7 +25,7 @@ export default Ember.Component.extend(ModalBase, { this.shortcuts.enable(); }, - command: Ember.computed('model.labels', function() { + command: computed('model.labels', function() { var labels = this.get('model.labels')||{}; if ( labels[C.LABEL.K8S_TOKEN]+'' === 'true' ) { return [ diff --git a/lib/shared/addon/components/modal-new-volume/component.js b/lib/shared/addon/components/modal-new-volume/component.js index feb7255f8..bb9b8d505 100644 --- a/lib/shared/addon/components/modal-new-volume/component.js +++ b/lib/shared/addon/components/modal-new-volume/component.js @@ -1,11 +1,14 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['large-modal'], - callback: Ember.computed.alias('modalService.modalOpts.callback'), - model: Ember.computed.alias('modalService.modalOpts.model'), + callback: alias('modalService.modalOpts.callback'), + model: alias('modalService.modalOpts.model'), editing: true, init() { diff --git a/lib/shared/addon/components/modal-process-error/component.js b/lib/shared/addon/components/modal-process-error/component.js index 40ecf5a3f..759a6099c 100644 --- a/lib/shared/addon/components/modal-process-error/component.js +++ b/lib/shared/addon/components/modal-process-error/component.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['large-modal'], - exception: Ember.computed.alias('modalService.modalOpts'), + exception: alias('modalService.modalOpts'), actions: { dismiss: function() { this.send('cancel'); diff --git a/lib/shared/addon/components/modal-rollback-service/component.js b/lib/shared/addon/components/modal-rollback-service/component.js index 15f17161b..1a6640fb2 100644 --- a/lib/shared/addon/components/modal-rollback-service/component.js +++ b/lib/shared/addon/components/modal-rollback-service/component.js @@ -1,5 +1,7 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; function sanitize(input) { let config = input.serialize().config; @@ -38,8 +40,9 @@ function sanitize(input) { return config; } -export default Ember.Component.extend(ModalBase, { - growl: Ember.inject.service(), +export default Component.extend(ModalBase, { + layout, + growl: service(), classNames: ['medium-modal'], diff --git a/lib/shared/addon/components/modal-root/component.js b/lib/shared/addon/components/modal-root/component.js index 2207c8a8c..17f677294 100644 --- a/lib/shared/addon/components/modal-root/component.js +++ b/lib/shared/addon/components/modal-root/component.js @@ -1,14 +1,19 @@ -import Ember from 'ember'; +import $ from 'jquery'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName: 'div', classNames: ['modal-overlay'], classNameBindings: ['modalVisible:modal-open:modal-closed'], - modalService: Ember.inject.service('modal'), - modalType: Ember.computed.alias('modalService.modalType'), - modalVisible: Ember.computed.alias('modalService.modalVisible'), + modalService: service('modal'), + modalType: alias('modalService.modalType'), + modalVisible: alias('modalService.modalVisible'), click(e) { - if (this.get('modalService.closeWithOutsideClick') && Ember.$(e.target).hasClass('modal-open')) { + if (this.get('modalService.closeWithOutsideClick') && $(e.target).hasClass('modal-open')) { this.get('modalService').toggleModal(); } } diff --git a/lib/shared/addon/components/modal-shell/component.js b/lib/shared/addon/components/modal-shell/component.js index 1852e5ec0..4d885d1ef 100644 --- a/lib/shared/addon/components/modal-shell/component.js +++ b/lib/shared/addon/components/modal-shell/component.js @@ -1,9 +1,12 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['modal-container', 'large-modal', 'fullscreen-modal', 'modal-shell', 'alert'], - originalModel: Ember.computed.alias('modalService.modalOpts.model'), + originalModel: alias('modalService.modalOpts.model'), init() { this._super(...arguments); this.shortcuts.disable(); diff --git a/lib/shared/addon/components/modal-shortcuts/component.js b/lib/shared/addon/components/modal-shortcuts/component.js index 3bb759d6f..826908b62 100644 --- a/lib/shared/addon/components/modal-shortcuts/component.js +++ b/lib/shared/addon/components/modal-shortcuts/component.js @@ -1,16 +1,21 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; import C from 'ui/utils/constants'; +import layout from './template'; let DEFAULT_TIME = 400; -export default Ember.Component.extend(ModalBase, { - prefs : Ember.inject.service(), +export default Component.extend(ModalBase, { + layout, + prefs : service(), classNames: ['generic', 'medium-modal'], - settings: Ember.inject.service(), - access: Ember.inject.service(), + settings: service(), + access: service(), - isAdmin: Ember.computed.alias('access.admin'), + isAdmin: alias('access.admin'), containerCount: function() { let count = this.get('containers.length'); @@ -24,7 +29,7 @@ export default Ember.Component.extend(ModalBase, { time: DEFAULT_TIME, timer: null, - currentTheme: Ember.computed(`prefs.${C.PREFS.THEME}`, function() { + currentTheme: computed(`prefs.${C.PREFS.THEME}`, function() { return this.get(`prefs.${C.PREFS.THEME}`); }), diff --git a/lib/shared/addon/components/modal-telemetry/component.js b/lib/shared/addon/components/modal-telemetry/component.js index 2e5184c84..3ca3b7d37 100644 --- a/lib/shared/addon/components/modal-telemetry/component.js +++ b/lib/shared/addon/components/modal-telemetry/component.js @@ -1,10 +1,13 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['modal-container', 'span-6', 'offset-3', 'modal-telemetry', 'alert'], - settings: Ember.inject.service(), + settings: service(), optIn: null, init() { diff --git a/lib/shared/addon/components/modal-wechat/component.js b/lib/shared/addon/components/modal-wechat/component.js index 409bffd98..f3b8a01d7 100644 --- a/lib/shared/addon/components/modal-wechat/component.js +++ b/lib/shared/addon/components/modal-wechat/component.js @@ -1,7 +1,10 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import ModalBase from 'shared/mixins/modal-base'; +import layout from './template'; -export default Ember.Component.extend(ModalBase, { +export default Component.extend(ModalBase, { + layout, classNames: ['modal-container','about','span-6','offset-3', 'alert'], - settings: Ember.inject.service(), + settings: service(), }); diff --git a/lib/shared/addon/components/multi-container-stats/component.js b/lib/shared/addon/components/multi-container-stats/component.js index 342a77688..fc99dc8c4 100644 --- a/lib/shared/addon/components/multi-container-stats/component.js +++ b/lib/shared/addon/components/multi-container-stats/component.js @@ -1,17 +1,21 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import MultiStatsSocket from 'ui/utils/multi-stats'; +import layout from './template'; const FIELDS = ['cpuUser','cpuSystem','cpuTotal','networkTx','networkRx','networkTotal','memory','storageWrite','storageRead','storageTotal']; -export default Ember.Component.extend({ +export default Component.extend({ + layout, model: null, linkName: 'containerStats', maxPoints: 60, emitInterval: 1000, emitMaps: false, - available: Ember.computed.alias('statsSocket.available'), - active: Ember.computed.alias('statsSocket.active'), - loading: Ember.computed.alias('statsSocket.loading'), + available: alias('statsSocket.available'), + active: alias('statsSocket.active'), + loading: alias('statsSocket.loading'), tagName: '', statsSocket: null, @@ -52,7 +56,7 @@ export default Ember.Component.extend({ }.observes('active'), connect() { - Ember.run.next(() => { + next(() => { try { var stats = MultiStatsSocket.create({ resource: this.get('model'), diff --git a/lib/shared/addon/components/new-catalog/component.js b/lib/shared/addon/components/new-catalog/component.js index 4893f3e6b..44b52efb4 100644 --- a/lib/shared/addon/components/new-catalog/component.js +++ b/lib/shared/addon/components/new-catalog/component.js @@ -1,18 +1,24 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { scheduleOnce } from '@ember/runloop'; +import { alias, notEmpty } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; import C from 'ui/utils/constants'; import Util from 'ui/utils/util'; import { compare as compareVersion } from 'ui/utils/parse-version'; import { task } from 'ember-concurrency'; import YAML from 'npm:yamljs'; +import layout from './template'; -export default Ember.Component.extend(NewOrEdit, { - catalog: Ember.inject.service(), - intl: Ember.inject.service(), - projects: Ember.inject.service(), - router: Ember.inject.service(), - settings: Ember.inject.service(), +export default Component.extend(NewOrEdit, { + layout, + catalog: service(), + intl: service(), + projects: service(), + router: service(), + settings: service(), allTemplates: null, templateResource: null, @@ -34,9 +40,9 @@ export default Ember.Component.extend(NewOrEdit, { classNames: ['launch-catalog'], - primaryResource: Ember.computed.alias('stackResource'), - templateBase: Ember.computed.alias('templateResource.templateBase'), - editing: Ember.computed.notEmpty('stackResource.id'), + primaryResource: alias('stackResource'), + templateBase: alias('templateResource.templateBase'), + editing: notEmpty('stackResource.id'), previewOpen: false, previewTab: null, @@ -72,7 +78,7 @@ export default Ember.Component.extend(NewOrEdit, { this._super(...arguments); this.set('selectedTemplateModel', null); - Ember.run.scheduleOnce('afterRender', () => { + scheduleOnce('afterRender', () => { if ( this.get('selectedTemplateUrl') ) { this.templateChanged(); } else { @@ -200,9 +206,9 @@ export default Ember.Component.extend(NewOrEdit, { return out; }.property('selectedTemplateModel.questions.@each.{variable,answer}'), - answersArray: Ember.computed.alias('selectedTemplateModel.questions'), + answersArray: alias('selectedTemplateModel.questions'), - answersString: Ember.computed('answersArray.@each.{variable,answer}', function() { + answersString: computed('answersArray.@each.{variable,answer}', function() { let neu = {}; this.get('answersArray').forEach((a) => { neu[a.variable] = a.answer || a.default; diff --git a/lib/shared/addon/components/new-edit-balancer/component.js b/lib/shared/addon/components/new-edit-balancer/component.js index a8e9d4604..dac0fd994 100644 --- a/lib/shared/addon/components/new-edit-balancer/component.js +++ b/lib/shared/addon/components/new-edit-balancer/component.js @@ -1,12 +1,18 @@ -import Ember from 'ember'; +import { once } from '@ember/runloop'; +import EmberObject from '@ember/object'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; import C from 'ui/utils/constants'; import StackState from 'shared/mixins/stack-memory'; +import layout from './template'; -export default Ember.Component.extend(NewOrEdit, StackState, { - intl : Ember.inject.service(), - settings : Ember.inject.service(), - prefs: Ember.inject.service(), +export default Component.extend(NewOrEdit, StackState, { + layout, + intl : service(), + settings : service(), + prefs: service(), service : null, editing : null, @@ -24,8 +30,8 @@ export default Ember.Component.extend(NewOrEdit, StackState, { schedulingErrors : null, scaleErrors : null, - primaryResource : Ember.computed.alias('service'), - launchConfig : Ember.computed.alias('service.launchConfig'), + primaryResource : alias('service'), + launchConfig : alias('service.launchConfig'), init() { this._super(...arguments); @@ -115,7 +121,7 @@ export default Ember.Component.extend(NewOrEdit, StackState, { let to = this.get('service.launchConfig.image')||''; if ( this.get('upgradeImage')+'' === 'true' ) { - return Ember.Object.create({ + return EmberObject.create({ from: from, to: to, }); @@ -131,7 +137,7 @@ export default Ember.Component.extend(NewOrEdit, StackState, { labelsReady: false, labelsChanged: function() { - Ember.run.once(this,'mergeLabels'); + once(this,'mergeLabels'); }.observes( 'userLabels.@each.{key,value}', 'scaleLabels.@each.{key,value}', diff --git a/lib/shared/addon/components/new-edit-cluster/component.js b/lib/shared/addon/components/new-edit-cluster/component.js index 79d646a23..e96e9eaf5 100644 --- a/lib/shared/addon/components/new-edit-cluster/component.js +++ b/lib/shared/addon/components/new-edit-cluster/component.js @@ -1,19 +1,24 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; import { parseExternalId } from 'ui/utils/parse-externalid'; import { task/* , timeout */ } from 'ember-concurrency'; import C from 'ui/utils/constants'; import NewOrEdit from 'shared/mixins/new-or-edit'; +import layout from './template'; -export default Ember.Component.extend(NewOrEdit, { +export default Component.extend(NewOrEdit, { + layout, editing: true, editCluster: false, - primaryResource: Ember.computed.alias('model.cluster'), + primaryResource: alias('model.cluster'), goToTemplate: null, cluster: null, showHeader: true, - projects: Ember.inject.service(), + projects: service(), // application: Ember.inject.controller(), - catalog: Ember.inject.service(), + catalog: service(), catalogItem: null, editCatalog: false, selectedTemplateUrl: null, @@ -179,7 +184,7 @@ export default Ember.Component.extend(NewOrEdit, { })); } - var neu = Ember.Object.create({ + var neu = EmberObject.create({ stack: stack, tpl: template, upgrade: false, diff --git a/lib/shared/addon/components/new-edit-dns/component.js b/lib/shared/addon/components/new-edit-dns/component.js index c7199748a..8272377e4 100644 --- a/lib/shared/addon/components/new-edit-dns/component.js +++ b/lib/shared/addon/components/new-edit-dns/component.js @@ -1,7 +1,12 @@ -import Ember from 'ember'; +import { reject } from 'rsvp'; +import { next } from '@ember/runloop'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; import Errors from 'ui/utils/errors'; import StackState from 'shared/mixins/stack-memory'; +import layout from './template'; const HOSTNAME = 'externalhostname'; const IP = 'externalip'; @@ -16,13 +21,14 @@ function modeToType(mode) { } } -export default Ember.Component.extend(NewOrEdit, StackState, { - intl: Ember.inject.service(), +export default Component.extend(NewOrEdit, StackState, { + layout, + intl: service(), record: null, editing: true, - primaryResource: Ember.computed.alias('record'), + primaryResource: alias('record'), mode: null, targetServicesAsMaps: null, @@ -41,7 +47,7 @@ export default Ember.Component.extend(NewOrEdit, StackState, { addTargetIp() { this.get('targetIpArray').pushObject({value: null}); - Ember.run.next(() => { + next(() => { this.$('.target-ip').last()[0].focus(); }); }, @@ -151,7 +157,7 @@ export default Ember.Component.extend(NewOrEdit, StackState, { return false; }); } else { - return Ember.RSVP.reject('No Stack'); + return reject('No Stack'); } } diff --git a/lib/shared/addon/components/new-edit-secret/component.js b/lib/shared/addon/components/new-edit-secret/component.js index fe08e1d23..cb7d937b2 100644 --- a/lib/shared/addon/components/new-edit-secret/component.js +++ b/lib/shared/addon/components/new-edit-secret/component.js @@ -1,11 +1,14 @@ -import Ember from 'ember'; +import { observer } from '@ember/object'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; +import layout from './template'; -export default Ember.Component.extend(NewOrEdit, { +export default Component.extend(NewOrEdit, { + layout, model: null, userValue: '', - userValueChanged: Ember.observer('userValue', function() { + userValueChanged: observer('userValue', function() { this.set('primaryResource.value', AWS.util.base64.encode(this.get('userValue'))); }), diff --git a/lib/shared/addon/components/new-password/component.js b/lib/shared/addon/components/new-password/component.js index 4c6806706..c8e6decde 100644 --- a/lib/shared/addon/components/new-password/component.js +++ b/lib/shared/addon/components/new-password/component.js @@ -1,11 +1,14 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, newPassword: null, confirmPassword: null, passwordOkay: false, passwordOut: null, - passwordsMatch: Ember.computed('newPassword', 'confirmPassword', function() { + passwordsMatch: computed('newPassword', 'confirmPassword', function() { if (this.get('confirmPassword')) { if ((this.get('newPassword') === this.get('confirmPassword'))) { this.set('passwordOut', this.get('newPassword')); diff --git a/lib/shared/addon/components/new-select/component.js b/lib/shared/addon/components/new-select/component.js index 368484e2d..0a2a3a3d4 100644 --- a/lib/shared/addon/components/new-select/component.js +++ b/lib/shared/addon/components/new-select/component.js @@ -1,6 +1,10 @@ -import Ember from 'ember'; +import { computed, get } from '@ember/object'; +import { reads } from '@ember/object/computed'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName: 'select', // possible passed-in values with their defaults: content: null, @@ -21,7 +25,7 @@ export default Ember.Component.extend({ // shadow the passed-in `selection` to avoid // leaking changes to it via a 2-way binding - _selection: Ember.computed.reads('selection'), + _selection: reads('selection'), init() { this._super(...arguments); @@ -29,11 +33,11 @@ export default Ember.Component.extend({ this.set('content', []); } - this.set('ungroupedContent', Ember.computed('content.@each.'+this.get('optionGroupPath'), () => { + this.set('ungroupedContent', computed('content.@each.'+this.get('optionGroupPath'), () => { var groupPath = this.get('optionGroupPath'); var out = []; this.get('content').forEach((opt) => { - var key = Ember.get(opt, groupPath); + var key = get(opt, groupPath); if ( !key ) { out.push(opt); @@ -43,12 +47,12 @@ export default Ember.Component.extend({ return out; })); - this.set('groupedContent', Ember.computed('content.@each.'+this.get('optionGroupPath'), () => { + this.set('groupedContent', computed('content.@each.'+this.get('optionGroupPath'), () => { var groupPath = this.get('optionGroupPath'); var out = []; this.get('content').forEach((opt) => { - var key = Ember.get(opt, groupPath); + var key = get(opt, groupPath); if ( key ) { var group = out.filterBy('group', key)[0]; @@ -101,7 +105,7 @@ export default Ember.Component.extend({ if ( selection ) { - this.set('value', Ember.get(selection, this.get('optionValuePath'))); + this.set('value', get(selection, this.get('optionValuePath'))); } else { diff --git a/lib/shared/addon/components/new-volume/component.js b/lib/shared/addon/components/new-volume/component.js index 37bb22c82..ea052de30 100644 --- a/lib/shared/addon/components/new-volume/component.js +++ b/lib/shared/addon/components/new-volume/component.js @@ -1,5 +1,8 @@ -import Ember from 'ember'; +import { resolve, reject } from 'rsvp'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NewOrEdit from 'shared/mixins/new-or-edit'; +import layout from './template'; const SPECIAL = { '': 'editVolume.driver.local', @@ -13,8 +16,9 @@ const HIDE = [ 'rancher-secrets', ]; -export default Ember.Component.extend(NewOrEdit, { - intl: Ember.inject.service(), +export default Component.extend(NewOrEdit, { + layout, + intl: service(), model: null, scope: 'global', @@ -122,19 +126,19 @@ export default Ember.Component.extend(NewOrEdit, { let stackPromise; // Set the stack ID if ( scope === 'global' ) { - stackPromise = Ember.RSVP.resolve(); + stackPromise = resolve(); } else { pr.set('perContainer', (scope === 'container')); if ( this.get('stack.id') ) { pr.set('stackId', this.get('stack.id')); - stackPromise = Ember.RSVP.resolve(); + stackPromise = resolve(); } else if ( this.get('stack') && this.get('stack.name') ) { stackPromise = this.get('stack').save().then((newStack) => { pr.set('stackId', newStack.get('id')); }); } else { - stackPromise = Ember.RSVP.reject('Stack is required'); + stackPromise = reject('Stack is required'); } } diff --git a/lib/shared/addon/components/page-footer/component.js b/lib/shared/addon/components/page-footer/component.js index f350f7bee..985296e94 100644 --- a/lib/shared/addon/components/page-footer/component.js +++ b/lib/shared/addon/components/page-footer/component.js @@ -1,21 +1,26 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; -export default Ember.Component.extend({ - intl: Ember.inject.service(), +export default Component.extend({ + layout, + intl: service(), tagName: 'footer', className: 'clearfix', - settings: Ember.inject.service(), - prefs: Ember.inject.service(), + settings: service(), + prefs: service(), githubBase: C.EXT_REFERENCES.GITHUB, forumBase: C.EXT_REFERENCES.FORUM, slackBase: C.EXT_REFERENCES.SLACK, - projectId : Ember.computed.alias(`tab-session.${C.TABSESSION.PROJECT}`), + projectId : alias(`tab-session.${C.TABSESSION.PROJECT}`), - modalService: Ember.inject.service('modal'), + modalService: service('modal'), init() { this._super(...arguments); @@ -37,7 +42,7 @@ export default Ember.Component.extend({ }); }, - showWechat : Ember.computed('intl._locale', function() { + showWechat : computed('intl._locale', function() { let locale = this.get('intl._locale'); if (locale) { return locale[0] === 'zh-hans'; @@ -58,5 +63,3 @@ export default Ember.Component.extend({ }, } }); - - diff --git a/lib/shared/addon/components/page-header-environment/component.js b/lib/shared/addon/components/page-header-environment/component.js index 1c70223b6..3cc0b7447 100644 --- a/lib/shared/addon/components/page-header-environment/component.js +++ b/lib/shared/addon/components/page-header-environment/component.js @@ -1,3 +1,4 @@ +import { alias, reads } from '@ember/object/computed'; import Component from '@ember/component'; import layout from './template'; import { inject as service } from '@ember/service' @@ -7,7 +8,7 @@ export default Component.extend({ layout, access: service(), projects: service(), - project: computed.alias('projects.current'), + project: alias('projects.current'), isOwner: null, @@ -33,7 +34,7 @@ export default Component.extend({ return this.get('scope') === 'user'; }), - isAdmin: computed.reads('access.admin'), + isAdmin: reads('access.admin'), clusters: computed(function() { return this.get('userStore').all('cluster', null, {url: 'clusters', forceReload: true, removeMissing: true}); diff --git a/lib/shared/addon/components/page-header/component.js b/lib/shared/addon/components/page-header/component.js index 97531a769..1e125580d 100644 --- a/lib/shared/addon/components/page-header/component.js +++ b/lib/shared/addon/components/page-header/component.js @@ -1,9 +1,10 @@ +import { alias, equal } from '@ember/object/computed'; import Component from '@ember/component'; import { inject as service } from '@ember/service' import { computed } from '@ember/object'; import layout from './template'; import C from 'shared/utils/constants'; -import {get as getTree} from 'shared/utils/navigation-tree'; +import { get as getTree } from 'shared/utils/navigation-tree'; import HoverDropdown from 'shared/mixins/hover-dropdowns'; import { run } from '@ember/runloop'; @@ -31,14 +32,14 @@ export default Component.extend(HoverDropdown, { access : service(), prefs : service(), - clusterId : computed.alias('projects.currentCluster.id'), - cluster : computed.alias('projects.currentCluster'), - projectId : computed.alias('projects.current.id'), - project : computed.alias('projects.current'), - isAdmin : computed.alias('access.admin'), - isCaas : computed.equal('app.mode',C.MODE.CAAS), - isOss : computed.equal('app.mode',C.MODE.OSS), - accessEnabled : computed.alias('access.enabled'), + clusterId : alias('projects.currentCluster.id'), + cluster : alias('projects.currentCluster'), + projectId : alias('projects.current.id'), + project : alias('projects.current'), + isAdmin : alias('access.admin'), + isCaas : equal('app.mode',C.MODE.CAAS), + isOss : equal('app.mode',C.MODE.OSS), + accessEnabled : alias('access.enabled'), // Component options tagName : 'header', diff --git a/lib/shared/addon/components/pretty-json/component.js b/lib/shared/addon/components/pretty-json/component.js index 9dedc99a1..34f1a9b73 100644 --- a/lib/shared/addon/components/pretty-json/component.js +++ b/lib/shared/addon/components/pretty-json/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, value: null, json: function() { diff --git a/lib/shared/addon/components/process-executions/component.js b/lib/shared/addon/components/process-executions/component.js index e703d3245..8fa8c0b92 100644 --- a/lib/shared/addon/components/process-executions/component.js +++ b/lib/shared/addon/components/process-executions/component.js @@ -1,11 +1,14 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, expandAll: false, actions: { expandChildren: function() { - Ember.run.next(() => { + next(() => { this.toggleProperty('expandAll'); }); } diff --git a/lib/shared/addon/components/process-link/component.js b/lib/shared/addon/components/process-link/component.js index 67a8068b8..c8f28a47d 100644 --- a/lib/shared/addon/components/process-link/component.js +++ b/lib/shared/addon/components/process-link/component.js @@ -1,13 +1,17 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; + const IN_APP = ['container', 'instance', 'stack', 'host', 'service']; -export default Ember.Component.extend({ +export default Component.extend({ + layout, model: null, tagName: '', - endpoint: Ember.inject.service(), - growl: Ember.inject.service(), + endpoint: service(), + growl: service(), inApp: function() { return IN_APP.indexOf(this.get('model.resourceType')) >= 0; diff --git a/lib/shared/addon/components/progress-bar-multi/component.js b/lib/shared/addon/components/progress-bar-multi/component.js index 85b54ad9b..38ab3e864 100644 --- a/lib/shared/addon/components/progress-bar-multi/component.js +++ b/lib/shared/addon/components/progress-bar-multi/component.js @@ -1,4 +1,6 @@ -import Ember from 'ember'; +import { computed, get } from '@ember/object'; +import Component from '@ember/component'; +import layout from './template'; function toPercent(value,min,max) { value = Math.max(min, Math.min(max, value)); @@ -7,7 +9,8 @@ function toPercent(value,min,max) { return per; } -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName: 'div', classNames: ['progress-bar-multi'], @@ -28,7 +31,7 @@ export default Ember.Component.extend({ let valueKey = this.get('valueKey'); let valueDep = `values.@each.{${colorKey},${labelKey},${valueKey}}`; - this.set('pieces', Ember.computed('min','max',valueDep, () => { + this.set('pieces', computed('min','max',valueDep, () => { let min = this.get('min'); let max = this.get('max'); @@ -36,9 +39,9 @@ export default Ember.Component.extend({ var out = []; (this.get('values')||[]).forEach((obj) => { out.push({ - color: Ember.get(obj, colorKey), - label: Ember.get(obj, labelKey), - value: Ember.get(obj, valueKey), + color: get(obj, colorKey), + label: get(obj, labelKey), + value: get(obj, valueKey), }); }); @@ -70,13 +73,13 @@ export default Ember.Component.extend({ })); valueDep = `tooltipValues.@each.{${labelKey},${valueKey}}`; - this.set('tooltipContent', Ember.computed(valueDep, () => { + this.set('tooltipContent', computed(valueDep, () => { let labelKey = this.get('labelKey'); let valueKey = this.get('valueKey'); var out = []; (this.get('tooltipValues')||[]).forEach((obj) => { - out.push(Ember.get(obj, labelKey)+ ": " + Ember.get(obj, valueKey)); + out.push(get(obj, labelKey)+ ": " + get(obj, valueKey)); }); return out.join("\n"); diff --git a/lib/shared/addon/components/progress-bar/component.js b/lib/shared/addon/components/progress-bar/component.js index 5172dfb74..2c84ea4ed 100644 --- a/lib/shared/addon/components/progress-bar/component.js +++ b/lib/shared/addon/components/progress-bar/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName: 'div', classNames: ['progress'], diff --git a/lib/shared/addon/components/project-table/component.js b/lib/shared/addon/components/project-table/component.js index 3b3243fd7..25fbf6986 100644 --- a/lib/shared/addon/components/project-table/component.js +++ b/lib/shared/addon/components/project-table/component.js @@ -1,4 +1,6 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import Component from '@ember/component'; +import layout from './template'; const headersWithCluster = [ { @@ -51,13 +53,14 @@ const headersWithCluster = [ const headersWithoutCluster = headersWithCluster.filter(x => x.name !== 'cluster'); -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName: '', showCluster: false, bulkActions: true, search: true, - headers: Ember.computed('showCluster', function() { + headers: computed('showCluster', function() { if ( this.get('showCluster') ) { return headersWithCluster; } else { diff --git a/lib/shared/addon/components/project-template-list/component.js b/lib/shared/addon/components/project-template-list/component.js index aaed9b658..bad50c8fb 100644 --- a/lib/shared/addon/components/project-template-list/component.js +++ b/lib/shared/addon/components/project-template-list/component.js @@ -1,7 +1,10 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ - settings: Ember.inject.service(), +export default Component.extend({ + layout, + settings: service(), sortBy: 'name', headers: [ { diff --git a/lib/shared/addon/components/public-endpoints/component.js b/lib/shared/addon/components/public-endpoints/component.js index 5ebfd2aa0..dabfc4424 100644 --- a/lib/shared/addon/components/public-endpoints/component.js +++ b/lib/shared/addon/components/public-endpoints/component.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ model: null, showTarget: false, diff --git a/lib/shared/addon/components/radio-button/component.js b/lib/shared/addon/components/radio-button/component.js index c3c45316d..3c1310e07 100644 --- a/lib/shared/addon/components/radio-button/component.js +++ b/lib/shared/addon/components/radio-button/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName: 'input', type: 'radio', disabled: false, diff --git a/lib/shared/addon/components/save-cancel/component.js b/lib/shared/addon/components/save-cancel/component.js index ba41d4b13..f857eb58a 100644 --- a/lib/shared/addon/components/save-cancel/component.js +++ b/lib/shared/addon/components/save-cancel/component.js @@ -1,6 +1,9 @@ -import Ember from 'ember'; +import { later } from '@ember/runloop'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, editing: null, createLabel: 'saveCancel.create', savingLabel: 'saveCancel.saving', @@ -50,7 +53,7 @@ export default Ember.Component.extend({ savedChanged: function() { if ( this.get('saved') ) { - Ember.run.later(this, () => { + later(this, () => { if ( this.isDestroyed || this.isDestroying ) { return; } diff --git a/lib/shared/addon/components/schema/input-boolean/component.js b/lib/shared/addon/components/schema/input-boolean/component.js index 9fe9546f3..b28b4b4be 100644 --- a/lib/shared/addon/components/schema/input-boolean/component.js +++ b/lib/shared/addon/components/schema/input-boolean/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, didReceiveAttrs() { if ( this.get('value') === 'false' ) { this.set('value', false); diff --git a/lib/shared/addon/components/schema/input-certificate/component.js b/lib/shared/addon/components/schema/input-certificate/component.js index f4391bde0..fc9b66f13 100644 --- a/lib/shared/addon/components/schema/input-certificate/component.js +++ b/lib/shared/addon/components/schema/input-certificate/component.js @@ -1,11 +1,14 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, field : null, value : null, choices : null, - default : Ember.computed.alias('field.default'), + default : alias('field.default'), loading : true, init() { diff --git a/lib/shared/addon/components/schema/input-container/component.js b/lib/shared/addon/components/schema/input-container/component.js index 9cab8a3a3..f0aef96fc 100644 --- a/lib/shared/addon/components/schema/input-container/component.js +++ b/lib/shared/addon/components/schema/input-container/component.js @@ -1,7 +1,11 @@ -import Ember from 'ember'; +import { isArray } from '@ember/array'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ - allContainers : Ember.inject.service(), +export default Component.extend({ + layout, + allContainers : service(), selected: null, // Selected service ID exclude: null, // ID or array of IDs to exclude from list @@ -27,7 +31,7 @@ export default Ember.Component.extend({ let exclude = this.get('exclude'); if ( exclude ) { - if ( !Ember.isArray(exclude) ) { + if ( !isArray(exclude) ) { exclude = [exclude]; } diff --git a/lib/shared/addon/components/schema/input-date/component.js b/lib/shared/addon/components/schema/input-date/component.js index 53424a6ce..7370f389d 100644 --- a/lib/shared/addon/components/schema/input-date/component.js +++ b/lib/shared/addon/components/schema/input-date/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import TextField from '@ember/component/text-field'; +import layout from './template'; -export default Ember.TextField.extend({ +export default TextField.extend({ + layout, classNames: ['form-control'], type: 'text' }); diff --git a/lib/shared/addon/components/schema/input-enum/component.js b/lib/shared/addon/components/schema/input-enum/component.js index 926b61300..50b86e6ba 100644 --- a/lib/shared/addon/components/schema/input-enum/component.js +++ b/lib/shared/addon/components/schema/input-enum/component.js @@ -1,4 +1,6 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, }); diff --git a/lib/shared/addon/components/schema/input-float/component.js b/lib/shared/addon/components/schema/input-float/component.js index 4c457d2e4..135006fa3 100644 --- a/lib/shared/addon/components/schema/input-float/component.js +++ b/lib/shared/addon/components/schema/input-float/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import TextField from '@ember/component/text-field'; +import layout from './template'; -export default Ember.TextField.extend({ +export default TextField.extend({ + layout, classNames: ['form-control'], type: 'number' }); diff --git a/lib/shared/addon/components/schema/input-host/component.js b/lib/shared/addon/components/schema/input-host/component.js index 4539edbcb..a6674c02d 100644 --- a/lib/shared/addon/components/schema/input-host/component.js +++ b/lib/shared/addon/components/schema/input-host/component.js @@ -1,7 +1,10 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ - modalService: Ember.inject.service('modal'), +export default Component.extend({ + layout, + modalService: service('modal'), hostConfig: null, hostName: null, value: null, diff --git a/lib/shared/addon/components/schema/input-int/component.js b/lib/shared/addon/components/schema/input-int/component.js index 4c457d2e4..135006fa3 100644 --- a/lib/shared/addon/components/schema/input-int/component.js +++ b/lib/shared/addon/components/schema/input-int/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import TextField from '@ember/component/text-field'; +import layout from './template'; -export default Ember.TextField.extend({ +export default TextField.extend({ + layout, classNames: ['form-control'], type: 'number' }); diff --git a/lib/shared/addon/components/schema/input-masked/component.js b/lib/shared/addon/components/schema/input-masked/component.js index 6a71bf8f7..a2298bf35 100644 --- a/lib/shared/addon/components/schema/input-masked/component.js +++ b/lib/shared/addon/components/schema/input-masked/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import TextField from '@ember/component/text-field'; +import layout from './template'; -export default Ember.TextField.extend({ +export default TextField.extend({ + layout, classNames: ['form-control'], type: 'password' }); diff --git a/lib/shared/addon/components/schema/input-multiline/component.js b/lib/shared/addon/components/schema/input-multiline/component.js index c08d1a4f0..90eb4ad1b 100644 --- a/lib/shared/addon/components/schema/input-multiline/component.js +++ b/lib/shared/addon/components/schema/input-multiline/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import TextArea from '@ember/component/text-area'; +import layout from './template'; -export default Ember.TextArea.extend({ +export default TextArea.extend({ + layout, classNames: ['form-control', 'text-mono'], rows: 3, }); diff --git a/lib/shared/addon/components/schema/input-password/component.js b/lib/shared/addon/components/schema/input-password/component.js index 8d8ce4afa..55a04b04e 100644 --- a/lib/shared/addon/components/schema/input-password/component.js +++ b/lib/shared/addon/components/schema/input-password/component.js @@ -1,7 +1,9 @@ -import Ember from 'ember'; +import Component from '@ember/component'; import Util from 'ui/utils/util'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, classNames: ['input-group'], value: '', diff --git a/lib/shared/addon/components/schema/input-relative-service/component.js b/lib/shared/addon/components/schema/input-relative-service/component.js index 8dfa57e4c..335f565b9 100644 --- a/lib/shared/addon/components/schema/input-relative-service/component.js +++ b/lib/shared/addon/components/schema/input-relative-service/component.js @@ -1,10 +1,15 @@ -import Ember from 'ember'; +import { isArray } from '@ember/array'; +import { set } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; const CUSTOM = '__CUSTOM__'; -export default Ember.Component.extend({ - allServices : Ember.inject.service(), - intl: Ember.inject.service(), +export default Component.extend({ + layout, + allServices : service(), + intl: service(), stack: null, // The default stack value: null, // The [stack/]service string value @@ -47,16 +52,16 @@ export default Ember.Component.extend({ list.forEach((item) => { if ( item.obj.stackId === stackId ) { - Ember.set(item,'value',item.name); + set(item,'value',item.name); } else { - Ember.set(item,'value',item.combined); + set(item,'value',item.combined); } }); list.push({group: null, value: CUSTOM, name: this.get('intl').t('schema.inputService.custom')}); let exclude = this.get('exclude')||[]; - if ( !Ember.isArray(exclude) ) { + if ( !isArray(exclude) ) { exclude = [exclude]; } if ( exclude.get('length') ) { diff --git a/lib/shared/addon/components/schema/input-secret/component.js b/lib/shared/addon/components/schema/input-secret/component.js index 61bfc92c4..cf48624cd 100644 --- a/lib/shared/addon/components/schema/input-secret/component.js +++ b/lib/shared/addon/components/schema/input-secret/component.js @@ -1,6 +1,9 @@ -import Ember from 'ember'; +import { isArray } from '@ember/array'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, selected: null, // Selected secret ID selectClass: 'form-control', exclude: null, // ID or array of IDs to exclude from list @@ -37,7 +40,7 @@ export default Ember.Component.extend({ let exclude = this.get('exclude'); if ( exclude ) { - if ( !Ember.isArray(exclude) ) { + if ( !isArray(exclude) ) { exclude = [exclude]; } diff --git a/lib/shared/addon/components/schema/input-service/component.js b/lib/shared/addon/components/schema/input-service/component.js index 4773feca3..c80650e4a 100644 --- a/lib/shared/addon/components/schema/input-service/component.js +++ b/lib/shared/addon/components/schema/input-service/component.js @@ -1,7 +1,11 @@ -import Ember from 'ember'; +import { isArray } from '@ember/array'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ - allServices : Ember.inject.service(), +export default Component.extend({ + layout, + allServices : service(), selected: null, // Selected service ID selectClass: 'form-control', @@ -52,7 +56,7 @@ export default Ember.Component.extend({ let exclude = this.get('exclude'); if ( exclude ) { - if ( !Ember.isArray(exclude) ) { + if ( !isArray(exclude) ) { exclude = [exclude]; } diff --git a/lib/shared/addon/components/schema/input-string/component.js b/lib/shared/addon/components/schema/input-string/component.js index 53424a6ce..7370f389d 100644 --- a/lib/shared/addon/components/schema/input-string/component.js +++ b/lib/shared/addon/components/schema/input-string/component.js @@ -1,6 +1,8 @@ -import Ember from 'ember'; +import TextField from '@ember/component/text-field'; +import layout from './template'; -export default Ember.TextField.extend({ +export default TextField.extend({ + layout, classNames: ['form-control'], type: 'text' }); diff --git a/lib/shared/addon/components/service-log/component.js b/lib/shared/addon/components/service-log/component.js index 459d4056f..fdb6f01ac 100644 --- a/lib/shared/addon/components/service-log/component.js +++ b/lib/shared/addon/components/service-log/component.js @@ -1,8 +1,12 @@ -import Ember from 'ember'; +import { cancel, later } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ - growl: Ember.inject.service(), - prefs: Ember.inject.service(), +export default Component.extend({ + layout, + growl: service(), + prefs: service(), model: null, @@ -17,7 +21,7 @@ export default Ember.Component.extend({ }, willDestroyElement() { - Ember.run.cancel(this.get('pollTimer')); + cancel(this.get('pollTimer')); }, logs: null, @@ -32,8 +36,8 @@ export default Ember.Component.extend({ }, scheduleTimer() { - Ember.run.cancel(this.get('pollTimer')); - this.set('pollTimer', Ember.run.later(() => { + cancel(this.get('pollTimer')); + this.set('pollTimer', later(() => { this.poll().then(() => { if ( this.isDestroyed || this.isDestroying ) { return; diff --git a/lib/shared/addon/components/service-row/component.js b/lib/shared/addon/components/service-row/component.js index 3bc37b45f..6a4579356 100644 --- a/lib/shared/addon/components/service-row/component.js +++ b/lib/shared/addon/components/service-row/component.js @@ -1,3 +1,4 @@ +import { or } from '@ember/object/computed'; import Component from '@ember/component'; import layout from './template'; import { inject as service } from '@ember/service' @@ -13,7 +14,7 @@ export default Component.extend({ subMatches: null, expanded: null, - showLabelRow: computed.or('model.displayUserLabelStrings.length'), + showLabelRow: or('model.displayUserLabelStrings.length'), showInstanceCount: true, showImage: true, diff --git a/lib/shared/addon/components/settings/billing-info/component.js b/lib/shared/addon/components/settings/billing-info/component.js index 662e637be..9e75b205d 100644 --- a/lib/shared/addon/components/settings/billing-info/component.js +++ b/lib/shared/addon/components/settings/billing-info/component.js @@ -1,7 +1,10 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ - modalService: Ember.inject.service('modal'), +export default Component.extend({ + layout, + modalService: service('modal'), classNames: ['billing-info', 'box'], cards: null, account: null, diff --git a/lib/shared/addon/components/settings/catalog-url/component.js b/lib/shared/addon/components/settings/catalog-url/component.js index 1a06d24da..e83b79b35 100644 --- a/lib/shared/addon/components/settings/catalog-url/component.js +++ b/lib/shared/addon/components/settings/catalog-url/component.js @@ -1,10 +1,15 @@ -import Ember from 'ember'; +import { next } from '@ember/runloop'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; import { parseCatalogSetting } from 'ui/utils/parse-catalog-setting'; +import layout from './template'; -export default Ember.Component.extend({ - settings: Ember.inject.service(), - catalog: Ember.inject.service(), +export default Component.extend({ + layout, + settings: service(), + catalog: service(), kindChoices: [ {translationKey: 'catalogSettings.more.kind.native', value: 'native'}, {translationKey: 'catalogSettings.more.kind.helm', value: 'helm'}, @@ -19,8 +24,8 @@ export default Ember.Component.extend({ actions: { add() { - this.get('ary').pushObject(Ember.Object.create({name: '', branch: C.CATALOG.DEFAULT_BRANCH, kind: 'native', url: ''})); - Ember.run.next(() => { + this.get('ary').pushObject(EmberObject.create({name: '', branch: C.CATALOG.DEFAULT_BRANCH, kind: 'native', url: ''})); + next(() => { if ( this.isDestroyed || this.isDestroying ) { return; } @@ -93,7 +98,7 @@ export default Ember.Component.extend({ var ary = []; Object.keys(map).forEach((name) => { - ary.push(Ember.Object.create({name: name, kind: map[name].kind||'native', branch: map[name].branch, url: map[name].url})); + ary.push(EmberObject.create({name: name, kind: map[name].kind||'native', branch: map[name].branch, url: map[name].url})); }); this.setProperties({ diff --git a/lib/shared/addon/components/settings/danger-zone/component.js b/lib/shared/addon/components/settings/danger-zone/component.js index b3b169a22..c5c471d16 100644 --- a/lib/shared/addon/components/settings/danger-zone/component.js +++ b/lib/shared/addon/components/settings/danger-zone/component.js @@ -1,6 +1,9 @@ -import Ember from 'ember'; +import EmberObject from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import { normalizeName } from 'ui/services/settings'; import C from 'ui/utils/constants'; +import layout from './template'; const ALLOWED = { 'access.log': {}, @@ -44,9 +47,10 @@ const ALLOWED = { 'upgrade.manager': {kind: 'enum', options: ['all','mandatory','none']}, }; -export default Ember.Component.extend({ - settings: Ember.inject.service(), - modalService: Ember.inject.service('modal'), +export default Component.extend({ + layout, + settings: service(), + modalService: service('modal'), loading: false, show: false, @@ -67,7 +71,7 @@ export default Ember.Component.extend({ let obj = this.get('settings').findByName(key); let details = this.get('allowed')[key]; - this.get('modalService').toggleModal('modal-edit-setting', Ember.Object.create({ + this.get('modalService').toggleModal('modal-edit-setting', EmberObject.create({ key: key, descriptionKey: details.descriptionKey, kind: details.kind, @@ -103,7 +107,7 @@ export default Ember.Component.extend({ let obj = all[normalizeName(key)]; let details = allowed[key]; - let out = Ember.Object.create({ + let out = EmberObject.create({ key: key, obj: obj, }); diff --git a/lib/shared/addon/components/settings/host-registration/component.js b/lib/shared/addon/components/settings/host-registration/component.js index 41e943df9..ff594f68c 100644 --- a/lib/shared/addon/components/settings/host-registration/component.js +++ b/lib/shared/addon/components/settings/host-registration/component.js @@ -1,5 +1,7 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; function hostname(str) { return (str||'').trim().replace(/^[a-z0-9]+:\/+/i, '').replace(/\/.*$/g,''); @@ -20,9 +22,10 @@ function isBadTld(name) { } } -export default Ember.Component.extend({ - endpoint : Ember.inject.service(), - settings : Ember.inject.service(), +export default Component.extend({ + layout, + endpoint : service(), + settings : service(), customRadio : null, customValue : '', diff --git a/lib/shared/addon/components/settings/settings-header/component.js b/lib/shared/addon/components/settings/settings-header/component.js index e3ac4fb5c..24a0cb09d 100644 --- a/lib/shared/addon/components/settings/settings-header/component.js +++ b/lib/shared/addon/components/settings/settings-header/component.js @@ -1,5 +1,7 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName: '', }); diff --git a/lib/shared/addon/components/settings/table-rows/component.js b/lib/shared/addon/components/settings/table-rows/component.js index b3cb7c92b..cdd4f9dc5 100644 --- a/lib/shared/addon/components/settings/table-rows/component.js +++ b/lib/shared/addon/components/settings/table-rows/component.js @@ -1,5 +1,8 @@ -import Ember from 'ember'; +import { alias } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; const TABLE_COUNTS = [ { value: "10", }, @@ -11,9 +14,10 @@ const TABLE_COUNTS = [ { value: "1000", }, ]; -export default Ember.Component.extend({ - prefs: Ember.inject.service(), - perPage: Ember.computed.alias('prefs.tablePerPage'), +export default Component.extend({ + layout, + prefs: service(), + perPage: alias('prefs.tablePerPage'), tableCounts: TABLE_COUNTS, selectedCount: null, diff --git a/lib/shared/addon/components/settings/telemetry-opt/component.js b/lib/shared/addon/components/settings/telemetry-opt/component.js index ea9006f3a..2f6824dca 100644 --- a/lib/shared/addon/components/settings/telemetry-opt/component.js +++ b/lib/shared/addon/components/settings/telemetry-opt/component.js @@ -1,11 +1,14 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; const IN = 'in'; const OUT = 'out'; -export default Ember.Component.extend({ - settings: Ember.inject.service(), +export default Component.extend({ + layout, + settings: service(), initialValue: null, optIn: null, diff --git a/lib/shared/addon/components/settings/theme-toggle/component.js b/lib/shared/addon/components/settings/theme-toggle/component.js index c1de30442..81b14ea0c 100644 --- a/lib/shared/addon/components/settings/theme-toggle/component.js +++ b/lib/shared/addon/components/settings/theme-toggle/component.js @@ -1,12 +1,16 @@ -import Ember from 'ember'; +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import C from 'ui/utils/constants'; +import layout from './template'; -export default Ember.Component.extend({ - prefs : Ember.inject.service(), - userTheme : Ember.inject.service('user-theme'), +export default Component.extend({ + layout, + prefs : service(), + userTheme : service('user-theme'), - theme: Ember.computed(`prefs.${C.PREFS.THEME}`, function() { + theme: computed(`prefs.${C.PREFS.THEME}`, function() { return this.get(`prefs.${C.PREFS.THEME}`); }), diff --git a/lib/shared/addon/components/settings/user-info/component.js b/lib/shared/addon/components/settings/user-info/component.js index b6cd80af3..b066eb83e 100644 --- a/lib/shared/addon/components/settings/user-info/component.js +++ b/lib/shared/addon/components/settings/user-info/component.js @@ -1,8 +1,11 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; +import layout from './template'; -export default Ember.Component.extend({ - access: Ember.inject.service(), - modalService: Ember.inject.service('modal'), +export default Component.extend({ + layout, + access: service(), + modalService: service('modal'), account: null, actions: { diff --git a/lib/shared/addon/components/site-access/component.js b/lib/shared/addon/components/site-access/component.js index 2f4b16758..62d9867aa 100644 --- a/lib/shared/addon/components/site-access/component.js +++ b/lib/shared/addon/components/site-access/component.js @@ -1,11 +1,14 @@ -import Ember from 'ember'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import Errors from 'ui/utils/errors'; +import layout from './template'; -export default Ember.Component.extend({ +export default Component.extend({ + layout, tagName: 'section', classNames: ['well'], - settings: Ember.inject.service(), - access: Ember.inject.service(), + settings: service(), + access: service(), model: null, individuals: 'siteAccess.users', diff --git a/lib/shared/addon/components/sortable-table/component.js b/lib/shared/addon/components/sortable-table/component.js index 701ab732f..69b792d6a 100644 --- a/lib/shared/addon/components/sortable-table/component.js +++ b/lib/shared/addon/components/sortable-table/component.js @@ -1,10 +1,11 @@ +import { or, alias } from '@ember/object/computed'; import Component from '@ember/component'; import Sortable from 'shared/mixins/sortable-base'; import StickyHeader from 'shared/mixins/sticky-table-header'; import layout from './template'; import pagedArray from 'ember-cli-pagination/computed/paged-array'; import { computed } from '@ember/object'; -import { get,set } from '@ember/object'; +import { get, set } from '@ember/object'; import { inject as service } from '@ember/service' import { isArray } from '@ember/array'; import { observer } from '@ember/object' @@ -97,7 +98,7 @@ export default Component.extend(Sortable, StickyHeader, { page: 1, pagingLabel: 'pagination.generic', - showHeader: computed.or('bulkActions','search','paging'), + showHeader: or('bulkActions','search','paging'), didReceiveAttrs: function() { this._super(...arguments); @@ -204,10 +205,10 @@ export default Component.extend(Sortable, StickyHeader, { // Table content // Flow: body [-> sortableContent] -> arranged -> filtered -> pagedContent [-> groupedContent] // ----- - sortableContent: computed.alias('body'), + sortableContent: alias('body'), pagedContent: pagedArray('filtered', { - page: computed.alias("parent.page"), - perPage: computed.alias("parent.perPage") + page: alias("parent.page"), + perPage: alias("parent.perPage") }), // For data-title properties on