From 68cf98a0bb365d21317b01e7b65147b19810553c Mon Sep 17 00:00:00 2001 From: Robert Axelsen Date: Thu, 22 Jun 2017 15:21:42 +0200 Subject: [PATCH] TT#17456 Csc fix CB tooltips and remove themeroller What was done: 1. Tooltip for toggle should say "Allow everything except..."/"Block everything except..." depending on current value 2. Remove theme roller module from menu 3. Also fix tooltip for reminder module toggle button Change-Id: Ia2435f6296d026afca4c7f1543b7f2eaa9e9cb72 --- app/model/Reminder.js | 2 +- app/model/ThemeRoller.js | 15 -- app/store/CallBlocking.js | 2 +- app/store/NavigationTree.js | 7 - app/utils/locales.js | 127 ++++++------- classic/src/view/main/MainController.js | 6 - .../view/pages/callblocking/CallBlocking.js | 2 +- .../callblocking/CallBlockingController.js | 5 +- classic/src/view/pages/reminder/Reminder.js | 7 +- .../view/pages/reminder/ReminderController.js | 2 + .../src/view/pages/themeroller/ThemeRoller.js | 176 ------------------ .../themeroller/ThemeRollerController.js | 66 ------- .../pages/themeroller/ThemeRollerModel.js | 11 -- resources/data/themeroller.json | 10 - 14 files changed, 77 insertions(+), 361 deletions(-) delete mode 100644 app/model/ThemeRoller.js delete mode 100644 classic/src/view/pages/themeroller/ThemeRoller.js delete mode 100644 classic/src/view/pages/themeroller/ThemeRollerController.js delete mode 100644 classic/src/view/pages/themeroller/ThemeRollerModel.js delete mode 100644 resources/data/themeroller.json diff --git a/app/model/Reminder.js b/app/model/Reminder.js index e4902741..ac3159cc 100644 --- a/app/model/Reminder.js +++ b/app/model/Reminder.js @@ -48,6 +48,6 @@ Ext.define('NgcpCsc.model.Reminder', { proxy: { type: 'ngcp-api', route: 'reminders', - params: 'subscriber_id=175' + params: 'subscriber_id=195' } }); diff --git a/app/model/ThemeRoller.js b/app/model/ThemeRoller.js deleted file mode 100644 index 5fba0d92..00000000 --- a/app/model/ThemeRoller.js +++ /dev/null @@ -1,15 +0,0 @@ -Ext.define('NgcpCsc.model.ThemeRoller', { - extend: 'Ext.data.Model', - - fields: ['basecolor', 'fontcolor', 'bodybgcolor', 'fontfamily', 'fontweight', 'fontsize'], - - proxy: { - type: 'ajax', - url: '/resources/data/themeroller.json', - autoLoad: true, - reader: { - type: 'json', - rootProperty: 'data' - } - } -}); diff --git a/app/store/CallBlocking.js b/app/store/CallBlocking.js index 15a71195..4d4474a7 100644 --- a/app/store/CallBlocking.js +++ b/app/store/CallBlocking.js @@ -10,7 +10,7 @@ Ext.define('NgcpCsc.store.CallBlocking', { proxy: { type: 'ngcp-api', route: 'subscriberpreferences', // subscriber id should be read from localStorage - subscriberId: '175', + subscriberId: '195', actionMethods: { read: 'GET', update: 'PATCH' diff --git a/app/store/NavigationTree.js b/app/store/NavigationTree.js index fbcc48cf..0c905cba 100644 --- a/app/store/NavigationTree.js +++ b/app/store/NavigationTree.js @@ -85,13 +85,6 @@ Ext.define('NgcpCsc.store.NavigationTree', { routeId: 'reminder', acl: ['administrator', 'restricted', 'host'], leaf: true - }, { - text: 'Theme Roller', - iconCls: Ngcp.csc.icons.paintbrush, - viewType: 'themeroller', - routeId: 'themeroller', - acl: ['administrator'], - leaf: true }, { text: 'Pbx Config', iconCls: Ngcp.csc.icons.cog, diff --git a/app/utils/locales.js b/app/utils/locales.js index 5f4bcc62..baed3aab 100644 --- a/app/utils/locales.js +++ b/app/utils/locales.js @@ -542,6 +542,56 @@ Ext.define('Ngcp.csc.locales', { fr: 'Enable or disable number', sp: 'Enable or disable number' }, + set_allow_mode: { + incoming: { + on: { + en: 'Set to allow everything except...', + it: 'Set to allow everything except...', + de: 'Set to allow everything except...', + fr: 'Set to allow everything except...', + sp: 'Set to allow everything except...' + }, + off: { + en: 'Set to block everything except...', + it: 'Set to block everything except...', + de: 'Set to block everything except...', + fr: 'Set to block everything except...', + sp: 'Set to block everything except...' + } + }, + outgoing: { + on: { + en: 'Set to allow everything except...', + it: 'Set to allow everything except...', + de: 'Set to allow everything except...', + fr: 'Set to allow everything except...', + sp: 'Set to allow everything except...' + }, + off: { + en: 'Set to block everything except...', + it: 'Set to block everything except...', + de: 'Set to block everything except...', + fr: 'Set to block everything except...', + sp: 'Set to block everything except...' + } + }, + privacy: { + on: { + en: 'Set to show own number', + it: 'Set to show own number', + de: 'Set to show own number', + fr: 'Set to show own number', + sp: 'Set to show own number' + }, + off: { + en: 'Set to hide own number', + it: 'Set to hide own number', + de: 'Set to hide own number', + fr: 'Set to hide own number', + sp: 'Set to hide own number' + } + } + }, delete_number: { en: 'Delete number', it: 'Delete number', @@ -1476,11 +1526,20 @@ Ext.define('Ngcp.csc.locales', { sp: 'Reminder set to active.' }, activate_or_deactivate: { - en: 'Activate or deactivate reminder.', - it: 'Activate or deactivate reminder.', - de: 'Activate or deactivate reminder.', - fr: 'Activate or deactivate reminder.', - sp: 'Activate or deactivate reminder.' + on: { + en: 'Set reminder to active.', + it: 'Set reminder to active.', + de: 'Set reminder to active.', + fr: 'Set reminder to active.', + sp: 'Set reminder to active.' + }, + off: { + en: 'Set reminder to inactive.', + it: 'Set reminder to inactive.', + de: 'Set reminder to inactive.', + fr: 'Set reminder to inactive.', + sp: 'Set reminder to inactive.' + } }, active: { en: 'Active', @@ -1631,64 +1690,6 @@ Ext.define('Ngcp.csc.locales', { sp: 'Choose file' } }, - themeroller: { - title: { - en: 'Theme roller', - it: 'Theme roller', - de: 'Theme roller', - fr: 'Theme roller', - sp: 'Theme roller' - }, - first_section_title: { - en: 'Colors', - it: 'Colors', - de: 'Colors', - fr: 'Colors', - sp: 'Colors' - }, - second_section_title: { - en: 'Fonts', - it: 'Fonts', - de: 'Fonts', - fr: 'Fonts', - sp: 'Fonts' - }, - third_section_title: { - en: 'Logo', - it: 'Logo', - de: 'Logo', - fr: 'Logo', - sp: 'Logo' - }, - font_family: { - en: 'Font family', - it: 'Font family', - de: 'Font family', - fr: 'Font family', - sp: 'Font family' - }, - font_size: { - en: 'Font size', - it: 'Font size', - de: 'Font size', - fr: 'Font size', - sp: 'Font size' - }, - font_weight: { - en: 'Font weight', - it: 'Font weight', - de: 'Font weight', - fr: 'Font weight', - sp: 'Font weight' - }, - logo: { - en: 'Logo', - it: 'Logo', - de: 'Logo', - fr: 'Logo', - sp: 'Logo' - } - }, pbxconfig: { title: { en: 'Pbx Configuration ', diff --git a/classic/src/view/main/MainController.js b/classic/src/view/main/MainController.js index b3d86e87..e6e07e3e 100644 --- a/classic/src/view/main/MainController.js +++ b/classic/src/view/main/MainController.js @@ -215,12 +215,6 @@ Ext.define('NgcpCsc.view.main.MainController', { case 'reminder': title = Ngcp.csc.locales.reminder.title[localStorage.getItem('languageSelected')]; break; - case 'password': - title = Ngcp.csc.locales.password.title[localStorage.getItem('languageSelected')]; - break; - case 'themeroller': - title = Ngcp.csc.locales.themeroller.title[localStorage.getItem('languageSelected')]; - break; case 'pbxconfig/seats': title = Ngcp.csc.locales.pbxconfig.title[localStorage.getItem('languageSelected')] + Ngcp.csc.locales.pbxconfig.seat_title[localStorage.getItem('languageSelected')]; break; diff --git a/classic/src/view/pages/callblocking/CallBlocking.js b/classic/src/view/pages/callblocking/CallBlocking.js index 1e17845d..0e69550c 100644 --- a/classic/src/view/pages/callblocking/CallBlocking.js +++ b/classic/src/view/pages/callblocking/CallBlocking.js @@ -39,7 +39,7 @@ Ext.define('NgcpCsc.view.pages.callblocking.CallBlocking', { xtype: 'panel', html: '
' + '' + Ngcp.csc.locales.callblocking.submodules[submoduleName].prefix[localStorage.getItem('languageSelected')] + '' + - '
' + + '
' + '' + Ngcp.csc.locales.callblocking.submodules[submoduleName].suffix[localStorage.getItem('languageSelected')] + '' + '
', reference: 'modeSwitcher' diff --git a/classic/src/view/pages/callblocking/CallBlockingController.js b/classic/src/view/pages/callblocking/CallBlockingController.js index 7d6df411..ecbcafb4 100644 --- a/classic/src/view/pages/callblocking/CallBlockingController.js +++ b/classic/src/view/pages/callblocking/CallBlockingController.js @@ -31,6 +31,7 @@ Ext.define('NgcpCsc.view.pages.callblocking.CallBlockingController', { store.commitChanges(); this.setVm(store, data); }, + cbStoreBeforeSync: function(store, options) { if (this.getView().getXType() == 'privacy' & store._type !== 'privacy' || this.getView().getXType() == 'incoming' & store._type !== 'block_in_list' || @@ -290,6 +291,7 @@ Ext.define('NgcpCsc.view.pages.callblocking.CallBlockingController', { var vm = this.getViewModel(); var submoduleName = event.getTarget().id.split('-')[1]; var classList = event.target.classList; + var dataset = event.target.dataset; var prefixElementClassList = document.getElementById('toggleTextPrefix-' + submoduleName).classList; var suffixElementClassList = document.getElementById('toggleTextSuffix-' + submoduleName).classList; var vmRecordName = submoduleName + '_block_mode'; @@ -300,6 +302,7 @@ Ext.define('NgcpCsc.view.pages.callblocking.CallBlockingController', { classList.add('fa-toggle-' + newValueToUse); prefixElementClassList.toggle('grey'); suffixElementClassList.toggle('grey'); + dataset.qtip = Ngcp.csc.locales.callblocking.set_allow_mode[submoduleName][newValueToUse][localStorage.getItem('languageSelected')]; switch (newValueToUse) { case ('on'): switch (submoduleName) { @@ -375,7 +378,7 @@ Ext.define('NgcpCsc.view.pages.callblocking.CallBlockingController', { getModeSwitcher: function(submoduleName, submoduleStates) { return '
' + '' + Ngcp.csc.locales.callblocking.submodules[submoduleName].prefix[localStorage.getItem('languageSelected')] + '' + - '' + + '' + // TODO: Cvenusino: Locales is set dynamically without errors, but does not render. Can you please have a look? '' + Ngcp.csc.locales.callblocking.submodules[submoduleName].suffix[localStorage.getItem('languageSelected')] + '' + '
' } diff --git a/classic/src/view/pages/reminder/Reminder.js b/classic/src/view/pages/reminder/Reminder.js index b5d018d2..7a79fcdb 100644 --- a/classic/src/view/pages/reminder/Reminder.js +++ b/classic/src/view/pages/reminder/Reminder.js @@ -38,7 +38,7 @@ Ext.define('NgcpCsc.view.pages.reminder.Reminder', { margin: '0 0 15 0', html: '
' + '' + Ngcp.csc.locales.reminder.active[localStorage.getItem('languageSelected')] + '' + - '
' + + '
' + '' + Ngcp.csc.locales.reminder.inactive[localStorage.getItem('languageSelected')] + '' + '
' }, { @@ -46,7 +46,8 @@ Ext.define('NgcpCsc.view.pages.reminder.Reminder', { layout: 'responsivecolumn', defaults:{ listeners: { - change: 'saveReminder' + change: 'saveReminder', + blur: 'saveReminder' } }, items: [{ @@ -58,7 +59,7 @@ Ext.define('NgcpCsc.view.pages.reminder.Reminder', { minValue: '00:00:00', maxValue: '23:55:00', increment: 5, - editable: false, + editable: true, bind: { value: '{reminder.time}', disabled: '{!reminder.reminder_status}' diff --git a/classic/src/view/pages/reminder/ReminderController.js b/classic/src/view/pages/reminder/ReminderController.js index 7b08b2b3..9dd96965 100644 --- a/classic/src/view/pages/reminder/ReminderController.js +++ b/classic/src/view/pages/reminder/ReminderController.js @@ -45,6 +45,7 @@ Ext.define('NgcpCsc.view.pages.reminder.ReminderController', { toggleReminderActive: function(event) { var vm = this.getViewModel(); var classList = event.target.classList; + var dataset = event.target.dataset; var prefixElementClassList = document.getElementById('toggleTextPrefixReminder').classList; var suffixElementClassList = document.getElementById('toggleTextSuffixReminder').classList; var currentValue = vm.get('reminder.reminder_status'); @@ -56,6 +57,7 @@ Ext.define('NgcpCsc.view.pages.reminder.ReminderController', { classList.add('fa-toggle-' + newFontClassSuffix); prefixElementClassList.toggle('grey'); suffixElementClassList.toggle('grey'); + dataset.qtip = Ngcp.csc.locales.reminder.activate_or_deactivate[newFontClassSuffix][localStorage.getItem('languageSelected')]; this.clickActiveInactiveButton(); } diff --git a/classic/src/view/pages/themeroller/ThemeRoller.js b/classic/src/view/pages/themeroller/ThemeRoller.js deleted file mode 100644 index d3d1e41e..00000000 --- a/classic/src/view/pages/themeroller/ThemeRoller.js +++ /dev/null @@ -1,176 +0,0 @@ -Ext.define('NgcpCsc.view.pages.themeroller.ThemeRoller', { - extend: 'Ext.form.Panel', - - xtype: 'themeroller', - - viewModel: 'themeroller', - - controller: 'themeroller', - - items: [{ - defaults: { - ui: 'core-container', - collapsible: true, - collapsed: false, - layout: 'responsivecolumn', - margin:10, - defaults:{ - padding: 20 - } - }, - items: [{ - title: Ngcp.csc.locales.themeroller.first_section_title[localStorage.getItem('languageSelected')], - items: [{ - userCls: 'big-66 small-100', - items: [{ - xtype: 'container', - defaults: { - width: '100%' - }, - items: [{ - xtype: 'colorfield', - fieldLabel: 'Base color', - bind: '{themeroller.basecolor}', - listeners: { - change: 'applyTheme' - } - }, { - xtype: 'colorselector', - hidden: true - }] - }, { - xtype: 'container', - defaults: { - width: '100%' - }, - items: [{ - xtype: 'colorfield', - fieldLabel: 'Font color', - bind: '{themeroller.fontcolor}', - listeners: { - change: 'applyTheme' - } - }, { - xtype: 'colorselector', - hidden: true - }] - }, { - xtype: 'container', - defaults: { - width: '100%' - }, - items: [{ - xtype: 'colorfield', - fieldLabel: 'Body bgcolor', - bind: '{themeroller.bodybgcolor}', - listeners: { - change: 'applyTheme' - } - }, { - xtype: 'colorselector', - hidden: true - }] - }, { - layout: 'hbox', - margin: '10 0 0 0', - defaults: { - xtype: 'button', - flex: 1 - }, - items: [{ - text: 'reset', - handler: 'resetTheme', - margin: '0 5 0 0' - }, { - text: 'save', - handler: 'saveTheme' - }] - }] - }] - }, { - title: Ngcp.csc.locales.themeroller.second_section_title[localStorage.getItem('languageSelected')], - items: [{ - userCls: 'big-66 small-100', - defaults: { - width: '100%', - listeners: { - change: 'applyTheme' - } - }, - items: [{ - xtype: 'textfield', - fieldLabel: Ngcp.csc.locales.themeroller.font_family[localStorage.getItem('languageSelected')], - bind: '{themeroller.fontfamily}' - }, { - xtype: 'combo', - fieldLabel: Ngcp.csc.locales.themeroller.font_weight[localStorage.getItem('languageSelected')], - bind: '{themeroller.fontweight}', - editable: false, - // left inline until new specs regardng themeroller - store: Ext.create('Ext.data.Store', { - fields: ['id'], - data: [{ - "id": "normal" - }, { - "id": "bold" - }] - }), - valueField: 'id', - displayField: 'id' - }, { - xtype: 'numberfield', - minValue: 6, - editable: false, - bind: '{themeroller.fontsize}', - fieldLabel: Ngcp.csc.locales.themeroller.font_size[localStorage.getItem('languageSelected')] - }, { - layout: 'hbox', - margin: '10 0 0 0', - defaults: { - xtype: 'button', - flex: 1 - }, - items: [{ - text: 'reset', - handler: 'resetTheme', - margin: '0 5 0 0' - }, { - text: 'save', - handler: 'saveTheme' - }] - }] - }] - }, { - title: Ngcp.csc.locales.themeroller.third_section_title[localStorage.getItem('languageSelected')], - items: [{ - userCls: 'big-66 small-100', - defaults: { - width: '100%' - }, - items: [{ - xtype: 'filefield', - fieldLabel: Ngcp.csc.locales.themeroller.logo[localStorage.getItem('languageSelected')], - reference: 'logoField', - listeners: { - change: 'toggleLogo' - } - }, { - layout: 'hbox', - margin: '10 0 0 0', - defaults: { - xtype: 'button', - flex: 1 - }, - items: [{ - text: 'reset', - handler: 'resetTheme', - margin: '0 5 0 0' - }, { - text: 'save', - handler: 'saveTheme' - }] - }] - }] - }] - }] -}); diff --git a/classic/src/view/pages/themeroller/ThemeRollerController.js b/classic/src/view/pages/themeroller/ThemeRollerController.js deleted file mode 100644 index d3ca4568..00000000 --- a/classic/src/view/pages/themeroller/ThemeRollerController.js +++ /dev/null @@ -1,66 +0,0 @@ -Ext.define('NgcpCsc.view.pages.themeroller.ThemeRollerController', { - extend: 'Ext.app.ViewController', - - alias: 'controller.themeroller', - - applyTheme: function() { - var vm = this.getViewModel(); - // defer is needed because binding is slower than change listener callback - Ext.Function.defer(function() { - Fashion.css.setVariables({ - 'base-color': '#' + vm.get('basecolor'), - 'color': '#' + vm.get('fontcolor'), - 'body-background-color': '#' + vm.get('bodybgcolor'), - 'font-family': vm.get('fontfamily'), - 'font-weight': vm.get('fontweight'), - 'font-size': vm.get('fontsize') + 'px', - 'form-field-font-size': vm.get('fontsize') + 'px' - }); - this.getView().updateLayout() - }, 300, this); - }, - - resetTheme: function() { - var vm = this.getViewModel(); - var logoCont = Ext.getCmp('logoContainer'); - var logoField = this.lookupReference('logoField'); - - // TODO use model and model.reset() - vm.setData({ - basecolor: '66A648', - fontcolor: '000', - bodybgcolor: 'fff', - fontfamily: 'Open Sans, Helvetica Neue', - fontweight: 'normal', - fontsize: '13' - }); - - logoCont.removeAll(); - logoField.reset(); - this.applyTheme(); - }, - - toggleLogo: function(field) { - - var logoCont = Ext.getCmp('logoContainer'); - - if (field && field.getValue()) { - var reader = new FileReader(); - var file = field.getEl().down('input[type=file]').dom.files[0]; - - reader.onload = function(e) { - logoCont.removeAll(); - logoCont.add(Ext.create('Ext.Img', { - src: e.target.result - })); - } - - reader.readAsDataURL(file); - } - }, - - saveTheme: function() { - this.fireEvent('showmessage', true, Ngcp.csc.locales.common.save_success[localStorage.getItem('languageSelected')]); - } - -}); diff --git a/classic/src/view/pages/themeroller/ThemeRollerModel.js b/classic/src/view/pages/themeroller/ThemeRollerModel.js deleted file mode 100644 index ec3b4d22..00000000 --- a/classic/src/view/pages/themeroller/ThemeRollerModel.js +++ /dev/null @@ -1,11 +0,0 @@ -Ext.define('NgcpCsc.view.pages.themeroller.ThemeRollerModel', { - extend: 'Ext.app.ViewModel', - alias: 'viewmodel.themeroller', - - links: { - themeroller:{ - type: 'NgcpCsc.model.ThemeRoller', - id: Ext.id() - } - } -}); diff --git a/resources/data/themeroller.json b/resources/data/themeroller.json deleted file mode 100644 index e3eede37..00000000 --- a/resources/data/themeroller.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "data": { - "basecolor": "66A648", - "fontcolor": "000", - "bodybgcolor": "fff", - "fontfamily": "Open Sans, Helvetica Neue", - "fontweight": "normal", - "fontsize": "13" - } -}