Mercurial > lada > lada-client
annotate app/view/proben/List.js @ 436:067ecffac15d
Updated Readme: Added section with hints to minify the app with Sencha cmd.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Mon, 11 Nov 2013 11:22:16 +0100 |
parents | c95c9831675c |
children | debfcc7713e3 |
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 emptyText: 'Keine Proben gefunden.', |
e9229d79e430
Added empty text message to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
30
diff
changeset
|
11 deferEmptyText: false |
e9229d79e430
Added empty text message to the probenlist.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
30
diff
changeset
|
12 }, |
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
|
13 initComponent: function() { |
63
f7d40f8a6902
Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
37
diff
changeset
|
14 this.dockedItems = [ |
f7d40f8a6902
Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
37
diff
changeset
|
15 { |
f7d40f8a6902
Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
37
diff
changeset
|
16 xtype: 'toolbar', |
f7d40f8a6902
Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
37
diff
changeset
|
17 dock: 'top', |
f7d40f8a6902
Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
37
diff
changeset
|
18 items: [ |
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 text: 'Hinzufügen', |
391
d1bb925bb5f5
Use the new icons in list views and status bar.
Raimund Renkert <rrenkert@intevation.de>
parents:
380
diff
changeset
|
21 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
|
22 action: 'add' |
357
94884cd8f8c0
Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
353
diff
changeset
|
23 }, |
94884cd8f8c0
Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
353
diff
changeset
|
24 { |
94884cd8f8c0
Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
353
diff
changeset
|
25 text: 'Import', |
391
d1bb925bb5f5
Use the new icons in list views and status bar.
Raimund Renkert <rrenkert@intevation.de>
parents:
380
diff
changeset
|
26 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
|
27 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
|
28 }, |
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
|
29 { |
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
|
30 text: 'Export', |
391
d1bb925bb5f5
Use the new icons in list views and status bar.
Raimund Renkert <rrenkert@intevation.de>
parents:
380
diff
changeset
|
31 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
|
32 action: 'export' |
63
f7d40f8a6902
Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
37
diff
changeset
|
33 } |
f7d40f8a6902
Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
37
diff
changeset
|
34 ] |
f7d40f8a6902
Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
37
diff
changeset
|
35 } |
f7d40f8a6902
Added toolbar on the top of the proben listing.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
37
diff
changeset
|
36 ]; |
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
|
37 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
|
38 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
|
39 }, |
348
6007d11b81c2
Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
258
diff
changeset
|
40 /** |
6007d11b81c2
Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
258
diff
changeset
|
41 * 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
|
42 * 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
|
43 * select sql event} |
6007d11b81c2
Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
258
diff
changeset
|
44 * @parameter {Array} List of cols to show in the Grid. |
6007d11b81c2
Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
258
diff
changeset
|
45 */ |
249
81aca4dd5f0c
Simpliefied function to reconfigure the table.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
242
diff
changeset
|
46 setupColumns: function(cols) { |
364
d0f5be50aed5
Fixed syntax
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
363
diff
changeset
|
47 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
|
48 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
|
49 |
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
|
50 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
|
51 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
|
52 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
|
53 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
|
54 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
|
55 } |
374
832e3c8f9191
Implemented dynamic ProbelList model. The model will get initialized by the
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
364
diff
changeset
|
56 this.store.model.setFields(mfields); |
249
81aca4dd5f0c
Simpliefied function to reconfigure the table.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
242
diff
changeset
|
57 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
|
58 } |
b8e56e880f02
Added a first example view (userlisting) from the EXJS Tutorial. Need to be
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
59 }); |
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
|
60 |
348
6007d11b81c2
Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
258
diff
changeset
|
61 /** |
6007d11b81c2
Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
258
diff
changeset
|
62 * 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
|
63 * @param {Boolean} flag if the symbol is a readonly symbol. |
6007d11b81c2
Added documentation
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
258
diff
changeset
|
64 */ |
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
|
65 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
|
66 if (value) { |
363
3bed0373cf50
Fixed display of lock and unlock items.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
357
diff
changeset
|
67 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
|
68 } else { |
363
3bed0373cf50
Fixed display of lock and unlock items.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
357
diff
changeset
|
69 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
|
70 } |
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
|
71 } |