Mercurial > lada > lada-client
annotate app/view/plugin/GridRowExpander.js @ 1293:16a80ca16732
map feature visibility, selection and grid layout
messpunkt layer is now visible per default when in editing mode
on selection in map, the form is updated
ortszuordnung buttons should not render over grid anymore
author | Maximilian Krambach <mkrambach@intevation.de> |
---|---|
date | Wed, 01 Feb 2017 19:38:06 +0100 |
parents | 4a55e665f2d1 |
children |
rev | line source |
---|---|
1110
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 Ext.define('Lada.view.plugin.GridRowExpander', { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 extend: 'Ext.grid.plugin.RowExpander', |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 alias: 'plugin.gridrowexpander', |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 rowBodyTpl: ' ', |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 loadingMessage: '<div class="x-grid-rowbody-loading">Loading...</div>', |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 type: null, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 gridConfig: null, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 constructor: function(config) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 var me = this; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 var tpl = config.rowBodyTpl || me.rowBodyTpl; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 var cmps; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 me.type = config.gridType; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 me.gridConfig = config.gridConfig; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 me.callParent(arguments); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 cmps = me.cmps = new Ext.util.MixedCollection(null, function(o) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 return o.recordId; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 }); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 cmps.on('remove', me.onCmpRemove, me); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 me.rowBodyTpl = new Ext.XTemplate(tpl); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 }, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 init: function(grid) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 var me = this; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 var view = grid.getView(); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 view.processUIEvent = me.createProcessUIEvent(view.processUIEvent); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 me.callParent(arguments); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 }, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 destroy: function() { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 var cmps = this.cmps; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 cmps.removeAll(); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 this.callParent(); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 }, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 onCmpRemove: function(cmp) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 cmp.destroy(); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 }, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 createProcessUIEvent: function(oldFn) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 var grid = this.getCmp(); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 return function(e) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 var me = this; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 var item = e.getTarget(me.dataRowSelector || me.itemSelector, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 me.getTargetEl()); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 var row; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 var eGrid; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 row = Ext.fly(item); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 if (row) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 eGrid = row.up('.x-grid'); // grid el of UI event |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 } |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 if (eGrid && eGrid.id !== grid.el.id) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 if (e.type !== 'contextmenu' && e.type !== 'keydown') { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 e.stopEvent(); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 } |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 return null; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 } |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 return oldFn.apply(me, arguments); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 }; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 }, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 toggleRow: function(rowIdx) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 var me = this; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 var rowNode = me.view.getNode(rowIdx); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 var row = Ext.get(rowNode); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 var nextBd = Ext.get(row).down(this.rowBodyTrSelector); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 var expandDiv = nextBd.down('div.x-grid-rowbody'); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 var record = me.view.getRecord(rowNode); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 if (row.hasCls(me.rowCollapsedCls)) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 row.removeCls(me.rowCollapsedCls); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 nextBd.removeCls(me.rowBodyHiddenCls); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 me.recordsExpanded[record.internalId] = true; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 me.showCmp(expandDiv, record); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 me.view.fireEvent('expandbody', rowNode, record, nextBd.dom); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 } |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 else { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 row.addCls(me.rowCollapsedCls); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 nextBd.addCls(me.rowBodyHiddenCls); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 me.recordsExpanded[record.internalId] = false; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 me.collapseCmp(expandDiv, record); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 me.view.fireEvent('collapsebody', rowNode, record, nextBd.dom); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 } |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 }, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 createCmp: function(record, id, config) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 var me = this; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 var gridConfig = config.gridConfig; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 Ext.apply(gridConfig, { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 recordId: record.get('id'), |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 cls: 'row-expander-grid' |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 }); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 var grid = Ext.create(me.type, gridConfig); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 return grid; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 }, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 showCmp: function(row, record) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 var me = this; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 var cmps = me.cmps; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 var id = record.getObservableId(); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 var idx = cmps.findIndex('recordId', id); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 var cmp = cmps.getAt(idx); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 var gridConfig = me.gridConfig; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
120 if (!cmp) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 row.update(me.loadingMessage); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 cmp = me.cmps.add(me.createCmp(record, id, { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 gridConfig: gridConfig |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 })); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 } |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 row.update(''); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 cmp.render(row); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 }, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 getInnerCmp: function(record) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 return this.cmps.getByKey( |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 record.getObservableId() |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 ); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 }, |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 collapseCmp: function(row, record) { |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 var me = this; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 var cmps = me.cmps; |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 var id = record.getObservableId(); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 var idx = cmps.findIndex('recordId', id); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 var cmp = cmps.getAt(idx); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 cmps.remove(cmp); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 cmp.destroy(); |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 } |
4a55e665f2d1
Added custom row expander for 'grid in grid' expandable rows.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 }); |