UNPKG

@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
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