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/im/v2/lib/market/dist/ |
Upload File : |
{"version":3,"file":"market.bundle.js","sources":["../src/classes/market-service.js","../src/classes/availability-manager.js","../src/market.js"],"sourcesContent":["export class MarketService\n{\n\t#loadLink: string = '';\n\n\topenPlacement(item, context): Promise\n\t{\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst formData = new FormData();\n\t\t\tObject.entries(item.loadConfiguration).forEach(([key, value]) => {\n\t\t\t\tformData.append(`PARAMS[params][${key}]`, value);\n\t\t\t});\n\n\t\t\tObject.entries(this.#getPlacementOptions(context)).forEach(([key, value]) => {\n\t\t\t\tformData.append(`PARAMS[params][PLACEMENT_OPTIONS][${key}]`, value);\n\t\t\t});\n\n\t\t\tconst requestPrams = {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: formData,\n\t\t\t};\n\n\t\t\tfetch(this.#loadLink, requestPrams)\n\t\t\t\t.then((response) => response.text())\n\t\t\t\t.then((textResponse) => resolve(textResponse))\n\t\t\t\t.catch((error) => reject(error));\n\t\t});\n\t}\n\n\tsetLoadLink(link: string)\n\t{\n\t\tthis.#loadLink = link;\n\t}\n\n\t#getPlacementOptions(context: Object): {dialogId?: string, messageId?: number}\n\t{\n\t\tconst placementOptions = {};\n\n\t\tif (context.dialogId)\n\t\t{\n\t\t\tplacementOptions.dialogId = context.dialogId;\n\t\t}\n\n\t\tif (context.messageId)\n\t\t{\n\t\t\tplacementOptions.messageId = context.messageId;\n\t\t}\n\n\t\treturn placementOptions;\n\t}\n}","import {ChatType} from 'im.v2.const';\n\nimport type {ImModelMarketApplication} from 'im.v2.model';\n\nconst MarketTypes = Object.freeze({\n\tuser: 'user',\n\tchat: 'chat',\n\tlines: 'lines',\n\tcrm: 'crm',\n\tall: 'all',\n});\n\nexport class AvailabilityManager\n{\n\tgetAvailablePlacements(placements: ImModelMarketApplication[], dialogType: string = '')\n\t{\n\t\treturn placements.filter(placement => this.#canShowPlacementInChat(placement, dialogType));\n\t}\n\n\t#canShowPlacementInChat(placement: ImModelMarketApplication, dialogType: string)\n\t{\n\t\tif (!placement.options.context || !dialogType)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\treturn placement.options.context.some(marketType => this.#matchDialogType(marketType, dialogType));\n\t}\n\n\t#matchDialogType(marketType: string, dialogType: $Values<typeof ChatType>)\n\t{\n\t\tswitch (marketType) {\n\t\t\tcase MarketTypes.user:\n\t\t\t\treturn this.#isUser(dialogType);\n\t\t\tcase MarketTypes.chat:\n\t\t\t\treturn this.#isChat(dialogType);\n\t\t\tcase MarketTypes.lines:\n\t\t\t\treturn this.#isLines(dialogType);\n\t\t\tcase MarketTypes.crm:\n\t\t\t\treturn this.#isCrm(dialogType);\n\t\t\tcase MarketTypes.all:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\n\t#isUser(dialogType: $Values<typeof ChatType>): boolean\n\t{\n\t\treturn dialogType === ChatType.user;\n\t}\n\n\t#isChat(dialogType: $Values<typeof ChatType>): boolean\n\t{\n\t\treturn dialogType !== ChatType.lines && dialogType !== ChatType.crm && dialogType !== ChatType.user;\n\t}\n\n\t#isLines(dialogType: $Values<typeof ChatType>): boolean\n\t{\n\t\treturn dialogType === ChatType.lines;\n\t}\n\n\t#isCrm(dialogType: $Values<typeof ChatType>): boolean\n\t{\n\t\treturn dialogType === ChatType.crm;\n\t}\n}\n","import { Store } from 'ui.vue3.vuex';\nimport { Runtime } from 'main.core';\n\nimport { Core } from 'im.v2.application.core';\nimport { Logger } from 'im.v2.lib.logger';\n\nimport { MarketService } from './classes/market-service';\nimport { AvailabilityManager } from './classes/availability-manager';\n\nimport type { ImModelMarketApplication } from 'im.v2.model';\n\ntype MarketApps = {\n\titems: ImModelMarketApplication[],\n\tlinks: {\n\t\tload: string\n\t}\n}\n\nexport class MarketManager\n{\n\tstatic #instance: MarketManager;\n\n\t#store: Store;\n\t#marketService: MarketService;\n\t#availabilityManager: AvailabilityManager;\n\n\tstatic getInstance(): MarketManager\n\t{\n\t\tif (!this.#instance)\n\t\t{\n\t\t\tthis.#instance = new this();\n\t\t}\n\n\t\treturn this.#instance;\n\t}\n\n\tstatic init()\n\t{\n\t\tMarketManager.getInstance();\n\t}\n\n\tconstructor()\n\t{\n\t\tthis.#store = Core.getStore();\n\t\tthis.#marketService = new MarketService();\n\t\tthis.#availabilityManager = new AvailabilityManager();\n\n\t\tconst { marketApps } = Core.getApplicationData();\n\t\tLogger.warn('MarketManager: marketApps', marketApps);\n\t\tthis.#init(marketApps);\n\t}\n\n\tgetAvailablePlacementsByType(placementType: string, dialogId: string = ''): ImModelMarketApplication[]\n\t{\n\t\tconst placements: ImModelMarketApplication[] = this.#store.getters['market/getByPlacement'](placementType);\n\t\tconst dialog = this.#store.getters['chats/get'](dialogId);\n\t\tconst dialogType = dialog ? dialog.type : '';\n\n\t\treturn this.#availabilityManager.getAvailablePlacements(placements, dialogType);\n\t}\n\n\tloadPlacement(id: number, context: Object = {}): Promise\n\t{\n\t\tconst placement = this.#store.getters['market/getById'](Number.parseInt(id, 10));\n\n\t\treturn this.#marketService.openPlacement(placement, context);\n\t}\n\n\tunloadPlacement(placementId: string)\n\t{\n\t\tconst appLayoutNew = Object.values(BX.rest.layoutList).filter((layout) => {\n\t\t\treturn layout.params.placementId === placementId;\n\t\t});\n\n\t\tif (appLayoutNew.length > 0)\n\t\t{\n\t\t\tappLayoutNew.forEach((layout) => {\n\t\t\t\tlayout.destroy();\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic async openSlider(placement: ImModelMarketApplication, context: Object)\n\t{\n\t\tawait Runtime.loadExtension('applayout');\n\t\tBX.rest.AppLayout.openApplication(placement.loadConfiguration.ID, context, placement.loadConfiguration);\n\t}\n\n\tstatic openMarketplace()\n\t{\n\t\tconst marketplaceImPlacementCode = 'IM_CHAT';\n\n\t\tBX.SidePanel.Instance.open(`/market/?placement=${marketplaceImPlacementCode}`);\n\t}\n\n\t#init(marketApps: MarketApps)\n\t{\n\t\tif (!marketApps)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tvoid this.#store.dispatch('market/set', marketApps);\n\t\tthis.#marketService.setLoadLink(marketApps.links.load);\n\t}\n}\n"],"names":["MarketService","openPlacement","item","context","Promise","resolve","reject","formData","FormData","Object","entries","loadConfiguration","forEach","key","value","append","requestPrams","method","body","fetch","then","response","text","textResponse","catch","error","setLoadLink","link","placementOptions","dialogId","messageId","MarketTypes","freeze","user","chat","lines","crm","all","AvailabilityManager","getAvailablePlacements","placements","dialogType","filter","placement","options","some","marketType","ChatType","MarketManager","getInstance","init","constructor","Core","getStore","marketApps","getApplicationData","Logger","warn","getAvailablePlacementsByType","placementType","getters","dialog","type","loadPlacement","id","Number","parseInt","unloadPlacement","placementId","appLayoutNew","values","BX","rest","layoutList","layout","params","length","destroy","openSlider","Runtime","loadExtension","AppLayout","openApplication","ID","openMarketplace","marketplaceImPlacementCode","SidePanel","Instance","open","dispatch","links","load"],"mappings":"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"}