adds merge local, closes #71
This commit is contained in:
@@ -6,10 +6,10 @@ class AccountMenu {
|
|||||||
this.scope = {};
|
this.scope = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
controller($scope, authManager, modelManager, syncManager, $timeout) {
|
controller($scope, authManager, modelManager, syncManager, dbManager, $timeout) {
|
||||||
'ngInject';
|
'ngInject';
|
||||||
|
|
||||||
$scope.formData = {url: syncManager.serverURL};
|
$scope.formData = {mergeLocal: true, url: syncManager.serverURL};
|
||||||
$scope.user = authManager.user;
|
$scope.user = authManager.user;
|
||||||
$scope.server = syncManager.serverURL;
|
$scope.server = syncManager.serverURL;
|
||||||
|
|
||||||
@@ -113,10 +113,32 @@ class AccountMenu {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$scope.localNotesCount = function() {
|
||||||
|
return modelManager.filteredNotes.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.mergeLocalChanged = function() {
|
||||||
|
if(!$scope.formData.mergeLocal) {
|
||||||
|
if(!confirm("Unchecking this option means any of the notes you have written while you were signed out will be deleted. Are you sure you want to discard these notes?")) {
|
||||||
|
$scope.formData.mergeLocal = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$scope.onAuthSuccess = function() {
|
$scope.onAuthSuccess = function() {
|
||||||
syncManager.markAllItemsDirtyAndSaveOffline(function(){
|
var block = function() {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
})
|
}
|
||||||
|
|
||||||
|
if($scope.formData.mergeLocal) {
|
||||||
|
syncManager.markAllItemsDirtyAndSaveOffline(function(){
|
||||||
|
block();
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
dbManager.clearAllItems(function(){
|
||||||
|
block();
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.destroyLocalData = function() {
|
$scope.destroyLocalData = function() {
|
||||||
|
|||||||
@@ -8,6 +8,10 @@
|
|||||||
%input.form-control{:name => 'server', :placeholder => 'Server URL', :required => true, :type => 'text', 'ng-model' => 'formData.url'}
|
%input.form-control{:name => 'server', :placeholder => 'Server URL', :required => true, :type => 'text', 'ng-model' => 'formData.url'}
|
||||||
%input.form-control{:autofocus => 'autofocus', :name => 'email', :placeholder => 'Email', :required => true, :type => 'email', 'ng-model' => 'formData.email'}
|
%input.form-control{:autofocus => 'autofocus', :name => 'email', :placeholder => 'Email', :required => true, :type => 'email', 'ng-model' => 'formData.email'}
|
||||||
%input.form-control{:placeholder => 'Password', :name => 'password', :required => true, :type => 'password', 'ng-model' => 'formData.user_password'}
|
%input.form-control{:placeholder => 'Password', :name => 'password', :required => true, :type => 'password', 'ng-model' => 'formData.user_password'}
|
||||||
|
.checkbox{"ng-if" => "localNotesCount() > 0"}
|
||||||
|
%label
|
||||||
|
%input{"type" => "checkbox", "ng-model" => "formData.mergeLocal", "ng-bind" => "true", "ng-change" => "mergeLocalChanged()"}
|
||||||
|
Merge local notes ({{localNotesCount()}} notes)
|
||||||
|
|
||||||
%div{"ng-if" => "!formData.status"}
|
%div{"ng-if" => "!formData.status"}
|
||||||
%button.btn.dark-button.half-button{"ng-click" => "loginSubmitPressed()", "data-style" => "expand-right", "data-size" => "s", "state" => "buttonState"}
|
%button.btn.dark-button.half-button{"ng-click" => "loginSubmitPressed()", "data-style" => "expand-right", "data-size" => "s", "state" => "buttonState"}
|
||||||
@@ -94,4 +98,4 @@
|
|||||||
|
|
||||||
.spinner.mt-10{"ng-if" => "importData.loading"}
|
.spinner.mt-10{"ng-if" => "importData.loading"}
|
||||||
|
|
||||||
%a.block.mt-25.red{"ng-click" => "destroyLocalData()"} Destroy all local data
|
%a.block.mt-25.red{"ng-click" => "destroyLocalData()"} {{ user ? "Sign out and clear local data" : "Clear all local data" }}
|
||||||
|
|||||||
Reference in New Issue
Block a user