summaryrefslogtreecommitdiff
path: root/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldValueComponent.js
Unidiff
Diffstat (limited to 'frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldValueComponent.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldValueComponent.js22
1 files changed, 10 insertions, 12 deletions
diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldValueComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldValueComponent.js
index 8621397..f2c70aa 100644
--- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldValueComponent.js
+++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldValueComponent.js
@@ -1,150 +1,148 @@
1/* 1/*
2 2
3Copyright 2008-2011 Clipperz Srl 3Copyright 2008-2013 Clipperz Srl
4 4
5This file is part of Clipperz Community Edition. 5This file is part of Clipperz, the online password manager.
6Clipperz Community Edition is an online password manager.
7For further information about its features and functionalities please 6For further information about its features and functionalities please
8refer to http://www.clipperz.com. 7refer to http://www.clipperz.com.
9 8
10* Clipperz Community Edition is free software: you can redistribute 9* Clipperz is free software: you can redistribute it and/or modify it
11 it and/or modify it under the terms of the GNU Affero General Public 10 under the terms of the GNU Affero General Public License as published
12 License as published by the Free Software Foundation, either version 11 by the Free Software Foundation, either version 3 of the License, or
13 3 of the License, or (at your option) any later version. 12 (at your option) any later version.
14 13
15* Clipperz Community Edition is distributed in the hope that it will 14* Clipperz is distributed in the hope that it will be useful, but
16 be useful, but WITHOUT ANY WARRANTY; without even the implied 15 WITHOUT ANY WARRANTY; without even the implied warranty of
17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU Affero General Public License for more details. 17 See the GNU Affero General Public License for more details.
19 18
20* You should have received a copy of the GNU Affero General Public 19* You should have received a copy of the GNU Affero General Public
21 License along with Clipperz Community Edition. If not, see 20 License along with Clipperz. If not, see http://www.gnu.org/licenses/.
22 <http://www.gnu.org/licenses/>.
23 21
24*/ 22*/
25 23
26if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } 24if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
27if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } 25if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; }
28if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } 26if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; }
29if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } 27if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; }
30 28
31//############################################################################# 29//#############################################################################
32 30
33Clipperz.PM.Components.RecordDetail.FieldValueComponent = function(anElement, args) { 31Clipperz.PM.Components.RecordDetail.FieldValueComponent = function(anElement, args) {
34 args = args || {}; 32 args = args || {};
35 33
36 Clipperz.PM.Components.RecordDetail.FieldValueComponent.superclass.constructor.call(this, anElement, args); 34 Clipperz.PM.Components.RecordDetail.FieldValueComponent.superclass.constructor.call(this, anElement, args);
37 35
38 this._inputElement = null; 36 this._inputElement = null;
39 this._scrambledStatus = 'SCRAMBLED'; //'UNSCRAMBLED' 37 this._scrambledStatus = 'SCRAMBLED'; //'UNSCRAMBLED'
40 38
41 this.render(); 39 this.render();
42 40
43 return this; 41 return this;
44} 42}
45 43
46//============================================================================= 44//=============================================================================
47 45
48YAHOO.extendX(Clipperz.PM.Components.RecordDetail.FieldValueComponent, Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent, { 46YAHOO.extendX(Clipperz.PM.Components.RecordDetail.FieldValueComponent, Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent, {
49 47
50 'toString': function() { 48 'toString': function() {
51 return "Clipperz.PM.Components.RecordDetail.FieldValueComponent component"; 49 return "Clipperz.PM.Components.RecordDetail.FieldValueComponent component";
52 }, 50 },
53 51
54 //------------------------------------------------------------------------- 52 //-------------------------------------------------------------------------
55 53
56 'value': function() { 54 'value': function() {
57 return this.recordField().value(); 55 return this.recordField().value();
58 }, 56 },
59 57
60 'setValue': function(aValue) { 58 'setValue': function(aValue) {
61 this.recordField().setValue(aValue); 59 this.recordField().setValue(aValue);
62 }, 60 },
63 61
64 //------------------------------------------------------------------------- 62 //-------------------------------------------------------------------------
65 63
66 'inputElement': function() { 64 'inputElement': function() {
67 return this._inputElement; 65 return this._inputElement;
68 }, 66 },
69 67
70 'setInputElement': function(aValue) { 68 'setInputElement': function(aValue) {
71 this._inputElement = aValue; 69 this._inputElement = aValue;
72 }, 70 },
73 71
74 //------------------------------------------------------------------------- 72 //-------------------------------------------------------------------------
75 73
76 'scrambledStatus': function() { 74 'scrambledStatus': function() {
77 return this._scrambledStatus; 75 return this._scrambledStatus;
78 }, 76 },
79 77
80 'setScrambledStatus': function(aValue) { 78 'setScrambledStatus': function(aValue) {
81 this._scrambledStatus = aValue; 79 this._scrambledStatus = aValue;
82 }, 80 },
83 81
84 //------------------------------------------------------------------------- 82 //-------------------------------------------------------------------------
85 83
86 'handleTypeChange': function() { 84 'handleTypeChange': function() {
87//MochiKit.Logging.logDebug(">>> handling type change - " + this.recordField().type()); 85//MochiKit.Logging.logDebug(">>> handling type change - " + this.recordField().type());
88 this.synchronizeComponentValues(); 86 this.synchronizeComponentValues();
89 this.update(); 87 this.update();
90 }, 88 },
91 89
92 //------------------------------------------------------------------------- 90 //-------------------------------------------------------------------------
93 91
94 'addrUrl': function() { 92 'addrUrl': function() {
95 var result; 93 var result;
96 94
97 result = "http://maps.google.com/maps?q=" + this.value().split(' ').join('+'); 95 result = "http://maps.google.com/maps?q=" + this.value().split(' ').join('+');
98 96
99 return result; 97 return result;
100 }, 98 },
101 99
102 //------------------------------------------------------------------------- 100 //-------------------------------------------------------------------------
103 101
104 'updateViewMode': function() { 102 'updateViewMode': function() {
105 var scarmbledStatus; 103 var scarmbledStatus;
106 104
107 scrambledStatus = this.scrambledStatus() || 'SCRAMBLED'; 105 scrambledStatus = this.scrambledStatus() || 'SCRAMBLED';
108 106
109 this.element().update(""); 107 this.element().update("");
110 if (this.recordField().hidden() == false) { 108 if (this.recordField().hidden() == false) {
111 switch(this.recordField().type()) { 109 switch(this.recordField().type()) {
112 case 'TXT': 110 case 'TXT':
113 case 'PWD': 111 case 'PWD':
114 Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'span', html:this.value()}); 112 Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'span', html:this.value()});
115 break; 113 break;
116 case 'URL': 114 case 'URL':
117 varurlLocation; 115 varurlLocation;
118 116
119 urlLocation = Clipperz.Base.sanitizeString(this.value()); 117 urlLocation = Clipperz.Base.sanitizeString(this.value());
120 if (! (/^(https?|ftp|svn):\/\//.test(urlLocation))) { 118 if (! (/^(https?|ftp|svn):\/\//.test(urlLocation))) {
121 urlLocation = 'http://' + urlLocation; 119 urlLocation = 'http://' + urlLocation;
122 } 120 }
123 Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'a', href:urlLocation, html:this.value(), target:'_blank'}); 121 Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'a', href:urlLocation, html:this.value(), target:'_blank'});
124 break; 122 break;
125 case 'DATE': 123 case 'DATE':
126 Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'span', html:this.value()}); 124 Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'span', html:this.value()});
127 break; 125 break;
128 case 'ADDR': 126 case 'ADDR':
129 Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'a', href:this.addrUrl(), html:this.value(), target:'_blank'}); 127 Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'a', href:this.addrUrl(), html:this.value(), target:'_blank'});
130 break; 128 break;
131 } 129 }
132 } else { 130 } else {
133 var tableElement; 131 var tableElement;
134 var tdElement; 132 var tdElement;
135 var inputElement; 133 var inputElement;
136 var passwordElementConfiguration; 134 var passwordElementConfiguration;
137 135
138 if (scrambledStatus == 'SCRAMBLED') { 136 if (scrambledStatus == 'SCRAMBLED') {
139 varscrambledInputElement; 137 varscrambledInputElement;
140 138
141 if ((Clipperz_IEisBroken === true) && (Clipperz.PM.Proxy.defaultProxy.isReadOnly())) { 139 if ((Clipperz_IEisBroken === true) && (Clipperz.PM.Proxy.defaultProxy.isReadOnly())) {
142 scrambledInputElement = {tag:'input', type:'password', value:"this.value()"}; 140 scrambledInputElement = {tag:'input', type:'password', value:"this.value()"};
143 } else { 141 } else {
144 scrambledInputElement = {tag:'input', type:'text', cls:'scrambledField', title:Clipperz.PM.Strings['recordDetailPasswordFieldTooltipLabel'], value:"this.value()"}; 142 scrambledInputElement = {tag:'input', type:'text', cls:'scrambledField', title:Clipperz.PM.Strings['recordDetailPasswordFieldTooltipLabel'], value:"this.value()"};
145 } 143 }
146 144
147 passwordElementConfiguration = 145 passwordElementConfiguration =
148 {tag:'table', border:'0', cellspacing:'2', cellpadding:'0', children:[ 146 {tag:'table', border:'0', cellspacing:'2', cellpadding:'0', children:[
149 {tag:'tbody', children:[ 147 {tag:'tbody', children:[
150 {tag:'tr', children:[ 148 {tag:'tr', children:[