uawdijnntqw1x1x1
IP : 3.138.124.167
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
www
/
axolotl
/
data
/
www
/
axolotl.ru
/
www
/
bitrix
/
js
/
crm
/
category-list
/
src
/
category-list.js
/
/
import { ajax as Ajax, Reflection } from "main.core"; import { CategoryModel } from "crm.category-model"; let instance = null; /** * @memberOf BX.Crm */ export class CategoryList { #items: Object<number, CategoryModel[]> = {}; #isProgress: boolean = false; static get Instance(): CategoryList { if ((window.top !== window) && Reflection.getClass('top.BX.Crm.CategoryList')) { return window.top.BX.Crm.CategoryList.Instance; } if (instance === null) { instance = new CategoryList(); } return instance; } getItems(entityTypeId: number): Promise<CategoryModel[]> { return new Promise((resolve, reject) => { if (this.#items.hasOwnProperty(entityTypeId)) { resolve(this.#items[entityTypeId]); return; } this.#loadItems(entityTypeId).then((categories) => { this.#items[entityTypeId] = categories; resolve(categories); }).catch((error) => { this.#items[entityTypeId] = []; reject(error); }); }); } setItems(entityTypeId: number, items: CategoryModel[]): CategoryList { this.#items[entityTypeId] = items; return this; } #loadItems(entityTypeId): Promise<CategoryModel[], string> { return new Promise((resolve, reject) => { if (this.#isProgress) { reject('CategoryList is already loading'); return; } this.#isProgress = true; Ajax.runAction('crm.category.list', { data: { entityTypeId, } }).then((response) => { this.#isProgress = false; const categories = []; response.data.categories.forEach((category) => { categories.push(new CategoryModel(category)); }); resolve(categories); }).catch((response) => { this.#isProgress = false; reject("CategoryList error: " + response.errors.map(({message}) => message).join("; ")); }); }); } }
/var/www/axolotl/data/www/axolotl.ru/www/bitrix/js/crm/category-list/src/category-list.js