1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-19 21:29:42 +02:00

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.
This commit is contained in:
Harvey Kandola 2017-11-16 13:28:05 +00:00
parent 0f04be4ea1
commit b31ab712c1
229 changed files with 1610 additions and 3181 deletions

42
gui/MODULE_REPORT.md Normal file
View file

@ -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)));
}
});
```

View file

@ -9,7 +9,7 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Application from '@ember/application';
import Resolver from './resolver'; import Resolver from './resolver';
import loadInitializers from 'ember-load-initializers'; import loadInitializers from 'ember-load-initializers';
import config from './config/environment'; import config from './config/environment';
@ -23,7 +23,7 @@ let App;
// console.log(error); // console.log(error);
// }); // });
App = Ember.Application.extend({ App = Application.extend({
modulePrefix: config.modulePrefix, modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix, podModulePrefix: config.podModulePrefix,
Resolver Resolver

View file

@ -9,12 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { resolve } from 'rsvp';
import Base from 'ember-simple-auth/authenticators/base';
const { import Base from 'ember-simple-auth/authenticators/base';
RSVP: { resolve }
} = Ember;
export default Base.extend({ export default Base.extend({
restore(data) { restore(data) {

View file

@ -9,17 +9,14 @@
// //
// https://documize.com // 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 Base from 'ember-simple-auth/authenticators/base';
import encodingUtil from '../utils/encoding'; import encodingUtil from '../utils/encoding';
import netUtil from '../utils/net'; import netUtil from '../utils/net';
const {
isPresent,
RSVP: { resolve, reject },
inject: { service }
} = Ember;
export default Base.extend({ export default Base.extend({
ajax: service(), ajax: service(),
appMeta: service(), appMeta: service(),
@ -42,14 +39,14 @@ export default Base.extend({
let { password, email } = credentials; let { password, email } = credentials;
if (!isPresent(password) || !isPresent(email)) { if (!isPresent(password) || !isPresent(email)) {
return Ember.RSVP.reject("invalid"); return reject("invalid");
} }
encoded = encodingUtil.Base64.encode(`${domain}:${email}:${password}`); encoded = encodingUtil.Base64.encode(`${domain}:${email}:${password}`);
} else if (typeof credentials === 'string') { } else if (typeof credentials === 'string') {
encoded = credentials; encoded = credentials;
} else { } else {
return Ember.RSVP.reject("invalid"); return reject("invalid");
} }
let headers = { 'Authorization': 'Basic ' + encoded }; let headers = { 'Authorization': 'Basic ' + encoded };

View file

@ -9,16 +9,13 @@
// //
// https://documize.com // 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 Base from 'ember-simple-auth/authenticators/base';
import netUtil from '../utils/net'; import netUtil from '../utils/net';
const {
isPresent,
RSVP: { resolve, reject },
inject: { service }
} = Ember;
export default Base.extend({ export default Base.extend({
ajax: service(), ajax: service(),
appMeta: service(), appMeta: service(),
@ -38,7 +35,7 @@ export default Base.extend({
data.domain = netUtil.getSubdomain(); data.domain = netUtil.getSubdomain();
if (!isPresent(data.token) || !isPresent(data.email)) { if (!isPresent(data.token) || !isPresent(data.email)) {
return Ember.RSVP.reject("invalid"); return reject("invalid");
} }
return this.get('ajax').post('public/authenticate/keycloak', { return this.get('ajax').post('public/authenticate/keycloak', {

View file

@ -9,7 +9,7 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
}); });

View file

@ -9,25 +9,26 @@
// //
// https://documize.com // 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 constants from '../../utils/constants';
import encoding from '../../utils/encoding'; import encoding from '../../utils/encoding';
import NotifierMixin from "../../mixins/notifier"; import NotifierMixin from "../../mixins/notifier";
const { export default Component.extend(NotifierMixin, {
computed appMeta: service(),
} = Ember; isDocumizeProvider: equal('authProvider', constants.AuthProvider.Documize),
isKeycloakProvider: equal('authProvider', constants.AuthProvider.Keycloak),
export default Ember.Component.extend(NotifierMixin, { KeycloakUrlError: empty('keycloakConfig.url'),
appMeta: Ember.inject.service(), KeycloakRealmError: empty('keycloakConfig.realm'),
isDocumizeProvider: computed.equal('authProvider', constants.AuthProvider.Documize), KeycloakClientIdError: empty('keycloakConfig.clientId'),
isKeycloakProvider: computed.equal('authProvider', constants.AuthProvider.Keycloak), KeycloakPublicKeyError: empty('keycloakConfig.publicKey'),
KeycloakUrlError: computed.empty('keycloakConfig.url'), KeycloakAdminUserError: empty('keycloakConfig.adminUser'),
KeycloakRealmError: computed.empty('keycloakConfig.realm'), KeycloakAdminPasswordError: empty('keycloakConfig.adminPassword'),
KeycloakClientIdError: computed.empty('keycloakConfig.clientId'),
KeycloakPublicKeyError: computed.empty('keycloakConfig.publicKey'),
KeycloakAdminUserError: computed.empty('keycloakConfig.adminUser'),
KeycloakAdminPasswordError: computed.empty('keycloakConfig.adminPassword'),
keycloakConfig: { keycloakConfig: {
url: '', url: '',
realm: '', realm: '',
@ -109,7 +110,7 @@ export default Ember.Component.extend(NotifierMixin, {
return; return;
} }
config = Ember.copy(this.get('keycloakConfig')); config = copy(this.get('keycloakConfig'));
config.url = config.url.trim(); config.url = config.url.trim();
config.realm = config.realm.trim(); config.realm = config.realm.trim();
config.clientId = config.clientId.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); 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; break;
} }

View file

@ -9,21 +9,20 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { empty, and } from '@ember/object/computed';
const { import $ from 'jquery';
isEmpty, import Component from '@ember/component';
computed, import { isEmpty } from '@ember/utils';
set import { set } from '@ember/object';
} = Ember;
export default Ember.Component.extend({ export default Component.extend({
titleEmpty: computed.empty('model.general.title'), titleEmpty: empty('model.general.title'),
messageEmpty: computed.empty('model.general.message'), messageEmpty: empty('model.general.message'),
conversionEndpointEmpty: computed.empty('model.general.conversionEndpoint'), conversionEndpointEmpty: empty('model.general.conversionEndpoint'),
hasTitleInputError: computed.and('titleEmpty', 'titleError'), hasTitleInputError: and('titleEmpty', 'titleError'),
hasMessageInputError: computed.and('messageEmpty', 'messageError'), hasMessageInputError: and('messageEmpty', 'messageError'),
hasConversionEndpointInputError: computed.and('conversionEndpointEmpty', 'conversionEndpointError'), hasConversionEndpointInputError: and('conversionEndpointEmpty', 'conversionEndpointError'),
actions: { actions: {
save() { save() {
@ -47,7 +46,7 @@ export default Ember.Component.extend({
this.set('model.general.conversionEndpoint', e.substring(0, e.length-1)); 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(() => { this.get('save')().then(() => {
set(this, 'titleError', false); set(this, 'titleError', false);

View file

@ -9,18 +9,16 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { empty } from '@ember/object/computed';
const { import Component from '@ember/component';
computed
} = Ember;
export default Ember.Component.extend({ export default Component.extend({
SMTPHostEmptyError: computed.empty('model.smtp.host'), SMTPHostEmptyError: empty('model.smtp.host'),
SMTPPortEmptyError: computed.empty('model.smtp.port'), SMTPPortEmptyError: empty('model.smtp.port'),
SMTPSenderEmptyError: computed.empty('model.smtp.sender'), SMTPSenderEmptyError: empty('model.smtp.sender'),
SMTPUserIdEmptyError: computed.empty('model.smtp.userid'), SMTPUserIdEmptyError: empty('model.smtp.userid'),
SMTPPasswordEmptyError: computed.empty('model.smtp.password'), SMTPPasswordEmptyError: empty('model.smtp.password'),
actions: { actions: {
saveSMTP() { saveSMTP() {

View file

@ -9,11 +9,13 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { debounce } from '@ember/runloop';
import Component from '@ember/component';
import AuthProvider from '../../mixins/auth'; import AuthProvider from '../../mixins/auth';
import DropdownMixin from '../../mixins/dropdown'; import DropdownMixin from '../../mixins/dropdown';
export default Ember.Component.extend(AuthProvider, DropdownMixin, { export default Component.extend(AuthProvider, DropdownMixin, {
editUser: null, editUser: null,
deleteUser: null, deleteUser: null,
dropdown: null, dropdown: null,
@ -43,7 +45,7 @@ export default Ember.Component.extend(AuthProvider, DropdownMixin, {
}, },
onKeywordChange: function () { onKeywordChange: function () {
Ember.run.debounce(this, this.filterUsers, 350); debounce(this, this.filterUsers, 350);
}.observes('filter'), }.observes('filter'),
filterUsers() { filterUsers() {

View file

@ -9,24 +9,21 @@
// //
// https://documize.com // 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'; import AuthProvider from '../../mixins/auth';
const { export default Component.extend(AuthProvider, {
isEmpty,
computed,
set,
get
} = Ember;
export default Ember.Component.extend(AuthProvider, {
newUser: { firstname: "", lastname: "", email: "", active: true }, newUser: { firstname: "", lastname: "", email: "", active: true },
firstnameEmpty: computed.empty('newUser.firstname'), firstnameEmpty: empty('newUser.firstname'),
lastnameEmpty: computed.empty('newUser.lastname'), lastnameEmpty: empty('newUser.lastname'),
emailEmpty: computed.empty('newUser.email'), emailEmpty: empty('newUser.email'),
hasFirstnameEmptyError: computed.and('firstnameEmpty', 'firstnameError'), hasFirstnameEmptyError: and('firstnameEmpty', 'firstnameError'),
hasLastnameEmptyError: computed.and('lastnameEmpty', 'lastnameError'), hasLastnameEmptyError: and('lastnameEmpty', 'lastnameError'),
hasEmailEmptyError: computed.and('emailEmpty', 'emailError'), hasEmailEmptyError: and('emailEmpty', 'emailError'),
actions: { actions: {
add() { add() {

View file

@ -9,10 +9,12 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { inject as service } from '@ember/service';
export default Ember.Component.extend({ import Component from '@ember/component';
store: Ember.inject.service(),
export default Component.extend({
store: service(),
didReceiveAttrs() { didReceiveAttrs() {
let p = this.get('store').createRecord('page'); let p = this.get('store').createRecord('page');

View file

@ -9,14 +9,14 @@
// //
// https://documize.com // 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'; import TooltipMixin from '../../mixins/tooltip';
const { export default Component.extend(TooltipMixin, {
inject: { service }
} = Ember;
export default Ember.Component.extend(TooltipMixin, {
link: service(), link: service(),
linkName: '', linkName: '',
keywords: '', keywords: '',
@ -31,21 +31,21 @@ export default Ember.Component.extend(TooltipMixin, {
{ label: 'Attachment', selected: false }, { label: 'Attachment', selected: false },
{ label: 'Search', selected: false } { label: 'Search', selected: false }
], ],
contentLinkerButtonId: Ember.computed('page', function () { contentLinkerButtonId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `content-linker-button-${page.id}`; 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; 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; 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; return this.get('tabs').findBy('label', 'Search').selected;
}), }),
hasMatches: Ember.computed('matches', function () { hasMatches: computed('matches', function () {
let m = this.get('matches'); let m = this.get('matches');
return m.documents.length || m.pages.length || m.attachments.length; return m.documents.length || m.pages.length || m.attachments.length;
}), }),
@ -75,7 +75,7 @@ export default Ember.Component.extend(TooltipMixin, {
}, },
onKeywordChange: function () { onKeywordChange: function () {
Ember.run.debounce(this, this.fetch, 750); debounce(this, this.fetch, 750);
}.observes('keywords'), }.observes('keywords'),
fetch() { fetch() {
@ -100,23 +100,23 @@ export default Ember.Component.extend(TooltipMixin, {
this.set('selection', i); this.set('selection', i);
candidates.pages.forEach(c => { candidates.pages.forEach(c => {
Ember.set(c, 'selected', c.id === i.id); set(c, 'selected', c.id === i.id);
}); });
candidates.attachments.forEach(c => { candidates.attachments.forEach(c => {
Ember.set(c, 'selected', c.id === i.id); set(c, 'selected', c.id === i.id);
}); });
matches.documents.forEach(c => { matches.documents.forEach(c => {
Ember.set(c, 'selected', c.id === i.id); set(c, 'selected', c.id === i.id);
}); });
matches.pages.forEach(c => { matches.pages.forEach(c => {
Ember.set(c, 'selected', c.id === i.id); set(c, 'selected', c.id === i.id);
}); });
matches.attachments.forEach(c => { matches.attachments.forEach(c => {
Ember.set(c, 'selected', c.id === i.id); set(c, 'selected', c.id === i.id);
}); });
}, },

View file

@ -9,10 +9,12 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { inject as service } from '@ember/service';
export default Ember.Component.extend({ import Component from '@ember/component';
documentService: Ember.inject.service('document'),
export default Component.extend({
documentService: service('document'),
didReceiveAttrs() { didReceiveAttrs() {
this._super(...arguments); this._super(...arguments);

View file

@ -9,21 +9,25 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
import DropdownMixin from '../../mixins/dropdown'; import DropdownMixin from '../../mixins/dropdown';
export default Ember.Component.extend(NotifierMixin, TooltipMixin, DropdownMixin, { export default Component.extend(NotifierMixin, TooltipMixin, DropdownMixin, {
documentService: Ember.inject.service('document'), documentService: service('document'),
appMeta: Ember.inject.service(), appMeta: service(),
dropdown: null, dropdown: null,
hasAttachments: Ember.computed.notEmpty('files'), hasAttachments: notEmpty('files'),
deleteAttachment: { deleteAttachment: {
id: "", id: "",
name: "", name: "",
}, },
canShow: Ember.computed('permissions', 'files', function() { canShow: computed('permissions', 'files', function() {
return this.get('files.length') > 0 || this.get('permissions.documentEdit'); return this.get('files.length') > 0 || this.get('permissions.documentEdit');
}), }),

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
didReceiveAttrs() { didReceiveAttrs() {
this.set('editorType', 'section/' + this.get('page.contentType') + '/type-editor'); this.set('editorType', 'section/' + this.get('page.contentType') + '/type-editor');
}, },

View file

@ -9,21 +9,21 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
const { export default Component.extend(NotifierMixin, TooltipMixin, {
computed, documentService: service('document'),
} = Ember;
export default Ember.Component.extend(NotifierMixin, TooltipMixin, {
documentService: Ember.inject.service('document'),
editMode: false, editMode: false,
docName: '', docName: '',
docExcerpt: '', docExcerpt: '',
hasNameError: computed.empty('docName'), hasNameError: empty('docName'),
hasExcerptError: computed.empty('docExcerpt'), hasExcerptError: empty('docExcerpt'),
keyUp(e) { keyUp(e) {
if (e.keyCode === 27) { // escape key 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('docExcerpt', this.get('document.excerpt'));
this.set('editMode', true); this.set('editMode', true);
Ember.run.schedule('afterRender', () => { schedule('afterRender', () => {
$('#document-name').select(); $('#document-name').select();
}); });
}, },

View file

@ -9,11 +9,13 @@
// //
// https://documize.com // 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, revision: null,
hasDiff: Ember.computed('diff', function () { hasDiff: computed('diff', function () {
return this.get('diff').length > 0; return this.get('diff').length > 0;
}), }),
@ -21,8 +23,8 @@ export default Ember.Component.extend({
let revisions = this.get('revisions'); let revisions = this.get('revisions');
revisions.forEach((r) => { revisions.forEach((r) => {
Ember.set(r, 'deleted', r.revisions === 0); set(r, 'deleted', r.revisions === 0);
Ember.set(r, 'label', `${r.created} - ${r.firstname} ${r.lastname} - ${r.title}`); set(r, 'label', `${r.created} - ${r.firstname} ${r.lastname} - ${r.title}`);
}); });
if (revisions.length > 0 && is.null(this.get('revision'))) { if (revisions.length > 0 && is.null(this.get('revision'))) {

View file

@ -9,12 +9,14 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { computed } from '@ember/object';
import Component from '@ember/component';
import tocUtil from '../../utils/toc'; import tocUtil from '../../utils/toc';
import NotifierMixin from '../../mixins/notifier'; import NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
export default Ember.Component.extend(NotifierMixin, TooltipMixin, { export default Component.extend(NotifierMixin, TooltipMixin, {
document: {}, document: {},
folder: {}, folder: {},
pages: [], pages: [],
@ -26,7 +28,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, {
indentDisabled: true, indentDisabled: true,
outdentDisabled: true outdentDisabled: true
}, },
emptyState: Ember.computed('pages', function () { emptyState: computed('pages', function () {
return this.get('pages.length') === 0; return this.get('pages.length') === 0;
}), }),

View file

@ -9,13 +9,15 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
export default Ember.Component.extend(NotifierMixin, TooltipMixin, { export default Component.extend(NotifierMixin, TooltipMixin, {
documentService: Ember.inject.service('document'), documentService: service('document'),
sectionService: Ember.inject.service('section'), sectionService: service('section'),
editMode: false, editMode: false,
didReceiveAttrs() { didReceiveAttrs() {

View file

@ -9,11 +9,11 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
import NotifierMixin from '../../mixins/notifier'; import NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
export default Ember.Component.extend(NotifierMixin, TooltipMixin, { export default Component.extend(NotifierMixin, TooltipMixin, {
tab: 'index', tab: 'index',
didRender() { didRender() {

View file

@ -9,12 +9,14 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
export default Ember.Component.extend(NotifierMixin, TooltipMixin, { export default Component.extend(NotifierMixin, TooltipMixin, {
sectionService: Ember.inject.service('section'), sectionService: service('section'),
viewMode: true, viewMode: true,
editMode: false, editMode: false,

View file

@ -9,18 +9,20 @@
// //
// https://documize.com // 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 TooltipMixin from '../../mixins/tooltip';
import NotifierMixin from '../../mixins/notifier'; import NotifierMixin from '../../mixins/notifier';
export default Ember.Component.extend(TooltipMixin, NotifierMixin, { export default Component.extend(TooltipMixin, NotifierMixin, {
documentService: Ember.inject.service('document'), documentService: service('document'),
sectionService: Ember.inject.service('section'), sectionService: service('section'),
sessionService: Ember.inject.service('session'), sessionService: service('session'),
appMeta: Ember.inject.service(), appMeta: service(),
userService: Ember.inject.service('user'), userService: service('user'),
localStorage: Ember.inject.service(), localStorage: service(),
pinned: Ember.inject.service(), pinned: service(),
menuOpen: false, menuOpen: false,
pinState : { pinState : {
isPinned: false, isPinned: false,

View file

@ -9,22 +9,22 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
const { export default Component.extend(NotifierMixin, TooltipMixin, {
computed, documentService: service('document'),
} = Ember; sectionService: service('section'),
appMeta: service(),
export default Ember.Component.extend(NotifierMixin, TooltipMixin, { link: service(),
documentService: Ember.inject.service('document'), hasPages: notEmpty('pages'),
sectionService: Ember.inject.service('section'),
appMeta: Ember.inject.service(),
link: Ember.inject.service(),
hasPages: computed.notEmpty('pages'),
newSectionName: 'Section', newSectionName: 'Section',
newSectionNameMissing: computed.empty('newSectionName'), newSectionNameMissing: empty('newSectionName'),
newSectionLocation: '', newSectionLocation: '',
beforePage: '', beforePage: '',
toEdit: '', toEdit: '',
@ -33,7 +33,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, {
this._super(...arguments); this._super(...arguments);
this.loadBlocks(); this.loadBlocks();
Ember.run.schedule('afterRender', () => { schedule('afterRender', () => {
let jumpTo = "#page-" + this.get('pageId'); let jumpTo = "#page-" + this.get('pageId');
if (!$(jumpTo).inView()) { if (!$(jumpTo).inView()) {
$(jumpTo).velocity("scroll", { duration: 250, offset: -100 }); $(jumpTo).velocity("scroll", { duration: 250, offset: -100 });
@ -98,7 +98,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, {
}, },
setupAddWizard() { setupAddWizard() {
Ember.run.schedule('afterRender', () => { schedule('afterRender', () => {
$('.start-section:not(.start-section-empty-state)').off('.hoverIntent'); $('.start-section:not(.start-section-empty-state)').off('.hoverIntent');
$('.start-section:not(.start-section-empty-state)').hoverIntent({interval: 100, over: function() { $('.start-section:not(.start-section-empty-state)').hoverIntent({interval: 100, over: function() {

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
page: {}, page: {},
tagName: "li", tagName: "li",
classNames: ["item"], classNames: ["item"],

View file

@ -9,15 +9,13 @@
// //
// https://documize.com // 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'; import TooltipMixin from '../../mixins/tooltip';
const { export default Component.extend(TooltipMixin, {
computed,
inject: { service }
} = Ember;
export default Ember.Component.extend(TooltipMixin, {
documentService: service('document'), documentService: service('document'),
deleteChildren: false, deleteChildren: false,
menuOpen: false, menuOpen: false,

View file

@ -9,23 +9,26 @@
// //
// https://documize.com // 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 TooltipMixin from '../../mixins/tooltip';
import NotifierMixin from '../../mixins/notifier'; import NotifierMixin from '../../mixins/notifier';
export default Ember.Component.extend(TooltipMixin, NotifierMixin, { export default Component.extend(TooltipMixin, NotifierMixin, {
documentService: Ember.inject.service('document'), documentService: service('document'),
categoryService: Ember.inject.service('category'), categoryService: service('category'),
sessionService: Ember.inject.service('session'), sessionService: service('session'),
newCategory: '', newCategory: '',
categories: [], categories: [],
hasCategories: Ember.computed('categories', function() { hasCategories: computed('categories', function() {
return this.get('categories').length > 0; 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')); 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'); return this.get('permissions.spaceOwner') || this.get('permissions.spaceManage');
}), }),

View file

@ -9,15 +9,13 @@
// //
// https://documize.com // 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'; import TooltipMixin from '../../mixins/tooltip';
const { export default Component.extend(TooltipMixin, {
computed,
inject: { service }
} = Ember;
export default Ember.Component.extend(TooltipMixin, {
documentService: service('document'), documentService: service('document'),
expanded: false, expanded: false,
deleteChildren: false, deleteChildren: false,

View file

@ -9,15 +9,17 @@
// //
// https://documize.com // 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: [], documentTags: [],
tagz: [], tagz: [],
newTag: "", newTag: "",
maxTags: 3, maxTags: 3,
canAdd: false, canAdd: false,
emptyState: Ember.computed('tagz', function() { emptyState: computed('tagz', function() {
return (this.get('tagz').length === 0 && !this.get('permissions.documentEdit')); return (this.get('tagz').length === 0 && !this.get('permissions.documentEdit'));
}), }),

View file

@ -9,26 +9,24 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { empty, and } from '@ember/object/computed';
const { import $ from 'jquery';
isEmpty, import Component from '@ember/component';
computed, import { isEmpty } from '@ember/utils';
set import { set } from '@ember/object';
} = Ember; export default Component.extend({
titleEmpty: empty('model.title'),
export default Ember.Component.extend({ firstnameEmpty: empty('model.firstname'),
titleEmpty: computed.empty('model.title'), lastnameEmpty: empty('model.lastname'),
firstnameEmpty: computed.empty('model.firstname'), emailEmpty: empty('model.email'),
lastnameEmpty: computed.empty('model.lastname'), passwordEmpty: empty('model.password'),
emailEmpty: computed.empty('model.email'), hasEmptyTitleError: and('titleEmpty', 'titleError'),
passwordEmpty: computed.empty('model.password'), hasEmptyFirstnameError: and('firstnameEmpty', 'adminFirstnameError'),
hasEmptyTitleError: computed.and('titleEmpty', 'titleError'), hasEmptyLastnameError: and('lastnameEmpty', 'adminLastnameError'),
hasEmptyFirstnameError: computed.and('firstnameEmpty', 'adminFirstnameError'), hasEmptyEmailError: and('emailEmpty', 'adminEmailError'),
hasEmptyLastnameError: computed.and('lastnameEmpty', 'adminLastnameError'), hasEmptyPasswordError: and('passwordEmpty', 'adminPasswordError'),
hasEmptyEmailError: computed.and('emailEmpty', 'adminEmailError'),
hasEmptyPasswordError: computed.and('passwordEmpty', 'adminPasswordError'),
actions: { actions: {
save() { save() {
@ -57,7 +55,7 @@ export default Ember.Component.extend({
return $("#adminPassword").focus(); return $("#adminPassword").focus();
} }
this.model.allowAnonymousAccess = Ember.$("#allowAnonymousAccess").prop('checked'); this.model.allowAnonymousAccess = $("#allowAnonymousAccess").prop('checked');
this.get('save')().then(() => { this.get('save')().then(() => {
set(this, 'titleError', false); set(this, 'titleError', false);

View file

@ -9,10 +9,13 @@
// //
// https://documize.com // 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'; import stringUtil from '../utils/string';
export default Ember.Component.extend({ export default Component.extend({
drop: null, drop: null,
target: null, target: null,
button: "Delete", button: "Delete",
@ -33,9 +36,9 @@ export default Ember.Component.extend({
constrainToWindow: true, constrainToWindow: true,
constrainToScrollParent: true, constrainToScrollParent: true,
cssClass: '', 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')); return is.not.empty(this.get('button2')) && is.not.empty(this.get('color2'));
}), }),

View file

@ -9,10 +9,12 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { inject as service } from '@ember/service';
import Component from '@ember/component';
import stringUtil from '../utils/string'; import stringUtil from '../utils/string';
export default Ember.Component.extend({ export default Component.extend({
target: null, target: null,
open: "click", open: "click",
position: 'bottom right', position: 'bottom right',
@ -20,7 +22,7 @@ export default Ember.Component.extend({
drop: null, drop: null,
onOpenCallback: null, // callback when opened onOpenCallback: null, // callback when opened
onCloseCallback: null, // callback when closed onCloseCallback: null, // callback when closed
tether: Ember.inject.service(), tether: service(),
didReceiveAttrs() { didReceiveAttrs() {
this.set("contentId", 'dropdown-menu-' + stringUtil.makeId(10)); this.set("contentId", 'dropdown-menu-' + stringUtil.makeId(10));

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
icon: 'visibility', icon: 'visibility',
glypth: '', glypth: '',

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // 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() { becomeFocused: function() {
this.$().focus(); this.$().focus();
}.on('didInsertElement') }.on('didInsertElement')

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // 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() { becomeFocused: function() {
this.$().focus(); this.$().focus();
}.on('didInsertElement') }.on('didInsertElement')

View file

@ -9,16 +9,14 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
import DropdownMixin from '../../mixins/dropdown'; import DropdownMixin from '../../mixins/dropdown';
const { export default Component.extend(NotifierMixin, TooltipMixin, DropdownMixin, {
inject: { service }
} = Ember;
export default Ember.Component.extend(NotifierMixin, TooltipMixin, DropdownMixin, {
userService: service('user'), userService: service('user'),
categoryService: service('category'), categoryService: service('category'),
appMeta: service(), appMeta: service(),

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
documentTags: [], documentTags: [],
tagz: [], tagz: [],

View file

@ -9,13 +9,15 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { computed } from '@ember/object';
export default Ember.Component.extend({ import Component from '@ember/component';
showAdd: Ember.computed('permissions', 'documents', function() {
export default Component.extend({
showAdd: computed('permissions', 'documents', function() {
return this.get('documents.length') === 0 && this.get('permissions.documentAdd'); 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'); return this.get('documents.length') === 0 && !this.get('permissions.documentAdd');
}), }),

View file

@ -9,14 +9,12 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
const { export default Component.extend(NotifierMixin, {
inject: { service }
} = Ember;
export default Ember.Component.extend(NotifierMixin, {
folderService: service('folder'), folderService: service('folder'),
appMeta: service(), appMeta: service(),
inviteEmail: '', inviteEmail: '',

View file

@ -9,14 +9,13 @@
// //
// https://documize.com // 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'; import NotifierMixin from '../../mixins/notifier';
const { export default Component.extend(NotifierMixin, {
inject: { service }
} = Ember;
export default Ember.Component.extend(NotifierMixin, {
folderService: service('folder'), folderService: service('folder'),
userService: service('user'), userService: service('user'),
appMeta: service(), appMeta: service(),
@ -74,7 +73,7 @@ export default Ember.Component.extend(NotifierMixin, {
permissions.forEach((permission, index) => { // eslint-disable-line no-unused-vars permissions.forEach((permission, index) => { // eslint-disable-line no-unused-vars
let record = folderPermissions.findBy('userId', permission.get('userId')); let record = folderPermissions.findBy('userId', permission.get('userId'));
if (is.not.undefined(record)) { if (is.not.undefined(record)) {
record = Ember.setProperties(record, permission); record = setProperties(record, permission);
} }
}); });

View file

@ -9,13 +9,15 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { schedule } from '@ember/runloop';
import Component from '@ember/component';
import constants from '../../utils/constants'; import constants from '../../utils/constants';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
import NotifierMixin from '../../mixins/notifier'; import NotifierMixin from '../../mixins/notifier';
import AuthMixin from '../../mixins/auth'; import AuthMixin from '../../mixins/auth';
export default Ember.Component.extend(TooltipMixin, NotifierMixin, AuthMixin, { export default Component.extend(TooltipMixin, NotifierMixin, AuthMixin, {
publicFolders: [], publicFolders: [],
protectedFolders: [], protectedFolders: [],
privateFolders: [], privateFolders: [],
@ -66,7 +68,7 @@ export default Ember.Component.extend(TooltipMixin, NotifierMixin, AuthMixin, {
this.set('showSpace', val); this.set('showSpace', val);
if (val) { if (val) {
Ember.run.schedule('afterRender', () => { schedule('afterRender', () => {
$("#new-folder-name").focus(); $("#new-folder-name").focus();
}); });
} }

View file

@ -9,12 +9,12 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
import NotifierMixin from '../../mixins/notifier'; import NotifierMixin from '../../mixins/notifier';
import AuthMixin from '../../mixins/auth'; import AuthMixin from '../../mixins/auth';
export default Ember.Component.extend(TooltipMixin, NotifierMixin, AuthMixin, { export default Component.extend(TooltipMixin, NotifierMixin, AuthMixin, {
tab: '', tab: '',
init() { init() {

View file

@ -9,18 +9,18 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
const { export default Component.extend(NotifierMixin, TooltipMixin, {
computed, folderService: service('folder'),
} = Ember;
export default Ember.Component.extend(NotifierMixin, TooltipMixin, {
folderService: Ember.inject.service('folder'),
folderName: '', folderName: '',
hasNameError: computed.empty('folderName'), hasNameError: empty('folderName'),
editMode: false, editMode: false,
keyUp(e) { keyUp(e) {
@ -34,7 +34,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, {
this.set('folderName', this.get('folder.name')); this.set('folderName', this.get('folder.name'));
this.set('editMode', true); this.set('editMode', true);
Ember.run.schedule('afterRender', () => { schedule('afterRender', () => {
$('#folder-name').select(); $('#folder-name').select();
}); });
}, },

View file

@ -9,16 +9,15 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
import AuthMixin from '../../mixins/auth'; import AuthMixin from '../../mixins/auth';
const { export default Component.extend(NotifierMixin, TooltipMixin, AuthMixin, {
inject: { service }
} = Ember;
export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, {
folderService: service('folder'), folderService: service('folder'),
session: service(), session: service(),
appMeta: service(), appMeta: service(),
@ -34,7 +33,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, {
newName: '' newName: ''
}, },
deleteSpaceName: '', deleteSpaceName: '',
spaceSettings: Ember.computed('permissions', function() { spaceSettings: computed('permissions', function() {
return this.get('permissions.spaceOwner') || this.get('permissions.spaceManage'); return this.get('permissions.spaceOwner') || this.get('permissions.spaceManage');
}), }),

View file

@ -9,23 +9,24 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
import AuthMixin from '../../mixins/auth'; import AuthMixin from '../../mixins/auth';
const { export default Component.extend(NotifierMixin, TooltipMixin, AuthMixin, {
inject: { service }
} = Ember;
export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, {
router: service(), router: service(),
documentService: service('document'), documentService: service('document'),
folderService: service('folder'), folderService: service('folder'),
localStorage: service('localStorage'), localStorage: service('localStorage'),
selectedDocuments: [], selectedDocuments: [],
hasSelectedDocuments: Ember.computed.gt('selectedDocuments.length', 0), hasSelectedDocuments: gt('selectedDocuments.length', 0),
hasCategories: Ember.computed.gt('categories.length', 0), hasCategories: gt('categories.length', 0),
showStartDocument: false, showStartDocument: false,
filteredDocs: [], filteredDocs: [],
@ -70,7 +71,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, {
this.set('categories', categories); this.set('categories', categories);
Ember.run.schedule('afterRender', () => { schedule('afterRender', () => {
if (this.get('rootDocCount') > 0) { if (this.get('rootDocCount') > 0) {
this.send('onDocumentFilter', 'space', this.get('folder.id')); this.send('onDocumentFilter', 'space', this.get('folder.id'));
} else if (selectedCategory !== '') { } else if (selectedCategory !== '') {
@ -107,7 +108,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, {
promises[index] = self.get('documentService').deleteDocument(document); promises[index] = self.get('documentService').deleteDocument(document);
}); });
Ember.RSVP.all(promises).then(() => { all(promises).then(() => {
let documents = this.get('documents'); let documents = this.get('documents');
documents.forEach(function (document) { documents.forEach(function (document) {
document.set('selected', false); document.set('selected', false);

View file

@ -9,15 +9,14 @@
// //
// https://documize.com // 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'; import NotifierMixin from '../../mixins/notifier';
const { export default Component.extend(NotifierMixin, {
computed,
inject: { service }
} = Ember;
export default Ember.Component.extend(NotifierMixin, {
localStorage: service(), localStorage: service(),
appMeta: service(), appMeta: service(),
templateService: service('template'), templateService: service('template'),
@ -26,14 +25,14 @@ export default Ember.Component.extend(NotifierMixin, {
importStatus: [], importStatus: [],
dropzone: null, dropzone: null,
newDocumentName: '', newDocumentName: '',
newDocumentNameMissing: computed.empty('newDocumentName'), newDocumentNameMissing: empty('newDocumentName'),
didReceiveAttrs() { didReceiveAttrs() {
this._super(...arguments); this._super(...arguments);
this.setupTemplates(); this.setupTemplates();
Ember.run.schedule('afterRender', ()=> { schedule('afterRender', ()=> {
this.setupImport(); this.setupImport();
}); });
}, },
@ -64,7 +63,7 @@ export default Ember.Component.extend(NotifierMixin, {
this.set('savedTemplates', templates); this.set('savedTemplates', templates);
Ember.run.schedule('afterRender', () => { schedule('afterRender', () => {
$('#new-document-name').select(); $('#new-document-name').select();
}); });
}, },

View file

@ -9,32 +9,31 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { empty, and } from '@ember/object/computed';
const { import { set } from '@ember/object';
computed, import Component from '@ember/component';
isEmpty import { isEmpty } from '@ember/utils';
} = Ember;
export default Ember.Component.extend({ export default Component.extend({
email: "", email: "",
sayThanks: false, sayThanks: false,
emailEmpty: computed.empty('email'), emailEmpty: empty('email'),
hasEmptyEmailError: computed.and('emailEmpty', 'emailIsEmpty'), hasEmptyEmailError: and('emailEmpty', 'emailIsEmpty'),
actions: { actions: {
forgot() { forgot() {
let email = this.get('email'); let email = this.get('email');
if (isEmpty(email)) { if (isEmpty(email)) {
Ember.set(this, 'emailIsEmpty', true); set(this, 'emailIsEmpty', true);
return $("#email").focus(); return $("#email").focus();
} }
this.get('forgot')(email).then(() => { this.get('forgot')(email).then(() => {
Ember.set(this, 'sayThanks', true); set(this, 'sayThanks', true);
Ember.set(this, 'email', ''); set(this, 'email', '');
Ember.set(this, 'emailIsEmpty', false); set(this, 'emailIsEmpty', false);
}); });
} }
} }

View file

@ -9,7 +9,7 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
}); });

View file

@ -9,14 +9,12 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
const { export default Component.extend(NotifierMixin, {
inject: { service }
} = Ember;
export default Ember.Component.extend(NotifierMixin, {
appMeta :service(), appMeta :service(),
didRender() { didRender() {

View file

@ -9,14 +9,12 @@
// //
// https://documize.com // 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 NotifierMixin from '../../mixins/notifier';
const { export default Component.extend(NotifierMixin, {
inject: { service }
} = Ember;
export default Ember.Component.extend(NotifierMixin, {
appMeta :service(), appMeta :service(),
didRender() { didRender() {

View file

@ -9,15 +9,13 @@
// //
// https://documize.com // 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'; import constants from '../../utils/constants';
const { export default Component.extend({
computed,
inject: { service }
} = Ember;
export default Ember.Component.extend({
folderService: service('folder'), folderService: service('folder'),
appMeta: service(), appMeta: service(),
session: service(), session: service(),
@ -25,7 +23,7 @@ export default Ember.Component.extend({
pinned: service(), pinned: service(),
enableLogout: true, enableLogout: true,
pins: [], pins: [],
hasPins: computed.notEmpty('pins'), hasPins: notEmpty('pins'),
init() { init() {
this._super(...arguments); this._super(...arguments);

View file

@ -9,10 +9,12 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { inject as service } from '@ember/service';
export default Ember.Component.extend({ import Component from '@ember/component';
folderService: Ember.inject.service('folder'),
export default Component.extend({
folderService: service('folder'),
serial: "", serial: "",
folderId: "", folderId: "",
slug: "", slug: "",

View file

@ -9,24 +9,20 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { empty, and } from '@ember/object/computed';
const { import Component from '@ember/component';
isEmpty, import { isEqual, isEmpty } from '@ember/utils';
isEqual, import { set } from '@ember/object';
computed,
set
} = Ember; export default Component.extend({
export default Ember.Component.extend({
password: "", password: "",
passwordConfirm: "", passwordConfirm: "",
mustMatch: false, mustMatch: false,
passwordEmpty: computed.empty('password'), passwordEmpty: empty('password'),
confirmEmpty: computed.empty('passwordConfirm'), confirmEmpty: empty('passwordConfirm'),
hasPasswordError: computed.and('passwordEmpty', 'passwordIsEmpty'), hasPasswordError: and('passwordEmpty', 'passwordIsEmpty'),
hasConfirmError: computed.and('confirmEmpty', 'passwordConfirmIsEmpty'), hasConfirmError: and('confirmEmpty', 'passwordConfirmIsEmpty'),
actions: { actions: {
reset() { reset() {

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
results: [], results: [],
resultPhrase: "", resultPhrase: "",

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
documentTags: [], documentTags: [],
tagz: [], tagz: [],

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
data: "", data: "",
didReceiveAttrs() { didReceiveAttrs() {

View file

@ -9,6 +9,6 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({}); export default Component.extend({});

View file

@ -9,39 +9,38 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { empty } from '@ember/object/computed';
const { import { computed } from '@ember/object';
computed, import Component from '@ember/component';
} = Ember;
export default Ember.Component.extend({ export default Component.extend({
drop: null, drop: null,
busy: false, busy: false,
mousetrap: null, mousetrap: null,
hasNameError: computed.empty('page.title'), hasNameError: empty('page.title'),
containerId: Ember.computed('page', function () { containerId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `base-editor-inline-container-${page.id}`; return `base-editor-inline-container-${page.id}`;
}), }),
pageId: Ember.computed('page', function () { pageId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `page-editor-${page.id}`; return `page-editor-${page.id}`;
}), }),
cancelId: Ember.computed('page', function () { cancelId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `cancel-edits-button-${page.id}`; return `cancel-edits-button-${page.id}`;
}), }),
dialogId: Ember.computed('page', function () { dialogId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `discard-edits-dialog-${page.id}`; return `discard-edits-dialog-${page.id}`;
}), }),
contentLinkerButtonId: Ember.computed('page', function () { contentLinkerButtonId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `content-linker-button-${page.id}`; return `content-linker-button-${page.id}`;
}), }),
previewButtonId: Ember.computed('page', function () { previewButtonId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `content-preview-button-${page.id}`; return `content-preview-button-${page.id}`;
}), }),

View file

@ -9,15 +9,17 @@
// //
// https://documize.com // 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, drop: null,
cancelLabel: "Close", cancelLabel: "Close",
actionLabel: "Save", actionLabel: "Save",
tip: "Short and concise title", tip: "Short and concise title",
busy: false, busy: false,
hasExcerpt: Ember.computed('page', function () { hasExcerpt: computed('page', function () {
return is.not.undefined(this.get('page.excerpt')); return is.not.undefined(this.get('page.excerpt'));
}), }),

View file

@ -9,7 +9,7 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
}); });

View file

@ -9,20 +9,22 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { computed } from '@ember/object';
import Component from '@ember/component';
import TooltipMixin from '../../../mixins/tooltip'; import TooltipMixin from '../../../mixins/tooltip';
export default Ember.Component.extend(TooltipMixin, { export default Component.extend(TooltipMixin, {
isDirty: false, isDirty: false,
pageBody: "", pageBody: "",
syntaxOptions: [], syntaxOptions: [],
codeSyntax: null, codeSyntax: null,
codeEditor: null, codeEditor: null,
editorId: Ember.computed('page', function () { editorId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `code-editor-${page.id}`; return `code-editor-${page.id}`;
}), }),
syntaxId: Ember.computed('page', function () { syntaxId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `code-editor-syntax-${page.id}`; return `code-editor-syntax-${page.id}`;
}), }),

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
codeBody: "", codeBody: "",
codeSyntax: "htmlmixed", codeSyntax: "htmlmixed",

View file

@ -9,13 +9,17 @@
// //
// https://documize.com // 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 NotifierMixin from '../../../mixins/notifier';
import TooltipMixin from '../../../mixins/tooltip'; import TooltipMixin from '../../../mixins/tooltip';
import SectionMixin from '../../../mixins/section'; import SectionMixin from '../../../mixins/section';
export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { export default Component.extend(SectionMixin, NotifierMixin, TooltipMixin, {
sectionService: Ember.inject.service('section'), sectionService: service('section'),
isDirty: false, isDirty: false,
waiting: false, waiting: false,
authenticated: false, authenticated: false,
@ -87,7 +91,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin,
self.set('workspaces', response); self.set('workspaces', response);
self.selectWorkspace(workspaceId); self.selectWorkspace(workspaceId);
Ember.run.schedule('afterRender', function () { schedule('afterRender', function () {
window.scrollTo(0, document.body.scrollHeight); window.scrollTo(0, document.body.scrollHeight);
response.forEach(function (workspace) { response.forEach(function (workspace) {
@ -129,7 +133,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin,
let w = this.get('workspaces'); let w = this.get('workspaces');
w.forEach(function (w) { w.forEach(function (w) {
Ember.set(w, 'selected', w.Id === id); set(w, 'selected', w.Id === id);
if (w.Id === id) { if (w.Id === id) {
self.set("config.filter", w.Filter); self.set("config.filter", w.Filter);

View file

@ -9,6 +9,6 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({}); export default Component.extend({});

View file

@ -9,13 +9,16 @@
// //
// https://documize.com // 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 NotifierMixin from '../../../mixins/notifier';
import TooltipMixin from '../../../mixins/tooltip'; import TooltipMixin from '../../../mixins/tooltip';
import SectionMixin from '../../../mixins/section'; import SectionMixin from '../../../mixins/section';
export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { export default Component.extend(SectionMixin, NotifierMixin, TooltipMixin, {
sectionService: Ember.inject.service('section'), sectionService: service('section'),
isDirty: false, isDirty: false,
busy: false, busy: false,
authenticated: false, authenticated: false,
@ -182,11 +185,11 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin,
let list = lists.findBy('id', id); let list = lists.findBy('id', id);
lists.forEach(function (entry) { lists.forEach(function (entry) {
Ember.set(entry, 'included', false); set(entry, 'included', false);
}); });
if (list !== null) { if (list !== null) {
Ember.set(list, 'included', true); set(list, 'included', true);
} }
}, },

View file

@ -9,6 +9,6 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({}); export default Component.extend({});

View file

@ -9,25 +9,25 @@
// //
// https://documize.com // 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'; import TooltipMixin from '../../../mixins/tooltip';
const { export default Component.extend(TooltipMixin, {
inject: { service }
} = Ember;
export default Ember.Component.extend(TooltipMixin, {
link: service(), link: service(),
pageBody: "", pageBody: "",
pagePreview: "", pagePreview: "",
editMode: true, editMode: true,
codeSyntax: null, codeSyntax: null,
codeEditor: null, codeEditor: null,
editorId: Ember.computed('page', function () { editorId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `markdown-editor-${page.id}`; return `markdown-editor-${page.id}`;
}), }),
previewId: Ember.computed('page', function () { previewId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `markdown-preview-${page.id}`; return `markdown-preview-${page.id}`;
}), }),
@ -89,7 +89,7 @@ export default Ember.Component.extend(TooltipMixin, {
onPreview() { onPreview() {
this.set('editMode', !this.get('editMode')); this.set('editMode', !this.get('editMode'));
Ember.run.schedule('afterRender', () => { schedule('afterRender', () => {
if (this.get('editMode')) { if (this.get('editMode')) {
this.attachEditor(); this.attachEditor();
} else { } else {

View file

@ -9,6 +9,6 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({}); export default Component.extend({});

View file

@ -9,14 +9,17 @@
// //
// https://documize.com // 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 NotifierMixin from '../../../mixins/notifier';
import TooltipMixin from '../../../mixins/tooltip'; import TooltipMixin from '../../../mixins/tooltip';
import SectionMixin from '../../../mixins/section'; import SectionMixin from '../../../mixins/section';
import netUtil from '../../../utils/net'; import netUtil from '../../../utils/net';
export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { export default Component.extend(SectionMixin, NotifierMixin, TooltipMixin, {
sectionService: Ember.inject.service('section'), sectionService: service('section'),
isDirty: false, isDirty: false,
waiting: false, waiting: false,
authenticated: false, authenticated: false,
@ -88,7 +91,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin,
group = options.groups[0]; group = options.groups[0];
} }
if (is.not.undefined(group)) { if (is.not.undefined(group)) {
Ember.set(config, 'group', group); set(config, 'group', group);
} }
}, function (reason) { }, function (reason) {
self.set('authenticated', false); self.set('authenticated', false);
@ -159,7 +162,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin,
max = parseInt(config.max); max = parseInt(config.max);
} }
Ember.set(config, 'max', max); set(config, 'max', max);
this.set('waiting', true); this.set('waiting', true);
this.get('sectionService').fetch(page, "auth", this.get('config')) this.get('sectionService').fetch(page, "auth", this.get('config'))

View file

@ -9,6 +9,6 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({}); export default Component.extend({});

View file

@ -9,12 +9,14 @@
// //
// https://documize.com // 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, isDirty: false,
pageBody: "", pageBody: "",
editorId: Ember.computed('page', function () { editorId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `table-editor-${page.id}`; return `table-editor-${page.id}`;
}), }),

View file

@ -9,6 +9,6 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({}); export default Component.extend({});

View file

@ -10,13 +10,18 @@
// https://documize.com // https://documize.com
/*global Trello*/ /*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 NotifierMixin from '../../../mixins/notifier';
import TooltipMixin from '../../../mixins/tooltip'; import TooltipMixin from '../../../mixins/tooltip';
import SectionMixin from '../../../mixins/section'; import SectionMixin from '../../../mixins/section';
export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { export default Component.extend(SectionMixin, NotifierMixin, TooltipMixin, {
sectionService: Ember.inject.service('section'), sectionService: service('section'),
isDirty: false, isDirty: false,
busy: false, busy: false,
authenticated: false, authenticated: false,
@ -25,7 +30,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin,
noBoards: false, noBoards: false,
appKey: "", appKey: "",
boardStyle: Ember.computed('config.board', function () { boardStyle: computed('config.board', function () {
let board = this.get('config.board'); let board = this.get('config.board');
if (is.null(board) || is.undefined(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; let color = board.prefs.backgroundColor;
return Ember.String.htmlSafe("background-color: " + color); return htmlSafe("background-color: " + color);
}), }),
didReceiveAttrs() { didReceiveAttrs() {
@ -73,7 +78,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin,
if (self.get('appKey') !== "" && self.get('config.token') !== "") { if (self.get('appKey') !== "" && self.get('config.token') !== "") {
self.send('auth'); self.send('auth');
} else { } 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(); Trello.deauthorize();
}); });
} }
@ -146,7 +151,7 @@ export default Ember.Component.extend(SectionMixin, NotifierMixin, TooltipMixin,
let list = lists.findBy('id', id); let list = lists.findBy('id', id);
if (list !== null) { 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); 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({ Trello.authorize({
type: "redirect", type: "redirect",
interactive: true, interactive: true,

View file

@ -9,6 +9,6 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({}); export default Component.extend({});

View file

@ -9,17 +9,16 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { computed, set } from '@ember/object';
const { import Component from '@ember/component';
inject: { service } import { inject as service } from '@ember/service';
} = Ember;
export default Ember.Component.extend({ export default Component.extend({
appMeta: service(), appMeta: service(),
link: service(), link: service(),
pageBody: "", pageBody: "",
editorId: Ember.computed('page', function () { editorId: computed('page', function () {
let page = this.get('page'); let page = this.get('page');
return `wysiwyg-editor-${page.id}`; return `wysiwyg-editor-${page.id}`;
}), }),
@ -102,7 +101,7 @@ export default Ember.Component.extend({
let userSelection = editor.selection.getContent(); let userSelection = editor.selection.getContent();
if (is.not.empty(userSelection)) { if (is.not.empty(userSelection)) {
Ember.set(link, 'title', userSelection); set(link, 'title', userSelection);
} }
let linkHTML = this.get('link').buildLink(link); let linkHTML = this.get('link').buildLink(link);

View file

@ -9,6 +9,6 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({}); export default Component.extend({});

View file

@ -9,9 +9,11 @@
// //
// https://documize.com // 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: "", cssClass: "",
content: [], content: [],
prompt: null, prompt: null,
@ -22,7 +24,7 @@ export default Ember.Component.extend({
// shadow the passed-in `selection` to avoid // shadow the passed-in `selection` to avoid
// leaking changes to it via a 2-way binding // leaking changes to it via a 2-way binding
_selection: Ember.computed.reads('selection'), _selection: reads('selection'),
actions: { actions: {
change() { change() {

View file

@ -9,10 +9,10 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
import TooltipMixin from '../../mixins/tooltip'; import TooltipMixin from '../../mixins/tooltip';
export default Ember.Component.extend(TooltipMixin, { export default Component.extend(TooltipMixin, {
didRender() { didRender() {
let refId = this.get('refId'); let refId = this.get('refId');
this.addTooltip(document.getElementById(`avatar-${refId}`)); this.addTooltip(document.getElementById(`avatar-${refId}`));

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
tagName: 'span', tagName: 'span',
actions: { actions: {

View file

@ -9,15 +9,17 @@
// //
// https://documize.com // 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', nameField: 'category',
items: [], items: [],
actions: { actions: {
onToggle(item) { onToggle(item) {
Ember.set(item, 'selected', !item.get('selected')); set(item, 'selected', !item.get('selected'));
} }
} }
}); });

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
tagName: 'span', tagName: 'span',
value: '', value: '',
onClick: null, onClick: null,

View file

@ -9,7 +9,7 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Component from '@ember/component';
export default Ember.Component.extend({ export default Component.extend({
}); });

View file

@ -9,22 +9,25 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { htmlSafe } from '@ember/string';
export default Ember.Component.extend({ import { computed, set } from '@ember/object';
myWidth: Ember.computed('tabs', function() { import Component from '@ember/component';
export default Component.extend({
myWidth: computed('tabs', function() {
let count = this.get('tabs.length'); let count = this.get('tabs.length');
let width = 95 / count; let width = 95 / count;
return Ember.String.htmlSafe("width: " + `${width}%;`); return htmlSafe("width: " + `${width}%;`);
}), }),
actions: { actions: {
onTabSelect(tab) { onTabSelect(tab) {
this.get('tabs').forEach(t => { 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')); this.attrs.onTabSelect(this.get('tabs'));
} }

View file

@ -9,10 +9,12 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { run } from '@ember/runloop';
import Component from '@ember/component';
import miscUtil from '../utils/misc'; import miscUtil from '../utils/misc';
export default Ember.Component.extend({ export default Component.extend({
notifications: [], notifications: [],
didInsertElement() { didInsertElement() {
@ -31,7 +33,7 @@ export default Ember.Component.extend({
let elem = this.$(".user-notification")[0]; let elem = this.$(".user-notification")[0];
Ember.run(() => { run(() => {
self.$(elem).show(); self.$(elem).show();
// FIXME: need a more robust solution // FIXME: need a more robust solution

View file

@ -9,21 +9,18 @@
// //
// https://documize.com // 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'; import AuthProvider from '../mixins/auth';
const { export default Component.extend(AuthProvider, {
computed,
isEmpty,
isEqual,
isPresent
} = Ember;
export default Ember.Component.extend(AuthProvider, {
password: { password: "", confirmation: "" }, password: { password: "", confirmation: "" },
hasFirstnameError: computed.empty('model.firstname'), hasFirstnameError: empty('model.firstname'),
hasLastnameError: computed.empty('model.lastname'), hasLastnameError: empty('model.lastname'),
hasEmailError: computed.empty('model.email'), hasEmailError: empty('model.email'),
hasPasswordError: computed('passwordError', 'password.password', { hasPasswordError: computed('passwordError', 'password.password', {
get() { get() {
if (isPresent(this.get('passwordError'))) { if (isPresent(this.get('passwordError'))) {
@ -61,23 +58,23 @@ export default Ember.Component.extend(AuthProvider, {
} }
if (isPresent(password) && isEmpty(confirmation)) { if (isPresent(password) && isEmpty(confirmation)) {
Ember.set(this, 'confirmPasswordError', 'error'); set(this, 'confirmPasswordError', 'error');
return $("#confirmPassword").focus(); return $("#confirmPassword").focus();
} }
if (isEmpty(password) && isPresent(confirmation)) { if (isEmpty(password) && isPresent(confirmation)) {
Ember.set(this, 'passwordError', 'error'); set(this, 'passwordError', 'error');
return $("#password").focus(); return $("#password").focus();
} }
if (!isEqual(password, confirmation)) { if (!isEqual(password, confirmation)) {
Ember.set(this, 'passwordError', 'error'); set(this, 'passwordError', 'error');
return $("#password").focus(); return $("#password").focus();
} }
let passwords = this.get('password'); let passwords = this.get('password');
this.get('save')(passwords).finally(() => { this.get('save')(passwords).finally(() => {
Ember.set(this, 'password.password', ''); set(this, 'password.password', '');
Ember.set(this, 'password.confirmation', ''); set(this, 'password.confirmation', '');
}); });
} }
} }

View file

@ -10,10 +10,10 @@
// https://documize.com // https://documize.com
// Copyright (c) 2015 Documize Inc. // Copyright (c) 2015 Documize Inc.
import Ember from 'ember'; import Component from '@ember/component';
import NotifierMixin from '../mixins/notifier'; import NotifierMixin from '../mixins/notifier';
export default Ember.Component.extend(NotifierMixin, { export default Component.extend(NotifierMixin, {
drop1: null, drop1: null,
didInsertElement() { didInsertElement() {
@ -31,15 +31,25 @@ export default Ember.Component.extend(NotifierMixin, {
target: document.getElementById("sample-4") target: document.getElementById("sample-4")
}); });
let drop1 = new Drop({ // let drop1 = new Drop({
target: document.getElementById('sample-dropdown-1'), // target: document.getElementById('sample-dropdown-1'),
content: document.getElementById('sample-dropdown-content-1'), // content: document.getElementById('sample-dropdown-content-1'),
classes: 'drop-theme-basic', // classes: 'drop-theme-basic',
position: 'bottom middle', // position: 'bottom middle',
openOn: 'click' // openOn: 'click'
// });
// 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"
}); });
this.set('drop1', drop1); $('#test-button2').tooltip({});
$('#test-button3').tooltip({});
}, },
actions: { actions: {

View file

@ -9,7 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { helper } from '@ember/component/helper';
import { htmlSafe } from '@ember/string';
export function documentFileIcon(params) { export function documentFileIcon(params) {
let fileExtension = params[0].toLowerCase(); let fileExtension = params[0].toLowerCase();
@ -106,7 +108,7 @@ export function documentFileIcon(params) {
case "xslt": case "xslt":
} }
return new Ember.String.htmlSafe(html); return new htmlSafe(html);
} }
export default Ember.Helper.helper(documentFileIcon); export default helper(documentFileIcon);

View file

@ -9,11 +9,11 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { helper } from '@ember/component/helper';
import dateUtil from '../utils/date'; import dateUtil from '../utils/date';
export function formattedDate(params) { export function formattedDate(params) {
return dateUtil.toIsoDate(params[0], params[1]); return dateUtil.toIsoDate(params[0], params[1]);
} }
export default Ember.Helper.helper(formattedDate); export default helper(formattedDate);

View file

@ -9,10 +9,10 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { helper } from '@ember/component/helper';
// Usage: {{generate-id 'admin-' 123}} // Usage: {{generate-id 'admin-' 123}}
export default Ember.Helper.helper(function(params) { export default helper(function(params) {
let prefix = params[0]; let prefix = params[0];
let id = params[1]; let id = params[1];
return prefix + "-" + id; return prefix + "-" + id;

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { helper } from '@ember/component/helper';
// Usage: {{is-equal item selection}} // Usage: {{is-equal item selection}}
export default Ember.Helper.helper(function([leftSide, rightSide]) { export default helper(function([leftSide, rightSide]) {
return leftSide === rightSide; return leftSide === rightSide;
}); });

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { helper } from '@ember/component/helper';
// Usage: {{is-not selection}} // Usage: {{is-not selection}}
export default Ember.Helper.helper(function([value]) { export default helper(function([value]) {
return !value; return !value;
}); });

View file

@ -9,8 +9,10 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { get } from '@ember/object';
export default Ember.Helper.helper(function([object, path]) { import { helper } from '@ember/component/helper';
return Ember.get(object, path);
export default helper(function([object, path]) {
return get(object, path);
}); });

View file

@ -9,7 +9,7 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { helper } from '@ember/component/helper';
import dateUtil from '../utils/date'; import dateUtil from '../utils/date';
// {{time-ago createdAt}} // {{time-ago createdAt}}
@ -23,4 +23,4 @@ export function timeAgo(params) {
return d; return d;
} }
export default Ember.Helper.helper(timeAgo); export default helper(timeAgo);

View file

@ -9,7 +9,7 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import { helper } from '@ember/component/helper';
// {{user-initials firstname lastname}} // {{user-initials firstname lastname}}
export function userInitials(params) { export function userInitials(params) {
@ -26,4 +26,4 @@ export function userInitials(params) {
return (firstname.substring(0, 1) + lastname.substring(0, 1)).toUpperCase(); return (firstname.substring(0, 1) + lastname.substring(0, 1)).toUpperCase();
} }
export default Ember.Helper.helper(userInitials); export default helper(userInitials);

View file

@ -9,11 +9,13 @@
// //
// https://documize.com // 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'; import constants from '../utils/constants';
export default Ember.Mixin.create({ export default Mixin.create({
appMeta: Ember.inject.service(), appMeta: service(),
isAuthProviderDocumize: true, isAuthProviderDocumize: true,
IsAuthProviderKeycloak: false, IsAuthProviderKeycloak: false,

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Mixin from '@ember/object/mixin';
export default Ember.Mixin.create({ export default Mixin.create({
closeDropdown() { closeDropdown() {
let drop = this.get('dropdown'); let drop = this.get('dropdown');

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Mixin from '@ember/object/mixin';
export default Ember.Mixin.create({ export default Mixin.create({
showNotification(msg) { showNotification(msg) {
this.eventBus.publish('notifyUser', msg); this.eventBus.publish('notifyUser', msg);
}, },

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Mixin from '@ember/object/mixin';
export default Ember.Mixin.create({ export default Mixin.create({
isReadonly: function () { isReadonly: function () {
if (this.get('page.userId') === this.get('session.session.authenticated.user.id')) { if (this.get('page.userId') === this.get('session.session.authenticated.user.id')) {
return undefined; return undefined;

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import Ember from 'ember'; import Mixin from '@ember/object/mixin';
export default Ember.Mixin.create({ export default Mixin.create({
tooltips: [], tooltips: [],
addTooltip(elem) { addTooltip(elem) {

View file

@ -9,9 +9,9 @@
// //
// https://documize.com // https://documize.com
import { computed } from '@ember/object';
import Model from 'ember-data/model'; import Model from 'ember-data/model';
import attr from 'ember-data/attr'; import attr from 'ember-data/attr';
import Ember from 'ember';
import constants from '../utils/constants'; import constants from '../utils/constants';
export default Model.extend({ export default Model.extend({
@ -24,7 +24,7 @@ export default Model.extend({
activityType: attr('number'), activityType: attr('number'),
created: attr(), created: attr(),
activityLabel: Ember.computed('activityType', function() { activityLabel: computed('activityType', function() {
let label = ''; let label = '';
switch (this.get('activityType')) { switch (this.get('activityType')) {
@ -62,7 +62,7 @@ export default Model.extend({
return label; return label;
}), }),
activityColor: Ember.computed('activityType', function() { activityColor: computed('activityType', function() {
let color = ''; let color = '';
switch (this.get('activityType')) { switch (this.get('activityType')) {

Some files were not shown because too many files have changed in this diff Show more