Initial commit
This commit is contained in:
338
assets/js/Classes/Worldmap.js
Normal file
338
assets/js/Classes/Worldmap.js
Normal file
@ -0,0 +1,338 @@
|
||||
export class Profile {
|
||||
#__type = "class"
|
||||
/** @private {string} */
|
||||
#_slug;
|
||||
/** @private {string} */
|
||||
#_name;
|
||||
/** @private {string} */
|
||||
#_server;
|
||||
/** @private {boolean} */
|
||||
#_isActive;
|
||||
|
||||
/**
|
||||
* @param {string} slug
|
||||
* @param {string} name
|
||||
* @param {string} server
|
||||
* @param {boolean} isActive
|
||||
*/
|
||||
constructor(slug = "", name = "", server = "eu", isActive = true) {
|
||||
this.#_slug = slug;
|
||||
this.#_name = name;
|
||||
this.#_server = server;
|
||||
this.#_isActive = isActive;
|
||||
}
|
||||
|
||||
get __type () {
|
||||
return this.#__type;
|
||||
}
|
||||
|
||||
get slug() {
|
||||
return this.#_slug;
|
||||
}
|
||||
|
||||
set slug(value) {
|
||||
this.#_slug = value;
|
||||
}
|
||||
|
||||
get name() {
|
||||
return this.#_name;
|
||||
}
|
||||
|
||||
set name(value) {
|
||||
this.#_name = value;
|
||||
}
|
||||
|
||||
get server() {
|
||||
return this.#_server;
|
||||
}
|
||||
|
||||
set server(value) {
|
||||
this.#_server = value;
|
||||
}
|
||||
|
||||
get isActive() {
|
||||
return this.#_isActive;
|
||||
}
|
||||
|
||||
set isActive(value) {
|
||||
this.#_isActive = Boolean(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} slug
|
||||
* @param {string} name
|
||||
* @param {string} server
|
||||
* @param {boolean} isActive
|
||||
*/
|
||||
hydrate({slug, name, server, isActive}) {
|
||||
this.slug = slug;
|
||||
this.name = name;
|
||||
this.server = server;
|
||||
this.isActive = isActive;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {{slug: string, name: string, server: string, isActive: number}}
|
||||
*/
|
||||
dehydrate() {
|
||||
return {
|
||||
slug: this.slug,
|
||||
name: this.name,
|
||||
server: this.server,
|
||||
isActive: Number(this.isActive)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class Region {
|
||||
#__type = "class";
|
||||
/** @private {string} */
|
||||
#_slug;
|
||||
/** @private {string} */
|
||||
#_name;
|
||||
/** @private {number} */
|
||||
#_scrollLeft;
|
||||
/** @private {number} */
|
||||
#_scrollTop;
|
||||
/** @private {number} */
|
||||
#_zoomLevel;
|
||||
|
||||
/**
|
||||
* @param {string} slug
|
||||
* @param {string} name
|
||||
* @param {number} scrollLeft
|
||||
* @param {number} scrollTop
|
||||
* @param {number} zoomLevel
|
||||
*/
|
||||
constructor(slug, name, scrollLeft = 50, scrollTop = 50, zoomLevel = 8) {
|
||||
this.#_slug = slug;
|
||||
this.#_name = name;
|
||||
this.#_scrollLeft = scrollLeft;
|
||||
this.#_scrollTop = scrollTop;
|
||||
this.#_zoomLevel = zoomLevel;
|
||||
}
|
||||
|
||||
get __type () {
|
||||
return this.#__type;
|
||||
}
|
||||
|
||||
get slug() {
|
||||
return this.#_slug;
|
||||
}
|
||||
|
||||
set slug(value) {
|
||||
this.#_slug = value;
|
||||
}
|
||||
|
||||
get name() {
|
||||
return this.#_name;
|
||||
}
|
||||
|
||||
set name(value) {
|
||||
this.#_name = value;
|
||||
}
|
||||
|
||||
get scrollLeft() {
|
||||
return this.#_scrollLeft;
|
||||
}
|
||||
|
||||
set scrollLeft(value) {
|
||||
this.#_scrollLeft = Number(value);
|
||||
}
|
||||
|
||||
get scrollTop() {
|
||||
return this.#_scrollTop;
|
||||
}
|
||||
|
||||
set scrollTop(value) {
|
||||
this.#_scrollTop = Number(value);
|
||||
}
|
||||
|
||||
get zoomLevel() {
|
||||
return this.#_zoomLevel;
|
||||
}
|
||||
|
||||
set zoomLevel(value) {
|
||||
this.#_zoomLevel = Number(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} slug
|
||||
* @param {string} name
|
||||
* @param {number} scrollLeft
|
||||
* @param {number} scrollTop
|
||||
* @param {number} zoomLevel
|
||||
*/
|
||||
hydrate({slug, name, scrollLeft, scrollTop, zoomLevel}) {
|
||||
this.slug = slug;
|
||||
this.name = name;
|
||||
this.scrollLeft = scrollLeft;
|
||||
this.scrollTop = scrollTop;
|
||||
this.zoomLevel = zoomLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {{slug: string, name: string, scrollLeft: number, scrollTop: number, zoomLevel: number}}
|
||||
*/
|
||||
dehydrate() {
|
||||
return {
|
||||
slug: this.slug,
|
||||
name: this.name,
|
||||
scrollLeft: Number(this.scrollLeft),
|
||||
scrollTop: Number(this.scrollTop),
|
||||
zoomLevel: Number(this.zoomLevel)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class Filter {
|
||||
#__type = "class";
|
||||
/** @private {string} */
|
||||
#_region;
|
||||
/** @private {string} */
|
||||
#_slug;
|
||||
/** @private {boolean} */
|
||||
#_isActive;
|
||||
|
||||
/**
|
||||
* @param {string} region
|
||||
* @param {string} slug
|
||||
* @param {boolean} isActive
|
||||
*/
|
||||
constructor(region, slug, isActive=false) {
|
||||
this.#_region = region;
|
||||
this.#_slug = slug;
|
||||
this.#_isActive = isActive;
|
||||
}
|
||||
|
||||
get __type () {
|
||||
return this.#__type;
|
||||
}
|
||||
|
||||
get slug() {
|
||||
return this.#_slug;
|
||||
}
|
||||
|
||||
set slug(value) {
|
||||
this.#_slug = value;
|
||||
}
|
||||
|
||||
get region() {
|
||||
return this.#_region;
|
||||
}
|
||||
|
||||
set region(value) {
|
||||
this.#_region = value;
|
||||
}
|
||||
|
||||
get isActive() {
|
||||
return this.#_isActive;
|
||||
}
|
||||
|
||||
set isActive(value) {
|
||||
this.#_isActive = Boolean(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} region
|
||||
* @param {string} slug
|
||||
* @param {boolean} isActive
|
||||
*/
|
||||
hydrate({region, slug, isActive}) {
|
||||
this.region = region
|
||||
this.slug = slug
|
||||
this.isActive = isActive;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {{region: string, slug: string, isActive: number}}
|
||||
*/
|
||||
dehydrate() {
|
||||
return {
|
||||
region: this.region,
|
||||
slug: this.slug,
|
||||
isActive: Number(this.isActive)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class Node {
|
||||
#__type = "class";
|
||||
/** @private {string} */
|
||||
#_profile;
|
||||
/** @private {string} */
|
||||
#_region;
|
||||
/** @private {string} */
|
||||
#_domId;
|
||||
/** @private {boolean} */
|
||||
#_isHidden;
|
||||
|
||||
constructor(profile, id, region, isHidden) {
|
||||
this.#_profile = profile;
|
||||
this.#_domId = id;
|
||||
this.#_region = region;
|
||||
this.#_isHidden = isHidden;
|
||||
|
||||
}
|
||||
|
||||
get __type () {
|
||||
return this.#__type;
|
||||
}
|
||||
|
||||
get profile() {
|
||||
return this.#_profile;
|
||||
}
|
||||
|
||||
set profile(value) {
|
||||
this.#_profile = value;
|
||||
}
|
||||
|
||||
get region() {
|
||||
return this.#_region;
|
||||
}
|
||||
|
||||
set region(value) {
|
||||
this.#_region = value;
|
||||
}
|
||||
|
||||
get domId() {
|
||||
return this.#_domId;
|
||||
}
|
||||
|
||||
set domId(value) {
|
||||
this.#_domId = value;
|
||||
}
|
||||
|
||||
get isHidden() {
|
||||
return this.#_isHidden;
|
||||
}
|
||||
|
||||
set isHidden(value) {
|
||||
this.#_isHidden = Boolean(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} profile
|
||||
* @param {string} domId
|
||||
* @param {string} region
|
||||
* @param {boolean} isHidden
|
||||
*/
|
||||
hydrate({profile, domId, region, isHidden}) {
|
||||
this.profile = profile;
|
||||
this.domId = domId;
|
||||
this.region = region;
|
||||
this.isHidden = isHidden;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {{profile: string, domId: string, region: string, isHidden: number}}
|
||||
*/
|
||||
dehydrate() {
|
||||
return {
|
||||
profile: this.profile,
|
||||
domId: this.domId,
|
||||
region: this.region,
|
||||
isHidden: Number(this.isHidden)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user