File manager - Edit - /usr/local/cpanel/whostmgr/docroot/templates/cpanel_plugin_manager/views/createPluginController.min.js
Back
define(["angular","lodash","cjt/util/locale","app/services/createPluginService","cjt/services/alertService","cjt/directives/alertList","cjt/validator/datatype-validators","cjt/directives/validationContainerDirective","cjt/directives/validationItemDirective"],(function(angular,_,LOCALE){"use strict";var app=angular.module("App");app.controller("createPluginController",["$scope","$anchorScroll","alertService","createPluginService","PAGE",function($scope,$anchorScroll,alertService,createPluginService,PAGE){var defaultAddItemForm={itemData:{id:"",name:"",description:"",group_id:"",order:"",uri:"index.html",overwrite:false,featuremanager:false,target:""},showNewGroup:false,newGroup:"",itemIcon:""};$scope.itemList=[];$scope.item=angular.copy(defaultAddItemForm.itemData);var groupList=[];var iconList={};$scope.groups=PAGE.groups;var itemIds=PAGE.itemIds;$scope.item.uri=defaultAddItemForm.itemData.uri;$scope.addItemToPlugin=function(){if($scope.addItemForm.$invalid){return}if($scope.item!==void 0){$scope.item.type="link";if($scope.newGroup!==void 0&&$scope.newGroup!==""){var newGroupId=$scope.newGroup.toLowerCase().split(" ").join("_");var newGroupObj={id:newGroupId,name:$scope.newGroup};$scope.groups.push(newGroupObj);$scope.item.group_id=newGroupId;var installGroupObj={name:$scope.newGroup,type:"group",order:99,id:newGroupId};groupList.push(installGroupObj)}readIconFile()}};$scope.validateDuplicate=function(){if($scope.item.id!==""){var isDuplicate=$scope.itemList.some((function(item){return item.id===$scope.item.id}));if(isDuplicate){$scope.addItemForm.txtItemId.$setValidity("unique",false);$scope.focusOnId=true;return isDuplicate}else{$scope.addItemForm.txtItemId.$setValidity("unique",true)}var askOverwrite=itemIds.some((function(existingItem){return existingItem===$scope.item.id}));if(askOverwrite){$scope.addItemForm.txtItemId.$setValidity("existing",false);$scope.showOverwrite=true;return askOverwrite}else{$scope.addItemForm.txtItemId.$setValidity("existing",true);$scope.showOverwrite=false;$scope.item.overwrite=false;return askOverwrite}}};$scope.validateGroupNameDuplicate=function(){var duplicate=false;if($scope.newGroup!==void 0&&$scope.newGroup!==""){var newGroupId=$scope.newGroup.toLowerCase().split(" ").join("_");duplicate=$scope.groups.some((function(existingGroup){return existingGroup.id===newGroupId}))}$scope.addItemForm.txtItemGroup.$setValidity("unique",!duplicate)};$scope.validateOverwrites=function(){var pleaseOverwrite=$scope.item.overwrite;$scope.addItemForm.txtItemId.$setValidity("existing",pleaseOverwrite)};$scope.clearItem=function(){clearItemForm()};$scope.addGroup=function(){$scope.showNewGroup=true;if($scope.item&&$scope.item.group_id){$scope.item.group_id=""}$scope.addItemForm.ddlGroup.$setPristine()};$scope.cancelNewGroup=function(){$scope.showNewGroup=false;$scope.newGroup="";$scope.addItemForm.txtItemGroup.$setValidity("unique",true);$scope.addItemForm.txtItemGroup.$setPristine()};$scope.removeItem=function(itemId){if(itemId!==""){var itemList=$scope.itemList;var removeItem=itemList.filter((function(item){return item.id===itemId}));if(removeItem&&removeItem.length===1){var index=itemList.indexOf(removeItem[0]);if(index!==-1){$scope.itemList.splice(index,1)}var removeIcon=removeItem[0].icon;delete iconList[removeIcon]}}};$scope.generatePlugin=function(){if($scope.createPluginForm.$invalid){return}groupList=groupList.filter((function(group){return $scope.itemList.some((function(item){return item.group_id===group.id}))}));var iconListJson=angular.toJson(iconList);var installList=groupList.concat($scope.itemList);var installListJson=angular.toJson(installList);var pluginData={name:$scope.pluginName,installListJson:installListJson,iconListJson:iconListJson};return createPluginService.generatePluginFile(pluginData).then((function(data){if(data.tarball!==void 0){$scope.notice=true;var downloadUrl="download/"+data.tarball;alertService.add({type:"success",message:LOCALE.maketext("The plugin file “[_1]” was generated successfully. Please [output,url,_2,download the plugin,target,blank,title,_1] before creating a new one.",data.tarball,downloadUrl),id:"alertAddSuccess",closeable:false});clearItemForm();clearCreatePluginForm()}}),(function(error){alertService.add({type:"danger",message:error,id:"alertMessages",closeable:false})}))};function clearItemForm(){if($scope.addItemForm.$dirty){$scope.addItemForm.$setPristine();$scope.item=angular.copy(defaultAddItemForm.itemData);$scope.showNewGroup=defaultAddItemForm.showNewGroup;$scope.newGroup=defaultAddItemForm.newGroup;$scope.itemIcon=defaultAddItemForm.itemIcon;$scope.showOverwrite=false;$scope.focusOnId=true;var fileField=document.getElementById("fileIcon");if(fileField!==void 0){fileField.value=defaultAddItemForm.itemIcon}}}function clearCreatePluginForm(){if($scope.createPluginForm.$dirty){$scope.createPluginForm.$setPristine();$scope.itemList=[];$scope.pluginName="";iconList={}}}function readIconFile(){var reader=new FileReader;reader.onloadend=function(){$scope.addItemProcessing=false;$scope.$apply(addIconToItem(reader.result))};if($scope.itemIcon){$scope.addItemProcessing=true;reader.readAsDataURL($scope.itemIcon)}}function addIconToItem(iconFileData){var imgName=$scope.itemIcon.name;var iconExtension=imgName.substr(imgName.lastIndexOf("."));var iconFileName=$scope.item.icon=$scope.item.id+iconExtension;iconList[iconFileName]=iconFileData;$scope.itemList.push($scope.item);clearItemForm()}}])}));
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.05 |
proxy
|
phpinfo
|
Settings