Viewing File: /usr/local/cpanel/base/frontend/jupiter/email_accounts/views/list.min.js
define(["lodash","angular","cjt/util/locale","uiBootstrap","cjt/services/alertService","cjt/directives/alert","cjt/directives/alertList","cjt/directives/actionButtonDirective","cjt/directives/toggleSortDirective","cjt/directives/searchDirective","cjt/services/cpanel/componentSettingSaverService","cjt/directives/pageSizeButtonDirective","app/services/emailAccountsService","cjt/directives/statsDirective","cjt/directives/indeterminateState","app/decorators/paginationDecorator","cjt/directives/disableAnimations"],(function(e,t,a){"use strict";var n;try{n=t.module("cpanel.emailAccounts")}catch(e){n=t.module("cpanel.emailAccounts",[])}return n.value("PAGE",PAGE),n.controller("ListController",["$scope","$location","emailAccountsService","PAGE","alertService","$timeout","$routeParams","$window","componentSettingSaverService","ONE_MEBIBYTE",function(c,i,r,o,l,s,u,m,g,d){var f=this;f.isRTL=o.isRTL,f.statsCssClass="hide-stats",r.getEmailStats().then((function(e){c.accountStats=e,f.statsCssClass="animate-stats"})),c.upgradeLink=r.getUpgradeUrl(),f.createEmail=function(){i.path("/create")};var p="EmailAccountsTable",h={filter:"EmailAccountsListFilter",currentPage:"EmailAccountsListCurrentPage",quickFilter:"EmailAccountsListQuickFilter"};n.firstLoad&&e.forOwn(h,(function(e){localStorage.removeItem(e)}));f.webmailEnabled=o.webmailEnabled,f.dprefix=o.dprefix,f.loadingEmailAccounts=!1,f.filterTermPending=!0,f.storageKeys=h,f.meta={sortReverse:!1,sortBy:"user",sortDirection:"asc",sortFields:["user","domain","has_suspended","_diskused","_diskquota","diskusedpercent_float"],showPager:!1,maxPages:5,totalItems:0,currentPage:1,pageSizes:[20,50,100,500],pageSize:20,start:0,limit:10},f.multiDeleteSelected=!1,f.checkedCount=0,f.selectAllState=!1;var v={},S=localStorage.getItem(f.storageKeys.filter);S&&0===S.indexOf(o.securityToken+":")?f.meta.filterValue=S.substr(1+o.securityToken.length):f.meta.filterValue="";var _=localStorage.getItem(f.storageKeys.quickFilter);_&&0===_.indexOf(o.securityToken+":")?f.quickFilter=_.substr(1+o.securityToken.length):f.quickFilter="all";var k=localStorage.getItem(f.storageKeys.currentPage);function A(){f.selectAllState=!1,f.checkedCount=0,f.multiDeleteSelected=!1}function P(e,t){localStorage.setItem(f.storageKeys[e],o.securityToken+":"+t)}function y(e){var t=e.shift();null!=t&&s((function(){f.meta.accounts=f.meta.accounts.concat(t),y(e)}),0)}k&&0===k.indexOf(o.securityToken+":")?f.meta.currentPage=k.substr(1+o.securityToken.length):f.meta.currentPage=1,u.account&&u.account!==f.meta.filterValue&&(f.meta.filterValue=u.account,f.meta.accounts=void 0),f.setMetaFromComponentSettings=function(t){t.hasOwnProperty("sortBy")&&t.sortBy&&e.find(f.meta.sortFields,(function(e){return e===t.sortBy}))&&(f.meta.sortBy=t.sortBy),t.hasOwnProperty("sortDirection")&&t.sortDirection&&("asc"===t.sortDirection||"desc"===t.sortDirection)&&(f.meta.sortDirection=t.sortDirection),t.hasOwnProperty("pageSize")&&t.pageSize&&e.find(f.meta.pageSizes,(function(e){return e===parseInt(t.pageSize)}))&&(f.meta.pageSize=parseInt(t.pageSize))},f.saveMetaToComponentSettings=function(){g.set(p,{sortBy:f.meta.sortBy,sortDirection:f.meta.sortDirection,pageSize:f.meta.pageSize})},f.clearStatus=function(e){if(e&&e.deleted){var t=f.meta.accounts.indexOf(e);if(t>-1&&(f.meta.accounts.splice(t,1),f.meta.totalItems--,f.meta.mobileItemCountText=a.maketext("[_1] - [_2] of [_3]",f.meta.start,f.meta.limit,f.meta.totalItems)),e.isExpanded=!1,0===f.meta.accounts.length&&f.meta.totalItems>f.meta.pageSize)return f.meta.currentPage===f.meta.totalPages&&f.meta.currentPage--,f.fetch()}},f.sortList=function(){f.currentFetchTimeout&&s.cancel(f.currentFetchTimeout),f.currentFetchTimeout=s((function(){return f.saveMetaToComponentSettings(),A(),f.meta.currentPage=1,P("currentPage",f.meta.currentPage),f.fetch()}),250)},f.selectPage=function(){if(!f.loadingEmailAccounts)return f.currentFetchTimeout&&s.cancel(f.currentFetchTimeout),f.currentFetchTimeout=s((function(){return A(),P("currentPage",f.meta.currentPage),f.fetch()}),250)},f.selectPageSize=function(){f.currentFetchTimeout&&s.cancel(f.currentFetchTimeout),f.currentFetchTimeout=s((function(){return f.saveMetaToComponentSettings(),A(),f.meta.currentPage=1,f.fetch()}),250)},f.searchList=function(){return f.filterTermPending=!0,f.meta.currentPage=1,A(),P("filter",f.meta.filterValue),P("currentPage",f.meta.currentPage),f.fetch()},f.getSelectedState=function(){return f.checkedCount>0||f.selectAllState},f.hasSelectedAccounts=function(){return f.checkedCount>0},f.getIndeterminateState=function(){return f.checkedCount>0&&!f.selectAllState},f.toggleSelection=function(e){e.selected?(f.checkedCount++,v[e.email]=!0):(f.checkedCount--,delete v[e.email]),0===f.checkedCount&&(f.multiDeleteSelected=!1),f.selectAllState=f.checkedCount===f.meta.accounts.length},f.toggleSelectAll=function(){if(0!==f.meta.accounts.length){var e=f.meta.accounts.length-1;f.checkedCount>0&&f.checkedCount!==e&&(f.selectAllState=!f.selectAllState);for(var t=0,a=f.meta.accounts.length;t<a;t++){var n=f.meta.accounts[t];n.isDefault||(n.selected=f.selectAllState,f.selectAllState?v[n.email]=f.selectAllState:delete v[n.email])}f.selectAllState?f.checkedCount=e:(f.checkedCount=0,f.multiDeleteSelected=!1)}},f.getDeleteMultipleMsg=function(){var e;if(f.checkedCount>1)return a.maketext("Delete the selected [quant,_1,email account,email accounts]?",f.checkedCount);if(1===f.checkedCount){for(var t=0,n=f.meta.accounts.length;t<n;t++)if(f.meta.accounts[t].selected){e=f.meta.accounts[t].email;break}return a.maketext("Delete “[_1]”?",e)}},f.getMultiDeleteButtonTxt=function(){return a.maketext("Delete ([numf,_1])",f.checkedCount)},f.delete=function(e){return e.delete_requested=!0,e.removing=!0,1===f.meta.accounts.length&&f.meta.filterValue&&(f.filterTermPending=!0),r.deleteEmail(e.email).then((function(){f.filterTermPending=!1,l.add({message:a.maketext("Account “[_1]” deleted.",e.user+"@"+e.domain),type:"success",closeable:!0,autoClose:1e4,group:"emailAccounts"}),e.delete_requested=!1,e.removing=!1,e.deleted=!0,delete v[e.email],f.checkedCount--,f.meta.filterValue&&1===f.meta.accounts.length&&f.meta.totalItems<=f.meta.pageSize&&(f.meta.accounts=[]),f.clearStatus(e)}),(function(t){l.add({type:"danger",message:t,closeable:!0,group:"emailAccounts"}),e.delete_requested=!1,e.removing=!1,e.deleted=!1}))},f.deleteMultiple=function(){f.removingMultiple=!0;for(var e=[],t=0,n=f.meta.accounts.length;t<n;t++)f.meta.accounts[t].selected&&!f.meta.accounts[t].isDefault&&e.push(f.meta.accounts[t]);return 1===f.meta.accounts.length&&f.meta.filterValue&&(f.filterTermPending=!0),r.deleteEmails(e).then((function(){var t="";e.length>1?t=a.maketext("Deleted [numf,_1] email accounts.",e.length):1===e.length&&(t=a.maketext("Email account “[_1]” deleted.",e[0].user+"@"+e[0].domain)),l.add({message:t,type:"success",closeable:!0,autoClose:1e4,group:"emailAccounts"}),A(),f.removingMultiple=!1;for(var n=0,c=e.length;n<c;n++)delete v[e[0]];return f.fetch()}),(function(e){l.add({type:"danger",message:e,closeable:!0,group:"emailAccounts"}),f.removingMultiple=!1,f.multiDeleteSelected=!1}))},f.showNoAvailableAccountsWarning=function(){c.showNoAvailableAccounts=!c.showNoAvailableAccounts},f.closeCallout=function(){c.showNoAvailableAccounts=!1},f.fetch=function(){f.loadingEmailAccounts=!0;var n="lexicographic";"_diskused"===f.meta.sortBy||"diskusedpercent_float"===f.meta.sortBy||"has_suspended"===f.meta.sortBy?n="numeric":"_diskquota"===f.meta.sortBy&&(n="numeric_zero_as_max");var c=function(e,t){var a={"api.sort":1,"api.sort_column_0":e.meta.sortBy,"api.sort_method_0":t,"api.sort_reverse_0":"asc"===e.meta.sortDirection?0:1,"api.paginate":1,"api.paginate_start":(e.meta.currentPage-1)*e.meta.pageSize+1,"api.paginate_size":e.meta.pageSize,"api.paginate_page":e.meta.currentPage};switch("user"!==e.meta.sortBy&&(a["api.sort_column_1"]="user",a["api.sort_method_1"]="lexicographic"),e.quickFilter){case"restricted":a["api.filter_term_1"]=1,a["api.filter_type_1"]="eq",a["api.filter_column_1"]="has_suspended";break;case"default":a["api.filter_term_1"]="Main Account",a["api.filter_type_1"]="eq",a["api.filter_column_1"]="login",e.meta.filterValue="",delete a["api.paginate"],delete a["api.paginate_start"],delete a["api.paginate_size"],delete a["api.paginate_page"],e.meta.currentPage=1;break;case"overUsed":a["api.filter_term_1"]=100,a["api.filter_type_1"]="gt",a["api.filter_column_1"]="diskusedpercent"}return e.meta.filterValue&&""!==e.meta.filterValue&&(a["api.filter"]=1,a["api.filter_term_0"]=e.meta.filterValue,a["api.filter_column_0"]="login"),a}(f,n);f.meta.accounts=[];var i=t.element("#popsAccountList");i&&i[0]&&i.css({minHeight:m.getComputedStyle(i[0]).height});var o=r.getEmailAccounts(c);return f.fetchPromise=o,o.then((function(n){if(f.fetchPromise===o){A();var c=n.data,i=n.meta;if(f.meta.totalItems=i.paginate.total_records,f.meta.totalPages=i.paginate.total_pages,f.meta.currentPage=i.paginate.current_page,f.meta.totalItems>e.min(f.meta.pageSizes)){f.meta.showPager=!0;var r=(f.meta.currentPage-1)*f.meta.pageSize;f.meta.start=r+1,f.meta.limit=r+c.length}else f.meta.showPager=!1,0===c.length?f.meta.start=0:f.meta.start=1,f.meta.limit=c.length;f.meta.mobileItemCountText=a.maketext("[_1] - [_2] of [_3]",f.meta.start,f.meta.limit,f.meta.totalItems),t.element("#popsAccountList").css({minHeight:""});for(var l=0,s=c.length;l<s;l++)v[c[l].email]&&!c[l].isDefault&&(c[l].selected=!0,f.checkedCount++);if(c.length>0?f.selectAllState=f.checkedCount===c.length:f.selectAllState=!1,c.length>100){for(var u=[];c.length;)u.push(c.splice(0,50));f.meta.accounts=u.shift(),y(u)}else f.meta.accounts=c;f.loadingEmailAccounts=!1,f.filterTermPending=!1}}),(function(e){l.add({type:"danger",message:e,closeable:!0,group:"emailAccounts"}),f.loadingEmailAccounts=!1,f.filterTermPending=!1}))},f.filterEmails=function(){if(f.quickFilter)return f.meta.currentPage=1,P("quickFilter",f.quickFilter),P("currentPage",f.meta.currentPage),f.fetch()},f.getSearchClass=function(){return f.filterTermPending||f.loadingEmailAccounts||!f.meta.filterValue?"":f.meta.accounts&&f.meta.accounts.length>0?"success":"danger"},f.getDetails=function(e,t){t&&(e.displayInnerEmail=function(e){var t=document.getElementById("account-name_"+e);if(t){var a=m.getComputedStyle(t).width;if(a)return(a=a.slice(0,-2))>=200}return!0}(e.email)),e.isExpanded=t},f.connectDevices=function(e){var t=f.dprefix+"mail/clientconf.html?acct="+encodeURIComponent(e.email);window.location.href=t},f.manageAccount=function(e,t){if(e&&e.isDefault)i.path("/manageDefault/");else{var a="/manage/"+encodeURIComponent(e.email);void 0!==t&&t&&(a=a+"/"+t),i.path(a)}},c.$on("$destroy",(function(){g.unregister(p)})),n.firstLoad&&o.nvdata&&o.nvdata.hasOwnProperty(p)&&f.setMetaFromComponentSettings(o.nvdata[p]),n.firstLoad=!1,f.loadingEmailAccounts=!0,g.register(p).then((function(e){if(e&&(u.account&&u.account!==e.filterValue&&(e.filterValue=u.account,f.meta.currentPage=1,f.meta.accounts=void 0,f.saveMetaToComponentSettings()),f.setMetaFromComponentSettings(e)),!f.meta.accounts)return f.fetch()}),(function(){if(!f.meta.accounts)return f.fetch()}))}])}));
Back to Directory
File Manager