mirror of
http://git.whoc.org.uk/git/password-manager.git
synced 2025-10-30 02:47:36 +01:00
Implemented "Clone card" command.
This commit is contained in:
@@ -55,6 +55,10 @@ Clipperz.PM.UI.Components.Cards.CommandToolbar = React.createClass({
|
||||
// 'label': "share",
|
||||
// 'broadcastEvent': 'shareCard'
|
||||
// },
|
||||
'clone': {
|
||||
'label': "clone",
|
||||
'broadcastEvent': 'cloneCard'
|
||||
},
|
||||
'edit': {
|
||||
'label': "edit",
|
||||
'broadcastEvent': 'editCard'
|
||||
@@ -83,7 +87,7 @@ Clipperz.PM.UI.Components.Cards.CommandToolbar = React.createClass({
|
||||
var commandHandler = this.selectCommandItem;
|
||||
|
||||
return React.DOM.ul({}, MochiKit.Base.map(function (aCommand) {
|
||||
return React.DOM.li({'onClick':commandHandler, 'data-broadcast-event':aCommand['broadcastEvent']}, [React.DOM.span({}, aCommand['label'])]);
|
||||
return React.DOM.li({'className':aCommand['broadcastEvent'], 'onClick':commandHandler, 'data-broadcast-event':aCommand['broadcastEvent']}, [React.DOM.span({}, aCommand['label'])]);
|
||||
}, MochiKit.Base.values(this.commands())));
|
||||
},
|
||||
|
||||
|
||||
@@ -72,11 +72,11 @@ Clipperz.PM.UI.Components.Cards.Edit = React.createClass({
|
||||
//============================================================================
|
||||
|
||||
renderLabel: function (aLabel) {
|
||||
return React.DOM.input({'className':'cardLabel', 'onChange':this.handleChange(this.record(), 'setLabel'), 'defaultValue':aLabel});
|
||||
return React.DOM.input({'className':'cardLabel', 'onChange':this.handleChange(this.record(), 'setLabel'), 'defaultValue':aLabel, 'key':this.props['_reference'] + '_label'});
|
||||
},
|
||||
|
||||
renderNotes: function (someNotes) {
|
||||
return React.DOM.textarea({'className':'cardNotes', 'onChange':this.handleChange(this.record(), 'setNotes'), 'defaultValue':someNotes});
|
||||
return React.DOM.textarea({'className':'cardNotes', 'onChange':this.handleChange(this.record(), 'setNotes'), 'defaultValue':someNotes, 'key':this.props['_reference'] + '_notes'});
|
||||
},
|
||||
|
||||
//............................................................................
|
||||
@@ -130,7 +130,7 @@ Clipperz.PM.UI.Components.Cards.Edit = React.createClass({
|
||||
//............................................................................
|
||||
|
||||
renderDirectLogin: function (aDirectLogin) {
|
||||
return React.DOM.div({'className':'cardDirectLogin'}, [
|
||||
return React.DOM.div({'className':'cardDirectLogin', 'key':aDirectLogin['_reference']}, [
|
||||
React.DOM.span({'className':'directLoginLabel'}, aDirectLogin['label']),
|
||||
React.DOM.div({'className':'directLoginAction action'}, 'DIRECT LOGIN')
|
||||
]);
|
||||
@@ -147,7 +147,7 @@ Clipperz.PM.UI.Components.Cards.Edit = React.createClass({
|
||||
'edit': true
|
||||
}
|
||||
|
||||
console.log("RENDER CARD EDIT");
|
||||
//console.log("RENDER CARD EDIT");
|
||||
return React.DOM.div({'className':React.addons.classSet(classes)},[
|
||||
Clipperz.PM.UI.Components.Cards.EditToolbar(this.props),
|
||||
React.DOM.div({'className':'content'}, [
|
||||
|
||||
@@ -59,7 +59,6 @@ Clipperz.PM.UI.Components.Cards.EditToolbar = React.createClass({
|
||||
};
|
||||
classes[style] = true;
|
||||
|
||||
console.log("EDIT TOOLBAR", this.props);
|
||||
return React.DOM.div({'className':React.addons.classSet(classes)}, [
|
||||
React.DOM.ul({}, [
|
||||
React.DOM.li({'onClick':this.cancel, 'className':'cancel'}, [React.DOM.span({}, "cancel")]),
|
||||
|
||||
@@ -38,16 +38,24 @@ Clipperz.PM.UI.Components.Cards.List = React.createClass({
|
||||
},
|
||||
|
||||
renderItem: function (anItem) {
|
||||
var classes = {
|
||||
'selected': this.props['selectedCard'] ? this.props['selectedCard']['_reference'] == anItem['_reference'] : false,
|
||||
'archived': anItem['_isArchived']
|
||||
};
|
||||
var result;
|
||||
|
||||
return React.DOM.li({'className':React.addons.classSet(classes), 'onClick': this.handleClick, 'key':anItem['_reference'], 'data-reference':anItem['_reference'], 'data-label':anItem['label']}, [
|
||||
React.DOM.span({'className':'favicon'}, [ React.DOM.img({src:anItem['favicon']})]),
|
||||
React.DOM.span({'className':'label'}, anItem['label']),
|
||||
// React.DOM.span({'className':'action'}, 'show detail')
|
||||
]);
|
||||
if (anItem['_isBrandNew'] == true) {
|
||||
result = null;
|
||||
} else {
|
||||
var classes = {
|
||||
'selected': this.props['selectedCard'] ? this.props['selectedCard']['_reference'] == anItem['_reference'] : false,
|
||||
'archived': anItem['_isArchived']
|
||||
};
|
||||
|
||||
result = React.DOM.li({'className':React.addons.classSet(classes), 'onClick': this.handleClick, 'key':anItem['_reference'], 'data-reference':anItem['_reference'], 'data-label':anItem['label']}, [
|
||||
React.DOM.span({'className':'favicon'}, [ React.DOM.img({src:anItem['favicon']})]),
|
||||
React.DOM.span({'className':'label'}, anItem['label']),
|
||||
// React.DOM.span({'className':'action'}, 'show detail')
|
||||
]);
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
render: function () {
|
||||
|
||||
Reference in New Issue
Block a user