Updated preferences handling

This commit is contained in:
Giulio Cesare Solaroli 2015-09-23 13:44:29 +02:00
parent 6ad0024600
commit 376ccf24e9
10 changed files with 68 additions and 85 deletions

View File

@ -2328,7 +2328,7 @@ span.count {
border: 0px; border: 0px;
color: white; color: white;
background-color: black; background-color: black;
border-bottom: 1px solid white; } border-bottom: 1px solid #333; }
#extraFeaturesPanel .extraFeatureContent .preferences select { #extraFeaturesPanel .extraFeatureContent .preferences select {
font-size: 12pt; } font-size: 12pt; }
#extraFeaturesPanel .extraFeatureContent .preferences .row { #extraFeaturesPanel .extraFeatureContent .preferences .row {
@ -2370,8 +2370,7 @@ span.count {
color: gray; } color: gray; }
#extraFeaturesPanel .extraFeatureContent .preferences .row.lockTimeout .disabled input { #extraFeaturesPanel .extraFeatureContent .preferences .row.lockTimeout .disabled input {
color: gray; color: gray;
pointer-events: none; pointer-events: none; }
border-bottom: 1px solid gray; }
#extraFeaturesPanel .extraFeatureContent .preferences .row.lockTimeout .timeUnit { #extraFeaturesPanel .extraFeatureContent .preferences .row.lockTimeout .timeUnit {
padding-left: 8px; } padding-left: 8px; }
#extraFeaturesPanel .extraFeatureContent .preferences .row.lockTimeout .timeUnit:after { #extraFeaturesPanel .extraFeatureContent .preferences .row.lockTimeout .timeUnit:after {

File diff suppressed because one or more lines are too long

View File

@ -87,6 +87,7 @@ Clipperz.PM.DataModel.User.Header.Preferences.defaultPreferences = {
'space': false, 'space': false,
'!#?': true, '!#?': true,
}, },
// 'charset': '',
}, },
// legacy preferences // legacy preferences

View File

@ -39,6 +39,7 @@ Clipperz.PM.UI.Components.Cards.DetailClass = React.createClass({
result['ask'] = (this.props['style'] == 'narrow') ? this.props['ask'] : null; result['ask'] = (this.props['style'] == 'narrow') ? this.props['ask'] : null;
result['showGlobalMask'] = this.props['showGlobalMask']; result['showGlobalMask'] = this.props['showGlobalMask'];
result['allTags'] = this.props['allTags']; result['allTags'] = this.props['allTags'];
result['preferences'] = this.props['preferences'];
} }
return result; return result;

View File

@ -533,7 +533,7 @@ console.log("DROP"); //, anEvent);
React.DOM.input({'_className_':'_fieldLabel_', 'onChange':this.handleChange(field, 'setLabel'), 'defaultValue':aField['label'], 'placeholder': "label"}), React.DOM.input({'_className_':'_fieldLabel_', 'onChange':this.handleChange(field, 'setLabel'), 'defaultValue':aField['label'], 'placeholder': "label"}),
]), ]),
React.DOM.div({'className':'fieldValue'}, [ React.DOM.div({'className':'fieldValue'}, [
(ref == this.state['passwordGeneratorFieldReference']) ? Clipperz.PM.UI.Components.Cards.PasswordGenerator({'field':aField, 'setValueCallback':this.setValueFromPasswordGenerator(field, fieldValueRef), 'closeClallback':this.closePasswordGenerator}) : null, (ref == this.state['passwordGeneratorFieldReference']) ? Clipperz.PM.UI.Components.Cards.PasswordGenerator({'field':aField, 'setValueCallback':this.setValueFromPasswordGenerator(field, fieldValueRef), 'closeClallback':this.closePasswordGenerator, 'preferences':this.props['preferences']}) : null,
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':(aField['actionType'].toLowerCase() == 'password')?'':"value", 'ref':fieldValueRef}), 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':(aField['actionType'].toLowerCase() == 'password')?'':"value", 'ref':fieldValueRef}),
]) ])
]), ]),
@ -608,7 +608,6 @@ console.log("DROP"); //, anEvent);
'edit': true 'edit': true
} }
//console.log("RENDER CARD EDIT", this.props['showGlobalMask']);
return React.DOM.div({'className':'editWrapper'}, [ return React.DOM.div({'className':'editWrapper'}, [
this.props['showGlobalMask'] ? null : React.DOM.div({'className':'mask'}), this.props['showGlobalMask'] ? null : React.DOM.div({'className':'mask'}),
React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(classes)},[ React.DOM.div({'className':Clipperz.PM.UI.Components.classNames(classes)},[

View File

@ -38,14 +38,15 @@ Clipperz.PM.UI.Components.Cards.PasswordGeneratorClass = React.createClass({
getInitialState: function () { getInitialState: function () {
return { return {
'length': 24, 'length': this.props['preferences'].getValue('passwordGenerator.length'),
'options': 'closed', 'options': 'closed',
'chars_AZ': true, 'chars_AZ': this.props['preferences'].getValue('passwordGenerator.characters.A-Z'),
'chars_az': true, 'chars_az': this.props['preferences'].getValue('passwordGenerator.characters.a-z'),
'chars_09': true, 'chars_09': this.props['preferences'].getValue('passwordGenerator.characters.0-9'),
'chars_space': false, 'chars_space': this.props['preferences'].getValue('passwordGenerator.characters.space'),
'chars_other': true, 'chars_other': this.props['preferences'].getValue('passwordGenerator.characters.!#?'),
// 'charset': this.props['preferences'].getValue('passwordGenerator.charset'),
'charset': '', 'charset': '',
'password': '', 'password': '',
'entropy': 0, 'entropy': 0,
@ -154,10 +155,6 @@ Clipperz.PM.UI.Components.Cards.PasswordGeneratorClass = React.createClass({
} }
}, },
// isPasswordField: function () {
// return this.props['field']['actionType'] == 'PASSWORD';
// },
componentDidMount: function () { componentDidMount: function () {
this.updateCharset(); this.updateCharset();
this.refreshPasswordValue(); this.refreshPasswordValue();
@ -208,7 +205,6 @@ Clipperz.PM.UI.Components.Cards.PasswordGeneratorClass = React.createClass({
React.DOM.div({'className':'button setPasswordValue', 'onClick':this.setPasswordValue}, "set password"), React.DOM.div({'className':'button setPasswordValue', 'onClick':this.setPasswordValue}, "set password"),
React.DOM.div({'className':'button generatePassword', 'onClick':this.refreshPasswordValue}, "generate password"), React.DOM.div({'className':'button generatePassword', 'onClick':this.refreshPasswordValue}, "generate password"),
]), ]),
// React.DOM.div({'className':'button setValue', 'onClick':this.setPasswordValue})
]) ])
]) ])
]); ]);

View File

@ -32,7 +32,7 @@ Clipperz.PM.UI.Components.ExtraFeatures.PreferencesClass = React.createClass({
//============================================================================ //============================================================================
preference: function (aKeyPath) { preference: function (aKeyPath) {
return this.props['userInfo']['preferences'].getValue(aKeyPath); return this.props['preferences'].getValue(aKeyPath);
}, },
setPreference: function (aKeyPath) { setPreference: function (aKeyPath) {
@ -92,10 +92,8 @@ console.log("ESCAPE");
render: function () { render: function () {
var result; var result;
//console.log("PREFERENCES", this.props['userInfo']['preferences']); if (! this.props['preferences']) {
result = React.DOM.p({}, "spinner..."); // TODO: replace with actual spinner (if actually needed)
if (! this.props['userInfo']['preferences']) {
result = React.DOM.p({}, "spinner...");
} else { } else {
result = React.DOM.div({'className':'extraFeature preferences'}, [ result = React.DOM.div({'className':'extraFeature preferences'}, [
React.DOM.div({'className':'header'}, [ React.DOM.div({'className':'header'}, [
@ -142,7 +140,11 @@ console.log("ESCAPE");
React.DOM.li({'key':'0-9'}, [ React.DOM.span({'className':'clickable', 'onClick':this.checkboxClick('0-9')}, "0-9"), React.DOM.input({'type':'checkbox', 'defaultChecked':this.preference('passwordGenerator.characters.0-9'), 'onChange':this.setPreference('passwordGenerator.characters.0-9'), 'ref':'0-9'}) ]), React.DOM.li({'key':'0-9'}, [ React.DOM.span({'className':'clickable', 'onClick':this.checkboxClick('0-9')}, "0-9"), React.DOM.input({'type':'checkbox', 'defaultChecked':this.preference('passwordGenerator.characters.0-9'), 'onChange':this.setPreference('passwordGenerator.characters.0-9'), 'ref':'0-9'}) ]),
React.DOM.li({'key':'space'}, [ React.DOM.span({'className':'clickable', 'onClick':this.checkboxClick('space')}, "space"), React.DOM.input({'type':'checkbox', 'defaultChecked':this.preference('passwordGenerator.characters.space'), 'onChange':this.setPreference('passwordGenerator.characters.space'), 'ref':'space'}) ]), React.DOM.li({'key':'space'}, [ React.DOM.span({'className':'clickable', 'onClick':this.checkboxClick('space')}, "space"), React.DOM.input({'type':'checkbox', 'defaultChecked':this.preference('passwordGenerator.characters.space'), 'onChange':this.setPreference('passwordGenerator.characters.space'), 'ref':'space'}) ]),
React.DOM.li({'key':'!#?'}, [ React.DOM.span({'className':'clickable', 'onClick':this.checkboxClick('!#?')}, "!#?"), React.DOM.input({'type':'checkbox', 'defaultChecked':this.preference('passwordGenerator.characters.!#?'), 'onChange':this.setPreference('passwordGenerator.characters.!#?'), 'ref':'!#?'}) ]), React.DOM.li({'key':'!#?'}, [ React.DOM.span({'className':'clickable', 'onClick':this.checkboxClick('!#?')}, "!#?"), React.DOM.input({'type':'checkbox', 'defaultChecked':this.preference('passwordGenerator.characters.!#?'), 'onChange':this.setPreference('passwordGenerator.characters.!#?'), 'ref':'!#?'}) ]),
]) ]),
// React.DOM.p({}, [
// React.DOM.span({}, "Charset"),
// React.DOM.input({'type':'text', 'defaultValue':this.preference('passwordGenerator.charset'), 'onKeyDown':this.handleKeyDown('passwordGenerator.charset')}),
// ]),
]), ]),
]), ]),

View File

@ -101,7 +101,6 @@ Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanelClass = React.createClass({
}, },
extraFeaturesProps: function () { extraFeaturesProps: function () {
// console.log("ExtraFeaturesPanel, extraFeaturesProps:",this.props);
return this.props; return this.props;
}, },
@ -117,18 +116,13 @@ Clipperz.PM.UI.Components.Panels.ExtraFeaturesPanelClass = React.createClass({
}, },
showExtraFeatureContent: function (aComponent, aComponentName) { showExtraFeatureContent: function (aComponent, aComponentName) {
// console.log("ExtraFeaturesPanel, showExtraFeatureContent")
if (aComponentName == 'OTP') { if (aComponentName == 'OTP') {
MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'updateOTPListAndDetails'); MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'updateOTPListAndDetails');
} }
if (aComponentName == 'Preferences') {
MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'updatePreferences');
}
this.setState({ this.setState({
'isFullyOpen':true, 'isFullyOpen':true,
'extraFeatureComponentName': aComponentName, 'extraFeatureComponentName': aComponentName,
// 'extraFeatureContent': aComponent(this.extraFeaturesProps()),
'extraFeatureContentComponent': aComponent // Trying to instantiate the component at every render 'extraFeatureContentComponent': aComponent // Trying to instantiate the component at every render
}); });
}, },

View File

@ -25,7 +25,6 @@ refer to http://www.clipperz.com.
Clipperz.Base.module('Clipperz.PM.UI'); Clipperz.Base.module('Clipperz.PM.UI');
Clipperz.PM.UI.MainController = function() { Clipperz.PM.UI.MainController = function() {
var genericPageProperties;
// this._proxy = null; // this._proxy = null;
this._mediaQueryStyle = "narrow"; this._mediaQueryStyle = "narrow";
@ -44,6 +43,7 @@ Clipperz.PM.UI.MainController = function() {
this._isDesktop = window.screenX != 0 && !this._isTouchDevice; this._isDesktop = window.screenX != 0 && !this._isTouchDevice;
this._hasKeyboard = this._isDesktop; this._hasKeyboard = this._isDesktop;
this._userPreferences = null;
this._recordsInfo = null; this._recordsInfo = null;
this._selectedCards = null; this._selectedCards = null;
@ -66,11 +66,10 @@ Clipperz.PM.UI.MainController = function() {
this.registerForNotificationCenterEvents([ this.registerForNotificationCenterEvents([
'doLogin', 'registerNewUser', 'showRegistrationForm', 'goBack', 'doLogin', 'registerNewUser', 'showRegistrationForm', 'goBack',
'logout', 'unlock', 'logout',
'enableLock', 'disableLock', 'enableLock', 'disableLock', 'unlock',
// 'lock',
'changePassphrase', 'deleteAccount', 'changePassphrase', 'deleteAccount',
'updatePreferences', 'setPreference', /*'updateUserPreferences',*/ 'setPreference',
'updateOTPListAndDetails', 'createNewOTP', 'deleteOTPs', 'changeOTPLabel', 'updateOTPListAndDetails', 'createNewOTP', 'deleteOTPs', 'changeOTPLabel',
'importCards', 'importCards',
'downloadExport', 'downloadExport',
@ -362,6 +361,7 @@ Clipperz.log("THE BROWSER IS OFFLINE");
deferredResult.addMethod(Clipperz.PM.PIN, 'resetFailedAttemptCount'); deferredResult.addMethod(Clipperz.PM.PIN, 'resetFailedAttemptCount');
} }
deferredResult.addMethod(this, 'setUser', user); deferredResult.addMethod(this, 'setUser', user);
deferredResult.addMethod(this, 'updateUserPreferences');
deferredResult.addMethod(this, 'runApplication'); deferredResult.addMethod(this, 'runApplication');
deferredResult.addMethod(this.overlay(), 'done', "", 1); deferredResult.addMethod(this.overlay(), 'done', "", 1);
deferredResult.addErrback(MochiKit.Base.method(this, 'genericErrorHandler', someCredentials, "login failed")); deferredResult.addErrback(MochiKit.Base.method(this, 'genericErrorHandler', someCredentials, "login failed"));
@ -436,6 +436,7 @@ Clipperz.log("THE BROWSER IS OFFLINE");
return aValue; return aValue;
}); });
deferredResult.addMethod(this, 'updateUserPreferences');
deferredResult.addMethod(this, 'moveInPage', this.currentPage(), 'mainPage'); deferredResult.addMethod(this, 'moveInPage', this.currentPage(), 'mainPage');
deferredResult.addMethod(this, 'refreshUI'); deferredResult.addMethod(this, 'refreshUI');
deferredResult.addMethod(unlockPage, 'setProps', {'disabled': false}); deferredResult.addMethod(unlockPage, 'setProps', {'disabled': false});
@ -458,6 +459,7 @@ Clipperz.log("THE BROWSER IS OFFLINE");
this._recordsInfo = null; this._recordsInfo = null;
this._selectedCards = null; this._selectedCards = null;
this._selectedCardInfo = null; this._selectedCardInfo = null;
this._userPreferences = null;
}, },
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
@ -1164,7 +1166,7 @@ Clipperz.log("THE BROWSER IS OFFLINE");
}; };
}, },
genericPageProperties: function () { deviceProperties: function () {
return { return {
'style': this.mediaQueryStyle(), 'style': this.mediaQueryStyle(),
'isTouchDevice': this.isTouchDevice(), 'isTouchDevice': this.isTouchDevice(),
@ -1177,7 +1179,11 @@ Clipperz.log("THE BROWSER IS OFFLINE");
var result; var result;
var extraProperties = null; var extraProperties = null;
result = this.genericPageProperties(); result = this.deviceProperties();
if (this.user() != null) {
result = MochiKit.Base.update(result, {'preferences': this.userPreferences()});
}
if (aPageName == 'loginPage') { if (aPageName == 'loginPage') {
extraProperties = { extraProperties = {
@ -1191,7 +1197,6 @@ Clipperz.log("THE BROWSER IS OFFLINE");
extraProperties = { extraProperties = {
'messageBox': this.messageBoxContent(), 'messageBox': this.messageBoxContent(),
'userInfo': this.userInfo(), 'userInfo': this.userInfo(),
// 'preferences': ...
'accountInfo': this.userAccountInfo(), 'accountInfo': this.userAccountInfo(),
'selectionPanelStatus': this.isSelectionPanelOpen() ? 'OPEN' : 'CLOSED', 'selectionPanelStatus': this.isSelectionPanelOpen() ? 'OPEN' : 'CLOSED',
'settingsPanelStatus': this.isSettingsPanelOpen() ? 'OPEN' : 'CLOSED', 'settingsPanelStatus': this.isSettingsPanelOpen() ? 'OPEN' : 'CLOSED',
@ -1204,6 +1209,9 @@ Clipperz.log("THE BROWSER IS OFFLINE");
// 'tags': …, // 'tags': …,
// 'selectedCard': …, // 'selectedCard': …,
}; };
} else if (aPageName == 'cardDetailPage') {
extraProperties = {
};
} else if (aPageName == 'errorPage') { } else if (aPageName == 'errorPage') {
extraProperties = { extraProperties = {
'message': '' 'message': ''
@ -1415,7 +1423,6 @@ Clipperz.log("THE BROWSER IS OFFLINE");
}, },
refreshCardEditDetail_handler: function (aRecordReference) { refreshCardEditDetail_handler: function (aRecordReference) {
//console.log("refreshCardEditDetail_handler");
this.updateSelectedCard({'reference':aRecordReference}, false, true); this.updateSelectedCard({'reference':aRecordReference}, false, true);
}, },
@ -1450,14 +1457,11 @@ Clipperz.log("THE BROWSER IS OFFLINE");
user = new Clipperz.PM.DataModel.User({'username':this.user().username(), 'getPassphraseFunction':getPassphraseDelegate}); user = new Clipperz.PM.DataModel.User({'username':this.user().username(), 'getPassphraseFunction':getPassphraseDelegate});
deferredResult = new Clipperz.Async.Deferred("MainController.changePassphrase_handler", {trace: false}); deferredResult = new Clipperz.Async.Deferred("MainController.changePassphrase_handler", {trace: false});
// deferredResult.addMethod(currentPage, 'setProps', {'showGlobalMask':true});
deferredResult.addMethod(this.overlay(), 'show', "changing …", true); deferredResult.addMethod(this.overlay(), 'show', "changing …", true);
deferredResult.addMethod(this.user(), 'changePassphrase', getPassphraseDelegate); deferredResult.addMethod(this.user(), 'changePassphrase', getPassphraseDelegate);
deferredResult.addMethod(user, 'login'); deferredResult.addMethod(user, 'login');
deferredResult.addMethod(this, 'setUser', user); deferredResult.addMethod(this, 'setUser', user);
// deferredResult.addMethod(currentPage, 'setProps', {'mode':'view', 'showGlobalMask':false});
deferredResult.addMethod(this.overlay(), 'done', "saved", 1); deferredResult.addMethod(this.overlay(), 'done', "saved", 1);
deferredResult.callback(); deferredResult.callback();
return deferredResult; return deferredResult;
@ -1485,39 +1489,47 @@ Clipperz.log("THE BROWSER IS OFFLINE");
return deferredResult; return deferredResult;
}, },
updatePreferences: function() { //----------------------------------------------------------------------------
return Clipperz.Async.callbacks("MainController.updatePreferences_handler", [
userPreferences: function () {
return this._userPreferences;
},
setUserPreferences: function (someValues) {
this._userPreferences = someValues;
return someValues;
},
updateUserPreferences: function() {
return Clipperz.Async.callbacks("MainController.updateUserPreferences", [
MochiKit.Base.method(this.user(), 'getPreferences'), MochiKit.Base.method(this.user(), 'getPreferences'),
MochiKit.Base.bind(function(somePreferences) { MochiKit.Base.method(this, 'setUserPreferences'),
return MochiKit.Base.update(this.userInfo(), {'preferences': somePreferences})
}, this),
MochiKit.Base.bind(function (someUserInfo) {
this.pages()['mainPage'].setProps({
'userInfo': someUserInfo
})
}, this),
], {trace:false}); ], {trace:false});
}, },
updatePreferences_handler: function() { // updateUserPreferences_handler: function() {
this.updatePreferences(); // return Clipperz.Async.callbacks("MainController.updateUserPreferences_handler", [
}, // MochiKit.Base.method(this, 'updateUserPreferences'),
// MochiKit.Base.method(this, 'refreshCurrentPage'),
// ], {trace:false});
// },
setPreference_handler: function(aKeyPath, aValue) { setPreference_handler: function(aKeyPath, aValue) {
return Clipperz.Async.callbacks("MainController.setPreference_handler", [ return Clipperz.Async.callbacks("MainController.setPreference_handler", [
MochiKit.Base.method(this.overlay(), 'show', "", true), MochiKit.Base.method(this.overlay(), 'show', "", true),
MochiKit.Base.method(this.user(), 'setPreference', aKeyPath, aValue), MochiKit.Base.method(this.user(), 'setPreference', aKeyPath, aValue),
// MochiKit.Base.method(this, 'refreshCurrentPage'), MochiKit.Base.method(this, 'updateUserPreferences'),
MochiKit.Base.method(this, 'updatePreferences'), MochiKit.Base.method(this, 'refreshCurrentPage'),
MochiKit.Base.method(this.overlay(), 'done', "", 0.5), MochiKit.Base.method(this.overlay(), 'done', "", 0.5),
], {trace:false}); ], {trace:false});
}, },
//----------------------------------------------------------------------------
importCards_handler: function(data) { importCards_handler: function(data) {
return Clipperz.Async.callbacks("MainController.importCards_handler", [ return Clipperz.Async.callbacks("MainController.importCards_handler", [
MochiKit.Base.method(this.overlay(), 'show', "importing …", true), MochiKit.Base.method(this.overlay(), 'show', "importing …", true),
MochiKit.Base.partial(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'toggleSettingsPanel'), MochiKit.Base.partial(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'toggleSettingsPanel'),
// MochiKit.Base.method(this.pages()[this.currentPage()], 'setProps', {'mode':'view', 'showGlobalMask':false}),
function () { return data; }, function () { return data; },
MochiKit.Base.method(this,'importCards'), MochiKit.Base.method(this,'importCards'),
MochiKit.Base.method(this.overlay(), 'done', "finished", 1), MochiKit.Base.method(this.overlay(), 'done', "finished", 1),
@ -1529,14 +1541,6 @@ Clipperz.log("THE BROWSER IS OFFLINE");
return Clipperz.Async.callbacks("MainController.importCards", [ return Clipperz.Async.callbacks("MainController.importCards", [
function () { return data; }, function () { return data; },
MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this.user(), 'createNewRecordFromJSON')), MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this.user(), 'createNewRecordFromJSON')),
// MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.bind(function (recordData) {
// return Clipperz.Async.callbacks("MainController.importCards_handler-newRecord", [
// MochiKit.Base.method(this.user(), 'createNewRecord'),
// MochiKit.Base.methodcaller('setUpWithJSON', recordData),
// ], {trace:false})
// }, this)),
Clipperz.Async.collectAll, Clipperz.Async.collectAll,
MochiKit.Base.method(this.user(), 'saveChanges'), MochiKit.Base.method(this.user(), 'saveChanges'),
MochiKit.Base.partial(MochiKit.Base.method(this, 'resetRecordsInfo')), MochiKit.Base.partial(MochiKit.Base.method(this, 'resetRecordsInfo')),
@ -1671,17 +1675,6 @@ Clipperz.log("THE BROWSER IS OFFLINE");
}, },
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
/*
askConfirmation: function (aMessage) {
var deferredResult;
deferredResult = new Clipperz.Async.Deferred('MainController.askConfirmation', {trace:false});
deferredResult.callback();
// deferredResult.cancel();
return deferredResult;
},
*/
ask: function (someInfo) { ask: function (someInfo) {
var deferredResult; var deferredResult;
@ -1706,8 +1699,6 @@ Clipperz.log("THE BROWSER IS OFFLINE");
newRecord = aValue; newRecord = aValue;
return newRecord; return newRecord;
}, },
// MochiKit.Base.methodcaller('addField', {'label':"", 'value':"", 'isHidden':false}),
// function () { return newRecord; },
MochiKit.Base.methodcaller('addField', {'label':"username", 'value':"", 'hidden':false}), MochiKit.Base.methodcaller('addField', {'label':"username", 'value':"", 'hidden':false}),
function () { return newRecord; }, function () { return newRecord; },
MochiKit.Base.methodcaller('addField', {'label':"password", 'value':"", 'hidden':true}), MochiKit.Base.methodcaller('addField', {'label':"password", 'value':"", 'hidden':true}),

View File

@ -406,7 +406,7 @@ refer to http://www.clipperz.com.
color: white; color: white;
background-color: black; background-color: black;
border-bottom: 1px solid white; border-bottom: 1px solid #333;
// border: 0px solid white; // border: 0px solid white;
} }
@ -450,7 +450,7 @@ refer to http://www.clipperz.com.
input { input {
color: $disabledTextColor; color: $disabledTextColor;
pointer-events:none; pointer-events:none;
border-bottom: 1px solid $disabledTextColor; // border-bottom: 1px solid $disabledTextColor;
} }
} }