Initial commit
This commit is contained in:
101
manager/src/frontend/js/app/ui/main.js
Normal file
101
manager/src/frontend/js/app/ui/main.js
Normal file
@ -0,0 +1,101 @@
|
||||
'use strict';
|
||||
|
||||
import Mn from 'backbone.marionette';
|
||||
|
||||
const template = require('./main.ejs');
|
||||
const HeaderView = require('./header/main');
|
||||
const Cache = require('../cache');
|
||||
|
||||
require('bootstrap');
|
||||
|
||||
module.exports = Mn.View.extend({
|
||||
template: template,
|
||||
|
||||
modal: null,
|
||||
|
||||
ui: {
|
||||
header_region: '#header',
|
||||
main_region: '#main',
|
||||
modal_region: '#modal-dialog',
|
||||
main_loader_region: '#main-loader'
|
||||
},
|
||||
|
||||
regions: {
|
||||
header_region: '@ui.header_region',
|
||||
main_region: '@ui.main_region',
|
||||
modal_region: '@ui.modal_region',
|
||||
main_loader_region: '@ui.main_loader_region'
|
||||
},
|
||||
|
||||
showMainLoading: function () {
|
||||
this.ui.main_loader_region.show();
|
||||
},
|
||||
|
||||
hideMainLoading: function () {
|
||||
this.ui.main_loader_region.hide();
|
||||
},
|
||||
|
||||
/**
|
||||
*
|
||||
* @param view
|
||||
* @param [show_callback]
|
||||
* @param [shown_callback]
|
||||
*/
|
||||
showModalDialog: function (view, show_callback, shown_callback) {
|
||||
this.showChildView('modal_region', view);
|
||||
this.modal.modal('show');
|
||||
|
||||
let ui = this;
|
||||
|
||||
this.modal.on('hidden.bs.modal', function (/*e*/) {
|
||||
if (show_callback) {
|
||||
ui.modal.off('show.bs.modal', show_callback);
|
||||
}
|
||||
|
||||
if (shown_callback) {
|
||||
ui.modal.off('shown.bs.modal', shown_callback);
|
||||
}
|
||||
|
||||
ui.modal.off('hidden.bs.modal');
|
||||
view.destroy();
|
||||
});
|
||||
|
||||
if (show_callback) {
|
||||
this.modal.on('show.bs.modal', show_callback);
|
||||
}
|
||||
|
||||
if (shown_callback) {
|
||||
this.modal.on('shown.bs.modal', shown_callback);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
*
|
||||
* @param [hidden_callback]
|
||||
*/
|
||||
closeModal: function (hidden_callback) {
|
||||
this.modal.modal('hide');
|
||||
|
||||
if (hidden_callback) {
|
||||
this.modal.on('hidden.bs.modal', hidden_callback);
|
||||
}
|
||||
},
|
||||
|
||||
onRender: function () {
|
||||
this.showChildView('header_region', new HeaderView({
|
||||
model: Cache.User
|
||||
}));
|
||||
|
||||
if (this.modal === null) {
|
||||
this.modal = $('#modal-dialog');
|
||||
this.modal.modal({
|
||||
show: false
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
reset: function () {
|
||||
this.getRegion('header_region').reset();
|
||||
this.getRegion('modal_region').reset();
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user