@koalarx/ui
Version:
Koala UI is a Design System developed in Angular whose objective is to facilitate and make your development faster and simpler, making this framework your greatest ally.
57 lines • 9.39 kB
JavaScript
import { DynamicFormTypeFieldEnum } from "../../enums/dynamic-form-type-field.enum";
import { BehaviorSubject } from "rxjs";
import { DynamicFormBuilder } from "../dynamic-form.builder";
export class MoreItemsBuilder {
constructor(label, name, btnAddLabel, min, max, formConfig, fb, deviceService) {
this.label = label;
this.name = name;
this.btnAddLabel = btnAddLabel;
this.min = min;
this.max = max;
this.formConfig = formConfig;
this.fb = fb;
this.deviceService = deviceService;
}
build() {
let getLastConfig = (this.formConfig.formConfig.length > 0) ?
this.formConfig.formConfig[this.formConfig.formConfig.length - 1] :
null;
this.fieldConfig = {
label: this.label,
name: this.name,
type: DynamicFormTypeFieldEnum.moreItems,
moreItemsIconBackgroundColor: '#fff',
moreItemsIconFontColor: '#212121',
moreItemsMinItems: this.min,
moreItemsMaxItems: this.max,
moreItemsButtonIconAddlabel: this.btnAddLabel,
moreItemsConfig: {
form: this.fb.group({}),
formConfig: [],
setValues: new BehaviorSubject([])
}
};
if (getLastConfig?.type === DynamicFormTypeFieldEnum.moreItems && getLastConfig?.name !== 'endMoreItems') {
let formConfigMoreItems = getLastConfig.moreItemsConfig.formConfig;
if (formConfigMoreItems.length > 0) {
let lastIndexMoreItems = 0;
formConfigMoreItems.forEach((item, index) => {
if (item.type === DynamicFormTypeFieldEnum.moreItems)
lastIndexMoreItems = index;
});
formConfigMoreItems[lastIndexMoreItems].moreItemsConfig.formConfig.push(this.fieldConfig);
}
else {
this.formConfig.formConfig[this.formConfig.formConfig.length - 1].moreItemsConfig.formConfig.push(this.fieldConfig);
}
}
else {
if (getLastConfig?.name === 'endMoreItems') {
this.formConfig.formConfig.splice(this.formConfig.formConfig.length - 1, 1);
}
this.formConfig.formConfig.push(this.fieldConfig);
}
return new DynamicFormBuilder(this.fb, this.deviceService, this.formConfig.formConfig);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1pdGVtcy5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9idWlsZGVyL2ZpZWxkcy9tb3JlLWl0ZW1zLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQ1UsS0FBYSxFQUNiLElBQVksRUFDWixXQUFtQixFQUNuQixHQUFXLEVBQ1gsR0FBVyxFQUNYLFVBQTJDLEVBQzNDLEVBQXNCLEVBQ3RCLGFBQW9DO1FBUHBDLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxlQUFVLEdBQVYsVUFBVSxDQUFpQztRQUMzQyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFFOUMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQztRQUVQLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxTQUFTO1lBQ3hDLDRCQUE0QixFQUFFLE1BQU07WUFDcEMsc0JBQXNCLEVBQUUsU0FBUztZQUNqQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsR0FBRztZQUMzQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsR0FBRztZQUMzQiwyQkFBMkIsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QyxlQUFlLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsU0FBUyxFQUFFLElBQUksZUFBZSxDQUFxRCxFQUFFLENBQUM7YUFDdkY7U0FDRixDQUFDO1FBRUYsSUFBSSxhQUFhLEVBQUUsSUFBSSxLQUFLLHdCQUF3QixDQUFDLFNBQVMsSUFBSSxhQUFhLEVBQUUsSUFBSSxLQUFLLGNBQWMsRUFBRTtZQUN4RyxJQUFJLG1CQUFtQixHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUMsVUFBOEMsQ0FBQztZQUN2RyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2xDLElBQUksa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQzFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyx3QkFBd0IsQ0FBQyxTQUFTO3dCQUFFLGtCQUFrQixHQUFHLEtBQUssQ0FBQztnQkFDbkYsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDM0Y7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNySDtTQUNGO2FBQU07WUFDTCxJQUFJLGFBQWEsRUFBRSxJQUFJLEtBQUssY0FBYyxFQUFFO2dCQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM3RTtZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQzNCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0gfSBmcm9tIFwiLi4vLi4vZW51bXMvZHluYW1pYy1mb3JtLXR5cGUtZmllbGQuZW51bVwiO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgS29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLXNldC12YWx1ZS5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEtvYWxhRHluYW1pY0Zvcm1GaWVsZEludGVyZmFjZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL2tvYWxhLmR5bmFtaWMtZm9ybS1maWVsZC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEtvYWxhRHluYW1pY0Zvcm1Db25maWdJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tY29uZmlnLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSBcIm5neC1kZXZpY2UtZGV0ZWN0b3JcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtQnVpbGRlciB9IGZyb20gXCIuLi9keW5hbWljLWZvcm0uYnVpbGRlclwiO1xuXG5leHBvcnQgY2xhc3MgTW9yZUl0ZW1zQnVpbGRlciB7XG4gIHByaXZhdGUgZmllbGRDb25maWc6IEtvYWxhRHluYW1pY0Zvcm1GaWVsZEludGVyZmFjZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxhYmVsOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBuYW1lOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBidG5BZGRMYWJlbDogc3RyaW5nLFxuICAgIHByaXZhdGUgbWluOiBudW1iZXIsXG4gICAgcHJpdmF0ZSBtYXg6IG51bWJlcixcbiAgICBwcml2YXRlIGZvcm1Db25maWc6IEtvYWxhRHluYW1pY0Zvcm1Db25maWdJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBidWlsZCgpIHtcbiAgICBsZXQgZ2V0TGFzdENvbmZpZyA9ICh0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5sZW5ndGggPiAwKSA/XG4gICAgICB0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZ1t0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5sZW5ndGggLSAxXSA6XG4gICAgICBudWxsO1xuXG4gICAgdGhpcy5maWVsZENvbmZpZyA9IHtcbiAgICAgIGxhYmVsOiB0aGlzLmxhYmVsLFxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgdHlwZTogRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLm1vcmVJdGVtcyxcbiAgICAgIG1vcmVJdGVtc0ljb25CYWNrZ3JvdW5kQ29sb3I6ICcjZmZmJyxcbiAgICAgIG1vcmVJdGVtc0ljb25Gb250Q29sb3I6ICcjMjEyMTIxJyxcbiAgICAgIG1vcmVJdGVtc01pbkl0ZW1zOiB0aGlzLm1pbixcbiAgICAgIG1vcmVJdGVtc01heEl0ZW1zOiB0aGlzLm1heCxcbiAgICAgIG1vcmVJdGVtc0J1dHRvbkljb25BZGRsYWJlbDogdGhpcy5idG5BZGRMYWJlbCxcbiAgICAgIG1vcmVJdGVtc0NvbmZpZzoge1xuICAgICAgICBmb3JtOiB0aGlzLmZiLmdyb3VwKHt9KSxcbiAgICAgICAgZm9ybUNvbmZpZzogW10sXG4gICAgICAgIHNldFZhbHVlczogbmV3IEJlaGF2aW9yU3ViamVjdDxCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXT5bXT4oW10pXG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChnZXRMYXN0Q29uZmlnPy50eXBlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0ubW9yZUl0ZW1zICYmIGdldExhc3RDb25maWc/Lm5hbWUgIT09ICdlbmRNb3JlSXRlbXMnKSB7XG4gICAgICBsZXQgZm9ybUNvbmZpZ01vcmVJdGVtcyA9IGdldExhc3RDb25maWcubW9yZUl0ZW1zQ29uZmlnLmZvcm1Db25maWcgYXMgS29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlW107XG4gICAgICBpZiAoZm9ybUNvbmZpZ01vcmVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBsYXN0SW5kZXhNb3JlSXRlbXMgPSAwO1xuICAgICAgICBmb3JtQ29uZmlnTW9yZUl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLm1vcmVJdGVtcykgbGFzdEluZGV4TW9yZUl0ZW1zID0gaW5kZXg7XG4gICAgICAgIH0pO1xuICAgICAgICBmb3JtQ29uZmlnTW9yZUl0ZW1zW2xhc3RJbmRleE1vcmVJdGVtc10ubW9yZUl0ZW1zQ29uZmlnLmZvcm1Db25maWcucHVzaCh0aGlzLmZpZWxkQ29uZmlnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbmZpZy5mb3JtQ29uZmlnW3RoaXMuZm9ybUNvbmZpZy5mb3JtQ29uZmlnLmxlbmd0aCAtIDFdLm1vcmVJdGVtc0NvbmZpZy5mb3JtQ29uZmlnLnB1c2godGhpcy5maWVsZENvbmZpZyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChnZXRMYXN0Q29uZmlnPy5uYW1lID09PSAnZW5kTW9yZUl0ZW1zJykge1xuICAgICAgICB0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5zcGxpY2UodGhpcy5mb3JtQ29uZmlnLmZvcm1Db25maWcubGVuZ3RoIC0gMSwgMSk7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm1Db25maWcuZm9ybUNvbmZpZy5wdXNoKHRoaXMuZmllbGRDb25maWcpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRHluYW1pY0Zvcm1CdWlsZGVyKFxuICAgICAgdGhpcy5mYixcbiAgICAgIHRoaXMuZGV2aWNlU2VydmljZSxcbiAgICAgIHRoaXMuZm9ybUNvbmZpZy5mb3JtQ29uZmlnXG4gICAgKTtcbiAgfVxufVxuIl19