Updated to React 13.1

master-GE
Giulio Cesare Solaroli 2015-03-23 18:10:09 +01:00
parent 40d20bb3ac
commit 80e149a8a9
33 changed files with 25621 additions and 4183 deletions

View File

@ -0,0 +1,57 @@
/*
Copyright 2008-2015 Clipperz Srl
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 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 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. If not, see http://www.gnu.org/licenses/.
*/
'use strict';
Clipperz.Base.module('Clipperz.PM.UI');
// code snippet taken on March 23, 2015 from here: https://github.com/JedWatson/classnames/blob/master/index.js
// This code is licensed with the The MIT License (MIT) - Copyright (c) 2015 Jed Watson
// https://github.com/JedWatson/classnames/blob/master/LICENSE
Clipperz.PM.UI.Components = {
'classNames': function () {
var classes = '';
var arg;
for (var i = 0; i < arguments.length; i++) {
arg = arguments[i];
if (!arg) {
continue;
}
if ('string' === typeof arg || 'number' === typeof arg) {
classes += ' ' + arg;
} else if (Object.prototype.toString.call(arg) === '[object Array]') {
classes += ' ' + classNames.apply(null, arg);
} else if ('object' === typeof arg) {
for (var key in arg) {
if (!arg.hasOwnProperty(key) || !arg[key]) {
continue;
}
classes += ' ' + key;
}
}
}
return classes.substr(1);
}
}

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
"use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.AccountStatus = React.createClass({
Clipperz.PM.UI.Components.AccountStatusClass = React.createClass({
propTypes: {
// 'currentSubscriptionType': React.PropTypes.oneOf(['EARLY_ADOPTER', 'FRIEND', 'FAN', 'DEVOTEE', 'PATRON', 'TRIAL', 'TRIAL_EXPIRED', 'PAYMENT_FAILED_2', 'EXPIRED', 'PAYMENT_FAILED', 'VERIFYING_PAYMENT', 'VERIFYING_PAYMENT_2']).isRequired,
@ -54,11 +54,11 @@ Clipperz.PM.UI.Components.AccountStatus = React.createClass({
proxyInfoClasses[this.props['proxyType']] = true;
return React.DOM.div({'className':'miscInfo'}, [
React.DOM.div({'className':React.addons.classSet(proxyInfoClasses)}, [
React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(proxyInfoClasses)}, [
React.DOM.span({'className':'proxyDescription'}, this.props['proxyTypeDescription']),
React.DOM.span({'className':'referenceDate'}, this.props['referenceDate'])
]),
React.DOM.div({'className':React.addons.classSet(accountInfoClasses)}, [
React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(accountInfoClasses)}, [
React.DOM.span({'className':'level'}, Clipperz.PM.DataModel.Feature['featureSets'][this.props['featureSet']]),
React.DOM.span({'className':'expirationMessage'}, "expiring on"),
React.DOM.span({'className':'expirationDate'}, this.props['expirationDate'])
@ -69,3 +69,5 @@ Clipperz.PM.UI.Components.AccountStatus = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.AccountStatus = React.createFactory(Clipperz.PM.UI.Components.AccountStatusClass);

View File

@ -23,7 +23,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.Button = React.createClass({
Clipperz.PM.UI.Components.ButtonClass = React.createClass({
propTypes: {
'eventName': React.PropTypes.string.isRequired,
@ -42,7 +42,7 @@ Clipperz.PM.UI.Components.Button = React.createClass({
classes[this.props['className']] = true;
};
return React.DOM.div({className:React.addons.classSet(classes), onClick:this.props['handler']}, [
return React.DOM.div({className:Clipperz.PM.UI.Components.classNames(classes), onClick:this.props['handler']}, [
React.DOM.div({className:this.props['eventName']}, [
React.DOM.h3({className:'label'}, this.props['label'])
])
@ -51,3 +51,5 @@ Clipperz.PM.UI.Components.Button = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.Button = React.createFactory(Clipperz.PM.UI.Components.ButtonClass);

View File

@ -23,7 +23,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.CardToolbar = React.createClass({
Clipperz.PM.UI.Components.CardToolbarClass = React.createClass({
propTypes: {
// 'style': React.PropTypes.oneOf(['extra-short', 'narrow', 'wide', 'extra-wide']).isRequired,
@ -107,3 +107,5 @@ Clipperz.PM.UI.Components.CardToolbar = React.createClass({
//============================================================================
});
Clipperz.PM.UI.Components.CardToolbar = React.createFactory(Clipperz.PM.UI.Components.CardToolbarClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.CommandToolbar = React.createClass({
Clipperz.PM.UI.Components.Cards.CommandToolbarClass = React.createClass({
//============================================================================
@ -94,7 +94,7 @@ Clipperz.PM.UI.Components.Cards.CommandToolbar = React.createClass({
classes['enabled'] = aCommand['enabled'];
classes['disabled'] = !aCommand['enabled'];
return React.DOM.li({'className':React.addons.classSet(classes), 'onClick':aCommand['enabled'] ? commandHandler : null, 'data-broadcast-event':aCommand['broadcastEvent']}, [React.DOM.span({}, aCommand['label'])]);
return React.DOM.li({'className':Clipperz.PM.UI.Components.classNames(classes), 'onClick':aCommand['enabled'] ? commandHandler : null, 'data-broadcast-event':aCommand['broadcastEvent']}, [React.DOM.span({}, aCommand['label'])]);
}, commandValues));
},
@ -105,7 +105,7 @@ Clipperz.PM.UI.Components.Cards.CommandToolbar = React.createClass({
React.DOM.div({}, [
React.DOM.div({'className':'back', 'onClick': this.exit}, 'back'),
React.DOM.div({'className':'cardMenuOptions', 'onClick':this.toggleMenu}, 'commands'),
React.DOM.div({'className':React.addons.classSet({'commandMenu':true, 'show':this.state['showCommandMenu']})}, [
React.DOM.div({'className':Clipperz.PM.UI.Components.classNames({'commandMenu':true, 'show':this.state['showCommandMenu']})}, [
React.DOM.div({'className':'commandMenuMask', 'onClick':this.toggleMenu}),
React.DOM.div({'className':'commandMenu'}, this.renderCommands(true))
])
@ -139,8 +139,10 @@ Clipperz.PM.UI.Components.Cards.CommandToolbar = React.createClass({
};
classes[style] = true;
return React.DOM.div({'className':React.addons.classSet(classes)}, this.renderLayout(style));
return React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(classes)}, this.renderLayout(style));
},
//=========================================================================
});
Clipperz.PM.UI.Components.Cards.CommandToolbar = React.createFactory(Clipperz.PM.UI.Components.Cards.CommandToolbarClass);

View File

@ -23,7 +23,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.Detail = React.createClass({
Clipperz.PM.UI.Components.Cards.DetailClass = React.createClass({
propTypes: {
'allTags': React.PropTypes.array,
@ -55,3 +55,5 @@ Clipperz.PM.UI.Components.Cards.Detail = React.createClass({
return result;
},
});
Clipperz.PM.UI.Components.Cards.Detail = React.createFactory(Clipperz.PM.UI.Components.Cards.DetailClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.Edit = React.createClass({
Clipperz.PM.UI.Components.Cards.EditClass = React.createClass({
//============================================================================
@ -327,7 +327,7 @@ console.log("DROP"); //, anEvent);
cardFieldValueClasses[aField['actionType']] = true;
cardFieldValueClasses['hidden'] = aField['isHidden'];
return React.DOM.div({'className':React.addons.classSet(cardFieldClasses), 'id':ref, 'key':ref,
return React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(cardFieldClasses), 'id':ref, 'key':ref,
'data-reference':ref,
'data-index':this.positionOfField(ref),
'onDragOver':this.dragOver,
@ -349,8 +349,8 @@ console.log("DROP"); //, anEvent);
React.DOM.input({'_className_':'_fieldLabel_', 'onChange':this.handleChange(field, 'setLabel'), 'defaultValue':aField['label'], 'placeholder': "label"}),
]),
React.DOM.div({'className':'fieldValue'}, [
// React.DOM.textarea({'className':React.addons.classSet(cardFieldValueClasses), 'onChange':this.handleChange(field, 'setValue'), 'defaultValue':aField['value'], 'placeholder': "value"}),
Clipperz.PM.UI.Components.Cards.TextArea({'className':React.addons.classSet(cardFieldValueClasses), 'onChange':this.handleChange(field, 'setValue'), 'onKeyDown':this.handleKeyDown(field), 'defaultValue':aField['value'], 'placeholder': "value"}),
// React.DOM.textarea({'className':Clipperz.PM.UI.Components.classNames(cardFieldValueClasses), 'onChange':this.handleChange(field, 'setValue'), 'defaultValue':aField['value'], 'placeholder': "value"}),
Clipperz.PM.UI.Components.Cards.TextArea({'className':Clipperz.PM.UI.Components.classNames(cardFieldValueClasses), 'onChange':this.handleChange(field, 'setValue'), 'onKeyDown':this.handleKeyDown(field), 'defaultValue':aField['value'], 'placeholder': "value"}),
])
]),
React.DOM.div({'className':'fieldAction'}, [
@ -423,7 +423,7 @@ console.log("DROP"); //, anEvent);
//console.log("RENDER CARD EDIT", this.props['showGlobalMask']);
return React.DOM.div({'className':'editWrapper'}, [
this.props['showGlobalMask'] ? null : React.DOM.div({'className':'mask'}),
React.DOM.div({'className':React.addons.classSet(classes)},[
React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(classes)},[
Clipperz.PM.UI.Components.Cards.EditToolbar(this.props),
React.DOM.div({'className':'content'}, [
this.renderLabel(this.props['label']),
@ -440,3 +440,5 @@ console.log("DROP"); //, anEvent);
//=========================================================================
});
Clipperz.PM.UI.Components.Cards.Edit = React.createFactory(Clipperz.PM.UI.Components.Cards.EditClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.EditToolbar = React.createClass({
Clipperz.PM.UI.Components.Cards.EditToolbarClass = React.createClass({
//============================================================================
@ -59,7 +59,7 @@ Clipperz.PM.UI.Components.Cards.EditToolbar = React.createClass({
};
classes[style] = true;
return React.DOM.div({'className':React.addons.classSet(classes)}, [
return React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(classes)}, [
React.DOM.ul({}, [
React.DOM.li({'onClick':this.cancel, 'className':'cancel'}, [React.DOM.span({}, "cancel")]),
React.DOM.li({'onClick':this.save, 'className':'save'}, [React.DOM.span({}, "save")]),
@ -69,3 +69,5 @@ Clipperz.PM.UI.Components.Cards.EditToolbar = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.Cards.EditToolbar = React.createFactory(Clipperz.PM.UI.Components.Cards.EditToolbarClass);

View File

@ -25,7 +25,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.FavIcon = React.createClass({
Clipperz.PM.UI.Components.Cards.FavIconClass = React.createClass({
propTypes: {
'src': React.PropTypes.string,
@ -53,4 +53,6 @@ Clipperz.PM.UI.Components.Cards.FavIcon = React.createClass({
return React.DOM.img({'className':'favicon', 'src':this.state['src'] ? this.state['src'] : this.defaultIcon(), /*'onLoad':this.faviconEvent,*/ 'onError':this.faviconEvent}, this.props.children);
},
});
});
Clipperz.PM.UI.Components.Cards.FavIcon = React.createFactory(Clipperz.PM.UI.Components.Cards.FavIconClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.List = React.createClass({
Clipperz.PM.UI.Components.Cards.ListClass = React.createClass({
//=========================================================================
@ -60,7 +60,7 @@ Clipperz.PM.UI.Components.Cards.List = React.createClass({
'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']}, [
result = React.DOM.li({'className':Clipperz.PM.UI.Components.classNames(classes), 'onClick': this.handleClick, 'key':anItem['_reference'], 'data-reference':anItem['_reference'], 'data-label':anItem['label']}, [
// React.DOM.span({'className':'favicon'}, React.DOM.img({'onLoad':this.faviconEvent, 'onError':this.faviconEvent, 'onAbort':this.faviconEvent, 'src':anItem['favicon']})),
React.DOM.span({'className':'favicon'}, Clipperz.PM.UI.Components.Cards.FavIcon({'src':anItem['favicon']})),
React.DOM.span({'className':'label'}, anItem['label']),
@ -80,10 +80,12 @@ Clipperz.PM.UI.Components.Cards.List = React.createClass({
};
classes[this.props['style']] = true;
return React.DOM.div({'key':'cardList', 'className':React.addons.classSet(classes)}, [
return React.DOM.div({'key':'cardList', 'className':Clipperz.PM.UI.Components.classNames(classes)}, [
this.isFeatureEnabled('LIST_CARDS') ? React.DOM.ul({}, MochiKit.Base.map(this.renderItem, cards)) : null
]);
},
//=========================================================================
});
Clipperz.PM.UI.Components.Cards.List = React.createFactory(Clipperz.PM.UI.Components.Cards.ListClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.TagEditor = React.createClass({
Clipperz.PM.UI.Components.Cards.TagEditorClass = React.createClass({
//============================================================================
@ -140,7 +140,7 @@ Clipperz.PM.UI.Components.Cards.TagEditor = React.createClass({
'readWrite': !this.props['readOnly']
};
return React.DOM.div({'className':React.addons.classSet(classes)}, [
return React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(classes)}, [
React.DOM.ul({},[
MochiKit.Base.map(this.renderTag, this.props['selectedTags']),
]),
@ -150,3 +150,5 @@ Clipperz.PM.UI.Components.Cards.TagEditor = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.Cards.TagEditor = React.createFactory(Clipperz.PM.UI.Components.Cards.TagEditorClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.TextArea = React.createClass({
Clipperz.PM.UI.Components.Cards.TextAreaClass = React.createClass({
//----------------------------------------------------------------------------
@ -107,4 +107,6 @@ Clipperz.PM.UI.Components.Cards.TextArea = React.createClass({
return React.DOM.textarea(this.props, this.props.children);
},
});
});
Clipperz.PM.UI.Components.Cards.TextArea = React.createFactory(Clipperz.PM.UI.Components.Cards.TextAreaClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components.Cards');
Clipperz.PM.UI.Components.Cards.View = React.createClass({
Clipperz.PM.UI.Components.Cards.ViewClass = React.createClass({
//============================================================================
@ -189,14 +189,14 @@ Clipperz.PM.UI.Components.Cards.View = React.createClass({
cardFieldActionClasses[aField['actionType']] = true;
cardFieldActionClasses['active'] = this.state[aField['_reference']];
return React.DOM.div({'className':React.addons.classSet(cardFieldClasses)}, [
return React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(cardFieldClasses)}, [
React.DOM.div({'className':'fieldEditAction'}, null),
React.DOM.div({'className':'fieldValues'}, [
React.DOM.div({'className':'fieldLabel'}, aField['label']),
React.DOM.div({'className':React.addons.classSet(cardFieldValueClasses)}, aField['value']),
React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(cardFieldValueClasses)}, aField['value']),
]),
React.DOM.div({'className':'fieldAction'}, [
React.DOM.span({'className':React.addons.classSet(cardFieldActionClasses), 'onClick':this.handleFieldAction(aField)}, aField['actionType'].toLowerCase() == 'password' ? 'view password' : aField['actionType'].toLowerCase())
React.DOM.span({'className':Clipperz.PM.UI.Components.classNames(cardFieldActionClasses), 'onClick':this.handleFieldAction(aField)}, aField['actionType'].toLowerCase() == 'password' ? 'view password' : aField['actionType'].toLowerCase())
])
]);
},
@ -226,7 +226,7 @@ Clipperz.PM.UI.Components.Cards.View = React.createClass({
'archived': this.props['_isArchived']
}
return React.DOM.div({'className':React.addons.classSet(classes)},[
return React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(classes)},[
Clipperz.PM.UI.Components.Cards.CommandToolbar(this.props),
React.DOM.div({'className':'content'}, [
this.renderLabel(this.props['label']),
@ -257,3 +257,5 @@ Clipperz.PM.UI.Components.Cards.View = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.Cards.View = React.createFactory(Clipperz.PM.UI.Components.Cards.ViewClass);

View File

@ -23,7 +23,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.Checkbox = React.createClass({
Clipperz.PM.UI.Components.CheckboxClass = React.createClass({
// http://development.tobypitman.com/iphoneCheckboxes/iphoneCheckboxes2.html
propTypes: {
@ -44,3 +44,5 @@ Clipperz.PM.UI.Components.Checkbox = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.Checkbox = React.createFactory(Clipperz.PM.UI.Components.CheckboxClass);

View File

@ -23,7 +23,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.DialogBox = React.createClass({
Clipperz.PM.UI.Components.DialogBoxClass = React.createClass({
propTypes: {
'info': React.PropTypes.object.isRequired,
@ -57,7 +57,7 @@ console.log("DIALOG BOX - key UP", anEvent);
'isDefault': answerInfo['isDefault']
};
return React.DOM.div({'className':React.addons.classSet(classes), 'onClick':this.handleAnswerButton, 'data-answer-key':anAnswerInfoKey}, answerInfo['label'])
return React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(classes), 'onClick':this.handleAnswerButton, 'data-answer-key':anAnswerInfoKey}, answerInfo['label'])
},
//=========================================================================
@ -74,3 +74,5 @@ console.log("DIALOG BOX - key UP", anEvent);
//=========================================================================
});
Clipperz.PM.UI.Components.DialogBox = React.createFactory(Clipperz.PM.UI.Components.DialogBoxClass);

View File

@ -23,7 +23,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.ExpiredPanel = React.createClass({
Clipperz.PM.UI.Components.ExpiredPanelClass = React.createClass({
propTypes: {
// featureSet: React.PropTypes.oneOf(['FULL', 'EXPIRED', 'TRIAL']).isRequired,
@ -38,3 +38,5 @@ Clipperz.PM.UI.Components.ExpiredPanel = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.ExpiredPanel = React.createFactory(Clipperz.PM.UI.Components.ExpiredPanelClass);

View File

@ -23,7 +23,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.MessageBox = React.createClass({
Clipperz.PM.UI.Components.MessageBoxClass = React.createClass({
propTypes: {
'level': React.PropTypes.oneOf(['HIDE', 'INFO', 'WARNING', 'ERROR']).isRequired,
@ -45,3 +45,5 @@ Clipperz.PM.UI.Components.MessageBox = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.MessageBox = React.createFactory(Clipperz.PM.UI.Components.MessageBoxClass);

View File

@ -140,3 +140,4 @@ Clipperz.Base.extend(Clipperz.PM.UI.Components.Overlay, Object, {
//-------------------------------------------------------------------------
__syntaxFix__: "syntax fix"
});

View File

@ -23,7 +23,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components.Pages');
Clipperz.PM.UI.Components.Pages.CardDetailPage = React.createClass({
Clipperz.PM.UI.Components.Pages.CardDetailPageClass = React.createClass({
propTypes: {
'allTags': React.PropTypes.array,
},
@ -55,3 +55,5 @@ Clipperz.PM.UI.Components.Pages.CardDetailPage = React.createClass({
return Clipperz.PM.UI.Components.Cards.Detail(this.props);
}
});
Clipperz.PM.UI.Components.Pages.CardDetailPage = React.createFactory(Clipperz.PM.UI.Components.Pages.CardDetailPageClass);

View File

@ -23,7 +23,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components.Pages');
Clipperz.PM.UI.Components.Pages.ErrorPage = React.createClass({
Clipperz.PM.UI.Components.Pages.ErrorPageClass = React.createClass({
getDefaultProps: function () {
return {
@ -46,3 +46,5 @@ Clipperz.PM.UI.Components.Pages.ErrorPage = React.createClass({
// return new this.props.template({'innerComponent': this._render()});
// }
});
Clipperz.PM.UI.Components.Pages.ErrorPage = React.createFactory(Clipperz.PM.UI.Components.Pages.ErrorPageClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
"use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Pages');
Clipperz.PM.UI.Components.Pages.LoginPage = React.createClass({
Clipperz.PM.UI.Components.Pages.LoginPageClass = React.createClass({
propTypes: {
mode: React.PropTypes.oneOf(['CREDENTIALS','PIN']).isRequired,
@ -119,12 +119,12 @@ Clipperz.PM.UI.Components.Pages.LoginPage = React.createClass({
},
pinForm: function () {
return React.DOM.form({'className':'loginForm pin', 'onChange':this.handleChange, 'onSubmit':this.handlePINSubmit}, [
React.DOM.div(null,[
return React.DOM.form({'className':'pinForm pin', 'onChange':this.handleChange, 'onSubmit':this.handlePINSubmit}, [
React.DOM.div({'key':'pinFormDiv'},[
React.DOM.label({'for':'pin'}, "pin"),
React.DOM.input({'type':'text', 'name':'pin', 'ref':'pin', placeholder:"PIN", 'key':'pin', 'autocapitalize':'none'})
]),
React.DOM.button({'type':'submit', 'disabled':this.props.disabled, 'className':'button'}, "login")
React.DOM.button({'key':'submitButton', 'type':'submit', 'disabled':this.props.disabled, 'className':'button'}, "login")
]);
},
@ -146,21 +146,23 @@ Clipperz.PM.UI.Components.Pages.LoginPage = React.createClass({
// React.DOM.a({'key':'signup', 'onClick':this.handleRegistrationLinkClick}, "Sign up")
// ]);
var registrationLink = React.DOM.a({'className':'registrationLink', 'key':'signup', 'onClick':this.handleRegistrationLinkClick}, "Sign up");
var registrationLink = React.DOM.a({'key':'signup', 'className':'registrationLink', 'onClick':this.handleRegistrationLinkClick}, "Sign up");
return React.DOM.div({'className':'loginForm ' + this.props['style']}, [
return React.DOM.div({'key':'loginForm', 'className':'loginForm ' + this.props['style']}, [
React.DOM.header({'key':'header'}, 'clipperz'),
React.DOM.div({'key':'form-wrapper', 'className':'form'}, [
React.DOM.div({'key':'formWrapper', 'className':'form'}, [
this.props.mode == 'PIN' ? this.pinForm() : this.loginForm(),
]),
React.DOM.footer({}, [
React.DOM.footer({'key':'footer'}, [
this.props['isNewUserRegistrationAvailable'] ? registrationLink : null,
React.DOM.div({'className':'applicationVersion'}, [
React.DOM.span({}, "application version"),
React.DOM.a({'href':'https://github.com/clipperz/password-manager/commit/' + Clipperz_version, 'target':'github'}, Clipperz_version)
React.DOM.div({'key':'applicationVersion', 'className':'applicationVersion'}, [
React.DOM.span({'key':'applicationVersionLabel'}, "application version"),
React.DOM.a({'key':'applicationVersionLink', 'href':'https://github.com/clipperz/password-manager/commit/' + Clipperz_version, 'target':'github'}, Clipperz_version)
])
])
// this.props['isNewUserRegistrationAvailable'] ? registrationLink : null
]);
}
});
Clipperz.PM.UI.Components.Pages.LoginPage = React.createFactory(Clipperz.PM.UI.Components.Pages.LoginPageClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components.Pages');
Clipperz.PM.UI.Components.Pages.MainPage = React.createClass({
Clipperz.PM.UI.Components.Pages.MainPageClass = React.createClass({
getDefaultProps: function () {
return {
@ -60,7 +60,7 @@ Clipperz.PM.UI.Components.Pages.MainPage = React.createClass({
classes[this.props['style']] = true;
//console.log("MAIN PAGE", this.props['showGlobalMask']);
return React.DOM.div({'className':React.addons.classSet(classes)}, [
return React.DOM.div({'key':'mainPage', 'className':Clipperz.PM.UI.Components.classNames(classes)/*Clipperz.PM.UI.Components.classNames(classes)*/}, [
this.props['style'] != 'extra-wide' ? Clipperz.PM.UI.Components.Panels.SelectionPanel(this.props) : null,
Clipperz.PM.UI.Components.Panels.MainPanel(this.props),
Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanel(this.props),
@ -70,3 +70,5 @@ Clipperz.PM.UI.Components.Pages.MainPage = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.Pages.MainPage = React.createFactory(Clipperz.PM.UI.Components.Pages.MainPageClass);

View File

@ -23,7 +23,7 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI.Components.Pages');
Clipperz.PM.UI.Components.Pages.RegistrationPage = React.createClass({
Clipperz.PM.UI.Components.Pages.RegistrationPageClass = React.createClass({
getDefaultProps: function () {
return {
@ -160,69 +160,69 @@ Clipperz.PM.UI.Components.Pages.RegistrationPage = React.createClass({
//=========================================================================
renderIndexStep: function (aStep) {
return React.DOM.div({'className':'stepIndexItem ' + this.statusClassForStep(aStep)}, '.');
return React.DOM.div({'key':'indexStep' + aStep['name'], 'className':'stepIndexItem ' + this.statusClassForStep(aStep)}, '.');
},
renderButtons: function () {
return [
React.DOM.a({className:'back button step_' + (this.currentStepIndex() - 1), onClick:this.handleBackClick}, '<<'),
React.DOM.a({className:'forward button step_' + (this.currentStepIndex() + 1) + ' ' + (this.canMoveForward() ? 'enabled' : 'disabled'), onClick:this.handleForwardClick}, '>>')
React.DOM.a({'key':'backButton', 'className':'back button step_' + (this.currentStepIndex() - 1), onClick:this.handleBackClick}, '<<'),
React.DOM.a({'key':'forwardButton', 'className':'forward button step_' + (this.currentStepIndex() + 1) + ' ' + (this.canMoveForward() ? 'enabled' : 'disabled'), onClick:this.handleForwardClick}, '>>')
];
},
render_CREDENTIALS: function () {
return React.DOM.div(null,[
React.DOM.label({'htmlFor':'name'}, "username"),
React.DOM.input({'type':'text', 'name':'name', 'ref':'username', 'placeholder':"username", 'key':'username', 'autoCapitalize':'none'/*, value:this.state.username*/}),
React.DOM.label({'htmlFor':'passphrase'}, "passphrase"),
React.DOM.input({'type':'password', 'name':'passphrase', 'ref':'passphrase', 'placeholder':"passphrase", 'key':'passphrase'/*, value:this.state.passphrase*/})
return React.DOM.div({'key':'credentials'},[
React.DOM.label({'key':'usernameLabel', 'htmlFor':'name'}, "username"),
React.DOM.input({'key':'username', 'type':'text', 'name':'name', 'ref':'username', 'placeholder':"username", 'autoCapitalize':'none'/*, value:this.state.username*/}),
React.DOM.label({'key':'passphraseLabel', 'htmlFor':'passphrase'}, "passphrase"),
React.DOM.input({'key':'passphrase', 'type':'password', 'name':'passphrase', 'ref':'passphrase', 'placeholder':"passphrase"/*, value:this.state.passphrase*/})
]);
},
render_PASSWORD_VERIFICATION: function () {
return React.DOM.div(null,[
React.DOM.label({'htmlFor':'verify_passphrase'}, "passphrase"),
React.DOM.input({'type':'password', 'name':'verify_passphrase', 'ref':'verify_passphrase', 'placeholder':"verify passphrase", 'key':'verify_passphrase'})
return React.DOM.div({'key':'passwordVerification'},[
React.DOM.label({'key':'verifyPassphraseLabel', 'htmlFor':'verify_passphrase'}, "passphrase"),
React.DOM.input({'key':'verifyPassphrase', 'type':'password', 'name':'verify_passphrase', 'ref':'verify_passphrase', 'placeholder':"verify passphrase"})
]);
},
render_TERMS_OF_SERVICE: function () {
return React.DOM.div(null, [
React.DOM.div({className:'checkboxBlock'}, [
React.DOM.label({'htmlFor':'no_password_recovery'}, "I understand that Clipperz will not be able to recover a lost passphrase."),
React.DOM.input({'type':'checkbox', 'name':'no_password_recovery', 'ref':'no_password_recovery', 'key':'no_password_recovery'}),
React.DOM.p(null, "I understand that Clipperz will not be able to recover a lost passphrase.")
return React.DOM.div({'key':'termsOfService'}, [
React.DOM.div({'key':'termsOfService_choice_1', 'className':'checkboxBlock'}, [
React.DOM.label({'key':'termsOfService_label_1', 'htmlFor':'no_password_recovery'}, "I understand that Clipperz will not be able to recover a lost passphrase."),
React.DOM.input({'key':'no_password_recovery', 'type':'checkbox', 'name':'no_password_recovery', 'ref':'no_password_recovery'}),
React.DOM.p({'key':'termsOfService_description_1'}, "I understand that Clipperz will not be able to recover a lost passphrase.")
]),
React.DOM.div({className:'checkboxBlock'}, [
React.DOM.label({'htmlFor':'agree_terms_of_service'}, "I have read and agreed to the Terms of Service."),
React.DOM.input({'type':'checkbox', 'name':'agree_terms_of_service', 'ref':'agree_terms_of_service', 'key':'agree_terms_of_service'}),
React.DOM.p(null, [
"I have read and agreed to the ",
React.DOM.a({href:'https://clipperz.com/terms_service/', target:'_blank'}, "Terms of Service.")
React.DOM.div({'key':'termsOfService_choice_2', 'className':'checkboxBlock'}, [
React.DOM.label({'key':'termsOfService_label_2', 'htmlFor':'agree_terms_of_service'}, "I have read and agreed to the Terms of Service."),
React.DOM.input({'key':'agree_terms_of_service', 'type':'checkbox', 'name':'agree_terms_of_service', 'ref':'agree_terms_of_service'}),
React.DOM.p({'key':'termsOfService_description_2'}, [
React.DOM.span({'key':'termsOfService_description_2_p1'}, "I have read and agreed to the "),
React.DOM.a({'key':'termsOfService_description_2_p2', 'href':'https://clipperz.com/terms_service/', target:'_blank'}, "Terms of Service.")
])
])
]);
},
renderStep: function (aStep) {
return React.DOM.div({'className':'step' + ' ' + aStep['name'] + ' ' + this.statusClassForStep(aStep) + ' step_' + this.currentStepIndex()}, [
// React.DOM.h1(null, aStep['label']),
React.DOM.p(null, aStep['description']),
React.DOM.div({'className':'stepBody'}, this['render_' + aStep['name']].apply()),
React.DOM.div({'className':'stepIndex'}, MochiKit.Base.map(this.renderIndexStep, this.props['steps'])),
React.DOM.div({'className':'buttons'}, this.renderButtons())
return React.DOM.div({'key':'step' + aStep['name'], 'className':'step' + ' ' + aStep['name'] + ' ' + this.statusClassForStep(aStep) + ' step_' + this.currentStepIndex()}, [
//! React.DOM.h1(null, aStep['label']),
React.DOM.p({'key':'stepDescription'}, aStep['description']),
React.DOM.div({'key':'stepBody', 'className':'stepBody'}, this['render_' + aStep['name']].apply()),
React.DOM.div({'key':'stepIndex', 'className':'stepIndex'}, MochiKit.Base.map(this.renderIndexStep, this.props['steps'])),
React.DOM.div({'key':'stepBottons', 'className':'buttons'}, this.renderButtons())
]);
},
render: function () {
return React.DOM.div({'className':'registrationForm'},[
React.DOM.header({'key':'header'}, 'clipperz'),
React.DOM.div({'className':'form'}, [
React.DOM.form({onChange: this.handleChange}, [
React.DOM.div({'className':'steps'}, MochiKit.Base.map(this.renderStep, this.props['steps']))
React.DOM.div({'key':'body', 'className':'form'}, [
React.DOM.form({'key':'registrationForm', 'onChange': this.handleChange}, [
React.DOM.div({'key':'steps', 'className':'steps'}, MochiKit.Base.map(this.renderStep, this.props['steps']))
])
]),
React.DOM.footer({}, [
React.DOM.footer({'key':'footer'}, [
React.DOM.a({'key':'login', 'onClick':this.handleLoginLinkClick}, "Login")
])
]);
@ -250,3 +250,5 @@ Clipperz.PM.UI.Components.Pages.RegistrationPage = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.Pages.RegistrationPage = React.createFactory(Clipperz.PM.UI.Components.Pages.RegistrationPageClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
"use strict";
Clipperz.Base.module('Clipperz.PM.UI.Components.Panels');
Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanel = React.createClass({
Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanelClass = React.createClass({
settingsToggleHandler: function (anEvent) {
//console.log("settingsToggleHandler");
@ -77,43 +77,43 @@ Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanel = React.createClass({
'disabled': !this.isFeatureEnabled('OFFLINE_COPY')
}
return React.DOM.div({'key':'extraFeaturesPanel', 'id':'extraFeaturesPanel', 'className':React.addons.classSet(classes)}, [
React.DOM.header({}, [
React.DOM.div({'className':'settingsToggle'}, [
Clipperz.PM.UI.Components.Button({'eventName':'settingsToggleButton', 'label':"menu", 'handler':this.settingsToggleHandler})
return React.DOM.div({'key':'extraFeaturesPanel', 'id':'extraFeaturesPanel', 'className':Clipperz.PM.UI.Components.classNames(classes)}, [
React.DOM.header({'key':'header'}, [
React.DOM.div({'key':'headerDiv', 'className':'settingsToggle'}, [
Clipperz.PM.UI.Components.Button({'key':'button', 'eventName':'settingsToggleButton', 'label':"menu", 'handler':this.settingsToggleHandler})
])
]),
React.DOM.div({}, [
React.DOM.ul({}, [
React.DOM.li({'className':this.state['account'] ? 'open' : 'closed'}, [
React.DOM.h1({'onClick':this.toggleState('account')}, "Account"),
React.DOM.ul({}, [
React.DOM.li({}, [
React.DOM.h2({}, "Passphrase"),
React.DOM.div({}, [
React.DOM.p({}, "")
React.DOM.div({'key':'ulWrapper'}, [
React.DOM.ul({'key':'ul'}, [
React.DOM.li({'key':'account', 'className':this.state['account'] ? 'open' : 'closed'}, [
React.DOM.h1({'key':'accountH1', 'onClick':this.toggleState('account')}, "Account"),
React.DOM.ul({'key':'accountUL'}, [
React.DOM.li({'key':'account_1'}, [
React.DOM.h2({'key':'account_1_h2'}, "Passphrase"),
React.DOM.div({'key':'account_1_div'}, [
React.DOM.p({'key':'account_1_p'}, "")
])
]),
React.DOM.li({}, [
React.DOM.li({'key':'account_2'}, [
React.DOM.h2({}, "One Time Passwords"),
React.DOM.div({}, [
React.DOM.p({}, "")
])
]),
React.DOM.li({}, [
React.DOM.li({'key':'account_3'}, [
React.DOM.h2({}, "Device PIN"),
React.DOM.div({}, [
React.DOM.p({}, "Configure a PIN that will allow to get access to your cards, but only on this device.")
])
]),
React.DOM.li({}, [
React.DOM.li({'key':'account_4'}, [
React.DOM.h2({}, "Preferences"),
React.DOM.div({}, [
React.DOM.p({}, "")
])
]),
React.DOM.li({}, [
React.DOM.li({'key':'account_5'}, [
React.DOM.h2({}, "Delete account"),
React.DOM.div({}, [
React.DOM.p({}, "")
@ -121,28 +121,28 @@ Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanel = React.createClass({
])
])
]),
React.DOM.li({'className':this.state['subscription'] ? 'open' : 'closed'}, [
React.DOM.li({'key':'subscription', 'className':this.state['subscription'] ? 'open' : 'closed'}, [
React.DOM.h1({'onClick':this.toggleState('subscription')}, "Subscription"),
React.DOM.ul({}, [
React.DOM.li({}, [
React.DOM.ul({'key':'subscription'}, [
React.DOM.li({'key':'subscription_1'}, [
React.DOM.h2({}, "x1"),
React.DOM.div({}, [
React.DOM.p({}, "")
])
]),
React.DOM.li({}, [
React.DOM.li({'key':'subscription_2'}, [
React.DOM.h2({}, "x2"),
React.DOM.div({}, [
React.DOM.p({}, "")
])
]),
React.DOM.li({}, [
React.DOM.li({'key':'subscription_3'}, [
React.DOM.h2({}, "x3"),
React.DOM.div({}, [
React.DOM.p({}, "")
])
]),
React.DOM.li({}, [
React.DOM.li({'key':'subscription_4'}, [
React.DOM.h2({}, "x4"),
React.DOM.div({}, [
React.DOM.p({}, "")
@ -150,29 +150,29 @@ Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanel = React.createClass({
])
])
]),
React.DOM.li({'className':this.state['data'] ? 'open' : 'closed'}, [
React.DOM.li({'key':'data', 'className':this.state['data'] ? 'open' : 'closed'}, [
React.DOM.h1({'onClick':this.toggleState('data')}, "Data"),
React.DOM.ul({}, [
React.DOM.li({}, [
React.DOM.ul({'key':'data'}, [
React.DOM.li({'key':'data_1'}, [
React.DOM.h2({}, "Offline copy"),
React.DOM.div({}, [
React.DOM.p({}, "With just one click you can dump all your encrypted data from Clipperz servers to your hard disk and create a read-only offline version of Clipperz to be used when you are not connected to the Internet."),
React.DOM.a({'className':React.addons.classSet(offlineCopyButtonClasses), 'onClick':this.handleDownloadOfflineCopyLink}, "Download")
React.DOM.a({'className':Clipperz.PM.UI.Components.classNames(offlineCopyButtonClasses), 'onClick':this.handleDownloadOfflineCopyLink}, "Download")
])
]),
React.DOM.li({}, [
React.DOM.li({'key':'data_2'}, [
React.DOM.h2({}, "Import"),
React.DOM.div({}, [
React.DOM.p({}, "")
])
]),
React.DOM.li({}, [
React.DOM.li({'key':'data_3'}, [
React.DOM.h2({}, "Export"),
React.DOM.div({}, [
React.DOM.p({}, "")
])
]),
React.DOM.li({}, [
React.DOM.li({'key':'data_4'}, [
React.DOM.h2({}, "Sharing"),
React.DOM.div({}, [
React.DOM.p({}, "")
@ -182,12 +182,14 @@ Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanel = React.createClass({
])
])
]),
React.DOM.footer({'className':'applicationVersion'}, [
React.DOM.span({}, "application version"),
React.DOM.a({'href':'https://github.com/clipperz/password-manager/commit/' + Clipperz_version, 'target':'github'}, Clipperz_version)
React.DOM.footer({'key':'footer', 'className':'applicationVersion'}, [
React.DOM.span({'key':'applicationVersion'}, "application version"),
React.DOM.a({'key':'applicationVersionLink', 'href':'https://github.com/clipperz/password-manager/commit/' + Clipperz_version, 'target':'github'}, Clipperz_version)
])
]);
}
//=========================================================================
});
Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanel = React.createFactory(Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanelClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components.Panels');
Clipperz.PM.UI.Components.Panels.MainPanel = React.createClass({
Clipperz.PM.UI.Components.Panels.MainPanelClass = React.createClass({
//=========================================================================
@ -86,7 +86,7 @@ Clipperz.PM.UI.Components.Panels.MainPanel = React.createClass({
'addCard': this.isFeatureEnabled('ADD_CARD')
}
return React.DOM.div({'key':'cardContent', 'className':'cardContent'}, [
React.DOM.div({'className':React.addons.classSet(cardColumnClasses)}, [addCardButton, firstColumnComponents]),
React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(cardColumnClasses)}, [addCardButton, firstColumnComponents]),
React.DOM.div({'className':'cardDetail column right'}, secondColumnComponents)
])
},
@ -193,7 +193,7 @@ Clipperz.PM.UI.Components.Panels.MainPanel = React.createClass({
};
classes[this.style()] = true;
return React.DOM.div({'key':'mainPanel', 'id':'mainPanel', 'className':React.addons.classSet(classes)}, [
return React.DOM.div({'key':'mainPanel', 'id':'mainPanel', 'className':Clipperz.PM.UI.Components.classNames(classes)}, [
React.DOM.div({'className':'mask', 'onClick':this.handleMaskClick, 'onTouchEnd':this.handleMaskClick}),
React.DOM.div({'className':'container'},
// this.style() == 'extra-wide' ? this.renderExtraWide() : this.renderOther()
@ -204,3 +204,5 @@ Clipperz.PM.UI.Components.Panels.MainPanel = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.Panels.MainPanel = React.createFactory(Clipperz.PM.UI.Components.Panels.MainPanelClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components.Panels');
Clipperz.PM.UI.Components.Panels.SelectionPanel = React.createClass({
Clipperz.PM.UI.Components.Panels.SelectionPanelClass = React.createClass({
propTypes: {
selectionPanelStatus: React.PropTypes.oneOf(['OPEN', 'CLOSED']).isRequired
@ -34,7 +34,7 @@ Clipperz.PM.UI.Components.Panels.SelectionPanel = React.createClass({
render: function () {
//console.log("SelectionPanel", this.props);
var classes = React.addons.classSet({
var classes = Clipperz.PM.UI.Components.classNames({
'panel': true,
'left': true,
'open': this.props['selectionPanelStatus'] == 'OPEN'
@ -47,3 +47,5 @@ Clipperz.PM.UI.Components.Panels.SelectionPanel = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.Panels.SelectionPanel = React.createFactory(Clipperz.PM.UI.Components.Panels.SelectionPanelClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.Selections = React.createClass({
Clipperz.PM.UI.Components.SelectionsClass = React.createClass({
//=========================================================================
@ -140,3 +140,5 @@ Clipperz.PM.UI.Components.Selections = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.Selections = React.createFactory(Clipperz.PM.UI.Components.SelectionsClass);

View File

@ -24,7 +24,7 @@ refer to http://www.clipperz.com.
'use strict';
Clipperz.Base.module('Clipperz.PM.UI.Components');
Clipperz.PM.UI.Components.TagIndexItem = React.createClass({
Clipperz.PM.UI.Components.TagIndexItemClass = React.createClass({
//=========================================================================
@ -43,7 +43,7 @@ Clipperz.PM.UI.Components.TagIndexItem = React.createClass({
'selected': this.props['selected']
}
return React.DOM.li({'onClick': this.handleClick, 'className':React.addons.classSet(classes), 'data-tag':this.props['label']}, [
return React.DOM.li({'onClick': this.handleClick, 'className':Clipperz.PM.UI.Components.classNames(classes), 'data-tag':this.props['label']}, [
React.DOM.span({'className':'label'}, this.props['label']),
React.DOM.span({'className':'count'}, this.props['count'])
]);
@ -51,3 +51,5 @@ Clipperz.PM.UI.Components.TagIndexItem = React.createClass({
//=========================================================================
});
Clipperz.PM.UI.Components.TagIndexItem = React.createFactory(Clipperz.PM.UI.Components.TagIndexItemClass);

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -43,7 +43,10 @@
"MochiKit/Selector.js",
"-- MochiKit/Visual.js",
"React/react-with-addons-0.12.2.js",
"React/react-0.13.1.js",
"-- React/react.min-0.13.1.js",
"-- #React/react-with-addons-0.13.1.js",
"-- #React/react-with-addons.min-0.13.1.js",
"MouseTrap/mousetrap.js",
"-- MouseTrap/mousetrap-bind-dictionary.js",
@ -142,6 +145,7 @@
"-- Clipperz/PM/UI/Web/Controllers/MainController.js",
"Clipperz/PM/UI/Components.js",
"Clipperz/PM/UI/Components/Overlay.js",
"Clipperz/PM/UI/Components/Button.js",
"Clipperz/PM/UI/Components/Checkbox.js",