annotate app/view/widget/base/DateField.js @ 759:b7484c7da2d4

Unified the Messprogramm windows. Unfortunately the Roweditor of Messmethodengrid is broken in this commit. This is due to the fact that the Mmt store is noit autoloaded anymore
author Dustin Demuth <dustin@intevation.de>
date Thu, 07 May 2015 10:55:44 +0200
parents a8389baaf4af
children 777bf66dbb11
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
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
9 Ext.define('Lada.view.widget.base.DateField', {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
10 extend: 'Ext.form.Panel',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
11 alias: 'widget.datef',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
12
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
13 requires: [
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
14 'Ext.form.field.Date'
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
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
17 layout: 'hbox',
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 border: 0,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
20
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
21 margin: '0, 0, 5, 0',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
22
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
23 initComponent: function() {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
24 this.items = [{
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
25 xtype: 'datefield',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
26 flex: 1,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
27 name: this.name,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
28 fieldLabel: this.fieldLabel,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
29 labelWidth: this.labelWidth,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
30 listeners: this.listeners,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
31 triggerAction: this.triggerAction,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
32 format: this.format,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
33 msgTarget: 'none',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
34 tpl: this.tpl
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
35 }, {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
36 xtype: 'image',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
37 name: 'warnImg',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
38 src: 'resources/img/dialog-warning.png',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
39 width: 14,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
40 height: 14,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
41 hidden: true
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
42 }, {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
43 xtype: 'image',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
44 name: 'errorImg',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
45 src: 'resources/img/emblem-important.png',
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
46 width: 14,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
47 height: 14,
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
48 hidden: true
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
49 }];
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
50 this.callParent(arguments);
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
51 },
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 showWarnings: function(warnings) {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
54 var img = this.down('image[name=warnImg]');
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
55 Ext.create('Ext.tip.ToolTip', {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
56 target: img.getEl(),
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
57 html: warnings
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
58 });
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
59 this.down('datefield').invalidCls = 'x-lada-warning';
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
60 this.down('datefield').markInvalid('');
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
61 img.show();
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
62 var fieldset = this.up('fieldset[collapsible=true]');
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
63 if (fieldset) {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
64 var i18n = Lada.getApplication().bundle;
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
65 var warningText = i18n.getMsg(this.name) + ': ' + warnings;
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
66 fieldset.showWarningOrError(true, warningText);
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
67 }
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
68 },
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
69
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
70 showErrors: function(errors) {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
71 var img = this.down('image[name=errorImg]');
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
72 var warnImg = this.down('image[name=warnImg]');
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
73 warnImg.hide();
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
74 Ext.create('Ext.tip.ToolTip', {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
75 target: img.getEl(),
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
76 html: errors
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
77 });
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
78 this.down('datefield').invalidCls = 'x-lada-error';
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
79 this.down('datefield').markInvalid('');
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
80 img.show();
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
81 var fieldset = this.up('fieldset[collapsible=true]');
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
82 if (fieldset) {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
83 var i18n = Lada.getApplication().bundle;
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
84 var errorText = i18n.getMsg(this.name) + ': ' + errors;
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
85 fieldset.showWarningOrError(false, '', true, errorText);
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
86 }
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
87 },
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
88
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
89 clearWarningOrError: function() {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
90 this.down('image[name=errorImg]').hide();
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
91 this.down('image[name=warnImg]').hide();
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
92 },
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
93
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
94 getValue: function() {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
95 return this.down('datefield').getValue();
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
733
a8389baaf4af Added method to clear values.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 645
diff changeset
98 clearValue: function() {
a8389baaf4af Added method to clear values.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 645
diff changeset
99 this.down('datefield').clearValue();
a8389baaf4af Added method to clear values.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 645
diff changeset
100 },
a8389baaf4af Added method to clear values.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 645
diff changeset
101
645
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
102 getName: function() {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
103 return this.name;
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
104 },
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
105
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
106 setReadOnly: function(value) {
422e71708a0c Ein Datefield Widget hinzugefügt
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
107 this.down('datefield').setReadOnly(value);
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 });

http://lada.wald.intevation.org