RoutesMaker/Public/ecma/Views/BaseView.ecma.js

54 lines
1.3 KiB
JavaScript

"use strict";
import {Utils} from "../Utils/Utils.ecma.js";
import {EventModel} from "../Models/EventModel.ecma.js";
/**
* @typedef {import("../Application/RoutesMaker.ecma.js").RoutesMaker} RoutesMaker
*/
/**
* @class
* @constructor
* @param {!RoutesMaker} routes_maker
* @returns {void}
* @access public
* @static
*/
export const BaseView = (function(){
/**
* @constructs BaseView
* @param {!RoutesMaker} routes_maker
* @returns {void}
* @access public
* @static
*/
const BaseView = function(routes_maker){
/** @type {BaseView} */
const self = this;
/** @type {HTMLElement|null} */
this.item = null;
/** @type {EventModel|null} */
this.on_change = null;
this.build = position => {
self.item ||
(self.on_change = new EventModel(self.item = Utils.set_html(position, [
["div", {
id : "routes-maker",
class : "routes-maker",
data_application : "RoutesMaker",
data_git : "https://git.k3y.pw/KyMAN/RoutesMaker",
data_url : "https://routesmaker.k3y.pw/",
data_author : "KyMAN"
}]
])[0]));
};
};
return BaseView;
})();