webpack-bootstrap-ui-kit/src/js_old/place_it_to_types_folder_Pa...

64 lines
1.5 KiB
JavaScript

/*
***************************************************************
* *** PAGE SPECIFIC CODDING ***
* Place it into app/client/src/js/types
* Require page specific css as mentioned bellow
*
* If you don't need page specific JS (only CSS)
* you can create SCSS file at app/client/src/scss/types
* !!! BUT NOT BOTH at "types" folder !!!
***************************************************************
*
* An example of Page specific JS and Mapbox functionality
* Take a look to app/templates/Objects/Map.ss for HTML
* Take a look to https://github.com/a2nt/silverstripe-mapboxfield/blob/master/README.md for Data Structure
*/
'use strict'
// your page specific css
import '../scss/_types/PageTypeClassName.scss'
import $ from 'jquery'
import Events from '../_events'
// Mapbox API
import '../_components/_ui.map.api'
const PageTypeUI = (($) => {
// Constants
const W = window
const D = document
const $Body = $('body')
const NAME = 'PageTypeUI'
class PageTypeUI {
// Static methods
static init () {
this.dispose()
console.log(`Initializing: ${NAME}`)
// custom page specific functionality
}
static initMap () {
// custom map functionality
}
static dispose () {
console.log(`Destroying: ${NAME}`)
}
}
$(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {
PageTypeUI.init()
})
$(W).on(Events.MAPLOADED, () => {
PageTypeUI.initMap()
})
return PageTypeUI
})($)
export default PageTypeUI