import { CacheService } from './cache.service.js';
|
|
class PPUtilClass {
|
static cleanup(parent, keys, componentNamespace, ...referenceComponentNamespaces) {
|
if (!parent)
|
return;
|
const referenceComponents = referenceComponentNamespaces == null ? void 0 : referenceComponentNamespaces.map((componentNamespace2) => {
|
return CacheService.get(componentNamespace2);
|
});
|
const components = CacheService.get(componentNamespace);
|
keys.forEach((key) => {
|
if (components[key]) {
|
const parentNode = components[key].parentNode;
|
if (parentNode && parentNode.contains(components[key])) {
|
parentNode.removeChild(components[key]);
|
delete components[key];
|
} else if (parent.contains(components[key])) {
|
parent.removeChild(components[key]);
|
delete components[key];
|
}
|
if (referenceComponents && referenceComponents.length > 0) {
|
referenceComponents.forEach((refCom) => {
|
if (refCom[key] && parent.contains(refCom[key])) {
|
parent.removeChild(refCom[key]);
|
delete refCom[key];
|
}
|
});
|
}
|
}
|
});
|
}
|
static addItems(parameters) {
|
var _a, _b, _c, _d;
|
const itemComponents = CacheService.get("progproperty_item");
|
parameters.menu.itemCount = parameters.progPropertyValueList.length;
|
const isColorPicker = (_a = parameters.currentPropertyValue) == null ? void 0 : _a.key.toLowerCase().startsWith("[dh_ausf");
|
let lastItem = null;
|
for (let ppvI = 0; ppvI < parameters.progPropertyValueList.length; ppvI++) {
|
const progPropertyValueModel = parameters.progPropertyValueList[ppvI];
|
let ppItem = itemComponents[progPropertyValueModel.propertyKey];
|
if (!ppItem) {
|
ppItem = parameters.items.addItem({
|
colorPicker: { type: (_b = progPropertyValueModel.colorPicker) == null ? void 0 : _b.type, code: (_c = progPropertyValueModel.colorPicker) == null ? void 0 : _c.code, rgb: (_d = progPropertyValueModel.colorPicker) == null ? void 0 : _d.rgb },
|
imgUrl: progPropertyValueModel.alternativeImageUrl,
|
name: progPropertyValueModel.name,
|
manufacturer: parameters.manufacturerModel.manufacturerName.toLowerCase(),
|
program: parameters.programModel.programName.toLowerCase(),
|
key: parameters.progPropertyModel.id,
|
property: progPropertyValueModel.key,
|
propertyKey: progPropertyValueModel.propertyKey,
|
containerComponent: parameters.containerComponent
|
});
|
itemComponents[progPropertyValueModel.propertyKey] = ppItem;
|
}
|
if (lastItem && lastItem.nextSibling) {
|
parameters.items.insertBefore(ppItem, lastItem.nextSibling);
|
} else {
|
parameters.items.appendChild(ppItem);
|
}
|
lastItem = ppItem;
|
const itemKeyIndex = parameters.itemKeys.indexOf(progPropertyValueModel.propertyKey);
|
if (itemKeyIndex !== -1)
|
parameters.itemKeys.splice(itemKeyIndex, 1);
|
if (isColorPicker && ppItem.ColorPicker && parameters.currentPropertyValue && parameters.currentValue) {
|
ppItem.ColorPicker.getColorByCode(parameters.currentPropertyValue.key.replace(/\[CP\].*\[CP\]/g, "")).then((imgUrl) => {
|
parameters.menu.currentImage = imgUrl || parameters.menu.currentImage;
|
});
|
}
|
}
|
}
|
}
|
|
export { PPUtilClass };
|