141 lines
2.6 KiB
JavaScript
141 lines
2.6 KiB
JavaScript
Ext.define('LabelList', {
|
|
extend: 'Ext.grid.Panel',
|
|
alias: 'widget.labelList',
|
|
|
|
plugins: {
|
|
ptype: 'cellediting',
|
|
clicksToEdit: 1
|
|
},
|
|
|
|
selModel: 'cellmodel',
|
|
|
|
store: {
|
|
field: [
|
|
'prefix',
|
|
'tape_type',
|
|
{
|
|
type: 'integer',
|
|
name: 'start',
|
|
},
|
|
{
|
|
type: 'integer',
|
|
name: 'end',
|
|
},
|
|
],
|
|
data: [],
|
|
},
|
|
|
|
listeners: {
|
|
validateedit: function(editor, context) {
|
|
console.log(context.field);
|
|
console.log(context.value);
|
|
context.record.set(context.field, context.value);
|
|
context.record.commit();
|
|
return true;
|
|
},
|
|
},
|
|
|
|
columns: [
|
|
{
|
|
text: 'Prefix',
|
|
dataIndex: 'prefix',
|
|
flex: 1,
|
|
editor: {
|
|
xtype: 'prefixfield',
|
|
allowBlank: false,
|
|
},
|
|
renderer: function (value, metaData, record) {
|
|
console.log(record);
|
|
if (record.data.mode === 'placeholder') {
|
|
return "-";
|
|
}
|
|
return value;
|
|
},
|
|
},
|
|
{
|
|
text: 'Type',
|
|
dataIndex: 'tape_type',
|
|
flex: 1,
|
|
editor: {
|
|
xtype: 'ltoTapeType',
|
|
allowBlank: false,
|
|
},
|
|
renderer: function (value, metaData, record) {
|
|
console.log(record);
|
|
if (record.data.mode === 'placeholder') {
|
|
return "-";
|
|
}
|
|
return value;
|
|
},
|
|
},
|
|
{
|
|
text: 'Mode',
|
|
dataIndex: 'mode',
|
|
flex: 1,
|
|
editor: {
|
|
xtype: 'ltoLabelStyle',
|
|
allowBlank: false,
|
|
},
|
|
},
|
|
{
|
|
text: 'Start',
|
|
dataIndex: 'start',
|
|
flex: 1,
|
|
editor: {
|
|
xtype: 'numberfield',
|
|
allowBlank: false,
|
|
},
|
|
},
|
|
{
|
|
text: 'End',
|
|
dataIndex: 'end',
|
|
flex: 1,
|
|
editor: {
|
|
xtype: 'numberfield',
|
|
},
|
|
renderer: function(value) {
|
|
if (value === null || value === '' || value === undefined) {
|
|
return "Fill";
|
|
}
|
|
return value;
|
|
},
|
|
},
|
|
{
|
|
xtype: 'actioncolumn',
|
|
width: 75,
|
|
items: [
|
|
{
|
|
tooltip: 'Move Up',
|
|
iconCls: 'fa fa-arrow-up',
|
|
handler: function(grid, rowIndex) {
|
|
if (rowIndex < 1) { return; }
|
|
let store = grid.getStore();
|
|
let record = store.getAt(rowIndex);
|
|
store.removeAt(rowIndex);
|
|
store.insert(rowIndex - 1, record);
|
|
},
|
|
},
|
|
{
|
|
tooltip: 'Move Down',
|
|
iconCls: 'fa fa-arrow-down',
|
|
handler: function(grid, rowIndex) {
|
|
let store = grid.getStore();
|
|
if (rowIndex >= store.getCount()) { return; }
|
|
let record = store.getAt(rowIndex);
|
|
store.removeAt(rowIndex);
|
|
store.insert(rowIndex + 1, record);
|
|
},
|
|
},
|
|
{
|
|
tooltip: 'Delete',
|
|
iconCls: 'fa fa-scissors',
|
|
//iconCls: 'fa critical fa-trash-o',
|
|
handler: function(grid, rowIndex) {
|
|
grid.getStore().removeAt(rowIndex);
|
|
},
|
|
}
|
|
],
|
|
},
|
|
],
|
|
});
|