%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/mail.client.message.list/templates/.default/ |
Current File : /home/bitrix/www/bitrix/components/bitrix/mail.client.message.list/templates/.default/script.min.js |
(function(){BX.namespace("BX.Mail.Client.Message.List");BX.Mail.Client.Message.List=function(e){this.gridId=e.gridId;this.mailboxId=e.mailboxId;this.canMarkSpam=e.canMarkSpam;this.canDelete=e.canDelete;this.connectedMailboxesLicenseInfo=e.connectedMailboxesLicenseInfo;this.ERROR_CODE_CAN_NOT_DELETE=e.ERROR_CODE_CAN_NOT_DELETE;this.ERROR_CODE_CAN_NOT_MARK_SPAM=e.ERROR_CODE_CAN_NOT_MARK_SPAM;this.disabledClassName="js-disabled";this.userInterfaceManager=new BX.Mail.Client.Message.List.UserInterfaceManager(e);this.userInterfaceManager.reloadGrid=this.reloadGrid.bind(this);this.userInterfaceManager.resetGridSelection=this.resetGridSelection.bind(this);this.userInterfaceManager.isSelectedRowsHaveClass=this.isSelectedRowsHaveClass.bind(this);this.userInterfaceManager.getGridInstance=this.getGridInstance.bind(this);this.addEventHandlers();BX.Mail.Client.Message.List[e.id]=this};BX.Mail.Client.Message.List.prototype={addEventHandlers:function(){BX.ajax.UpdatePageData=function(){}},showLicensePopup:function(e){B24.licenseInfoPopup.show(e,BX.message("MAIL_MAILBOX_LICENSE_CONNECTED_MAILBOXES_LIMIT_TITLE"),this.connectedMailboxesLicenseInfo)},onCrmClick:function(e){this.resetGridSelection();var t=this.getGridInstance().getRows().getSelectedIds();var s=this.getGridInstance().getRows().getById(e?e:t[0]);if(!(s&&s.node)){return}var n=this.userInterfaceManager.isAddToCrmActionAvailable(s.node);var i=s.node.querySelector("[data-message-id]");if(!(i.dataset&&i.dataset.messageId)){return}if(n){if(typeof this.isAddingToCrmInProgress!=="object"){this.isAddingToCrmInProgress={}}if(this.isAddingToCrmInProgress[e]===true){return}this.isAddingToCrmInProgress[e]=true;BX.ajax.runComponentAction("bitrix:mail.client","createCrmActivity",{mode:"ajax",data:{messageId:i.dataset.messageId}}).then(function(e,t){this.isAddingToCrmInProgress[e]=false;if(t.data&&t.data.length>0){this.notify(BX.message("MAIL_MESSAGE_LIST_NOTIFY_ADDED_TO_CRM"));this.userInterfaceManager.onBindingCreated()}else{this.notify(BX.message("MAIL_MESSAGE_LIST_NOTIFY_NOT_ADDED_TO_CRM"))}}.bind(this,e))}else{BX.ajax.runComponentAction("bitrix:mail.client","removeCrmActivity",{mode:"ajax",data:{messageId:i.dataset.messageId}}).then(function(e){this.userInterfaceManager.onCrmBindingDeleted(e.dataset.messageId);this.notify(BX.message("MAIL_MESSAGE_LIST_NOTIFY_EXCLUDED_FROM_CRM"))}.bind(this,i))}},onViewClick:function(e){if(e===undefined&&this.getGridInstance().getRows().getSelectedIds().length===0){return}BX.SidePanel.Instance.open("/mail/message/"+e,{width:1080})},onDeleteClick:function(e){if(e===undefined&&this.getGridInstance().getRows().getSelectedIds().length===0){return}if(!this.canDelete){this.showSettingsSlider();return}var t={onSuccess:function(){this.reloadGrid({})}};if(e!==undefined){t.ids=[e]}if(this.userInterfaceManager.isCurrentFolderTrash){var s=this.getConfirmDeletePopup(t);s.show()}else{this.runAction("delete",t)}},onMoveToFolderClick:function(e){var t=e.currentTarget.dataset;var s=t.id;var n=JSON.parse(t.isDisabled);var i=t.folderPath;if(s===undefined&&this.getGridInstance().getRows().getSelectedIds().length===0||n){return}var a=this.getGridInstance().getRows().getSelectedIds();a=a.length?a:s?[s]:[];a=this.filterRowsByClassName(this.disabledClassName,a,true);if(!a.length){return}this.resetGridSelection();this.runAction("moveToFolder",{ids:a,params:{folder:i}})},onReadClick:function(e){if(e===undefined&&this.getGridInstance().getRows().getSelectedIds().length===0){return}var t=this.isSelectedRowsHaveClass("mail-msg-list-cell-unseen",e)?"markAsSeen":"markAsUnseen";var s=this.filterRowsByClassName("mail-msg-list-cell-unseen",e,t!=="markAsSeen");s=this.filterRowsByClassName(this.disabledClassName,s,true);if(!s.length){return}this.userInterfaceManager.onMessagesRead(s,{action:t});this.resetGridSelection();if(t==="markAsSeen"){this.userInterfaceManager.updateUnreadCounters(-s.length)}else{this.userInterfaceManager.updateUnreadCounters(s.length)}this.runAction(t,{ids:s,keepRows:true,successParams:t,onSuccess:false})},onSpamClick:function(e){if(e===undefined&&this.getGridInstance().getRows().getSelectedIds().length===0){return}if(!this.canMarkSpam){this.showSettingsSlider();return}var t=this.isSelectedRowsHaveClass("js-spam",e)?"restoreFromSpam":"markAsSpam";var s=this.filterRowsByClassName("js-spam",e,t!=="restoreFromSpam");s=this.filterRowsByClassName(this.disabledClassName,s,true);if(!s.length){return}var n={onSuccess:function(){this.reloadGrid({})}};if(e!==undefined){n.ids=[e]}this.runAction(t,n)},getConfirmDeletePopup:function(e){if(!this.popupConfirm){var t=[new BX.PopupWindowButton({text:BX.message("MAIL_MESSAGE_LIST_CONFIRM_CANCEL_BTN"),className:"popup-window-button-cancel",events:{click:BX.delegate(function(){this.popupConfirm.close()},this)}}),new BX.PopupWindowButton({text:BX.message("MAIL_MESSAGE_LIST_CONFIRM_DELETE_BTN"),className:"popup-window-button-decline",events:{click:BX.delegate(function(){this.runAction("delete",e);this.popupConfirm.close()},this)}})];this.popupConfirm=new BX.PopupWindow("bx-mail-message-list-popup-delete-confirm",null,{zIndex:1e3,autoHide:true,buttons:t,closeByEsc:true,titleBar:{content:BX.create("div",{html:'<span class="popup-window-titlebar-text">'+BX.message("MAIL_MESSAGE_LIST_CONFIRM_TITLE")+"</span>"})},events:{onPopupClose:function(){this.destroy()},onPopupDestroy:BX.delegate(function(){this.popupConfirm=null},this)},content:BX.create("div",{html:BX.message("MAIL_MESSAGE_LIST_CONFIRM_DELETE")})});this.popupConfirm.selectedIds=e.ids}return this.popupConfirm},resetGridSelection:function(){this.getGridInstance().getRows().unselectAll();document.querySelector("#pagetitle").click()},isSelectedRowsHaveClass:function(e,t){var s=this.getGridInstance().getRows().getSelectedIds();var n=s.length?s:t?[t]:[];var i=[];for(var a=0;a<n.length;a++){var r=this.getGridInstance().getRows().getById(n[a]);if(r&&r.node){var o=r.node.getElementsByClassName(e);if(o&&o.length){return true}}}return false},filterRowsByClassName:function(e,t,s){var n=[];if(Array.isArray(t)){n=t}else{var i=this.getGridInstance().getRows().getSelectedIds();n=i.length?i:t?[t]:[]}var a=[];for(var r=n.length-1;r>=0;r--){var o=this.getGridInstance().getRows().getById(n[r]);if(o&&o.node){var d=o.node.getElementsByClassName(e);if(!s&&(d&&d.length)){a.push(n[r])}else if(s&&!(d&&d.length)){a.push(n[r])}}}return a},notify:function(e){BX.UI.Notification.Center.notify({autoHideDelay:2e3,content:e?e:BX.message("MAIL_MESSAGE_LIST_NOTIFY_SUCCESS")})},runAction:function(e,t){t=t?t:{};var s=this.getGridInstance().getRows().getSelectedIds();if(t.ids){s=t.ids}if(!s.length){return}if(!t.keepRows){this.getGridInstance().tableFade()}var n={ids:s};if(t.params){var i=Object.keys(Object(t.params));for(var a=0,r=i.length;a<r;a++){var o=i[a];var d=Object.getOwnPropertyDescriptor(t.params,o);if(d!==undefined&&d.enumerable){n[o]=t.params[o]}}}BX.ajax.runComponentAction("bitrix:mail.client",e,{mode:"ajax",data:n}).then(function(n){if(t.onSuccess===false){return}if(t.onSuccess&&typeof t.onSuccess==="function"){t.onSuccess.bind(this,s,t.successParams)();return}this.onSuccessRequest(n,e)}.bind(this),function(e){t.onError&&typeof t.onError==="function"?t.onError().bind(this,e):this.onErrorRequest(e)}.bind(this))},onErrorRequest:function(e){options={};this.checkErrorRights(e.errors);options.errorMessage=e.errors[0].message;this.reloadGrid(options)},checkErrorRights:function(e){for(var t=0;t<e.length;t++){if(e[t].code===this.ERROR_CODE_CAN_NOT_DELETE){this.canDelete=false}if(e[t].code===this.ERROR_CODE_CAN_NOT_MARK_SPAM){this.canMarkSpam=false}}},onSuccessRequest:function(e,t){this.notify();this.reloadGrid({})},reloadGrid:function(e){var t=this.getGridInstance();if(t){e.apply_filter="Y";t.reloadTable("POST",e)}},showSettingsSlider:function(){var e=BX.util.add_url_param("/mail/config/edit",{id:this.mailboxId+"#mail-cfg-dirs"});BX.SidePanel.Instance.open(e,{width:760,cacheable:false,allowChangeHistory:false});this.canDelete=true;this.canMarkSpam=true},onDisabledGroupActionClick:function(){},onUnreadCounterClick:function(){this.userInterfaceManager.onUnreadCounterClick()},onUnbindCounterClick:function(){this.userInterfaceManager.onUnbindCounterClick()},getGridInstance:function(){return BX.Main.gridManager.getById(this.gridId).instance}}})();