Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/mail_blocked_domains/index.js
/*
# whostmgr/docroot/templates/mail_blocked_tlds/index.js
Copyright 2022 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
*/
/* global define, require, PAGE */
/* jshint -W100 */
define(
[
"lodash",
"angular",
"punycode",
"cjt/util/locale",
"app/services/parser",
"cjt/core",
"cjt/util/parse",
"cjt/modules",
"uiBootstrap",
"cjt/directives/validationContainerDirective",
],
function mailBlockedDomainsDefine(_, angular, PUNYCODE, LOCALE, PARSER) {
"use strict";
var PAGE = window.PAGE;
return function inDefine() {
angular.module("whm.mailBlockedDomains", [
"cjt2.config.whm.configProvider", // This needs to load before any of its configured services are used.
"ui.bootstrap",
"cjt2.whm",
"cjt2.services.alert",
"whm.mailBlockedDomains.Service",
] );
return require(
[
"cjt/bootstrap",
"uiBootstrap",
"app/services/manageService",
"app/validators/domainList",
],
function toRequire(BOOTSTRAP) {
var app = angular.module("whm.mailBlockedDomains");
app.controller("BaseController", [
"$rootScope",
"$scope",
"manageService",
function($rootScope, $scope, manageService) {
manageService.setSavedDomains(PAGE.initial_blocked_domains);
var state = {
viewPunycodeYN: PAGE.initial_view_punycode,
};
function _parseDomainsFromView() {
return PARSER.parseDomainsFromText(state.domainsText);
}
function _pushDomainsToView(domains) {
state.domainsText = domains.join("\n");
}
function _syncDomainsText() {
var domains = manageService.getSavedDomains();
if (state.viewPunycodeYN) {
domains = domains.map( PUNYCODE.toASCII );
}
_pushDomainsToView(domains);
}
_syncDomainsText();
_.assign(
$scope,
{
updateViewPunycode: function updateViewPunycode() {
var domains = _parseDomainsFromView();
var xform = PUNYCODE[ state.viewPunycodeYN ? "toASCII" : "toUnicode" ];
_pushDomainsToView(domains.map(xform));
},
domainsAreChanged: function domainsAreChanged() {
var domains = _parseDomainsFromView();
var saved = manageService.getSavedDomains();
return !!_.xor(domains, saved).length;
},
submit: function submit() {
var domains = PARSER.parseDomainsFromText(state.domainsText);
$scope.inProgress = true;
return manageService.saveBlockedDomains(domains).then( _syncDomainsText ).finally( function() {
$scope.inProgress = false;
} );
},
state: state,
}
);
},
] );
BOOTSTRAP(document, "whm.mailBlockedDomains");
}
);
};
}
);
Back to Directory
File Manager