From d4df5eedbc6555a48325155f28aa75a093e11c0a Mon Sep 17 00:00:00 2001 From: Carlo Date: Wed, 25 Jan 2017 19:07:45 +0100 Subject: [PATCH] TT#9602 ngcp-csc Adressbook adjustments - save callback - contact layout Change-Id: I21945eecc4afdb8dce502c8d1c773705159fd790 --- app/locales.js | 10 +- .../src/view/pages/addressbook/Addressbook.js | 11 ++- .../addressbook/AddressbookController.js | 11 ++- .../view/pages/addressbook/AddressbookGrid.js | 97 +++++++++---------- 4 files changed, 69 insertions(+), 60 deletions(-) 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')] + ':
{e_mail}

', '

' + Ngcp.csc.locales.addressbook.homepage[localStorage.getItem('languageSelected')] + ':
{homepage}

', '', + '
', + '
', + '
', + '
', + '
', '') }] });