silverstripe-webpack/site/src/js/main.js

38 lines
791 B
JavaScript
Raw Normal View History

2018-02-09 13:10:40 +01:00
import $ from 'jquery';
2018-02-05 12:11:01 +01:00
2018-02-09 13:10:40 +01:00
import Events from './_events';
2018-02-05 12:11:01 +01:00
// import an example component
2018-02-09 13:10:40 +01:00
import Spinner from './_components/_spinner';
2018-02-05 12:11:01 +01:00
const MainUI = (($) => {
// Constants
2018-02-09 13:10:40 +01:00
const NAME = 'MainUI';
2018-02-05 12:11:01 +01:00
class MainUI {
// Static methods
static init() {
this.destroy();
2018-02-09 13:10:40 +01:00
console.log(`Initializing: ${NAME}`);
2018-02-05 12:11:01 +01:00
2018-02-09 13:10:40 +01:00
Spinner.hide(() => {
$('body').addClass('loaded');
2018-02-05 12:11:01 +01:00
});
}
static destroy() {
2018-02-09 13:10:40 +01:00
console.log(`Destroying: ${NAME}`);
Spinner.show(() => {
$('body').removeClass('loaded');
2018-02-05 12:11:01 +01:00
});
}
}
2018-02-09 13:10:40 +01:00
$(window).on(`${Events.AJAX} ${Events.LOADED}`, () => {
2018-02-05 12:11:01 +01:00
MainUI.init();
});
return MainUI;
})($);
2018-02-09 13:10:40 +01:00
export default MainUI;