From b31ab712c1c3054eb023d5c7501018a85af9553a Mon Sep 17 00:00:00 2001 From: Harvey Kandola Date: Thu, 16 Nov 2017 13:28:05 +0000 Subject: [PATCH] upgraded Ember and integrated Bootstrap 4 Upgraded to Ember JS 2.16.x release. This upgrade uses the new JavaScript modules API syntax. Integrated Bootstrap 4 Beta 2 via package.json and associated popper.js library. Overridden Bootstrap styles using bootstrap.scss -- this file selectively imports the modules we need. --- gui/MODULE_REPORT.md | 42 + gui/app/app.js | 4 +- gui/app/authenticators/anonymous.js | 7 +- gui/app/authenticators/documize.js | 15 +- gui/app/authenticators/keycloak.js | 13 +- gui/app/components/back-to-space.js | 4 +- gui/app/components/customize/auth-settings.js | 35 +- .../components/customize/general-settings.js | 27 +- .../components/customize/global-settings.js | 18 +- gui/app/components/customize/user-admin.js | 8 +- gui/app/components/customize/user-settings.js | 27 +- gui/app/components/document/block-editor.js | 8 +- gui/app/components/document/content-linker.js | 34 +- .../components/document/document-activity.js | 8 +- .../document/document-attachments.js | 16 +- .../components/document/document-editor.js | 4 +- .../components/document/document-heading.js | 20 +- .../components/document/document-history.js | 12 +- gui/app/components/document/document-index.js | 8 +- gui/app/components/document/document-page.js | 10 +- .../components/document/document-sidebar.js | 4 +- gui/app/components/document/document-tab.js | 8 +- .../components/document/document-toolbar.js | 20 +- gui/app/components/document/document-view.js | 28 +- gui/app/components/document/index-entry.js | 4 +- gui/app/components/document/page-heading.js | 12 +- gui/app/components/document/space-category.js | 19 +- gui/app/components/document/tab-heading.js | 12 +- gui/app/components/document/tag-editor.js | 8 +- gui/app/components/documize-setup.js | 36 +- gui/app/components/dropdown-dialog.js | 11 +- gui/app/components/dropdown-menu.js | 8 +- gui/app/components/empty-state.js | 4 +- gui/app/components/focus-input.js | 4 +- gui/app/components/focus-textarea.js | 4 +- gui/app/components/folder/category-admin.js | 10 +- gui/app/components/folder/document-tags.js | 4 +- gui/app/components/folder/documents-list.js | 10 +- gui/app/components/folder/invite-user.js | 10 +- gui/app/components/folder/permission-admin.js | 13 +- .../components/folder/sidebar-folders-list.js | 8 +- gui/app/components/folder/sidebar-zone.js | 4 +- gui/app/components/folder/space-heading.js | 18 +- gui/app/components/folder/space-toolbar.js | 13 +- gui/app/components/folder/space-view.js | 21 +- gui/app/components/folder/start-document.js | 19 +- gui/app/components/forgot-password.js | 23 +- gui/app/components/layout/sidebar-intro.js | 4 +- gui/app/components/layout/zone-content.js | 10 +- gui/app/components/layout/zone-document.js | 10 +- gui/app/components/layout/zone-sidebar.js | 14 +- gui/app/components/onboard/share-folder.js | 8 +- gui/app/components/password-reset.js | 22 +- gui/app/components/search/search-results.js | 4 +- gui/app/components/search/tag-list.js | 4 +- .../section/airtable/type-editor.js | 4 +- .../section/airtable/type-renderer.js | 4 +- .../components/section/base-editor-inline.js | 23 +- gui/app/components/section/base-editor.js | 8 +- gui/app/components/section/base-renderer.js | 4 +- .../components/section/code/type-editor.js | 10 +- .../components/section/code/type-renderer.js | 4 +- .../components/section/gemini/type-editor.js | 14 +- .../section/gemini/type-renderer.js | 4 +- .../components/section/github/type-editor.js | 13 +- .../section/github/type-renderer.js | 4 +- .../section/markdown/type-editor.js | 18 +- .../section/markdown/type-renderer.js | 4 +- .../section/papertrail/type-editor.js | 13 +- .../section/papertrail/type-renderer.js | 4 +- .../components/section/table/type-editor.js | 8 +- .../components/section/table/type-renderer.js | 4 +- .../components/section/trello/type-editor.js | 21 +- .../section/trello/type-renderer.js | 4 +- .../components/section/wysiwyg/type-editor.js | 13 +- .../section/wysiwyg/type-renderer.js | 4 +- gui/app/components/ui-select.js | 8 +- gui/app/components/ui/ui-avatar.js | 4 +- gui/app/components/ui/ui-checkbox.js | 4 +- gui/app/components/ui/ui-list-picker.js | 8 +- gui/app/components/ui/ui-radio.js | 4 +- gui/app/components/ui/ui-selection.js | 4 +- gui/app/components/ui/ui-tab.js | 15 +- gui/app/components/user-notification.js | 8 +- gui/app/components/user-profile.js | 31 +- gui/app/components/widget-sample.js | 36 +- gui/app/helpers/document/file-icon.js | 8 +- gui/app/helpers/formatted-date.js | 4 +- gui/app/helpers/generate-id.js | 4 +- gui/app/helpers/is-equal.js | 4 +- gui/app/helpers/is-not.js | 4 +- gui/app/helpers/read-path.js | 8 +- gui/app/helpers/time-ago.js | 4 +- gui/app/helpers/user-initials.js | 4 +- gui/app/mixins/auth.js | 8 +- gui/app/mixins/dropdown.js | 4 +- gui/app/mixins/notifier.js | 4 +- gui/app/mixins/section.js | 4 +- gui/app/mixins/tooltip.js | 4 +- gui/app/models/document-activity.js | 6 +- gui/app/models/document.js | 4 +- gui/app/models/folder.js | 4 +- gui/app/models/page.js | 10 +- .../models/protected-folder-participant.js | 4 +- gui/app/models/section.js | 4 +- gui/app/models/template.js | 4 +- gui/app/models/user-activity.js | 8 +- gui/app/models/user.js | 4 +- gui/app/pods/auth/forgot/controller.js | 8 +- gui/app/pods/auth/forgot/route.js | 8 +- gui/app/pods/auth/forgot/template.hbs | 2 +- gui/app/pods/auth/keycloak/controller.js | 4 +- gui/app/pods/auth/keycloak/route.js | 17 +- gui/app/pods/auth/login/controller.js | 10 +- gui/app/pods/auth/login/route.js | 15 +- gui/app/pods/auth/login/template.hbs | 2 +- gui/app/pods/auth/logout/controller.js | 4 +- gui/app/pods/auth/logout/route.js | 10 +- gui/app/pods/auth/reset/controller.js | 8 +- gui/app/pods/auth/reset/route.js | 4 +- gui/app/pods/auth/reset/template.hbs | 2 +- gui/app/pods/auth/route.js | 4 +- gui/app/pods/auth/share/controller.js | 4 +- gui/app/pods/auth/share/route.js | 10 +- gui/app/pods/auth/sso/controller.js | 4 +- gui/app/pods/auth/sso/route.js | 10 +- gui/app/pods/customize/auth/controller.js | 17 +- gui/app/pods/customize/auth/route.js | 15 +- gui/app/pods/customize/controller.js | 4 +- gui/app/pods/customize/folders/controller.js | 8 +- gui/app/pods/customize/folders/route.js | 8 +- gui/app/pods/customize/general/controller.js | 8 +- gui/app/pods/customize/general/route.js | 12 +- gui/app/pods/customize/global/controller.js | 8 +- gui/app/pods/customize/global/route.js | 12 +- gui/app/pods/customize/route.js | 4 +- gui/app/pods/customize/users/controller.js | 11 +- gui/app/pods/customize/users/route.js | 15 +- gui/app/pods/document/block/controller.js | 8 +- gui/app/pods/document/block/route.js | 15 +- gui/app/pods/document/controller.js | 4 +- gui/app/pods/document/history/controller.js | 7 +- gui/app/pods/document/history/route.js | 12 +- gui/app/pods/document/index/controller.js | 21 +- gui/app/pods/document/index/route.js | 17 +- gui/app/pods/document/route.js | 19 +- gui/app/pods/document/section/controller.js | 8 +- gui/app/pods/document/section/route.js | 15 +- gui/app/pods/folder/controller.js | 4 +- gui/app/pods/folder/index/controller.js | 10 +- gui/app/pods/folder/index/route.js | 13 +- gui/app/pods/folder/route.js | 19 +- .../folder/settings/category/controller.js | 4 +- .../pods/folder/settings/category/route.js | 8 +- gui/app/pods/folder/settings/controller.js | 12 +- .../folder/settings/invitation/controller.js | 4 +- .../pods/folder/settings/invitation/route.js | 8 +- gui/app/pods/folder/settings/route.js | 8 +- .../folder/settings/security/controller.js | 4 +- .../pods/folder/settings/security/route.js | 8 +- gui/app/pods/folders/controller.js | 8 +- gui/app/pods/folders/route.js | 10 +- gui/app/pods/not-found/controller.js | 4 +- gui/app/pods/not-found/route.js | 4 +- gui/app/pods/profile/controller.js | 13 +- gui/app/pods/profile/route.js | 12 +- gui/app/pods/search/controller.js | 19 +- gui/app/pods/search/route.js | 4 +- gui/app/pods/setup/controller.js | 8 +- gui/app/pods/setup/route.js | 4 +- gui/app/pods/widgets/route.js | 4 +- gui/app/router.js | 4 +- gui/app/routes/application.js | 10 +- gui/app/services/ajax.js | 9 +- gui/app/services/app-meta.js | 13 +- gui/app/services/base.js | 4 +- gui/app/services/browser.js | 6 +- gui/app/services/category.js | 7 +- gui/app/services/document.js | 16 +- gui/app/services/event-bus.js | 6 +- gui/app/services/folder.js | 9 +- gui/app/services/global.js | 8 +- gui/app/services/kc-auth.js | 18 +- gui/app/services/link.js | 8 +- gui/app/services/local-storage.js | 4 +- gui/app/services/logger.js | 4 +- gui/app/services/organization.js | 8 +- gui/app/services/pinned.js | 23 +- gui/app/services/search.js | 8 +- gui/app/services/section.js | 7 +- gui/app/services/session.js | 9 +- gui/app/services/template.js | 13 +- gui/app/services/tether.js | 4 +- gui/app/services/user.js | 11 +- gui/app/styles/app.scss | 1 + gui/app/styles/base.scss | 208 +-- gui/app/styles/bootstrap.scss | 96 ++ gui/app/styles/color.scss | 4 +- gui/app/styles/mixins.scss | 166 --- gui/app/styles/view/document/activity.scss | 4 +- gui/app/styles/view/document/attachments.scss | 4 +- gui/app/styles/view/document/toc.scss | 2 +- gui/app/styles/view/document/wysiwyg.scss | 4 +- gui/app/styles/view/page-exceptions.scss | 2 +- gui/app/styles/widget/widget-dropdown.scss | 2 +- .../components/customize/user-admin.hbs | 2 +- .../document/document-attachments.hbs | 2 +- .../components/document/document-view.hbs | 2 +- .../components/document/page-heading.hbs | 8 +- .../components/document/space-category.hbs | 2 +- .../components/document/tab-heading.hbs | 8 +- .../templates/components/widget-sample.hbs | 168 ++- gui/app/utils/model.js | 28 +- gui/ember-cli-build.js | 3 +- gui/package.json | 101 +- gui/tests/helpers/authenticate-user.js | 10 +- gui/tests/helpers/destroy-app.js | 4 +- gui/tests/helpers/module-for-acceptance.js | 4 +- gui/tests/helpers/start-app.js | 9 +- gui/tests/helpers/stub-audit.js | 10 +- gui/tests/helpers/stub-user-notification.js | 8 +- gui/tests/helpers/user-login.js | 4 +- gui/tests/helpers/wait-to-appear.js | 11 +- gui/tests/helpers/wait-to-disappear.js | 11 +- gui/vendor/bootstrap.bundle.min.js | 7 + gui/vendor/bootstrap.bundle.min.js.map | 1 + gui/vendor/bootstrap.css | 1204 ----------------- gui/vendor/bootstrap.json | 390 ------ gui/yarn.lock | 376 +++-- 229 files changed, 1610 insertions(+), 3181 deletions(-) create mode 100644 gui/MODULE_REPORT.md create mode 100644 gui/app/styles/bootstrap.scss create mode 100644 gui/vendor/bootstrap.bundle.min.js create mode 100644 gui/vendor/bootstrap.bundle.min.js.map delete mode 100755 gui/vendor/bootstrap.css delete mode 100755 gui/vendor/bootstrap.json diff --git a/gui/MODULE_REPORT.md b/gui/MODULE_REPORT.md new file mode 100644 index 00000000..1380d742 --- /dev/null +++ b/gui/MODULE_REPORT.md @@ -0,0 +1,42 @@ +## Module Report +### Unknown Global + +**Global**: `Ember.testing` + +**Location**: `app/services/tether.js` at line 20 + +```js +export default Ember.Service.extend({ + createDrop() { + if (Ember.testing) { + return; + } +``` + +### Unknown Global + +**Global**: `Ember.testing` + +**Location**: `app/services/tether.js` at line 27 + +```js + }, + createTooltip() { + if (Ember.testing) { + return; + } +``` + +### Unknown Global + +**Global**: `Ember.Handlebars` + +**Location**: `app/utils/model.js` at line 22 + +```js + + setSafe(attr, value) { + this.set(attr, Ember.String.htmlSafe(Ember.Handlebars.Utils.escapeExpression(value))); + } +}); +``` diff --git a/gui/app/app.js b/gui/app/app.js index 9707b4a1..8815ed38 100644 --- a/gui/app/app.js +++ b/gui/app/app.js @@ -9,7 +9,7 @@ // // https://documize.com -import Ember from 'ember'; +import Application from '@ember/application'; import Resolver from './resolver'; import loadInitializers from 'ember-load-initializers'; import config from './config/environment'; @@ -23,7 +23,7 @@ let App; // console.log(error); // }); -App = Ember.Application.extend({ +App = Application.extend({ modulePrefix: config.modulePrefix, podModulePrefix: config.podModulePrefix, Resolver diff --git a/gui/app/authenticators/anonymous.js b/gui/app/authenticators/anonymous.js index ae00c9f6..1243358e 100644 --- a/gui/app/authenticators/anonymous.js +++ b/gui/app/authenticators/anonymous.js @@ -9,12 +9,9 @@ // // https://documize.com -import Ember from 'ember'; -import Base from 'ember-simple-auth/authenticators/base'; +import { resolve } from 'rsvp'; -const { - RSVP: { resolve } -} = Ember; +import Base from 'ember-simple-auth/authenticators/base'; export default Base.extend({ restore(data) { diff --git a/gui/app/authenticators/documize.js b/gui/app/authenticators/documize.js index 24714b3b..df7fa74d 100644 --- a/gui/app/authenticators/documize.js +++ b/gui/app/authenticators/documize.js @@ -9,17 +9,14 @@ // // https://documize.com -import Ember from 'ember'; +import { isPresent } from '@ember/utils'; + +import { reject, resolve } from 'rsvp'; +import { inject as service } from '@ember/service'; import Base from 'ember-simple-auth/authenticators/base'; import encodingUtil from '../utils/encoding'; import netUtil from '../utils/net'; -const { - isPresent, - RSVP: { resolve, reject }, - inject: { service } -} = Ember; - export default Base.extend({ ajax: service(), appMeta: service(), @@ -42,14 +39,14 @@ export default Base.extend({ let { password, email } = credentials; if (!isPresent(password) || !isPresent(email)) { - return Ember.RSVP.reject("invalid"); + return reject("invalid"); } encoded = encodingUtil.Base64.encode(`${domain}:${email}:${password}`); } else if (typeof credentials === 'string') { encoded = credentials; } else { - return Ember.RSVP.reject("invalid"); + return reject("invalid"); } let headers = { 'Authorization': 'Basic ' + encoded }; diff --git a/gui/app/authenticators/keycloak.js b/gui/app/authenticators/keycloak.js index 0a26ac7a..846fe05f 100644 --- a/gui/app/authenticators/keycloak.js +++ b/gui/app/authenticators/keycloak.js @@ -9,16 +9,13 @@ // // https://documize.com -import Ember from 'ember'; +import { isPresent } from '@ember/utils'; + +import { reject, resolve } from 'rsvp'; +import { inject as service } from '@ember/service'; import Base from 'ember-simple-auth/authenticators/base'; import netUtil from '../utils/net'; -const { - isPresent, - RSVP: { resolve, reject }, - inject: { service } -} = Ember; - export default Base.extend({ ajax: service(), appMeta: service(), @@ -38,7 +35,7 @@ export default Base.extend({ data.domain = netUtil.getSubdomain(); if (!isPresent(data.token) || !isPresent(data.email)) { - return Ember.RSVP.reject("invalid"); + return reject("invalid"); } return this.get('ajax').post('public/authenticate/keycloak', { diff --git a/gui/app/components/back-to-space.js b/gui/app/components/back-to-space.js index cb25c125..e790b207 100644 --- a/gui/app/components/back-to-space.js +++ b/gui/app/components/back-to-space.js @@ -9,7 +9,7 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ }); diff --git a/gui/app/components/customize/auth-settings.js b/gui/app/components/customize/auth-settings.js index 3a679cf2..43676426 100644 --- a/gui/app/components/customize/auth-settings.js +++ b/gui/app/components/customize/auth-settings.js @@ -9,25 +9,26 @@ // // https://documize.com -import Ember from 'ember'; +import { equal, empty } from '@ember/object/computed'; + +import { set } from '@ember/object'; +import { copy } from '@ember/object/internals'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import constants from '../../utils/constants'; import encoding from '../../utils/encoding'; import NotifierMixin from "../../mixins/notifier"; -const { - computed -} = Ember; - -export default Ember.Component.extend(NotifierMixin, { - appMeta: Ember.inject.service(), - isDocumizeProvider: computed.equal('authProvider', constants.AuthProvider.Documize), - isKeycloakProvider: computed.equal('authProvider', constants.AuthProvider.Keycloak), - KeycloakUrlError: computed.empty('keycloakConfig.url'), - KeycloakRealmError: computed.empty('keycloakConfig.realm'), - KeycloakClientIdError: computed.empty('keycloakConfig.clientId'), - KeycloakPublicKeyError: computed.empty('keycloakConfig.publicKey'), - KeycloakAdminUserError: computed.empty('keycloakConfig.adminUser'), - KeycloakAdminPasswordError: computed.empty('keycloakConfig.adminPassword'), +export default Component.extend(NotifierMixin, { + appMeta: service(), + isDocumizeProvider: equal('authProvider', constants.AuthProvider.Documize), + isKeycloakProvider: equal('authProvider', constants.AuthProvider.Keycloak), + KeycloakUrlError: empty('keycloakConfig.url'), + KeycloakRealmError: empty('keycloakConfig.realm'), + KeycloakClientIdError: empty('keycloakConfig.clientId'), + KeycloakPublicKeyError: empty('keycloakConfig.publicKey'), + KeycloakAdminUserError: empty('keycloakConfig.adminUser'), + KeycloakAdminPasswordError: empty('keycloakConfig.adminPassword'), keycloakConfig: { url: '', realm: '', @@ -109,7 +110,7 @@ export default Ember.Component.extend(NotifierMixin, { return; } - config = Ember.copy(this.get('keycloakConfig')); + config = copy(this.get('keycloakConfig')); config.url = config.url.trim(); config.realm = config.realm.trim(); config.clientId = config.clientId.trim(); @@ -124,7 +125,7 @@ export default Ember.Component.extend(NotifierMixin, { config.url = config.url.substring(0, config.url.length-1); } - Ember.set(config, 'publicKey', encoding.Base64.encode(this.get('keycloakConfig.publicKey'))); + set(config, 'publicKey', encoding.Base64.encode(this.get('keycloakConfig.publicKey'))); break; } diff --git a/gui/app/components/customize/general-settings.js b/gui/app/components/customize/general-settings.js index b58246b5..25b1db10 100644 --- a/gui/app/components/customize/general-settings.js +++ b/gui/app/components/customize/general-settings.js @@ -9,21 +9,20 @@ // // https://documize.com -import Ember from 'ember'; +import { empty, and } from '@ember/object/computed'; -const { - isEmpty, - computed, - set -} = Ember; +import $ from 'jquery'; +import Component from '@ember/component'; +import { isEmpty } from '@ember/utils'; +import { set } from '@ember/object'; -export default Ember.Component.extend({ - titleEmpty: computed.empty('model.general.title'), - messageEmpty: computed.empty('model.general.message'), - conversionEndpointEmpty: computed.empty('model.general.conversionEndpoint'), - hasTitleInputError: computed.and('titleEmpty', 'titleError'), - hasMessageInputError: computed.and('messageEmpty', 'messageError'), - hasConversionEndpointInputError: computed.and('conversionEndpointEmpty', 'conversionEndpointError'), +export default Component.extend({ + titleEmpty: empty('model.general.title'), + messageEmpty: empty('model.general.message'), + conversionEndpointEmpty: empty('model.general.conversionEndpoint'), + hasTitleInputError: and('titleEmpty', 'titleError'), + hasMessageInputError: and('messageEmpty', 'messageError'), + hasConversionEndpointInputError: and('conversionEndpointEmpty', 'conversionEndpointError'), actions: { save() { @@ -47,7 +46,7 @@ export default Ember.Component.extend({ this.set('model.general.conversionEndpoint', e.substring(0, e.length-1)); } - this.model.general.set('allowAnonymousAccess', Ember.$("#allowAnonymousAccess").prop('checked')); + this.model.general.set('allowAnonymousAccess', $("#allowAnonymousAccess").prop('checked')); this.get('save')().then(() => { set(this, 'titleError', false); diff --git a/gui/app/components/customize/global-settings.js b/gui/app/components/customize/global-settings.js index 9af8f70e..3a1cfdfd 100644 --- a/gui/app/components/customize/global-settings.js +++ b/gui/app/components/customize/global-settings.js @@ -9,18 +9,16 @@ // // https://documize.com -import Ember from 'ember'; +import { empty } from '@ember/object/computed'; -const { - computed -} = Ember; +import Component from '@ember/component'; -export default Ember.Component.extend({ - SMTPHostEmptyError: computed.empty('model.smtp.host'), - SMTPPortEmptyError: computed.empty('model.smtp.port'), - SMTPSenderEmptyError: computed.empty('model.smtp.sender'), - SMTPUserIdEmptyError: computed.empty('model.smtp.userid'), - SMTPPasswordEmptyError: computed.empty('model.smtp.password'), +export default Component.extend({ + SMTPHostEmptyError: empty('model.smtp.host'), + SMTPPortEmptyError: empty('model.smtp.port'), + SMTPSenderEmptyError: empty('model.smtp.sender'), + SMTPUserIdEmptyError: empty('model.smtp.userid'), + SMTPPasswordEmptyError: empty('model.smtp.password'), actions: { saveSMTP() { diff --git a/gui/app/components/customize/user-admin.js b/gui/app/components/customize/user-admin.js index fe794798..2e3f5151 100644 --- a/gui/app/components/customize/user-admin.js +++ b/gui/app/components/customize/user-admin.js @@ -9,11 +9,13 @@ // // https://documize.com -import Ember from 'ember'; +import { debounce } from '@ember/runloop'; + +import Component from '@ember/component'; import AuthProvider from '../../mixins/auth'; import DropdownMixin from '../../mixins/dropdown'; -export default Ember.Component.extend(AuthProvider, DropdownMixin, { +export default Component.extend(AuthProvider, DropdownMixin, { editUser: null, deleteUser: null, dropdown: null, @@ -43,7 +45,7 @@ export default Ember.Component.extend(AuthProvider, DropdownMixin, { }, onKeywordChange: function () { - Ember.run.debounce(this, this.filterUsers, 350); + debounce(this, this.filterUsers, 350); }.observes('filter'), filterUsers() { diff --git a/gui/app/components/customize/user-settings.js b/gui/app/components/customize/user-settings.js index b32a6663..100e59dd 100644 --- a/gui/app/components/customize/user-settings.js +++ b/gui/app/components/customize/user-settings.js @@ -9,24 +9,21 @@ // // https://documize.com -import Ember from 'ember'; +import { empty, and } from '@ember/object/computed'; + +import Component from '@ember/component'; +import { isEmpty } from '@ember/utils'; +import { get, set } from '@ember/object'; import AuthProvider from '../../mixins/auth'; -const { - isEmpty, - computed, - set, - get -} = Ember; - -export default Ember.Component.extend(AuthProvider, { +export default Component.extend(AuthProvider, { newUser: { firstname: "", lastname: "", email: "", active: true }, - firstnameEmpty: computed.empty('newUser.firstname'), - lastnameEmpty: computed.empty('newUser.lastname'), - emailEmpty: computed.empty('newUser.email'), - hasFirstnameEmptyError: computed.and('firstnameEmpty', 'firstnameError'), - hasLastnameEmptyError: computed.and('lastnameEmpty', 'lastnameError'), - hasEmailEmptyError: computed.and('emailEmpty', 'emailError'), + firstnameEmpty: empty('newUser.firstname'), + lastnameEmpty: empty('newUser.lastname'), + emailEmpty: empty('newUser.email'), + hasFirstnameEmptyError: and('firstnameEmpty', 'firstnameError'), + hasLastnameEmptyError: and('lastnameEmpty', 'lastnameError'), + hasEmailEmptyError: and('emailEmpty', 'emailError'), actions: { add() { diff --git a/gui/app/components/document/block-editor.js b/gui/app/components/document/block-editor.js index 83a2e4a6..a4575f68 100644 --- a/gui/app/components/document/block-editor.js +++ b/gui/app/components/document/block-editor.js @@ -9,10 +9,12 @@ // // https://documize.com -import Ember from 'ember'; +import { inject as service } from '@ember/service'; -export default Ember.Component.extend({ - store: Ember.inject.service(), +import Component from '@ember/component'; + +export default Component.extend({ + store: service(), didReceiveAttrs() { let p = this.get('store').createRecord('page'); diff --git a/gui/app/components/document/content-linker.js b/gui/app/components/document/content-linker.js index 609a7e5c..86583d26 100644 --- a/gui/app/components/document/content-linker.js +++ b/gui/app/components/document/content-linker.js @@ -9,14 +9,14 @@ // // https://documize.com -import Ember from 'ember'; +import { debounce } from '@ember/runloop'; + +import { computed, set } from '@ember/object'; +import Component from '@ember/component'; +import { inject as service } from '@ember/service'; import TooltipMixin from '../../mixins/tooltip'; -const { - inject: { service } -} = Ember; - -export default Ember.Component.extend(TooltipMixin, { +export default Component.extend(TooltipMixin, { link: service(), linkName: '', keywords: '', @@ -31,21 +31,21 @@ export default Ember.Component.extend(TooltipMixin, { { label: 'Attachment', selected: false }, { label: 'Search', selected: false } ], - contentLinkerButtonId: Ember.computed('page', function () { + contentLinkerButtonId: computed('page', function () { let page = this.get('page'); return `content-linker-button-${page.id}`; }), - showSections: Ember.computed('tabs.@each.selected', function () { + showSections: computed('tabs.@each.selected', function () { return this.get('tabs').findBy('label', 'Section').selected; }), - showAttachments: Ember.computed('tabs.@each.selected', function () { + showAttachments: computed('tabs.@each.selected', function () { return this.get('tabs').findBy('label', 'Attachment').selected; }), - showSearch: Ember.computed('tabs.@each.selected', function () { + showSearch: computed('tabs.@each.selected', function () { return this.get('tabs').findBy('label', 'Search').selected; }), - hasMatches: Ember.computed('matches', function () { + hasMatches: computed('matches', function () { let m = this.get('matches'); return m.documents.length || m.pages.length || m.attachments.length; }), @@ -75,7 +75,7 @@ export default Ember.Component.extend(TooltipMixin, { }, onKeywordChange: function () { - Ember.run.debounce(this, this.fetch, 750); + debounce(this, this.fetch, 750); }.observes('keywords'), fetch() { @@ -100,23 +100,23 @@ export default Ember.Component.extend(TooltipMixin, { this.set('selection', i); candidates.pages.forEach(c => { - Ember.set(c, 'selected', c.id === i.id); + set(c, 'selected', c.id === i.id); }); candidates.attachments.forEach(c => { - Ember.set(c, 'selected', c.id === i.id); + set(c, 'selected', c.id === i.id); }); matches.documents.forEach(c => { - Ember.set(c, 'selected', c.id === i.id); + set(c, 'selected', c.id === i.id); }); matches.pages.forEach(c => { - Ember.set(c, 'selected', c.id === i.id); + set(c, 'selected', c.id === i.id); }); matches.attachments.forEach(c => { - Ember.set(c, 'selected', c.id === i.id); + set(c, 'selected', c.id === i.id); }); }, diff --git a/gui/app/components/document/document-activity.js b/gui/app/components/document/document-activity.js index 3a7d4b7b..69fe5007 100644 --- a/gui/app/components/document/document-activity.js +++ b/gui/app/components/document/document-activity.js @@ -9,10 +9,12 @@ // // https://documize.com -import Ember from 'ember'; +import { inject as service } from '@ember/service'; -export default Ember.Component.extend({ - documentService: Ember.inject.service('document'), +import Component from '@ember/component'; + +export default Component.extend({ + documentService: service('document'), didReceiveAttrs() { this._super(...arguments); diff --git a/gui/app/components/document/document-attachments.js b/gui/app/components/document/document-attachments.js index 00af0f5b..a0e29277 100644 --- a/gui/app/components/document/document-attachments.js +++ b/gui/app/components/document/document-attachments.js @@ -9,21 +9,25 @@ // // https://documize.com -import Ember from 'ember'; +import { computed } from '@ember/object'; + +import { notEmpty } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; import DropdownMixin from '../../mixins/dropdown'; -export default Ember.Component.extend(NotifierMixin, TooltipMixin, DropdownMixin, { - documentService: Ember.inject.service('document'), - appMeta: Ember.inject.service(), +export default Component.extend(NotifierMixin, TooltipMixin, DropdownMixin, { + documentService: service('document'), + appMeta: service(), dropdown: null, - hasAttachments: Ember.computed.notEmpty('files'), + hasAttachments: notEmpty('files'), deleteAttachment: { id: "", name: "", }, - canShow: Ember.computed('permissions', 'files', function() { + canShow: computed('permissions', 'files', function() { return this.get('files.length') > 0 || this.get('permissions.documentEdit'); }), diff --git a/gui/app/components/document/document-editor.js b/gui/app/components/document/document-editor.js index f958a111..59ca7819 100644 --- a/gui/app/components/document/document-editor.js +++ b/gui/app/components/document/document-editor.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ didReceiveAttrs() { this.set('editorType', 'section/' + this.get('page.contentType') + '/type-editor'); }, diff --git a/gui/app/components/document/document-heading.js b/gui/app/components/document/document-heading.js index 75898007..8ee4389e 100644 --- a/gui/app/components/document/document-heading.js +++ b/gui/app/components/document/document-heading.js @@ -9,21 +9,21 @@ // // https://documize.com -import Ember from 'ember'; +import { empty } from '@ember/object/computed'; + +import { schedule } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; -const { - computed, -} = Ember; - -export default Ember.Component.extend(NotifierMixin, TooltipMixin, { - documentService: Ember.inject.service('document'), +export default Component.extend(NotifierMixin, TooltipMixin, { + documentService: service('document'), editMode: false, docName: '', docExcerpt: '', - hasNameError: computed.empty('docName'), - hasExcerptError: computed.empty('docExcerpt'), + hasNameError: empty('docName'), + hasExcerptError: empty('docExcerpt'), keyUp(e) { if (e.keyCode === 27) { // escape key @@ -37,7 +37,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { this.set('docExcerpt', this.get('document.excerpt')); this.set('editMode', true); - Ember.run.schedule('afterRender', () => { + schedule('afterRender', () => { $('#document-name').select(); }); }, diff --git a/gui/app/components/document/document-history.js b/gui/app/components/document/document-history.js index 18d6f5d7..0d09e2ab 100644 --- a/gui/app/components/document/document-history.js +++ b/gui/app/components/document/document-history.js @@ -9,11 +9,13 @@ // // https://documize.com -import Ember from 'ember'; +import { computed, set } from '@ember/object'; -export default Ember.Component.extend({ +import Component from '@ember/component'; + +export default Component.extend({ revision: null, - hasDiff: Ember.computed('diff', function () { + hasDiff: computed('diff', function () { return this.get('diff').length > 0; }), @@ -21,8 +23,8 @@ export default Ember.Component.extend({ let revisions = this.get('revisions'); revisions.forEach((r) => { - Ember.set(r, 'deleted', r.revisions === 0); - Ember.set(r, 'label', `${r.created} - ${r.firstname} ${r.lastname} - ${r.title}`); + set(r, 'deleted', r.revisions === 0); + set(r, 'label', `${r.created} - ${r.firstname} ${r.lastname} - ${r.title}`); }); if (revisions.length > 0 && is.null(this.get('revision'))) { diff --git a/gui/app/components/document/document-index.js b/gui/app/components/document/document-index.js index 31f14f6d..cac16b9a 100644 --- a/gui/app/components/document/document-index.js +++ b/gui/app/components/document/document-index.js @@ -9,12 +9,14 @@ // // https://documize.com -import Ember from 'ember'; +import { computed } from '@ember/object'; + +import Component from '@ember/component'; import tocUtil from '../../utils/toc'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; -export default Ember.Component.extend(NotifierMixin, TooltipMixin, { +export default Component.extend(NotifierMixin, TooltipMixin, { document: {}, folder: {}, pages: [], @@ -26,7 +28,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { indentDisabled: true, outdentDisabled: true }, - emptyState: Ember.computed('pages', function () { + emptyState: computed('pages', function () { return this.get('pages.length') === 0; }), diff --git a/gui/app/components/document/document-page.js b/gui/app/components/document/document-page.js index b1ca0a90..d0278dd5 100644 --- a/gui/app/components/document/document-page.js +++ b/gui/app/components/document/document-page.js @@ -9,13 +9,15 @@ // // https://documize.com -import Ember from 'ember'; +import { inject as service } from '@ember/service'; + +import Component from '@ember/component'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; -export default Ember.Component.extend(NotifierMixin, TooltipMixin, { - documentService: Ember.inject.service('document'), - sectionService: Ember.inject.service('section'), +export default Component.extend(NotifierMixin, TooltipMixin, { + documentService: service('document'), + sectionService: service('section'), editMode: false, didReceiveAttrs() { diff --git a/gui/app/components/document/document-sidebar.js b/gui/app/components/document/document-sidebar.js index 836a5e7a..a3869902 100644 --- a/gui/app/components/document/document-sidebar.js +++ b/gui/app/components/document/document-sidebar.js @@ -9,11 +9,11 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; -export default Ember.Component.extend(NotifierMixin, TooltipMixin, { +export default Component.extend(NotifierMixin, TooltipMixin, { tab: 'index', didRender() { diff --git a/gui/app/components/document/document-tab.js b/gui/app/components/document/document-tab.js index 9d3a5e9a..8c92ca62 100644 --- a/gui/app/components/document/document-tab.js +++ b/gui/app/components/document/document-tab.js @@ -9,12 +9,14 @@ // // https://documize.com -import Ember from 'ember'; +import { inject as service } from '@ember/service'; + +import Component from '@ember/component'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; -export default Ember.Component.extend(NotifierMixin, TooltipMixin, { - sectionService: Ember.inject.service('section'), +export default Component.extend(NotifierMixin, TooltipMixin, { + sectionService: service('section'), viewMode: true, editMode: false, diff --git a/gui/app/components/document/document-toolbar.js b/gui/app/components/document/document-toolbar.js index a8dd98bf..4e717a3c 100644 --- a/gui/app/components/document/document-toolbar.js +++ b/gui/app/components/document/document-toolbar.js @@ -9,18 +9,20 @@ // // https://documize.com -import Ember from 'ember'; +import { inject as service } from '@ember/service'; + +import Component from '@ember/component'; import TooltipMixin from '../../mixins/tooltip'; import NotifierMixin from '../../mixins/notifier'; -export default Ember.Component.extend(TooltipMixin, NotifierMixin, { - documentService: Ember.inject.service('document'), - sectionService: Ember.inject.service('section'), - sessionService: Ember.inject.service('session'), - appMeta: Ember.inject.service(), - userService: Ember.inject.service('user'), - localStorage: Ember.inject.service(), - pinned: Ember.inject.service(), +export default Component.extend(TooltipMixin, NotifierMixin, { + documentService: service('document'), + sectionService: service('section'), + sessionService: service('session'), + appMeta: service(), + userService: service('user'), + localStorage: service(), + pinned: service(), menuOpen: false, pinState : { isPinned: false, diff --git a/gui/app/components/document/document-view.js b/gui/app/components/document/document-view.js index ef7a3dcf..c8225fb7 100644 --- a/gui/app/components/document/document-view.js +++ b/gui/app/components/document/document-view.js @@ -9,22 +9,22 @@ // // https://documize.com -import Ember from 'ember'; +import { notEmpty, empty } from '@ember/object/computed'; + +import { schedule } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; -const { - computed, -} = Ember; - -export default Ember.Component.extend(NotifierMixin, TooltipMixin, { - documentService: Ember.inject.service('document'), - sectionService: Ember.inject.service('section'), - appMeta: Ember.inject.service(), - link: Ember.inject.service(), - hasPages: computed.notEmpty('pages'), +export default Component.extend(NotifierMixin, TooltipMixin, { + documentService: service('document'), + sectionService: service('section'), + appMeta: service(), + link: service(), + hasPages: notEmpty('pages'), newSectionName: 'Section', - newSectionNameMissing: computed.empty('newSectionName'), + newSectionNameMissing: empty('newSectionName'), newSectionLocation: '', beforePage: '', toEdit: '', @@ -33,7 +33,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { this._super(...arguments); this.loadBlocks(); - Ember.run.schedule('afterRender', () => { + schedule('afterRender', () => { let jumpTo = "#page-" + this.get('pageId'); if (!$(jumpTo).inView()) { $(jumpTo).velocity("scroll", { duration: 250, offset: -100 }); @@ -98,7 +98,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { }, setupAddWizard() { - Ember.run.schedule('afterRender', () => { + schedule('afterRender', () => { $('.start-section:not(.start-section-empty-state)').off('.hoverIntent'); $('.start-section:not(.start-section-empty-state)').hoverIntent({interval: 100, over: function() { diff --git a/gui/app/components/document/index-entry.js b/gui/app/components/document/index-entry.js index 682cc55e..577705d6 100644 --- a/gui/app/components/document/index-entry.js +++ b/gui/app/components/document/index-entry.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ page: {}, tagName: "li", classNames: ["item"], diff --git a/gui/app/components/document/page-heading.js b/gui/app/components/document/page-heading.js index 2839d0e4..0af35a3d 100644 --- a/gui/app/components/document/page-heading.js +++ b/gui/app/components/document/page-heading.js @@ -9,15 +9,13 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; + +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; import TooltipMixin from '../../mixins/tooltip'; -const { - computed, - inject: { service } -} = Ember; - -export default Ember.Component.extend(TooltipMixin, { +export default Component.extend(TooltipMixin, { documentService: service('document'), deleteChildren: false, menuOpen: false, diff --git a/gui/app/components/document/space-category.js b/gui/app/components/document/space-category.js index f7b6eff2..07ac71ed 100644 --- a/gui/app/components/document/space-category.js +++ b/gui/app/components/document/space-category.js @@ -9,23 +9,26 @@ // // https://documize.com -import Ember from 'ember'; +import { computed } from '@ember/object'; + +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import TooltipMixin from '../../mixins/tooltip'; import NotifierMixin from '../../mixins/notifier'; -export default Ember.Component.extend(TooltipMixin, NotifierMixin, { - documentService: Ember.inject.service('document'), - categoryService: Ember.inject.service('category'), - sessionService: Ember.inject.service('session'), +export default Component.extend(TooltipMixin, NotifierMixin, { + documentService: service('document'), + categoryService: service('category'), + sessionService: service('session'), newCategory: '', categories: [], - hasCategories: Ember.computed('categories', function() { + hasCategories: computed('categories', function() { return this.get('categories').length > 0; }), - canSelectCategory: Ember.computed('categories', function() { + canSelectCategory: computed('categories', function() { return (this.get('categories').length > 0 && this.get('permissions.documentEdit')); }), - canAddCategory: Ember.computed('categories', function() { + canAddCategory: computed('categories', function() { return this.get('permissions.spaceOwner') || this.get('permissions.spaceManage'); }), diff --git a/gui/app/components/document/tab-heading.js b/gui/app/components/document/tab-heading.js index 435d4dbb..b544d2fa 100644 --- a/gui/app/components/document/tab-heading.js +++ b/gui/app/components/document/tab-heading.js @@ -9,15 +9,13 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; + +import { computed } from '@ember/object'; +import { inject as service } from '@ember/service'; import TooltipMixin from '../../mixins/tooltip'; -const { - computed, - inject: { service } -} = Ember; - -export default Ember.Component.extend(TooltipMixin, { +export default Component.extend(TooltipMixin, { documentService: service('document'), expanded: false, deleteChildren: false, diff --git a/gui/app/components/document/tag-editor.js b/gui/app/components/document/tag-editor.js index 0151ccf3..933cbb0c 100644 --- a/gui/app/components/document/tag-editor.js +++ b/gui/app/components/document/tag-editor.js @@ -9,15 +9,17 @@ // // https://documize.com -import Ember from 'ember'; +import { computed } from '@ember/object'; -export default Ember.Component.extend({ +import Component from '@ember/component'; + +export default Component.extend({ documentTags: [], tagz: [], newTag: "", maxTags: 3, canAdd: false, - emptyState: Ember.computed('tagz', function() { + emptyState: computed('tagz', function() { return (this.get('tagz').length === 0 && !this.get('permissions.documentEdit')); }), diff --git a/gui/app/components/documize-setup.js b/gui/app/components/documize-setup.js index d81c1f97..4ee1d994 100644 --- a/gui/app/components/documize-setup.js +++ b/gui/app/components/documize-setup.js @@ -9,26 +9,24 @@ // // https://documize.com -import Ember from 'ember'; +import { empty, and } from '@ember/object/computed'; -const { - isEmpty, - computed, - set +import $ from 'jquery'; +import Component from '@ember/component'; +import { isEmpty } from '@ember/utils'; +import { set } from '@ember/object'; -} = Ember; - -export default Ember.Component.extend({ - titleEmpty: computed.empty('model.title'), - firstnameEmpty: computed.empty('model.firstname'), - lastnameEmpty: computed.empty('model.lastname'), - emailEmpty: computed.empty('model.email'), - passwordEmpty: computed.empty('model.password'), - hasEmptyTitleError: computed.and('titleEmpty', 'titleError'), - hasEmptyFirstnameError: computed.and('firstnameEmpty', 'adminFirstnameError'), - hasEmptyLastnameError: computed.and('lastnameEmpty', 'adminLastnameError'), - hasEmptyEmailError: computed.and('emailEmpty', 'adminEmailError'), - hasEmptyPasswordError: computed.and('passwordEmpty', 'adminPasswordError'), +export default Component.extend({ + titleEmpty: empty('model.title'), + firstnameEmpty: empty('model.firstname'), + lastnameEmpty: empty('model.lastname'), + emailEmpty: empty('model.email'), + passwordEmpty: empty('model.password'), + hasEmptyTitleError: and('titleEmpty', 'titleError'), + hasEmptyFirstnameError: and('firstnameEmpty', 'adminFirstnameError'), + hasEmptyLastnameError: and('lastnameEmpty', 'adminLastnameError'), + hasEmptyEmailError: and('emailEmpty', 'adminEmailError'), + hasEmptyPasswordError: and('passwordEmpty', 'adminPasswordError'), actions: { save() { @@ -57,7 +55,7 @@ export default Ember.Component.extend({ return $("#adminPassword").focus(); } - this.model.allowAnonymousAccess = Ember.$("#allowAnonymousAccess").prop('checked'); + this.model.allowAnonymousAccess = $("#allowAnonymousAccess").prop('checked'); this.get('save')().then(() => { set(this, 'titleError', false); diff --git a/gui/app/components/dropdown-dialog.js b/gui/app/components/dropdown-dialog.js index d1bc863f..8f2eb8d7 100644 --- a/gui/app/components/dropdown-dialog.js +++ b/gui/app/components/dropdown-dialog.js @@ -9,10 +9,13 @@ // // https://documize.com -import Ember from 'ember'; +import { computed } from '@ember/object'; + +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import stringUtil from '../utils/string'; -export default Ember.Component.extend({ +export default Component.extend({ drop: null, target: null, button: "Delete", @@ -33,9 +36,9 @@ export default Ember.Component.extend({ constrainToWindow: true, constrainToScrollParent: true, cssClass: '', - tether: Ember.inject.service(), + tether: service(), - hasSecondButton: Ember.computed('button2', 'color2', function () { + hasSecondButton: computed('button2', 'color2', function () { return is.not.empty(this.get('button2')) && is.not.empty(this.get('color2')); }), diff --git a/gui/app/components/dropdown-menu.js b/gui/app/components/dropdown-menu.js index ab3ce88b..9468cbba 100644 --- a/gui/app/components/dropdown-menu.js +++ b/gui/app/components/dropdown-menu.js @@ -9,10 +9,12 @@ // // https://documize.com -import Ember from 'ember'; +import { inject as service } from '@ember/service'; + +import Component from '@ember/component'; import stringUtil from '../utils/string'; -export default Ember.Component.extend({ +export default Component.extend({ target: null, open: "click", position: 'bottom right', @@ -20,7 +22,7 @@ export default Ember.Component.extend({ drop: null, onOpenCallback: null, // callback when opened onCloseCallback: null, // callback when closed - tether: Ember.inject.service(), + tether: service(), didReceiveAttrs() { this.set("contentId", 'dropdown-menu-' + stringUtil.makeId(10)); diff --git a/gui/app/components/empty-state.js b/gui/app/components/empty-state.js index 44db8be9..85a6fbfe 100644 --- a/gui/app/components/empty-state.js +++ b/gui/app/components/empty-state.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ icon: 'visibility', glypth: '', diff --git a/gui/app/components/focus-input.js b/gui/app/components/focus-input.js index d42d7360..bff5e77c 100644 --- a/gui/app/components/focus-input.js +++ b/gui/app/components/focus-input.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import TextField from '@ember/component/text-field'; -export default Ember.TextField.extend({ +export default TextField.extend({ becomeFocused: function() { this.$().focus(); }.on('didInsertElement') diff --git a/gui/app/components/focus-textarea.js b/gui/app/components/focus-textarea.js index e64feca9..54112aca 100644 --- a/gui/app/components/focus-textarea.js +++ b/gui/app/components/focus-textarea.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import TextArea from '@ember/component/text-area'; -export default Ember.TextArea.extend({ +export default TextArea.extend({ becomeFocused: function() { this.$().focus(); }.on('didInsertElement') diff --git a/gui/app/components/folder/category-admin.js b/gui/app/components/folder/category-admin.js index 0b7d3fbc..fe62cc51 100644 --- a/gui/app/components/folder/category-admin.js +++ b/gui/app/components/folder/category-admin.js @@ -9,16 +9,14 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; + +import { inject as service } from '@ember/service'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; import DropdownMixin from '../../mixins/dropdown'; -const { - inject: { service } -} = Ember; - -export default Ember.Component.extend(NotifierMixin, TooltipMixin, DropdownMixin, { +export default Component.extend(NotifierMixin, TooltipMixin, DropdownMixin, { userService: service('user'), categoryService: service('category'), appMeta: service(), diff --git a/gui/app/components/folder/document-tags.js b/gui/app/components/folder/document-tags.js index f58811cc..8c1c237d 100644 --- a/gui/app/components/folder/document-tags.js +++ b/gui/app/components/folder/document-tags.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ documentTags: [], tagz: [], diff --git a/gui/app/components/folder/documents-list.js b/gui/app/components/folder/documents-list.js index db70590b..dc5b3c14 100644 --- a/gui/app/components/folder/documents-list.js +++ b/gui/app/components/folder/documents-list.js @@ -9,13 +9,15 @@ // // https://documize.com -import Ember from 'ember'; +import { computed } from '@ember/object'; -export default Ember.Component.extend({ - showAdd: Ember.computed('permissions', 'documents', function() { +import Component from '@ember/component'; + +export default Component.extend({ + showAdd: computed('permissions', 'documents', function() { return this.get('documents.length') === 0 && this.get('permissions.documentAdd'); }), - showLockout: Ember.computed('permissions', 'documents', function() { + showLockout: computed('permissions', 'documents', function() { return this.get('documents.length') === 0 && !this.get('permissions.documentAdd'); }), diff --git a/gui/app/components/folder/invite-user.js b/gui/app/components/folder/invite-user.js index 7a2b0469..a18e3568 100644 --- a/gui/app/components/folder/invite-user.js +++ b/gui/app/components/folder/invite-user.js @@ -9,14 +9,12 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; + +import { inject as service } from '@ember/service'; import NotifierMixin from '../../mixins/notifier'; -const { - inject: { service } -} = Ember; - -export default Ember.Component.extend(NotifierMixin, { +export default Component.extend(NotifierMixin, { folderService: service('folder'), appMeta: service(), inviteEmail: '', diff --git a/gui/app/components/folder/permission-admin.js b/gui/app/components/folder/permission-admin.js index 0e7d12f8..b34f1544 100644 --- a/gui/app/components/folder/permission-admin.js +++ b/gui/app/components/folder/permission-admin.js @@ -9,14 +9,13 @@ // // https://documize.com -import Ember from 'ember'; +import { setProperties } from '@ember/object'; + +import Component from '@ember/component'; +import { inject as service } from '@ember/service'; import NotifierMixin from '../../mixins/notifier'; -const { - inject: { service } -} = Ember; - -export default Ember.Component.extend(NotifierMixin, { +export default Component.extend(NotifierMixin, { folderService: service('folder'), userService: service('user'), appMeta: service(), @@ -74,7 +73,7 @@ export default Ember.Component.extend(NotifierMixin, { permissions.forEach((permission, index) => { // eslint-disable-line no-unused-vars let record = folderPermissions.findBy('userId', permission.get('userId')); if (is.not.undefined(record)) { - record = Ember.setProperties(record, permission); + record = setProperties(record, permission); } }); diff --git a/gui/app/components/folder/sidebar-folders-list.js b/gui/app/components/folder/sidebar-folders-list.js index e180c7be..b206932a 100644 --- a/gui/app/components/folder/sidebar-folders-list.js +++ b/gui/app/components/folder/sidebar-folders-list.js @@ -9,13 +9,15 @@ // // https://documize.com -import Ember from 'ember'; +import { schedule } from '@ember/runloop'; + +import Component from '@ember/component'; import constants from '../../utils/constants'; import TooltipMixin from '../../mixins/tooltip'; import NotifierMixin from '../../mixins/notifier'; import AuthMixin from '../../mixins/auth'; -export default Ember.Component.extend(TooltipMixin, NotifierMixin, AuthMixin, { +export default Component.extend(TooltipMixin, NotifierMixin, AuthMixin, { publicFolders: [], protectedFolders: [], privateFolders: [], @@ -66,7 +68,7 @@ export default Ember.Component.extend(TooltipMixin, NotifierMixin, AuthMixin, { this.set('showSpace', val); if (val) { - Ember.run.schedule('afterRender', () => { + schedule('afterRender', () => { $("#new-folder-name").focus(); }); } diff --git a/gui/app/components/folder/sidebar-zone.js b/gui/app/components/folder/sidebar-zone.js index 6267b29e..8012f47a 100644 --- a/gui/app/components/folder/sidebar-zone.js +++ b/gui/app/components/folder/sidebar-zone.js @@ -9,12 +9,12 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; import TooltipMixin from '../../mixins/tooltip'; import NotifierMixin from '../../mixins/notifier'; import AuthMixin from '../../mixins/auth'; -export default Ember.Component.extend(TooltipMixin, NotifierMixin, AuthMixin, { +export default Component.extend(TooltipMixin, NotifierMixin, AuthMixin, { tab: '', init() { diff --git a/gui/app/components/folder/space-heading.js b/gui/app/components/folder/space-heading.js index a2e7eaed..9e2a137a 100644 --- a/gui/app/components/folder/space-heading.js +++ b/gui/app/components/folder/space-heading.js @@ -9,18 +9,18 @@ // // https://documize.com -import Ember from 'ember'; +import { empty } from '@ember/object/computed'; + +import { schedule } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; -const { - computed, -} = Ember; - -export default Ember.Component.extend(NotifierMixin, TooltipMixin, { - folderService: Ember.inject.service('folder'), +export default Component.extend(NotifierMixin, TooltipMixin, { + folderService: service('folder'), folderName: '', - hasNameError: computed.empty('folderName'), + hasNameError: empty('folderName'), editMode: false, keyUp(e) { @@ -34,7 +34,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { this.set('folderName', this.get('folder.name')); this.set('editMode', true); - Ember.run.schedule('afterRender', () => { + schedule('afterRender', () => { $('#folder-name').select(); }); }, diff --git a/gui/app/components/folder/space-toolbar.js b/gui/app/components/folder/space-toolbar.js index bab8dee4..cf66461e 100644 --- a/gui/app/components/folder/space-toolbar.js +++ b/gui/app/components/folder/space-toolbar.js @@ -9,16 +9,15 @@ // // https://documize.com -import Ember from 'ember'; +import { computed } from '@ember/object'; + +import Component from '@ember/component'; +import { inject as service } from '@ember/service'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; import AuthMixin from '../../mixins/auth'; -const { - inject: { service } -} = Ember; - -export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, { +export default Component.extend(NotifierMixin, TooltipMixin, AuthMixin, { folderService: service('folder'), session: service(), appMeta: service(), @@ -34,7 +33,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, { newName: '' }, deleteSpaceName: '', - spaceSettings: Ember.computed('permissions', function() { + spaceSettings: computed('permissions', function() { return this.get('permissions.spaceOwner') || this.get('permissions.spaceManage'); }), diff --git a/gui/app/components/folder/space-view.js b/gui/app/components/folder/space-view.js index 413a3645..80028b5f 100644 --- a/gui/app/components/folder/space-view.js +++ b/gui/app/components/folder/space-view.js @@ -9,23 +9,24 @@ // // https://documize.com -import Ember from 'ember'; +import { all } from 'rsvp'; + +import { schedule } from '@ember/runloop'; +import { gt } from '@ember/object/computed'; +import Component from '@ember/component'; +import { inject as service } from '@ember/service'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; import AuthMixin from '../../mixins/auth'; -const { - inject: { service } -} = Ember; - -export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, { +export default Component.extend(NotifierMixin, TooltipMixin, AuthMixin, { router: service(), documentService: service('document'), folderService: service('folder'), localStorage: service('localStorage'), selectedDocuments: [], - hasSelectedDocuments: Ember.computed.gt('selectedDocuments.length', 0), - hasCategories: Ember.computed.gt('categories.length', 0), + hasSelectedDocuments: gt('selectedDocuments.length', 0), + hasCategories: gt('categories.length', 0), showStartDocument: false, filteredDocs: [], @@ -70,7 +71,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, { this.set('categories', categories); - Ember.run.schedule('afterRender', () => { + schedule('afterRender', () => { if (this.get('rootDocCount') > 0) { this.send('onDocumentFilter', 'space', this.get('folder.id')); } else if (selectedCategory !== '') { @@ -107,7 +108,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, { promises[index] = self.get('documentService').deleteDocument(document); }); - Ember.RSVP.all(promises).then(() => { + all(promises).then(() => { let documents = this.get('documents'); documents.forEach(function (document) { document.set('selected', false); diff --git a/gui/app/components/folder/start-document.js b/gui/app/components/folder/start-document.js index 91afb306..d3a6969c 100644 --- a/gui/app/components/folder/start-document.js +++ b/gui/app/components/folder/start-document.js @@ -9,15 +9,14 @@ // // https://documize.com -import Ember from 'ember'; +import { empty } from '@ember/object/computed'; + +import { schedule } from '@ember/runloop'; +import Component from '@ember/component'; +import { inject as service } from '@ember/service'; import NotifierMixin from '../../mixins/notifier'; -const { - computed, - inject: { service } -} = Ember; - -export default Ember.Component.extend(NotifierMixin, { +export default Component.extend(NotifierMixin, { localStorage: service(), appMeta: service(), templateService: service('template'), @@ -26,14 +25,14 @@ export default Ember.Component.extend(NotifierMixin, { importStatus: [], dropzone: null, newDocumentName: '', - newDocumentNameMissing: computed.empty('newDocumentName'), + newDocumentNameMissing: empty('newDocumentName'), didReceiveAttrs() { this._super(...arguments); this.setupTemplates(); - Ember.run.schedule('afterRender', ()=> { + schedule('afterRender', ()=> { this.setupImport(); }); }, @@ -64,7 +63,7 @@ export default Ember.Component.extend(NotifierMixin, { this.set('savedTemplates', templates); - Ember.run.schedule('afterRender', () => { + schedule('afterRender', () => { $('#new-document-name').select(); }); }, diff --git a/gui/app/components/forgot-password.js b/gui/app/components/forgot-password.js index 261a2748..10748f7e 100644 --- a/gui/app/components/forgot-password.js +++ b/gui/app/components/forgot-password.js @@ -9,32 +9,31 @@ // // https://documize.com -import Ember from 'ember'; +import { empty, and } from '@ember/object/computed'; -const { - computed, - isEmpty -} = Ember; +import { set } from '@ember/object'; +import Component from '@ember/component'; +import { isEmpty } from '@ember/utils'; -export default Ember.Component.extend({ +export default Component.extend({ email: "", sayThanks: false, - emailEmpty: computed.empty('email'), - hasEmptyEmailError: computed.and('emailEmpty', 'emailIsEmpty'), + emailEmpty: empty('email'), + hasEmptyEmailError: and('emailEmpty', 'emailIsEmpty'), actions: { forgot() { let email = this.get('email'); if (isEmpty(email)) { - Ember.set(this, 'emailIsEmpty', true); + set(this, 'emailIsEmpty', true); return $("#email").focus(); } this.get('forgot')(email).then(() => { - Ember.set(this, 'sayThanks', true); - Ember.set(this, 'email', ''); - Ember.set(this, 'emailIsEmpty', false); + set(this, 'sayThanks', true); + set(this, 'email', ''); + set(this, 'emailIsEmpty', false); }); } } diff --git a/gui/app/components/layout/sidebar-intro.js b/gui/app/components/layout/sidebar-intro.js index cb25c125..e790b207 100644 --- a/gui/app/components/layout/sidebar-intro.js +++ b/gui/app/components/layout/sidebar-intro.js @@ -9,7 +9,7 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ }); diff --git a/gui/app/components/layout/zone-content.js b/gui/app/components/layout/zone-content.js index f8f457d6..bff62288 100644 --- a/gui/app/components/layout/zone-content.js +++ b/gui/app/components/layout/zone-content.js @@ -9,14 +9,12 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; + +import { inject as service } from '@ember/service'; import NotifierMixin from '../../mixins/notifier'; -const { - inject: { service } -} = Ember; - -export default Ember.Component.extend(NotifierMixin, { +export default Component.extend(NotifierMixin, { appMeta :service(), didRender() { diff --git a/gui/app/components/layout/zone-document.js b/gui/app/components/layout/zone-document.js index f8f457d6..bff62288 100644 --- a/gui/app/components/layout/zone-document.js +++ b/gui/app/components/layout/zone-document.js @@ -9,14 +9,12 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; + +import { inject as service } from '@ember/service'; import NotifierMixin from '../../mixins/notifier'; -const { - inject: { service } -} = Ember; - -export default Ember.Component.extend(NotifierMixin, { +export default Component.extend(NotifierMixin, { appMeta :service(), didRender() { diff --git a/gui/app/components/layout/zone-sidebar.js b/gui/app/components/layout/zone-sidebar.js index 3a698cb9..b28f9b11 100644 --- a/gui/app/components/layout/zone-sidebar.js +++ b/gui/app/components/layout/zone-sidebar.js @@ -9,15 +9,13 @@ // // https://documize.com -import Ember from 'ember'; +import { notEmpty } from '@ember/object/computed'; + +import Component from '@ember/component'; +import { inject as service } from '@ember/service'; import constants from '../../utils/constants'; -const { - computed, - inject: { service } -} = Ember; - -export default Ember.Component.extend({ +export default Component.extend({ folderService: service('folder'), appMeta: service(), session: service(), @@ -25,7 +23,7 @@ export default Ember.Component.extend({ pinned: service(), enableLogout: true, pins: [], - hasPins: computed.notEmpty('pins'), + hasPins: notEmpty('pins'), init() { this._super(...arguments); diff --git a/gui/app/components/onboard/share-folder.js b/gui/app/components/onboard/share-folder.js index d2033c4e..0ee21051 100644 --- a/gui/app/components/onboard/share-folder.js +++ b/gui/app/components/onboard/share-folder.js @@ -9,10 +9,12 @@ // // https://documize.com -import Ember from 'ember'; +import { inject as service } from '@ember/service'; -export default Ember.Component.extend({ - folderService: Ember.inject.service('folder'), +import Component from '@ember/component'; + +export default Component.extend({ + folderService: service('folder'), serial: "", folderId: "", slug: "", diff --git a/gui/app/components/password-reset.js b/gui/app/components/password-reset.js index 49cca5c0..64304935 100644 --- a/gui/app/components/password-reset.js +++ b/gui/app/components/password-reset.js @@ -9,24 +9,20 @@ // // https://documize.com -import Ember from 'ember'; +import { empty, and } from '@ember/object/computed'; -const { - isEmpty, - isEqual, - computed, - set +import Component from '@ember/component'; +import { isEqual, isEmpty } from '@ember/utils'; +import { set } from '@ember/object'; -} = Ember; - -export default Ember.Component.extend({ +export default Component.extend({ password: "", passwordConfirm: "", mustMatch: false, - passwordEmpty: computed.empty('password'), - confirmEmpty: computed.empty('passwordConfirm'), - hasPasswordError: computed.and('passwordEmpty', 'passwordIsEmpty'), - hasConfirmError: computed.and('confirmEmpty', 'passwordConfirmIsEmpty'), + passwordEmpty: empty('password'), + confirmEmpty: empty('passwordConfirm'), + hasPasswordError: and('passwordEmpty', 'passwordIsEmpty'), + hasConfirmError: and('confirmEmpty', 'passwordConfirmIsEmpty'), actions: { reset() { diff --git a/gui/app/components/search/search-results.js b/gui/app/components/search/search-results.js index 812440be..3d146c35 100644 --- a/gui/app/components/search/search-results.js +++ b/gui/app/components/search/search-results.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ results: [], resultPhrase: "", diff --git a/gui/app/components/search/tag-list.js b/gui/app/components/search/tag-list.js index 543e6246..3dbf771a 100644 --- a/gui/app/components/search/tag-list.js +++ b/gui/app/components/search/tag-list.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ documentTags: [], tagz: [], diff --git a/gui/app/components/section/airtable/type-editor.js b/gui/app/components/section/airtable/type-editor.js index 9c332333..555c2aef 100644 --- a/gui/app/components/section/airtable/type-editor.js +++ b/gui/app/components/section/airtable/type-editor.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ data: "", didReceiveAttrs() { diff --git a/gui/app/components/section/airtable/type-renderer.js b/gui/app/components/section/airtable/type-renderer.js index a5417462..7f9e1612 100644 --- a/gui/app/components/section/airtable/type-renderer.js +++ b/gui/app/components/section/airtable/type-renderer.js @@ -9,6 +9,6 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({}); \ No newline at end of file +export default Component.extend({}); \ No newline at end of file diff --git a/gui/app/components/section/base-editor-inline.js b/gui/app/components/section/base-editor-inline.js index 62840501..00b59c37 100644 --- a/gui/app/components/section/base-editor-inline.js +++ b/gui/app/components/section/base-editor-inline.js @@ -9,39 +9,38 @@ // // https://documize.com -import Ember from 'ember'; +import { empty } from '@ember/object/computed'; -const { - computed, -} = Ember; +import { computed } from '@ember/object'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ drop: null, busy: false, mousetrap: null, - hasNameError: computed.empty('page.title'), - containerId: Ember.computed('page', function () { + hasNameError: empty('page.title'), + containerId: computed('page', function () { let page = this.get('page'); return `base-editor-inline-container-${page.id}`; }), - pageId: Ember.computed('page', function () { + pageId: computed('page', function () { let page = this.get('page'); return `page-editor-${page.id}`; }), - cancelId: Ember.computed('page', function () { + cancelId: computed('page', function () { let page = this.get('page'); return `cancel-edits-button-${page.id}`; }), - dialogId: Ember.computed('page', function () { + dialogId: computed('page', function () { let page = this.get('page'); return `discard-edits-dialog-${page.id}`; }), - contentLinkerButtonId: Ember.computed('page', function () { + contentLinkerButtonId: computed('page', function () { let page = this.get('page'); return `content-linker-button-${page.id}`; }), - previewButtonId: Ember.computed('page', function () { + previewButtonId: computed('page', function () { let page = this.get('page'); return `content-preview-button-${page.id}`; }), diff --git a/gui/app/components/section/base-editor.js b/gui/app/components/section/base-editor.js index b30be215..d8811b85 100644 --- a/gui/app/components/section/base-editor.js +++ b/gui/app/components/section/base-editor.js @@ -9,15 +9,17 @@ // // https://documize.com -import Ember from 'ember'; +import { computed } from '@ember/object'; -export default Ember.Component.extend({ +import Component from '@ember/component'; + +export default Component.extend({ drop: null, cancelLabel: "Close", actionLabel: "Save", tip: "Short and concise title", busy: false, - hasExcerpt: Ember.computed('page', function () { + hasExcerpt: computed('page', function () { return is.not.undefined(this.get('page.excerpt')); }), diff --git a/gui/app/components/section/base-renderer.js b/gui/app/components/section/base-renderer.js index 572614b9..7519a2ca 100644 --- a/gui/app/components/section/base-renderer.js +++ b/gui/app/components/section/base-renderer.js @@ -9,7 +9,7 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ }); \ No newline at end of file diff --git a/gui/app/components/section/code/type-editor.js b/gui/app/components/section/code/type-editor.js index cc351632..2c4760dc 100644 --- a/gui/app/components/section/code/type-editor.js +++ b/gui/app/components/section/code/type-editor.js @@ -9,20 +9,22 @@ // // https://documize.com -import Ember from 'ember'; +import { computed } from '@ember/object'; + +import Component from '@ember/component'; import TooltipMixin from '../../../mixins/tooltip'; -export default Ember.Component.extend(TooltipMixin, { +export default Component.extend(TooltipMixin, { isDirty: false, pageBody: "", syntaxOptions: [], codeSyntax: null, codeEditor: null, - editorId: Ember.computed('page', function () { + editorId: computed('page', function () { let page = this.get('page'); return `code-editor-${page.id}`; }), - syntaxId: Ember.computed('page', function () { + syntaxId: computed('page', function () { let page = this.get('page'); return `code-editor-syntax-${page.id}`; }), diff --git a/gui/app/components/section/code/type-renderer.js b/gui/app/components/section/code/type-renderer.js index 5c125130..dc824613 100644 --- a/gui/app/components/section/code/type-renderer.js +++ b/gui/app/components/section/code/type-renderer.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ codeBody: "", codeSyntax: "htmlmixed", diff --git a/gui/app/components/section/gemini/type-editor.js b/gui/app/components/section/gemini/type-editor.js index ba0aec97..787cb3a7 100644 --- a/gui/app/components/section/gemini/type-editor.js +++ b/gui/app/components/section/gemini/type-editor.js @@ -9,13 +9,17 @@ // // https://documize.com -import Ember from 'ember'; +import { set } from '@ember/object'; + +import { schedule } from '@ember/runloop'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NotifierMixin from '../../../mixins/notifier'; import TooltipMixin from '../../../mixins/tooltip'; import SectionMixin from '../../../mixins/section'; -export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { - sectionService: Ember.inject.service('section'), +export default Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { + sectionService: service('section'), isDirty: false, waiting: false, authenticated: false, @@ -87,7 +91,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, self.set('workspaces', response); self.selectWorkspace(workspaceId); - Ember.run.schedule('afterRender', function () { + schedule('afterRender', function () { window.scrollTo(0, document.body.scrollHeight); response.forEach(function (workspace) { @@ -129,7 +133,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, let w = this.get('workspaces'); w.forEach(function (w) { - Ember.set(w, 'selected', w.Id === id); + set(w, 'selected', w.Id === id); if (w.Id === id) { self.set("config.filter", w.Filter); diff --git a/gui/app/components/section/gemini/type-renderer.js b/gui/app/components/section/gemini/type-renderer.js index a5417462..7f9e1612 100644 --- a/gui/app/components/section/gemini/type-renderer.js +++ b/gui/app/components/section/gemini/type-renderer.js @@ -9,6 +9,6 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({}); \ No newline at end of file +export default Component.extend({}); \ No newline at end of file diff --git a/gui/app/components/section/github/type-editor.js b/gui/app/components/section/github/type-editor.js index 2c5f9a26..d7ba2cf9 100644 --- a/gui/app/components/section/github/type-editor.js +++ b/gui/app/components/section/github/type-editor.js @@ -9,13 +9,16 @@ // // https://documize.com -import Ember from 'ember'; +import { set } from '@ember/object'; + +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NotifierMixin from '../../../mixins/notifier'; import TooltipMixin from '../../../mixins/tooltip'; import SectionMixin from '../../../mixins/section'; -export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { - sectionService: Ember.inject.service('section'), +export default Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { + sectionService: service('section'), isDirty: false, busy: false, authenticated: false, @@ -182,11 +185,11 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, let list = lists.findBy('id', id); lists.forEach(function (entry) { - Ember.set(entry, 'included', false); + set(entry, 'included', false); }); if (list !== null) { - Ember.set(list, 'included', true); + set(list, 'included', true); } }, diff --git a/gui/app/components/section/github/type-renderer.js b/gui/app/components/section/github/type-renderer.js index a5417462..7f9e1612 100644 --- a/gui/app/components/section/github/type-renderer.js +++ b/gui/app/components/section/github/type-renderer.js @@ -9,6 +9,6 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({}); \ No newline at end of file +export default Component.extend({}); \ No newline at end of file diff --git a/gui/app/components/section/markdown/type-editor.js b/gui/app/components/section/markdown/type-editor.js index 0d0c30e9..999cd129 100644 --- a/gui/app/components/section/markdown/type-editor.js +++ b/gui/app/components/section/markdown/type-editor.js @@ -9,25 +9,25 @@ // // https://documize.com -import Ember from 'ember'; +import { schedule } from '@ember/runloop'; + +import { computed } from '@ember/object'; +import Component from '@ember/component'; +import { inject as service } from '@ember/service'; import TooltipMixin from '../../../mixins/tooltip'; -const { - inject: { service } -} = Ember; - -export default Ember.Component.extend(TooltipMixin, { +export default Component.extend(TooltipMixin, { link: service(), pageBody: "", pagePreview: "", editMode: true, codeSyntax: null, codeEditor: null, - editorId: Ember.computed('page', function () { + editorId: computed('page', function () { let page = this.get('page'); return `markdown-editor-${page.id}`; }), - previewId: Ember.computed('page', function () { + previewId: computed('page', function () { let page = this.get('page'); return `markdown-preview-${page.id}`; }), @@ -89,7 +89,7 @@ export default Ember.Component.extend(TooltipMixin, { onPreview() { this.set('editMode', !this.get('editMode')); - Ember.run.schedule('afterRender', () => { + schedule('afterRender', () => { if (this.get('editMode')) { this.attachEditor(); } else { diff --git a/gui/app/components/section/markdown/type-renderer.js b/gui/app/components/section/markdown/type-renderer.js index a5417462..7f9e1612 100644 --- a/gui/app/components/section/markdown/type-renderer.js +++ b/gui/app/components/section/markdown/type-renderer.js @@ -9,6 +9,6 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({}); \ No newline at end of file +export default Component.extend({}); \ No newline at end of file diff --git a/gui/app/components/section/papertrail/type-editor.js b/gui/app/components/section/papertrail/type-editor.js index 2d24f9ee..bf45bb20 100644 --- a/gui/app/components/section/papertrail/type-editor.js +++ b/gui/app/components/section/papertrail/type-editor.js @@ -9,14 +9,17 @@ // // https://documize.com -import Ember from 'ember'; +import { set } from '@ember/object'; + +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NotifierMixin from '../../../mixins/notifier'; import TooltipMixin from '../../../mixins/tooltip'; import SectionMixin from '../../../mixins/section'; import netUtil from '../../../utils/net'; -export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { - sectionService: Ember.inject.service('section'), +export default Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { + sectionService: service('section'), isDirty: false, waiting: false, authenticated: false, @@ -88,7 +91,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, group = options.groups[0]; } if (is.not.undefined(group)) { - Ember.set(config, 'group', group); + set(config, 'group', group); } }, function (reason) { self.set('authenticated', false); @@ -159,7 +162,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, max = parseInt(config.max); } - Ember.set(config, 'max', max); + set(config, 'max', max); this.set('waiting', true); this.get('sectionService').fetch(page, "auth", this.get('config')) diff --git a/gui/app/components/section/papertrail/type-renderer.js b/gui/app/components/section/papertrail/type-renderer.js index a5417462..7f9e1612 100644 --- a/gui/app/components/section/papertrail/type-renderer.js +++ b/gui/app/components/section/papertrail/type-renderer.js @@ -9,6 +9,6 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({}); \ No newline at end of file +export default Component.extend({}); \ No newline at end of file diff --git a/gui/app/components/section/table/type-editor.js b/gui/app/components/section/table/type-editor.js index 4e49dc23..46e43aa5 100644 --- a/gui/app/components/section/table/type-editor.js +++ b/gui/app/components/section/table/type-editor.js @@ -9,12 +9,14 @@ // // https://documize.com -import Ember from 'ember'; +import { computed } from '@ember/object'; -export default Ember.Component.extend({ +import Component from '@ember/component'; + +export default Component.extend({ isDirty: false, pageBody: "", - editorId: Ember.computed('page', function () { + editorId: computed('page', function () { let page = this.get('page'); return `table-editor-${page.id}`; }), diff --git a/gui/app/components/section/table/type-renderer.js b/gui/app/components/section/table/type-renderer.js index a5417462..7f9e1612 100644 --- a/gui/app/components/section/table/type-renderer.js +++ b/gui/app/components/section/table/type-renderer.js @@ -9,6 +9,6 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({}); \ No newline at end of file +export default Component.extend({}); \ No newline at end of file diff --git a/gui/app/components/section/trello/type-editor.js b/gui/app/components/section/trello/type-editor.js index 32823561..61a900cf 100644 --- a/gui/app/components/section/trello/type-editor.js +++ b/gui/app/components/section/trello/type-editor.js @@ -10,13 +10,18 @@ // https://documize.com /*global Trello*/ -import Ember from 'ember'; +import $ from 'jquery'; + +import { htmlSafe } from '@ember/string'; +import { computed, set } from '@ember/object'; +import { inject as service } from '@ember/service'; +import Component from '@ember/component'; import NotifierMixin from '../../../mixins/notifier'; import TooltipMixin from '../../../mixins/tooltip'; import SectionMixin from '../../../mixins/section'; -export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { - sectionService: Ember.inject.service('section'), +export default Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { + sectionService: service('section'), isDirty: false, busy: false, authenticated: false, @@ -25,7 +30,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, noBoards: false, appKey: "", - boardStyle: Ember.computed('config.board', function () { + boardStyle: computed('config.board', function () { let board = this.get('config.board'); if (is.null(board) || is.undefined(board)) { @@ -33,7 +38,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, } let color = board.prefs.backgroundColor; - return Ember.String.htmlSafe("background-color: " + color); + return htmlSafe("background-color: " + color); }), didReceiveAttrs() { @@ -73,7 +78,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, if (self.get('appKey') !== "" && self.get('config.token') !== "") { self.send('auth'); } else { - Ember.$.getScript("https://api.trello.com/1/client.js?key=" + self.get('appKey'), function () { + $.getScript("https://api.trello.com/1/client.js?key=" + self.get('appKey'), function () { Trello.deauthorize(); }); } @@ -146,7 +151,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, let list = lists.findBy('id', id); if (list !== null) { - Ember.set(list, 'included', !list.included); + set(list, 'included', !list.included); } }, @@ -162,7 +167,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, self.set('busy', true); - Ember.$.getScript("https://api.trello.com/1/client.js?key=" + this.get('appKey'), function () { + $.getScript("https://api.trello.com/1/client.js?key=" + this.get('appKey'), function () { Trello.authorize({ type: "redirect", interactive: true, diff --git a/gui/app/components/section/trello/type-renderer.js b/gui/app/components/section/trello/type-renderer.js index a5417462..7f9e1612 100644 --- a/gui/app/components/section/trello/type-renderer.js +++ b/gui/app/components/section/trello/type-renderer.js @@ -9,6 +9,6 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({}); \ No newline at end of file +export default Component.extend({}); \ No newline at end of file diff --git a/gui/app/components/section/wysiwyg/type-editor.js b/gui/app/components/section/wysiwyg/type-editor.js index e0ef9907..0c7044aa 100644 --- a/gui/app/components/section/wysiwyg/type-editor.js +++ b/gui/app/components/section/wysiwyg/type-editor.js @@ -9,17 +9,16 @@ // // https://documize.com -import Ember from 'ember'; +import { computed, set } from '@ember/object'; -const { - inject: { service } -} = Ember; +import Component from '@ember/component'; +import { inject as service } from '@ember/service'; -export default Ember.Component.extend({ +export default Component.extend({ appMeta: service(), link: service(), pageBody: "", - editorId: Ember.computed('page', function () { + editorId: computed('page', function () { let page = this.get('page'); return `wysiwyg-editor-${page.id}`; }), @@ -102,7 +101,7 @@ export default Ember.Component.extend({ let userSelection = editor.selection.getContent(); if (is.not.empty(userSelection)) { - Ember.set(link, 'title', userSelection); + set(link, 'title', userSelection); } let linkHTML = this.get('link').buildLink(link); diff --git a/gui/app/components/section/wysiwyg/type-renderer.js b/gui/app/components/section/wysiwyg/type-renderer.js index a5417462..7f9e1612 100644 --- a/gui/app/components/section/wysiwyg/type-renderer.js +++ b/gui/app/components/section/wysiwyg/type-renderer.js @@ -9,6 +9,6 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({}); \ No newline at end of file +export default Component.extend({}); \ No newline at end of file diff --git a/gui/app/components/ui-select.js b/gui/app/components/ui-select.js index 52075dee..e50476d8 100644 --- a/gui/app/components/ui-select.js +++ b/gui/app/components/ui-select.js @@ -9,9 +9,11 @@ // // https://documize.com -import Ember from 'ember'; +import { reads } from '@ember/object/computed'; -export default Ember.Component.extend({ +import Component from '@ember/component'; + +export default Component.extend({ cssClass: "", content: [], prompt: null, @@ -22,7 +24,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'), actions: { change() { diff --git a/gui/app/components/ui/ui-avatar.js b/gui/app/components/ui/ui-avatar.js index c27123fc..74aa0c60 100644 --- a/gui/app/components/ui/ui-avatar.js +++ b/gui/app/components/ui/ui-avatar.js @@ -9,10 +9,10 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; import TooltipMixin from '../../mixins/tooltip'; -export default Ember.Component.extend(TooltipMixin, { +export default Component.extend(TooltipMixin, { didRender() { let refId = this.get('refId'); this.addTooltip(document.getElementById(`avatar-${refId}`)); diff --git a/gui/app/components/ui/ui-checkbox.js b/gui/app/components/ui/ui-checkbox.js index dc7285ce..b5f15b20 100644 --- a/gui/app/components/ui/ui-checkbox.js +++ b/gui/app/components/ui/ui-checkbox.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ tagName: 'span', actions: { diff --git a/gui/app/components/ui/ui-list-picker.js b/gui/app/components/ui/ui-list-picker.js index 9a083fee..18f7e9c8 100644 --- a/gui/app/components/ui/ui-list-picker.js +++ b/gui/app/components/ui/ui-list-picker.js @@ -9,15 +9,17 @@ // // https://documize.com -import Ember from 'ember'; +import { set } from '@ember/object'; -export default Ember.Component.extend({ +import Component from '@ember/component'; + +export default Component.extend({ nameField: 'category', items: [], actions: { onToggle(item) { - Ember.set(item, 'selected', !item.get('selected')); + set(item, 'selected', !item.get('selected')); } } }); diff --git a/gui/app/components/ui/ui-radio.js b/gui/app/components/ui/ui-radio.js index b4be20dd..8c908289 100644 --- a/gui/app/components/ui/ui-radio.js +++ b/gui/app/components/ui/ui-radio.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ tagName: 'span', value: '', onClick: null, diff --git a/gui/app/components/ui/ui-selection.js b/gui/app/components/ui/ui-selection.js index cb25c125..e790b207 100644 --- a/gui/app/components/ui/ui-selection.js +++ b/gui/app/components/ui/ui-selection.js @@ -9,7 +9,7 @@ // // https://documize.com -import Ember from 'ember'; +import Component from '@ember/component'; -export default Ember.Component.extend({ +export default Component.extend({ }); diff --git a/gui/app/components/ui/ui-tab.js b/gui/app/components/ui/ui-tab.js index 02977065..c5bbccb4 100644 --- a/gui/app/components/ui/ui-tab.js +++ b/gui/app/components/ui/ui-tab.js @@ -9,22 +9,25 @@ // // https://documize.com -import Ember from 'ember'; +import { htmlSafe } from '@ember/string'; -export default Ember.Component.extend({ - myWidth: Ember.computed('tabs', function() { +import { computed, set } from '@ember/object'; +import Component from '@ember/component'; + +export default Component.extend({ + myWidth: computed('tabs', function() { let count = this.get('tabs.length'); let width = 95 / count; - return Ember.String.htmlSafe("width: " + `${width}%;`); + return htmlSafe("width: " + `${width}%;`); }), actions: { onTabSelect(tab) { this.get('tabs').forEach(t => { - Ember.set(t, 'selected', false); + set(t, 'selected', false); }); - Ember.set(tab, 'selected', true); + set(tab, 'selected', true); this.attrs.onTabSelect(this.get('tabs')); } diff --git a/gui/app/components/user-notification.js b/gui/app/components/user-notification.js index 198d8ce8..8e7014a7 100644 --- a/gui/app/components/user-notification.js +++ b/gui/app/components/user-notification.js @@ -9,10 +9,12 @@ // // https://documize.com -import Ember from 'ember'; +import { run } from '@ember/runloop'; + +import Component from '@ember/component'; import miscUtil from '../utils/misc'; -export default Ember.Component.extend({ +export default Component.extend({ notifications: [], didInsertElement() { @@ -31,7 +33,7 @@ export default Ember.Component.extend({ let elem = this.$(".user-notification")[0]; - Ember.run(() => { + run(() => { self.$(elem).show(); // FIXME: need a more robust solution diff --git a/gui/app/components/user-profile.js b/gui/app/components/user-profile.js index cfee8da6..80260f69 100644 --- a/gui/app/components/user-profile.js +++ b/gui/app/components/user-profile.js @@ -9,21 +9,18 @@ // // https://documize.com -import Ember from 'ember'; +import { empty } from '@ember/object/computed'; + +import Component from '@ember/component'; +import { computed, set } from '@ember/object'; +import { isPresent, isEqual, isEmpty } from '@ember/utils'; import AuthProvider from '../mixins/auth'; -const { - computed, - isEmpty, - isEqual, - isPresent -} = Ember; - -export default Ember.Component.extend(AuthProvider, { +export default Component.extend(AuthProvider, { password: { password: "", confirmation: "" }, - hasFirstnameError: computed.empty('model.firstname'), - hasLastnameError: computed.empty('model.lastname'), - hasEmailError: computed.empty('model.email'), + hasFirstnameError: empty('model.firstname'), + hasLastnameError: empty('model.lastname'), + hasEmailError: empty('model.email'), hasPasswordError: computed('passwordError', 'password.password', { get() { if (isPresent(this.get('passwordError'))) { @@ -61,23 +58,23 @@ export default Ember.Component.extend(AuthProvider, { } if (isPresent(password) && isEmpty(confirmation)) { - Ember.set(this, 'confirmPasswordError', 'error'); + set(this, 'confirmPasswordError', 'error'); return $("#confirmPassword").focus(); } if (isEmpty(password) && isPresent(confirmation)) { - Ember.set(this, 'passwordError', 'error'); + set(this, 'passwordError', 'error'); return $("#password").focus(); } if (!isEqual(password, confirmation)) { - Ember.set(this, 'passwordError', 'error'); + set(this, 'passwordError', 'error'); return $("#password").focus(); } let passwords = this.get('password'); this.get('save')(passwords).finally(() => { - Ember.set(this, 'password.password', ''); - Ember.set(this, 'password.confirmation', ''); + set(this, 'password.password', ''); + set(this, 'password.confirmation', ''); }); } } diff --git a/gui/app/components/widget-sample.js b/gui/app/components/widget-sample.js index 259348b4..81fa82e9 100644 --- a/gui/app/components/widget-sample.js +++ b/gui/app/components/widget-sample.js @@ -1,19 +1,19 @@ // Copyright 2016 Documize Inc. . All rights reserved. // -// This software (Documize Community Edition) is licensed under +// This software (Documize Community Edition) is licensed under // GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html // // You can operate outside the AGPL restrictions by purchasing // Documize Enterprise Edition and obtaining a commercial license -// by contacting . +// by contacting . // // https://documize.com // Copyright (c) 2015 Documize Inc. -import Ember from 'ember'; +import Component from '@ember/component'; import NotifierMixin from '../mixins/notifier'; -export default Ember.Component.extend(NotifierMixin, { +export default Component.extend(NotifierMixin, { drop1: null, didInsertElement() { @@ -31,15 +31,25 @@ export default Ember.Component.extend(NotifierMixin, { target: document.getElementById("sample-4") }); - let drop1 = new Drop({ - target: document.getElementById('sample-dropdown-1'), - content: document.getElementById('sample-dropdown-content-1'), - classes: 'drop-theme-basic', - position: 'bottom middle', - openOn: 'click' - }); + // let drop1 = new Drop({ + // target: document.getElementById('sample-dropdown-1'), + // content: document.getElementById('sample-dropdown-content-1'), + // classes: 'drop-theme-basic', + // position: 'bottom middle', + // openOn: 'click' + // }); - this.set('drop1', drop1); + // this.set('drop1', drop1); + + $('#test-button').popover({ + placement: 'top', + trigger: 'focus', + title: "How to Test", + content: "This is a demo that tests the suitability of Bootstrap 4 inside Documize" + }); + + $('#test-button2').tooltip({}); + $('#test-button3').tooltip({}); }, actions: { @@ -51,4 +61,4 @@ export default Ember.Component.extend(NotifierMixin, { return true; } } -}); \ No newline at end of file +}); diff --git a/gui/app/helpers/document/file-icon.js b/gui/app/helpers/document/file-icon.js index e642f5bc..dc30d791 100644 --- a/gui/app/helpers/document/file-icon.js +++ b/gui/app/helpers/document/file-icon.js @@ -9,7 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import { helper } from '@ember/component/helper'; + +import { htmlSafe } from '@ember/string'; export function documentFileIcon(params) { let fileExtension = params[0].toLowerCase(); @@ -106,7 +108,7 @@ export function documentFileIcon(params) { case "xslt": } - return new Ember.String.htmlSafe(html); + return new htmlSafe(html); } -export default Ember.Helper.helper(documentFileIcon); +export default helper(documentFileIcon); diff --git a/gui/app/helpers/formatted-date.js b/gui/app/helpers/formatted-date.js index 67162831..95d0c9c4 100644 --- a/gui/app/helpers/formatted-date.js +++ b/gui/app/helpers/formatted-date.js @@ -9,11 +9,11 @@ // // https://documize.com -import Ember from 'ember'; +import { helper } from '@ember/component/helper'; import dateUtil from '../utils/date'; export function formattedDate(params) { return dateUtil.toIsoDate(params[0], params[1]); } -export default Ember.Helper.helper(formattedDate); \ No newline at end of file +export default helper(formattedDate); \ No newline at end of file diff --git a/gui/app/helpers/generate-id.js b/gui/app/helpers/generate-id.js index a950d0f2..9efc3da9 100644 --- a/gui/app/helpers/generate-id.js +++ b/gui/app/helpers/generate-id.js @@ -9,10 +9,10 @@ // // https://documize.com -import Ember from 'ember'; +import { helper } from '@ember/component/helper'; // Usage: {{generate-id 'admin-' 123}} -export default Ember.Helper.helper(function(params) { +export default helper(function(params) { let prefix = params[0]; let id = params[1]; return prefix + "-" + id; diff --git a/gui/app/helpers/is-equal.js b/gui/app/helpers/is-equal.js index 80ac40a3..a36dd8a0 100644 --- a/gui/app/helpers/is-equal.js +++ b/gui/app/helpers/is-equal.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import { helper } from '@ember/component/helper'; // Usage: {{is-equal item selection}} -export default Ember.Helper.helper(function([leftSide, rightSide]) { +export default helper(function([leftSide, rightSide]) { return leftSide === rightSide; }); \ No newline at end of file diff --git a/gui/app/helpers/is-not.js b/gui/app/helpers/is-not.js index 3c2d58ab..e9ea3b0f 100644 --- a/gui/app/helpers/is-not.js +++ b/gui/app/helpers/is-not.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import { helper } from '@ember/component/helper'; // Usage: {{is-not selection}} -export default Ember.Helper.helper(function([value]) { +export default helper(function([value]) { return !value; }); \ No newline at end of file diff --git a/gui/app/helpers/read-path.js b/gui/app/helpers/read-path.js index a9c1e037..2df7273f 100644 --- a/gui/app/helpers/read-path.js +++ b/gui/app/helpers/read-path.js @@ -9,8 +9,10 @@ // // https://documize.com -import Ember from 'ember'; +import { get } from '@ember/object'; -export default Ember.Helper.helper(function([object, path]) { - return Ember.get(object, path); +import { helper } from '@ember/component/helper'; + +export default helper(function([object, path]) { + return get(object, path); }); \ No newline at end of file diff --git a/gui/app/helpers/time-ago.js b/gui/app/helpers/time-ago.js index 5c23b048..1fe973c6 100644 --- a/gui/app/helpers/time-ago.js +++ b/gui/app/helpers/time-ago.js @@ -9,7 +9,7 @@ // // https://documize.com -import Ember from 'ember'; +import { helper } from '@ember/component/helper'; import dateUtil from '../utils/date'; // {{time-ago createdAt}} @@ -23,4 +23,4 @@ export function timeAgo(params) { return d; } -export default Ember.Helper.helper(timeAgo); +export default helper(timeAgo); diff --git a/gui/app/helpers/user-initials.js b/gui/app/helpers/user-initials.js index 6b6f4c29..98bf9a68 100644 --- a/gui/app/helpers/user-initials.js +++ b/gui/app/helpers/user-initials.js @@ -9,7 +9,7 @@ // // https://documize.com -import Ember from 'ember'; +import { helper } from '@ember/component/helper'; // {{user-initials firstname lastname}} export function userInitials(params) { @@ -26,4 +26,4 @@ export function userInitials(params) { return (firstname.substring(0, 1) + lastname.substring(0, 1)).toUpperCase(); } -export default Ember.Helper.helper(userInitials); +export default helper(userInitials); diff --git a/gui/app/mixins/auth.js b/gui/app/mixins/auth.js index 9679bb49..07d99c63 100644 --- a/gui/app/mixins/auth.js +++ b/gui/app/mixins/auth.js @@ -9,11 +9,13 @@ // // https://documize.com -import Ember from 'ember'; +import { inject as service } from '@ember/service'; + +import Mixin from '@ember/object/mixin'; import constants from '../utils/constants'; -export default Ember.Mixin.create({ - appMeta: Ember.inject.service(), +export default Mixin.create({ + appMeta: service(), isAuthProviderDocumize: true, IsAuthProviderKeycloak: false, diff --git a/gui/app/mixins/dropdown.js b/gui/app/mixins/dropdown.js index ce2d521e..22acf27d 100644 --- a/gui/app/mixins/dropdown.js +++ b/gui/app/mixins/dropdown.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Mixin from '@ember/object/mixin'; -export default Ember.Mixin.create({ +export default Mixin.create({ closeDropdown() { let drop = this.get('dropdown'); diff --git a/gui/app/mixins/notifier.js b/gui/app/mixins/notifier.js index 7086a358..8b3aeccc 100644 --- a/gui/app/mixins/notifier.js +++ b/gui/app/mixins/notifier.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Mixin from '@ember/object/mixin'; -export default Ember.Mixin.create({ +export default Mixin.create({ showNotification(msg) { this.eventBus.publish('notifyUser', msg); }, diff --git a/gui/app/mixins/section.js b/gui/app/mixins/section.js index 31fdee65..ad67b222 100644 --- a/gui/app/mixins/section.js +++ b/gui/app/mixins/section.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Mixin from '@ember/object/mixin'; -export default Ember.Mixin.create({ +export default Mixin.create({ isReadonly: function () { if (this.get('page.userId') === this.get('session.session.authenticated.user.id')) { return undefined; diff --git a/gui/app/mixins/tooltip.js b/gui/app/mixins/tooltip.js index ab7aca1b..8dab5543 100644 --- a/gui/app/mixins/tooltip.js +++ b/gui/app/mixins/tooltip.js @@ -9,9 +9,9 @@ // // https://documize.com -import Ember from 'ember'; +import Mixin from '@ember/object/mixin'; -export default Ember.Mixin.create({ +export default Mixin.create({ tooltips: [], addTooltip(elem) { diff --git a/gui/app/models/document-activity.js b/gui/app/models/document-activity.js index 5ac51820..7af1b5aa 100644 --- a/gui/app/models/document-activity.js +++ b/gui/app/models/document-activity.js @@ -9,9 +9,9 @@ // // https://documize.com +import { computed } from '@ember/object'; import Model from 'ember-data/model'; import attr from 'ember-data/attr'; -import Ember from 'ember'; import constants from '../utils/constants'; export default Model.extend({ @@ -24,7 +24,7 @@ export default Model.extend({ activityType: attr('number'), created: attr(), - activityLabel: Ember.computed('activityType', function() { + activityLabel: computed('activityType', function() { let label = ''; switch (this.get('activityType')) { @@ -62,7 +62,7 @@ export default Model.extend({ return label; }), - activityColor: Ember.computed('activityType', function() { + activityColor: computed('activityType', function() { let color = ''; switch (this.get('activityType')) { diff --git a/gui/app/models/document.js b/gui/app/models/document.js index 91a6335d..1e5871a5 100644 --- a/gui/app/models/document.js +++ b/gui/app/models/document.js @@ -9,9 +9,9 @@ // // https://documize.com +import { computed } from '@ember/object'; import Model from 'ember-data/model'; import attr from 'ember-data/attr'; -import Ember from 'ember'; import stringUtil from '../utils/string'; // import { belongsTo, hasMany } from 'ember-data/relationships'; @@ -29,7 +29,7 @@ export default Model.extend({ // client-side property selected: attr('boolean', { defaultValue: false }), - slug: Ember.computed('name', function () { + slug: computed('name', function () { return stringUtil.makeSlug(this.get('name')); }), created: attr(), diff --git a/gui/app/models/folder.js b/gui/app/models/folder.js index b8d35a71..03ae37a8 100644 --- a/gui/app/models/folder.js +++ b/gui/app/models/folder.js @@ -9,11 +9,11 @@ // // https://documize.com +import { computed } from '@ember/object'; import Model from 'ember-data/model'; import attr from 'ember-data/attr'; import constants from '../utils/constants'; import stringUtil from '../utils/string'; -import Ember from 'ember'; // import { belongsTo, hasMany } from 'ember-data/relationships'; export default Model.extend({ @@ -22,7 +22,7 @@ export default Model.extend({ userId: attr('string'), folderType: attr('number', { defaultValue: 2 }), - slug: Ember.computed('name', function () { + slug: computed('name', function () { return stringUtil.makeSlug(this.get('name')); }), diff --git a/gui/app/models/page.js b/gui/app/models/page.js index f3c26d77..95b66e25 100644 --- a/gui/app/models/page.js +++ b/gui/app/models/page.js @@ -9,9 +9,9 @@ // // https://documize.com +import { computed } from '@ember/object'; import Model from 'ember-data/model'; import attr from 'ember-data/attr'; -import Ember from 'ember'; // import { hasMany } from 'ember-data/relationships'; export default Model.extend({ @@ -28,21 +28,21 @@ export default Model.extend({ rawBody: attr('string'), meta: attr(), - tagName: Ember.computed('level', function () { + tagName: computed('level', function () { return "h2"; // return "h" + (this.get('level') + 1); }), - tocIndent: Ember.computed('level', function () { + tocIndent: computed('level', function () { return (this.get('level') - 1) * 20; }), - tocIndentCss: Ember.computed('tocIndent', function () { + tocIndentCss: computed('tocIndent', function () { let tocIndent = this.get('tocIndent'); return `margin-left-${tocIndent}`; }), - hasRevisions: Ember.computed('revisions', function () { + hasRevisions: computed('revisions', function () { return this.get('revisions') > 0; }), diff --git a/gui/app/models/protected-folder-participant.js b/gui/app/models/protected-folder-participant.js index ddfe1f35..32821a1c 100644 --- a/gui/app/models/protected-folder-participant.js +++ b/gui/app/models/protected-folder-participant.js @@ -9,9 +9,9 @@ // // https://documize.com +import { computed } from '@ember/object'; import Model from 'ember-data/model'; import attr from 'ember-data/attr'; -import Ember from 'ember'; // import { belongsTo, hasMany } from 'ember-data/relationships'; export default Model.extend({ @@ -23,7 +23,7 @@ export default Model.extend({ folderId: attr('string'), folderType: attr('number', { defaultValue: 0 }), - fullname: Ember.computed('firstname', 'lastname', function () { + fullname: computed('firstname', 'lastname', function () { return `${this.get('firstname')} ${this.get('lastname')}`; }) }); diff --git a/gui/app/models/section.js b/gui/app/models/section.js index 1082c772..88ce976e 100644 --- a/gui/app/models/section.js +++ b/gui/app/models/section.js @@ -9,9 +9,9 @@ // // https://documize.com +import { computed } from '@ember/object'; import Model from 'ember-data/model'; import attr from 'ember-data/attr'; -import Ember from 'ember'; // import { belongsTo, hasMany } from 'ember-data/relationships'; export default Model.extend({ @@ -22,7 +22,7 @@ export default Model.extend({ iconFont: attr('string'), iconFile: attr('string'), - hasImage: Ember.computed('iconFont', 'iconFile', function () { + hasImage: computed('iconFont', 'iconFile', function () { return this.get('iconFile').length > 0; }), diff --git a/gui/app/models/template.js b/gui/app/models/template.js index 7f6a02ff..b6ee1f05 100644 --- a/gui/app/models/template.js +++ b/gui/app/models/template.js @@ -9,10 +9,10 @@ // // https://documize.com +import { computed } from '@ember/object'; import Model from 'ember-data/model'; import attr from 'ember-data/attr'; import stringUtil from '../utils/string'; -import Ember from 'ember'; // import { belongsTo, hasMany } from 'ember-data/relationships'; export default Model.extend({ @@ -22,7 +22,7 @@ export default Model.extend({ title: attr('string'), type: attr('number', { defaultValue: 0 }), - slug: Ember.computed('title', function () { + slug: computed('title', function () { return stringUtil.makeSlug(this.get('title')); }), created: attr(), diff --git a/gui/app/models/user-activity.js b/gui/app/models/user-activity.js index 6f60729c..de6b3cef 100644 --- a/gui/app/models/user-activity.js +++ b/gui/app/models/user-activity.js @@ -9,9 +9,9 @@ // // https://documize.com +import { computed } from '@ember/object'; import Model from 'ember-data/model'; import attr from 'ember-data/attr'; -import Ember from 'ember'; export default Model.extend({ documentName: attr('string'), @@ -20,13 +20,13 @@ export default Model.extend({ viewed: attr('string'), created: attr('string'), - hasContributed: Ember.computed('contributed', function () { + hasContributed: computed('contributed', function () { return this.get('contributed').length > 0; }), - hasViewed: Ember.computed('viewed', function () { + hasViewed: computed('viewed', function () { return this.get('viewed').length > 0; }), - hasCreated: Ember.computed('created', function () { + hasCreated: computed('created', function () { return this.get('created').length > 0; }) }); diff --git a/gui/app/models/user.js b/gui/app/models/user.js index 766d620b..70afaa0b 100644 --- a/gui/app/models/user.js +++ b/gui/app/models/user.js @@ -9,9 +9,9 @@ // // https://documize.com +import { computed } from '@ember/object'; import Model from 'ember-data/model'; import attr from 'ember-data/attr'; -import Ember from 'ember'; // import { belongsTo, hasMany } from 'ember-data/relationships'; export default Model.extend({ @@ -28,7 +28,7 @@ export default Model.extend({ created: attr(), revised: attr(), - fullname: Ember.computed('firstname', 'lastname', function () { + fullname: computed('firstname', 'lastname', function () { return `${this.get('firstname')} ${this.get('lastname')}`; }), diff --git a/gui/app/pods/auth/forgot/controller.js b/gui/app/pods/auth/forgot/controller.js index 5fa8aa66..fa86b74e 100644 --- a/gui/app/pods/auth/forgot/controller.js +++ b/gui/app/pods/auth/forgot/controller.js @@ -9,10 +9,12 @@ // // https://documize.com -import Ember from 'ember'; +import { inject as service } from '@ember/service'; -export default Ember.Controller.extend({ - userService: Ember.inject.service('user'), +import Controller from '@ember/controller'; + +export default Controller.extend({ + userService: service('user'), actions: { forgot: function (email) { diff --git a/gui/app/pods/auth/forgot/route.js b/gui/app/pods/auth/forgot/route.js index 7be1b877..1300fac8 100644 --- a/gui/app/pods/auth/forgot/route.js +++ b/gui/app/pods/auth/forgot/route.js @@ -9,11 +9,13 @@ // // https://documize.com -import Ember from 'ember'; +import { inject as service } from '@ember/service'; + +import Route from '@ember/routing/route'; import constants from '../../../utils/constants'; -export default Ember.Route.extend({ - appMeta: Ember.inject.service(), +export default Route.extend({ + appMeta: service(), beforeModel() { if (this.get('appMeta.authProvider') === constants.AuthProvider.Keycloak) { diff --git a/gui/app/pods/auth/forgot/template.hbs b/gui/app/pods/auth/forgot/template.hbs index 74fc8db1..603bff0e 100644 --- a/gui/app/pods/auth/forgot/template.hbs +++ b/gui/app/pods/auth/forgot/template.hbs @@ -1,6 +1,6 @@