Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/video-player/src/ |
Upload File : |
import { type JsonObject, type JsonValue, Type } from 'main.core'; export class GlobalSettings { #options: JsonObject = null; #localStorageKey: string = null; #batchStarted: boolean = false; constructor(localStorageKey: string) { this.#localStorageKey = localStorageKey; } #init() { if (this.#options === null) { this.#options = JSON.parse(window.localStorage.getItem(this.#localStorageKey)) || {}; } } get(option: string, defaultValue?: any): any { this.#init(); if (!Type.isUndefined(this.#options[option])) { return this.#options[option]; } if (!Type.isUndefined(defaultValue)) { return defaultValue; } return null; } set(option: string, value: JsonValue): void { this.#init(); this.#options[option] = value; if (!this.#batchStarted) { this.#batchStarted = true; queueMicrotask(() => { this.#batchStarted = false; window.localStorage.setItem(this.#localStorageKey, JSON.stringify(this.#options)); }); } } }