File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/calendar/install/js/calendar/sync/manager/dist/manager.bundle.min.js
Back
this.BX=this.BX||{};this.BX.Calendar=this.BX.Calendar||{};this.BX.Calendar.Sync=this.BX.Calendar.Sync||{};(function(exports,main_popup,main_core_events,main_core,calendar_util){"use strict";var _templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5;var SyncStatusPopup=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this));n.setEventNamespace("BX.Calendar.Sync.Interface.SyncStatusPopup");n.connections=e.connections;n.withUpdateButton=e.withUpdateButton;n.node=e.node;n.id=e.id;n.init();return n}babelHelpers.createClass(t,[{key:"init",value:function e(){this.setPopupContent()}},{key:"createPopup",value:function e(){this.popup=new main_popup.Popup({className:this.id,bindElement:this.node,content:this.container,angle:true,width:360,offsetLeft:60,offsetTop:5,padding:7,darkMode:true,autoHide:true,zIndexAbsolute:3010})}},{key:"show",value:function e(){this.createPopup();this.popup.show()}},{key:"setPopupContent",value:function e(){var n=this;this.container=main_core.Tag.render(_templateObject||(_templateObject=babelHelpers.taggedTemplateLiteral(['\n\t\t\t<div class="calendar-sync-popup-list"></div>\n\t\t'])));this.connections.forEach((function(e){if(e.getConnectStatus()!==true){return}var t={};t.syncTime=n.getTime(e.getSyncTimestamp());t.classStatus=e.getSyncStatus()?"calendar-sync-popup-item-status-success":"calendar-sync-popup-item-status-fail";t.classLable="calendar-sync-popup-item-text-"+e.getClassLabel();t.title=e.getConnectionName();var s=n.getSyncElement(t);n.container.append(s)}));if(this.withUpdateButton){this.container.append(this.getContentRefreshBlock());if(t.IS_RUN_REFRESH){this.showRefreshStatus()}}return this.container}},{key:"hide",value:function e(){this.popup.destroy()}},{key:"getContainer",value:function e(){return this.container}},{key:"getPopup",value:function e(){return this.popup}},{key:"getTime",value:function e(t){var n=[["tommorow","tommorow, H:i:s"],["s",main_core.Loc.getMessage("CAL_JUST")],["i","iago"],["H","Hago"],["d","dago"],["m100","mago"],["m","mago"],["-",""]];return BX.date.format(n,t)}},{key:"getSyncElement",value:function e(t){return main_core.Tag.render(_templateObject2||(_templateObject2=babelHelpers.taggedTemplateLiteral(['\n\t\t\t\t<div class="calendar-sync-popup-item">\n\t\t\t\t\t<span class="calendar-sync-popup-item-text ','">','</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">','</span>\n\t\t\t\t\t\t<span class="calendar-sync-popup-item-status ','"></span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t'])),t.classLable,BX.util.htmlspecialchars(t.title),t.syncTime,t.classStatus)}},{key:"refresh",value:function e(t){this.connections=t;this.popup.setContent(this.setPopupContent());this.setRefreshStatusBlock()}},{key:"setRefreshStatusBlock",value:function e(){var n=this;setTimeout((function(){n.removeRefreshStatusBlock();n.enableRefreshButton();t.IS_RUN_REFRESH=false}),3e5)}},{key:"removeRefreshStatusBlock",value:function e(){if(main_core.Type.isElementNode(this.refreshStatusBlock)){this.refreshStatusBlock.remove()}}},{key:"enableRefreshButton",value:function e(){if(main_core.Type.isElementNode(this.refreshButton)){this.refreshButton.className="calendar-sync-popup-footer-btn"}}},{key:"disableRefreshButton",value:function e(){if(main_core.Type.isElementNode(this.refreshButton)){this.refreshButton.className="calendar-sync-popup-footer-btn calendar-sync-popup-footer-btn-disabled"}}},{key:"getContentRefreshBlock",value:function e(){this.footerWrapper=main_core.Tag.render(_templateObject3||(_templateObject3=babelHelpers.taggedTemplateLiteral(['\n\t\t\t<div class="calendar-sync-popup-footer-wrap">\n\t\t\t\t',"\n\t\t\t</div>\n\t\t"])),this.getContentRefreshButton());return this.footerWrapper}},{key:"getContentRefreshButton",value:function e(){var n=this;this.refreshButton=main_core.Tag.render(_templateObject4||(_templateObject4=babelHelpers.taggedTemplateLiteral(['\n\t\t\t<button class="calendar-sync-popup-footer-btn">',"</button>\n\t\t"])),main_core.Loc.getMessage("CAL_REFRESH"));this.refreshButton.addEventListener("click",(function(){main_core.Dom.addClass(n.refreshButton,"calendar-sync-popup-footer-btn-load");t.IS_RUN_REFRESH=true;n.refreshButton.innerText=main_core.Loc.getMessage("CAL_REFRESHING");n.runRefresh()}));return this.refreshButton}},{key:"showRefreshStatus",value:function e(){this.disableRefreshButton();this.footerWrapper.prepend(this.getRefreshStatus())}},{key:"getRefreshStatus",value:function e(){this.refreshStatusBlock=main_core.Tag.render(_templateObject5||(_templateObject5=babelHelpers.taggedTemplateLiteral(['\n\t\t\t<span class="calendar-sync-popup-footer-status">',"</span>\n\t\t"])),main_core.Loc.getMessage("CAL_REFRESH_JUST"));return this.refreshStatusBlock}},{key:"runRefresh",value:function e(){this.emit("onRefresh",{})}},{key:"getId",value:function e(){return this.id}}],[{key:"createInstance",value:function e(t){return new this(t)}}]);return t}(main_core_events.EventEmitter);babelHelpers.defineProperty(SyncStatusPopup,"IS_RUN_REFRESH",false);var SyncButton=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"BUTTON_SIZE",BX.UI.Button.Size.EXTRA_SMALL);babelHelpers.defineProperty(this,"BUTTON_ROUND",true);this.connectionsProviders=t.connectionsProviders;this.wrapper=t.wrapper;this.userId=t.userId;this.status=t.status;this.buttonEnterTimeout=null;this.buttonLeaveTimeout=null}babelHelpers.createClass(e,[{key:"show",value:function e(){var t=this;var n=this.getButtonData();this.button=new BX.UI.Button({text:n.text,round:this.BUTTON_ROUND,size:this.BUTTON_SIZE,color:n.color,className:"ui-btn-themes "+(n.iconClass||""),onclick:function e(){t.handleClick()},events:{mouseenter:this.handlerMouseEnter.bind(this),mouseleave:this.handlerMouseLeave.bind(this)}});this.button.renderTo(this.wrapper)}},{key:"showPopup",value:function e(t){var n=this;if(this.status!=="not_connected"){var s=[];var i=Object.values(this.connectionsProviders);i.forEach((function(e){var t=e.getConnections();if(t.length>0){t.forEach((function(e){if(e.getConnectStatus()===true){s.push(e)}}))}}));this.popup=SyncStatusPopup.createInstance({connections:s,withUpdateButton:true,node:t.getContainer(),id:"calendar-syncButton-status"});this.popup.show();this.popup.getPopup().getPopupContainer().addEventListener("mouseenter",(function(e){clearTimeout(n.buttonEnterTimeout);clearTimeout(n.buttonLeaveTimeout)}));this.popup.getPopup().getPopupContainer().addEventListener("mouseleave",(function(){n.hidePopup()}))}}},{key:"hidePopup",value:function e(){if(this.popup){this.popup.hide()}}},{key:"refresh",value:function e(t,n){this.status=t;this.connectionsProviders=n;var s=this.getButtonData();this.button.setColor(s.color);this.button.setText(s.text);this.button.removeClass("ui-btn-icon-fail ui-btn-icon-success");this.button.addClass(s.iconClass)}},{key:"handleClick",value:function e(){var t=this;clearTimeout(this.buttonEnterTimeout);(window.top.BX||window.BX).Runtime.loadExtension("calendar.sync.interface").then((function(e){BX.ajax.runAction("calendar.api.calendarajax.analytical",{analyticsLabel:{sync_button_click:"Y",has_active_connection:t.status==="not_connected"?"N":"Y"}});t.syncPanel=new e.SyncPanel({connectionsProviders:t.connectionsProviders,userId:t.userId,status:t.status});t.syncPanel.openSlider()}))}},{key:"handlerMouseEnter",value:function e(t){var n=this;clearTimeout(this.buttonEnterTimeout);this.buttonEnterTimeout=setTimeout((function(){n.buttonEnterTimeout=null;n.showPopup(t)}),500)}},{key:"handlerMouseLeave",value:function e(){var t=this;if(this.buttonEnterTimeout!==null){clearTimeout(this.buttonEnterTimeout);this.buttonEnterTimeout=null;return}this.buttonLeaveTimeout=setTimeout((function(){t.hidePopup()}),500)}},{key:"getButtonData",value:function e(){if(this.status==="success"){return{text:main_core.Loc.getMessage("STATUS_BUTTON_SYNCHRONIZATION"),color:BX.UI.Button.Color.LIGHT_BORDER,iconClass:"ui-btn-icon-success"}}else if(this.status==="failed"){return{text:main_core.Loc.getMessage("STATUS_BUTTON_FAILED"),color:BX.UI.Button.Color.LIGHT_BORDER,iconClass:"ui-btn-icon-fail"}}return{text:main_core.Loc.getMessage("STATUS_BUTTON_SYNC_CALENDAR"),color:BX.UI.Button.Color.PRIMARY}}},{key:"getSyncPanel",value:function e(){return this.syncPanel}}],[{key:"createInstance",value:function e(t){return new this(t)}}]);return e}();var isConnectionItemProperty=Symbol["for"]("BX.Calendar.Sync.Manager.ConnectionItem.isConnectionItem");var ConnectionItem=function(){function e(t){babelHelpers.classCallCheck(this,e);this[isConnectionItemProperty]=true;this.syncTimestamp=t.syncTimestamp;this.connectionName=t.connectionName;this.status=t.status;this.connected=t.connected;this.addParams=t.addParams;this.type=t.type;this.id=t.type}babelHelpers.createClass(e,[{key:"getSyncTimestamp",value:function e(){return this.syncTimestamp}},{key:"getConnectionName",value:function e(){return this.connectionName}},{key:"getSyncStatus",value:function e(){return this.status}},{key:"getConnectStatus",value:function e(){return this.connected}},{key:"getStatus",value:function e(){if(this.connected){return this.status?"success":"failed"}else{return"not_connected"}}},{key:"getClassLabel",value:function e(){return this.type}},{key:"getSections",value:function e(){return this.addParams.sections}},{key:"getId",value:function e(){return this.addParams.id}},{key:"getType",value:function e(){return this.type}}],[{key:"createInstance",value:function e(t){return new this(t)}},{key:"isConnectionItem",value:function e(t){return main_core.Type.isObject(t)&&t[isConnectionItemProperty]===true}}]);return e}();var ConnectionProvider=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"MENU_WIDTH",200);babelHelpers.defineProperty(this,"MENU_PADDING",7);babelHelpers.defineProperty(this,"MENU_INDEX",3020);babelHelpers.defineProperty(this,"SLIDER_WIDTH",606);this.status=t.status;this.connected=t.connected;this.mainPanel=t.mainPanel===true;this.pendingStatus=t.pendingStatus===true;this.gridTitle=t.gridTitle;this.gridColor=t.gridColor;this.gridIcon=t.gridIcon;this.type=t.type;this.viewClassification=t.viewClassification;this.templateClass=t.templateClass;this.connections=[]}babelHelpers.createClass(e,[{key:"isActive",value:function e(){return this.connected}},{key:"hasMenu",value:function e(){return false}},{key:"setAdditionalParams",value:function e(t){this.additionalParams=t}},{key:"setSyncTimestamp",value:function e(t){this.syncTimestamp=t;return this}},{key:"setStatus",value:function e(t){this.status=t;return this}},{key:"getGridTitle",value:function e(){return this.gridTitle}},{key:"getGridColor",value:function e(){return this.gridColor}},{key:"getGridIcon",value:function e(){return this.gridIcon}},{key:"setConnections",value:function e(){this.connections.push(ConnectionItem.createInstance({syncTimestamp:this.syncTimestamp,connectionName:this.connectionName,status:this.status,connected:this.connected,addParams:{sections:this.sections,id:this.id||this.type},type:this.type}))}},{key:"getConnections",value:function e(){return this.connections}},{key:"getConnection",value:function e(){return this.connections[0]}},{key:"getType",value:function e(){return this.type}},{key:"getViewClassification",value:function e(){return this.viewClassification}},{key:"getConnectStatus",value:function e(){return this.connected}},{key:"getSyncStatus",value:function e(){return this.status}},{key:"getStatus",value:function e(){if(this.connected){return this.status?"success":"failed"}else if(this.pendingStatus){return"pending"}else{return"not_connected"}}},{key:"getTemplateClass",value:function e(){return this.templateClass}},{key:"openSlider",value:function e(t){var n=this;BX.SidePanel.Instance.open(t.sliderId,{contentCallback:function e(n){return new Promise((function(e,n){e(t.content)}))},data:t.data||{},cacheable:t.cacheable,width:this.SLIDER_WIDTH,allowChangeHistory:false,events:{onLoad:function e(t){n.itemSlider=t.getSlider()}}})}},{key:"openInfoConnectionSlider",value:function e(){var t=this.getClassTemplateItem().createInstance(this).getInfoConnectionContent();this.openSlider({sliderId:"calendar:item-sync-connect-"+this.type,content:t,cacheable:false,data:{provider:this}})}},{key:"openActiveConnectionSlider",value:function e(t){var n=this;var s=this.getClassTemplateItem().createInstance(this,t);if(this.type==="google"){s.getSectionsForGoogle().then((function(){var e=s.getActiveConnectionContent();n.openSlider({sliderId:"calendar:item-sync-"+t.id,content:e,cacheable:false,data:{provider:n,connection:t,itemInterface:s}})}))}else{var i=s.getActiveConnectionContent();this.openSlider({sliderId:"calendar:item-sync-"+t.id,content:i,cacheable:false,data:{provider:this,connection:t,itemInterface:s}})}}},{key:"getClassTemplateItem",value:function e(){var t=main_core.Reflection.getClass(this.getTemplateClass());if(main_core.Type.isFunction(t)){return t}return null}},{key:"getConnectionById",value:function e(t){var n=this.getConnections();if(n.length>0){var s=n.filter((function(e){return e.getId()==t}));if(s){return s[0]}}return null}},{key:"getSyncPanelTitle",value:function e(){return this.gridTitle}},{key:"getSyncPanelLogo",value:function e(){return"--"+this.type}}],[{key:"createInstance",value:function e(t){return new this(t)}}]);return e}();var GoogleProvider=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,{status:e.syncInfo.status||false,connected:e.syncInfo.connected||false,gridTitle:main_core.Loc.getMessage("CALENDAR_TITLE_GOOGLE"),gridColor:"#387ced",gridIcon:"/bitrix/images/calendar/sync/google.svg",type:"google",interfaceClassName:"",viewClassification:"web",templateClass:"BX.Calendar.Sync.Interface.GoogleTemplate",mainPanel:e.mainPanel}));n.syncTimestamp=e.syncInfo.syncTimestamp;n.connectionName=e.syncInfo.userName?e.syncInfo.userName:main_core.Loc.getMessage("CALENDAR_TITLE_GOOGLE");n.id=e.syncInfo.id;n.isSetSyncCaldavSettings=e.isSetSyncCaldavSettings;n.syncLink=e.syncLink;n.sections=e.sections;n.setConnections();return n}babelHelpers.createClass(t,[{key:"getSyncLink",value:function e(){return this.syncLink}},{key:"hasSetSyncCaldavSettings",value:function e(){return this.isSetSyncCaldavSettings}}]);return t}(ConnectionProvider);var Office365Provider=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,{status:e.syncInfo.status||false,connected:e.syncInfo.connected||false,gridTitle:main_core.Loc.getMessage("CALENDAR_TITLE_OFFICE365"),gridColor:"#000",gridIcon:"",type:"office365",interfaceClassName:"",viewClassification:"web",templateClass:"BX.Calendar.Sync.Interface.Office365template",mainPanel:true,pendingStatus:true}));n.connectionName="Office365";n.syncLink=e.syncLink||"";n.id=e.syncInfo.id;n.setConnections();return n}babelHelpers.createClass(t,[{key:"getSyncLink",value:function e(){return this.syncLink}}]);return t}(ConnectionProvider);var ICloudProvider=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,{status:e.syncInfo.status||false,connected:e.syncInfo.connected||false,gridTitle:main_core.Loc.getMessage("CALENDAR_TITLE_ICLOUD"),gridColor:"#000",gridIcon:"",type:"icloud",interfaceClassName:"",viewClassification:"web",templateClass:"BX.Calendar.Sync.Interface.IcloudTemplate",mainPanel:true,pendingStatus:true}));n.connectionName="icloud";n.id=e.syncInfo.id;n.setConnections();return n}return t}(ConnectionProvider);var AndroidProvider=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,{status:e.syncInfo.status,connected:e.syncInfo.connected,gridTitle:main_core.Loc.getMessage("CALENDAR_TITLE_ANDROID"),gridColor:"#9ece03",gridIcon:"/bitrix/images/calendar/sync/android.svg",type:"android",viewClassification:"mobile",templateClass:"BX.Calendar.Sync.Interface.AndroidTemplate"}));n.syncTimestamp=e.syncInfo.syncTimestamp;n.connectionName=main_core.Loc.getMessage("CALENDAR_TITLE_ANDROID");n.setConnections();return n}return t}(ConnectionProvider);var CaldavConnection=function(e){babelHelpers.inherits(t,e);function t(e){babelHelpers.classCallCheck(this,t);return babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,e))}babelHelpers.createClass(t,[{key:"hasMenu",value:function e(){return this.connected}},{key:"showMenu",value:function e(t){if(this.menu){this.menu.getPopupWindow().setBindElement(t);this.menu.show();return}var n=this.getMenuItems();n.push.apply(n,babelHelpers.toConsumableArray(this.getMenuItemConnect()));this.menu=this.getMenu(t,n);this.addMenuHandler();this.menu.show()}},{key:"addMenuHandler",value:function e(){var t=this;if(this.menu){this.menu.getMenuContainer().addEventListener("click",(function(){t.menu.close()}))}}},{key:"getMenuItems",value:function e(){var t=this;var n=this.connections;n.forEach((function(e){e.type=t.type;e.id=e.addParams.id;e.text=e.connectionName;e.onclick=function(){t.openActiveConnectionSlider(e)}}));return n}},{key:"getMenuItemConnect",value:function e(){var t=this;return[{delimiter:true},{id:"connect",text:main_core.Loc.getMessage("ADD_MENU_CONNECTION"),onclick:function e(){t.openInfoConnectionSlider()}}]}},{key:"getMenu",value:function e(t,n){return new(window.top.BX||window.BX).Main.Menu({className:"calendar-sync-popup-status",bindElement:t,items:n,width:this.MENU_WIDTH,padding:this.MENU_PADDING,zIndexAbsolute:this.MENU_INDEX,autoHide:true,closeByEsc:true,id:this.getType()+"-menu"})}},{key:"setConnections",value:function e(){var t=this;if(this.connectionsSyncInfo.length>0){this.connectionsSyncInfo.forEach((function(e){t.connections.push(ConnectionItem.createInstance({syncTimestamp:e.syncInfo.syncTimestamp,connectionName:e.syncInfo.connectionName,status:e.syncInfo.status,connected:e.syncInfo.connected,addParams:{sections:e.sections,id:e.syncInfo.id,userName:e.syncInfo.userName,server:e.syncInfo.server},type:t.type}))}))}}}],[{key:"calculateStatus",value:function e(t){if(t.length===0){return false}for(var n in t){if(this.isFailedConnections(t[n])){return false}}return true}},{key:"isFailedConnections",value:function e(t){if(t.syncInfo.connected===true&&t.syncInfo.status===false){return true}return false}}]);return t}(ConnectionProvider);var CaldavProvider=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,{status:e.status,connected:e.connected,gridTitle:main_core.Loc.getMessage("CALENDAR_TITLE_CALDAV"),gridColor:"#1eae43",gridIcon:"/bitrix/images/calendar/sync/caldav.svg",type:"caldav",viewClassification:"web",templateClass:"BX.Calendar.Sync.Interface.CaldavTemplate"}));n.connectionsSyncInfo=e.connections;n.setConnections(e);return n}return t}(CaldavConnection);var ExchangeProvider=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,{status:e.syncInfo.status||false,connected:e.syncInfo.connected||false,gridTitle:main_core.Loc.getMessage("CALENDAR_TITLE_EXCHANGE"),gridColor:"#54d0df",gridIcon:"/bitrix/images/calendar/sync/exchange.svg",type:"exchange",viewClassification:"web",templateClass:"BX.Calendar.Sync.Interface.ExchangeTemplate"}));n.syncTimestamp=e.syncInfo.syncTimestamp;n.connectionName=main_core.Loc.getMessage("CALENDAR_TITLE_EXCHANGE");n.sections=e.sections;n.setConnections();return n}return t}(ConnectionProvider);var IphoneProvider=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,{status:e.syncInfo.status,connected:e.syncInfo.connected,gridTitle:main_core.Loc.getMessage("CALENDAR_TITLE_IPHONE"),gridColor:"#2fc6f6",gridIcon:"/bitrix/images/calendar/sync/iphone.svg",type:"iphone",viewClassification:"mobile",templateClass:"BX.Calendar.Sync.Interface.IphoneTemplate"}));n.syncTimestamp=e.syncInfo.syncTimestamp;n.connectionName=main_core.Loc.getMessage("CALENDAR_TITLE_IPHONE");n.setConnections();return n}return t}(ConnectionProvider);var MacProvider=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,{status:e.syncInfo.status,connected:e.syncInfo.connected,gridTitle:main_core.Loc.getMessage("CALENDAR_TITLE_MAC"),gridColor:"#ff5752",gridIcon:"/bitrix/images/calendar/sync/mac.svg",type:"mac",viewClassification:"web",templateClass:"BX.Calendar.Sync.Interface.MacTemplate"}));n.syncTimestamp=e.syncInfo.syncTimestamp;n.portalAddress=e.portalAddress;n.connectionName=main_core.Loc.getMessage("CALENDAR_TITLE_MAC");n.setConnections();return n}babelHelpers.createClass(t,[{key:"getPortalAddress",value:function e(){return this.portalAddress}}]);return t}(ConnectionProvider);var OutlookProvider=function(_ConnectionProvider){babelHelpers.inherits(OutlookProvider,_ConnectionProvider);function OutlookProvider(e){var t;babelHelpers.classCallCheck(this,OutlookProvider);t=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(OutlookProvider).call(this,{status:e.syncInfo.status,connected:e.syncInfo.connected,gridTitle:main_core.Loc.getMessage("CALENDAR_TITLE_OUTLOOK"),gridColor:"#ffa900",gridIcon:"/bitrix/images/calendar/sync/outlook.svg",type:"outlook",viewClassification:"web",templateClass:"BX.Calendar.Sync.Interface.OutlookTemplate"}));t.syncTimestamp=e.syncInfo.syncTimestamp;t.connectionName=main_core.Loc.getMessage("CALENDAR_TITLE_OUTLOOK");t.sections=e.sections;t.infoBySections=e.infoBySections;t.setConnections();return t}babelHelpers.createClass(OutlookProvider,[{key:"hasMenu",value:function e(){return this.sections.length>0}},{key:"showMenu",value:function showMenu(bindElement){var _this2=this;if(this.hasMenu()){if(this.menu){this.menu.getPopupWindow().setBindElement(bindElement);this.menu.show()}else{var menuItems=this.getConnection().getSections();menuItems.forEach((function(item){if(_this2.infoBySections[item.id]){item.className="calendar-sync-outlook-popup-item"}item.onclick=function(){if(item&&item.connectURL){try{eval(item.connectURL)}catch(e){}}}}));this.menu=new(window.top.BX||window.BX).Main.Menu({className:"calendar-sync-popup-status",bindElement:bindElement,items:menuItems,padding:7,autoHide:true,closeByEsc:true,zIndexAbsolute:3020,id:this.getType()+"-menu"});this.menu.getMenuContainer().addEventListener("click",(function(){_this2.menu.close()}));this.menu.show()}}}}]);return OutlookProvider}(ConnectionProvider);var YandexProvider=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,{status:e.status,connected:e.connected,gridTitle:main_core.Loc.getMessage("CALENDAR_TITLE_YANDEX"),gridColor:"#f9c500",gridIcon:"/bitrix/images/calendar/sync/yandex.svg",type:"yandex",viewClassification:"web",templateClass:"BX.Calendar.Sync.Interface.YandexTemplate"}));n.connectionsSyncInfo=e.connections;n.setConnections(e);return n}return t}(CaldavConnection);function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,s)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){babelHelpers.defineProperty(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Manager=function(e){babelHelpers.inherits(t,e);function t(e){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(n),"status","not_connected");babelHelpers.defineProperty(babelHelpers.assertThisInitialized(n),"STATUS_SUCCESS","success");babelHelpers.defineProperty(babelHelpers.assertThisInitialized(n),"STATUS_FAILED","failed");n.setEventNamespace("BX.Calendar.Sync.Manager.Manager");n.wrapper=e.wrapper;n.syncInfo=e.syncInfo;n.userId=e.userId;n.syncLinks=e.syncLinks;n.sections=e.sections;n.portalAddress=e.portalAddress;n.isRuZone=e.isRuZone;n.calendarInstance=e.calendar;n.isSetSyncCaldavSettings=e.isSetSyncCaldavSettings;n.init();n.subscribeOnEvent();return n}babelHelpers.createClass(t,[{key:"subscribeOnEvent",value:function e(){var t=this;main_core_events.EventEmitter.subscribe("BX.Calendar.Sync.Interface.SyncStatusPopup:onRefresh",(function(e){t.refresh(e)}));main_core_events.EventEmitter.subscribe("BX.Calendar.Sync.Interface.InterfaceTemplate:reDrawCalendarGrid",(function(e){t.reDrawCalendarGrid()}));window.addEventListener("message",(function(e){if(e.data.title==="googleOAuthSuccess"){window.location.reload()}}))}},{key:"showSyncButton",value:function e(){this.syncButton=SyncButton.createInstance({status:this.status,wrapper:this.wrapper,connectionsProviders:this.connectionsProviders,userId:this.userId});this.syncButton.show()}},{key:"init",value:function e(){this.connectionsProviders={};this.webItems=[];this.mobileItems=[];var t=[];var n=[];var s=this.syncInfo;var i=this.sortSections();for(var a in s){switch(s[a].type){case"yandex":t.push({syncInfo:s[a],sections:i.caldav["caldav"+s[a].id],isRuZone:this.isRuZone});break;case"caldav":n.push({syncInfo:s[a],sections:i.caldav["caldav"+s[a].id]});break}this.calculateStatus(s[a])}this.connectionsProviders={google:GoogleProvider.createInstance({syncInfo:s.google||{},sections:i.google||{},syncLink:this.syncLinks.google||null,isSetSyncCaldavSettings:this.isSetSyncCaldavSettings,mainPanel:true}),office365:Office365Provider.createInstance({syncInfo:s.office365||{},syncLink:this.syncLinks.office365||null,mainPanel:true}),icloud:ICloudProvider.createInstance({syncInfo:s.icloud||{},mainPanel:true}),caldav:CaldavProvider.createInstance({status:CaldavConnection.calculateStatus(n),connected:n.length>0,connections:n}),iphone:IphoneProvider.createInstance({syncInfo:s.iphone}),android:AndroidProvider.createInstance({syncInfo:s.android}),mac:MacProvider.createInstance({syncInfo:s.mac,portalAddress:this.portalAddress})};if(this.isRuZone){this.connectionsProviders.yandex=YandexProvider.createInstance({status:CaldavConnection.calculateStatus(t),connected:t.length>0,connections:t})}if(!BX.browser.IsMac()){this.connectionsProviders.outlook=OutlookProvider.createInstance({syncInfo:s.outlook,sections:i.outlook,infoBySections:s.outlook.infoBySections||{}})}var o=Object.prototype.hasOwnProperty;if(o.call(s,"exchange")){this.connectionsProviders.exchange=ExchangeProvider.createInstance({syncInfo:s.exchange})}}},{key:"calculateStatus",value:function e(t){if(t.connected===true){if(t.status===true&&this.status!==this.STATUS_FAILED){this.status=this.STATUS_SUCCESS}else if(t.status===false){this.status=this.STATUS_FAILED}}}},{key:"sortSections",value:function e(){var t=this.sections;var n=[];var s=[];var i={};var a=[];i.caldav={};t.forEach((function(e){if(e.belongsToView()&&e.data.OUTLOOK_JS){a.push({id:e.id,connectURL:e.data.OUTLOOK_JS,text:e.name})}if(e.data["IS_EXCHANGE"]===true){n.push(e.data)}else if(e.data["GAPI_CALENDAR_ID"]&&e.data["CAL_DAV_CON"]&&e.data["EXTERNAL_TYPE"]!=="local"){s.push(e.data)}else if(e.data["CAL_DAV_CON"]&&e.data["CAL_DAV_CAL"]){i.caldav["caldav"+e.data["CAL_DAV_CON"]]=e.data}}));i.google=s;i.exchange=n;i.outlook=a;return i}},{key:"refresh",value:function e(t){var n=this;var s=t.getTarget();BX.ajax.runAction("calendar.api.calendarajax.updateConnection",{data:{type:"user",requestUid:calendar_util.Util.registerRequestId()}}).then((function(e){n.syncInfo=e.data;n.status=n.STATUS_SUCCESS;n.refreshContent(s)}))}},{key:"refreshContent",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.init();this.refreshCalendarGrid();this.refreshSyncButton();this.refreshActivePopup(t);this.refreshOpenSliders(t)}},{key:"refreshCalendarGrid",value:function e(){this.calendarInstance.reload()}},{key:"refreshSyncButton",value:function e(){this.syncButton.refresh(this.status,this.connectionsProviders)}},{key:"refreshActivePopup",value:function e(t){if(t instanceof SyncStatusPopup&&t.getId()==="calendar-syncPanel-status"){t.refresh(this.getConnections())}else if(this.syncButton.popup instanceof SyncStatusPopup&&this.syncButton.popup.getId()==="calendar-syncButton-status"){this.syncButton.popup.refresh(this.getConnections())}}},{key:"refreshOpenSliders",value:function e(){var t=this;var n=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var s=BX.SidePanel.Instance.getOpenSliders();if(s.length>0){s.forEach((function(e){if(e.getUrl()==="calendar:auxiliary-sync-slider"){t.refreshMainSlider(t.syncButton.getSyncPanel())}else if(e.getUrl().indexOf("calendar:item-sync-")!==-1){t.refreshConnectionSlider(e,n)}}))}}},{key:"refreshConnectionSlider",value:function e(t,n){var s=undefined;var i=t.getData().get("itemInterface");var a=t.getData().get("connection");if(a){s=this.connectionsProviders[a.getType()].getConnectionById(a.getId())}if(n instanceof SyncStatusPopup&&s){n.refresh([s])}if(i&&s){i.refresh(s)}t.reload()}},{key:"refreshMainSlider",value:function e(t){t.refresh(this.status,this.connectionsProviders)}},{key:"getConnections",value:function e(){var t=[];var n=Object.values(this.connectionsProviders);n.forEach((function(e){var n=e.getConnections();if(n.length>0){n.forEach((function(e){if(e.getConnectStatus()===true){t.push(e)}}))}}));return t}},{key:"reDrawCalendarGrid",value:function e(){this.calendarInstance.reload()}},{key:"updateSyncStatus",value:function e(t){if(!BX.Calendar.Util.checkRequestId(t.requestUid)){return}for(var n in t.syncInfo){if(this.syncInfo[n]){this.syncInfo[n]=_objectSpread(_objectSpread({},this.syncInfo[n]),t.syncInfo[n])}}this.status=this.STATUS_SUCCESS;this.refreshContent()}},{key:"addSyncConnection",value:function e(t){for(var n in t.syncInfo){if(["yandex","caldav","google"].includes(t.syncInfo[n].type)){BX.reload()}if(BX.Calendar.Util.checkRequestId(t.requestUid)){if(this.syncInfo[n]){this.syncInfo[n]=_objectSpread(_objectSpread({},this.syncInfo[n]),t.syncInfo[n])}}}this.status=this.STATUS_SUCCESS;this.refreshContent()}},{key:"deleteSyncConnection",value:function e(t){if(!BX.Calendar.Util.checkRequestId(t.requestUid)){return}for(var n in t.syncInfo){if(this.syncInfo[n]){delete this.syncInfo[n]}}if(this.status!=="not_connected"){this.status=this.STATUS_SUCCESS}this.refreshContent()}},{key:"getProviderById",value:function e(t){var n=undefined;for(var s in this.connectionsProviders){if(!this.connectionsProviders[s].connected||!["google","caldav","yandex"].includes(s)){continue}n=this.connectionsProviders[s].getConnectionById(t);if(n){return[this.connectionsProviders[s],n]}}return null}}]);return t}(main_core_events.EventEmitter);exports.Manager=Manager;exports.SyncButton=SyncButton;exports.SyncStatusPopup=SyncStatusPopup;exports.ConnectionItem=ConnectionItem})(this.BX.Calendar.Sync.Manager=this.BX.Calendar.Sync.Manager||{},BX.Main,BX.Event,BX,BX.Calendar); //# sourceMappingURL=manager.bundle.map.js
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.24 |
proxy
|
phpinfo
|
Settings