File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/calendar/install/js/calendar/sync/manager/dist/manager.bundle.js.map
Back
{"version":3,"file":"manager.bundle.js","sources":["../src/controls/syncstatuspopup.js","../src/controls/syncbutton.js","../src/connectionproviders/connectionitem.js","../src/connectionproviders/connectionprovider.js","../src/connectionproviders/googleprovider.js","../src/connectionproviders/office365provider.js","../src/connectionproviders/icloudprovider.js","../src/connectionproviders/androidprovider.js","../src/connectionproviders/caldavconnection.js","../src/connectionproviders/caldavprovider.js","../src/connectionproviders/exchangeprovider.js","../src/connectionproviders/iphoneprovider.js","../src/connectionproviders/macprovider.js","../src/connectionproviders/outlookprovider.js","../src/connectionproviders/yandexprovider.js","../src/manager.js"],"sourcesContent":["// @flow\n'use strict';\n\nimport {Tag, Loc, Dom, Type} from 'main.core';\nimport {Popup} from 'main.popup';\nimport {EventEmitter} from \"main.core.events\";\n\nexport default class SyncStatusPopup extends EventEmitter\n{\n\tstatic IS_RUN_REFRESH = false;\n\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Sync.Interface.SyncStatusPopup');\n\t\tthis.connections = options.connections;\n\t\tthis.withUpdateButton = options.withUpdateButton;\n\t\tthis.node = options.node;\n\t\tthis.id = options.id;\n\n\t\tthis.init();\n\t}\n\n\tstatic createInstance(options)\n\t{\n\t\treturn new this(options)\n\t}\n\n\tinit()\n\t{\n\t\tthis.setPopupContent();\n\t}\n\n\tcreatePopup()\n\t{\n\t\tthis.popup = new Popup({\n\t\t\tclassName: this.id,\n\t\t\tbindElement: this.node,\n\t\t\tcontent: this.container,\n\t\t\tangle: true,\n\t\t\twidth: 360,\n\t\t\toffsetLeft: 60,\n\t\t\toffsetTop: 5,\n\t\t\tpadding: 7,\n\t\t\tdarkMode: true,\n\t\t\tautoHide: true,\n\t\t\tzIndexAbsolute: 3010,\n\t\t});\n\t}\n\n\tshow()\n\t{\n\t\tthis.createPopup();\n\t\tthis.popup.show();\n\t}\n\n\tsetPopupContent()\n\t{\n\t\tthis.container = Tag.render `\n\t\t\t<div class=\"calendar-sync-popup-list\"></div>\n\t\t`;\n\n\t\tthis.connections.forEach(connection => {\n\t\t\tif (connection.getConnectStatus() !== true)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst options = {};\n\n\t\t\toptions.syncTime = this.getTime(connection.getSyncTimestamp());\n\t\t\toptions.classStatus = connection.getSyncStatus()\n\t\t\t\t? 'calendar-sync-popup-item-status-success'\n\t\t\t\t: 'calendar-sync-popup-item-status-fail'\n\t\t\t;\n\t\t\toptions.classLable = 'calendar-sync-popup-item-text-' + connection.getClassLabel();\n\t\t\toptions.title = connection.getConnectionName();\n\t\t\tconst block = this.getSyncElement(options);\n\t\t\tthis.container.append(block);\n\t\t});\n\n\n\t\tif (this.withUpdateButton)\n\t\t{\n\t\t\tthis.container.append(this.getContentRefreshBlock());\n\n\t\t\tif (SyncStatusPopup.IS_RUN_REFRESH)\n\t\t\t{\n\t\t\t\tthis.showRefreshStatus();\n\t\t\t}\n\t\t}\n\n\t\treturn this.container;\n\t}\n\n\thide()\n\t{\n\t\tthis.popup.destroy();\n\t}\n\n\tgetContainer()\n\t{\n\t\treturn this.container;\n\t}\n\n\tgetPopup()\n\t{\n\t\treturn this.popup;\n\t}\n\n\tgetTime(timestamp)\n\t{\n\t\tvar format = [\n\t\t\t[\"tommorow\", \"tommorow, H:i:s\"],\n\t\t\t[\"s\" , Loc.getMessage('CAL_JUST')],\n\t\t\t[\"i\" , \"iago\"],\n\t\t\t[\"H\", \"Hago\"],\n\t\t\t[\"d\", \"dago\"],\n\t\t\t[\"m100\", \"mago\"],\n\t\t\t[\"m\", \"mago\"],\n\t\t\t// [\"m5\", Loc.getMessage('CAL_JUST')],\n\t\t\t[\"-\", \"\"]\n\t\t];\n\n\t\treturn BX.date.format(format, timestamp);\n\t}\n\n\tgetSyncElement(options)\n\t{\n\t\treturn Tag.render `\n\t\t\t\t<div class=\"calendar-sync-popup-item\">\n\t\t\t\t\t<span class=\"calendar-sync-popup-item-text ${options.classLable}\">${BX.util.htmlspecialchars(options.title)}</span>\n\t\t\t\t\t<div class=\"calendar-sync-popup-item-detail\">\n\t\t\t\t\t\t<span class=\"calendar-sync-popup-item-time\">${options.syncTime}</span>\n\t\t\t\t\t\t<span class=\"calendar-sync-popup-item-status ${options.classStatus}\"></span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t}\n\n\trefresh(connections)\n\t{\n\t\tthis.connections = connections;\n\t\tthis.popup.setContent(this.setPopupContent());\n\t\tthis.setRefreshStatusBlock();\n\t}\n\n\tsetRefreshStatusBlock()\n\t{\n\t\tsetTimeout(() => {\n\t\t\tthis.removeRefreshStatusBlock();\n\t\t\tthis.enableRefreshButton();\n\t\t\tSyncStatusPopup.IS_RUN_REFRESH = false;\n\t\t}, 300000);\n\t}\n\n\tremoveRefreshStatusBlock()\n\t{\n\t\tif (Type.isElementNode(this.refreshStatusBlock))\n\t\t{\n\t\t\tthis.refreshStatusBlock.remove();\n\t\t}\n\t}\n\n\tenableRefreshButton()\n\t{\n\t\tif (Type.isElementNode(this.refreshButton))\n\t\t{\n\t\t\tthis.refreshButton.className = 'calendar-sync-popup-footer-btn';\n\t\t}\n\t}\n\n\tdisableRefreshButton()\n\t{\n\t\tif (Type.isElementNode(this.refreshButton))\n\t\t{\n\t\t\tthis.refreshButton.className = 'calendar-sync-popup-footer-btn calendar-sync-popup-footer-btn-disabled';\n\t\t}\n\t}\n\n\tgetContentRefreshBlock()\n\t{\n\t\tthis.footerWrapper = Tag.render`\n\t\t\t<div class=\"calendar-sync-popup-footer-wrap\">\n\t\t\t\t${this.getContentRefreshButton()}\n\t\t\t</div>\n\t\t`;\n\n\t\treturn this.footerWrapper;\n\t}\n\n\tgetContentRefreshButton()\n\t{\n\t\tthis.refreshButton = Tag.render`\n\t\t\t<button class=\"calendar-sync-popup-footer-btn\">${Loc.getMessage('CAL_REFRESH')}</button>\n\t\t`;\n\n\t\tthis.refreshButton.addEventListener('click', () => {\n\t\t\tDom.addClass(this.refreshButton, 'calendar-sync-popup-footer-btn-load');\n\t\t\tSyncStatusPopup.IS_RUN_REFRESH = true;\n\t\t\tthis.refreshButton.innerText = Loc.getMessage('CAL_REFRESHING');\n\t\t\tthis.runRefresh();\n\t\t});\n\n\t\treturn this.refreshButton;\n\t}\n\n\tshowRefreshStatus()\n\t{\n\t\tthis.disableRefreshButton();\n\t\tthis.footerWrapper.prepend(this.getRefreshStatus());\n\t}\n\n\tgetRefreshStatus()\n\t{\n\t\tthis.refreshStatusBlock = Tag.render`\n\t\t\t<span class=\"calendar-sync-popup-footer-status\">${Loc.getMessage('CAL_REFRESH_JUST')}</span>\n\t\t`;\n\n\t\treturn this.refreshStatusBlock;\n\t}\n\n\trunRefresh()\n\t{\n\t\tthis.emit('onRefresh', {});\n\t}\n\n\tgetId()\n\t{\n\t\treturn this.id;\n\t}\n}","// @flow\n'use strict';\n\nimport {Loc} from \"main.core\";\nimport SyncStatusPopup from \"./syncstatuspopup\";\n\nexport default class SyncButton\n{\n\tBUTTON_SIZE = BX.UI.Button.Size.EXTRA_SMALL;\n\tBUTTON_ROUND = true;\n\n\tconstructor(options)\n\t{\n\t\tthis.connectionsProviders = options.connectionsProviders;\n\t\tthis.wrapper = options.wrapper;\n\t\tthis.userId = options.userId;\n\t\tthis.status = options.status;\n\n\t\tthis.buttonEnterTimeout = null;\n\t\tthis.buttonLeaveTimeout = null;\n\t}\n\n\tstatic createInstance(options)\n\t{\n\t\treturn new this(options);\n\t}\n\n\tshow()\n\t{\n\t\tconst buttonData = this.getButtonData();\n\t\tthis.button = new BX.UI.Button({\n\t\t\ttext: buttonData.text,\n\t\t\tround: this.BUTTON_ROUND,\n\t\t\tsize: this.BUTTON_SIZE,\n\t\t\tcolor: buttonData.color,\n\t\t\tclassName: 'ui-btn-themes ' + (buttonData.iconClass || ''),\n\t\t\tonclick: () => {\n\t\t\t\tthis.handleClick();\n\t\t\t},\n\t\t\tevents: {\n\t\t\t\tmouseenter: this.handlerMouseEnter.bind(this),\n\t\t\t\tmouseleave: this.handlerMouseLeave.bind(this),\n\t\t\t},\n\t\t});\n\n\t\tthis.button.renderTo(this.wrapper);\n\t}\n\n\tshowPopup(button)\n\t{\n\t\tif(this.status !== 'not_connected')\n\t\t{\n\t\t\tconst connections = [];\n\t\t\tconst providersCollection = Object.values(this.connectionsProviders);\n\n\t\t\tprovidersCollection.forEach(provider => {\n\t\t\t\tconst providerConnections = provider.getConnections();\n\t\t\t\tif(providerConnections.length > 0)\n\t\t\t\t{\n\t\t\t\t\tproviderConnections.forEach(connection =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (connection.getConnectStatus() === true)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconnections.push(connection);\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\t\t\t});\n\n\t\t\tthis.popup = SyncStatusPopup.createInstance({\n\t\t\t\tconnections: connections,\n\t\t\t\twithUpdateButton: true,\n\t\t\t\tnode: button.getContainer(),\n\t\t\t\tid: 'calendar-syncButton-status',\n\t\t\t});\n\t\t\tthis.popup.show();\n\n\t\t\tthis.popup.getPopup().getPopupContainer().addEventListener('mouseenter', e => {\n\t\t\t\tclearTimeout(this.buttonEnterTimeout);\n\t\t\t\tclearTimeout(this.buttonLeaveTimeout);\n\t\t\t});\n\t\t\tthis.popup.getPopup().getPopupContainer().addEventListener('mouseleave', () => {\n\t\t\t\tthis.hidePopup();\n\t\t\t});\n\t\t}\n\t}\n\n\thidePopup()\n\t{\n\t\tif (this.popup)\n\t\t{\n\t\t\tthis.popup.hide();\n\t\t}\n\t}\n\n\trefresh(status, connectionProviders)\n\t{\n\t\tthis.status = status;\n\t\tthis.connectionsProviders = connectionProviders;\n\t\tconst buttonData = this.getButtonData();\n\t\tthis.button.setColor(buttonData.color);\n\t\tthis.button.setText(buttonData.text);\n\t\tthis.button.removeClass('ui-btn-icon-fail ui-btn-icon-success');\n\t\tthis.button.addClass(buttonData.iconClass);\n\t}\n\n\thandleClick()\n\t{\n\t\tclearTimeout(this.buttonEnterTimeout);\n\t\t(window.top.BX || window.BX).Runtime.loadExtension('calendar.sync.interface').then((exports) => {\n\t\t\tBX.ajax.runAction('calendar.api.calendarajax.analytical', {\n\t\t\t\tanalyticsLabel: {\n\t\t\t\t\tsync_button_click: 'Y',\n\t\t\t\t\thas_active_connection: this.status === 'not_connected' ? 'N' : 'Y'\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.syncPanel = new exports.SyncPanel({\n\t\t\t\tconnectionsProviders: this.connectionsProviders,\n\t\t\t\tuserId: this.userId,\n\t\t\t\tstatus: this.status,\n\t\t\t});\n\t\t\tthis.syncPanel.openSlider();\n\t\t});\n\t}\n\n\thandlerMouseEnter(button)\n\t{\n\t\tclearTimeout(this.buttonEnterTimeout);\n\t\tthis.buttonEnterTimeout = setTimeout(() =>\n\t\t\t{\n\t\t\t\tthis.buttonEnterTimeout = null;\n\t\t\t\tthis.showPopup(button);\n\t\t\t}, 500\n\t\t);\n\t}\n\n\thandlerMouseLeave()\n\t{\n\t\tif (this.buttonEnterTimeout !== null)\n\t\t{\n\t\t\tclearTimeout(this.buttonEnterTimeout);\n\t\t\tthis.buttonEnterTimeout = null;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.buttonLeaveTimeout = setTimeout(() =>\n\t\t\t{\n\t\t\t\tthis.hidePopup();\n\t\t\t}, 500\n\t\t);\n\t}\n\n\tgetButtonData()\n\t{\n\t\tif (this.status === 'success')\n\t\t{\n\t\t\treturn {\n\t\t\t\ttext: Loc.getMessage('STATUS_BUTTON_SYNCHRONIZATION'),\n\t\t\t\tcolor: BX.UI.Button.Color.LIGHT_BORDER,\n\t\t\t\ticonClass: 'ui-btn-icon-success',\n\t\t\t};\n\t\t}\n\t\telse if (this.status === 'failed')\n\t\t{\n\t\t\treturn {\n\t\t\t\ttext: Loc.getMessage('STATUS_BUTTON_FAILED'),\n\t\t\t\tcolor: BX.UI.Button.Color.LIGHT_BORDER,\n\t\t\t\ticonClass: 'ui-btn-icon-fail',\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttext: Loc.getMessage('STATUS_BUTTON_SYNC_CALENDAR'),\n\t\t\tcolor: BX.UI.Button.Color.PRIMARY,\n\t\t}\n\t}\n\n\tgetSyncPanel()\n\t{\n\t\treturn this.syncPanel;\n\t}\n}","// @flow\n'use strict';\n\nimport {Type} from \"main.core\";\n\nconst isConnectionItemProperty = Symbol.for('BX.Calendar.Sync.Manager.ConnectionItem.isConnectionItem');\n\nexport default class ConnectionItem\n{\n\tconstructor(options)\n\t{\n\t\tthis[isConnectionItemProperty] = true;\n\t\tthis.syncTimestamp = options.syncTimestamp;\n\t\tthis.connectionName = options.connectionName;\n\t\tthis.status = options.status;\n\t\tthis.connected = options.connected;\n\t\tthis.addParams = options.addParams;\n\t\tthis.type = options.type;\n\t\tthis.id = options.type;\n\t}\n\n\tstatic createInstance(options)\n\t{\n\t\treturn new this(options);\n\t}\n\n\tstatic isConnectionItem(target: Object)\n\t{\n\t\treturn Type.isObject(target) && target[isConnectionItemProperty] === true;\n\t}\n\n\tgetSyncTimestamp()\n\t{\n\t\treturn this.syncTimestamp;\n\t}\n\n\tgetConnectionName()\n\t{\n\t\treturn this.connectionName;\n\t}\n\n\tgetSyncStatus()\n\t{\n\t\treturn this.status;\n\t}\n\n\tgetConnectStatus()\n\t{\n\t\treturn this.connected;\n\t}\n\n\tgetStatus()\n\t{\n\t\tif (this.connected)\n\t\t{\n\t\t\treturn this.status\n\t\t\t\t? \"success\"\n\t\t\t\t: \"failed\";\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn 'not_connected';\n\t\t}\n\t}\n\n\tgetClassLabel()\n\t{\n\t\treturn this.type;\n\t}\n\n\tgetSections()\n\t{\n\t\treturn this.addParams.sections;\n\t}\n\n\tgetId()\n\t{\n\t\treturn this.addParams.id;\n\t}\n\n\tgetType()\n\t{\n\t\treturn this.type;\n\t}\n}","// @flow\n'use strict';\n\nimport ConnectionItem from \"./connectionitem\";\nimport {Reflection, Type} from \"main.core\";\n\nexport class ConnectionProvider\n{\n\tMENU_WIDTH = 200;\n\tMENU_PADDING = 7;\n\tMENU_INDEX = 3020;\n\tSLIDER_WIDTH = 606;\n\n\tconstructor(options)\n\t{\n\t\tthis.status = options.status;\n\t\tthis.connected = options.connected;\n\t\tthis.mainPanel = options.mainPanel === true;\n\t\tthis.pendingStatus = options.pendingStatus === true;\n\t\tthis.gridTitle = options.gridTitle;\n\t\tthis.gridColor = options.gridColor;\n\t\tthis.gridIcon = options.gridIcon;\n\t\tthis.type = options.type;\n\t\tthis.viewClassification = options.viewClassification;\n\t\tthis.templateClass = options.templateClass;\n\t\tthis.connections = [];\n\t}\n\n\tstatic createInstance(options)\n\t{\n\t\treturn new this(options);\n\t}\n\n\tisActive()\n\t{\n\t\treturn this.connected;\n\t}\n\n\thasMenu()\n\t{\n\t\treturn false;\n\t}\n\n\tsetAdditionalParams(options)\n\t{\n\t\tthis.additionalParams = options;\n\t}\n\n\tsetSyncTimestamp(timestamp)\n\t{\n\t\tthis.syncTimestamp = timestamp;\n\n\t\treturn this;\n\t}\n\n\tsetStatus(status)\n\t{\n\t\tthis.status = status;\n\n\t\treturn this;\n\t}\n\n\tgetGridTitle()\n\t{\n\t\treturn this.gridTitle;\n\t}\n\n\tgetGridColor()\n\t{\n\t\treturn this.gridColor;\n\t}\n\n\tgetGridIcon()\n\t{\n\t\treturn this.gridIcon;\n\t}\n\n\tsetConnections()\n\t{\n\t\tthis.connections.push(ConnectionItem.createInstance({\n\t\t\tsyncTimestamp: this.syncTimestamp,\n\t\t\tconnectionName: this.connectionName,\n\t\t\tstatus: this.status,\n\t\t\tconnected: this.connected,\n\t\t\taddParams: {\n\t\t\t\tsections: this.sections,\n\t\t\t\tid: this.id || this.type,\n\t\t\t},\n\t\t\ttype: this.type,\n\t\t}));\n\t}\n\n\tgetConnections()\n\t{\n\t\treturn this.connections;\n\t}\n\n\tgetConnection()\n\t{\n\t\treturn this.connections[0];\n\t}\n\n\tgetType()\n\t{\n\t\treturn this.type;\n\t}\n\n\tgetViewClassification()\n\t{\n\t\treturn this.viewClassification;\n\t}\n\n\tgetConnectStatus()\n\t{\n\t\treturn this.connected;\n\t}\n\n\tgetSyncStatus()\n\t{\n\t\treturn this.status;\n\t}\n\n\tgetStatus()\n\t{\n\t\tif (this.connected)\n\t\t{\n\t\t\treturn this.status\n\t\t\t\t? \"success\"\n\t\t\t\t: \"failed\";\n\t\t}\n\t\telse if (this.pendingStatus)\n\t\t{\n\t\t\treturn 'pending';\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn 'not_connected';\n\t\t}\n\t}\n\n\tgetTemplateClass()\n\t{\n\t\treturn this.templateClass;\n\t}\n\n\topenSlider(options)\n\t{\n\t\tBX.SidePanel.Instance.open(options.sliderId, {\n\t\t\tcontentCallback(slider)\n\t\t\t{\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tresolve(options.content);\n\t\t\t\t});\n\t\t\t},\n\t\t\tdata: options.data || {},\n\t\t\tcacheable: options.cacheable,\n\t\t\twidth: this.SLIDER_WIDTH,\n\t\t\tallowChangeHistory: false,\n\t\t\tevents: {\n\t\t\t\tonLoad: event => {\n\t\t\t\t\tthis.itemSlider = event.getSlider();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\topenInfoConnectionSlider()\n\t{\n\t\tconst content = this.getClassTemplateItem().createInstance(this).getInfoConnectionContent();\n\t\tthis.openSlider({\n\t\t\tsliderId: 'calendar:item-sync-connect-' + this.type,\n\t\t\tcontent: content,\n\t\t\tcacheable: false,\n\t\t\tdata: {\n\t\t\t\tprovider: this,\n\t\t\t},\n\t\t});\n\t}\n\n\topenActiveConnectionSlider(connection)\n\t{\n\t\tconst itemInterface = this.getClassTemplateItem().createInstance(this, connection);\n\t\tif (this.type === 'google')\n\t\t{\n\t\t\titemInterface.getSectionsForGoogle().then(() => {\n\t\t\t\tconst content = itemInterface.getActiveConnectionContent();\n\t\t\t\t\n\t\t\t\tthis.openSlider({\n\t\t\t\t\tsliderId: 'calendar:item-sync-' + connection.id,\n\t\t\t\t\tcontent: content,\n\t\t\t\t\tcacheable: false,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tprovider: this,\n\t\t\t\t\t\tconnection: connection,\n\t\t\t\t\t\titemInterface: itemInterface,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t})\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst content = itemInterface.getActiveConnectionContent();\n\t\t\tthis.openSlider({\n\t\t\t\tsliderId: 'calendar:item-sync-' + connection.id,\n\t\t\t\tcontent: content,\n\t\t\t\tcacheable: false,\n\t\t\t\tdata: {\n\t\t\t\t\tprovider: this,\n\t\t\t\t\tconnection: connection,\n\t\t\t\t\titemInterface: itemInterface,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tgetClassTemplateItem()\n\t{\n\t\tconst itemClass = Reflection.getClass(this.getTemplateClass());\n\t\tif (Type.isFunction(itemClass))\n\t\t{\n\t\t\treturn itemClass;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetConnectionById(id)\n\t{\n\t\tconst connections = this.getConnections();\n\t\tif (connections.length > 0)\n\t\t{\n\t\t\tconst result = connections.filter(connection => {\n\t\t\t\treturn connection.getId() == id;\n\t\t\t});\n\t\t\tif (result)\n\t\t\t{\n\t\t\t\treturn result[0];\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetSyncPanelTitle()\n\t{\n\t\treturn this.gridTitle;\n\t}\n\n\tgetSyncPanelLogo()\n\t{\n\t\treturn '--' + this.type;\n\t}\n}","import {ConnectionProvider} from \"./connectionprovider\";\nimport {Loc} from \"main.core\";\n\nexport class GoogleProvider extends ConnectionProvider\n{\n\tconstructor(options)\n\t{\n\t\tsuper({\n\t\t\tstatus: options.syncInfo.status || false,\n\t\t\tconnected: options.syncInfo.connected || false,\n\t\t\tgridTitle: Loc.getMessage('CALENDAR_TITLE_GOOGLE'),\n\t\t\tgridColor: '#387ced',\n\t\t\tgridIcon: '/bitrix/images/calendar/sync/google.svg',\n\t\t\ttype: 'google',\n\t\t\tinterfaceClassName: '',\n\t\t\tviewClassification: 'web',\n\t\t\ttemplateClass: 'BX.Calendar.Sync.Interface.GoogleTemplate',\n\t\t\tmainPanel: options.mainPanel\n\t\t});\n\t\tthis.syncTimestamp = options.syncInfo.syncTimestamp;\n\t\tthis.connectionName = options.syncInfo.userName\n\t\t\t? options.syncInfo.userName\n\t\t\t: Loc.getMessage('CALENDAR_TITLE_GOOGLE')\n\t\t;\n\t\tthis.id = options.syncInfo.id;\n\n\t\tthis.isSetSyncCaldavSettings = options.isSetSyncCaldavSettings;\n\n\t\tthis.syncLink = options.syncLink;\n\t\tthis.sections = options.sections;\n\n\t\tthis.setConnections();\n\t}\n\n\tgetSyncLink()\n\t{\n\t\treturn this.syncLink;\n\t}\n\n\thasSetSyncCaldavSettings()\n\t{\n\t\treturn this.isSetSyncCaldavSettings;\n\t}\n}","import {ConnectionProvider} from \"./connectionprovider\";\nimport {Loc} from \"main.core\";\n\nexport class Office365Provider extends ConnectionProvider\n{\n\tconstructor(options)\n\t{\n\t\tsuper({\n\t\t\tstatus: options.syncInfo.status || false,\n\t\t\tconnected: options.syncInfo.connected || false,\n\t\t\tgridTitle: Loc.getMessage('CALENDAR_TITLE_OFFICE365'),\n\t\t\tgridColor: '#000',\n\t\t\tgridIcon: '',\n\t\t\ttype: 'office365',\n\t\t\tinterfaceClassName: '',\n\t\t\tviewClassification: 'web',\n\t\t\ttemplateClass: 'BX.Calendar.Sync.Interface.Office365template',\n\t\t\tmainPanel: true,\n\t\t\tpendingStatus: true\n\t\t});\n\t\tthis.connectionName = 'Office365';\n\t\tthis.syncLink = options.syncLink || '';\n\t\tthis.id = options.syncInfo.id;\n\t\tthis.setConnections();\n\t}\n\n\tgetSyncLink()\n\t{\n\t\treturn this.syncLink;\n\t}\n}","import {ConnectionProvider} from \"./connectionprovider\";\nimport {Loc} from \"main.core\";\n\nexport class ICloudProvider extends ConnectionProvider\n{\n\tconstructor(options)\n\t{\n\t\tsuper({\n\t\t\tstatus: options.syncInfo.status || false,\n\t\t\tconnected: options.syncInfo.connected || false,\n\t\t\tgridTitle: Loc.getMessage('CALENDAR_TITLE_ICLOUD'),\n\t\t\tgridColor: '#000',\n\t\t\tgridIcon: '',\n\t\t\ttype: 'icloud',\n\t\t\tinterfaceClassName: '',\n\t\t\tviewClassification: 'web',\n\t\t\ttemplateClass: 'BX.Calendar.Sync.Interface.IcloudTemplate',\n\t\t\tmainPanel: true,\n\t\t\tpendingStatus: true\n\t\t});\n\t\tthis.connectionName = 'icloud';\n\t\tthis.id = options.syncInfo.id;\n\t\tthis.setConnections();\n\t}\n}","import {ConnectionProvider} from \"./connectionprovider\";\nimport {Loc} from \"main.core\";\n\nexport class AndroidProvider extends ConnectionProvider\n{\n\tconstructor(options)\n\t{\n\t\tsuper({\n\t\t\tstatus: options.syncInfo.status,\n\t\t\tconnected: options.syncInfo.connected,\n\t\t\tgridTitle: Loc.getMessage('CALENDAR_TITLE_ANDROID'),\n\t\t\tgridColor: '#9ece03',\n\t\t\tgridIcon: '/bitrix/images/calendar/sync/android.svg',\n\t\t\ttype: 'android',\n\t\t\tviewClassification: 'mobile',\n\t\t\ttemplateClass: 'BX.Calendar.Sync.Interface.AndroidTemplate',\n\t\t});\n\t\tthis.syncTimestamp = options.syncInfo.syncTimestamp;\n\t\tthis.connectionName = Loc.getMessage('CALENDAR_TITLE_ANDROID');\n\n\t\tthis.setConnections();\n\t}\n}","import {ConnectionProvider} from \"./connectionprovider\";\nimport {Loc} from \"main.core\";\nimport ConnectionItem from \"./connectionitem\";\n\nexport class CaldavConnection extends ConnectionProvider\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t}\n\n\tstatic calculateStatus(connections)\n\t{\n\t\tif (connections.length === 0)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (let key in connections)\n\t\t{\n\t\t\tif (this.isFailedConnections(connections[key]))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tstatic isFailedConnections(connection)\n\t{\n\t\tif (connection.syncInfo.connected === true\n\t\t\t&& connection.syncInfo.status === false)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\thasMenu()\n\t{\n\t\treturn this.connected;\n\t}\n\n\tshowMenu(bindElement)\n\t{\n\t\tif (this.menu)\n\t\t{\n\t\t\tthis.menu.getPopupWindow().setBindElement(bindElement);\n\t\t\tthis.menu.show();\n\t\t\treturn;\n\t\t}\n\n\t\tconst menuItems = this.getMenuItems();\n\t\tmenuItems.push(...this.getMenuItemConnect());\n\t\tthis.menu = this.getMenu(bindElement, menuItems);\n\t\tthis.addMenuHandler();\n\t\tthis.menu.show();\n\t}\n\n\taddMenuHandler()\n\t{\n\t\tif (this.menu)\n\t\t{\n\t\t\tthis.menu.getMenuContainer().addEventListener('click', () =>\n\t\t\t{\n\t\t\t\tthis.menu.close();\n\t\t\t});\n\t\t}\n\t}\n\n\tgetMenuItems()\n\t{\n\t\tconst menuItems = this.connections;\n\t\tmenuItems.forEach(item =>\n\t\t{\n\t\t\titem.type = this.type;\n\t\t\titem.id = item.addParams.id;\n\t\t\titem.text = item.connectionName;\n\t\t\titem.onclick = () =>\n\t\t\t{\n\t\t\t\tthis.openActiveConnectionSlider(item);\n\t\t\t};\n\t\t});\n\n\t\treturn menuItems;\n\t}\n\n\tgetMenuItemConnect()\n\t{\n\t\treturn [\n\t\t\t{delimiter: true},\n\t\t\t{\n\t\t\t\tid: 'connect',\n\t\t\t\ttext: Loc.getMessage('ADD_MENU_CONNECTION'),\n\t\t\t\tonclick: () => {\n\t\t\t\t\tthis.openInfoConnectionSlider();\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t}\n\n\tgetMenu(bindElement, menuItems)\n\t{\n\t\treturn new (window.top.BX || window.BX).Main.Menu({\n\t\t\tclassName: 'calendar-sync-popup-status',\n\t\t\tbindElement: bindElement,\n\t\t\titems: menuItems,\n\t\t\twidth: this.MENU_WIDTH,\n\t\t\tpadding: this.MENU_PADDING,\n\t\t\tzIndexAbsolute: this.MENU_INDEX,\n\t\t\tautoHide: true,\n\t\t\tcloseByEsc: true,\n\t\t\tid: this.getType() + '-menu',\n\t\t});\n\t}\n\n\tsetConnections()\n\t{\n\t\tif (this.connectionsSyncInfo.length > 0)\n\t\t{\n\t\t\tthis.connectionsSyncInfo.forEach(connection => {\n\t\t\t\tthis.connections.push(ConnectionItem.createInstance({\n\t\t\t\t\tsyncTimestamp: connection.syncInfo.syncTimestamp,\n\t\t\t\t\tconnectionName: connection.syncInfo.connectionName,\n\t\t\t\t\tstatus: connection.syncInfo.status,\n\t\t\t\t\tconnected: connection.syncInfo.connected,\n\t\t\t\t\taddParams: {\n\t\t\t\t\t\tsections: connection.sections,\n\t\t\t\t\t\tid: connection.syncInfo.id,\n\t\t\t\t\t\tuserName: connection.syncInfo.userName,\n\t\t\t\t\t\tserver: connection.syncInfo.server,\n\t\t\t\t\t},\n\t\t\t\t\ttype: this.type,\n\t\t\t\t}));\n\t\t\t});\n\t\t}\n\t}\n}","import {CaldavConnection} from \"./caldavconnection\";\nimport {Loc} from \"main.core\";\n\nexport class CaldavProvider extends CaldavConnection\n{\n\tconstructor(options)\n\t{\n\t\tsuper({\n\t\t\tstatus: options.status,\n\t\t\tconnected: options.connected,\n\t\t\tgridTitle: Loc.getMessage('CALENDAR_TITLE_CALDAV'),\n\t\t\tgridColor: '#1eae43',\n\t\t\tgridIcon: '/bitrix/images/calendar/sync/caldav.svg',\n\t\t\ttype: 'caldav',\n\t\t\tviewClassification: 'web',\n\t\t\ttemplateClass: 'BX.Calendar.Sync.Interface.CaldavTemplate',\n\t\t});\n\n\t\tthis.connectionsSyncInfo = options.connections;\n\n\t\tthis.setConnections(options);\n\t}\n}","import {ConnectionProvider} from \"./connectionprovider\";\nimport {Loc} from \"main.core\";\n\nexport class ExchangeProvider extends ConnectionProvider\n{\n\tconstructor(options)\n\t{\n\t\tsuper({\n\t\t\tstatus: options.syncInfo.status || false,\n\t\t\tconnected: options.syncInfo.connected || false,\n\t\t\tgridTitle: Loc.getMessage('CALENDAR_TITLE_EXCHANGE'),\n\t\t\tgridColor: '#54d0df',\n\t\t\tgridIcon: '/bitrix/images/calendar/sync/exchange.svg',\n\t\t\ttype: 'exchange',\n\t\t\tviewClassification: 'web',\n\t\t\ttemplateClass: 'BX.Calendar.Sync.Interface.ExchangeTemplate',\n\t\t});\n\n\t\tthis.syncTimestamp = options.syncInfo.syncTimestamp;\n\t\tthis.connectionName = Loc.getMessage('CALENDAR_TITLE_EXCHANGE');\n\n\t\tthis.sections = options.sections;\n\n\t\tthis.setConnections();\n\t}\n\n}","import {ConnectionProvider} from \"./connectionprovider\";\nimport {Loc} from \"main.core\";\n\nexport class IphoneProvider extends ConnectionProvider\n{\n\tconstructor(options)\n\t{\n\t\tsuper({\n\t\t\tstatus: options.syncInfo.status,\n\t\t\tconnected: options.syncInfo.connected,\n\t\t\tgridTitle: Loc.getMessage('CALENDAR_TITLE_IPHONE'),\n\t\t\tgridColor: '#2fc6f6',\n\t\t\tgridIcon: '/bitrix/images/calendar/sync/iphone.svg',\n\t\t\ttype: 'iphone',\n\t\t\tviewClassification: 'mobile',\n\t\t\ttemplateClass: 'BX.Calendar.Sync.Interface.IphoneTemplate',\n\t\t});\n\t\tthis.syncTimestamp = options.syncInfo.syncTimestamp;\n\t\tthis.connectionName = Loc.getMessage('CALENDAR_TITLE_IPHONE');\n\n\t\tthis.setConnections();\n\t}\n}","import {ConnectionProvider} from \"./connectionprovider\";\nimport {Loc} from \"main.core\";\n\nexport class MacProvider extends ConnectionProvider\n{\n\tconstructor(options)\n\t{\n\t\tsuper({\n\t\t\tstatus: options.syncInfo.status,\n\t\t\tconnected: options.syncInfo.connected,\n\t\t\tgridTitle: Loc.getMessage('CALENDAR_TITLE_MAC'),\n\t\t\tgridColor: '#ff5752',\n\t\t\tgridIcon: '/bitrix/images/calendar/sync/mac.svg',\n\t\t\ttype: 'mac',\n\t\t\tviewClassification: 'web',\n\t\t\ttemplateClass: 'BX.Calendar.Sync.Interface.MacTemplate',\n\t\t});\n\n\t\tthis.syncTimestamp = options.syncInfo.syncTimestamp;\n\t\tthis.portalAddress = options.portalAddress;\n\t\tthis.connectionName = Loc.getMessage('CALENDAR_TITLE_MAC');\n\n\t\tthis.setConnections();\n\t}\n\n\tgetPortalAddress()\n\t{\n\t\treturn this.portalAddress;\n\t}\n}","// @flow\n'use strict';\n\nimport {ConnectionProvider} from \"./connectionprovider\";\nimport {Loc} from \"main.core\";\n\nexport class OutlookProvider extends ConnectionProvider\n{\n\tconstructor(options)\n\t{\n\t\tsuper({\n\t\t\tstatus: options.syncInfo.status,\n\t\t\tconnected: options.syncInfo.connected,\n\t\t\tgridTitle: Loc.getMessage('CALENDAR_TITLE_OUTLOOK'),\n\t\t\tgridColor: '#ffa900',\n\t\t\tgridIcon: '/bitrix/images/calendar/sync/outlook.svg',\n\t\t\ttype: 'outlook',\n\t\t\tviewClassification: 'web',\n\t\t\ttemplateClass: 'BX.Calendar.Sync.Interface.OutlookTemplate',\n\t\t});\n\t\tthis.syncTimestamp = options.syncInfo.syncTimestamp;\n\t\tthis.connectionName = Loc.getMessage('CALENDAR_TITLE_OUTLOOK');\n\n\t\tthis.sections = options.sections;\n\t\tthis.infoBySections = options.infoBySections;\n\n\t\t// this.setConnectStatus();\n\t\tthis.setConnections();\n\t}\n\n\thasMenu()\n\t{\n\t\treturn this.sections.length > 0;\n\t}\n\n\tshowMenu(bindElement)\n\t{\n\t\tif (this.hasMenu())\n\t\t{\n\t\t\tif (this.menu)\n\t\t\t{\n\t\t\t\tthis.menu.getPopupWindow().setBindElement(bindElement);\n\t\t\t\tthis.menu.show();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst menuItems = this.getConnection().getSections();\n\n\t\t\t\tmenuItems.forEach(item =>\n\t\t\t\t{\n\t\t\t\t\tif (this.infoBySections[item.id])\n\t\t\t\t\t{\n\t\t\t\t\t\titem.className = 'calendar-sync-outlook-popup-item';\n\t\t\t\t\t}\n\n\t\t\t\t\titem.onclick = () =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif (item && item.connectURL)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\teval(item.connectURL);\n\t\t\t\t\t\t\t} catch (e)\n\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\tthis.menu = new (window.top.BX || window.BX).Main.Menu({\n\t\t\t\t\tclassName: 'calendar-sync-popup-status',\n\t\t\t\t\tbindElement: bindElement,\n\t\t\t\t\titems: menuItems,\n\t\t\t\t\t// width: this.MENU_WIDTH,\n\t\t\t\t\tpadding: 7,\n\t\t\t\t\tautoHide: true,\n\t\t\t\t\tcloseByEsc: true,\n\t\t\t\t\tzIndexAbsolute: 3020,\n\t\t\t\t\tid: this.getType() + '-menu',\n\t\t\t\t});\n\n\t\t\t\tthis.menu.getMenuContainer().addEventListener('click', () =>\n\t\t\t\t{\n\t\t\t\t\tthis.menu.close();\n\t\t\t\t});\n\n\t\t\t\tthis.menu.show();\n\t\t\t}\n\t\t}\n\t}\n}","import {CaldavConnection} from \"./caldavconnection\";\nimport {Loc} from \"main.core\";\n\nexport class YandexProvider extends CaldavConnection\n{\n\tconstructor(options)\n\t{\n\t\tsuper({\n\t\t\tstatus: options.status,\n\t\t\tconnected: options.connected,\n\t\t\tgridTitle: Loc.getMessage('CALENDAR_TITLE_YANDEX'),\n\t\t\tgridColor: '#f9c500',\n\t\t\tgridIcon: '/bitrix/images/calendar/sync/yandex.svg',\n\t\t\ttype: 'yandex',\n\t\t\tviewClassification: 'web',\n\t\t\ttemplateClass: 'BX.Calendar.Sync.Interface.YandexTemplate',\n\t\t});\n\n\t\tthis.connectionsSyncInfo = options.connections;\n\n\t\tthis.setConnections(options);\n\t}\n}","// @flow\n\nimport SyncButton from './controls/syncbutton';\nimport {EventEmitter} from \"main.core.events\";\nimport {GoogleProvider} from \"./connectionproviders/googleprovider\";\nimport {Office365Provider} from \"./connectionproviders/office365provider\";\nimport {ICloudProvider} from \"./connectionproviders/icloudprovider\";\nimport {AndroidProvider} from \"./connectionproviders/androidprovider\";\nimport {CaldavConnection} from \"./connectionproviders/caldavconnection\";\nimport {CaldavProvider} from \"./connectionproviders/caldavprovider\";\nimport {ExchangeProvider} from \"./connectionproviders/exchangeprovider\";\nimport {IphoneProvider} from \"./connectionproviders/iphoneprovider\";\nimport {MacProvider} from \"./connectionproviders/macprovider\";\nimport {OutlookProvider} from \"./connectionproviders/outlookprovider\";\nimport {YandexProvider} from \"./connectionproviders/yandexprovider\";\nimport SyncStatusPopup from \"./controls/syncstatuspopup\";\nimport {Util} from \"calendar.util\";\n\ntype ManagerOptions = {\n\twrapper: string,\n\tsyncInfo: Array,\n\tuserId: number,\n\tsyncLinks: Array,\n\tsection: Array,\n\tportalAddress: string,\n\tisRuZone: boolean,\n\tcalendarInstance: window.BXEventCalendar.Core,\n\tisSetSyncCaldavSettings: boolean,\n};\n\nexport default class Manager extends EventEmitter\n{\n\tstatus = 'not_connected';\n\tSTATUS_SUCCESS = 'success';\n\tSTATUS_FAILED = 'failed';\n\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Calendar.Sync.Manager.Manager');\n\n\t\tthis.wrapper = options.wrapper;\n\t\tthis.syncInfo = options.syncInfo;\n\t\tthis.userId = options.userId;\n\t\tthis.syncLinks = options.syncLinks;\n\t\tthis.sections = options.sections;\n\t\tthis.portalAddress = options.portalAddress;\n\t\tthis.isRuZone = options.isRuZone;\n\t\tthis.calendarInstance = options.calendar;\n\t\tthis.isSetSyncCaldavSettings = options.isSetSyncCaldavSettings;\n\n\t\tthis.init();\n\t\tthis.subscribeOnEvent();\n\t}\n\n\tsubscribeOnEvent()\n\t{\n\t\tEventEmitter.subscribe('BX.Calendar.Sync.Interface.SyncStatusPopup:onRefresh', event =>\n\t\t{\n\t\t\tthis.refresh(event);\n\t\t});\n\n\t\tEventEmitter.subscribe('BX.Calendar.Sync.Interface.InterfaceTemplate:reDrawCalendarGrid', event =>\n\t\t{\n\t\t\tthis.reDrawCalendarGrid();\n\t\t});\n\n\t\twindow.addEventListener('message', (event) => {\n\t\t\tif (event.data.title === 'googleOAuthSuccess')\n\t\t\t{\n\t\t\t\twindow.location.reload()\n\t\t\t}\n\t\t});\n\t}\n\n\tshowSyncButton()\n\t{\n\t\tthis.syncButton = SyncButton.createInstance({\n\t\t\tstatus: this.status,\n\t\t\twrapper: this.wrapper,\n\t\t\tconnectionsProviders: this.connectionsProviders,\n\t\t\tuserId: this.userId,\n\t\t});\n\t\tthis.syncButton.show();\n\t}\n\n\tinit()\n\t{\n\t\tthis.connectionsProviders = {};\n\t\tthis.webItems = [];\n\t\tthis.mobileItems = [];\n\t\tconst yandexConnections = [];\n\t\tconst caldavConnections = [];\n\n\t\tconst syncInfo = this.syncInfo;\n\n\t\tconst sectionsByType = this.sortSections();\n\n\t\tfor (const key in syncInfo)\n\t\t{\n\t\t\tswitch (syncInfo[key].type)\n\t\t\t{\n\t\t\t\tcase 'yandex':\n\t\t\t\t\tyandexConnections.push({\n\t\t\t\t\t\tsyncInfo: syncInfo[key],\n\t\t\t\t\t\tsections: sectionsByType.caldav['caldav' + syncInfo[key].id],\n\t\t\t\t\t\tisRuZone: this.isRuZone,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'caldav':\n\t\t\t\t\tcaldavConnections.push({\n\t\t\t\t\t\tsyncInfo: syncInfo[key],\n\t\t\t\t\t\tsections: sectionsByType.caldav['caldav' + syncInfo[key].id],\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tthis.calculateStatus(syncInfo[key]);\n\t\t}\n\n\t\tthis.connectionsProviders = {\n\t\t\tgoogle: GoogleProvider.createInstance({\n\t\t\t\tsyncInfo: syncInfo.google || {},\n\t\t\t\tsections: sectionsByType.google || {},\n\t\t\t\tsyncLink: this.syncLinks.google || null,\n\t\t\t\tisSetSyncCaldavSettings: this.isSetSyncCaldavSettings,\n\t\t\t\tmainPanel: true\n\t\t\t}),\n\t\t\toffice365: Office365Provider.createInstance({\n\t\t\t\tsyncInfo: syncInfo.office365 || {},\n\t\t\t\tsyncLink: this.syncLinks.office365 || null,\n\t\t\t\tmainPanel: true\n\t\t\t}),\n\t\t\ticloud: ICloudProvider.createInstance({\n\t\t\t\tsyncInfo: syncInfo.icloud || {},\n\t\t\t\tmainPanel: true\n\t\t\t}),\n\t\t\tcaldav: CaldavProvider.createInstance({\n\t\t\t\tstatus: CaldavConnection.calculateStatus(caldavConnections),\n\t\t\t\tconnected: (caldavConnections.length > 0),\n\t\t\t\tconnections: caldavConnections,\n\t\t\t}),\n\t\t\tiphone: IphoneProvider.createInstance({\n\t\t\t\tsyncInfo: syncInfo.iphone,\n\t\t\t}),\n\t\t\tandroid: AndroidProvider.createInstance({\n\t\t\t\tsyncInfo: syncInfo.android,\n\t\t\t}),\n\t\t\tmac: MacProvider.createInstance({\n\t\t\t\tsyncInfo: syncInfo.mac,\n\t\t\t\tportalAddress: this.portalAddress,\n\t\t\t}),\n\t\t};\n\n\t\tif (this.isRuZone)\n\t\t{\n\t\t\tthis.connectionsProviders.yandex = YandexProvider.createInstance({\n\t\t\t\tstatus: CaldavConnection.calculateStatus(yandexConnections),\n\t\t\t\tconnected: (yandexConnections.length > 0),\n\t\t\t\tconnections: yandexConnections,\n\t\t\t});\n\t\t}\n\n\t\tif (!BX.browser.IsMac())\n\t\t{\n\t\t\tthis.connectionsProviders.outlook = OutlookProvider.createInstance({\n\t\t\t\tsyncInfo: syncInfo.outlook,\n\t\t\t\tsections: sectionsByType.outlook,\n\t\t\t\tinfoBySections: syncInfo.outlook.infoBySections || {},\n\t\t\t});\n\t\t}\n\t\tconst has = Object.prototype.hasOwnProperty;\n\t\tif (has.call(syncInfo, `exchange`))\n\t\t{\n\t\t\tthis.connectionsProviders.exchange = ExchangeProvider.createInstance({\n\t\t\t\tsyncInfo: syncInfo.exchange,\n\t\t\t});\n\t\t}\n\t}\n\n\tcalculateStatus(provider)\n\t{\n\t\tif (provider.connected === true)\n\t\t{\n\t\t\tif (provider.status === true && this.status !== this.STATUS_FAILED)\n\t\t\t{\n\t\t\t\tthis.status = this.STATUS_SUCCESS;\n\t\t\t}\n\t\t\telse if (provider.status === false)\n\t\t\t{\n\t\t\t\tthis.status = this.STATUS_FAILED;\n\t\t\t}\n\t\t}\n\t}\n\n\tsortSections()\n\t{\n\t\tconst sections = this.sections;\n\t\tconst exchangeSections = [];\n\t\tconst googleSections = [];\n\t\tconst sectionsByType = {};\n\t\tconst outlookSections = [];\n\t\tsectionsByType.caldav = {};\n\n\t\tsections.forEach(section => {\n\t\t\tif (section.belongsToView() && section.data.OUTLOOK_JS)\n\t\t\t{\n\t\t\t\toutlookSections.push({\n\t\t\t\t\tid: section.id,\n\t\t\t\t\tconnectURL: section.data.OUTLOOK_JS,\n\t\t\t\t\ttext: section.name,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (section.data['IS_EXCHANGE'] === true)\n\t\t\t{\n\t\t\t\texchangeSections.push(section.data);\n\t\t\t}\n\t\t\telse if (\n\t\t\t\tsection.data['GAPI_CALENDAR_ID']\n\t\t\t\t&& section.data['CAL_DAV_CON']\n\t\t\t\t&& section.data['EXTERNAL_TYPE'] !== 'local'\n\t\t\t)\n\t\t\t{\n\t\t\t\tgoogleSections.push(section.data);\n\t\t\t}\n\t\t\telse if (section.data['CAL_DAV_CON'] && section.data['CAL_DAV_CAL'])\n\t\t\t{\n\t\t\t\tsectionsByType.caldav['caldav' + section.data['CAL_DAV_CON']] = section.data;\n\t\t\t}\n\t\t});\n\n\t\tsectionsByType.google = googleSections;\n\t\tsectionsByType.exchange = exchangeSections;\n\t\tsectionsByType.outlook = outlookSections;\n\n\t\treturn sectionsByType;\n\t}\n\n\trefresh(event)\n\t{\n\t\tconst activePopup = event.getTarget();\n\t\tBX.ajax.runAction('calendar.api.calendarajax.updateConnection', {\n\t\t\tdata: {\n\t\t\t\ttype: 'user',\n\t\t\t\trequestUid: Util.registerRequestId(),\n\t\t\t}\n\t\t}).then((response) => {\n\t\t\tthis.syncInfo = response.data;\n\t\t\tthis.status = this.STATUS_SUCCESS;\n\t\t\tthis.refreshContent(activePopup);\n\t\t});\n\t}\n\n\trefreshContent(activePopup = {})\n\t{\n\t\tthis.init();\n\t\tthis.refreshCalendarGrid();\n\t\tthis.refreshSyncButton();\n\t\tthis.refreshActivePopup(activePopup);\n\t\tthis.refreshOpenSliders(activePopup);\n\t}\n\n\trefreshCalendarGrid()\n\t{\n\t\tthis.calendarInstance.reload();\n\t}\n\n\trefreshSyncButton()\n\t{\n\t\tthis.syncButton.refresh(this.status, this.connectionsProviders);\n\t}\n\n\trefreshActivePopup(activePopup)\n\t{\n\t\tif (activePopup instanceof SyncStatusPopup && activePopup.getId() === 'calendar-syncPanel-status')\n\t\t{\n\t\t\tactivePopup.refresh(this.getConnections());\n\t\t}\n\t\telse if (this.syncButton.popup instanceof SyncStatusPopup && this.syncButton.popup.getId() === 'calendar-syncButton-status')\n\t\t{\n\t\t\tthis.syncButton.popup.refresh(this.getConnections());\n\t\t}\n\t}\n\n\trefreshOpenSliders(activePopup = {})\n\t{\n\t\tconst openSliders = BX.SidePanel.Instance.getOpenSliders();\n\t\tif (openSliders.length > 0)\n\t\t{\n\t\t\topenSliders.forEach(slider =>\n\t\t\t{\n\t\t\t\tif (slider.getUrl() === 'calendar:auxiliary-sync-slider')\n\t\t\t\t{\n\t\t\t\t\tthis.refreshMainSlider(this.syncButton.getSyncPanel());\n\t\t\t\t}\n\t\t\t\telse if (slider.getUrl().indexOf('calendar:item-sync-') !== -1)\n\t\t\t\t{\n\t\t\t\t\tthis.refreshConnectionSlider(slider, activePopup);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\trefreshConnectionSlider(slider, activePopup)\n\t{\n\t\tlet updatedConnection = undefined;\n\t\tconst itemInterface = slider.getData().get('itemInterface');\n\t\tconst connection = slider.getData().get('connection');\n\t\tif (connection)\n\t\t{\n\t\t\tupdatedConnection = this.connectionsProviders[connection.getType()].getConnectionById(connection.getId());\n\t\t}\n\n\t\tif (activePopup instanceof SyncStatusPopup && updatedConnection)\n\t\t{\n\t\t\tactivePopup.refresh([updatedConnection]);\n\t\t}\n\n\t\tif (itemInterface && updatedConnection)\n\t\t{\n\t\t\titemInterface.refresh(updatedConnection);\n\t\t}\n\n\t\tslider.reload();\n\t}\n\n\trefreshMainSlider(syncPanel)\n\t{\n\t\tsyncPanel.refresh(this.status, this.connectionsProviders);\n\t}\n\n\tgetConnections()\n\t{\n\t\tconst connections = [];\n\t\tconst items = Object.values(this.connectionsProviders);\n\n\t\titems.forEach(item => {\n\t\t\tconst itemConnections = item.getConnections();\n\t\t\tif(itemConnections.length > 0)\n\t\t\t{\n\t\t\t\titemConnections.forEach(connection =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif (connection.getConnectStatus() === true)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconnections.push(connection);\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\n\t\treturn connections;\n\t}\n\n\treDrawCalendarGrid()\n\t{\n\t\tthis.calendarInstance.reload();\n\t}\n\n\tupdateSyncStatus(params)\n\t{\n\t\tif (!BX.Calendar.Util.checkRequestId(params.requestUid))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const connectionName in params.syncInfo)\n\t\t{\n\t\t\tif (this.syncInfo[connectionName])\n\t\t\t{\n\t\t\t\tthis.syncInfo[connectionName] = {\n\t\t\t\t\t...this.syncInfo[connectionName],\n\t\t\t\t\t...params.syncInfo[connectionName]\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tthis.status = this.STATUS_SUCCESS;\n\t\tthis.refreshContent();\n\t}\n\n\taddSyncConnection(params)\n\t{\n\t\tfor (const connectionName in params.syncInfo)\n\t\t{\n\t\t\tif (['yandex', 'caldav', 'google'].includes(params.syncInfo[connectionName].type))\n\t\t\t{\n\t\t\t\tBX.reload();\n\t\t\t}\n\n\t\t\tif (BX.Calendar.Util.checkRequestId(params.requestUid))\n\t\t\t{\n\t\t\t\tif (this.syncInfo[connectionName])\n\t\t\t\t{\n\t\t\t\t\tthis.syncInfo[connectionName] = {\n\t\t\t\t\t\t...this.syncInfo[connectionName],\n\t\t\t\t\t\t...params.syncInfo[connectionName]\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.status = this.STATUS_SUCCESS;\n\t\tthis.refreshContent();\n\t}\n\n\tdeleteSyncConnection(params)\n\t{\n\t\tif (!BX.Calendar.Util.checkRequestId(params.requestUid))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const connectionName in params.syncInfo)\n\t\t{\n\t\t\tif (this.syncInfo[connectionName])\n\t\t\t{\n\t\t\t\tdelete this.syncInfo[connectionName];\n\t\t\t}\n\t\t}\n\n\t\tif (this.status !== 'not_connected')\n\t\t{\n\t\t\tthis.status = this.STATUS_SUCCESS;\n\t\t}\n\t\tthis.refreshContent();\n\t}\n\n\tgetProviderById(id)\n\t{\n\t\tlet connection = undefined;\n\t\tfor (const providerName in this.connectionsProviders)\n\t\t{\n\t\t\tif (\n\t\t\t\t!this.connectionsProviders[providerName].connected\n\t\t\t\t|| !['google', 'caldav', 'yandex'].includes(providerName)\n\t\t\t)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconnection = this.connectionsProviders[providerName].getConnectionById(id);\n\t\t\tif (connection)\n\t\t\t{\n\t\t\t\treturn [this.connectionsProviders[providerName], connection];\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n}\n"],"names":["SyncStatusPopup","options","setEventNamespace","connections","withUpdateButton","node","id","init","setPopupContent","popup","Popup","className","bindElement","content","container","angle","width","offsetLeft","offsetTop","padding","darkMode","autoHide","zIndexAbsolute","createPopup","show","Tag","render","forEach","connection","getConnectStatus","syncTime","getTime","getSyncTimestamp","classStatus","getSyncStatus","classLable","getClassLabel","title","getConnectionName","block","getSyncElement","append","getContentRefreshBlock","IS_RUN_REFRESH","showRefreshStatus","destroy","timestamp","format","Loc","getMessage","BX","date","util","htmlspecialchars","setContent","setRefreshStatusBlock","setTimeout","removeRefreshStatusBlock","enableRefreshButton","Type","isElementNode","refreshStatusBlock","remove","refreshButton","footerWrapper","getContentRefreshButton","addEventListener","Dom","addClass","innerText","runRefresh","disableRefreshButton","prepend","getRefreshStatus","emit","EventEmitter","SyncButton","UI","Button","Size","EXTRA_SMALL","connectionsProviders","wrapper","userId","status","buttonEnterTimeout","buttonLeaveTimeout","buttonData","getButtonData","button","text","round","BUTTON_ROUND","size","BUTTON_SIZE","color","iconClass","onclick","handleClick","events","mouseenter","handlerMouseEnter","bind","mouseleave","handlerMouseLeave","renderTo","providersCollection","Object","values","provider","providerConnections","getConnections","length","push","createInstance","getContainer","getPopup","getPopupContainer","e","clearTimeout","hidePopup","hide","connectionProviders","setColor","setText","removeClass","window","top","Runtime","loadExtension","then","exports","ajax","runAction","analyticsLabel","sync_button_click","has_active_connection","syncPanel","SyncPanel","openSlider","showPopup","Color","LIGHT_BORDER","PRIMARY","isConnectionItemProperty","Symbol","ConnectionItem","syncTimestamp","connectionName","connected","addParams","type","sections","target","isObject","ConnectionProvider","mainPanel","pendingStatus","gridTitle","gridColor","gridIcon","viewClassification","templateClass","additionalParams","SidePanel","Instance","open","sliderId","contentCallback","slider","Promise","resolve","reject","data","cacheable","SLIDER_WIDTH","allowChangeHistory","onLoad","event","itemSlider","getSlider","getClassTemplateItem","getInfoConnectionContent","itemInterface","getSectionsForGoogle","getActiveConnectionContent","itemClass","Reflection","getClass","getTemplateClass","isFunction","result","filter","getId","GoogleProvider","syncInfo","interfaceClassName","userName","isSetSyncCaldavSettings","syncLink","setConnections","Office365Provider","ICloudProvider","AndroidProvider","CaldavConnection","menu","getPopupWindow","setBindElement","menuItems","getMenuItems","getMenuItemConnect","getMenu","addMenuHandler","getMenuContainer","close","item","openActiveConnectionSlider","delimiter","openInfoConnectionSlider","Main","Menu","items","MENU_WIDTH","MENU_PADDING","MENU_INDEX","closeByEsc","getType","connectionsSyncInfo","server","key","isFailedConnections","CaldavProvider","ExchangeProvider","IphoneProvider","MacProvider","portalAddress","OutlookProvider","infoBySections","hasMenu","getConnection","getSections","connectURL","eval","YandexProvider","Manager","syncLinks","isRuZone","calendarInstance","calendar","subscribeOnEvent","subscribe","refresh","reDrawCalendarGrid","location","reload","syncButton","webItems","mobileItems","yandexConnections","caldavConnections","sectionsByType","sortSections","caldav","calculateStatus","google","office365","icloud","iphone","android","mac","yandex","browser","IsMac","outlook","has","prototype","hasOwnProperty","call","exchange","STATUS_FAILED","STATUS_SUCCESS","exchangeSections","googleSections","outlookSections","section","belongsToView","OUTLOOK_JS","name","activePopup","getTarget","requestUid","Util","registerRequestId","response","refreshContent","refreshCalendarGrid","refreshSyncButton","refreshActivePopup","refreshOpenSliders","openSliders","getOpenSliders","getUrl","refreshMainSlider","getSyncPanel","indexOf","refreshConnectionSlider","updatedConnection","undefined","getData","get","getConnectionById","itemConnections","params","Calendar","checkRequestId","includes","providerName"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings