Final fixed before official /delta release

This commit is contained in:
Giulio Cesare Solaroli
2015-07-04 18:43:59 +02:00
parent 2e65e86341
commit e6d071a7c1
18 changed files with 520 additions and 691 deletions

View File

@@ -226,7 +226,7 @@ Clipperz.PM.UI.Components.ExtraFeatures.DataImport.InputClass = React.createClas
render: function() {
return React.DOM.div({},[
React.DOM.div({'className':'description'}, [
React.DOM.p({}, "You can import either CSV data, or Clipperz data exported in JSON"),
React.DOM.p({}, "Import data from a CSV file (like those produced by most password managers) or copy data from another Clipperz account using a JSON/HTML export file created by Clipperz."),
]),
React.DOM.form({'key':'form', 'className':'importForm' }, [
React.DOM.input({
@@ -239,16 +239,26 @@ Clipperz.PM.UI.Components.ExtraFeatures.DataImport.InputClass = React.createClas
React.DOM.div({
'onDragOver': this.handleOnDragOver,
'onDrop': this.handleOnDrop,
'onClick': MochiKit.Base.bind(function() { this.refs['upload-input'].getDOMNode().click() }, this),
'className': 'dropArea'
}, "Drag your Clipperz export file here or click select it manually."),
React.DOM.p({}, "or"),
}, [
React.DOM.span({}, "Drag your CSV or Clipperz export file here"),
React.DOM.br({}),
React.DOM.span({}, "or"),
React.DOM.br({}),
React.DOM.a({
'className': 'button',
'onClick': MochiKit.Base.bind(function() { this.refs['upload-input'].getDOMNode().click() }, this),
}, "select it manually")
]),
React.DOM.div({'className': 'description'},
React.DOM.p({}, "Alternatively you may type or paste any properly formatted CSV or JSON data.")
),
React.DOM.div({'key':'fields'},[
React.DOM.textarea({
'key':'input-textarea',
'name':'input-textarea',
'ref':'input-textarea',
'placeholder':"Copy or type your data here",
'placeholder':"Type or copy your data here",
'value': this.state.inputString,
'onChange': this.handleTextareaChange,
'onDragOver': this.handleOnDragOver,

View File

@@ -147,7 +147,10 @@ Clipperz.PM.UI.Components.ExtraFeatures.OTPClass = React.createClass({
renderOtpRows: function() {
var result;
var defaultOtpLabel;
defaultOtpLabel = "…";
if (this.props.userInfo.otpList) {
result = MochiKit.Base.map(MochiKit.Base.bind(function (anOTP) {
var reference = anOTP.reference();
@@ -177,11 +180,15 @@ Clipperz.PM.UI.Components.ExtraFeatures.OTPClass = React.createClass({
labelComponent = React.DOM.input({
'autoFocus':true,
'value':this.state.otpLabel,
'placeholder': "custom label",
'onChange':MochiKit.Base.partial(this.updateOtpLabel, anOTP),
'onKeyDown':MochiKit.Base.partial(this.handleKeyPressed, anOTP),
});
} else {
labelComponent = React.DOM.span({'onClick':MochiKit.Base.partial(this.enableOtpLabelEditing, anOTP)}, (anOTP.label()) ? anOTP.label() : "---")
labelComponent = React.DOM.span({
'onClick':MochiKit.Base.partial(this.enableOtpLabelEditing, anOTP),
'className': Clipperz.PM.UI.Components.classNames({'customLabel':anOTP.label()})
}, (anOTP.label()) ? anOTP.label() : defaultOtpLabel)
}
return React.DOM.li({
@@ -208,9 +215,9 @@ Clipperz.PM.UI.Components.ExtraFeatures.OTPClass = React.createClass({
render: function () {
return React.DOM.div({'className':'extraFeature OTP'}, [
React.DOM.div({'className':'header'}, [
React.DOM.h1({}, "One Time Passwords"),
React.DOM.h1({}, "One-Time Passwords"),
React.DOM.div({'className':'description'}, [
React.DOM.p({}, "A one-time passphrase works like your regular passphrase, but can be used only once. This makes it expecially useful for using it in places where keyloggers may be installed."),
React.DOM.p({}, "A one-time password works like your regular passphrase, but can be used only once. This makes it expecially useful for using it in places where keyloggers may be installed."),
]),
React.DOM.a({'className':'button', 'onClick':this.handlePrint}, "Print")
]),