TT#9251 Ngcp-csc PBX device adjustments

New [seat|group|device] btns are now disabled when the add/edit panel is visible;
this should prevent the scenarios reported in 9251.
Pls note that this branch is based on https://gerrit.mgm.sipwise.com/#/c/10827/

added:
- reset fix
- device edit scrolling fix
- removed duplicated functions in controller

Change-Id: Ie184f5bfaeee9067cc3c6755c760c4521f565456
changes/44/10844/3
Carlo 8 years ago
parent 0db6ce6221
commit ba6275a9d2

@ -17,14 +17,15 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.devices.DevicesController', {
var newRec = store.insert(0, {
id: Ext.id(),
expanded: true,
status: 'disabled'
status: 'disabled',
newRec: true
})[0];
grid.getPlugin('rowexpander').toggleRow(0, newRec);
grid.getSelectionModel().select(newRec);
destinationsGrid.getStore().removeAll();
this.toggleNewDeviceBtn(false);
form.down('[name=deviceName]').focus();
form.show();
form.down('[name=deviceName]').focus();
},
editDevice: function(id, destination) {
@ -35,8 +36,8 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.devices.DevicesController', {
grid.getSelectionModel().select(selectedRow);
this.deviceSelected();
this.toggleNewDeviceBtn(false);
form.down('[name=deviceName]').focus();
form.show();
form.down('[name=deviceName]').focus();
},
toggleNewDeviceBtn: function(enabled) {
@ -80,7 +81,12 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.devices.DevicesController', {
var form = this.lookupReference('add-new-device');
var grid = this.getView().down('devices-grid');
var store = Ext.getStore('Devices');
store.rejectChanges();
var selectedRec = grid.getSelectionModel().getSelection()[0];
if(selectedRec.get('newRec')){
store.remove(selectedRec)
}else{
selectedRec.reject();
}
grid.getSelectionModel().deselectAll();
this.toggleNewDeviceBtn(true);
form.hide();
@ -93,6 +99,11 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.devices.DevicesController', {
}
var store = Ext.getStore('Devices');
var grid = this.getView().down('devices-grid');
Ext.each(store.getModifiedRecords(), function(rec){
if(rec.get('newRec')){
rec.set('newRec', null);
}
});
store.commitChanges();
grid.getSelectionModel().deselectAll();
this.fireEvent('showmessage', true, Ngcp.csc.locales.common.save_success[localStorage.getItem('languageSelected')]);

@ -14,13 +14,14 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.groups.GroupsController', {
var store = Ext.getStore('Groups');
var newRec = store.insert(0,{
id: Ext.id(),
expanded: true
expanded: true,
newRec:true
})[0];
grid.getPlugin('rowexpander').toggleRow(0, newRec);
grid.getSelectionModel().select(newRec);
this.toggleNewGroupBtn(false);
form.down('[name=groupName]').focus();
form.show();
form.down('[name=groupName]').focus();
},
editGroup: function(id) {
@ -30,8 +31,8 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.groups.GroupsController', {
var selectedRow = store.findRecord('id', id);
grid.getSelectionModel().select(selectedRow);
this.toggleNewGroupBtn(false);
form.down('[name=groupName]').focus();
form.show();
form.down('[name=groupName]').focus();
},
toggleNewGroupBtn: function(enabled) {
@ -53,7 +54,12 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.groups.GroupsController', {
var form = this.lookupReference('add-new-group');
var grid = this.getView().down('groups-grid');
var store = Ext.getStore('Groups');
store.rejectChanges();
var selectedRec = grid.getSelectionModel().getSelection()[0];
if(selectedRec.get('newRec')){
store.remove(selectedRec)
}else{
selectedRec.reject();
}
grid.getSelectionModel().deselectAll();
this.toggleNewGroupBtn(true);
form.hide();
@ -66,6 +72,11 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.groups.GroupsController', {
}
var store = Ext.getStore('Groups');
var grid = this.getView().down('groups-grid');
Ext.each(store.getModifiedRecords(), function(rec){
if(rec.get('newRec')){
rec.set('newRec', null);
}
});
store.commitChanges();
grid.getSelectionModel().deselectAll();
this.fireEvent('showmessage', true, Ngcp.csc.locales.common.save_success[localStorage.getItem('languageSelected')]);

@ -14,7 +14,8 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.seats.SeatsController', {
var store = Ext.getStore('Seats');
var newRec = store.insert(0, {
id: Ext.id(),
expanded: true
expanded: true,
newRec: true
})[0];
grid.getPlugin('rowexpander').toggleRow(0, newRec);
grid.getSelectionModel().select(newRec);
@ -30,8 +31,8 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.seats.SeatsController', {
var selectedRow = store.findRecord('id', id);
grid.getSelectionModel().select(selectedRow);
this.toggleNewSeatBtn(false);
form.down('[name=seatName]').focus();
form.show();
form.down('[name=seatName]').focus();
},
toggleNewSeatBtn: function(enabled) {
@ -53,7 +54,12 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.seats.SeatsController', {
var form = this.lookupReference('add-new-seat');
var grid = this.getView().down('seats-grid');
var store = Ext.getStore('Seats');
store.rejectChanges();
var selectedRec = grid.getSelectionModel().getSelection()[0];
if (selectedRec.get('newRec')) {
store.remove(selectedRec)
} else {
selectedRec.reject();
}
grid.getSelectionModel().deselectAll();
this.toggleNewSeatBtn(true);
form.hide();
@ -66,6 +72,11 @@ Ext.define('NgcpCsc.view.pages.pbxconfig.seats.SeatsController', {
}
var store = Ext.getStore('Seats');
var grid = this.getView().down('seats-grid');
Ext.each(store.getModifiedRecords(), function(rec) {
if (rec.get('newRec')) {
rec.set('newRec', null);
}
});
store.commitChanges();
grid.getSelectionModel().deselectAll();
this.fireEvent('showmessage', true, Ngcp.csc.locales.common.save_success[localStorage.getItem('languageSelected')]);

Loading…
Cancel
Save