mirror of https://github.com/BTCPrivate/copay.git
fix form binding
This commit is contained in:
parent
b48afb2110
commit
d719697c30
|
@ -8,6 +8,9 @@ angular.module('copayApp.controllers').controller('CreateProfileController', fun
|
|||
identityService.goWalletHome();
|
||||
$scope.isMobile = isMobile.any();
|
||||
|
||||
$scope.createStep = 'storage';
|
||||
$scope.useLocalstorage = false;
|
||||
|
||||
pinService.makePinInput($scope, 'newpin', function(newValue) {
|
||||
_firstpin = newValue;
|
||||
$scope.askForPin = 2;
|
||||
|
@ -47,6 +50,33 @@ angular.module('copayApp.controllers').controller('CreateProfileController', fun
|
|||
});
|
||||
};
|
||||
|
||||
|
||||
$scope.setStorage = function(useLocalstorage) {
|
||||
console.log('[createProfile.js.53:useLocalstorage:]', useLocalstorage); //TODO
|
||||
console.log('[createProfile.js.53:useLocalstorage:]', $scope.useLocalstorage); //TODO
|
||||
//settingsService.save({...})
|
||||
$scope.createStep = 'email';
|
||||
$scope.useEmail = !useLocalstorage;
|
||||
$scope.useLocalstorage = useLocalstorage;
|
||||
$timeout(function() {
|
||||
$scope.$digest();
|
||||
}, 1);
|
||||
};
|
||||
|
||||
$scope.setEmailOrUsername = function(form) {
|
||||
console.log('[createProfile.js.53:useLocalstorage:]', $scope.useLocalstorage); //TODO
|
||||
|
||||
$scope.userOrEmail = $scope.useLocalstorage ? form.username.$modelValue : form.email.$modelValue;
|
||||
preconditions.checkState($scope.userOrEmail);
|
||||
|
||||
$scope.createStep = 'pass';
|
||||
$timeout(function() {
|
||||
$scope.$digest();
|
||||
}, 1);
|
||||
};
|
||||
|
||||
|
||||
|
||||
$scope.createDefaultWallet = function() {
|
||||
$rootScope.hideNavigation = false;
|
||||
identityService.createDefaultWallet(function(err) {
|
||||
|
@ -67,7 +97,7 @@ angular.module('copayApp.controllers').controller('CreateProfileController', fun
|
|||
return;
|
||||
}
|
||||
$scope.loading = true;
|
||||
identityService.create(form.email.$modelValue, form.password.$modelValue, function(err) {
|
||||
identityService.create( $scope.userOrEmail, form.password.$modelValue, function(err) {
|
||||
$scope.loading = false;
|
||||
|
||||
if (err) {
|
||||
|
@ -76,8 +106,6 @@ angular.module('copayApp.controllers').controller('CreateProfileController', fun
|
|||
msg = 'This profile already exists'
|
||||
}
|
||||
$timeout(function() {
|
||||
form.email.$setViewValue('');
|
||||
form.email.$render();
|
||||
form.password.$setViewValue('');
|
||||
form.password.$render();
|
||||
form.repeatpassword.$setViewValue('');
|
||||
|
|
|
@ -36,94 +36,53 @@
|
|||
</div>
|
||||
|
||||
|
||||
<form ng-show="0" name="profileForm" ng-submit="createProfile(profileForm)" novalidate>
|
||||
<form ng-show="createStep == 'storage' " novalidate>
|
||||
<tabset>
|
||||
<tab heading="In the cloud" style="width: 50%;">
|
||||
<tab heading="In the cloud" style="width: 50%;" ng-click="useLocalstorage=false">
|
||||
<div ng-if="!useLocalstorage">
|
||||
<div class="line-b">
|
||||
<div class="bg-circle"><i class="icon-wallet"></i></div>
|
||||
<div class="bg-circle"><i class="icon-wallet"></i>
|
||||
</div>
|
||||
<span class="text-gray">Access your wallets anywhere</span>
|
||||
</div>
|
||||
<div class="line-b">
|
||||
<div class="bg-circle"><i class="icon-download"></i></div>
|
||||
<div class="bg-circle"><i class="icon-download"></i>
|
||||
</div>
|
||||
<span class="text-gray">Backups managed by the server</span>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="bg-circle"><i class="icon-email"></i></div>
|
||||
<div class="bg-circle"><i class="icon-email"></i>
|
||||
</div>
|
||||
<span class="text-gray">Email address confirmation needed</span>
|
||||
</div>
|
||||
</div>
|
||||
<button translate class="button primary radius expand m0" ng-click="setStorage(useLocalstorage)">
|
||||
Create in the cloud
|
||||
</button>
|
||||
</tab>
|
||||
<tab heading="In your device" style="width: 50%;">
|
||||
<tab heading="In your device" style="width: 50%;" ng-click="useLocalstorage=true">
|
||||
<div ng-if="useLocalstorage">
|
||||
<div class="line-b">
|
||||
<div class="bg-circle"><i class="icon-wallet"></i></div>
|
||||
<span class="text-gray">Access your wallets anywhere</span>
|
||||
<div class="bg-circle"><i class="icon-wallet"></i>
|
||||
</div>
|
||||
<span class="text-gray">Todo1</span>
|
||||
</div>
|
||||
<div class="line-b">
|
||||
<div class="bg-circle"><i class="icon-download"></i></div>
|
||||
<span class="text-gray">Backups managed by the server</span>
|
||||
<div class="bg-circle"><i class="icon-download"></i>
|
||||
</div>
|
||||
<span class="text-gray">Todo2</span>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="bg-circle"><i class="icon-email"></i></div>
|
||||
<span class="text-gray">Email address confirmation needed</span>
|
||||
<div class="bg-circle"><i class="icon-email"></i>
|
||||
</div>
|
||||
<span class="text-gray">Todo3</span>
|
||||
</div>
|
||||
</div>
|
||||
<button translate class="button primary radius expand m0" ng-click="setStorage(useLocalstorage)">
|
||||
Create in this device
|
||||
</button>
|
||||
</tab>
|
||||
</tabset>
|
||||
<button translate type="submit" class="button primary radius expand m0" ng-disabled="profileForm.$invalid || loading">
|
||||
Create
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<form ng-show="0" name="profileForm" ng-submit="createProfile(profileForm)" novalidate>
|
||||
<div class="box-setup">
|
||||
<div class="m5b text-right">
|
||||
<span translate class="has-error size-12" ng-show="profileForm.email.$invalid &&
|
||||
!profileForm.email.$pristine">
|
||||
<span class="icon-input"><i class="fi-x"></i></span>
|
||||
Not valid
|
||||
</span>
|
||||
<span class="icon-input" ng-show="!profileForm.email.$invalid &&
|
||||
!profileForm.email.$pristine"><i class="fi-check"></i></span>
|
||||
</div>
|
||||
|
||||
<div class="input">
|
||||
<input type="email" ng-model="email" class="form-control fi-email" name="email" placeholder="Email"
|
||||
show-focus="!isMobile" required>
|
||||
<i class="icon-email"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button translate type="submit" class="button primary radius expand m0" ng-disabled="profileForm.$invalid || loading">
|
||||
Create
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<form ng-show="1" name="profileForm" ng-submit="createProfile(profileForm)" novalidate>
|
||||
<div class="input">
|
||||
<input id="password" type="password" ng-model="$parent.password"
|
||||
class="form-control" name="password" placeholder="{{'Choose a password'|translate}}" check-strength="passwordStrength"
|
||||
tooltip-html-unsafe="Password strength: <b>{{passwordStrength}}</b><br/><span class='size-12'>Tip: Use lower and uppercase, numbers and symbols</span>" tooltip-trigger="focus" required tooltip-placement="top">
|
||||
<i class="icon-locked"></i>
|
||||
</div>
|
||||
|
||||
<div class="m5b text-right">
|
||||
<span translate class="has-error size-12" ng-show="profileForm.repeatpassword.$dirty &&
|
||||
profileForm.repeatpassword.$invalid">
|
||||
<span class="icon-input"><i class="fi-x"></i></span>
|
||||
{{'Passwords must match'|translate}}
|
||||
</span>
|
||||
<span class="icon-input" ng-show="profileForm.repeatpassword.$dirty &&
|
||||
!profileForm.repeatpassword.$invalid"><i class="fi-check"></i></span>
|
||||
</div>
|
||||
|
||||
<div class="input">
|
||||
<input type="password" ng-model="repeatpassword" class="input form-control" name="repeatpassword" placeholder="{{'Repeat password'|translate}}" match="password" required>
|
||||
<i class="icon-locked"></i>
|
||||
</div>
|
||||
|
||||
<button translate type="submit" class="button primary radius expand m0" ng-disabled="profileForm.$invalid || loading">
|
||||
Create
|
||||
</button>
|
||||
</form>
|
||||
|
||||
|
||||
<div class="box-setup-footer">
|
||||
<div class="left">
|
||||
|
@ -132,13 +91,93 @@
|
|||
<span translate>Back</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="right">
|
||||
<a class="right size-12 text-gray" href="#!/settings">
|
||||
<i class="icon-wrench"></i>
|
||||
<span translate>Settings</span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<form ng-show="createStep == 'email'" name="emailForm" ng-submit="setEmailOrUsername(emailForm)" novalidate>
|
||||
<div class="box-setup">
|
||||
|
||||
|
||||
<div ng-if="useLocalstorage"> [x] Creating in this device </div>
|
||||
<div ng-if="!useLocalstorage"> [x] Creating in the cloud </div>
|
||||
|
||||
<div class="m5b text-right" ng-if="useEmail">
|
||||
<span translate class="has-error size-12" ng-show="emailForm.email.$invalid &&
|
||||
!emailForm.email.$pristine">
|
||||
<span class="icon-input"><i class="fi-x"></i></span>
|
||||
Not valid
|
||||
</span>
|
||||
<span class="icon-input" ng-show="!emailForm.email.$invalid &&
|
||||
!emailForm.email.$pristine"><i class="fi-check"></i></span>
|
||||
</div>
|
||||
|
||||
<div class="input" ng-if="useEmail">
|
||||
<input type="email" ng-model="email" class="form-control fi-email" name="email" placeholder="Email" required auto-focus="!isMobile">
|
||||
<i class="icon-email"></i>
|
||||
</div>
|
||||
<div class="input" ng-if="!useEmail">
|
||||
<input type="text" ng-model="username" class="form-control fi-user" name="username" placeholder="Username" required auto-focus>
|
||||
<i class="icon-user"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button translate type="submit" class="button primary radius expand m0" ng-disabled="(useEmail && emailForm.email.$invalid) || (!useEmail && emailForm.username.$invalid)">
|
||||
Next
|
||||
</button
|
||||
|
||||
>
|
||||
<div class="box-setup-footer">
|
||||
<div class="left">
|
||||
<a class="text-gray" ng-click="createStep='storage'">
|
||||
<i class="icon-arrow-left4"></i>
|
||||
<span translate>Back</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form ng-show="createStep == 'pass'" name="passForm" ng-submit="createProfile(passForm)" novalidate>
|
||||
|
||||
<div ng-if="useLocalstorage"> [x] Creating in this device </div>
|
||||
<div ng-if="!useLocalstorage"> [x] Creating in the cloud </div>
|
||||
<div > -> {{userOrEmail}} </div>
|
||||
|
||||
|
||||
<div class="input">
|
||||
<input id="password" type="password" ng-model="$parent.password" class="form-control" name="password" placeholder="{{'Choose a password'|translate}}" check-strength="passwordStrength" tooltip-html-unsafe="Password strength: <b>{{passwordStrength}}</b><br/><span class='size-12'>Tip: Use lower and uppercase, numbers and symbols</span>" tooltip-trigger="focus" required tooltip-placement="top">
|
||||
<i class="icon-locked"></i>
|
||||
</div>
|
||||
|
||||
<div class="m5b text-right">
|
||||
<span translate class="has-error size-12" ng-show="passForm.repeatpassword.$dirty &&
|
||||
passForm.repeatpassword.$invalid">
|
||||
<span class="icon-input"><i class="fi-x"></i></span>
|
||||
{{'Passwords must match'|translate}}
|
||||
</span>
|
||||
<span class="icon-input" ng-show="passForm.repeatpassword.$dirty &&
|
||||
!passForm.repeatpassword.$invalid"><i class="fi-check"></i></span>
|
||||
</div>
|
||||
|
||||
<div class="input">
|
||||
<input type="password" ng-model="repeatpassword" class="input form-control" name="repeatpassword" placeholder="{{'Repeat password'|translate}}" match="password" required>
|
||||
<i class="icon-locked"></i>
|
||||
</div>
|
||||
|
||||
<button translate type="submit" class="button primary radius expand m0" ng-disabled="passForm.$invalid || loading">
|
||||
Create Profile
|
||||
</button>
|
||||
|
||||
<div class="box-setup-footer">
|
||||
<div class="left">
|
||||
<a class="text-gray" ng-click="createStep='email'">
|
||||
<i class="icon-arrow-left4"></i>
|
||||
<span translate>Back</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -173,8 +212,7 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="large-6 medium-6 small-6 columns text-right">
|
||||
<button translate type="submit" class="button primary radius expand m0"
|
||||
ng-disabled="setPinForm.$invalid || error">
|
||||
<button translate type="submit" class="button primary radius expand m0" ng-disabled="setPinForm.$invalid || error">
|
||||
OK
|
||||
</button>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue