author | Giulio Cesare Solaroli <giulio.cesare@solaroli.it> | 2011-10-03 16:04:12 (UTC) |
---|---|---|
committer | Giulio Cesare Solaroli <giulio.cesare@solaroli.it> | 2011-10-03 16:04:12 (UTC) |
commit | 541bb378ddece2eab135a8066a16994e94436dea (patch) (unidiff) | |
tree | ff160ea3e26f7fe07fcfd401387c5a0232ca715e /frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldTypeComponent.js | |
parent | 1bf431fd3d45cbdf4afa3e12afefe5d24f4d3bc7 (diff) | |
parent | ecad5e895831337216544e81f1a467e0c68c4a6a (diff) | |
download | clipperz-541bb378ddece2eab135a8066a16994e94436dea.zip clipperz-541bb378ddece2eab135a8066a16994e94436dea.tar.gz clipperz-541bb378ddece2eab135a8066a16994e94436dea.tar.bz2 |
Merge pull request #1 from gcsolaroli/master
First version of the restructured repository
Diffstat (limited to 'frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldTypeComponent.js') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldTypeComponent.js | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldTypeComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldTypeComponent.js new file mode 100644 index 0000000..3bdd093 --- a/dev/null +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldTypeComponent.js | |||
@@ -0,0 +1,157 @@ | |||
1 | /* | ||
2 | |||
3 | Copyright 2008-2011 Clipperz Srl | ||
4 | |||
5 | This file is part of Clipperz's Javascript Crypto Library. | ||
6 | Javascript Crypto Library provides web developers with an extensive | ||
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | ||
11 | refer to http://www.clipperz.com | ||
12 | |||
13 | * Javascript Crypto Library is free software: you can redistribute | ||
14 | it and/or modify it under the terms of the GNU Affero General Public | ||
15 | License as published by the Free Software Foundation, either version | ||
16 | 3 of the License, or (at your option) any later version. | ||
17 | |||
18 | * Javascript Crypto Library is distributed in the hope that it will | ||
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | ||
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
21 | See the GNU Affero General Public License for more details. | ||
22 | |||
23 | * You should have received a copy of the GNU Affero General Public | ||
24 | License along with Javascript Crypto Library. If not, see | ||
25 | <http://www.gnu.org/licenses/>. | ||
26 | |||
27 | */ | ||
28 | |||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | ||
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | ||
31 | if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } | ||
32 | if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } | ||
33 | |||
34 | //############################################################################# | ||
35 | |||
36 | Clipperz.PM.Components.RecordDetail.FieldTypeComponent = function(anElement, args) { | ||
37 | args = args || {}; | ||
38 | |||
39 | Clipperz.PM.Components.RecordDetail.FieldTypeComponent.superclass.constructor.call(this, anElement, args); | ||
40 | |||
41 | this._inputElement = null; | ||
42 | |||
43 | this.render(); | ||
44 | |||
45 | return this; | ||
46 | } | ||
47 | |||
48 | //============================================================================= | ||
49 | |||
50 | YAHOO.extendX(Clipperz.PM.Components.RecordDetail.FieldTypeComponent, Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent, { | ||
51 | |||
52 | 'toString': function() { | ||
53 | return "Clipperz.PM.Components.RecordDetail.FieldTypeComponent component"; | ||
54 | }, | ||
55 | |||
56 | //------------------------------------------------------------------------- | ||
57 | |||
58 | 'inputElement': function() { | ||
59 | return this._inputElement; | ||
60 | }, | ||
61 | |||
62 | 'setInputElement': function(aValue) { | ||
63 | this._inputElement = aValue; | ||
64 | }, | ||
65 | |||
66 | //------------------------------------------------------------------------- | ||
67 | |||
68 | 'value': function() { | ||
69 | return this.recordField().type(); | ||
70 | }, | ||
71 | |||
72 | 'canChangeType': function() { | ||
73 | var value; | ||
74 | var result; | ||
75 | |||
76 | value = this.value(); | ||
77 | result = ((value == 'TXT') || (value == 'PWD') || (value == 'URL') || (value == 'DATE') || (value == 'ADDR')); | ||
78 | |||
79 | return result | ||
80 | }, | ||
81 | |||
82 | //------------------------------------------------------------------------- | ||
83 | |||
84 | 'updateViewMode': function() { | ||
85 | this.element().update(""); | ||
86 | if (this.canChangeType()) { | ||
87 | varwidth; | ||
88 | var element; | ||
89 | |||
90 | width = this.element().getWidth(true); | ||
91 | element = Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'div', html:this.recordField().typeShortDescription()}, true); | ||
92 | element.setWidth(width-1); | ||
93 | } | ||
94 | }, | ||
95 | |||
96 | //------------------------------------------------------------------------- | ||
97 | |||
98 | 'updateEditMode': function() { | ||
99 | this.element().update(""); | ||
100 | |||
101 | if (this.canChangeType()) { | ||
102 | varwidth; | ||
103 | |||
104 | width = this.element().getWidth(true); | ||
105 | this.setInputElement(Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'select', children:[ | ||
106 | {tag:'option', value:'TXT', htmlString:Clipperz.PM.Strings['recordFieldTypologies']['TXT']['shortDescription']}, | ||
107 | {tag:'option', value:'PWD', htmlString:Clipperz.PM.Strings['recordFieldTypologies']['PWD']['shortDescription']}, | ||
108 | {tag:'option', value:'URL', htmlString:Clipperz.PM.Strings['recordFieldTypologies']['URL']['shortDescription']}, | ||
109 | {tag:'option', value:'DATE', htmlString:Clipperz.PM.Strings['recordFieldTypologies']['DATE']['shortDescription']}, | ||
110 | {tag:'option', value:'ADDR', htmlString:Clipperz.PM.Strings['recordFieldTypologies']['ADDR']['shortDescription']} | ||
111 | |||
112 | // {tag:'option', value:'CHECK', html:Clipperz.PM.DataModel.RecordField.TypeDescriptions['CHECK']['shortDescription']}, | ||
113 | // {tag:'option', value:'RADIO', html:Clipperz.PM.DataModel.RecordField.TypeDescriptions['RADIO']['shortDescription']}, | ||
114 | // {tag:'option', value:'CHECK', html:Clipperz.PM.DataModel.RecordField.TypeDescriptions['SELECT']['shortDescription']} | ||
115 | // {tag:'option', value:'NOTE', html:Clipperz.PM.DataModel.RecordField.TypeDescriptions['NOTE']['shortDescription']} | ||
116 | ]}, true)); | ||
117 | this.inputElement().setWidth(width-1); | ||
118 | this.inputElement().addHandler('change', true, this.onChange, this, true); | ||
119 | // this.selectCorrectOption(); | ||
120 | Clipperz.DOM.selectOptionMatchingValue(this.inputElement().dom, this.value()); | ||
121 | } | ||
122 | }, | ||
123 | |||
124 | //------------------------------------------------------------------------- | ||
125 | |||
126 | 'onChange': function() { | ||
127 | this.synchronizeComponentValues(); | ||
128 | this.fieldComponent().valueComponent().handleTypeChange(); | ||
129 | }, | ||
130 | |||
131 | //------------------------------------------------------------------------- | ||
132 | /* | ||
133 | 'selectCorrectOption': function() { | ||
134 | varoptions; | ||
135 | var i,c; | ||
136 | |||
137 | options = this.inputElement().getChildrenByTagName('option'); | ||
138 | c = options.length; | ||
139 | for (i=0; i<c; i++) { | ||
140 | if (options[i].dom.value == this.value()) { | ||
141 | options[i].dom.selected = true; | ||
142 | } | ||
143 | } | ||
144 | }, | ||
145 | */ | ||
146 | //------------------------------------------------------------------------- | ||
147 | |||
148 | 'synchronizeComponentValues': function() { | ||
149 | if (this.inputElement() != null) { | ||
150 | this.recordField().setType(this.inputElement().dom.value); | ||
151 | } | ||
152 | }, | ||
153 | |||
154 | //------------------------------------------------------------------------- | ||
155 | __syntaxFix__: "syntax fix" | ||
156 | }); | ||
157 | |||