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.setNote = function(note, oldNote) {
this.editorMode = 'edit'; 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.onPreviewDoubleClick = function() {
this.editorMode = 'edit'; this.editorMode = 'edit';
this.focusEditor(100); this.focusEditor(100);

View File

@@ -50,8 +50,11 @@ angular.module('app.frontend')
extensionManager.addExtension(this.newExtensionData.url, function(response){ extensionManager.addExtension(this.newExtensionData.url, function(response){
if(!response) { if(!response) {
alert("Unable to register this extension. Make sure the link is valid and try again."); 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()"} %li{"ng-click" => "ctrl.deleteNote()"}
.text Delete .text Delete
%li.sep %li.sep
%li.dropdown %li.dropdown{"ng-if" => "ctrl.hasAvailableExtensions()"}
%a.dropdown-toggle{"ng-click" => "ctrl.showExtensions = !ctrl.showExtensions; ctrl.showMenu = false"} %a.dropdown-toggle{"ng-click" => "ctrl.showExtensions = !ctrl.showExtensions; ctrl.showMenu = false"}
Extensions Extensions
%span.caret %span.caret

View File

@@ -51,19 +51,19 @@
.email {{ctrl.user.email}} .email {{ctrl.user.email}}
.server {{ctrl.serverData.url}} .server {{ctrl.serverData.url}}
.links{"ng-if" => "ctrl.user.email"} .links{"ng-if" => "ctrl.user.email"}
.link-item -# .link-item
%a{"ng-click" => "ctrl.changePasswordPressed()"} Change Password -# %a{"ng-click" => "ctrl.changePasswordPressed()"} Change Password
%form.account-form{"ng-if" => "ctrl.showNewPasswordForm", 'ng-submit' => 'ctrl.submitPasswordChange()', 'name' => "passwordChangeForm"} -# %form.account-form{"ng-if" => "ctrl.showNewPasswordForm", 'ng-submit' => 'ctrl.submitPasswordChange()', 'name' => "passwordChangeForm"}
.form-tag.has-feedback -# .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'} -# %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 -# .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"} -# %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 -# .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"} -# %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"} -# %button.btn.dark-button.btn-block{:type => 'submit', "data-style" => "expand-right", "data-size" => "s", "state" => "buttonState"}
%span.ladda-label Change Password -# %span.ladda-label Change Password
.panel-status-text{"ng-if" => "ctrl.passwordChangeData.status", "style" => "font-size: 14px;"} -# .panel-status-text{"ng-if" => "ctrl.passwordChangeData.status", "style" => "font-size: 14px;"}
{{ctrl.passwordChangeData.status}} -# {{ctrl.passwordChangeData.status}}
.link-item .link-item
%a{"ng-click" => "ctrl.signOutPressed()"} Sign Out %a{"ng-click" => "ctrl.signOutPressed()"} Sign Out
.meta-container .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.setNote = function (note, oldNote) {
this.editorMode = 'edit'; 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.onPreviewDoubleClick = function () {
this.editorMode = 'edit'; this.editorMode = 'edit';
this.focusEditor(100); this.focusEditor(100);
@@ -762,8 +766,11 @@ angular.module('app.frontend').controller('BaseCtrl', BaseCtrl);
extensionManager.addExtension(this.newExtensionData.url, function (response) { extensionManager.addExtension(this.newExtensionData.url, function (response) {
if (!response) { if (!response) {
alert("Unable to register this extension. Make sure the link is valid and try again."); 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