|
@@ -14,7 +14,44 @@ module.exports = Mn.View.extend({
|
|
|
list_region: '.list-region',
|
|
|
add: '.add-item',
|
|
|
help: '.help',
|
|
|
- dimmer: '.dimmer'
|
|
|
+ dimmer: '.dimmer',
|
|
|
+ search: '.search-form',
|
|
|
+ query: 'input[name="source-query"]'
|
|
|
+ },
|
|
|
+
|
|
|
+ fetch: App.Api.Nginx.Certificates.getAll,
|
|
|
+
|
|
|
+ showData: function(response) {
|
|
|
+ this.showChildView('list_region', new ListView({
|
|
|
+ collection: new CertificateModel.Collection(response)
|
|
|
+ }));
|
|
|
+ },
|
|
|
+
|
|
|
+ showError: function(err) {
|
|
|
+ this.showChildView('list_region', new ErrorView({
|
|
|
+ code: err.code,
|
|
|
+ message: err.message,
|
|
|
+ retry: function () {
|
|
|
+ App.Controller.showNginxCertificates();
|
|
|
+ }
|
|
|
+ }));
|
|
|
+
|
|
|
+ console.error(err);
|
|
|
+ },
|
|
|
+
|
|
|
+ showEmpty: function() {
|
|
|
+ let manage = App.Cache.User.canManage('certificates');
|
|
|
+
|
|
|
+ this.showChildView('list_region', new EmptyView({
|
|
|
+ title: App.i18n('certificates', 'empty'),
|
|
|
+ subtitle: App.i18n('all-hosts', 'empty-subtitle', {manage: manage}),
|
|
|
+ link: manage ? App.i18n('certificates', 'add') : null,
|
|
|
+ btn_color: 'pink',
|
|
|
+ permission: 'certificates',
|
|
|
+ action: function () {
|
|
|
+ App.Controller.showNginxCertificateForm();
|
|
|
+ }
|
|
|
+ }));
|
|
|
},
|
|
|
|
|
|
regions: {
|
|
@@ -31,6 +68,17 @@ module.exports = Mn.View.extend({
|
|
|
'click @ui.help': function (e) {
|
|
|
e.preventDefault();
|
|
|
App.Controller.showHelp(App.i18n('certificates', 'help-title'), App.i18n('certificates', 'help-content'));
|
|
|
+ },
|
|
|
+
|
|
|
+ 'submit @ui.search': function (e) {
|
|
|
+ e.preventDefault();
|
|
|
+ let query = this.ui.query.val();
|
|
|
+
|
|
|
+ this.fetch(['owner'], query)
|
|
|
+ .then(response => this.showData(response))
|
|
|
+ .catch(err => {
|
|
|
+ this.showError(err);
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -41,39 +89,18 @@ module.exports = Mn.View.extend({
|
|
|
onRender: function () {
|
|
|
let view = this;
|
|
|
|
|
|
- App.Api.Nginx.Certificates.getAll(['owner'])
|
|
|
+ view.fetch(['owner'])
|
|
|
.then(response => {
|
|
|
if (!view.isDestroyed()) {
|
|
|
if (response && response.length) {
|
|
|
- view.showChildView('list_region', new ListView({
|
|
|
- collection: new CertificateModel.Collection(response)
|
|
|
- }));
|
|
|
+ view.showData(response);
|
|
|
} else {
|
|
|
- let manage = App.Cache.User.canManage('certificates');
|
|
|
-
|
|
|
- view.showChildView('list_region', new EmptyView({
|
|
|
- title: App.i18n('certificates', 'empty'),
|
|
|
- subtitle: App.i18n('all-hosts', 'empty-subtitle', {manage: manage}),
|
|
|
- link: manage ? App.i18n('certificates', 'add') : null,
|
|
|
- btn_color: 'pink',
|
|
|
- permission: 'certificates',
|
|
|
- action: function () {
|
|
|
- App.Controller.showNginxCertificateForm();
|
|
|
- }
|
|
|
- }));
|
|
|
+ view.showEmpty();
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
.catch(err => {
|
|
|
- view.showChildView('list_region', new ErrorView({
|
|
|
- code: err.code,
|
|
|
- message: err.message,
|
|
|
- retry: function () {
|
|
|
- App.Controller.showNginxCertificates();
|
|
|
- }
|
|
|
- }));
|
|
|
-
|
|
|
- console.error(err);
|
|
|
+ view.showError(err);
|
|
|
})
|
|
|
.then(() => {
|
|
|
view.ui.dimmer.removeClass('active');
|