File manager - Edit - /usr/local/cpanel/whostmgr/docroot/templates/feature/views/featureListController.js
Back
// Copyright 2024 WebPros International, LLC // All rights reserved. // copyright@cpanel.net http://cpanel.net // This code is subject to the cPanel license. Unauthorized copying is prohibited. define( [ "angular", "lodash", "cjt/util/locale", "uiBootstrap", "cjt/directives/autoFocus", "cjt/filters/wrapFilter", "cjt/filters/splitFilter", "cjt/filters/htmlFilter", "cjt/directives/spinnerDirective", "cjt/directives/actionButtonDirective", "cjt/directives/validationContainerDirective", "cjt/directives/validationItemDirective", "cjt/services/alertService", "app/services/featureListService", "cjt/io/whm-v1-querystring-service", ], function(angular, _, LOCALE) { "use strict"; // Retrieve the current application var app = angular.module("App"); var controller = app.controller( "featureListController", [ "$scope", "$location", "$anchorScroll", "$timeout", "featureListService", "alertService", function( $scope, $location, $anchorScroll, $timeout, featureListService, alertService) { $scope.loadingPageData = true; $scope.loadingView = false; $scope.onlyReseller = !PAGE.hasRoot; $scope.hasMailOnlyList = PAGE.hasMailOnlyList; /** * Returns true if the feature list can be edited * * @method isEditable * @param {String} list The name of the feature list to check * @return {Boolean} */ $scope.isEditable = function(list) { return typeof list !== "undefined" && list !== ""; }; /** * Returns true if the feature list can be deleted * * @method isDeletable * @param {String} list The name of the feature list to check * @return {Boolean} */ $scope.isDeletable = function(list) { if (typeof list !== "undefined") { return $scope.isEditable(list) && !$scope.isSystemList(list); } return false; }; /** * Returns true if the feature list is reserved for use by the system * * @method isSystemList * @param {String} list The name of the feature list to check * @return {Boolean} */ $scope.isSystemList = function(list) { if (typeof list !== "undefined") { return list === "default" || list === "disabled" || list === "Mail Only"; } return false; }; /** * Add a feature list * * @method add * @param {String} list The name of the feature list to add * @return {Promise} */ $scope.add = function(list) { if (!$scope.formAddFeature.$valid) { // dirty the name field and bail out var currentValue = $scope.formAddFeature.txtNewFeatureList.$viewValue; $scope.formAddFeature.txtNewFeatureList.$setViewValue(currentValue); return; } // reseller check if (!PAGE.hasRoot) { var re = new RegExp("^" + PAGE.remoteUser + "_\\w+", "i"); if (list.search(re) === -1) { list = PAGE.remoteUser + "_" + list; } } return featureListService .add(list) .then(function() { // success $scope.loadingView = true; $scope.loadView("editFeatureList", { name: list }); }, function(error) { // failure alertService.add({ type: "danger", message: error, id: "errorAddingingFeatureList", }); }); }; /** * Deletes a feature list * * @method delete * @param {String} list The name of the feature list to delete * @return {Promise} */ $scope.delete = function(list) { return featureListService .remove(list) .then(function(results) { // success $scope.featureLists = results.items; $scope.selectedFeatureList = $scope.featureLists[0]; }, function(error) { // failure alertService.add({ type: "danger", message: error, id: "errorDeletingFeatureList", }); }, function() { // notification alertService.add({ type: "success", message: LOCALE.maketext("You successfully deleted the “[_1]” feature list.", _.escape(list)), id: "alertDeleteSuccess", }); }); }; /** * Fetch the feature lists * @method fetch * @return {Promise} Promise that when fulfilled will result in the list being loaded with the new criteria. */ $scope.fetch = function() { $scope.loadingPageData = true; alertService.removeById("errorFetchFeatureLists"); return featureListService .loadFeatureLists() .then(function(results) { $scope.featureLists = results.items; $scope.selectedFeatureList = $scope.featureLists[0]; }, function(error) { // failure alertService.add({ type: "danger", message: error, id: "errorFetchFeatureLists", }); // throw an error for chained promises throw error; }).finally(function() { $scope.loadingPageData = false; }); }; $scope.$on("$viewContentLoaded", function() { // check for page data in the template if this is a first load if (app.firstLoad.featureList && PAGE.featureLists) { app.firstLoad.featureList = false; $scope.loadingPageData = false; var featureLists = featureListService.prepareList(PAGE.featureLists); $scope.featureLists = featureLists.items; $scope.selectedFeatureList = $scope.featureLists[0]; if (!featureLists.status) { $scope.loadingPageData = "error"; alertService.add({ type: "danger", message: LOCALE.maketext("There was a problem loading the page. The system is reporting the following error: [_1].", PAGE.featureLists.metadata.reason), id: "errorFetchFeatureLists", }); } } else { // reload the feature lists $scope.fetch(); } }); }, ]); return controller; } );
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.04 |
proxy
|
phpinfo
|
Settings