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/landing/explorer/dist/ |
Upload File : |
{"version":3,"file":"explorer.bundle.js","sources":["../src/ui.js","../src/explorer.js"],"sourcesContent":["import { Loc, Tag, Text} from 'main.core';\n\nexport type DataType = {\n\tID: number,\n\tTITLE: string,\n\tTYPE: string\n};\n\nexport type FolderType = {\n\tID: number,\n\tTITLE: string,\n\tPARENT_ID: ?number\n};\n\nimport 'ui.icons.disk';\n\nexport class ExplorerUI\n{\n\tstatic getLoader(): HTMLElement\n\t{\n\t\treturn Tag.render`<div class=\"landing-explorer-loader\">\n\t\t\t<div class=\"main-ui-loader\">\n\t\t\t\t<svg class=\"main-ui-loader-svg\" viewBox=\"25 25 50 50\">\n\t\t\t\t\t<circle class=\"main-ui-loader-svg-circle\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" stroke-miterlimit=\"10\"/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>`;\n\t}\n\n\tstatic getActionButton(title: string, hadnler: () => {}): BX.UI.Button\n\t{\n\t\treturn new BX.UI.Button({\n\t\t\tid: 'landing-explorer-action',\n\t\t\tsize: BX.UI.Button.Size.MEDIUM,\n\t\t\tcolor: BX.UI.Button.Color.SUCCESS,\n\t\t\ttext: title,\n\t\t\tevents: {\n\t\t\t\tclick: hadnler\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic getCancelButton(hadnler: () => {}): BX.UI.Button\n\t{\n\t\treturn new BX.UI.Button({\n\t\t\tid: 'landing-explorer-cancel',\n\t\t\tsize: BX.UI.Button.Size.MEDIUM,\n\t\t\tcolor: BX.UI.Button.Color.LINK,\n\t\t\ttext: Loc.getMessage('LANDING_EXT_EXPLORER_BUTTON_CANCEL'),\n\t\t\tevents: {\n\t\t\t\tclick: hadnler\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic getSiteList(data: Array<DataType>, onClick: () => {}, siteType: string): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<ul class=\"landing-site-selector-list\">\n\t\t\t\t${data.map(item => {\n\t\t\t\t\tif (siteType !== 'SMN' && item.TYPE !== siteType)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\treturn Tag.render`\n\t\t\t\t\t\t<li class=\"landing-site-selector-item\" data-explorer-depth=\"0\" data-explorer-siteId=\"${item.ID}\" onclick=\"${() => onClick(item.ID)}\">\n\t\t\t\t\t\t\t<span class=\"ui-icon ui-icon-file-folder\"><i></i></span>\n\t\t\t\t\t\t\t<span class=\"landing-site-selector-item-value\">\n\t\t\t\t\t\t\t\t${Text.encode(item.TITLE)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t`;\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t`;\n\t}\n\n\tstatic getFolderItem(item: DataType, depth: number, onClick: () => {}): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<li style=\"padding-left: ${30 * depth}px\" class=\"landing-site-selector-item landing-site-selector-item-lower\" data-explorer-depth=\"${depth}\" data-explorer-folderId=\"${item.ID}\" onclick=\"${() => onClick(item.ID)}\">\n\t\t\t\t<span class=\"ui-icon ui-icon-file-folder\"><i></i></span>\n\t\t\t\t<span class=\"landing-site-selector-item-value\"> \n\t\t\t\t\t${Text.encode(item.TITLE)}\n\t\t\t\t</span>\n\t\t\t</li>\n\t\t`;\n\t}\n}\n","import { Backend } from 'landing.backend';\nimport { Loc } from 'landing.loc';\nimport { Dom } from 'main.core';\nimport { Popup } from 'main.popup';\nimport { MessageBox } from 'ui.dialogs.messagebox';\n\nimport { ExplorerUI, DataType, FolderType } from './ui';\n\nimport './explorer.css';\n\ntype ExplorerOptions = {\n\ttype: string,\n\tsiteId: number,\n\tfolderId: ?number,\n\tstartBreadCrumbs: ?Array<FolderType>\n};\n\ntype ErrorType = {\n\terror: string,\n\terror_description: string\n};\n\nexport class Explorer\n{\n\t/** @var {Popup} */\n\tpopupWindow = null;\n\ttype: string;\n\tcurrentSiteId: number;\n\tcurrentFolderId: number;\n\tstartBreadCrumbs: ?Array<FolderType>;\n\n\tconstructor(options: ExplorerOptions)\n\t{\n\t\tthis.type = options.type;\n\t\tthis.currentSiteId = options.siteId;\n\t\tthis.currentFolderId = options.folderId;\n\t\tif (options.startBreadCrumbs)\n\t\t{\n\t\t\tthis.startBreadCrumbs = options.startBreadCrumbs;\n\t\t}\n\t\tthis.popupWindow = this.getPopupWindow();\n\t}\n\n\tgetPopupWindow()\n\t{\n\t\tif (this.popupWindow === null)\n\t\t{\n\t\t\tthis.popupWindow = new Popup({\n\t\t\t\tbindElement: null,\n\t\t\t\tclassName: 'ui-message-box landing-explorer--copy-page',\n\t\t\t\tcontent: null,\n\t\t\t\ttitleBar: ' ',\n\t\t\t\toverlay: { opacity: 30 },\n\t\t\t\tcloseIcon: false,\n\t\t\t\tcontentBackground: 'transparent',\n\t\t\t\tpadding: 0\n\t\t\t});\n\t\t}\n\n\t\treturn this.popupWindow;\n\t}\n\n\topen()\n\t{\n\t\tthis.popupWindow.setContent(\n\t\t\tExplorerUI.getLoader()\n\t\t);\n\t\tthis.popupWindow.show();\n\t}\n\n\terrorAlert(errors: Array<ErrorType>)\n\t{\n\t\tMessageBox.alert(\n\t\t\terrors[0].error_description,\n\t\t\tLoc.getMessage('LANDING_EXT_EXPLORER_ALERT_TITLE'),\n\t\t\t(messageBox, button) => {\n\t\t\t\tbutton.setWaiting(false);\n\t\t\t\tmessageBox.close();\n\t\t\t\tthis.popupWindow.close();\n\t\t\t}\n\t\t);\n\t}\n\n\tsetTitle(type: string, title: string)\n\t{\n\t\tthis.popupWindow.setTitleBar(\n\t\t\tLoc.getMessage('LANDING_EXT_EXPLORER_TITLE_' + type.toUpperCase())\n\t\t\t\t.replace('#title#', title)\n\t\t);\n\t}\n\n\tsetButtons(entityId: number, type: 'copy' | 'move' | 'moveFolder')\n\t{\n\t\tconst typeUpper = type.toUpperCase();\n\t\tlet action = null;\n\t\tlet data = null;\n\n\t\tthis.popupWindow.setButtons([\n\t\t\tExplorerUI.getActionButton(\n\t\t\t\t(type === 'moveFolder')\n\t\t\t\t? Loc.getMessage('LANDING_EXT_EXPLORER_BUTTON_MOVE')\n\t\t\t\t: Loc.getMessage('LANDING_EXT_EXPLORER_BUTTON_' + typeUpper),\n\t\t\t\t() => {\n\t\t\t\t\tswitch (type)\n\t\t\t\t\t{\n\t\t\t\t\t\tcase 'copy':\n\t\t\t\t\t\t\taction = 'Landing::copy';\n\t\t\t\t\t\t\tdata = {\n\t\t\t\t\t\t\t\tlid: entityId,\n\t\t\t\t\t\t\t\ttoSiteId: this.currentSiteId,\n\t\t\t\t\t\t\t\ttoFolderId: this.currentFolderId,\n\t\t\t\t\t\t\t\tskipSystem: true\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'move':\n\t\t\t\t\t\t\taction = 'Landing::move';\n\t\t\t\t\t\t\tdata = {\n\t\t\t\t\t\t\t\tlid: entityId,\n\t\t\t\t\t\t\t\ttoSiteId: this.currentSiteId,\n\t\t\t\t\t\t\t\ttoFolderId: this.currentFolderId\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'moveFolder':\n\t\t\t\t\t\t\taction = 'Site::moveFolder';\n\t\t\t\t\t\t\tdata = {\n\t\t\t\t\t\t\t\tfolderId: entityId,\n\t\t\t\t\t\t\t\ttoSiteId: this.currentSiteId,\n\t\t\t\t\t\t\t\ttoFolderId: this.currentFolderId\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tBackend.getInstance()\n\t\t\t\t\t\t.action(\n\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsite_id: this.currentSiteId,\n\t\t\t\t\t\t\t\ttype: this.type\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tthis.popupWindow.setContent(\n\t\t\t\t\t\t\t\tExplorerUI.getLoader()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t}, 500);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(reason => {\n\t\t\t\t\t\t\tthis.errorAlert(reason.result);\n\t\t\t\t\t\t\t//return Promise.reject(reason);\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t),\n\t\t\tExplorerUI.getCancelButton(() => {\n\t\t\t\tthis.popupWindow.close();\n\t\t\t})\n\t\t]);\n\t}\n\n\t#loadBreadCrumbs(pos: number)\n\t{\n\t\tif (this.startBreadCrumbs[pos])\n\t\t{\n\t\t\tthis.#loadFolders(\n\t\t\t\tthis.currentSiteId,\n\t\t\t\tthis.startBreadCrumbs[pos].PARENT_ID,\n\t\t\t\t() => {\n\t\t\t\t\tif (this.startBreadCrumbs[pos + 1])\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.#loadBreadCrumbs(pos + 1);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.#clickFolder(this.startBreadCrumbs[pos].ID);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\t#loadSites()\n\t{\n\t\tBackend.getInstance()\n\t\t\t.action(\n\t\t\t\t'Site::getList',\n\t\t\t\t{\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tfilter: {\n\t\t\t\t\t\t\t'=TYPE': this.type,\n\t\t\t\t\t\t\t'=SPECIAL': 'N'\n\t\t\t\t\t\t},\n\t\t\t\t\t\torder: {\n\t\t\t\t\t\t\tDATE_MODIFY: 'desc'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttype: this.type\n\t\t\t\t}\n\t\t\t)\n\t\t\t.then(result => {\n\t\t\t\tthis.popupWindow.setContent(\n\t\t\t\t\tExplorerUI.getSiteList(result, this.#clickSite.bind(this), this.type)\n\t\t\t\t);\n\t\t\t\tthis.popupWindow.adjustPosition();\n\t\t\t\tthis.#scrollToSite(this.currentSiteId);\n\t\t\t\tif (this.startBreadCrumbs.length > 0)\n\t\t\t\t{\n\t\t\t\t\tthis.#selectSite(this.currentSiteId);\n\t\t\t\t\tthis.#loadBreadCrumbs(0);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.#clickSite(this.currentSiteId);\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\t#loadFolders(siteId: number, parentId: ?number, onLoad: ?() => {})\n\t{\n\t\tBackend.getInstance()\n\t\t\t.action(\n\t\t\t\t'Site::getFolders',\n\t\t\t\t{\n\t\t\t\t\tsiteId,\n\t\t\t\t\tfilter: {\n\t\t\t\t\t\tPARENT_ID: parentId ? parentId : 0\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tsite_id: siteId,\n\t\t\t\t\ttype: this.type\n\t\t\t\t}\n\t\t\t)\n\t\t\t.then((result: Array<DataType>) => {\n\t\t\t\tif (result.length <= 0)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst selectedItem = (parentId > 0)\n\t\t\t\t\t? this.#selectFolder(parentId)\n\t\t\t\t\t: this.#selectSite(siteId);\n\t\t\t\tresult.reverse().map((item: DataType) => {\n\t\t\t\t\tconst folderExist = document.querySelector('.landing-site-selector-item[data-explorer-folderId=\"' + item.ID + '\"]');\n\t\t\t\t\tif (!folderExist)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst depth = parseInt(Dom.attr(selectedItem, 'data-explorer-depth')) + 1;\n\t\t\t\t\t\tDom.insertAfter(\n\t\t\t\t\t\t\tExplorerUI.getFolderItem(item, depth, this.#clickFolder.bind(this)),\n\t\t\t\t\t\t\tselectedItem\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (onLoad)\n\t\t\t\t{\n\t\t\t\t\tonLoad();\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\t#clickSite(siteId: number)\n\t{\n\t\tthis.currentFolderId = 0;\n\t\tthis.#selectSite(siteId);\n\t\tthis.#loadFolders(siteId);\n\t}\n\n\t#clickFolder(folderId: number)\n\t{\n\t\tthis.#selectFolder(folderId);\n\t\tthis.#loadFolders(this.currentSiteId, folderId);\n\t}\n\n\t#selectSite(siteId: number): HTMLElement\n\t{\n\t\tthis.currentSiteId = siteId;\n\t\treturn this.#selectItem(siteId, 'siteId')\n\t}\n\n\t#selectFolder(folderId: number): HTMLElement\n\t{\n\t\tthis.currentFolderId = folderId;\n\t\treturn this.#selectItem(folderId, 'folderId')\n\t}\n\n\t#selectItem(itemId: number, dataType: string): HTMLElement\n\t{\n\t\tconst currentSelect = document.querySelector('.landing-site-selector-item-selected');\n\t\tconst newSelect = document.querySelector('.landing-site-selector-item[data-explorer-' + dataType + '=\"' + itemId + '\"]');\n\t\tif (currentSelect)\n\t\t{\n\t\t\tDom.removeClass(currentSelect, 'landing-site-selector-item-selected');\n\t\t}\n\t\tif (newSelect)\n\t\t{\n\t\t\tDom.addClass(newSelect, 'landing-site-selector-item-selected');\n\t\t}\n\n\t\treturn newSelect;\n\t}\n\n\t#scrollToSite(siteId: number)\n\t{\n\t\tconst siteNode = document.querySelector('[data-explorer-siteId=\"' + siteId + '\"]');\n\t\tif (siteNode)\n\t\t{\n\t\t\t// const posY = siteNode.getBoundingClientRect().y;\n\t\t\t// document.querySelector('.landing-site-selector-list').scrollTo(0, posY);\n\t\t\tsiteNode.scrollIntoView(\n\t\t\t\t{\n\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\tblock: 'nearest',\n\t\t\t\t\tinline: 'start'\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tcopy(landing: DataType)\n\t{\n\t\tthis.setTitle('copy', landing.TITLE);\n\t\tthis.setButtons(landing.ID, 'copy');\n\t\tthis.open();\n\t\tthis.#loadSites();\n\t}\n\n\tmove(landing: DataType)\n\t{\n\t\tthis.setTitle('move', landing.TITLE);\n\t\tthis.setButtons(landing.ID, 'move');\n\t\tthis.open();\n\t\tthis.#loadSites();\n\t}\n\n\tmoveFolder(folder: FolderType)\n\t{\n\t\tthis.setTitle('move', folder.TITLE);\n\t\tthis.setButtons(folder.ID, 'moveFolder');\n\t\tthis.open();\n\t\tthis.#loadSites();\n\t}\n}\n"],"names":["ExplorerUI","Tag","render","title","hadnler","BX","UI","Button","id","size","Size","MEDIUM","color","Color","SUCCESS","text","events","click","LINK","Loc","getMessage","data","onClick","siteType","map","item","TYPE","ID","Text","encode","TITLE","depth","Explorer","options","type","currentSiteId","siteId","currentFolderId","folderId","startBreadCrumbs","popupWindow","getPopupWindow","Popup","bindElement","className","content","titleBar","overlay","opacity","closeIcon","contentBackground","padding","setContent","getLoader","show","errors","MessageBox","alert","error_description","messageBox","button","setWaiting","close","setTitleBar","toUpperCase","replace","entityId","typeUpper","action","setButtons","getActionButton","lid","toSiteId","toFolderId","skipSystem","Backend","getInstance","site_id","then","setTimeout","window","location","reload","reason","errorAlert","result","getCancelButton","landing","setTitle","open","folder","pos","PARENT_ID","params","filter","order","DATE_MODIFY","getSiteList","bind","adjustPosition","length","parentId","onLoad","selectedItem","reverse","folderExist","document","querySelector","parseInt","Dom","attr","insertAfter","getFolderItem","itemId","dataType","currentSelect","newSelect","removeClass","addClass","siteNode","scrollIntoView","behavior","block","inline"],"mappings":"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"}