Diffstat (limited to 'frontend/beta/js/Clipperz/PM/Components/RecordDetail') (more/less context) (ignore whitespace changes)
17 files changed, 170 insertions, 204 deletions
diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/AbstractComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/AbstractComponent.js index 5b50284..d6fde5c 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/AbstractComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/AbstractComponent.js @@ -1,102 +1,100 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.AbstractComponent = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.AbstractComponent.superclass.constructor.call(this, args); this._element = anElement; this._mainComponent = args.mainComponent; return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.AbstractComponent, Clipperz.PM.Components.BaseComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.AbstractComponent"; }, //------------------------------------------------------------------------- 'mainComponent': function() { return this._mainComponent; }, //------------------------------------------------------------------------- 'record': function() { return this.mainComponent().record(); }, //------------------------------------------------------------------------- 'editMode': function() { return this.mainComponent().editMode(); }, //------------------------------------------------------------------------- 'render': function() { this.element().update(""); this.update(); }, //------------------------------------------------------------------------- 'update': function(anEvent) { if (this.editMode() == 'EDIT') { this.updateEditMode(); } else if (this.editMode() == 'VIEW') { this.updateViewMode(); } }, //------------------------------------------------------------------------- 'updateViewMode': function() {}, 'updateEditMode': function() {}, 'synchronizeComponentValues': function() {}, //------------------------------------------------------------------------- 'destroy': function() { this.element().remove(); }, //------------------------------------------------------------------------- __syntaxFix__: "syntax fix" }); diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/AbstractFieldSubComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/AbstractFieldSubComponent.js index ad733aa..ede42c2 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/AbstractFieldSubComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/AbstractFieldSubComponent.js @@ -1,74 +1,72 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent.superclass.constructor.call(this, anElement, args); this._fieldComponent = args.fieldComponent || null; this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent"; }, //------------------------------------------------------------------------- 'fieldComponent': function() { return this._fieldComponent; }, //------------------------------------------------------------------------- 'mainComponent': function() { return this.fieldComponent().mainComponent(); }, //------------------------------------------------------------------------- 'recordField': function() { return this.fieldComponent().recordField(); }, //------------------------------------------------------------------------- __syntaxFix__: "syntax fix" }); diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/CreationWizard.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/CreationWizard.js index d4c7837..c703db4 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/CreationWizard.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/CreationWizard.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.CreationWizard = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.CreationWizard.superclass.constructor.call(this, anElement, args); this._mainComponent = args.mainComponent; this._previouslySelectedRecord = args.previouslySelectedRecord; //MochiKit.Logging.logDebug("--- new CreationWizard - previouslySelectedRecord: " + args.previouslySelectedRecord); this._createButton_header = null; this._createButton_footer = null; this._cancelButton_header = null; this._cancelButton_footer = null; this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.CreationWizard, Clipperz.PM.Components.BaseComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.CreationWizard component"; }, //------------------------------------------------------------------------- 'previouslySelectedRecord': function() { return this._previouslySelectedRecord; }, //------------------------------------------------------------------------- 'render': function() { var templateListElement; var templates; this.element().update(""); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'form', cls:'recordDataFORM', id:this.getId('form'), children:[ {tag:'div', id:'recordDetailDataBox', cls:'recordDetailDataBox', children:[ {tag:'div', id:this.getId('wizardBox'), cls:'recordCreationWizard', children:[ {tag:'div', id:this.getId('recordCreationWizardTitleBox'), cls:'recordCreationWizardTitleBox', htmlString:Clipperz.PM.Strings['newRecordWizardTitleBox']}, {tag:'ul', id:this.getId('templateList'), cls:'radioList'} ]} ]} ]} ); Clipperz.YUI.DomHelper.append(this.getDom('recordCreationWizardTitleBox'), {tag:'div', cls:'newRecordWizardHeader', children:[ {tag:'table', width:'100%', cellpadding:'5', children:[ {tag:'tbody', children:[ {tag:'tr', children:[ {tag:'td', width:'49%', align:'right', children:[ {tag:'div', id:this.getId('cancelButton_header')} ]}, {tag:'td', width:'10', html:' '}, {tag:'td', width:'49%', align:'left', children:[ {tag:'div', id:this.getId('createButton_header')} ]} ]} ]} ]} ]}); templateListElement = this.getElement('templateList'); templates = Clipperz.PM.Strings['recordTemplates']; MochiKit.Iter.forEach(MochiKit.Base.keys(templates), MochiKit.Base.bind(function(aTemplateKey) { Clipperz.YUI.DomHelper.append(templateListElement.dom, {tag:'li', children:[ {tag:'table', children:[ {tag:'tbody', children:[ {tag:'tr', children:[ {tag:'td', valign:'top', children:[ {tag:'input', id:this.getId(aTemplateKey+"_radio"), type:'radio', name:'recordTemplate', value:"aTemplateKey"} ]}, {tag:'td', valign:'top', children:[ {tag:'h4', id:this.getId(aTemplateKey+"_title"), html:templates[aTemplateKey]['title']}, {tag:'div', cls:'templateDescription', htmlString:templates[aTemplateKey]['description']} ]} ]} ]} ]} ]}); diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginBindingComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginBindingComponent.js index 36dd9a8..0e4640e 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginBindingComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginBindingComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.DirectLoginBindingComponent = function(anElement, args) { //MochiKit.Logging.logDebug(">>> new DirectLoginBindingComponent"); args = args || {}; Clipperz.PM.Components.RecordDetail.DirectLoginBindingComponent.superclass.constructor.call(this, anElement, args); this._directLoginBinding = args.directLoginBinding || null; this.render(); Clipperz.NotificationCenter.register(this.record(), 'addNewRecordField', this, 'syncAndUpdateEditMode'); Clipperz.NotificationCenter.register(this.record(), 'removedField', this, 'syncAndUpdateEditMode'); Clipperz.NotificationCenter.register(this.record(), 'updatedFieldLabel', this, 'syncAndUpdateEditMode'); //MochiKit.Logging.logDebug("<<< new DirectLoginBindingComponent"); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.DirectLoginBindingComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.DirectLoginBindingComponent component"; }, //------------------------------------------------------------------------- 'directLoginBinding': function() { return this._directLoginBinding; }, //------------------------------------------------------------------------- 'render': function() { // Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'span', style:'font-weight:bold;', html:this.directLoginBinding().key()}) // Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'span', html:this.directLoginBinding().value()}) //MochiKit.Logging.logDebug(">>> DirectLoginBindingComponent.render"); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'td', cls:'directLoginBindingLabelTD', children:[ {tag:'span', html:this.directLoginBinding().key()} ]}); //MochiKit.Logging.logDebug("--- DirectLoginBindingComponent.render - 1"); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'td', cls:'directLoginBindingValueTD', children:[ {tag:'div', id:this.getId('editModeBox'), children:[ {tag:'select', id:this.getId('select'), children:this.recordFieldOptions()} ]}, {tag:'div', id:this.getId('viewModeBox'), children:[ {tag:'span', id:this.getId('viewValue'), html:""} ]} ]}); //MochiKit.Logging.logDebug("--- DirectLoginBindingComponent.render - 2"); this.getElement('editModeBox').setVisibilityMode(YAHOO.ext.Element.DISPLAY); this.getElement('viewModeBox').setVisibilityMode(YAHOO.ext.Element.DISPLAY); this.update(); //MochiKit.Logging.logDebug("<<< DirectLoginBindingComponent.render"); }, //------------------------------------------------------------------------- 'recordFieldOptions': function() { var result; var option; var recordFieldKey; var recordFields; //MochiKit.Logging.logDebug(">>> DirectLoginBindingComponent.recordFieldOptions"); recordFields = this.directLoginBinding().directLogin().record().currentVersion().fields(); result = []; option = {tag:'option', value:null, html:'---'}; result.push(option); for (recordFieldKey in recordFields) { // TODO: remove the value: field and replace it with element.dom.value = <some value> option = {tag:'option', value:recordFieldKey, html:recordFields[recordFieldKey].label()} if (recordFieldKey == this.directLoginBinding().fieldKey()) { option['selected'] = true; } result.push(option); } //MochiKit.Logging.logDebug("<<< DirectLoginBindingComponent.recordFieldOptions"); return result; }, //------------------------------------------------------------------------- 'syncAndUpdateEditMode': function() { diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js index 69cad79..883c45c 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.DirectLoginComponent = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.DirectLoginComponent.superclass.constructor.call(this, anElement, args); this._directLogin = args.directLogin || null; // this._titleElement = null; this._structureElement = null; this._removeButton = null; this._directLoginBindingComponents = null; this._collapser = null; this.mainComponent().addEditComponent(this); this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.DirectLoginComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.DirectLoginComponent component"; }, //------------------------------------------------------------------------- 'directLogin': function() { return this._directLogin; }, 'directLoginBindingComponents': function() { return this._directLoginBindingComponents; }, //------------------------------------------------------------------------- 'removeDirectLogin': function() { //MochiKit.Logging.logDebug(">>> DirectLoginComponent.removeDirectLogin"); this.mainComponent().synchronizeComponentValues(); this.directLogin().remove(); this.mainComponent().removeEditComponent(this); this.mainComponent().render(); //MochiKit.Logging.logDebug("<<< DirectLoginComponent.removeDirectLogin"); }, //------------------------------------------------------------------------- /* 'formDataValue': function() { return Clipperz.Base.serializeJSON(this.directLogin().formData()); }, 'setFormDataValue': function(aValue) { }, */ //------------------------------------------------------------------------- 'removeButton': function() { return this._removeButton; }, 'setRemoveButton': function(aValue) { this._removeButton = aValue; }, //------------------------------------------------------------------------- /* 'titleElement': function() { return this._titleElement; }, 'setTitleElement': function(aValue) { this._titleElement = aValue; }, */ //------------------------------------------------------------------------- 'structureElement': function() { return this._structureElement; }, 'setStructureElement': function(aValue) { this._structureElement = aValue; }, diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginValueComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginValueComponent.js index d210100..b478d94 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginValueComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginValueComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.DirectLoginValueComponent = function(anElement, args) { //MochiKit.Logging.logDebug(">>> new DirectLoginValueComponent"); args = args || {}; Clipperz.PM.Components.RecordDetail.DirectLoginValueComponent.superclass.constructor.call(this, anElement, args); this._directLoginInputValue = args.directLoginInputValue || null; this._value = this.directLoginInputValue().directLogin().formValues()[this.directLoginInputValue().name()]; this.render(); //MochiKit.Logging.logDebug("<<< new DirectLoginValueComponent - record: " + this.record()); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.DirectLoginValueComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.DirectLoginValueComponent component - " + this.directLoginInputValue().name(); }, //------------------------------------------------------------------------- 'directLoginInputValue': function() { return this._directLoginInputValue; }, //------------------------------------------------------------------------- 'render': function() { //MochiKit.Logging.logDebug(">>> DirectLoginValueComponent.render"); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'td', cls:'directLoginDataLabelTD', children:[ {tag:'span', html:this.directLoginInputValue().name()} ]}); //MochiKit.Logging.logDebug("--- DirectLoginValueComponent.render - 1"); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'td', cls:'directLoginDataValueTD', children:[ {tag:'span', id:this.getId('inputElement')} ]}); //MochiKit.Logging.logDebug("--- DirectLoginValueComponent.render - 2"); this.update(); //MochiKit.Logging.logDebug("<<< DirectLoginValueComponent.render"); }, //------------------------------------------------------------------------- 'inputElementConfiguration': function() { var result; var currentValue; //MochiKit.Logging.logDebug(">>> DirectLoginValueComponent.inputElementConfiguration - " + this.directLoginInputValue().name()); result = []; currentValue = this.value(); switch (this.directLoginInputValue().type()) { case 'checkbox': var checkbox; //{"type":"checkbox", "name":"rememberUsernameChk", "value":"checkbox"} checkbox = {tag:'input', id:this.getId('checkbox'), type:'checkbox'} if (currentValue == true) { checkbox.checked = true; } result.push(checkbox); break; case 'select': var input; //{"type":"select", "name":"DOMAIN", "options":[{"selected":true, "label":"@tin.it", "value":"tin.it"}, {"selected":false, "label":"@virgilio.it", "value":"virgilio.it"}]} input = {tag:'select', id:this.getId('select'), name:this.directLoginInputValue().name(), children:[]}; input.children.push({tag:'option', value:null, html:"---"}); MochiKit.Iter.forEach(this.directLoginInputValue().args()['options'], function(anOption) { var option; // TODO: remove the value: field and replace it with element.dom.value = <some value> option = {tag:'option', value:anOption['value'], html:anOption['label']} if (currentValue == anOption['value']) { option.selected = true; } input.children.push(option); }) result.push(input); break; case 'radio': var name; diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginsComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginsComponent.js index 1396bd8..878adce 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginsComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginsComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.DirectLoginsComponent = function(anElement, args) { //MochiKit.Logging.logDebug(">>> new Clipperz.PM.Components.RecordDetail.DirectLoginsComponent"); args = args || {}; //MochiKit.Logging.logDebug("--- new Clipperz.PM.Components.RecordDetail.DirectLoginsComponent - 0"); Clipperz.PM.Components.RecordDetail.DirectLoginsComponent.superclass.constructor.call(this, anElement, args); //MochiKit.Logging.logDebug("--- new Clipperz.PM.Components.RecordDetail.DirectLoginsComponent - 1"); this._addDirectLoginButton = null; //MochiKit.Logging.logDebug("--- new Clipperz.PM.Components.RecordDetail.DirectLoginsComponent - 2"); this.mainComponent().addEditComponent(this); //MochiKit.Logging.logDebug("--- new Clipperz.PM.Components.RecordDetail.DirectLoginsComponent - 3"); this.render(); //MochiKit.Logging.logDebug("<<< new Clipperz.PM.Components.RecordDetail.DirectLoginsComponent"); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.DirectLoginsComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.DirectLoginsComponent component"; }, //------------------------------------------------------------------------- 'addDirectLoginButton': function() { return this._addDirectLoginButton; }, 'setAddDirectLoginButton': function(aValue) { this._addDirectLoginButton = aValue; }, //------------------------------------------------------------------------- 'render': function() { this.element().update(""); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'div', cls:'directLoginsRecordBox', children:[ {tag:'h3', htmlString:Clipperz.PM.Strings['recordDetailDirectLoginBlockTitle']}, {tag:'ul', id:this.getId('directLogins')}, {tag:'div', cls:'addDirectLoginBox', id:this.getId('addDirectLogin'), children:[ {tag:'div', cls:'addDirectLoginBoxContent', children:[ {tag:'div', cls:'bookmarkletConfiguration', children:[ // {tag:'span', htmlString:Clipperz.PM.Strings['newRecordWizardBookmarkletConfigurationLabel']}, {tag:'div', htmlString:Clipperz.PM.Strings['recordDetailNewDirectLoginDescription']}, {tag:'textarea', id:this.getId('addDirectLoginTextarea')} ]}, {tag:'div', id:this.getId('addDirectLoginButton')} ]} ]} ]} ); if (MochiKit.Base.keys(this.record().directLogins()).length == 0) { //MochiKit.Logging.logDebug("--- DirectLoginsComponent.render - 3"); Clipperz.YUI.DomHelper.append(this.getElement('directLogins'), {tag:'li', children:[ // {tag:'span', htmlString:Clipperz.PM.Strings['recordDetailDirectLoginBlockNoDirectLoginConfiguredLabel']} {tag:'div', cls:'recordDetailNoDirectLoginDescriptionBox', htmlString:Clipperz.PM.Strings['recordDetailDirectLoginBlockNoDirectLoginConfiguredDescription']} ]} ); //MochiKit.Logging.logDebug("--- DirectLoginsComponent.render - 4"); } else { //MochiKit.Logging.logDebug("--- DirectLoginsComponent.render - 5"); for (directLoginReference in this.record().directLogins()) { //MochiKit.Logging.logDebug("--- DirectLoginsComponent.render - 6"); this.addDirectLogin(this.record().directLogins()[directLoginReference]); //MochiKit.Logging.logDebug("--- DirectLoginsComponent.render - 7"); } //MochiKit.Logging.logDebug("--- DirectLoginsComponent.render - 8"); } //MochiKit.Logging.logDebug("--- DirectLoginsComponent.render - 9"); this.setAddDirectLoginButton(new YAHOO.ext.Button(this.getDom('addDirectLoginButton'), { text:Clipperz.PM.Strings['recordDetailAddNewDirectLoginButtonLabel'], handler:this.addNewDirectLogin, scope:this })); MochiKit.Signal.connect(this.getId('addDirectLoginTextarea'), 'onkeydown', this, 'onkeydown'); diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldButtonComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldButtonComponent.js index b79c365..661f94d 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldButtonComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldButtonComponent.js @@ -1,114 +1,112 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.FieldButtonComponent = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.FieldButtonComponent.superclass.constructor.call(this, anElement, args); this._button = null; this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.FieldButtonComponent, Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.FieldButtonComponent"; }, //------------------------------------------------------------------------- 'buttonText': function() { var result; if (this.recordField() == null) { // TODO: this is never used. It is just an obsolete legacy chunk of code result = Clipperz.PM.Strings['recordDetailAddFieldButtonLabel']; } else { result = Clipperz.PM.Strings['recordDetailRemoveFieldButtonLabel']; } return result; }, //------------------------------------------------------------------------- 'button': function() { return this._button; }, 'setButton': function(aValue) { this._button = aValue; }, //------------------------------------------------------------------------- 'render': function() { this.element().update(""); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'div', id:this.getId('button')}) this.setButton(new YAHOO.ext.Button(this.getDom('button'), {text:this.buttonText(), handler:this.handleButtonClick, scope:this})); this.update(); }, //------------------------------------------------------------------------- 'handleButtonClick': function() { if (this.recordField() == null) { this.mainComponent().addNewField(); } else { this.mainComponent().removeField(this.fieldComponent()); } }, //------------------------------------------------------------------------- 'updateEditMode': function() { this.button().show(); }, //------------------------------------------------------------------------- 'updateViewMode': function() { this.button().hide(); }, //------------------------------------------------------------------------- __syntaxFix__: "syntax fix" }); diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldComponent.js index 978a54e..bfa4658 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.FieldComponent = function(anElement, args) { //MochiKit.Logging.logDebug(">>> new FieldComponent"); args = args || {}; Clipperz.PM.Components.RecordDetail.FieldComponent.superclass.constructor.call(this, anElement, args); this._element = anElement; this._recordField = args.recordField || null; this._buttonComponent = null; this._labelComponent = null; this._dragHandler = null; this._valueComponent = null; this._typeComponent = null; this.mainComponent().addEditComponent(this); this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.FieldComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.FieldComponent component"; }, //------------------------------------------------------------------------- 'recordField': function() { return this._recordField; }, //------------------------------------------------------------------------- 'buttonComponent': function() { return this._buttonComponent; }, 'setButtonComponent': function(aValue) { this._buttonComponent = aValue; }, //------------------------------------------------------------------------- 'labelComponent': function() { return this._labelComponent; }, 'setLabelComponent': function(aValue) { this._labelComponent = aValue; }, //------------------------------------------------------------------------- 'dragHandler': function() { return this._dragHandler; }, 'setDragHandler': function(aValue) { this._dragHandler = aValue; }, //------------------------------------------------------------------------- 'valueComponent': function() { return this._valueComponent; }, 'setValueComponent': function(aValue) { this._valueComponent = aValue; }, //------------------------------------------------------------------------- 'typeComponent': function() { return this._typeComponent; }, 'setTypeComponent': function(aValue) { this._typeComponent = aValue; }, diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldDragHandler.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldDragHandler.js index f7c5e21..7fea132 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldDragHandler.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldDragHandler.js @@ -1,56 +1,54 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.FieldDragHandler = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.FieldDragHandler.superclass.constructor.call(this, anElement, args); this._element = anElement; this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.FieldDragHandler, Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.FieldDragHandler component"; }, //------------------------------------------------------------------------- __syntaxFix__: "syntax fix" }); diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldLabelComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldLabelComponent.js index c58a7e2..c6f8cbf 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldLabelComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldLabelComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.FieldLabelComponent = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.FieldLabelComponent.superclass.constructor.call(this, anElement, args); this._inputElement = null; this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.FieldLabelComponent, Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.FieldLabelComponent component"; }, //------------------------------------------------------------------------- 'value': function() { return this.recordField().label(); }, //------------------------------------------------------------------------- 'inputElement': function() { return this._inputElement; }, 'setInputElement': function(aValue) { this._inputElement = aValue; }, //------------------------------------------------------------------------- 'render': function() { var newTextFormField; this.element().update(""); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'div', cls:'Clipperz_recordFieldLabel', id:this.getId('label')}); // Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'div', style:'font-size:8pt;', html:this.recordField().key()}); // this.setInputElement(new Clipperz.PM.Components.TextFormField(this.getElement('label'), {editMode:this.editMode(), value:this.value()})); newTextFormField = new Clipperz.PM.Components.TextFormField(this.getElement('label'), {editMode:this.editMode(), value:this.value()}); // newTextFormField.inputElement().setStyle({border:'3px solid cyan;'}); newTextFormField.on('change', this.notifyChanges, this, true) // this.inputElement().on('change', function() {alert("CHANGE");}); // this.inputElement().getElement('editComponent_input').on('change', function() {alert("CHANGE");}) // this.inputElement().on('blur', this.notifyChanges, this, true); this.setInputElement(newTextFormField); this.update(); }, 'notifyChanges': function() { //MochiKit.Logging.logDebug(">>> FieldLabelComponent.notifyChanges - " + this); this.synchronizeComponentValues(); Clipperz.NotificationCenter.notify(this.recordField().recordVersion().record(), 'updatedFieldLabel'); //MochiKit.Logging.logDebug("<<< FieldLabelComponent.notifyChanges"); }, //------------------------------------------------------------------------- 'update': function() { //MochiKit.Logging.logDebug(">>> FieldLabelComponent.update"); this.inputElement().update({editMode:this.editMode(), value:this.value()}); //MochiKit.Logging.logDebug("<<< FieldLabelComponent.update"); }, //------------------------------------------------------------------------- /* 'updateViewMode': function() { var width; var element; this.element().update(""); width = this.element().getWidth(); element = Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'div', html:this.value()}, true); element.setWidth(width-1); }, //------------------------------------------------------------------------- 'updateEditMode': function() { diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldTypeComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldTypeComponent.js index 489258a..3108885 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldTypeComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/FieldTypeComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.FieldTypeComponent = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.FieldTypeComponent.superclass.constructor.call(this, anElement, args); this._inputElement = null; this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.FieldTypeComponent, Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.FieldTypeComponent component"; }, //------------------------------------------------------------------------- 'inputElement': function() { return this._inputElement; }, 'setInputElement': function(aValue) { this._inputElement = aValue; }, //------------------------------------------------------------------------- 'value': function() { return this.recordField().type(); }, 'canChangeType': function() { var value; var result; value = this.value(); result = ((value == 'TXT') || (value == 'PWD') || (value == 'URL') || (value == 'DATE') || (value == 'ADDR')); return result }, //------------------------------------------------------------------------- 'updateViewMode': function() { this.element().update(""); if (this.canChangeType()) { var width; var element; width = this.element().getWidth(true); element = Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'div', html:this.recordField().typeShortDescription()}, true); element.setWidth(width-1); } }, //------------------------------------------------------------------------- 'updateEditMode': function() { this.element().update(""); if (this.canChangeType()) { var width; width = this.element().getWidth(true); this.setInputElement(Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'select', children:[ {tag:'option', value:'TXT', htmlString:Clipperz.PM.Strings['recordFieldTypologies']['TXT']['shortDescription']}, {tag:'option', value:'PWD', htmlString:Clipperz.PM.Strings['recordFieldTypologies']['PWD']['shortDescription']}, {tag:'option', value:'URL', htmlString:Clipperz.PM.Strings['recordFieldTypologies']['URL']['shortDescription']}, {tag:'option', value:'DATE', htmlString:Clipperz.PM.Strings['recordFieldTypologies']['DATE']['shortDescription']}, {tag:'option', value:'ADDR', htmlString:Clipperz.PM.Strings['recordFieldTypologies']['ADDR']['shortDescription']} // {tag:'option', value:'CHECK', html:Clipperz.PM.DataModel.RecordField.TypeDescriptions['CHECK']['shortDescription']}, // {tag:'option', value:'RADIO', html:Clipperz.PM.DataModel.RecordField.TypeDescriptions['RADIO']['shortDescription']}, // {tag:'option', value:'CHECK', html:Clipperz.PM.DataModel.RecordField.TypeDescriptions['SELECT']['shortDescription']} // {tag:'option', value:'NOTE', html:Clipperz.PM.DataModel.RecordField.TypeDescriptions['NOTE']['shortDescription']} ]}, true)); this.inputElement().setWidth(width-1); this.inputElement().addHandler('change', true, this.onChange, this, true); // this.selectCorrectOption(); Clipperz.DOM.selectOptionMatchingValue(this.inputElement().dom, this.value()); } 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,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.FieldValueComponent = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.FieldValueComponent.superclass.constructor.call(this, anElement, args); this._inputElement = null; this._scrambledStatus = 'SCRAMBLED'; // 'UNSCRAMBLED' this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.FieldValueComponent, Clipperz.PM.Components.RecordDetail.AbstractFieldSubComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.FieldValueComponent component"; }, //------------------------------------------------------------------------- 'value': function() { return this.recordField().value(); }, 'setValue': function(aValue) { this.recordField().setValue(aValue); }, //------------------------------------------------------------------------- 'inputElement': function() { return this._inputElement; }, 'setInputElement': function(aValue) { this._inputElement = aValue; }, //------------------------------------------------------------------------- 'scrambledStatus': function() { return this._scrambledStatus; }, 'setScrambledStatus': function(aValue) { this._scrambledStatus = aValue; }, //------------------------------------------------------------------------- 'handleTypeChange': function() { //MochiKit.Logging.logDebug(">>> handling type change - " + this.recordField().type()); this.synchronizeComponentValues(); this.update(); }, //------------------------------------------------------------------------- 'addrUrl': function() { var result; result = "http://maps.google.com/maps?q=" + this.value().split(' ').join('+'); return result; }, //------------------------------------------------------------------------- 'updateViewMode': function() { var scarmbledStatus; scrambledStatus = this.scrambledStatus() || 'SCRAMBLED'; this.element().update(""); if (this.recordField().hidden() == false) { switch(this.recordField().type()) { case 'TXT': case 'PWD': Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'span', html:this.value()}); break; case 'URL': var urlLocation; diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/HeaderComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/HeaderComponent.js index 46f456b..4f12c88 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/HeaderComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/HeaderComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.HeaderComponent = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.HeaderComponent.superclass.constructor.call(this, anElement, args); this.mainComponent().addEditComponent(this); this._saveButton = null; this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.HeaderComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.HeaderComponent component"; }, //------------------------------------------------------------------------- 'render': function() { var editButton; //MochiKit.Logging.logDebug(">>> RecordDetail.HeaderComponent.appendTo"); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'div', cls:'recordDetailButtonsBox', children:[ {tag:'div', id:this.getId('editButtonBox'), children:[ {tag:'table', cls:'recordDetailButtonsTABLE', border:'0', cellpadding:'0', cellspacing:'0', children:[ {tag:'tbody', children:[ {tag:'tr', children:[ {tag:'td', align:'center', children:[ {tag:'div', id:this.getId('editButton')} ]} ]} ]} ]} ]}, {tag:'div', id:this.getId('saveCancelButtonBox'), children:[ {tag:'table', cls:'recordDetailButtonsTABLE', border:'0', cellpadding:'0', cellspacing:'0', children:[ {tag:'tbody', children:[ {tag:'tr', children:[ {tag:'td', width:'49%', align:'right', children:[ {tag:'div', id:this.getId('saveButton')} ]}, {tag:'td', html:' '}, {tag:'td', width:'49%', align:'left', children:[ {tag:'div', id:this.getId('cancelButton')} ]} ]} ]} ]} ]} ]}); this.getElement('editButtonBox').setVisibilityMode(YAHOO.ext.Element.DISPLAY); this.getElement('saveCancelButtonBox').setVisibilityMode(YAHOO.ext.Element.DISPLAY); editButton = new YAHOO.ext.Button(this.getDom('editButton'), {text:Clipperz.PM.Strings['recordDetailEditButtonLabel'], handler:this.editButtonHandler, scope:this}); this.setSaveButton(new YAHOO.ext.Button(this.getDom('saveButton'), {text:Clipperz.PM.Strings['recordDetailSaveButtonLabel'], handler:this.saveButtonHandler, scope:this})); new YAHOO.ext.Button(this.getDom('cancelButton'), {text:Clipperz.PM.Strings['recordDetailCancelButtonLabel'], handler:this.cancelButtonHandler, scope:this}); if (Clipperz.PM.Proxy.defaultProxy.isReadOnly()) { editButton.disable(); } this.update(); //MochiKit.Logging.logDebug("<<< RecordDetail.HeaderComponent.appendTo"); }, //------------------------------------------------------------------------- 'updateViewMode': function() { //MochiKit.Logging.logDebug(">>> HeaderComponent.updateViewMode"); this.getElement('editButtonBox').show(); this.getElement('saveCancelButtonBox').hide(); //MochiKit.Logging.logDebug("<<< HeaderComponent.updateViewMode"); }, //------------------------------------------------------------------------- 'updateEditMode': function() { this.getElement('editButtonBox').hide(); this.getElement('saveCancelButtonBox').show(); if (this.mainComponent().enableSaveButton() == true) { diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/MainComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/MainComponent.js index d6a03d7..47ed3e6 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/MainComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/MainComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.MainComponent = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.MainComponent.superclass.constructor.call(this, anElement, args); // this._element = args.element; this._user = args.user; this._editMode = args.editMode || 'VIEW'; // [ 'VIEW' | 'EDIT' ] this._mainPanel = args.mainPanel; this._record = null; this._editComponents = []; this._addFieldButton = null; this._enableSaveButton = true; this._shouldShowLoginInfo = (Clipperz.PM.Proxy.defaultProxy.isReadOnly() ? false : true); // this._mainLayoutManager = null; // this._layoutRegion = null; Clipperz.NotificationCenter.register(null, 'loadingRecordData', this, 'render'); Clipperz.NotificationCenter.register(null, 'decryptingRecordData', this, 'render'); Clipperz.NotificationCenter.register(null, 'loadingRecordVersionData', this, 'render'); Clipperz.NotificationCenter.register(null, 'decryptingRecordVersionData', this, 'render'); Clipperz.NotificationCenter.register(null, 'setupDone', this, 'render'); Clipperz.NotificationCenter.register(null, 'switchLanguage', this, 'render'); this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.MainComponent, Clipperz.PM.Components.BaseComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.MainComponent component"; }, //------------------------------------------------------------------------- 'editMode': function() { return this._editMode; }, 'setEditMode': function(aValue, aButtonElement, shouldSkipComponentSynchronization) { //MochiKit.Logging.logDebug(">>> MainComponent.setEditingMode"); this.scrollToTop(); if (aValue == 'VIEW') { if (shouldSkipComponentSynchronization == true) { this.exitModalView(); } else { this.synchronizeComponentValues(); if (this.record().hasPendingChanges()) { if (this.record().isBrandNew()) { this.record().removeEmptyFields(); } this.saveCurrentRecordChanges(aButtonElement); } else { if (this.record().isBrandNew()) { this.record().user().removeRecord(this.record()); } this.exitModalView(); } } } else if (aValue == 'EDIT') { this.enterModalView(); } else { // ???? } this._editMode = aValue; this.render(); }, //------------------------------------------------------------------------- 'user': function() { return this._user; }, //------------------------------------------------------------------------- 'mainPanel': function() { diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/NotesComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/NotesComponent.js index 2066543..bb23e8d 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/NotesComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/NotesComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.NotesComponent = function(anElement, args) { //MochiKit.Logging.logDebug(">>> new NotesComponent"); args = args || {}; Clipperz.PM.Components.RecordDetail.NotesComponent.superclass.constructor.call(this, anElement, args); this.mainComponent().addEditComponent(this); this._staticOffset = null; this._componentHeight = 50; this._mouseMoveIdentifier = null; this._mouseUpIdentifier = null; this.element().setVisibilityMode(YAHOO.ext.Element.DISPLAY); this.render(); //MochiKit.Logging.logDebug("<<< new NotesComponent"); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.NotesComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.NotesComponent component"; }, //------------------------------------------------------------------------- 'value': function() { return this.record().notes(); }, 'setValue': function(aValue) { this.record().setNotes(aValue); }, //------------------------------------------------------------------------- 'render': function() { //MochiKit.Logging.logDebug(">>> NotesComponent.render"); /* Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'td', colspan:'5', children:[ {tag:'span', cls:'noteFieldLabel', htmlString:Clipperz.PM.Strings['recordDetailNotesLabel']}, {tag:'div', cls:'noteFieldContent', id:this.getId('notes')} ]}); */ Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'span', cls:'noteFieldLabel', htmlString:Clipperz.PM.Strings['recordDetailNotesLabel']}); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'div', cls:'noteFieldContent', id:this.getId('notes'), children:[ {tag:'div', id:this.getId('resizableDiv'), cls:'resizable-textarea', children:[ {tag:'div', id:this.getId('contentView'), cls:'viewMode', html:""}, {tag:'div', id:this.getId('contentEdit'), children:[ {tag:'span', children:[ {tag:'textarea', id:this.getId('textarea'), html:""} ]} ]}, {tag:'div', id:this.getId('grippie'), cls:'grippie'} ]} ]}); this.getElement('contentView').setVisibilityMode(YAHOO.ext.Element.DISPLAY); this.getElement('contentEdit').setVisibilityMode(YAHOO.ext.Element.DISPLAY); MochiKit.Signal.connect(this.getId('grippie'), 'onmousedown', this, 'startResize'); this.update(); //MochiKit.Logging.logDebug("<<< NotesComponent.render"); }, //------------------------------------------------------------------------- 'updateViewMode': function() { //MochiKit.Logging.logDebug(">>> NotesComponent.updateViewMode"); // this.getElement('notes').update(this.value().replace(/\n/g, '<br>')); this.getElement('contentView').update(Clipperz.Base.sanitizeString(this.value()).replace(/\n/g, '<br>')); if (this.isNoteEmpty()) { this.element().hide(); } else { this.getElement('contentView').show(); this.getElement('contentView').setHeight(this.componentHeight()); diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/TitleComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/TitleComponent.js index 29fe972..d114eaa 100644 --- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/TitleComponent.js +++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/TitleComponent.js @@ -1,118 +1,116 @@ /* -Copyright 2008-2011 Clipperz Srl +Copyright 2008-2013 Clipperz Srl -This file is part of Clipperz Community Edition. -Clipperz Community Edition is an online password manager. +This file is part of Clipperz, the online password manager. For further information about its features and functionalities please refer to http://www.clipperz.com. -* Clipperz Community Edition is free software: you can redistribute - it and/or modify it under the terms of the GNU Affero General Public - License as published by the Free Software Foundation, either version - 3 of the License, or (at your option) any later version. +* Clipperz is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -* Clipperz Community Edition is distributed in the hope that it will - be useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* Clipperz is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public - License along with Clipperz Community Edition. If not, see - <http://www.gnu.org/licenses/>. + License along with Clipperz. If not, see http://www.gnu.org/licenses/. */ if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } //############################################################################# Clipperz.PM.Components.RecordDetail.TitleComponent = function(anElement, args) { args = args || {}; Clipperz.PM.Components.RecordDetail.TitleComponent.superclass.constructor.call(this, anElement, args); // this._inputElement = null; this.mainComponent().addEditComponent(this); this.render(); return this; } //============================================================================= YAHOO.extendX(Clipperz.PM.Components.RecordDetail.TitleComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, { 'toString': function() { return "Clipperz.PM.Components.RecordDetail.TitleComponent component"; }, //------------------------------------------------------------------------- 'value': function() { return this.record().label(); }, 'setValue': function(aValue) { this.record().setLabel(aValue); }, //------------------------------------------------------------------------- /* 'inputElement': function() { return this._inputElement; }, 'setInputElement': function(aValue) { this._inputElement = aValue; }, */ //------------------------------------------------------------------------- 'render': function() { // Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'td', html:' '}); // Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'td', colspan:"3", html:' ', children:[ // {tag:'div', /*style:'border: 1px solid green;',*/ id:this.getId('title')} // ]}); // Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'td', html:' '}); // // this.setInputElement(new Clipperz.PM.Components.TextFormField(this.getElement('title'), {editMode:this.editMode(), value:this.value()})); this.update(); }, //------------------------------------------------------------------------- /* 'update': function() { this.inputElement().update({value:this.value(), editMode:this.editMode()}); }, */ //------------------------------------------------------------------------- 'updateViewMode': function() { this.element().update(""); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'h2', html:this.value()}); }, //------------------------------------------------------------------------- 'updateEditMode': function() { //MochiKit.Logging.logDebug(">>> TitleComponent.updateEditMode"); // this.getElement('title').update(""); // Clipperz.YUI.DomHelper.append(this.getDom('title'), {tag:'div', id:this.getId('title_input')}); // this.setInputElement(Clipperz.YUI.DomHelper.append(this.getDom('title_input'), {tag:'input', type:'text', value:this.value()}, true)); this.element().update(""); Clipperz.YUI.DomHelper.append(this.element().dom, {tag:'input', id:this.getId('titleField'), type:'text', value:"this.value()"}); this.getElement('titleField').dom.value = this.value(); //MochiKit.Logging.logDebug("<<< TitleComponent.updateEditMode"); }, //------------------------------------------------------------------------- |