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/cvetdv.ru/bitrix/js/landing/ui/panel/iconpanel/dist/ |
Upload File : |
{"version":3,"file":"iconpanel.bundle.js","sources":["../src/iconpanel.js"],"sourcesContent":["import {Content} from 'landing.ui.panel.content';\nimport {SidebarButton} from 'landing.ui.button.sidebarbutton';\nimport {IconListCard} from 'landing.ui.card.iconlistcard';\nimport {BaseButton} from 'landing.ui.button.basebutton';\nimport {TextField} from 'landing.ui.field.textfield';\n\nimport {Loc} from 'landing.loc';\nimport {Cache, Dom, Runtime, Type, Tag} from 'main.core';\n\nimport 'ui.fonts.opensans';\nimport './css/style.css';\n\n/**\n * @memberOf BX.Landing.UI.Panel\n */\nexport class IconPanel extends Content\n{\n\tresolver: function;\n\ticonList: IconListCard;\n\tsearchField: TextField;\n\tdictionary: Object = null;\n\tdefaultCategory: string;\n\n\tstatic SUPPORTED_LANG = ['en', 'ru', 'de'];\n\tstatic DEFAULT_LANG = 'en';\n\n\tconstructor(...args)\n\t{\n\t\tsuper(...args);\n\t\tthis.setEventNamespace('BX.Landing.UI.Panel.IconPanel');\n\t\tthis.setTitle(Loc.getMessage('LANDING_ICONS_SLIDER_TITLE'));\n\n\t\tDom.addClass(this.layout, 'landing-ui-panel-icon');\n\t\tDom.addClass(this.overlay, 'landing-ui-panel-icon');\n\n\t\tDom.attr(this.layout, 'hidden', true);\n\t\tDom.attr(this.overlay, 'hidden', true);\n\n\t\tthis.resolver = () => {};\n\t\tthis.iconList = null;\n\n\t\tthis.search = Runtime.debounce(this.search, 500).bind(this);\n\t\t// todo: add lupa icon after\n\t\tthis.searchField = new TextField({\n\t\t\tclassName: 'landing-ui-panel-icon-search',\n\t\t\tplaceholder: Loc.getMessage('LANDING_ICON_PANEL_INPUT_PLACEHOLDER'),\n\t\t\ttextOnly: true,\n\t\t\tonInput: this.search,\n\t\t});\n\n\t\tDom.append(this.layout, window.parent.document.body);\n\n\t\tthis.initDictionary();\n\t}\n\n\tstatic getInstance(): IconPanel\n\t{\n\t\tif (!IconPanel.instance)\n\t\t{\n\t\t\tIconPanel.instance = new IconPanel();\n\t\t}\n\n\t\treturn IconPanel.instance;\n\t}\n\n\tstatic cache = new Cache.MemoryCache();\n\n\tstatic getLibraries(): Promise<[{[key: string]: any}]>\n\t{\n\t\treturn IconPanel.cache.remember('libraries', () => {\n\t\t\treturn Runtime\n\t\t\t\t.loadExtension([\n\t\t\t\t\t'landing.icon.fontawesome',\n\t\t\t\t\t'landing.icon.fontawesome6_brands',\n\t\t\t\t\t'landing.icon.fontawesome6_1',\n\t\t\t\t\t'landing.icon.fontawesome6_2',\n\t\t\t\t\t'landing.icon.fontawesome6_3',\n\t\t\t\t\t'landing.icon.etlineicons',\n\t\t\t\t\t'landing.icon.hsicons',\n\t\t\t\t\t'landing.icon.simpleline',\n\t\t\t\t\t'landing.icon.simplelinepro1',\n\t\t\t\t\t'landing.icon.simplelinepro2',\n\t\t\t\t])\n\t\t\t\t.then(Object.values);\n\t\t});\n\t}\n\n\t/**\n\t * Requests current lang dictionary from backend.\n\t */\n\tinitDictionary()\n\t{\n\t\tif (this.dictionary === null)\n\t\t{\n\t\t\tthis.dictionary = {};\n\t\t\tconst lang = Loc.getMessage('LANGUAGE_ID');\n\n\t\t\t// available for 'ru' and 'de' languages only\n\t\t\tif (lang !== 'ru' && lang !== 'de')\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tBX.ajax.loadJSON('/bitrix/js/landing/dicdata/' + lang + '.json', dictionary => {\n\t\t\t\t[...Object.keys(dictionary)].map(key => {\n\t\t\t\t\tdictionary[key].toLowerCase().split(' ').map(word => {\n\t\t\t\t\t\tif (word)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.dictionary[word] = key;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Returns translated word from loaded dictionary.\n\t *\n\t * @param {string} word Word to translate.\n\t * @returns {null|string}\n\t */\n\ttranslateWord(word: string): ?string\n\t{\n\t\tif (this?.dictionary[word])\n\t\t{\n\t\t\treturn this.dictionary[word];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tselectDefaultCategory()\n\t{\n\t\t// todo: init current category and icon?\n\t\tif (this.defaultCategory)\n\t\t{\n\t\t\tthis.onCategoryChange(this.defaultCategory);\n\t\t}\n\t}\n\n\tmakeLayout()\n\t{\n\t\tif (Type.isStringFilled(this.content.innerHTML))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tDom.append(this.searchField.getLayout(), this.sidebar);\n\n\t\tIconPanel\n\t\t\t.getLibraries()\n\t\t\t.then((libraries) => {\n\t\t\t\tlibraries.forEach(({id, name: text, active, categories}) => {\n\t\t\t\t\tif (active === false)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.defaultCategory)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.defaultCategory = categories[0].id;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.appendSidebarButton(\n\t\t\t\t\t\tnew SidebarButton({\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\ttext,\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\n\t\t\t\t\tcategories.forEach((category) => {\n\t\t\t\t\t\tthis.appendSidebarButton(\n\t\t\t\t\t\t\tnew SidebarButton({\n\t\t\t\t\t\t\t\tid: category.id,\n\t\t\t\t\t\t\t\ttext: category.name,\n\t\t\t\t\t\t\t\tonClick: this.onCategoryChange.bind(this, category.id),\n\t\t\t\t\t\t\t\tchild: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tthis.selectDefaultCategory();\n\t\t\t});\n\n\t\t// bottom buttons\n\t\tthis.appendFooterButton(\n\t\t\tnew BaseButton(\"save_icon\", {\n\t\t\t\ttext: Loc.getMessage(\"LANDING_ICON_PANEL_BUTTON_CHOOSE\"),\n\t\t\t\tonClick: () => {\n\t\t\t\t\tif (this.iconList.getActiveIcon())\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.resolver({\n\t\t\t\t\t\t\ticonOptions: this.iconList.getActiveOptions(),\n\t\t\t\t\t\t\ticonClassName: this.iconList.getActiveIcon(),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tvoid this.hide();\n\t\t\t\t},\n\t\t\t\tclassName: \"landing-ui-button-content-save\"\n\t\t\t})\n\t\t);\n\t\tthis.appendFooterButton(\n\t\t\tnew BaseButton(\"cancel_icon\", {\n\t\t\t\ttext: Loc.getMessage(\"LANDING_ICON_PANEL_BUTTON_CANCEL\"),\n\t\t\t\tonClick: this.hide.bind(this),\n\t\t\t\tclassName: \"landing-ui-button-content-cancel\"\n\t\t\t})\n\t\t);\n\t}\n\n\tfillIconsList(items: [], title: string)\n\t{\n\t\tthis.iconList = new IconListCard();\n\t\tthis.iconList.setTitle(title);\n\n\t\titems.forEach((item) => {\n\t\t\tif (Type.isObject(item))\n\t\t\t{\n\t\t\t\tconst iconOptions = {\n\t\t\t\t\toptions: item.options ? item.options : {},\n\t\t\t\t\tdefaultOption: item.defaultOption ? item.defaultOption : '',\n\t\t\t\t}\n\n\t\t\t\tthis.iconList.addItem(item.className, iconOptions);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.iconList.addItem(item);\n\t\t\t}\n\t\t});\n\n\t\tthis.appendCard(this.iconList);\n\t}\n\n\tonCategoryChange(id: string)\n\t{\n\t\tthis.content.innerHTML = '';\n\n\t\tif (this.sidebarButtons.getActive())\n\t\t{\n\t\t\tthis.sidebarButtons.getActive().deactivate();\n\t\t}\n\t\tthis.sidebarButtons.get(id).activate();\n\n\t\tIconPanel\n\t\t\t.getLibraries()\n\t\t\t.then((libraries) => {\n\t\t\t\tlibraries.forEach((library) => {\n\t\t\t\t\tif (library.active === false)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlibrary.categories.forEach((category) => {\n\t\t\t\t\t\tif (id === category.id)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.fillIconsList(category.items, category.name);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tsearch(query: string)\n\t{\n\t\t// todo: replaces ',' to space\n\t\t// mega optimization!\n\t\tif (query.trim().length < 2)\n\t\t{\n\t\t\tthis.selectDefaultCategory();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.content.innerHTML = '';\n\t\tif (this.sidebarButtons.getActive())\n\t\t{\n\t\t\tthis.sidebarButtons.getActive().deactivate();\n\t\t}\n\n\t\t// todo: need loader?\n\t\tIconPanel\n\t\t\t.getLibraries()\n\t\t\t.then((libraries) => {\n\t\t\t\tconst result = [];\n\t\t\t\t// todo: can set language_id to collator?\n\t\t\t\tconst collator = new Intl.Collator(undefined, {\n\t\t\t\t\tusage: 'search',\n\t\t\t\t\tsensitivity: 'base',\n\t\t\t\t\tignorePunctuation: true,\n\t\t\t\t});\n\t\t\t\tconst preparedQuery = query.toLowerCase().trim().split(' ');\n\t\t\t\tif (preparedQuery.length === 0)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlibraries.forEach((library) => {\n\t\t\t\t\tif (library.active === false)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlibrary.categories.forEach((category) => {\n\t\t\t\t\t\tcategory.items.forEach((item) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tType.isObject(item)\n\t\t\t\t\t\t\t\t&& item.keywords\n\t\t\t\t\t\t\t\t&& item.keywords !== ''\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconst isFind = preparedQuery.some((queryWord) => {\n\t\t\t\t\t\t\t\t\tconst queryWordTranslated = this.translateWord(queryWord);\n\t\t\t\t\t\t\t\t\treturn item.keywords.split(' ').find(word => {\n\t\t\t\t\t\t\t\t\t\treturn collator.compare(queryWord, word) === 0\n\t\t\t\t\t\t\t\t\t\t\t|| (collator.compare(queryWordTranslated, word) === 0)\n\t\t\t\t\t\t\t\t\t\t;\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tif (isFind)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tresult.push(item);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\t// print\n\t\t\t\tconst title = Loc.getMessage('LANDING_ICON_PANEL_TITLE_RESULT').replace(\n\t\t\t\t\t'@query@',\n\t\t\t\t\tquery.trim()\n\t\t\t\t);\n\t\t\t\tif (result.length > 0)\n\t\t\t\t{\n\t\t\t\t\tthis.fillIconsList(result, title);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet notFoundMessage;\n\n\t\t\t\t\tthis.iconList = new IconListCard();\n\t\t\t\t\tthis.iconList.setTitle(title);\n\n\t\t\t\t\tif (!/^[a-zA-Z0-9]+$/.test(query))\n\t\t\t\t\t{\n\t\t\t\t\t\t// another screen for trying English\n\t\t\t\t\t\tnotFoundMessage = this.getNotFoundMessage();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tnotFoundMessage = this.getNotFoundMessage();\n\t\t\t\t\t}\n\n\t\t\t\t\tDom.append(notFoundMessage, this.iconList.getBody());\n\t\t\t\t\tthis.appendCard(this.iconList);\n\t\t\t\t}\n\n\t\t\t\t// dbg\n\t\t\t\t//const dateEnd = new Date();\n\t\t\t\t//console.log('search at query\"', query, '\"was end at____', dateEnd.getSeconds(), dateEnd.getMilliseconds());\n\t\t\t});\n\t}\n\n\tgetNotFoundMessage(): HTMLElement\n\t{\n\t\t// todo: remove unnecessary phrases for diff langs\n\t\treturn IconPanel.cache.remember('notFoundMsg', () => {\n\t\t\tlet textMsgId, imageClass;\n\t\t\tconst lang = Loc.getMessage('LANGUAGE_ID');\n\t\t\tif (lang === IconPanel.DEFAULT_LANG)\n\t\t\t{\n\t\t\t\ttextMsgId = 'LANDING_ICON_PANEL_NOT_FOUND_DEFAULT';\n\t\t\t\timageClass = '--not_found';\n\t\t\t}\n\t\t\telse if (IconPanel.SUPPORTED_LANG.indexOf(lang) !== -1)\n\t\t\t{\n\t\t\t\t// todo: correct phrases\n\t\t\t\ttextMsgId = 'LANDING_ICON_PANEL_NOT_FOUND_SUPPORTED';\n\t\t\t\timageClass = '--not_found';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttextMsgId = 'LANDING_ICON_PANEL_NOT_FOUND_INCORRECT';\n\t\t\t\timageClass = '--incorrect_lang';\n\t\t\t}\n\n\t\t\treturn Tag.render`<div class=\"landing-ui-panel-icon-not-found\">\n\t\t\t\t<div class=\"landing-ui-panel-icon-not-found-image ${imageClass}\"></div>\n\t\t\t\t<div class=\"landing-ui-panel-icon-not-found-title\">\n\t\t\t\t\t${Loc.getMessage(textMsgId)}\n\t\t\t\t</div>\n\t\t\t</div>`;\n\t\t});\n\t}\n\n\tshow(): Promise<any> {\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.resolver = resolve;\n\t\t\tthis.makeLayout();\n\t\t\tvoid super.show();\n\t\t});\n\t}\n}"],"names":["IconPanel","args","setEventNamespace","setTitle","Loc","getMessage","Dom","addClass","layout","overlay","attr","resolver","iconList","search","Runtime","debounce","bind","searchField","TextField","className","placeholder","textOnly","onInput","append","window","parent","document","body","initDictionary","dictionary","lang","BX","ajax","loadJSON","Object","keys","map","key","toLowerCase","split","word","defaultCategory","onCategoryChange","Type","isStringFilled","content","innerHTML","getLayout","sidebar","getLibraries","then","libraries","forEach","id","text","name","active","categories","appendSidebarButton","SidebarButton","category","onClick","child","selectDefaultCategory","appendFooterButton","BaseButton","getActiveIcon","iconOptions","getActiveOptions","iconClassName","hide","items","title","IconListCard","item","isObject","options","defaultOption","addItem","appendCard","sidebarButtons","getActive","deactivate","get","activate","library","fillIconsList","query","trim","length","result","collator","Intl","Collator","undefined","usage","sensitivity","ignorePunctuation","preparedQuery","keywords","isFind","some","queryWord","queryWordTranslated","translateWord","find","compare","push","replace","notFoundMessage","test","getNotFoundMessage","getBody","cache","remember","textMsgId","imageClass","DEFAULT_LANG","SUPPORTED_LANG","indexOf","Tag","render","Promise","resolve","makeLayout","instance","loadExtension","values","Content","Cache","MemoryCache"],"mappings":"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"}