File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/im/install/js/im/controller/dist/controller.bundle.js.map
Back
{"version":3,"file":"controller.bundle.js","sources":["../src/application.js","../src/core.js"],"sourcesContent":["/**\n * Bitrix Messenger\n * Application controller\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2020 Bitrix\n */\n\nimport {Timer} from 'im.lib.timer';\nimport {DialogCrmType, DialogType, RestMethod} from \"im.const\";\nimport {Utils} from \"im.lib.utils\";\nimport {Vue} from \"ui.vue\";\n\nexport class ApplicationController\n{\n\tconstructor()\n\t{\n\t\tthis.controller = null;\n\n\t\tthis.timer = new Timer();\n\n\t\tthis._prepareFilesBeforeSave = params => { return params };\n\n\t\tthis.defaultMessageLimit = 50;\n\t\tthis.requestMessageLimit = this.getDefaultMessageLimit();\n\n\t\tthis.messageLastReadId = {};\n\t\tthis.messageReadQueue = {};\n\t}\n\n\tsetCoreController(controller)\n\t{\n\t\tthis.controller = controller;\n\t}\n\n\tgetSiteId()\n\t{\n\t\treturn this.controller.getStore().state.application.common.siteId;\n\t}\n\n\tgetUserId()\n\t{\n\t\treturn this.controller.getStore().state.application.common.userId;\n\t}\n\n\tgetLanguageId()\n\t{\n\t\treturn this.controller.getStore().state.application.common.languageId;\n\t}\n\n\tgetCurrentUser()\n\t{\n\t\treturn this.controller.getStore().getters['users/get'](this.controller.getStore().state.application.common.userId, true);\n\t}\n\n\tgetChatId()\n\t{\n\t\treturn this.controller.getStore().state.application.dialog.chatId;\n\t}\n\n\tgetDialogId()\n\t{\n\t\treturn this.controller.getStore().state.application.dialog.dialogId;\n\t}\n\n\tgetData()\n\t{\n\t\treturn this.controller.getStore().state.application;\n\t}\n\n\tgetDialogData(dialogId = this.getDialogId())\n\t{\n\t\tif (this.controller.getStore().state.dialogues.collection[dialogId])\n\t\t{\n\t\t\treturn this.controller.getStore().state.dialogues.collection[dialogId];\n\t\t}\n\n\t\treturn this.controller.getStore().getters['dialogues/getBlank']();\n\t}\n\n\tgetDialogCrmData(dialogId = this.getDialogId())\n\t{\n\t\tlet result = {\n\t\t\tenabled: false,\n\t\t\tentityType: DialogCrmType.none,\n\t\t\tentityId: 0\n\t\t};\n\n\t\tlet dialogData = this.getDialogData(dialogId);\n\t\tif (dialogData.type === DialogType.call)\n\t\t{\n\t\t\tif (dialogData.entityData1 && typeof dialogData.entityData1 === 'string')\n\t\t\t{\n\t\t\t\tlet [enabled, entityType, entityId] = dialogData.entityData1.split('|');\n\t\t\t\tif (enabled)\n\t\t\t\t{\n\t\t\t\t\tentityType = entityType? entityType.toString().toLowerCase(): DialogCrmType.none;\n\t\t\t\t\tresult = {enabled, entityType, entityId};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (dialogData.type === DialogType.crm)\n\t\t{\n\t\t\tlet [entityType, entityId] = dialogData.entityId.split('|');\n\t\t\tentityType = entityType? entityType.toString().toLowerCase(): DialogCrmType.none;\n\t\t\tresult = {enabled: true, entityType, entityId};\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tgetDialogIdByChatId(chatId)\n\t{\n\t\tif (this.getDialogId() === 'chat'+chatId)\n\t\t{\n\t\t\treturn this.getDialogId();\n\t\t}\n\n\t\tlet dialog = this.controller.getStore().getters['dialogues/getByChatId'](chatId);\n\t\tif (!dialog)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn dialog.dialogId;\n\t}\n\n\tgetDiskFolderId()\n\t{\n\t\treturn this.controller.getStore().state.application.dialog.diskFolderId;\n\t}\n\n\tgetDefaultMessageLimit()\n\t{\n\t\treturn this.defaultMessageLimit;\n\t}\n\n\tgetRequestMessageLimit()\n\t{\n\t\treturn this.requestMessageLimit;\n\t}\n\n\tmuteDialog(action = null, dialogId = this.getDialogId())\n\t{\n\t\tif (Utils.dialog.isEmptyDialogId(dialogId))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (action === null)\n\t\t{\n\t\t\taction = !this.isDialogMuted();\n\t\t}\n\n\t\tthis.timer.start('muteDialog', dialogId, .3, (id) => {\n\t\t\tthis.controller.restClient.callMethod(RestMethod.imChatMute, {\n\t\t\t\t'DIALOG_ID': dialogId,\n\t\t\t\t'ACTION': action? 'Y': 'N'\n\t\t\t})\n\t\t});\n\n\t\tlet muteList = [];\n\t\tif (action)\n\t\t{\n\t\t\tmuteList = this.getDialogData().muteList;\n\t\t\tmuteList.push(this.getUserId());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmuteList = this.getDialogData().muteList.filter(userId => userId !== this.getUserId());\n\t\t}\n\n\t\tthis.controller.getStore().dispatch('dialogues/update', {\n\t\t\tdialogId,\n\t\t\tfields: {muteList},\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tisDialogMuted(dialogId = this.getDialogId())\n\t{\n\t\treturn this.getDialogData().muteList.includes(this.getUserId());\n\t}\n\n\tisUnreadMessagesLoaded()\n\t{\n\t\tlet dialog = this.controller.getStore().state.dialogues.collection[this.getDialogId()];\n\t\tif (!dialog)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tif (dialog.lastMessageId <= 0)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tlet collection = this.controller.getStore().state.messages.collection[this.getChatId()];\n\t\tif (!collection || collection.length <= 0)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tlet lastElementId = 0;\n\t\tfor (let index = collection.length-1; index >= 0; index--)\n\t\t{\n\t\t\tlet lastElement = collection[index];\n\t\t\tif (typeof lastElement.id === \"number\")\n\t\t\t{\n\t\t\t\tlastElementId = lastElement.id;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn lastElementId >= dialog.lastMessageId;\n\t}\n\n\tprepareFilesBeforeSave(files)\n\t{\n\t\treturn this._prepareFilesBeforeSave(files);\n\t}\n\n\tsetPrepareFilesBeforeSaveFunction(func)\n\t{\n\t\tthis._prepareFilesBeforeSave = func.bind(this);\n\t}\n\n\tshowSmiles()\n\t{\n\t\tthis.store.dispatch('application/showSmiles');\n\t}\n\n\thideSmiles()\n\t{\n\t\tthis.store.dispatch('application/hideSmiles');\n\t}\n\n\tstartOpponentWriting(params)\n\t{\n\t\tlet {dialogId, userId, userName} = params;\n\n\t\tthis.controller.getStore().dispatch('dialogues/updateWriting', {\n\t\t\tdialogId,\n\t\t\tuserId,\n\t\t\tuserName,\n\t\t\taction : true\n\t\t});\n\n\t\tthis.timer.start('writingEnd', dialogId+'|'+userId, 35, (id, params) => {\n\t\t\tlet {dialogId, userId} = params;\n\t\t\tthis.controller.getStore().dispatch('dialogues/updateWriting', {\n\t\t\t\tdialogId,\n\t\t\t\tuserId,\n\t\t\t\taction: false\n\t\t\t});\n\t\t}, {dialogId, userId});\n\n\t\treturn true;\n\t}\n\n\tstopOpponentWriting(params = {})\n\t{\n\t\tlet {dialogId, userId, userName} = params;\n\n\t\tthis.timer.stop('writingStart', dialogId+'|'+userId, true);\n\t\tthis.timer.stop('writingEnd', dialogId+'|'+userId);\n\n\t\treturn true;\n\t}\n\n\tstartWriting(dialogId = this.getDialogId())\n\t{\n\t\tif (Utils.dialog.isEmptyDialogId(dialogId) || this.timer.has('writes', dialogId))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.timer.start('writes', dialogId, 28);\n\t\tthis.timer.start('writesSend', dialogId, 5, (id) => {\n\t\t\tthis.controller.restClient.callMethod(RestMethod.imDialogWriting, {\n\t\t\t\t'DIALOG_ID': dialogId\n\t\t\t}).catch(() => {\n\t\t\t\tthis.timer.stop('writes', dialogId);\n\t\t\t});\n\t\t});\n\t}\n\n\tstopWriting(dialogId = this.getDialogId())\n\t{\n\t\tthis.timer.stop('writes', dialogId, true);\n\t\tthis.timer.stop('writesSend', dialogId, true);\n\t}\n\n\tjoinParentChat(messageId, dialogId)\n\t{\n\t\treturn new Promise((resolve, reject) =>\n\t\t{\n\t\t\tif (!messageId || !dialogId)\n\t\t\t{\n\t\t\t\treturn reject();\n\t\t\t}\n\n\t\t\tif (typeof this.tempJoinChat === 'undefined')\n\t\t\t{\n\t\t\t\tthis.tempJoinChat = {};\n\t\t\t}\n\t\t\telse if (this.tempJoinChat['wait'])\n\t\t\t{\n\t\t\t\treturn reject();\n\t\t\t}\n\n\t\t\tthis.tempJoinChat['wait'] = true;\n\n\t\t\tthis.controller.restClient.callMethod(RestMethod.imChatParentJoin, {\n\t\t\t\t'DIALOG_ID': dialogId,\n\t\t\t\t'MESSAGE_ID': messageId\n\t\t\t}).then(() => {\n\t\t\t\tthis.tempJoinChat['wait'] = false;\n\t\t\t\tthis.tempJoinChat[dialogId] = true;\n\t\t\t\treturn resolve(dialogId);\n\t\t\t}).catch(() => {\n\t\t\t\tthis.tempJoinChat['wait'] = false;\n\t\t\t\treturn reject();\n\t\t\t});\n\t\t});\n\n\t};\n\n\tsetTextareaMessage(params)\n\t{\n\t\tlet {\n\t\t\tmessage = '',\n\t\t\tdialogId = this.getDialogId()\n\t\t} = params;\n\n\t\tthis.controller.getStore().dispatch('dialogues/update', {\n\t\t\tdialogId,\n\t\t\tfields: {\n\t\t\t\ttextareaMessage: message\n\t\t\t},\n\t\t});\n\t}\n\n\tsetSendingMessageFlag(messageId)\n\t{\n\t\tthis.controller.getStore().dispatch('messages/actionStart', {\n\t\t\tid: messageId,\n\t\t\tchatId: this.getChatId()\n\t\t});\n\t}\n\n\treactMessage(messageId, type = 'like', action = 'auto')\n\t{\n\t\tthis.controller.restClient.callMethod(RestMethod.imMessageLike, {\n\t\t\t'MESSAGE_ID': messageId,\n\t\t\t'ACTION': action === 'auto'? 'auto': (action === 'set'? 'plus': 'minus')\n\t\t});\n\t}\n\n\treadMessage(messageId = null, force = false, skipAjax = false)\n\t{\n\t\tlet chatId = this.getChatId();\n\n\t\tif (typeof this.messageLastReadId[chatId] === 'undefined')\n\t\t{\n\t\t\tthis.messageLastReadId[chatId] = null;\n\t\t}\n\t\tif (typeof this.messageReadQueue[chatId] === 'undefined')\n\t\t{\n\t\t\tthis.messageReadQueue[chatId] = [];\n\t\t}\n\n\t\tif (messageId)\n\t\t{\n\t\t\tthis.messageReadQueue[chatId].push(parseInt(messageId));\n\t\t}\n\n\t\tthis.timer.stop('readMessage', chatId, true);\n\t\tthis.timer.stop('readMessageServer', chatId, true);\n\n\t\tif (force)\n\t\t{\n\t\t\treturn this.readMessageExecute(chatId, skipAjax);\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.timer.start('readMessage', chatId, .1, (chatId, params) => this.readMessageExecute(chatId, skipAjax).then((result) => resolve(result)));\n\t\t});\n\t}\n\n\treadMessageExecute(chatId, skipAjax = false)\n\t{\n\t\treturn new Promise((resolve, reject) =>\n\t\t{\n\t\t\tif (this.messageReadQueue[chatId])\n\t\t\t{\n\t\t\t\tthis.messageReadQueue[chatId] = this.messageReadQueue[chatId].filter(elementId => {\n\t\t\t\t\tif (!this.messageLastReadId[chatId])\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.messageLastReadId[chatId] = elementId;\n\t\t\t\t\t}\n\t\t\t\t\telse if (this.messageLastReadId[chatId] < elementId)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.messageLastReadId[chatId] = elementId;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlet dialogId = this.getDialogIdByChatId(chatId);\n\t\t\tlet lastId = this.messageLastReadId[chatId] || 0;\n\t\t\tif (lastId <= 0)\n\t\t\t{\n\t\t\t\tresolve({dialogId, lastId: 0});\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tthis.controller.getStore().dispatch('messages/readMessages', {\n\t\t\t\tchatId: chatId,\n\t\t\t\treadId: lastId\n\t\t\t}).then(result =>\n\t\t\t{\n\t\t\t\tthis.controller.getStore().dispatch('dialogues/decreaseCounter', {\n\t\t\t\t\tdialogId,\n\t\t\t\t\tcount: result.count\n\t\t\t\t});\n\n\t\t\t\tif (this.getChatId() === chatId && this.controller.getStore().getters['dialogues/canSaveChat'])\n\t\t\t\t{\n\t\t\t\t\tlet dialog = this.controller.getStore().getters['dialogues/get'](dialogId);\n\t\t\t\t\tif (dialog.counter <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.controller.getStore().commit('application/clearDialogExtraCount');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (skipAjax)\n\t\t\t\t{\n\t\t\t\t\tresolve({dialogId, lastId});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.timer.start('readMessageServer', chatId, .5, () => {\n\t\t\t\t\t\tthis.controller.restClient.callMethod(RestMethod.imDialogRead, {\n\t\t\t\t\t\t\t'DIALOG_ID': dialogId,\n\t\t\t\t\t\t\t'MESSAGE_ID': lastId\n\t\t\t\t\t\t}).then(() => resolve({dialogId, lastId})).catch(() => resolve({dialogId, lastId}));\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t}).catch(() => {\n\t\t\t\tresolve();\n\t\t\t});\n\t\t});\n\t}\n\n\tunreadMessage(messageId = null, skipAjax = false)\n\t{\n\t\tlet chatId = this.getChatId();\n\n\t\tif (typeof this.messageLastReadId[chatId] === 'undefined')\n\t\t{\n\t\t\tthis.messageLastReadId[chatId] = null;\n\t\t}\n\t\tif (typeof this.messageReadQueue[chatId] === 'undefined')\n\t\t{\n\t\t\tthis.messageReadQueue[chatId] = [];\n\t\t}\n\n\t\tif (messageId)\n\t\t{\n\t\t\tthis.messageReadQueue[chatId] = this.messageReadQueue[chatId].filter(id => id < messageId);\n\t\t}\n\n\t\tthis.timer.stop('readMessage', chatId, true);\n\t\tthis.timer.stop('readMessageServer', chatId, true);\n\n\t\tthis.messageLastReadId[chatId] = messageId;\n\n\t\tthis.controller.getStore().dispatch('messages/unreadMessages', {\n\t\t\tchatId: chatId,\n\t\t\tunreadId: this.messageLastReadId[chatId]\n\t\t}).then(result => {\n\n\t\t\tlet dialogId = this.getDialogIdByChatId(chatId);\n\n\t\t\tthis.controller.getStore().dispatch('dialogues/update', {\n\t\t\t\tdialogId,\n\t\t\t\tfields: {\n\t\t\t\t\tunreadId: messageId\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tthis.controller.getStore().dispatch('dialogues/increaseCounter', {\n\t\t\t\tdialogId,\n\t\t\t\tcount: result.count\n\t\t\t});\n\n\t\t\tif (!skipAjax)\n\t\t\t{\n\t\t\t\tthis.controller.restClient.callMethod(RestMethod.imDialogUnread, {\n\t\t\t\t\t'DIALOG_ID': dialogId,\n\t\t\t\t\t'MESSAGE_ID': this.messageLastReadId[chatId]\n\t\t\t\t});\n\t\t\t}\n\n\t\t}).catch(() => {});\n\t}\n\n\tshareMessage(messageId, type, date = null)\n\t{\n\t\tthis.controller.restClient.callMethod(RestMethod.imMessageShare, {\n\t\t\t'DIALOG_ID': this.getDialogId(),\n\t\t\t'MESSAGE_ID': messageId,\n\t\t\t'TYPE': type,\n\t\t});\n\n\t\treturn true;\n\t}\n\n\treplyToUser(userId, user)\n\t{\n\t\treturn true;\n\t}\n\n\topenMessageReactionList(messageId, values)\n\t{\n\t\treturn true;\n\t}\n\n\temit(eventName, ...args)\n\t{\n\t\tVue.event.$emit(eventName, ...args)\n\t}\n\n\tlisten(event, callback)\n\t{\n\t\tVue.event.$on(event, callback);\n\t}\n}","/**\n * Bitrix im\n * Core controller class\n *\n * @package bitrix\n * @subpackage mobile\n * @copyright 2001-2020 Bitrix\n */\n\nimport {PullClient, PULL as Pull} from \"pull.client\";\nimport {RestClient, rest as Rest} from \"rest.client\";\n\n// ui\nimport {BitrixVue} from \"ui.vue\";\nimport {VuexBuilder} from \"ui.vue.vuex\";\n\n// messenger files\nimport {ApplicationModel, MessagesModel, DialoguesModel, UsersModel, FilesModel, RecentModel, NotificationsModel} from 'im.model';\nimport {DeviceType, DeviceOrientation} from 'im.const';\nimport {Utils} from \"im.lib.utils\";\nimport {ImBasePullHandler} from \"im.provider.pull\";\nimport {CoreRestHandler} from \"im.provider.rest\";\n\nimport {ApplicationController} from \"./application\";\nimport {Logger} from \"im.lib.logger\";\n\nexport class Controller\n{\n\t/* region 01. Initialize and store data */\n\n\tconstructor(params = {})\n\t{\n\t\tthis.inited = false;\n\t\tthis.initPromise = new Promise((resolve, reject) => {\n\t\t\tthis.initPromiseResolver = resolve;\n\t\t});\n\n\t\tthis.offline = false;\n\n\t\tthis.restAnswerHandler = [];\n\t\tthis.vuexAdditionalModel = [];\n\n\t\tthis.store = null;\n\t\tthis.storeBuilder = null;\n\n\t\tthis.init()\n\t\t\t.then(() => this.prepareParams(params))\n\t\t\t.then(() => this.initController())\n\t\t\t.then(() => this.initLocalStorage())\n\t\t\t.then(() => this.initStorage())\n\t\t\t.then(() => this.initRestClient())\n\t\t\t.then(() => this.initPullClient())\n\t\t\t.then(() => this.initEnvironment())\n\t\t\t.then(() => this.initComplete())\n\t\t\t.catch(error => {\n\t\t\t\tLogger.error('error initializing core controller', error);\n\t\t\t})\n\t\t;\n\t}\n\n\tinit()\n\t{\n\t\treturn Promise.resolve();\n\t}\n\n\tprepareParams(params)\n\t{\n\t\tif (typeof params.localize !== 'undefined')\n\t\t{\n\t\t\tthis.localize = params.localize;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (typeof BX !== 'undefined')\n\t\t\t{\n\t\t\t\tthis.localize = {...BX.message};\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.localize = {};\n\t\t\t}\n\t\t}\n\n\t\tif (typeof params.host !== 'undefined')\n\t\t{\n\t\t\tthis.host = params.host;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.host = location.origin;\n\t\t}\n\n\t\tif (typeof params.userId !== 'undefined')\n\t\t{\n\t\t\tconst parsedUserId = parseInt(params.userId);\n\t\t\tif (!isNaN(parsedUserId))\n\t\t\t{\n\t\t\t\tthis.userId = parsedUserId;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.userId = 0;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tlet userId = this.getLocalize('USER_ID');\n\t\t\tthis.userId = userId? parseInt(userId): 0;\n\t\t}\n\n\t\tif (typeof params.siteId !== 'undefined')\n\t\t{\n\t\t\tif (typeof params.siteId === 'string' && params.siteId !== '')\n\t\t\t{\n\t\t\t\tthis.siteId = params.siteId;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.siteId = 's1';\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.siteId = this.getLocalize('SITE_ID') || 's1';\n\t\t}\n\n\t\tif (typeof params.siteDir !== 'undefined')\n\t\t{\n\t\t\tif (typeof params.siteDir === 'string' && params.siteDir !== '')\n\t\t\t{\n\t\t\t\tthis.siteDir = params.siteDir;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.siteDir = 's1';\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.siteDir = this.getLocalize('SITE_DIR') || 's1';\n\t\t}\n\n\t\tif (typeof params.languageId !== 'undefined')\n\t\t{\n\t\t\tif (typeof params.languageId === 'string' && params.languageId !== '')\n\t\t\t{\n\t\t\t\tthis.languageId = params.languageId;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.languageId = 'en';\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.languageId = this.getLocalize('LANGUAGE_ID') || 'en';\n\t\t}\n\n\t\tthis.pullInstance = PullClient;\n\t\tthis.pullClient = Pull;\n\n\t\tif (typeof params.pull !== 'undefined')\n\t\t{\n\t\t\tif (typeof params.pull.instance !== 'undefined')\n\t\t\t{\n\t\t\t\tthis.pullInstance = params.pull.instance;\n\t\t\t}\n\t\t\tif (typeof params.pull.client !== 'undefined')\n\t\t\t{\n\t\t\t\tthis.pullClient = params.pull.client;\n\t\t\t}\n\t\t}\n\n\n\t\tthis.restInstance = RestClient;\n\t\tthis.restClient = Rest;\n\n\t\tif (typeof params.rest !== 'undefined')\n\t\t{\n\t\t\tif (typeof params.rest.instance !== 'undefined')\n\t\t\t{\n\t\t\t\tthis.restInstance = params.rest.instance;\n\t\t\t}\n\t\t\tif (typeof params.rest.client !== 'undefined')\n\t\t\t{\n\t\t\t\tthis.restClient = params.rest.client;\n\t\t\t}\n\t\t}\n\n\n\t\tthis.vuexBuilder = {\n\t\t\tdatabase: false,\n\t\t\tdatabaseName: 'desktop/im',\n\t\t\tdatabaseType: VuexBuilder.DatabaseType.indexedDb\n\t\t};\n\n\t\tif (typeof params.vuexBuilder !== 'undefined')\n\t\t{\n\t\t\tif (typeof params.vuexBuilder.database !== 'undefined')\n\t\t\t{\n\t\t\t\tthis.vuexBuilder.database = params.vuexBuilder.database;\n\t\t\t}\n\t\t\tif (typeof params.vuexBuilder.databaseName !== 'undefined')\n\t\t\t{\n\t\t\t\tthis.vuexBuilder.databaseName = params.vuexBuilder.databaseName;\n\t\t\t}\n\t\t\tif (typeof params.vuexBuilder.databaseType !== 'undefined')\n\t\t\t{\n\t\t\t\tthis.vuexBuilder.databaseType = params.vuexBuilder.databaseType;\n\t\t\t}\n\t\t\tif (typeof params.vuexBuilder.models !== 'undefined')\n\t\t\t{\n\t\t\t\tparams.vuexBuilder.models.forEach(model => {\n\t\t\t\t\tthis.addVuexModel(model);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.resolve();\n\t}\n\n\tinitController()\n\t{\n\t\tthis.application = new ApplicationController();\n\t\tthis.application.setCoreController(this);\n\n\t\treturn new Promise((resolve, reject) => resolve());\n\t}\n\n\tinitLocalStorage()\n\t{\n\t\treturn new Promise((resolve, reject) => resolve());\n\t}\n\n\tinitStorage()\n\t{\n\t\tlet applicationVariables = {\n\t\t\tcommon: {\n\t\t\t\thost: this.getHost(),\n\t\t\t\tuserId: this.getUserId(),\n\t\t\t\tsiteId: this.getSiteId(),\n\t\t\t\tlanguageId: this.getLanguageId(),\n\t\t\t},\n\t\t\tdialog: {\n\t\t\t\tmessageLimit: this.application.getDefaultMessageLimit(),\n\t\t\t\tenableReadMessages: true,\n\t\t\t},\n\t\t\tdevice: {\n\t\t\t\ttype: Utils.device.isMobile()? DeviceType.mobile: DeviceType.desktop,\n\t\t\t\torientation: Utils.device.getOrientation(),\n\t\t\t},\n\t\t};\n\n\t\tlet builder = new VuexBuilder()\n\t\t\t.addModel(ApplicationModel.create().useDatabase(false).setVariables(applicationVariables))\n\t\t\t.addModel(MessagesModel.create().useDatabase(this.vuexBuilder.database).setVariables({host: this.getHost()}))\n\t\t\t.addModel(DialoguesModel.create().useDatabase(this.vuexBuilder.database).setVariables({host: this.getHost()}))\n\t\t\t.addModel(FilesModel.create().useDatabase(this.vuexBuilder.database).setVariables({host: this.getHost(), default: {name: 'File is deleted'}}))\n\t\t\t.addModel(UsersModel.create().useDatabase(this.vuexBuilder.database).setVariables({host: this.getHost(), default: {name: 'Anonymous'}}))\n\t\t\t.addModel(RecentModel.create().useDatabase(false).setVariables({host: this.getHost()}))\n\t\t\t.addModel(NotificationsModel.create().useDatabase(false).setVariables({host: this.getHost()}))\n\t\t;\n\n\t\tthis.vuexAdditionalModel.forEach(model => {\n\t\t\tbuilder.addModel(model);\n\t\t});\n\n\t\tbuilder.setDatabaseConfig({\n\t\t\tname: this.vuexBuilder.databaseName,\n\t\t\ttype: this.vuexBuilder.databaseType,\n\t\t\tsiteId: this.getSiteId(),\n\t\t\tuserId: this.getUserId(),\n\t\t});\n\n\t\treturn builder.build().then(result => {\n\t\t\tthis.store = result.store;\n\t\t\tthis.storeBuilder = result.builder;\n\t\t\treturn new Promise((resolve, reject) => resolve());\n\t\t})\n\t}\n\n\tinitRestClient(result)\n\t{\n\t\tthis.addRestAnswerHandler(\n\t\t\tCoreRestHandler.create({\n\t\t\t\tstore: this.store,\n\t\t\t\tcontroller: this,\n\t\t\t})\n\t\t);\n\n\t\treturn new Promise((resolve, reject) => resolve());\n\t}\n\n\tinitPullClient()\n\t{\n\t\tif (!this.pullClient)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.pullClient.subscribe(\n\t\t\tthis.pullBaseHandler = new ImBasePullHandler({\n\t\t\t\tstore: this.store,\n\t\t\t\tcontroller: this,\n\t\t\t})\n\t\t);\n\n\t\tthis.pullClient.subscribe({\n\t\t\ttype: this.pullInstance.SubscriptionType.Status,\n\t\t\tcallback: this.eventStatusInteraction.bind(this)\n\t\t});\n\n\t\tthis.pullClient.subscribe({\n\t\t\ttype: this.pullInstance.SubscriptionType.Online,\n\t\t\tcallback: this.eventOnlineInteraction.bind(this)\n\t\t});\n\n\t\treturn new Promise((resolve, reject) => resolve());\n\t}\n\n\tinitEnvironment(result)\n\t{\n\t\twindow.addEventListener('orientationchange', () =>\n\t\t{\n\t\t\tif (!this.store)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.store.commit('application/set', {device: {\n\t\t\t\torientation: Utils.device.getOrientation()\n\t\t\t}});\n\n\t\t\tif (\n\t\t\t\tthis.store.state.application.device.type === DeviceType.mobile\n\t\t\t\t&& this.store.state.application.device.orientation === DeviceOrientation.horizontal\n\t\t\t)\n\t\t\t{\n\t\t\t\tdocument.activeElement.blur();\n\t\t\t}\n\t\t});\n\n\t\treturn new Promise((resolve, reject) => resolve());\n\t}\n\n\tinitComplete()\n\t{\n\t\tthis.inited = true;\n\t\tthis.initPromiseResolver(this);\n\t}\n\n/* endregion 01. Initialize and store data */\n\n/* region 02. Push & Pull */\n\n\teventStatusInteraction(data)\n\t{\n\t\tif (data.status === this.pullInstance.PullStatus.Online)\n\t\t{\n\t\t\tthis.offline = false;\n\n\t\t\t//this.pullBaseHandler.option.skip = true;\n\t\t\t// this.getDialogUnread().then(() => {\n\t\t\t// \tthis.pullBaseHandler.option.skip = false;\n\t\t\t// \tthis.processSendMessages();\n\t\t\t// \tthis.emit(EventType.dialog.sendReadMessages);\n\t\t\t// }).catch(() => {\n\t\t\t// \tthis.pullBaseHandler.option.skip = false;\n\t\t\t// \tthis.processSendMessages();\n\t\t\t// });\n\t\t}\n\t\telse if (data.status === this.pullInstance.PullStatus.Offline)\n\t\t{\n\t\t\tthis.offline = true;\n\t\t}\n\t}\n\n\teventOnlineInteraction(data)\n\t{\n\t\tif (data.command === 'list' || data.command === 'userStatus')\n\t\t{\n\t\t\tfor (let userId in data.params.users)\n\t\t\t{\n\t\t\t\tif (!data.params.users.hasOwnProperty(userId))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tthis.store.dispatch('users/update', {\n\t\t\t\t\tid: data.params.users[userId].id,\n\t\t\t\t\tfields: data.params.users[userId]\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n/* endregion 02. Push & Pull */\n\n/* region 03. Rest */\n\n\texecuteRestAnswer(command, result, extra)\n\t{\n\t\tLogger.warn('Core.controller.executeRestAnswer', command, result, extra);\n\n\t\tthis.restAnswerHandler.forEach(handler => {\n\t\t\thandler.execute(command, result, extra);\n\t\t});\n\t}\n\n/* endregion 03. Rest */\n\n/* region 04. Template engine */\n\n\tcreateVue(application, config = {})\n\t{\n\t\tconst controller = this;\n\n\t\tlet beforeCreateFunction = () => {};\n\t\tif (config.beforeCreate)\n\t\t{\n\t\t\tbeforeCreateFunction = config.beforeCreate;\n\t\t}\n\n\t\tlet destroyedFunction = () => {};\n\t\tif (config.destroyed)\n\t\t{\n\t\t\tdestroyedFunction = config.destroyed;\n\t\t}\n\n\t\tlet createdFunction = () => {};\n\t\tif (config.created)\n\t\t{\n\t\t\tcreatedFunction = config.created;\n\t\t}\n\n\t\tlet initConfig = {\n\t\t\tstore: this.store,\n\t\t\tbeforeCreate()\n\t\t\t{\n\t\t\t\tthis.$bitrix.Data.set('controller', controller);\n\n\t\t\t\tthis.$bitrix.Application.set(application);\n\t\t\t\tthis.$bitrix.Loc.setMessage(controller.localize);\n\n\t\t\t\tif (controller.restClient)\n\t\t\t\t{\n\t\t\t\t\tthis.$bitrix.RestClient.set(controller.restClient);\n\t\t\t\t}\n\t\t\t\tif (controller.pullClient)\n\t\t\t\t{\n\t\t\t\t\tthis.$bitrix.PullClient.set(controller.pullClient);\n\t\t\t\t}\n\n\t\t\t\tbeforeCreateFunction.bind(this)();\n\t\t\t},\n\t\t\tcreated()\n\t\t\t{\n\t\t\t\tcreatedFunction.bind(this)();\n\t\t\t},\n\t\t\tdestroyed()\n\t\t\t{\n\t\t\t\tdestroyedFunction.bind(this)();\n\t\t\t}\n\t\t};\n\n\t\tif (config.el)\n\t\t{\n\t\t\tinitConfig.el = config.el;\n\t\t}\n\n\t\tif (config.template)\n\t\t{\n\t\t\tinitConfig.template = config.template;\n\t\t}\n\n\t\tif (config.computed)\n\t\t{\n\t\t\tinitConfig.computed = config.computed;\n\t\t}\n\n\t\tif (config.data)\n\t\t{\n\t\t\tinitConfig.data = config.data;\n\t\t}\n\n\t\tconst initConfigCreatedFunction = initConfig.created;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tinitConfig.created = function() {\n\t\t\t\tinitConfigCreatedFunction.bind(this)();\n\t\t\t\tresolve(this);\n\t\t\t};\n\t\t\tBitrixVue.createApp(initConfig);\n\t\t});\n\t}\n\n/* endregion 04. Template engine */\n\n/* region 05. Core methods */\n\tgetHost()\n\t{\n\t\treturn this.host;\n\t}\n\n\tsetHost(host)\n\t{\n\t\tthis.host = host;\n\n\t\tthis.store.commit('application/set', {\n\t\t\tcommon: {host},\n\t\t});\n\t}\n\n\tgetUserId()\n\t{\n\t\treturn this.userId;\n\t}\n\n\tsetUserId(userId)\n\t{\n\t\tconst parsedUserId = parseInt(userId);\n\t\tif (!isNaN(parsedUserId))\n\t\t{\n\t\t\tthis.userId = parsedUserId;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.userId = 0;\n\t\t}\n\n\t\tthis.store.commit('application/set', {\n\t\t\tcommon: {userId},\n\t\t});\n\t}\n\n\tgetSiteId()\n\t{\n\t\treturn this.siteId;\n\t}\n\n\tsetSiteId(siteId)\n\t{\n\t\tif (typeof siteId === 'string' && siteId !== '')\n\t\t{\n\t\t\tthis.siteId = siteId;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.siteId = 's1';\n\t\t}\n\n\t\tthis.store.commit('application/set', {\n\t\t\tcommon: {siteId: this.siteId},\n\t\t});\n\t}\n\n\tgetLanguageId()\n\t{\n\t\treturn this.languageId;\n\t}\n\n\tsetLanguageId(languageId)\n\t{\n\t\tif (typeof languageId === 'string' && languageId !== '')\n\t\t{\n\t\t\tthis.languageId = languageId;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.languageId = 'en';\n\t\t}\n\n\t\tthis.store.commit('application/set', {\n\t\t\tcommon: {languageId: this.languageId},\n\t\t});\n\t}\n\n\tgetStore()\n\t{\n\t\treturn this.store;\n\t}\n\n\tgetStoreBuilder()\n\t{\n\t\treturn this.storeBuilder;\n\t}\n\n\taddRestAnswerHandler(handler)\n\t{\n\t\tthis.restAnswerHandler.push(handler);\n\t}\n\n\taddVuexModel(model)\n\t{\n\t\tthis.vuexAdditionalModel.push(model);\n\t}\n\n\tisOnline()\n\t{\n\t\treturn !this.offline;\n\t}\n\n\tready()\n\t{\n\t\tif (this.inited)\n\t\t{\n\t\t\treturn Promise.resolve(this);\n\t\t}\n\n\t\treturn this.initPromise;\n\t}\n\n/* endregion 05. Methods */\n\n/* region 06. Interaction and utils */\n\n\tsetError(code = '', description = '')\n\t{\n\t\tLogger.error(`Messenger.Application.error: ${code} (${description})`);\n\n\t\tlet localizeDescription = '';\n\t\tif (code.endsWith('LOCALIZED'))\n\t\t{\n\t\t\tlocalizeDescription = description;\n\t\t}\n\n\t\tthis.store.commit('application/set', {error: {\n\t\t\tactive: true,\n\t\t\tcode,\n\t\t\tdescription: localizeDescription\n\t\t}});\n\t}\n\n\tclearError()\n\t{\n\t\tthis.store.commit('application/set', {error: {\n\t\t\tactive: false,\n\t\t\tcode: '',\n\t\t\tdescription: ''}\n\t\t});\n\t}\n\n\taddLocalize(phrases)\n\t{\n\t\tif (typeof phrases !== \"object\" || !phrases)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (let name in phrases)\n\t\t{\n\t\t\tif (phrases.hasOwnProperty(name))\n\t\t\t{\n\t\t\t\tthis.localize[name] = phrases[name];\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetLocalize(name)\n\t{\n\t\tlet phrase = '';\n\t\tif (typeof name === 'undefined')\n\t\t{\n\t\t\treturn this.localize;\n\t\t}\n\t\telse if (typeof this.localize[name.toString()] === 'undefined')\n\t\t{\n\t\t\tLogger.warn(`Controller.Core.getLocalize: message with code '${name.toString()}' is undefined.`);\n\t\t\t//Logger.trace();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tphrase = this.localize[name];\n\t\t}\n\n\t\treturn phrase;\n\t}\n\n/* endregion 06. Interaction and utils */\n}\n"],"names":["ApplicationController","controller","timer","Timer","_prepareFilesBeforeSave","params","defaultMessageLimit","requestMessageLimit","getDefaultMessageLimit","messageLastReadId","messageReadQueue","getStore","state","application","common","siteId","userId","languageId","getters","dialog","chatId","dialogId","getDialogId","dialogues","collection","result","enabled","entityType","DialogCrmType","none","entityId","dialogData","getDialogData","type","DialogType","call","entityData1","split","toString","toLowerCase","crm","diskFolderId","action","Utils","isEmptyDialogId","isDialogMuted","start","id","restClient","callMethod","RestMethod","imChatMute","muteList","push","getUserId","filter","dispatch","fields","includes","lastMessageId","messages","getChatId","length","lastElementId","index","lastElement","files","func","bind","store","userName","stop","has","imDialogWriting","messageId","Promise","resolve","reject","tempJoinChat","imChatParentJoin","then","message","textareaMessage","imMessageLike","force","skipAjax","parseInt","readMessageExecute","elementId","getDialogIdByChatId","lastId","readId","count","counter","commit","imDialogRead","unreadId","imDialogUnread","imMessageShare","user","values","eventName","args","Vue","event","$emit","callback","$on","Controller","inited","initPromise","initPromiseResolver","offline","restAnswerHandler","vuexAdditionalModel","storeBuilder","init","prepareParams","initController","initLocalStorage","initStorage","initRestClient","initPullClient","initEnvironment","initComplete","error","Logger","localize","BX","host","location","origin","parsedUserId","isNaN","getLocalize","siteDir","pullInstance","PullClient","pullClient","Pull","pull","instance","client","restInstance","RestClient","Rest","rest","vuexBuilder","database","databaseName","databaseType","VuexBuilder","DatabaseType","indexedDb","models","forEach","model","addVuexModel","setCoreController","applicationVariables","getHost","getSiteId","getLanguageId","messageLimit","enableReadMessages","device","isMobile","DeviceType","mobile","desktop","orientation","getOrientation","builder","addModel","ApplicationModel","create","useDatabase","setVariables","MessagesModel","DialoguesModel","FilesModel","name","UsersModel","RecentModel","NotificationsModel","setDatabaseConfig","build","addRestAnswerHandler","CoreRestHandler","subscribe","pullBaseHandler","ImBasePullHandler","SubscriptionType","Status","eventStatusInteraction","Online","eventOnlineInteraction","window","addEventListener","DeviceOrientation","horizontal","document","activeElement","blur","data","status","PullStatus","Offline","command","users","hasOwnProperty","extra","warn","handler","execute","config","beforeCreateFunction","beforeCreate","destroyedFunction","destroyed","createdFunction","created","initConfig","$bitrix","Data","set","Application","Loc","setMessage","el","template","computed","initConfigCreatedFunction","BitrixVue","createApp","code","description","localizeDescription","endsWith","active","phrases","phrase"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings