Micro code refactoring in component-descriptor.service.js

This commit is contained in:
deaflynx 2020-09-18 12:09:21 +03:00
parent 6d7c28c88f
commit 87601a4c63

View File

@ -28,31 +28,31 @@ function ComponentDescriptorService($http, $q) {
return service;
function getComponentDescriptorsByTypes(componentTypes, ruleChainType) {
function getComponentDescriptorsByTypes(componentTypes, type) {
var deferred = $q.defer();
var result = [];
if (!componentsByType[ruleChainType]) {
componentsByType[ruleChainType] = {};
if (!componentsByType[type]) {
componentsByType[type] = {};
}
for (var i=componentTypes.length-1;i>=0;i--) {
var componentType = componentTypes[i];
if (componentsByType[ruleChainType][componentType]) {
result = result.concat(componentsByType[ruleChainType][componentType]);
if (componentsByType[type][componentType]) {
result = result.concat(componentsByType[type][componentType]);
componentTypes.splice(i, 1);
}
}
if (!componentTypes.length) {
deferred.resolve(result);
} else {
var url = '/api/components?componentTypes=' + componentTypes.join(',') + '&ruleChainType=' + ruleChainType;
var url = '/api/components?componentTypes=' + componentTypes.join(',') + '&ruleChainType=' + type;
$http.get(url, null).then(function success(response) {
var components = response.data;
for (var i = 0; i < components.length; i++) {
var component = components[i];
var componentsList = componentsByType[ruleChainType][component.type];
var componentsList = componentsByType[type][component.type];
if (!componentsList) {
componentsList = [];
componentsByType[ruleChainType][component.type] = componentsList;
componentsByType[type][component.type] = componentsList;
}
componentsList.push(component);
componentsByClazz[component.clazz] = component;