| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | const Mn            = require('backbone.marionette');const App           = require('../main');const AuditLogModel = require('../../models/audit-log');const ListView      = require('./list/main');const template      = require('./main.ejs');const ErrorView     = require('../error/main');const EmptyView     = require('../empty/main');module.exports = Mn.View.extend({    id:       'audit-log',    template: template,    ui: {        list_region: '.list-region',        dimmer:      '.dimmer',        search:      '.search-form',        query:       'input[name="source-query"]'    },    fetch: App.Api.AuditLog.getAll,    showData: function(response) {        this.showChildView('list_region', new ListView({            collection: new AuditLogModel.Collection(response)        }));    },    showError: function(err) {        this.showChildView('list_region', new ErrorView({            code:    err.code,            message: err.message,            retry:   function () {                App.Controller.showAuditLog();            }        }));        console.error(err);    },    showEmpty: function() {        this.showChildView('list_region', new EmptyView({            title:    App.i18n('audit-log', 'empty'),            subtitle: App.i18n('audit-log', 'empty-subtitle')        }));    },    regions: {        list_region: '@ui.list_region'    },    events: {        'submit @ui.search': function (e) {            e.preventDefault();            let query = this.ui.query.val();            this.fetch(['user'], query)                .then(response => this.showData(response))                .catch(err => {                    this.showError(err);                });        }    },    onRender: function () {        let view = this;        view.fetch(['user'])            .then(response => {                if (!view.isDestroyed() && response && response.length) {                    view.showData(response);                } else {                    view.showEmpty();                }            })            .catch(err => {                view.showError(err);            })            .then(() => {                view.ui.dimmer.removeClass('active');            });    }});
 |