Mercurial > lada > lada-client
annotate app/view/widget/base/DateField.js @ 963:6a6f2c6fe8ee
More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
author | Dustin Demuth <dustin@intevation.de> |
---|---|
date | Thu, 12 Nov 2015 12:13:31 +0100 |
parents | 777bf66dbb11 |
children | d6e259e76de6 |
rev | line source |
---|---|
645
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
3 * |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
7 */ |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
8 |
892
777bf66dbb11
even more jsduck... for widgets this time
Dustin Demuth <dustin@intevation.de>
parents:
733
diff
changeset
|
9 /** |
777bf66dbb11
even more jsduck... for widgets this time
Dustin Demuth <dustin@intevation.de>
parents:
733
diff
changeset
|
10 * This Widget extends a Panel in order to create a custom Datefield |
777bf66dbb11
even more jsduck... for widgets this time
Dustin Demuth <dustin@intevation.de>
parents:
733
diff
changeset
|
11 */ |
645
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
12 Ext.define('Lada.view.widget.base.DateField', { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
13 extend: 'Ext.form.Panel', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
14 alias: 'widget.datef', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
15 |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
16 requires: [ |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
17 'Ext.form.field.Date' |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
18 ], |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
19 |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
20 layout: 'hbox', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
21 |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
22 border: 0, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
23 |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
24 margin: '0, 0, 5, 0', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
25 |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
26 initComponent: function() { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
27 this.items = [{ |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
28 xtype: 'datefield', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
29 flex: 1, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
30 name: this.name, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
31 fieldLabel: this.fieldLabel, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
32 labelWidth: this.labelWidth, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
33 listeners: this.listeners, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
34 triggerAction: this.triggerAction, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
35 format: this.format, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
36 msgTarget: 'none', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
37 tpl: this.tpl |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
38 }, { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
39 xtype: 'image', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
40 name: 'warnImg', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
41 src: 'resources/img/dialog-warning.png', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
42 width: 14, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
43 height: 14, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
44 hidden: true |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
45 }, { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
46 xtype: 'image', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
47 name: 'errorImg', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
48 src: 'resources/img/emblem-important.png', |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
49 width: 14, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
50 height: 14, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
51 hidden: true |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
52 }]; |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
53 this.callParent(arguments); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
54 }, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
55 |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
56 showWarnings: function(warnings) { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
57 var img = this.down('image[name=warnImg]'); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
58 Ext.create('Ext.tip.ToolTip', { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
59 target: img.getEl(), |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
60 html: warnings |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
61 }); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
62 this.down('datefield').invalidCls = 'x-lada-warning'; |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
63 this.down('datefield').markInvalid(''); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
64 img.show(); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
65 var fieldset = this.up('fieldset[collapsible=true]'); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
66 if (fieldset) { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
67 var i18n = Lada.getApplication().bundle; |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
68 var warningText = i18n.getMsg(this.name) + ': ' + warnings; |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
69 fieldset.showWarningOrError(true, warningText); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
70 } |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
71 }, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
72 |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
73 showErrors: function(errors) { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
74 var img = this.down('image[name=errorImg]'); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
75 var warnImg = this.down('image[name=warnImg]'); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
76 warnImg.hide(); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
77 Ext.create('Ext.tip.ToolTip', { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
78 target: img.getEl(), |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
79 html: errors |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
80 }); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
81 this.down('datefield').invalidCls = 'x-lada-error'; |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
82 this.down('datefield').markInvalid(''); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
83 img.show(); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
84 var fieldset = this.up('fieldset[collapsible=true]'); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
85 if (fieldset) { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
86 var i18n = Lada.getApplication().bundle; |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
87 var errorText = i18n.getMsg(this.name) + ': ' + errors; |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
88 fieldset.showWarningOrError(false, '', true, errorText); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
89 } |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
90 }, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
91 |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
92 clearWarningOrError: function() { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
93 this.down('image[name=errorImg]').hide(); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
94 this.down('image[name=warnImg]').hide(); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
95 }, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
96 |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
97 getValue: function() { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
98 return this.down('datefield').getValue(); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
99 }, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
100 |
733
a8389baaf4af
Added method to clear values.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
645
diff
changeset
|
101 clearValue: function() { |
a8389baaf4af
Added method to clear values.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
645
diff
changeset
|
102 this.down('datefield').clearValue(); |
a8389baaf4af
Added method to clear values.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
645
diff
changeset
|
103 }, |
a8389baaf4af
Added method to clear values.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
645
diff
changeset
|
104 |
645
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
105 getName: function() { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
106 return this.name; |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
107 }, |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
108 |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
109 setReadOnly: function(value) { |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
110 this.down('datefield').setReadOnly(value); |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
111 } |
422e71708a0c
Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
112 }); |