annotate app/view/widget/base/DateField.js @ 990:c2a726887dd7

The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
author Dustin Demuth <dustin@intevation.de>
date Wed, 16 Dec 2015 09:49:09 +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 });

http://lada.wald.intevation.org