diff --git a/app/locales.js b/app/locales.js
index 2ac2b43e..84abf8cc 100644
--- a/app/locales.js
+++ b/app/locales.js
@@ -853,11 +853,11 @@ Ext.define('Ngcp.csc.locales', {
sp: 'web'
},
new_contact: {
- en: 'Create new contact',
- it: 'Create new contact',
- de: 'Create new contact',
- fr: 'Create new contact',
- sp: 'Create new contact'
+ en: 'ADD NEW CONTACT',
+ it: 'ADD NEW CONTACT',
+ de: 'ADD NEW CONTACT',
+ fr: 'ADD NEW CONTACT',
+ sp: 'ADD NEW CONTACT'
},
firstname: {
en: 'firstname',
diff --git a/classic/src/view/pages/addressbook/Addressbook.js b/classic/src/view/pages/addressbook/Addressbook.js
index 020511a7..ad5bcefc 100644
--- a/classic/src/view/pages/addressbook/Addressbook.js
+++ b/classic/src/view/pages/addressbook/Addressbook.js
@@ -90,7 +90,7 @@ Ext.define('NgcpCsc.view.pages.addressbook.Addressbook', {
hidden: '{!selection}'
}
}]
- },{
+ }, {
userCls: 'big-70 small-100',
xtype: 'core-container',
items: [{
@@ -102,6 +102,15 @@ Ext.define('NgcpCsc.view.pages.addressbook.Addressbook', {
html: Ext.String.format('
{0} {1}
', Ngcp.csc.locales.addressbook.user_label[localStorage.getItem('languageSelected')], localStorage.getItem('username'))
}, {
xtype: 'addressbook-grid'
+ }, {
+ margin: 10,
+ xtype: 'button',
+ reference: 'addNewBtn',
+ text: Ngcp.csc.locales.addressbook.new_contact[localStorage.getItem('languageSelected')],
+ handler: 'createNewContact',
+ bind: {
+ disabled: '{selection}'
+ }
}]
}]
});
diff --git a/classic/src/view/pages/addressbook/AddressbookController.js b/classic/src/view/pages/addressbook/AddressbookController.js
index 0720b4a1..9d7058f6 100644
--- a/classic/src/view/pages/addressbook/AddressbookController.js
+++ b/classic/src/view/pages/addressbook/AddressbookController.js
@@ -11,6 +11,11 @@ Ext.define('NgcpCsc.view.pages.addressbook.AddressbookController', {
}
},
+ onIconClicked: function(event, el) {
+ // eval is never the best option
+ Ext.Function.defer(eval('this.' + el.dataset.callback), 1, this, [el.id]);
+ },
+
resetChanges: function() {
var grid = this.lookupReference('addressBookGrid');
var store = Ext.getStore('Addressbook');
@@ -52,9 +57,9 @@ Ext.define('NgcpCsc.view.pages.addressbook.AddressbookController', {
return Ngcp.csc.locales.addressbook.company[localStorage.getItem('languageSelected')].toLowerCase();
},
- removeContact: function(grid, rowIndex, colIndex) {
- var store = grid.getStore();
- var rec = grid.getStore().getAt(rowIndex);
+ removeContact: function(id) {
+ var store = Ext.getStore('Addressbook');
+ var rec = store.findRecord('id', id);
store.remove(rec);
this.fireEvent('showmessage', true, Ngcp.csc.locales.common.remove_success[localStorage.getItem('languageSelected')]);
},
diff --git a/classic/src/view/pages/addressbook/AddressbookGrid.js b/classic/src/view/pages/addressbook/AddressbookGrid.js
index c0ecbcb4..48f808db 100644
--- a/classic/src/view/pages/addressbook/AddressbookGrid.js
+++ b/classic/src/view/pages/addressbook/AddressbookGrid.js
@@ -11,54 +11,53 @@ Ext.define('NgcpCsc.view.pages.addressbook.AddressbookGrid', {
listeners: {
afterrender: 'onGridRendered',
- cellclick: 'onCellClicked'
+ cellclick: 'onCellClicked',
+ click: {
+ fn: 'onIconClicked',
+ element: 'el',
+ delegate: 'div.card-icon'
+ }
},
-
tbar: [{
- xtype: 'label',
- text: Ngcp.csc.locales.common.order_by[localStorage.getItem('languageSelected')]
- }, {
- xtype: 'container',
- id: 'group-firstname',
- padding: '0 10 0 0',
- html: Ngcp.csc.locales.addressbook.firstname[localStorage.getItem('languageSelected')],
- cls: 'link',
- listeners: {
- click: {
- element: 'el',
- fn: 'changeGroupField'
- }
+ xtype: 'label',
+ text: Ngcp.csc.locales.common.order_by[localStorage.getItem('languageSelected')]
+ }, {
+ xtype: 'container',
+ id: 'group-firstname',
+ padding: '0 10 0 0',
+ html: Ngcp.csc.locales.addressbook.firstname[localStorage.getItem('languageSelected')],
+ cls: 'link',
+ listeners: {
+ click: {
+ element: 'el',
+ fn: 'changeGroupField'
}
- }, {
- xtype: 'container',
- id: 'group-lastname',
- padding: '0 10 0 0',
- html: Ngcp.csc.locales.addressbook.lastname[localStorage.getItem('languageSelected')],
- cls: 'link no-underline',
- listeners: {
- click: {
- element: 'el',
- fn: 'changeGroupField'
- }
+ }
+ }, {
+ xtype: 'container',
+ id: 'group-lastname',
+ padding: '0 10 0 0',
+ html: Ngcp.csc.locales.addressbook.lastname[localStorage.getItem('languageSelected')],
+ cls: 'link no-underline',
+ listeners: {
+ click: {
+ element: 'el',
+ fn: 'changeGroupField'
}
- }, {
- xtype: 'container',
- id: 'group-company',
- padding: '0 10 0 0',
- renderer: 'renderCompanyGroupText',
- cls: 'link no-underline',
- listeners: {
- click: {
- element: 'el',
- fn: 'changeGroupField'
- }
+ }
+ }, {
+ xtype: 'container',
+ id: 'group-company',
+ padding: '0 10 0 0',
+ renderer: 'renderCompanyGroupText',
+ cls: 'link no-underline',
+ listeners: {
+ click: {
+ element: 'el',
+ fn: 'changeGroupField'
}
- },
- '->', {
- text: Ngcp.csc.locales.addressbook.new_contact[localStorage.getItem('languageSelected')],
- handler: 'createNewContact'
}
- ],
+ }],
columns: {
defaults: {
menuDisabled: true,
@@ -81,15 +80,6 @@ Ext.define('NgcpCsc.view.pages.addressbook.AddressbookGrid', {
}, {
flex: 1,
dataIndex: 'mobile'
- }, {
- xtype: 'actioncolumn',
- width: 30,
- align: 'right',
- items: [{
- glyph: 'xf00d@FontAwesome',
- tooltip: Ngcp.csc.locales.common.delete[localStorage.getItem('languageSelected')],
- handler: 'removeContact'
- }]
}]
},
@@ -114,6 +104,11 @@ Ext.define('NgcpCsc.view.pages.addressbook.AddressbookGrid', {
'' + Ngcp.csc.locales.addressbook.e_mail[localStorage.getItem('languageSelected')] + ':
',
'' + Ngcp.csc.locales.addressbook.homepage[localStorage.getItem('languageSelected')] + ':
',
'',
+ '',
'')
}]
});