Base class for Greasy Fork plugins for Waze Map Editor
目前為
此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.cn-greasyfork.org/scripts/450221/1137035/WME%20Base.js
Base class for Greasy Fork plugins for Waze Map Editor.
What is it?
WME Base class is parent class for your scripts, it works with events from the WME Bootstrap library.
⚠️ WME Bootstrap Library - is required for correct working of this class
log(message) – console.log wrapperonBeforeUnload (event) - handler for window beforeunload eventonNone (event) – handler for none.wme eventonSegment (event, element, model) – handler for segment.wme eventonSegments (event, element, models) – handler for segments.wme eventonNode (event, element, model) – handler for node.wme eventonNodes (event, element, models) – handler for nodes.wme eventonVenue (event, element, model) – handler for venue.wme eventonVenues (event, element, models) – handler for venues.wme eventonPoint (event, element, model) – handler for point.wme eventonPlace (event, element, model) – handler for place.wme eventonResidential (event, element, model) – handler for residential.wme eventclass MySuperScript extends WMEBase {
/**
* Example of the constructor
* @param {String} name
* @param {Settings} settings
*/
constructor (name, settings = null) {
super(name, settings)
}
/**
* Handler for `none.wme` event
* @param {jQuery.Event} event
* @return {void}
*/
onNone (event) {
this.log('No select')
}
/**
* Handler for `segment.wme` event
* @param {jQuery.Event} event
* @param {HTMLElement} element
* @param {W.model} model
* @return {void}
*/
onSegment (event, element, model) {
this.log('Selected one segment')
}
/**
* Handler for `segments.wme` event
* @param {jQuery.Event} event
* @param {HTMLElement} element
* @param {Array} models
* @return {void}
*/
onSegments (event, element, models) {
this.log('Selected some segments')
}
/**
* Handler for `node.wme` event
* @param {jQuery.Event} event
* @param {HTMLElement} element
* @param {W.model} model
* @return {void}
*/
onNode (event, element, model) {
this.log('Selected one node')
}
/**
* Handler for `nodes.wme` event
* @param {jQuery.Event} event
* @param {HTMLElement} element
* @param {Array} models
* @return {void}
*/
onNodes (event, element, models) {
this.log('Selected some nodes, doesn\'t work')
}
/**
* Handler for `venue.wme` event
* @param {jQuery.Event} event
* @param {HTMLElement} element
* @param {W.model} model
* @return {void}
*/
onVenue (event, element, model) {
this.log('Selected one venue')
}
/**
* Handler for `venues.wme` event
* @param {jQuery.Event} event
* @param {HTMLElement} element
* @param {Array} models
* @return {void}
*/
onVenues (event, element, models) {
this.log('Selected some venues')
}
/**
* Handler for `point.wme` event
* @param {jQuery.Event} event
* @param {HTMLElement} element
* @param {W.model} model
* @return {void}
*/
onPoint (event, element, model) {
this.log('Selected a point')
}
/**
* Handler for `place.wme` event
* @param {jQuery.Event} event
* @param {HTMLElement} element
* @param {W.model} model
* @return {void}
*/
onPlace (event, element, model) {
this.log('Selected a place')
}
/**
* Handler for `residential.wme` event
* @param {jQuery.Event} event
* @param {HTMLElement} element
* @param {W.model} model
* @return {void}
*/
onResidential (event, element, model) {
this.log('Selected a residential')
}
/**
* Handler for window `beforeunload` event
* @param {jQuery.Event} event
* @return {Null}
*/
onBeforeUnload (event) {
this.log('Can be use for save or check settings')
if (this.settings) {
this.settings.save()
}
}
}
Author homepage: http://anton.shevchuk.name/
Script homepage: https://github.com/AntonShevchuk/wme-base
GreasyFork: https://greasyfork.org/en/scripts/450221-wme-base