diff --git a/client/src/acl-portal/email.js b/client/src/acl-portal/email.js index 2daeed62cf..e97219ef87 100644 --- a/client/src/acl-portal/email.js +++ b/client/src/acl-portal/email.js @@ -32,7 +32,7 @@ class EmailAclPortal extends AclPortal { // noinspection JSUnusedGlobalSymbols checkModelRead(model, data, precise) { - let result = this.checkModel(model, data, 'read', precise); + const result = this.checkModel(model, data, 'read', precise); if (result) { return true; @@ -42,7 +42,7 @@ class EmailAclPortal extends AclPortal { return false; } - let d = data || {}; + const d = data || {}; if (d.read === 'no') { return false; diff --git a/client/src/acl/email.js b/client/src/acl/email.js index 8a3c2814b2..1eddf150e2 100644 --- a/client/src/acl/email.js +++ b/client/src/acl/email.js @@ -32,7 +32,7 @@ class EmailAcl extends Acl { // noinspection JSUnusedGlobalSymbols checkModelRead(model, data, precise) { - let result = this.checkModel(model, data, 'read', precise); + const result = this.checkModel(model, data, 'read', precise); if (result) { return true; @@ -42,7 +42,7 @@ class EmailAcl extends Acl { return false; } - let d = data || {}; + const d = data || {}; if (d.read === 'no') { return false; @@ -92,7 +92,7 @@ class EmailAcl extends Acl { } checkModelDelete(model, data, precise) { - let result = this.checkModel(model, data, 'delete', precise); + const result = this.checkModel(model, data, 'delete', precise); if (result) { return true; @@ -102,7 +102,7 @@ class EmailAcl extends Acl { return false; } - let d = data || {}; + const d = data || {}; if (d.read === 'no') { return false; diff --git a/client/src/collections/note.js b/client/src/collections/note.js index 7d27dd2c5a..1cb006a569 100644 --- a/client/src/collections/note.js +++ b/client/src/collections/note.js @@ -34,9 +34,9 @@ class NoteCollection extends Collection { /** @inheritDoc */ prepareAttributes(response, params) { - let total = this.total; + const total = this.total; - let list = super.prepareAttributes(response, params); + const list = super.prepareAttributes(response, params); if (params.data && params.data.after) { if (total >= 0 && response.total >= 0) { diff --git a/client/src/collections/tree.js b/client/src/collections/tree.js index a01a9554e6..8ff18086cb 100644 --- a/client/src/collections/tree.js +++ b/client/src/collections/tree.js @@ -33,7 +33,7 @@ import Collection from 'collection'; class TreeCollection extends Collection { createSeed() { - let seed = new this.constructor(); + const seed = new this.constructor(); seed.url = this.url; seed.model = this.model; @@ -45,9 +45,9 @@ class TreeCollection extends Collection { } prepareAttributes(response, options) { - let list = super.prepareAttributes(response, options); + const list = super.prepareAttributes(response, options); - let seed = this.clone(); + const seed = this.clone(); seed.reset(); @@ -61,11 +61,11 @@ class TreeCollection extends Collection { */ this.categoryData = response.data || null; - let f = (l, depth) => { + const f = (l, depth) => { l.forEach(d => { d.depth = depth; - let c = this.createSeed(); + const c = this.createSeed(); if (d.childList) { if (d.childList.length) { diff --git a/client/src/controllers/address-map.js b/client/src/controllers/address-map.js index 9a0224c569..755ca43b30 100644 --- a/client/src/controllers/address-map.js +++ b/client/src/controllers/address-map.js @@ -49,7 +49,7 @@ class AddressMapController extends Controller { model.fetch() .then(() => { - let viewName = this.getMetadata().get(['AddressMap', 'view']) || + const viewName = this.getMetadata().get(['AddressMap', 'view']) || 'views/address-map/view'; this.main(viewName, { diff --git a/client/src/controllers/admin.js b/client/src/controllers/admin.js index f8e01b5dd3..38719f9ae0 100644 --- a/client/src/controllers/admin.js +++ b/client/src/controllers/admin.js @@ -43,7 +43,7 @@ class AdminController extends Controller { // noinspection JSUnusedGlobalSymbols actionPage(options) { - let page = options.page; + const page = options.page; if (options.options) { options = { @@ -58,7 +58,7 @@ class AdminController extends Controller { throw new Error(); } - let methodName = 'action' + Espo.Utils.upperCaseFirst(page); + const methodName = 'action' + Espo.Utils.upperCaseFirst(page); if (this[methodName]) { this[methodName](options); @@ -66,7 +66,7 @@ class AdminController extends Controller { return; } - let defs = this.getPageDefs(page); + const defs = this.getPageDefs(page); if (!defs) { throw new Espo.Exceptions.NotFound(); @@ -82,7 +82,7 @@ class AdminController extends Controller { throw new Espo.Exceptions.NotFound(); } - let model = this.getSettingsModel(); + const model = this.getSettingsModel(); model.fetch().then(() => { model.id = '1'; @@ -106,7 +106,7 @@ class AdminController extends Controller { // noinspection JSUnusedGlobalSymbols actionIndex(options) { let isReturn = options.isReturn; - let key = this.name + 'Index'; + const key = this.name + 'Index'; if (this.getRouter().backProcessed) { isReturn = true; @@ -251,39 +251,42 @@ class AdminController extends Controller { // noinspection JSUnusedGlobalSymbols actionLayouts(options) { - var scope = options.scope || null; - var type = options.type || null; - var em = options.em || false; + const scope = options.scope || null; + const type = options.type || null; + const em = options.em || false; this.main('views/admin/layouts/index', {scope: scope, type: type, em: em}); } // noinspection JSUnusedGlobalSymbols actionLabelManager(options) { - var scope = options.scope || null; - var language = options.language || null; + const scope = options.scope || null; + const language = options.language || null; this.main('views/admin/label-manager/index', {scope: scope, language: language}); } // noinspection JSUnusedGlobalSymbols actionTemplateManager(options) { - var name = options.name || null; + const name = options.name || null; this.main('views/admin/template-manager/index', {name: name}); } // noinspection JSUnusedGlobalSymbols actionFieldManager(options) { - var scope = options.scope || null; - var field = options.field || null; + const scope = options.scope || null; + const field = options.field || null; this.main('views/admin/field-manager/index', {scope: scope, field: field}); } // noinspection JSUnusedGlobalSymbols + /** + * @param {Record} options + */ actionEntityManager(options) { - var scope = options.scope || null; + const scope = options.scope || null; if (scope && options.edit) { this.main('views/admin/entity-manager/edit', {scope: scope}); @@ -314,7 +317,7 @@ class AdminController extends Controller { // noinspection JSUnusedGlobalSymbols actionLinkManager(options) { - var scope = options.scope || null; + const scope = options.scope || null; this.main('views/admin/link-manager/index', {scope: scope}); } @@ -328,7 +331,7 @@ class AdminController extends Controller { * @returns {module:models/settings} */ getSettingsModel() { - let model = this.getConfig().clone(); + const model = this.getConfig().clone(); model.defs = this.getConfig().defs; this.listenTo(model, 'after:save', () => { @@ -337,6 +340,7 @@ class AdminController extends Controller { this._broadcastChannel.postMessage('update:config'); }); + // noinspection JSValidateTypes return model; } @@ -410,7 +414,7 @@ class AdminController extends Controller { // noinspection JSUnusedGlobalSymbols actionIntegrations(options) { - var integration = options.name || null; + const integration = options.name || null; this.main('views/admin/integrations/index', {integration: integration}); } @@ -427,14 +431,14 @@ class AdminController extends Controller { this.rebuildRunning = true; - let master = this.get('master'); + const master = this.get('master'); Espo.Ui.notify(master.translate('pleaseWait', 'messages')); Espo.Ajax .postRequest('Admin/rebuild') .then(() => { - let msg = master.translate('Rebuild has been done', 'labels', 'Admin'); + const msg = master.translate('Rebuild has been done', 'labels', 'Admin'); Espo.Ui.success(msg); @@ -458,7 +462,7 @@ class AdminController extends Controller { Espo.Ajax.postRequest('Admin/clearCache') .then(() => { - let msg = master.translate('Cache has been cleared', 'labels', 'Admin'); + const msg = master.translate('Cache has been cleared', 'labels', 'Admin'); Espo.Ui.success(msg); @@ -473,14 +477,14 @@ class AdminController extends Controller { * @returns {Object|null} */ getPageDefs(page) { - let panelsDefs = this.getMetadata().get(['app', 'adminPanel']) || {}; + const panelsDefs = this.getMetadata().get(['app', 'adminPanel']) || {}; let resultDefs = null; - for (let panelKey in panelsDefs) { - let itemList = panelsDefs[panelKey].itemList || []; + for (const panelKey in panelsDefs) { + const itemList = panelsDefs[panelKey].itemList || []; - for (let defs of itemList) { + for (const defs of itemList) { if (defs.url === '#Admin/' + page) { resultDefs = defs; diff --git a/client/src/controllers/base.js b/client/src/controllers/base.js index e728883f7b..c766401414 100644 --- a/client/src/controllers/base.js +++ b/client/src/controllers/base.js @@ -45,12 +45,12 @@ class BaseController extends Controller { * }} [options] */ login(options) { - let viewName = this.getConfig().get('loginView') || 'views/login'; + const viewName = this.getConfig().get('loginView') || 'views/login'; - let anotherUser = (options || {}).anotherUser; - let prefilledUsername = (options || {}).username; + const anotherUser = (options || {}).anotherUser; + const prefilledUsername = (options || {}).username; - let viewOptions = { + const viewOptions = { anotherUser: anotherUser, prefilledUsername: prefilledUsername, }; @@ -109,7 +109,7 @@ class BaseController extends Controller { * Log out. */ logout() { - let title = this.getConfig().get('applicationName') || 'EspoCRM'; + const title = this.getConfig().get('applicationName') || 'EspoCRM'; $('head title').text(title); diff --git a/client/src/controllers/email.js b/client/src/controllers/email.js index b07e7805be..5babf51fcf 100644 --- a/client/src/controllers/email.js +++ b/client/src/controllers/email.js @@ -34,8 +34,8 @@ class EmailController extends RecordController { super.prepareModelView(model, options); this.listenToOnce(model, 'after:send', () => { - let key = this.name + 'List'; - let stored = this.getStoredMainView(key); + const key = this.name + 'List'; + const stored = this.getStoredMainView(key); if (stored) { this.clearStoredMainView(key); diff --git a/client/src/controllers/external-account.js b/client/src/controllers/external-account.js index 3a953070bf..9d8e521102 100644 --- a/client/src/controllers/external-account.js +++ b/client/src/controllers/external-account.js @@ -44,11 +44,12 @@ class ExternalAccountController extends Controller { }); } + // noinspection JSUnusedGlobalSymbols /** * @param {{id: string}} options */ actionEdit(options) { - let id = options.id; + const id = options.id; this.collectionFactory.create('ExternalAccount', collection => { collection.once('sync', () => { diff --git a/client/src/controllers/layout-set.js b/client/src/controllers/layout-set.js index 213726941e..99412139bb 100644 --- a/client/src/controllers/layout-set.js +++ b/client/src/controllers/layout-set.js @@ -35,7 +35,7 @@ class LayoutSetController extends RecordController { * @param {Record} options */ actionEditLayouts(options) { - let id = options.id; + const id = options.id; if (!id) { throw new Error("ID not passed."); diff --git a/client/src/controllers/lead-capture-opt-in-confirmation.js b/client/src/controllers/lead-capture-opt-in-confirmation.js index 1dc39f013b..1ca6e1272f 100644 --- a/client/src/controllers/lead-capture-opt-in-confirmation.js +++ b/client/src/controllers/lead-capture-opt-in-confirmation.js @@ -32,7 +32,7 @@ class LeadCaptureOptInConfirmationController extends Controller { // noinspection JSUnusedGlobalSymbols actionOptInConfirmationSuccess(data) { - let viewName = this.getMetadata().get(['clientDefs', 'LeadCapture', 'optInConfirmationSuccessView']) || + const viewName = this.getMetadata().get(['clientDefs', 'LeadCapture', 'optInConfirmationSuccessView']) || 'views/lead-capture/opt-in-confirmation-success'; this.entire(viewName, { @@ -44,7 +44,7 @@ class LeadCaptureOptInConfirmationController extends Controller { // noinspection JSUnusedGlobalSymbols actionOptInConfirmationExpired(data) { - let viewName = this.getMetadata().get(['clientDefs', 'LeadCapture', 'optInConfirmationExpiredView']) || + const viewName = this.getMetadata().get(['clientDefs', 'LeadCapture', 'optInConfirmationExpiredView']) || 'views/lead-capture/opt-in-confirmation-expired'; this.entire(viewName, { diff --git a/client/src/controllers/login-as.js b/client/src/controllers/login-as.js index 1a1dabab2f..dd06e20c6b 100644 --- a/client/src/controllers/login-as.js +++ b/client/src/controllers/login-as.js @@ -35,8 +35,8 @@ class LoginAsController extends Controller { * @param {Record} options */ actionLogin(options) { - let anotherUser = options.anotherUser; - let username = options.username; + const anotherUser = options.anotherUser; + const username = options.username; if (!anotherUser) { throw new Error("No anotherUser."); @@ -49,7 +49,7 @@ class LoginAsController extends Controller { this.listenToOnce(this.baseController, 'login', () => { this.baseController.once('router-set', () => { - let url = window.location.href.split('?')[0]; + const url = window.location.href.split('?')[0]; window.location.replace(url); }) diff --git a/client/src/controllers/note.js b/client/src/controllers/note.js index 5ad015f2db..0450e9d054 100644 --- a/client/src/controllers/note.js +++ b/client/src/controllers/note.js @@ -35,13 +35,13 @@ class NoteController extends Controller { * @param {Record} options */ actionView(options) { - let id = options.id; + const id = options.id; if (!id) { throw new Espo.Exceptions.NotFound; } - let viewName = this.getMetadata().get(['clientDefs', this.name, 'views', 'detail']) || + const viewName = this.getMetadata().get(['clientDefs', this.name, 'views', 'detail']) || 'views/note/detail'; let model; diff --git a/client/src/controllers/preferences.js b/client/src/controllers/preferences.js index 4f0f3aac08..c98f4c60c8 100644 --- a/client/src/controllers/preferences.js +++ b/client/src/controllers/preferences.js @@ -34,7 +34,7 @@ class PreferencesController extends RecordController { defaultAction = 'own' getModel(callback, context) { - let model = new Preferences(); + const model = new Preferences(); model.settings = this.getConfig(); model.defs = this.getMetadata().get('entityDefs.Preferences'); diff --git a/client/src/controllers/record.js b/client/src/controllers/record.js index b0556c45df..cedeb13aac 100644 --- a/client/src/controllers/record.js +++ b/client/src/controllers/record.js @@ -32,6 +32,7 @@ import Controller from 'controller'; /** * A record controller. + * @template {module:model} TModel */ class RecordController extends Controller { @@ -75,9 +76,9 @@ class RecordController extends Controller { } actionList(options) { - let isReturn = options.isReturn || this.getRouter().backProcessed; + const isReturn = options.isReturn || this.getRouter().backProcessed; - let key = this.name + 'List'; + const key = this.name + 'List'; if (!isReturn && this.getStoredMainView(key)) { this.clearStoredMainView(key); @@ -96,7 +97,7 @@ class RecordController extends Controller { this.listenToOnce(this.baseController, 'action', abort); this.listenToOnce(collection, 'sync', () => this.stopListening(this.baseController, 'action', abort)); - let viewOptions = { + const viewOptions = { scope: this.name, collection: collection, params: options, @@ -153,9 +154,9 @@ class RecordController extends Controller { * }} options */ actionView(options) { - let id = options.id; + const id = options.id; - let isReturn = this.getRouter().backProcessed; + const isReturn = this.getRouter().backProcessed; if (isReturn) { if (this.lastViewActionOptions && this.lastViewActionOptions.id === id) { @@ -181,7 +182,7 @@ class RecordController extends Controller { }; if ('model' in options) { - let model = options.model; + const model = options.model; createView(model); @@ -251,9 +252,9 @@ class RecordController extends Controller { */ prepareModelCreate(model, options) { this.listenToOnce(model, 'before:save', () => { - let key = this.name + 'List'; + const key = this.name + 'List'; - let stored = this.getStoredMainView(key); + const stored = this.getStoredMainView(key); if (!stored) { return; @@ -265,9 +266,9 @@ class RecordController extends Controller { }); this.listenToOnce(model, 'after:save', () => { - let key = this.name + 'List'; + const key = this.name + 'List'; - let stored = this.getStoredMainView(key); + const stored = this.getStoredMainView(key); if (!stored) { return; @@ -288,14 +289,14 @@ class RecordController extends Controller { create(options) { options = options || {}; - let optionsOptions = options.options || {}; + const optionsOptions = options.options || {}; this.getModel().then(model => { if (options.relate) { model.setRelate(options.relate); } - let o = { + const o = { scope: this.name, model: model, returnUrl: options.returnUrl, @@ -303,7 +304,7 @@ class RecordController extends Controller { params: options, }; - for (let k in optionsOptions) { + for (const k in optionsOptions) { o[k] = optionsOptions[k]; } @@ -334,9 +335,9 @@ class RecordController extends Controller { */ prepareModelEdit(model, options) { this.listenToOnce(model, 'before:save', () => { - let key = this.name + 'List'; + const key = this.name + 'List'; - let stored = this.getStoredMainView(key); + const stored = this.getStoredMainView(key); if (!stored) { return; @@ -349,9 +350,9 @@ class RecordController extends Controller { } actionEdit(options) { - let id = options.id; + const id = options.id; - let optionsOptions = options.options || {}; + const optionsOptions = options.options || {}; this.getModel().then(model => { model.id = id; @@ -369,7 +370,7 @@ class RecordController extends Controller { .then(() => { this.hideLoadingNotification(); - let o = { + const o = { scope: this.name, model: model, returnUrl: options.returnUrl, @@ -377,7 +378,7 @@ class RecordController extends Controller { params: options, }; - for (let k in optionsOptions) { + for (const k in optionsOptions) { o[k] = optionsOptions[k]; } @@ -401,12 +402,12 @@ class RecordController extends Controller { // noinspection JSUnusedGlobalSymbols actionMerge(options) { - let ids = options.ids.split(','); + const ids = options.ids.split(','); this.getModel().then((model) => { - let models = []; + const models = []; - let proceed = () => { + const proceed = () => { this.main('views/merge', { models: models, scope: this.name, @@ -417,7 +418,7 @@ class RecordController extends Controller { let i = 0; ids.forEach(id => { - let current = model.clone(); + const current = model.clone(); current.id = id; models.push(current); @@ -437,10 +438,10 @@ class RecordController extends Controller { // noinspection JSUnusedGlobalSymbols actionRelated(options) { - let id = options.id; - let link = options.link; + const id = options.id; + const link = options.link; - let viewName = this.getViewName('listRelated'); + const viewName = this.getViewName('listRelated'); let model; @@ -452,7 +453,7 @@ class RecordController extends Controller { return model.fetch({main: true}); }) .then(() => { - let foreignEntityType = model.getLinkParam(link, 'entity'); + const foreignEntityType = model.getLinkParam(link, 'entity'); if (!foreignEntityType) { this.baseController.error404(); @@ -486,10 +487,10 @@ class RecordController extends Controller { throw new Error('No collection for unnamed controller'); } - let entityType = this.entityType || this.name; + const entityType = this.entityType || this.name; if (usePreviouslyFetched && entityType in this.collectionMap) { - let collection = this.collectionMap[entityType]; + const collection = this.collectionMap[entityType]; return Promise.resolve(collection); } @@ -516,7 +517,7 @@ class RecordController extends Controller { throw new Error('No collection for unnamed controller'); } - let modelName = this.entityType || this.name; + const modelName = this.entityType || this.name; return this.modelFactory.create(modelName, model => { if (callback) { diff --git a/client/src/handlers/import.js b/client/src/handlers/import.js index b11fc6e569..525d734753 100644 --- a/client/src/handlers/import.js +++ b/client/src/handlers/import.js @@ -36,7 +36,7 @@ class ImportHandler extends ActionHandler { .postRequest(`Import/${this.view.model.id}/exportErrors`) .then(data => { if (!data.attachmentId) { - let message = this.view.translate('noErrors', 'messages', 'Import'); + const message = this.view.translate('noErrors', 'messages', 'Import'); Espo.Ui.warning(message); diff --git a/client/src/handlers/login/oidc.js b/client/src/handlers/login/oidc.js index ec29e73ade..5609ecb811 100644 --- a/client/src/handlers/login/oidc.js +++ b/client/src/handlers/login/oidc.js @@ -42,12 +42,12 @@ class OidcLoginHandler extends LoginHandler { this.processWithData(data) .then(info => { - let code = info.code; - let nonce = info.nonce; + const code = info.code; + const nonce = info.nonce; - let authString = Base64.encode('**oidc:' + code); + const authString = Base64.encode('**oidc:' + code); - let headers = { + const headers = { 'Espo-Authorization': authString, 'Authorization': 'Basic ' + authString, 'X-Oidc-Authorization-Nonce': nonce, @@ -81,10 +81,10 @@ class OidcLoginHandler extends LoginHandler { * @return {Promise<{code: string, nonce: string}>} */ processWithData(data) { - let state = (Math.random() + 1).toString(36).substring(7); - let nonce = (Math.random() + 1).toString(36).substring(7); + const state = (Math.random() + 1).toString(36).substring(7); + const nonce = (Math.random() + 1).toString(36).substring(7); - let params = { + const params = { client_id: data.clientId, redirect_uri: data.redirectUri, response_type: 'code', @@ -102,12 +102,12 @@ class OidcLoginHandler extends LoginHandler { params.claims = data.claims; } - let partList = Object.entries(params) + const partList = Object.entries(params) .map(([key, value]) => { return key + '=' + encodeURIComponent(value); }); - let url = data.endpoint + '?' + partList.join('&'); + const url = data.endpoint + '?' + partList.join('&'); return this.processWindow(url, state, nonce); } @@ -120,10 +120,10 @@ class OidcLoginHandler extends LoginHandler { * @return {Promise<{code: string, nonce: string}>} */ processWindow(url, state, nonce) { - let proxy = window.open(url, 'ConnectWithOAuth', 'location=0,status=0,width=800,height=800'); + const proxy = window.open(url, 'ConnectWithOAuth', 'location=0,status=0,width=800,height=800'); return new Promise((resolve, reject) => { - let fail = () => { + const fail = () => { window.clearInterval(interval); if (!proxy.closed) { @@ -133,7 +133,7 @@ class OidcLoginHandler extends LoginHandler { reject(); }; - let interval = window.setInterval(() => { + const interval = window.setInterval(() => { if (proxy.closed) { fail(); @@ -153,7 +153,7 @@ class OidcLoginHandler extends LoginHandler { return; } - let parsedData = this.parseWindowUrl(url); + const parsedData = this.parseWindowUrl(url); if (!parsedData) { fail(); @@ -200,7 +200,7 @@ class OidcLoginHandler extends LoginHandler { */ parseWindowUrl(url) { try { - let params = new URL(url).searchParams; + const params = new URL(url).searchParams; return { code: params.get('code'), @@ -209,7 +209,7 @@ class OidcLoginHandler extends LoginHandler { errorDescription: params.get('errorDescription'), }; } - catch(e) { + catch (e) { return null; } } diff --git a/client/src/handlers/select-related/same-account-many.js b/client/src/handlers/select-related/same-account-many.js index e8c8924d3d..a170ba410b 100644 --- a/client/src/handlers/select-related/same-account-many.js +++ b/client/src/handlers/select-related/same-account-many.js @@ -35,7 +35,7 @@ class SameAccountManySelectRelatedHandler extends SelectRelatedHandler { * @return {Promise} */ getFilters(model) { - let advanced = {}; + const advanced = {}; let accountId = null; let accountName = null; @@ -51,7 +51,7 @@ class SameAccountManySelectRelatedHandler extends SelectRelatedHandler { } if (accountId) { - let nameHash = {}; + const nameHash = {}; nameHash[accountId] = accountName; advanced.accounts = { diff --git a/client/src/handlers/select-related/same-account.js b/client/src/handlers/select-related/same-account.js index 9d749529d3..7de592ad7c 100644 --- a/client/src/handlers/select-related/same-account.js +++ b/client/src/handlers/select-related/same-account.js @@ -35,7 +35,7 @@ class SameAccountSelectRelatedHandler extends SelectRelatedHandler { * @return {Promise} */ getFilters(model) { - let advanced = {}; + const advanced = {}; let accountId = null; let accountName = null; @@ -68,4 +68,5 @@ class SameAccountSelectRelatedHandler extends SelectRelatedHandler { } } +// noinspection JSUnusedGlobalSymbols export default SameAccountSelectRelatedHandler; diff --git a/client/src/views/collapsed-modal-bar.js b/client/src/views/collapsed-modal-bar.js index ba19f49b39..32d6fc8200 100644 --- a/client/src/views/collapsed-modal-bar.js +++ b/client/src/views/collapsed-modal-bar.js @@ -61,7 +61,7 @@ class CollapsedModalBar extends View { } getDataList() { - let list = []; + const list = []; let numberList = Espo.Utils.clone(this.numberList); @@ -86,7 +86,7 @@ class CollapsedModalBar extends View { let duplicateNumber = 0; this.numberList.forEach(number => { - let view = this.getModalViewByNumber(number); + const view = this.getModalViewByNumber(number); if (!view) { return; @@ -105,17 +105,17 @@ class CollapsedModalBar extends View { } getModalViewByNumber(number) { - let key = 'key-' + number; + const key = 'key-' + number; return this.getView(key); } addModalView(modalView, options) { - let number = this.lastNumber; + const number = this.lastNumber; this.numberList.push(this.lastNumber); - let key = 'key-' + number; + const key = 'key-' + number; this.createView(key, 'views/collapsed-modal', { title: options.title, @@ -132,7 +132,7 @@ class CollapsedModalBar extends View { // Use timeout to prevent DOM being updated after modal is re-rendered. setTimeout(() => { - let key = 'dialog-' + number; + const key = 'dialog-' + number; this.setView(key, modalView); @@ -149,9 +149,9 @@ class CollapsedModalBar extends View { } removeModalView(number, noReRender) { - let key = 'key-' + number; + const key = 'key-' + number; - let index = this.numberList.indexOf(number); + const index = this.numberList.indexOf(number); if (~index) { this.numberList.splice(index, 1); diff --git a/client/src/views/dashboard.js b/client/src/views/dashboard.js index 976279a174..d1ae0e6d6f 100644 --- a/client/src/views/dashboard.js +++ b/client/src/views/dashboard.js @@ -43,7 +43,7 @@ class DashboardView extends View { events = { /** @this DashboardView */ 'click button[data-action="selectTab"]': function (e) { - let tab = parseInt($(e.currentTarget).data('tab')); + const tab = parseInt($(e.currentTarget).data('tab')); this.selectTab(tab); }, @@ -80,7 +80,7 @@ class DashboardView extends View { setupCurrentTabLayout() { if (!this.dashboardLayout) { - let defaultLayout = [ + const defaultLayout = [ { "name": "My Espo", "layout": [], @@ -105,7 +105,7 @@ class DashboardView extends View { } } - let dashboardLayout = this.dashboardLayout || []; + const dashboardLayout = this.dashboardLayout || []; if (dashboardLayout.length <= this.currentTab) { this.currentTab = 0; @@ -153,7 +153,7 @@ class DashboardView extends View { this.dashletsReadOnly = true; } else { - let forbiddenPreferencesFieldList = this.getAcl() + const forbiddenPreferencesFieldList = this.getAcl() .getScopeForbiddenFieldList('Preferences', 'edit'); if (~forbiddenPreferencesFieldList.indexOf('dashboardLayout')) { @@ -210,14 +210,14 @@ class DashboardView extends View { this.preservedDashletElements = {}; this.currentTabLayout.forEach(o => { - let key = 'dashlet-' + o.id; - let view = this.getView(key); + const key = 'dashlet-' + o.id; + const view = this.getView(key); this.unchainView(key); this.preservedDashletViews[o.id] = view; - let $el = view.$el.children(0); + const $el = view.$el.children(0); this.preservedDashletElements[o.id] = $el; @@ -226,8 +226,8 @@ class DashboardView extends View { } addPreservedDashlet(id) { - let view = this.preservedDashletViews[id]; - let $el = this.preservedDashletElements[id]; + const view = this.preservedDashletViews[id]; + const $el = this.preservedDashletElements[id]; this.$el.find('.dashlet-container[data-id="'+id+'"]').append($el); @@ -253,12 +253,12 @@ class DashboardView extends View { this.$dashboard.empty(); - let $dashboard = this.$dashboard; + const $dashboard = this.$dashboard; $dashboard.addClass('fallback'); this.currentTabLayout.forEach(o => { - let $item = this.prepareFallbackItem(o); + const $item = this.prepareFallbackItem(o); $dashboard.append($item); }); @@ -296,20 +296,20 @@ class DashboardView extends View { fallbackControlHeights() { this.currentTabLayout.forEach(o => { - let $container = this.$dashboard.find('.dashlet-container[data-id="'+o.id+'"]'); + const $container = this.$dashboard.find('.dashlet-container[data-id="' + o.id + '"]'); - let headerHeight = $container.find('.panel-heading').outerHeight(); + const headerHeight = $container.find('.panel-heading').outerHeight(); - let $body = $container.find('.dashlet-body'); + const $body = $container.find('.dashlet-body'); - let bodyEl = $body.get(0); + const bodyEl = $body.get(0); if (!bodyEl) { return; } if (bodyEl.scrollHeight > bodyEl.offsetHeight) { - let height = bodyEl.scrollHeight + headerHeight; + const height = bodyEl.scrollHeight + headerHeight; $container.css('height', height + 'px'); } @@ -327,7 +327,7 @@ class DashboardView extends View { this.$dashboard.empty(); - let $gridstack = this.$gridstack = this.$dashboard; + const $gridstack = this.$gridstack = this.$dashboard; $gridstack.removeClass('fallback'); @@ -343,7 +343,7 @@ class DashboardView extends View { disableResize = true; } - let grid = this.grid = GridStack.init( + const grid = this.grid = GridStack.init( { cellHeight: this.getThemeManager().getParam('dashboardCellHeight') * 1.14, margin: this.getThemeManager().getParam('dashboardCellMargin') / 2, @@ -368,7 +368,7 @@ class DashboardView extends View { grid.removeAll(); this.currentTabLayout.forEach(o => { - let $item = this.prepareGridstackItem(o.id, o.name); + const $item = this.prepareGridstackItem(o.id, o.name); if (!this.getMetadata().get(['dashlets', o.name])) { return; @@ -416,8 +416,8 @@ class DashboardView extends View { // noinspection SpellCheckingInspection this.grid.on('resizestop', e => { - let id = $(e.target).data('id'); - let view = this.getView('dashlet-' + id); + const id = $(e.target).data('id'); + const view = this.getView('dashlet-' + id); if (!view) { return; @@ -429,12 +429,12 @@ class DashboardView extends View { fetchLayout() { this.dashboardLayout[this.currentTab].layout = _.map(this.$gridstack.find('.grid-stack-item'), el => { - let $el = $(el); + const $el = $(el); - let x = $el.attr('gs-x'); - let y = $el.attr('gs-y'); - let h = $el.attr('gs-h'); - let w = $el.attr('gs-w'); + const x = $el.attr('gs-x'); + const y = $el.attr('gs-y'); + const h = $el.attr('gs-h'); + const w = $el.attr('gs-w'); return { id: $el.data('id'), @@ -448,8 +448,8 @@ class DashboardView extends View { } prepareGridstackItem(id, name) { - let $item = $('
').addClass('grid-stack-item'); - let $container = $('
'); + const $item = $('
').addClass('grid-stack-item'); + const $container = $('
'); $container.attr('data-id', id); $container.attr('data-name', name); @@ -463,8 +463,8 @@ class DashboardView extends View { } prepareFallbackItem(o) { - let $item = $('
'); - let $container = $('
'); + const $item = $('
'); + const $container = $('
'); $container.attr('data-id', o.id); $container.attr('data-name', o.name); @@ -507,12 +507,12 @@ class DashboardView extends View { revertToFallback = true; } - let $item = this.$gridstack.find('.grid-stack-item[data-id="'+id+'"]'); + const $item = this.$gridstack.find('.grid-stack-item[data-id="' + id + '"]'); // noinspection JSUnresolvedReference this.grid.removeWidget($item.get(0), true); - let layout = this.dashboardLayout[this.currentTab].layout; + const layout = this.dashboardLayout[this.currentTab].layout; layout.forEach((o, i) => { if (o.id === id) { @@ -520,7 +520,7 @@ class DashboardView extends View { } }); - let o = {}; + const o = {}; o.dashletsOptions = this.getPreferences().get('dashletsOptions') || {}; @@ -535,7 +535,7 @@ class DashboardView extends View { this.getPreferences().save(o, {patch: true}); this.getPreferences().trigger('update'); - let index = this.dashletIdList.indexOf(id); + const index = this.dashletIdList.indexOf(id); if (~index) { this.dashletIdList.splice(index, index); @@ -559,9 +559,9 @@ class DashboardView extends View { revertToFallback = true; } - let id = 'd' + (Math.floor(Math.random() * 1000001)).toString(); + const id = 'd' + (Math.floor(Math.random() * 1000001)).toString(); - let $item = this.prepareGridstackItem(id, name); + const $item = this.prepareGridstackItem(id, name); this.grid.addWidget( $item.get(0), @@ -590,7 +590,7 @@ class DashboardView extends View { } createDashletView(id, name, label, callback) { - let o = { + const o = { id: id, name: name, }; @@ -628,7 +628,7 @@ class DashboardView extends View { } editTabs() { - let dashboardLocked = this.getPreferences().get('dashboardLocked'); + const dashboardLocked = this.getPreferences().get('dashboardLocked'); this.createView('editTabs', 'views/modals/edit-dashboard', { dashboardLayout: this.dashboardLayout, @@ -640,7 +640,7 @@ class DashboardView extends View { this.listenToOnce(view, 'after:save', data => { view.close(); - let dashboardLayout = []; + const dashboardLayout = []; data.dashboardTabList.forEach(name => { let layout = []; @@ -657,7 +657,7 @@ class DashboardView extends View { name = data.renameMap[name]; } - let o = { + const o = { name: name, layout: layout, }; diff --git a/client/src/views/dashlet.js b/client/src/views/dashlet.js index c90d0dfb01..b5d85a3ff5 100644 --- a/client/src/views/dashlet.js +++ b/client/src/views/dashlet.js @@ -100,12 +100,12 @@ class DashletView extends View { } controlDropdownShown($dropdownContainer) { - let $panel = this.$el.children().first(); + const $panel = this.$el.children().first(); - let dropdownBottom = $dropdownContainer.find('.dropdown-menu') + const dropdownBottom = $dropdownContainer.find('.dropdown-menu') .get(0).getBoundingClientRect().bottom; - let panelBottom = $panel.get(0).getBoundingClientRect().bottom; + const panelBottom = $panel.get(0).getBoundingClientRect().bottom; if (dropdownBottom < panelBottom) { return; @@ -124,7 +124,7 @@ class DashletView extends View { this.id = this.options.id; this.on('resize', () => { - let bodyView = this.getView('body'); + const bodyView = this.getView('body'); if (!bodyView) { return; @@ -133,7 +133,7 @@ class DashletView extends View { bodyView.trigger('resize'); }); - let viewName = this.getMetadata().get(['dashlets', this.name, 'view']) || + const viewName = this.getMetadata().get(['dashlets', this.name, 'view']) || 'views/dashlets/' + Espo.Utils.camelCaseToHyphen(this.name); this.createView('body', viewName, { @@ -157,7 +157,7 @@ class DashletView extends View { } actionOptions() { - let optionsView = + const optionsView = this.getMetadata().get(['dashlets', this.name, 'options', 'view']) || this.optionsView || 'views/dashlets/options/base'; @@ -174,7 +174,7 @@ class DashletView extends View { Espo.Ui.notify(false); this.listenToOnce(view, 'save', (attributes) => { - let id = this.id; + const id = this.id; Espo.Ui.notify(this.translate('saving', 'messages')); @@ -187,7 +187,7 @@ class DashletView extends View { this.trigger('change'); }); - let o = this.getPreferences().get('dashletsOptions') || {}; + const o = this.getPreferences().get('dashletsOptions') || {}; o[id] = attributes; diff --git a/client/src/views/edit.js b/client/src/views/edit.js index ea71bd1dab..8d5609bcd6 100644 --- a/client/src/views/edit.js +++ b/client/src/views/edit.js @@ -105,7 +105,7 @@ class EditView extends MainView { * Set up a record. */ setupRecord() { - let o = { + const o = { model: this.model, fullSelector: '#main > .record', scope: this.scope, @@ -116,7 +116,7 @@ class EditView extends MainView { o[option] = this.options[option]; }); - let params = this.options.params || {}; + const params = this.options.params || {}; if (params.rootUrl) { o.rootUrl = params.rootUrl; @@ -140,9 +140,9 @@ class EditView extends MainView { /** @inheritDoc */ getHeader() { - let headerIconHtml = this.getHeaderIconHtml(); - let rootUrl = this.options.rootUrl || this.options.params.rootUrl || '#' + this.scope; - let scopeLabel = this.getLanguage().translate(this.scope, 'scopeNamesPlural'); + const headerIconHtml = this.getHeaderIconHtml(); + const rootUrl = this.options.rootUrl || this.options.params.rootUrl || '#' + this.scope; + const scopeLabel = this.getLanguage().translate(this.scope, 'scopeNamesPlural'); let $root = $('').text(scopeLabel); @@ -163,17 +163,17 @@ class EditView extends MainView { } if (this.model.isNew()) { - let $create = $('').text(this.getLanguage().translate('create')); + const $create = $('').text(this.getLanguage().translate('create')); return this.buildHeaderHtml([$root, $create]); } - let name = this.model.get('name') || this.model.id; + const name = this.model.get('name') || this.model.id; let $name = $('').text(name); if (!this.options.noHeaderLinks) { - let url = '#' + this.scope + '/view/' + this.model.id; + const url = '#' + this.scope + '/view/' + this.model.id; $name = $('') @@ -188,7 +188,7 @@ class EditView extends MainView { /** @inheritDoc */ updatePageTitle() { if (this.model.isNew()) { - let title = this.getLanguage().translate('Create') + ' ' + + const title = this.getLanguage().translate('Create') + ' ' + this.getLanguage().translate(this.scope, 'scopeNames'); this.setPageTitle(title); @@ -196,9 +196,9 @@ class EditView extends MainView { return; } - let name = this.model.get('name'); + const name = this.model.get('name'); - let title = name ? name : this.getLanguage().translate(this.scope, 'scopeNames'); + const title = name ? name : this.getLanguage().translate(this.scope, 'scopeNames'); this.setPageTitle(title); } diff --git a/client/src/views/header.js b/client/src/views/header.js index 5a765409f5..0ff1b6eee6 100644 --- a/client/src/views/header.js +++ b/client/src/views/header.js @@ -35,7 +35,7 @@ class HeaderView extends View { template = 'header' data() { - let data = {}; + const data = {}; if ('getHeader' in this.getParentMainView()) { data.header = this.getParentMainView().getHeader(); @@ -44,7 +44,7 @@ class HeaderView extends View { data.scope = this.scope || this.getParentMainView().scope; data.items = this.getItems(); - let dropdown = (data.items || {}).dropdown || []; + const dropdown = (data.items || {}).dropdown || []; data.hasVisibleDropdownItems = false; @@ -99,8 +99,8 @@ class HeaderView extends View { this.fontSizePercentage = 100; } - let $container = this.$el.find('.header-breadcrumbs'); - let containerWidth = $container.width(); + const $container = this.$el.find('.header-breadcrumbs'); + const containerWidth = $container.width(); let childrenWidth = 0; $container.children().each((i, el) => { @@ -112,8 +112,8 @@ class HeaderView extends View { $container.addClass('overlapped'); this.$el.find('.title').each((i, el) => { - let $el = $(el); - let text = $(el).text(); + const $el = $(el); + const text = $(el).text(); $el.attr('title', text); @@ -139,7 +139,7 @@ class HeaderView extends View { this.fontSizePercentage -= 4; - let $flexible = this.$el.find('.font-size-flexible'); + const $flexible = this.$el.find('.font-size-flexible'); $flexible.css('font-size', this.fontSizePercentage + '%'); $flexible.css('position', 'relative'); diff --git a/client/src/views/home.js b/client/src/views/home.js index 7af32846d1..522e2af9ed 100644 --- a/client/src/views/home.js +++ b/client/src/views/home.js @@ -33,7 +33,7 @@ class HomeView extends View { template = 'home' setup() { - let viewName = this.getMetadata().get(['clientDefs', 'Home', 'view']) || + const viewName = this.getMetadata().get(['clientDefs', 'Home', 'view']) || 'views/dashboard'; this.createView('content', viewName, {selector: '> .home-content'}); diff --git a/client/src/views/list-related.js b/client/src/views/list-related.js index 168a8e1120..76c04aa379 100644 --- a/client/src/views/list-related.js +++ b/client/src/views/list-related.js @@ -266,7 +266,7 @@ class ListRelatedView extends MainView { this.viewMode = this.viewMode || this.defaultViewMode; - let viewModeList = this.options.viewModeList || + const viewModeList = this.options.viewModeList || this.viewModeList || this.getMetadata().get(['clientDefs', this.foreignScope, 'listRelatedViewModeList']); @@ -275,10 +275,10 @@ class ListRelatedView extends MainView { if (this.viewModeList.length > 1) { let viewMode = null; - let modeKey = 'listRelatedViewMode' + this.scope + this.link; + const modeKey = 'listRelatedViewMode' + this.scope + this.link; if (this.getStorage().has('state', modeKey)) { - let storedViewMode = this.getStorage().get('state', modeKey); + const storedViewMode = this.getStorage().get('state', modeKey); if (storedViewMode && this.viewModeList.includes(storedViewMode)) { viewMode = storedViewMode; @@ -342,14 +342,14 @@ class ListRelatedView extends MainView { if (this.panelDefs.filterList) { this.panelDefs.filterList.forEach(item1 => { let isFound = false; - let name1 = item1.name || item1; + const name1 = item1.name || item1; if (!name1 || name1 === 'all') { return; } filterList.forEach(item2 => { - let name2 = item2.name || item2; + const name2 = item2.name || item2; if (name1 === name2) { isFound = true; @@ -408,7 +408,7 @@ class ListRelatedView extends MainView { this.collection.maxSize = this.collectionMaxSize; if (toStore) { - var modeKey = 'listViewMode' + this.scope + this.link; + const modeKey = 'listViewMode' + this.scope + this.link; this.getStorage().set('state', modeKey, mode); } @@ -417,7 +417,7 @@ class ListRelatedView extends MainView { this.getSearchView().setViewMode(mode); } - let methodName = 'setViewMode' + Espo.Utils.upperCaseFirst(this.viewMode); + const methodName = 'setViewMode' + Espo.Utils.upperCaseFirst(this.viewMode); if (this[methodName]) { this[methodName](); @@ -428,9 +428,9 @@ class ListRelatedView extends MainView { * Set up a search manager. */ setupSearchManager() { - let collection = this.collection; + const collection = this.collection; - let searchManager = new SearchManager( + const searchManager = new SearchManager( collection, 'list', null, @@ -478,7 +478,7 @@ class ListRelatedView extends MainView { this.recordView; } - let propertyName = 'record' + Espo.Utils.upperCaseFirst(this.viewMode) + 'View'; + const propertyName = 'record' + Espo.Utils.upperCaseFirst(this.viewMode) + 'View'; return this.getMetadata().get(['clientDefs', this.foreignScope, 'recordViews', this.viewMode]) || this[propertyName]; @@ -554,7 +554,7 @@ class ListRelatedView extends MainView { o.pagination = true; } - let massUnlinkDisabled = this.panelDefs.massUnlinkDisabled || + const massUnlinkDisabled = this.panelDefs.massUnlinkDisabled || this.panelDefs.unlinkDisabled || this.unlinkDisabled; o = { @@ -578,7 +578,7 @@ class ListRelatedView extends MainView { this.prepareRecordViewOptions(o); - let listViewName = this.getRecordViewName(); + const listViewName = this.getRecordViewName(); this.createView('list', listViewName, o, view =>{ if (!this.hasParentView()) { @@ -618,14 +618,14 @@ class ListRelatedView extends MainView { * @protected */ actionQuickCreate() { - let link = this.link; - let foreignScope = this.foreignScope; - let foreignLink = this.model.getLinkParam(link, 'foreign'); + const link = this.link; + const foreignScope = this.foreignScope; + const foreignLink = this.model.getLinkParam(link, 'foreign'); let attributes = {}; - let attributeMap = this.getMetadata() - .get(['clientDefs', this.scope, 'relationshipPanels', link, 'createAttributeMap']) || {}; + const attributeMap = this.getMetadata() + .get(['clientDefs', this.scope, 'relationshipPanels', link, 'createAttributeMap']) || {}; Object.keys(attributeMap) .forEach(attr => { @@ -634,7 +634,7 @@ class ListRelatedView extends MainView { Espo.Ui.notify(' ... '); - let handler = this.getMetadata() + const handler = this.getMetadata() .get(['clientDefs', this.scope, 'relationshipPanels', link, 'createHandler']); (new Promise(resolve => { @@ -654,7 +654,7 @@ class ListRelatedView extends MainView { .then(additionalAttributes => { attributes = {...attributes, ...additionalAttributes}; - let viewName = this.getMetadata() + const viewName = this.getMetadata() .get(['clientDefs', foreignScope, 'modalViews', 'edit']) || 'views/modals/edit'; this.createView('quickCreate', viewName, { @@ -685,7 +685,7 @@ class ListRelatedView extends MainView { * @protected */ actionUnlinkRelated(data) { - let id = data.id; + const id = data.id; this.confirm({ message: this.translate('unlinkRecordConfirmation', 'messages'), @@ -710,11 +710,11 @@ class ListRelatedView extends MainView { * @inheritDoc */ getHeader() { - let name = this.model.get('name') || this.model.id; + const name = this.model.get('name') || this.model.id; - let recordUrl = '#' + this.scope + '/view/' + this.model.id; + const recordUrl = '#' + this.scope + '/view/' + this.model.id; - let $name = + const $name = $('') .attr('href', recordUrl) .addClass('font-size-flexible title') @@ -724,8 +724,8 @@ class ListRelatedView extends MainView { $name.css('text-decoration', 'line-through'); } - let headerIconHtml = this.getHelper().getScopeColorIconHtml(this.foreignScope); - let scopeLabel = this.getLanguage().translate(this.scope, 'scopeNamesPlural'); + const headerIconHtml = this.getHelper().getScopeColorIconHtml(this.foreignScope); + const scopeLabel = this.getLanguage().translate(this.scope, 'scopeNamesPlural'); let $root = $('').text(scopeLabel); @@ -744,7 +744,7 @@ class ListRelatedView extends MainView { $root.prepend(headerIconHtml); } - let $link = $('').text(this.translate(this.link, 'links', this.scope)); + const $link = $('').text(this.translate(this.link, 'links', this.scope)); return this.buildHeaderHtml([ $root, @@ -796,7 +796,7 @@ class ListRelatedView extends MainView { return; } - let $search = this.$el.find('input.text-filter').first(); + const $search = this.$el.find('input.text-filter').first(); if (!$search.length) { return; diff --git a/client/src/views/list-with-categories.js b/client/src/views/list-with-categories.js index 2fb506f11c..c54ca2efad 100644 --- a/client/src/views/list-with-categories.js +++ b/client/src/views/list-with-categories.js @@ -58,7 +58,7 @@ class ListWithCategories extends ListView { nestedCategoriesCollection data() { - let data = {}; + const data = {}; data.hasTree = (this.isExpanded || this.hasNavigationPanel) && !this.categoriesDisabled; data.hasNestedCategories = !this.isExpanded; @@ -78,14 +78,14 @@ class ListWithCategories extends ListView { this.getAcl().check(this.categoryScope, 'edit') || this.getAcl().check(this.categoryScope, 'create'); - let isExpandedByDefault = this.getMetadata() + const isExpandedByDefault = this.getMetadata() .get(['clientDefs', this.categoryScope, 'isExpandedByDefault']) || false; if (isExpandedByDefault) { this.isExpanded = true; } - let isCollapsedByDefault = this.getMetadata() + const isCollapsedByDefault = this.getMetadata() .get(['clientDefs', this.categoryScope, 'isCollapsedByDefault']) || false; if (isCollapsedByDefault) { @@ -119,7 +119,7 @@ class ListWithCategories extends ListView { this.hasNavigationPanel = this.getNavigationPanelStoredValue(); } - let params = this.options.params || {}; + const params = this.options.params || {}; if ('categoryId' in params) { this.currentCategoryId = params.categoryId; @@ -183,7 +183,7 @@ class ListWithCategories extends ListView { } getNavigationPanelStoredValue() { - let value = this.getStorage().get('state', 'categories-navigation-panel-' + this.scope); + const value = this.getStorage().get('state', 'categories-navigation-panel-' + this.scope); return value === 'true' || value === true; } @@ -197,7 +197,7 @@ class ListWithCategories extends ListView { } getIsExpandedStoredValue() { - let value = this.getStorage().get('state', 'categories-expanded-' + this.scope); + const value = this.getStorage().get('state', 'categories-expanded-' + this.scope); return value === 'true' || value === true ; } @@ -303,7 +303,7 @@ class ListWithCategories extends ListView { } selectCurrentCategory() { - let categoriesView = this.getCategoriesView(); + const categoriesView = this.getCategoriesView(); if (categoriesView) { categoriesView.setSelected(this.currentCategoryId); @@ -538,7 +538,7 @@ class ListWithCategories extends ListView { applyCategoryToCollection() { this.collection.whereFunction = () => { let filter; - let isExpanded = this.isExpanded; + const isExpanded = this.isExpanded; if (!isExpanded && !this.hasTextFilter()) { if (this.isCategoryMultiple()) { @@ -598,14 +598,14 @@ class ListWithCategories extends ListView { if (this.isCategoryMultiple()) { if (this.currentCategoryId) { - let names = {}; + const names = {}; names[this.currentCategoryId] = this.getCurrentCategoryName(); data = {}; - let idsAttribute = this.categoryField + 'Ids'; - let namesAttribute = this.categoryField + 'Names'; + const idsAttribute = this.categoryField + 'Ids'; + const namesAttribute = this.categoryField + 'Names'; data[idsAttribute] = [this.currentCategoryId]; data[namesAttribute] = names; @@ -616,8 +616,8 @@ class ListWithCategories extends ListView { return null; } - let idAttribute = this.categoryField + 'Id'; - let nameAttribute = this.categoryField + 'Name'; + const idAttribute = this.categoryField + 'Id'; + const nameAttribute = this.categoryField + 'Name'; data = {}; @@ -656,35 +656,35 @@ class ListWithCategories extends ListView { return super.getHeader(); } - let path = this.nestedCategoriesCollection.path; + const path = this.nestedCategoriesCollection.path; if (!path || path.length === 0) { return super.getHeader(); } - let rootUrl = '#' + this.scope; + const rootUrl = '#' + this.scope; - let $root = $('') + const $root = $('') .attr('href', rootUrl) .addClass('action') .text(this.translate(this.scope, 'scopeNamesPlural')) .addClass('action') .attr('data-action', 'openCategory'); - let list = [$root]; + const list = [$root]; - let currentName = this.nestedCategoriesCollection.categoryData.name; - let upperId = this.nestedCategoriesCollection.categoryData.upperId; - let upperName = this.nestedCategoriesCollection.categoryData.upperName; + const currentName = this.nestedCategoriesCollection.categoryData.name; + const upperId = this.nestedCategoriesCollection.categoryData.upperId; + const upperName = this.nestedCategoriesCollection.categoryData.upperName; if (path.length > 2) { list.push('...'); } if (upperId) { - let url = rootUrl + '/' + 'list/categoryId=' + this.escapeString(upperId); + const url = rootUrl + '/' + 'list/categoryId=' + this.escapeString(upperId); - let $folder = $('') + const $folder = $('') .attr('href', url) .text(upperName) .addClass('action') @@ -695,7 +695,7 @@ class ListWithCategories extends ListView { list.push($folder); } - let $last = $('').text(currentName); + const $last = $('').text(currentName); list.push($last); @@ -716,7 +716,7 @@ class ListWithCategories extends ListView { // noinspection JSUnusedGlobalSymbols actionToggleNavigationPanel() { - let value = !this.hasNavigationPanel; + const value = !this.hasNavigationPanel; this.hasNavigationPanel = value; diff --git a/client/src/views/list.js b/client/src/views/list.js index 251201fd54..3f84e6e648 100644 --- a/client/src/views/list.js +++ b/client/src/views/list.js @@ -129,7 +129,7 @@ class ListView extends MainView { keepCurrentRootUrl = false /** - * A view mode. 'list', 'kanban`. + * A view mode. 'list', 'kanban'. * * @type {string} */ @@ -677,8 +677,9 @@ class ListView extends MainView { getHeader() { const $root = $('') .text(this.getLanguage().translate(this.scope, 'scopeNamesPlural')); + if (this.options.params && this.options.params.fromAdmin) { - let $root = $('') + const $root = $('') .attr('href', '#Admin') .text(this.translate('Administration', 'labels', 'Admin')); @@ -688,7 +689,6 @@ class ListView extends MainView { return this.buildHeaderHtml([$root, $scope]); } - const headerIconHtml = this.getHeaderIconHtml(); if (headerIconHtml) { diff --git a/client/src/views/login.js b/client/src/views/login.js index 0e898a31ec..7940d81a13 100644 --- a/client/src/views/login.js +++ b/client/src/views/login.js @@ -129,7 +129,7 @@ class LoginView extends View { setup() { this.anotherUser = this.options.anotherUser || null; - let loginData = this.getConfig().get('loginData') || {}; + const loginData = this.getConfig().get('loginData') || {}; this.fallback = !!loginData.fallback; this.method = loginData.method; @@ -162,7 +162,7 @@ class LoginView extends View { * @return {string} */ getLogoSrc() { - let companyLogoId = this.getConfig().get('companyLogoId'); + const companyLogoId = this.getConfig().get('companyLogoId'); if (!companyLogoId) { return this.getBasePath() + @@ -208,9 +208,9 @@ class LoginView extends View { login() { let authString; let userName = this.$username.val(); - let password = this.$password.val(); + const password = this.$password.val(); - let trimmedUserName = userName.trim(); + const trimmedUserName = userName.trim(); if (trimmedUserName !== userName) { this.$username.val(trimmedUserName); @@ -237,7 +237,7 @@ class LoginView extends View { throw e; } - let headers = { + const headers = { 'Authorization': 'Basic ' + authString, 'Espo-Authorization': authString, }; @@ -254,7 +254,7 @@ class LoginView extends View { proceed(headers, userName, password) { headers = Espo.Utils.clone(headers); - let initialHeaders = Espo.Utils.clone(headers); + const initialHeaders = Espo.Utils.clone(headers); headers['Espo-Authorization-By-Token'] = 'false'; headers['Espo-Authorization-Create-Token-Secret'] = 'true'; @@ -323,9 +323,9 @@ class LoginView extends View { processEmptyUsername() { this.isPopoverDestroyed = false; - let $el = this.$username; + const $el = this.$username; - let message = this.getLanguage().translate('userCantBeEmpty', 'messages', 'User'); + const message = this.getLanguage().translate('userCantBeEmpty', 'messages', 'User'); $el .popover({ @@ -336,7 +336,7 @@ class LoginView extends View { }) .popover('show'); - let $cell = $el.closest('.form-group'); + const $cell = $el.closest('.form-group'); $cell.addClass('has-error'); @@ -373,7 +373,7 @@ class LoginView extends View { * @param {Object.} data */ onSecondStepRequired(headers, userName, password, data) { - let view = data.view || 'views/login-second-step'; + const view = data.view || 'views/login-second-step'; this.trigger('redirect', view, headers, userName, password, data); } diff --git a/client/src/views/popup-notification.js b/client/src/views/popup-notification.js index cafbc29ab0..7f7103f1f8 100644 --- a/client/src/views/popup-notification.js +++ b/client/src/views/popup-notification.js @@ -44,8 +44,8 @@ class PopupNotificationView extends View { init() { super.init(); - let id = this.options.id; - let containerSelector = this.containerSelector = '#' + id; + const id = this.options.id; + const containerSelector = this.containerSelector = '#' + id; this.setSelector(containerSelector); @@ -57,7 +57,7 @@ class PopupNotificationView extends View { this.on('render', () => { $(containerSelector).remove(); - let className = 'popup-notification-' + Espo.Utils.toDom(this.type); + const className = 'popup-notification-' + Espo.Utils.toDom(this.type); $('
') .attr('id', id) @@ -101,14 +101,14 @@ class PopupNotificationView extends View { return; } - let html = + const html = ''; - let $audio = $(html); + const $audio = $(html); $audio.get(0).volume = 0.3; // noinspection JSUnresolvedReference diff --git a/client/src/views/stream.js b/client/src/views/stream.js index 55b0e7fa5c..0d45ee552f 100644 --- a/client/src/views/stream.js +++ b/client/src/views/stream.js @@ -45,7 +45,7 @@ class StreamView extends View { }, /** @this StreamView */ 'click button[data-action="selectFilter"]': function (e) { - let data = $(e.currentTarget).data(); + const data = $(e.currentTarget).data(); this.actionSelectFilter(data); }, @@ -115,8 +115,8 @@ class StreamView extends View { } actionSelectFilter(data) { - let name = data.name; - let filter = name; + const name = data.name; + const filter = name; let internalFilter = name; @@ -128,7 +128,7 @@ class StreamView extends View { this.setFilter(this.filter); this.filterList.forEach((item) => { - var $el = this.$el.find('.page-header button[data-action="selectFilter"][data-name="'+item+'"]'); + const $el = this.$el.find('.page-header button[data-action="selectFilter"][data-name="' + item + '"]'); if (item === filter) { $el.addClass('active');