conditional show extensions

This commit is contained in:
Mo Bitar
2017-01-07 17:36:49 -06:00
parent a4f05b8c31
commit c20223ff1a
6 changed files with 33 additions and 19 deletions

View File

@@ -63,7 +63,7 @@ angular.module('app.frontend')
}
}
})
.controller('EditorCtrl', function ($sce, $timeout, apiController, markdownRenderer, $rootScope) {
.controller('EditorCtrl', function ($sce, $timeout, apiController, markdownRenderer, $rootScope, extensionManager) {
this.setNote = function(note, oldNote) {
this.editorMode = 'edit';
@@ -81,6 +81,10 @@ angular.module('app.frontend')
}
}
this.hasAvailableExtensions = function() {
return extensionManager.extensionsInContextOfItem(this.note).length > 0;
}
this.onPreviewDoubleClick = function() {
this.editorMode = 'edit';
this.focusEditor(100);

View File

@@ -50,8 +50,11 @@ angular.module('app.frontend')
extensionManager.addExtension(this.newExtensionData.url, function(response){
if(!response) {
alert("Unable to register this extension. Make sure the link is valid and try again.");
} else {
this.newExtensionData.url = "";
this.showNewExtensionForm = false;
}
})
}.bind(this))
}
}

View File

@@ -33,7 +33,7 @@
%li{"ng-click" => "ctrl.deleteNote()"}
.text Delete
%li.sep
%li.dropdown
%li.dropdown{"ng-if" => "ctrl.hasAvailableExtensions()"}
%a.dropdown-toggle{"ng-click" => "ctrl.showExtensions = !ctrl.showExtensions; ctrl.showMenu = false"}
Extensions
%span.caret

View File

@@ -51,19 +51,19 @@
.email {{ctrl.user.email}}
.server {{ctrl.serverData.url}}
.links{"ng-if" => "ctrl.user.email"}
.link-item
%a{"ng-click" => "ctrl.changePasswordPressed()"} Change Password
%form.account-form{"ng-if" => "ctrl.showNewPasswordForm", 'ng-submit' => 'ctrl.submitPasswordChange()', 'name' => "passwordChangeForm"}
.form-tag.has-feedback
%input.form-control.login-input{:autofocus => 'autofocus', :name => 'current', :placeholder => 'Current password', :required => true, :type => 'password', 'ng-model' => 'ctrl.passwordChangeData.current_password'}
.form-tag.has-feedback
%input.form-control.login-input{:placeholder => 'New password', :name => 'password', :required => true, :type => 'password', 'ng-model' => 'ctrl.passwordChangeData.new_password', "autocomplete" => "new-password"}
.form-tag.has-feedback
%input.form-control.login-input{:placeholder => 'Confirm password', :name => 'password', :required => true, :type => 'password', 'ng-model' => 'ctrl.passwordChangeData.new_password_confirmation', "autocomplete" => "new-password"}
%button.btn.dark-button.btn-block{:type => 'submit', "data-style" => "expand-right", "data-size" => "s", "state" => "buttonState"}
%span.ladda-label Change Password
.panel-status-text{"ng-if" => "ctrl.passwordChangeData.status", "style" => "font-size: 14px;"}
{{ctrl.passwordChangeData.status}}
-# .link-item
-# %a{"ng-click" => "ctrl.changePasswordPressed()"} Change Password
-# %form.account-form{"ng-if" => "ctrl.showNewPasswordForm", 'ng-submit' => 'ctrl.submitPasswordChange()', 'name' => "passwordChangeForm"}
-# .form-tag.has-feedback
-# %input.form-control.login-input{:autofocus => 'autofocus', :name => 'current', :placeholder => 'Current password', :required => true, :type => 'password', 'ng-model' => 'ctrl.passwordChangeData.current_password'}
-# .form-tag.has-feedback
-# %input.form-control.login-input{:placeholder => 'New password', :name => 'password', :required => true, :type => 'password', 'ng-model' => 'ctrl.passwordChangeData.new_password', "autocomplete" => "new-password"}
-# .form-tag.has-feedback
-# %input.form-control.login-input{:placeholder => 'Confirm password', :name => 'password', :required => true, :type => 'password', 'ng-model' => 'ctrl.passwordChangeData.new_password_confirmation', "autocomplete" => "new-password"}
-# %button.btn.dark-button.btn-block{:type => 'submit', "data-style" => "expand-right", "data-size" => "s", "state" => "buttonState"}
-# %span.ladda-label Change Password
-# .panel-status-text{"ng-if" => "ctrl.passwordChangeData.status", "style" => "font-size: 14px;"}
-# {{ctrl.passwordChangeData.status}}
.link-item
%a{"ng-click" => "ctrl.signOutPressed()"} Sign Out
.meta-container

View File

@@ -515,7 +515,7 @@ angular.module('app.frontend').controller('BaseCtrl', BaseCtrl);
});
}
};
}).controller('EditorCtrl', function ($sce, $timeout, apiController, markdownRenderer, $rootScope) {
}).controller('EditorCtrl', function ($sce, $timeout, apiController, markdownRenderer, $rootScope, extensionManager) {
this.setNote = function (note, oldNote) {
this.editorMode = 'edit';
@@ -533,6 +533,10 @@ angular.module('app.frontend').controller('BaseCtrl', BaseCtrl);
}
};
this.hasAvailableExtensions = function () {
return extensionManager.extensionsInContextOfItem(this.note).length > 0;
};
this.onPreviewDoubleClick = function () {
this.editorMode = 'edit';
this.focusEditor(100);
@@ -762,8 +766,11 @@ angular.module('app.frontend').controller('BaseCtrl', BaseCtrl);
extensionManager.addExtension(this.newExtensionData.url, function (response) {
if (!response) {
alert("Unable to register this extension. Make sure the link is valid and try again.");
} else {
this.newExtensionData.url = "";
this.showNewExtensionForm = false;
}
});
}.bind(this));
}
};

File diff suppressed because one or more lines are too long