annotate app/view/proben/List.js @ 413:e1af66012ef0 0.6

Reverse displayFields Array before configuring the columns of the result list. Now the displayed columns are in the same order as defined in the query configuration file.
author Torsten Irländer <torsten.irlaender@intevation.de>
date Mon, 23 Sep 2013 14:26:09 +0200
parents 4fdc09ebf21d
children c95c9831675c
rev   line source
348
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
1 /*
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
2 * Grid to list Proben
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
3 */
4
b8e56e880f02 Added a first example view (userlisting) from the EXJS Tutorial. Need to be
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
4 Ext.define('Lada.view.proben.List' ,{
b8e56e880f02 Added a first example view (userlisting) from the EXJS Tutorial. Need to be
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
5 extend: 'Ext.grid.Panel',
b8e56e880f02 Added a first example view (userlisting) from the EXJS Tutorial. Need to be
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
6 alias: 'widget.probenlist',
374
832e3c8f9191 Implemented dynamic ProbelList model. The model will get initialized by the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 364
diff changeset
7 store: 'ProbenList',
400
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 391
diff changeset
8 multiSelect: true,
37
e9229d79e430 Added empty text message to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 30
diff changeset
9 viewConfig: {
e9229d79e430 Added empty text message to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 30
diff changeset
10 maxHeight: 350,
e9229d79e430 Added empty text message to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 30
diff changeset
11 emptyText: 'Keine Proben gefunden.',
e9229d79e430 Added empty text message to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 30
diff changeset
12 // minHeight and deferEmptyText are needed to be able to show the
e9229d79e430 Added empty text message to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 30
diff changeset
13 // emptyText message.
e9229d79e430 Added empty text message to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 30
diff changeset
14 minHeight: 35,
e9229d79e430 Added empty text message to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 30
diff changeset
15 deferEmptyText: false
e9229d79e430 Added empty text message to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 30
diff changeset
16 },
4
b8e56e880f02 Added a first example view (userlisting) from the EXJS Tutorial. Need to be
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
17 initComponent: function() {
63
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
18 this.dockedItems = [
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
19 {
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
20 xtype: 'toolbar',
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
21 dock: 'top',
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
22 items: [
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
23 {
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
24 text: 'Hinzufügen',
391
d1bb925bb5f5 Use the new icons in list views and status bar.
Raimund Renkert <rrenkert@intevation.de>
parents: 380
diff changeset
25 icon: 'gfx/list-add.png',
63
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
26 action: 'add'
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 353
diff changeset
27 },
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 353
diff changeset
28 {
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 353
diff changeset
29 text: 'Import',
391
d1bb925bb5f5 Use the new icons in list views and status bar.
Raimund Renkert <rrenkert@intevation.de>
parents: 380
diff changeset
30 icon: 'gfx/svn-commit.png',
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 353
diff changeset
31 action: 'import'
380
eb79d9bf3929 Added an export button to trigger export action for a selected (single) probe
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 374
diff changeset
32 },
eb79d9bf3929 Added an export button to trigger export action for a selected (single) probe
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 374
diff changeset
33 {
eb79d9bf3929 Added an export button to trigger export action for a selected (single) probe
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 374
diff changeset
34 text: 'Export',
391
d1bb925bb5f5 Use the new icons in list views and status bar.
Raimund Renkert <rrenkert@intevation.de>
parents: 380
diff changeset
35 icon: 'gfx/svn-update.png',
380
eb79d9bf3929 Added an export button to trigger export action for a selected (single) probe
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 374
diff changeset
36 action: 'export'
63
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
37 }
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
38 ]
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
39 }
f7d40f8a6902 Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 37
diff changeset
40 ];
238
2a23fcca8ead On Default the proben list will have no columns at all. The are added
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 237
diff changeset
41 this.columns = [];
4
b8e56e880f02 Added a first example view (userlisting) from the EXJS Tutorial. Need to be
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
42 this.callParent(arguments);
239
f57b496b4caa Added function to dynamically add columns to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 238
diff changeset
43 },
348
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
44 /**
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
45 * Setup columns of the Grid dynamically based on a list of given cols.
353
b8bd8d9a93ab Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 348
diff changeset
46 * The function is called from the {@link Lada.controller.Sql#selectSql
348
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
47 * select sql event}
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
48 * @parameter {Array} List of cols to show in the Grid.
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
49 */
249
81aca4dd5f0c Simpliefied function to reconfigure the table.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 242
diff changeset
50 setupColumns: function(cols) {
364
d0f5be50aed5 Fixed syntax
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 363
diff changeset
51 var rcols = [];
374
832e3c8f9191 Implemented dynamic ProbelList model. The model will get initialized by the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 364
diff changeset
52 var mfields = [];
832e3c8f9191 Implemented dynamic ProbelList model. The model will get initialized by the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 364
diff changeset
53
258
62e92e470a1e Fixed Issue44: Show locked or unlocked icon in the first column of the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 249
diff changeset
54 rcols.push({header: 'RW', dataIndex: 'readonly', width: 30, renderer: render_readonly});
374
832e3c8f9191 Implemented dynamic ProbelList model. The model will get initialized by the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 364
diff changeset
55 mfields.push(new Ext.data.Field({name: 'readonly'}));
249
81aca4dd5f0c Simpliefied function to reconfigure the table.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 242
diff changeset
56 for (var i = cols.length - 1; i >= 0; i--){
81aca4dd5f0c Simpliefied function to reconfigure the table.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 242
diff changeset
57 rcols.push(cols[i]);
374
832e3c8f9191 Implemented dynamic ProbelList model. The model will get initialized by the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 364
diff changeset
58 mfields.push(new Ext.data.Field({name: cols[i].dataIndex}));
364
d0f5be50aed5 Fixed syntax
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 363
diff changeset
59 }
374
832e3c8f9191 Implemented dynamic ProbelList model. The model will get initialized by the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 364
diff changeset
60 this.store.model.setFields(mfields);
249
81aca4dd5f0c Simpliefied function to reconfigure the table.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 242
diff changeset
61 this.reconfigure(this.store, rcols);
4
b8e56e880f02 Added a first example view (userlisting) from the EXJS Tutorial. Need to be
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
62 }
b8e56e880f02 Added a first example view (userlisting) from the EXJS Tutorial. Need to be
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
63 });
258
62e92e470a1e Fixed Issue44: Show locked or unlocked icon in the first column of the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 249
diff changeset
64
348
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
65 /**
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
66 * Helper function to render a readonly symbol per row in the grid
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
67 * @param {Boolean} flag if the symbol is a readonly symbol.
6007d11b81c2 Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 258
diff changeset
68 */
258
62e92e470a1e Fixed Issue44: Show locked or unlocked icon in the first column of the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 249
diff changeset
69 function render_readonly (value) {
62e92e470a1e Fixed Issue44: Show locked or unlocked icon in the first column of the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 249
diff changeset
70 if (value) {
363
3bed0373cf50 Fixed display of lock and unlock items.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 357
diff changeset
71 return '<img src="gfx/lock_16x16.png"/>';
258
62e92e470a1e Fixed Issue44: Show locked or unlocked icon in the first column of the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 249
diff changeset
72 } else {
363
3bed0373cf50 Fixed display of lock and unlock items.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 357
diff changeset
73 return '<img src="gfx/unlock_16x16.png"/>';
258
62e92e470a1e Fixed Issue44: Show locked or unlocked icon in the first column of the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 249
diff changeset
74 }
62e92e470a1e Fixed Issue44: Show locked or unlocked icon in the first column of the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 249
diff changeset
75 }

http://lada.wald.intevation.org