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
changes/93/13993/3
Robert Axelsen 8 years ago
parent b8d458bd2f
commit 68cf98a0bb

@ -48,6 +48,6 @@ Ext.define('NgcpCsc.model.Reminder', {
proxy: {
type: 'ngcp-api',
route: 'reminders',
params: 'subscriber_id=175'
params: 'subscriber_id=195'
}
});

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

@ -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'

@ -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,

@ -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 ',

@ -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;

@ -39,7 +39,7 @@ Ext.define('NgcpCsc.view.pages.callblocking.CallBlocking', {
xtype: 'panel',
html: '<div id="toggleBlockCalls-' + submoduleName + '" class="toggle-section">' +
'<span id="toggleTextPrefix-' + submoduleName + '" class="toggle-prefix' + submoduleStates[0] + '">' + Ngcp.csc.locales.callblocking.submodules[submoduleName].prefix[localStorage.getItem('languageSelected')] + '</span>' +
'<div class="toggle-icon" data-callback="toggleBlockCalls"><i id="iconAllowBlock-' + submoduleName + '" class="pointer ' + Ngcp.csc.icons.toggle[submoduleStates[1] + '2x'] + '" aria-hidden="true" data-qtip="' + Ngcp.csc.locales.callblocking.enable_or_disable[localStorage.getItem('languageSelected')] + '"></i></div>' +
'<div class="toggle-icon" data-callback="toggleBlockCalls"><i id="iconAllowBlock-' + submoduleName + '" class="pointer ' + Ngcp.csc.icons.toggle[submoduleStates[1] + '2x'] + '" aria-hidden="true" data-qtip="' + Ngcp.csc.locales.callblocking.set_allow_mode[submoduleName][submoduleStates[1]][localStorage.getItem('languageSelected')] + '"></i></div>' +
'<span id="toggleTextSuffix-' + submoduleName + '" class="toggle-suffix' + submoduleStates[2] + '">' + Ngcp.csc.locales.callblocking.submodules[submoduleName].suffix[localStorage.getItem('languageSelected')] + '</span>' +
'</div>',
reference: 'modeSwitcher'

@ -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 '<div id="toggleBlockCalls-' + submoduleName + '" class="toggle-section" >' +
'<span id="toggleTextPrefix-' + submoduleName + '" class="toggle-prefix' + submoduleStates[0] + '">' + Ngcp.csc.locales.callblocking.submodules[submoduleName].prefix[localStorage.getItem('languageSelected')] + '</span>' +
'<i id="iconAllowBlock-' + submoduleName + '" data-callback="toggleBlockCalls" class="pointer toggle-icon ' + Ngcp.csc.icons.toggle[submoduleStates[1] + '2x'] + '" aria-hidden="true" data-qtip="' + Ngcp.csc.locales.callblocking.enable_or_disable[localStorage.getItem('languageSelected')] + '"></i>' +
'<i id="iconAllowBlock-' + submoduleName + '" data-callback="toggleBlockCalls" class="pointer toggle-icon ' + Ngcp.csc.icons.toggle[submoduleStates[1] + '2x'] + '" aria-hidden="true" data-qtip="' + Ngcp.csc.locales.callblocking.set_allow_mode[submoduleName][submoduleStates[1]][localStorage.getItem('languageSelected')] + '"></i>' + // TODO: Cvenusino: Locales is set dynamically without errors, but does not render. Can you please have a look?
'<span id="toggleTextSuffix-' + submoduleName + '" class="toggle-suffix' + submoduleStates[2] + '">' + Ngcp.csc.locales.callblocking.submodules[submoduleName].suffix[localStorage.getItem('languageSelected')] + '</span>' +
'</div>'
}

@ -38,7 +38,7 @@ Ext.define('NgcpCsc.view.pages.reminder.Reminder', {
margin: '0 0 15 0',
html: '<div id="toggleReminderActive" class="toggle-section">' +
'<span id="toggleTextPrefixReminder" class="toggle-prefix' + submoduleStates[0] + '">' + Ngcp.csc.locales.reminder.active[localStorage.getItem('languageSelected')] + '</span>' +
'<div class="toggle-icon" data-callback="toggleReminderActive"><i id="iconAllowBlock-reminder" class="pointer toggle-icon ' + Ngcp.csc.icons.toggle[submoduleStates[1] + '2x'] + '" aria-hidden="true" data-qtip="' + Ngcp.csc.locales.reminder.activate_or_deactivate[localStorage.getItem('languageSelected')] + '"></i></div>' +
'<div class="toggle-icon" data-callback="toggleReminderActive"><i id="iconAllowBlock-reminder" class="pointer toggle-icon ' + Ngcp.csc.icons.toggle[submoduleStates[1] + '2x'] + '" aria-hidden="true" data-qtip="' + Ngcp.csc.locales.reminder.activate_or_deactivate[submoduleStates[1]][localStorage.getItem('languageSelected')] + '"></i></div>' +
'<span id="toggleTextSuffixReminder" class="toggle-suffix' + submoduleStates[2] + '">' + Ngcp.csc.locales.reminder.inactive[localStorage.getItem('languageSelected')] + '</span>' +
'</div>'
}, {
@ -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}'

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

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

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

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

@ -1,10 +0,0 @@
{
"data": {
"basecolor": "66A648",
"fontcolor": "000",
"bodybgcolor": "fff",
"fontfamily": "Open Sans, Helvetica Neue",
"fontweight": "normal",
"fontsize": "13"
}
}
Loading…
Cancel
Save