bpm-core 0.0.127 → 0.0.129
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +134 -75
- package/cli/deploy/build.js +62 -0
- package/cli/deploy/git-operations-handler.js +104 -0
- package/cli/deploy/index.js +61 -0
- package/cli/deploy/jenkins-manager.js +107 -0
- package/cli/deploy/utilities.js +114 -0
- package/cli/generate/index.js +8 -0
- package/cli/generate/mock/form-node.js +77 -0
- package/cli/generate/mock/index.js +207 -0
- package/cli/generate/mock/lov.js +18 -0
- package/cli/index.js +14 -0
- package/fesm2022/bpm-core.mjs +32 -41
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/components/shared-components/action-buttons/action-buttons.component.d.ts +1 -1
- package/lib/components/shared-components/form-field/input/input-map-filter/input-filters.d.ts +4 -4
- package/lib/components/shared-components/form-field/input/input-map-filter/types.d.ts +1 -2
- package/lib/components/shared-components/form-field/input/input.component.d.ts +2 -8
- package/lib/components/shared-components/form-field/shared-imports.d.ts +2 -2
- package/lib/testComponent/request-details-section/request-details-section.component.d.ts +2 -2
- package/package.json +4 -1
package/fesm2022/bpm-core.mjs
CHANGED
|
@@ -2861,14 +2861,14 @@ class InputMapFilterDirective {
|
|
|
2861
2861
|
nextValue = currentValue.slice(0, start) + currentValue.slice(end);
|
|
2862
2862
|
}
|
|
2863
2863
|
}
|
|
2864
|
-
this.updateValue(input, '', currentValue, nextValue, caretPos, event
|
|
2864
|
+
this.updateValue(input, '', currentValue, nextValue, caretPos, event);
|
|
2865
2865
|
event.preventDefault();
|
|
2866
2866
|
return false;
|
|
2867
2867
|
}
|
|
2868
2868
|
// Handle normal character input
|
|
2869
2869
|
const char = key;
|
|
2870
2870
|
const nextValue = currentValue.slice(0, start) + char + currentValue.slice(end);
|
|
2871
|
-
this.updateValue(input, char, currentValue, nextValue, start + 1, event
|
|
2871
|
+
this.updateValue(input, char, currentValue, nextValue, start + 1, event);
|
|
2872
2872
|
event.preventDefault();
|
|
2873
2873
|
return false;
|
|
2874
2874
|
}
|
|
@@ -2877,27 +2877,31 @@ class InputMapFilterDirective {
|
|
|
2877
2877
|
return;
|
|
2878
2878
|
const pasted = event.clipboardData?.getData('text') || '';
|
|
2879
2879
|
const input = event.target;
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2880
|
+
for (let char of pasted) {
|
|
2881
|
+
const currentValue = input.value || '';
|
|
2882
|
+
const start = input.selectionStart || 0;
|
|
2883
|
+
const end = input.selectionEnd || 0;
|
|
2884
|
+
const nextValue = currentValue.slice(0, start) + char + currentValue.slice(end);
|
|
2885
|
+
this.updateValue(input, char, currentValue, nextValue, start + 1, event);
|
|
2886
|
+
event.preventDefault();
|
|
2887
|
+
}
|
|
2886
2888
|
}
|
|
2887
2889
|
handleDrop(event) {
|
|
2888
2890
|
if (!this.mapFn && !this.filterFn)
|
|
2889
2891
|
return;
|
|
2890
2892
|
const droppedText = event.dataTransfer?.getData('text') || '';
|
|
2891
2893
|
const input = event.target;
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2894
|
+
for (let char of droppedText) {
|
|
2895
|
+
const currentValue = input.value || '';
|
|
2896
|
+
const start = input.selectionStart || 0;
|
|
2897
|
+
const end = input.selectionEnd || 0;
|
|
2898
|
+
const nextValue = currentValue.slice(0, start) + char + currentValue.slice(end);
|
|
2899
|
+
this.updateValue(input, char, currentValue, nextValue, start + 1, event);
|
|
2900
|
+
event.preventDefault();
|
|
2901
|
+
}
|
|
2898
2902
|
}
|
|
2899
|
-
updateValue(input, char, currentValue, nextValue, caretPos, event
|
|
2900
|
-
if (!this.filterFn || this.filterFn(char, currentValue, nextValue,
|
|
2903
|
+
updateValue(input, char, currentValue, nextValue, caretPos, event) {
|
|
2904
|
+
if (char ? (!this.filterFn || this.filterFn(char, currentValue, nextValue, event)) : true) {
|
|
2901
2905
|
const value = this.mapFn ? this.mapFn(char, currentValue, nextValue) : nextValue;
|
|
2902
2906
|
input.value = value;
|
|
2903
2907
|
if (this.ngControl?.control) {
|
|
@@ -2997,12 +3001,6 @@ class InputComponent extends ControlValueAccessorDirective {
|
|
|
2997
3001
|
* - The full pasted or dropped string during paste/drop
|
|
2998
3002
|
* @param currentValue - The current value of the input before the character or string is applied.
|
|
2999
3003
|
* @param nextValue - The simulated next value if the character or string were applied.
|
|
3000
|
-
* @param keyType - The kind of input interaction:
|
|
3001
|
-
* - `'character'` for printable characters
|
|
3002
|
-
* - `'backspace'` or `'delete'` for those keys
|
|
3003
|
-
* - `'modifier'` for Ctrl/Alt/Meta combinations
|
|
3004
|
-
* - `'non-printable'` for arrows, tab, escape, etc.
|
|
3005
|
-
* - `'null'` for paste/drop (non-keyboard text input)
|
|
3006
3004
|
* @param event - The originating event triggering the input change. This can be a
|
|
3007
3005
|
* `KeyboardEvent` (for typing), `ClipboardEvent` (for paste), or `DragEvent` (for drop).
|
|
3008
3006
|
*
|
|
@@ -3015,8 +3013,8 @@ class InputComponent extends ControlValueAccessorDirective {
|
|
|
3015
3013
|
*
|
|
3016
3014
|
* @example
|
|
3017
3015
|
* // Custom filter: Allow only letters (no numbers or symbols)
|
|
3018
|
-
* this.filterFn = (char, current, next,
|
|
3019
|
-
* return
|
|
3016
|
+
* this.filterFn = (char, current, next, event) => {
|
|
3017
|
+
* return /^[a-zA-Z]+$/.test(char);
|
|
3020
3018
|
* };
|
|
3021
3019
|
*/
|
|
3022
3020
|
filterFn;
|
|
@@ -3078,9 +3076,7 @@ class InputFilters {
|
|
|
3078
3076
|
*
|
|
3079
3077
|
* @returns `true` if the character should be allowed; otherwise, `false`
|
|
3080
3078
|
*/
|
|
3081
|
-
static arabicOnly(char, current, next,
|
|
3082
|
-
if (keyType !== 'character')
|
|
3083
|
-
return true;
|
|
3079
|
+
static arabicOnly(char, current, next, event) {
|
|
3084
3080
|
const additionalCharactersRegex = /^[~`!@#$%^&*()_+=[\]\{}|;':",.\/<>?0-9- ]+$/;
|
|
3085
3081
|
const arabicAlphabetDigits = /[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]|[\u0200]|[\u00A0]/g;
|
|
3086
3082
|
return additionalCharactersRegex.test(char) || arabicAlphabetDigits.test(char);
|
|
@@ -3090,9 +3086,7 @@ class InputFilters {
|
|
|
3090
3086
|
*
|
|
3091
3087
|
* @returns `true` if the character should be allowed; otherwise, `false`
|
|
3092
3088
|
*/
|
|
3093
|
-
static englishOnly(char, current, next,
|
|
3094
|
-
if (keyType !== 'character')
|
|
3095
|
-
return true;
|
|
3089
|
+
static englishOnly(char, current, next, event) {
|
|
3096
3090
|
const additionalCharactersRegex = /^[~`!@#$%^&*()_+=[\]\{}|;':",.\/<>?0-9- ]+$/;
|
|
3097
3091
|
const english = /^[a-zA-Z ]*$/;
|
|
3098
3092
|
return additionalCharactersRegex.test(char) || english.test(char);
|
|
@@ -3102,9 +3096,7 @@ class InputFilters {
|
|
|
3102
3096
|
*
|
|
3103
3097
|
* @returns `true` if the character is a digit; otherwise, `false`
|
|
3104
3098
|
*/
|
|
3105
|
-
static digitsOnly(char, current, next,
|
|
3106
|
-
if (keyType !== 'character')
|
|
3107
|
-
return true;
|
|
3099
|
+
static digitsOnly(char, current, next, event) {
|
|
3108
3100
|
return /^[0-9]+$/.test(char);
|
|
3109
3101
|
}
|
|
3110
3102
|
;
|
|
@@ -3174,9 +3166,7 @@ class PatternBuilder {
|
|
|
3174
3166
|
*/
|
|
3175
3167
|
build() {
|
|
3176
3168
|
const regex = new RegExp(`^[${this.patternParts.join('')}]+$`);
|
|
3177
|
-
return (char, current, next,
|
|
3178
|
-
if (keyType !== 'character')
|
|
3179
|
-
return true;
|
|
3169
|
+
return (char, current, next, event) => {
|
|
3180
3170
|
return regex.test(char);
|
|
3181
3171
|
};
|
|
3182
3172
|
}
|
|
@@ -4437,6 +4427,7 @@ class DocsUploaderComponent extends ControlValueAccessorDirective {
|
|
|
4437
4427
|
removeMulti(index) {
|
|
4438
4428
|
this.displayedFiles.splice(index, 1);
|
|
4439
4429
|
this.allAttachments.splice(index, 1);
|
|
4430
|
+
this.lengthError = this.displayedFiles?.length >= +this.maxLength;
|
|
4440
4431
|
}
|
|
4441
4432
|
downloadFileNew(fileData) {
|
|
4442
4433
|
const fileType = this.getFileType(fileData);
|
|
@@ -4474,7 +4465,7 @@ class DocsUploaderComponent extends ControlValueAccessorDirective {
|
|
|
4474
4465
|
this.uploadValidAndNonDuplicateFile(input, fileData);
|
|
4475
4466
|
}
|
|
4476
4467
|
else {
|
|
4477
|
-
this.allowedFileSize =
|
|
4468
|
+
this.allowedFileSize = +this.filesize < +this.maxSize;
|
|
4478
4469
|
}
|
|
4479
4470
|
input.value = '';
|
|
4480
4471
|
}
|
|
@@ -8271,10 +8262,10 @@ class RequestDetailsSectionComponent {
|
|
|
8271
8262
|
this.pageNumber = event.pageIndex;
|
|
8272
8263
|
this.pageSize = event.pageSize;
|
|
8273
8264
|
}
|
|
8274
|
-
|
|
8275
|
-
|
|
8265
|
+
filterFn = InputFilters.buildPattern().allowEnglishAlphabets().allowDigits().allowSpace().build();
|
|
8266
|
+
mapFn = InputMappers.toUpperCase;
|
|
8276
8267
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: RequestDetailsSectionComponent, deps: [{ token: CoreI18nService }, { token: i4.FormBuilder }, { token: ActionStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8277
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: RequestDetailsSectionComponent, isStandalone: true, selector: "app-request-details-section", inputs: { isReadOnly: "isReadOnly", section: "section", form: "form", lov: "lov", className: "className" }, ngImport: i0, template: "<div>\r\n <form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n <app-input class=\"section-item full\" \r\n [isReadOnly]=\"isReadOnly\" \r\n formControlName=\"test\" \r\n label=\"Input\"\r\n [mapFn]=\"mapFn\"\r\n [filterFn]=\"arOnly\">\r\n </app-input>\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [maxLength]=\"2\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\" [multiple]=\"true\"\r\n [displayedFiles]=\"formGroup.controls.attachment.value\"></app-file-uploader>\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n \r\n <!-- <app-timepicker\r\n label=\"time picker\"\r\n formControlName=\"timePicker\" \r\n [isReadOnly]=\"false\" placeholder=\"Select time\">\r\n </app-timepicker> -->\r\n <!-- <div class=\"table-responsive full\">\r\n <table>\r\n <thead>\r\n <tr>\r\n <th>time</th>\r\n </tr>\r\n </thead>\r\n <tbody formArrayName=\"candidates\">\r\n <tr>\r\n <td>\r\n <app-timepicker\r\n [ngModel]=\"timePicker\" \r\n (ngModelChange)=\"timePickerChange($event)\"\r\n [isReadOnly]=\"false\" placeholder=\"Select time\"\r\n [insideTable]=\"true\">\r\n </app-timepicker>\r\n </td>\r\n </tbody>\r\n </table>\r\n </div> -->\r\n <!-- <app-timepicker\r\n label=\"time picker\"\r\n [(ngModel)]=\"timePicker\" (ngModelChange)=\"timePickerChange($event)\" [ngModelOptions]=\"{standalone: true}\"\r\n placeholder=\"test placeholder\"></app-timepicker> -->\r\n\r\n<!-- {{formGroup.valid}}-->\r\n<!-- <app-input class=\"section-item full\" [isReadOnly]=\"false\" [mandatory]=\"true\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>-->\r\n<!-- <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>-->\r\n <!--\r\n <app-search-employee\r\n class=\"section-item full\"\r\n [multiple]=\"true\"\r\n [arrayList]=\"formGroup.get('searchEmployee').value\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"searchEmployee\"\r\n label=\"Search-employee\"></app-search-employee>\r\n <app-input class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n <app-input-currency class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable\r\n class=\"section-item mb-0 full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"customSearchable\"\r\n label=\"Custom-searchable\"\r\n [options]=\"lov?.['approverActions']?.options\"\r\n [displayedLabel]=\"'name'\"\r\n [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n\r\n <app-date-range-picker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePickerRange\"\r\n label=\"Date-picker-range\"\r\n [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>-->\r\n <!-- <app-toggle-button\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"toggle\"\r\n [options]=\"lov?.['decision']?.options\"\r\n label=\"Toggle-button\"\r\n [displayedLabel]=\"'description'\"\r\n [key]=\"'value'\"></app-toggle-button>-->\r\n <!--<app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [multiple]=\"false\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\"></app-file-uploader>\r\n\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n-->\r\n\r\n\r\n\r\n <!-- <app-table\r\n [columnsConfig]=\"columnsConfig\"\r\n [columns]=\"columns\"\r\n [isError]=\"isError\"\r\n [isLoading]=\"isLoading\"\r\n [rows]=\"categoryData\" [hasPaginator]=\"true\"\r\n [pageSize]=\"pageSize\" [currentPage]=\"pageNumber\"\r\n [totalElements]=\"totalElements\"\r\n (pageChange)=\"pageChanged($event)\"\r\n class=\"new-primary-table full\">\r\n </app-table> -->\r\n\r\n <app-timepicker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"false\"\r\n formControlName=\"test\"\r\n [matSuffix]=\"true\"\r\n label=\"Date-picker\"/>\r\n\r\n\r\n </form>\r\n\r\n\r\n</div>\r\n@if (!section?.header?.readOnly) {\r\n <div class=\"mt-4\">\r\n <lib-action-buttons\r\n [lovOptions]=\"lov?.['decision']?.options\"\r\n [lovType]=\"lov?.['decision']?.type\"\r\n [section]=\"section\"\r\n [form]=\"form\"\r\n [sections]=\"form.sections\"\r\n [showApprovalCycle]=\"true\"\r\n [customCall]=\"false\"\r\n [fieldsForm]=\"formGroup\"\r\n (customCallEmit)=\"customCallSubmit($event)\"\r\n (resetFormEmit)=\"resetForm()\"\r\n />\r\n </div>\r\n}\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}.section-item{margin-bottom:20px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "app-input", inputs: ["floatLabel", "className", "iconPrefixName", "iconSuffixName", "emitedChangedValue1", "mapFn", "filterFn"] }, { kind: "component", type: ActionButtonsComponent, selector: "lib-action-buttons", inputs: ["lovOptions", "lovType", "fieldsForm", "form", "section", "sections", "showApprovalCycle", "customCall"], outputs: ["resetFormEmit", "customCallEmit"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DocsUploaderComponent, selector: "app-file-uploader", inputs: ["useCrop", "formKey", "showLabel", "downloadLink", "showActions", "styleHeight", "fileInputHeight", "styleWidth", "hints", "allowedExtensions", "callApi", "display", "attachType", "error", "displayedFiles", "getDataFromTemplate", "allowFileContentsWithMultiAttachments", "accept", "allAttachments", "signType", "customDownload", "showSignButton", "printType", "showPrintButton", "downloadType", "showDownloadButton", "preventFileContents", "maxSize", "maxLength"], outputs: ["selectedTemplateAttachment", "addSignatureClicked", "printActionClicked", "emitedValue", "downloadActionClicked"] }, { kind: "component", type: AttachmentSectionComponent, selector: "app-attachment-section", inputs: ["className", "customDownload", "attachmentsMax", "isSortable", "downloadAll", "isRequired", "descriptionRequired", "commentsRequired", "allowedExtensions"], outputs: ["downloadActionClicked", "emitedValue"] }, { kind: "component", type: TimepickerComponent, selector: "app-timepicker" }, { kind: "ngmodule", type: FormsModule }] });
|
|
8268
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: RequestDetailsSectionComponent, isStandalone: true, selector: "app-request-details-section", inputs: { isReadOnly: "isReadOnly", section: "section", form: "form", lov: "lov", className: "className" }, ngImport: i0, template: "<div>\r\n <form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n <app-input class=\"section-item full\" \r\n [isReadOnly]=\"isReadOnly\" \r\n formControlName=\"test\" \r\n label=\"Input\"\r\n [filterFn]=\"filterFn\"\r\n [mapFn]=\"mapFn\">\r\n </app-input>\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [maxLength]=\"2\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\" [multiple]=\"true\"\r\n [displayedFiles]=\"formGroup.controls.attachment.value\"></app-file-uploader>\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n \r\n <!-- <app-timepicker\r\n label=\"time picker\"\r\n formControlName=\"timePicker\" \r\n [isReadOnly]=\"false\" placeholder=\"Select time\">\r\n </app-timepicker> -->\r\n <!-- <div class=\"table-responsive full\">\r\n <table>\r\n <thead>\r\n <tr>\r\n <th>time</th>\r\n </tr>\r\n </thead>\r\n <tbody formArrayName=\"candidates\">\r\n <tr>\r\n <td>\r\n <app-timepicker\r\n [ngModel]=\"timePicker\" \r\n (ngModelChange)=\"timePickerChange($event)\"\r\n [isReadOnly]=\"false\" placeholder=\"Select time\"\r\n [insideTable]=\"true\">\r\n </app-timepicker>\r\n </td>\r\n </tbody>\r\n </table>\r\n </div> -->\r\n <!-- <app-timepicker\r\n label=\"time picker\"\r\n [(ngModel)]=\"timePicker\" (ngModelChange)=\"timePickerChange($event)\" [ngModelOptions]=\"{standalone: true}\"\r\n placeholder=\"test placeholder\"></app-timepicker> -->\r\n\r\n<!-- {{formGroup.valid}}-->\r\n<!-- <app-input class=\"section-item full\" [isReadOnly]=\"false\" [mandatory]=\"true\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>-->\r\n<!-- <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>-->\r\n <!--\r\n <app-search-employee\r\n class=\"section-item full\"\r\n [multiple]=\"true\"\r\n [arrayList]=\"formGroup.get('searchEmployee').value\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"searchEmployee\"\r\n label=\"Search-employee\"></app-search-employee>\r\n <app-input class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n <app-input-currency class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable\r\n class=\"section-item mb-0 full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"customSearchable\"\r\n label=\"Custom-searchable\"\r\n [options]=\"lov?.['approverActions']?.options\"\r\n [displayedLabel]=\"'name'\"\r\n [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n\r\n <app-date-range-picker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePickerRange\"\r\n label=\"Date-picker-range\"\r\n [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>-->\r\n <!-- <app-toggle-button\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"toggle\"\r\n [options]=\"lov?.['decision']?.options\"\r\n label=\"Toggle-button\"\r\n [displayedLabel]=\"'description'\"\r\n [key]=\"'value'\"></app-toggle-button>-->\r\n <!--<app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [multiple]=\"false\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\"></app-file-uploader>\r\n\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n-->\r\n\r\n\r\n\r\n <!-- <app-table\r\n [columnsConfig]=\"columnsConfig\"\r\n [columns]=\"columns\"\r\n [isError]=\"isError\"\r\n [isLoading]=\"isLoading\"\r\n [rows]=\"categoryData\" [hasPaginator]=\"true\"\r\n [pageSize]=\"pageSize\" [currentPage]=\"pageNumber\"\r\n [totalElements]=\"totalElements\"\r\n (pageChange)=\"pageChanged($event)\"\r\n class=\"new-primary-table full\">\r\n </app-table> -->\r\n\r\n <app-timepicker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"false\"\r\n formControlName=\"test\"\r\n [matSuffix]=\"true\"\r\n label=\"Date-picker\"/>\r\n\r\n\r\n </form>\r\n\r\n\r\n</div>\r\n@if (!section?.header?.readOnly) {\r\n <div class=\"mt-4\">\r\n <lib-action-buttons\r\n [lovOptions]=\"lov?.['decision']?.options\"\r\n [lovType]=\"lov?.['decision']?.type\"\r\n [section]=\"section\"\r\n [form]=\"form\"\r\n [sections]=\"form.sections\"\r\n [showApprovalCycle]=\"true\"\r\n [customCall]=\"false\"\r\n [fieldsForm]=\"formGroup\"\r\n (customCallEmit)=\"customCallSubmit($event)\"\r\n (resetFormEmit)=\"resetForm()\"\r\n />\r\n </div>\r\n}\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}.section-item{margin-bottom:20px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "app-input", inputs: ["floatLabel", "className", "iconPrefixName", "iconSuffixName", "emitedChangedValue1", "mapFn", "filterFn"] }, { kind: "component", type: ActionButtonsComponent, selector: "lib-action-buttons", inputs: ["lovOptions", "lovType", "fieldsForm", "form", "section", "sections", "showApprovalCycle", "customCall"], outputs: ["resetFormEmit", "customCallEmit"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DocsUploaderComponent, selector: "app-file-uploader", inputs: ["useCrop", "formKey", "showLabel", "downloadLink", "showActions", "styleHeight", "fileInputHeight", "styleWidth", "hints", "allowedExtensions", "callApi", "display", "attachType", "error", "displayedFiles", "getDataFromTemplate", "allowFileContentsWithMultiAttachments", "accept", "allAttachments", "signType", "customDownload", "showSignButton", "printType", "showPrintButton", "downloadType", "showDownloadButton", "preventFileContents", "maxSize", "maxLength"], outputs: ["selectedTemplateAttachment", "addSignatureClicked", "printActionClicked", "emitedValue", "downloadActionClicked"] }, { kind: "component", type: AttachmentSectionComponent, selector: "app-attachment-section", inputs: ["className", "customDownload", "attachmentsMax", "isSortable", "downloadAll", "isRequired", "descriptionRequired", "commentsRequired", "allowedExtensions"], outputs: ["downloadActionClicked", "emitedValue"] }, { kind: "component", type: TimepickerComponent, selector: "app-timepicker" }, { kind: "ngmodule", type: FormsModule }] });
|
|
8278
8269
|
}
|
|
8279
8270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: RequestDetailsSectionComponent, decorators: [{
|
|
8280
8271
|
type: Component,
|
|
@@ -8303,7 +8294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
|
|
|
8303
8294
|
FormsModule,
|
|
8304
8295
|
InputMaskComponent,
|
|
8305
8296
|
MultiselectComponent
|
|
8306
|
-
], template: "<div>\r\n <form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n <app-input class=\"section-item full\" \r\n [isReadOnly]=\"isReadOnly\" \r\n formControlName=\"test\" \r\n label=\"Input\"\r\n [
|
|
8297
|
+
], template: "<div>\r\n <form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n <app-input class=\"section-item full\" \r\n [isReadOnly]=\"isReadOnly\" \r\n formControlName=\"test\" \r\n label=\"Input\"\r\n [filterFn]=\"filterFn\"\r\n [mapFn]=\"mapFn\">\r\n </app-input>\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [maxLength]=\"2\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\" [multiple]=\"true\"\r\n [displayedFiles]=\"formGroup.controls.attachment.value\"></app-file-uploader>\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n \r\n <!-- <app-timepicker\r\n label=\"time picker\"\r\n formControlName=\"timePicker\" \r\n [isReadOnly]=\"false\" placeholder=\"Select time\">\r\n </app-timepicker> -->\r\n <!-- <div class=\"table-responsive full\">\r\n <table>\r\n <thead>\r\n <tr>\r\n <th>time</th>\r\n </tr>\r\n </thead>\r\n <tbody formArrayName=\"candidates\">\r\n <tr>\r\n <td>\r\n <app-timepicker\r\n [ngModel]=\"timePicker\" \r\n (ngModelChange)=\"timePickerChange($event)\"\r\n [isReadOnly]=\"false\" placeholder=\"Select time\"\r\n [insideTable]=\"true\">\r\n </app-timepicker>\r\n </td>\r\n </tbody>\r\n </table>\r\n </div> -->\r\n <!-- <app-timepicker\r\n label=\"time picker\"\r\n [(ngModel)]=\"timePicker\" (ngModelChange)=\"timePickerChange($event)\" [ngModelOptions]=\"{standalone: true}\"\r\n placeholder=\"test placeholder\"></app-timepicker> -->\r\n\r\n<!-- {{formGroup.valid}}-->\r\n<!-- <app-input class=\"section-item full\" [isReadOnly]=\"false\" [mandatory]=\"true\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>-->\r\n<!-- <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>-->\r\n <!--\r\n <app-search-employee\r\n class=\"section-item full\"\r\n [multiple]=\"true\"\r\n [arrayList]=\"formGroup.get('searchEmployee').value\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"searchEmployee\"\r\n label=\"Search-employee\"></app-search-employee>\r\n <app-input class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n <app-input-currency class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable\r\n class=\"section-item mb-0 full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"customSearchable\"\r\n label=\"Custom-searchable\"\r\n [options]=\"lov?.['approverActions']?.options\"\r\n [displayedLabel]=\"'name'\"\r\n [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n\r\n <app-date-range-picker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePickerRange\"\r\n label=\"Date-picker-range\"\r\n [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>-->\r\n <!-- <app-toggle-button\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"toggle\"\r\n [options]=\"lov?.['decision']?.options\"\r\n label=\"Toggle-button\"\r\n [displayedLabel]=\"'description'\"\r\n [key]=\"'value'\"></app-toggle-button>-->\r\n <!--<app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [multiple]=\"false\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\"></app-file-uploader>\r\n\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n-->\r\n\r\n\r\n\r\n <!-- <app-table\r\n [columnsConfig]=\"columnsConfig\"\r\n [columns]=\"columns\"\r\n [isError]=\"isError\"\r\n [isLoading]=\"isLoading\"\r\n [rows]=\"categoryData\" [hasPaginator]=\"true\"\r\n [pageSize]=\"pageSize\" [currentPage]=\"pageNumber\"\r\n [totalElements]=\"totalElements\"\r\n (pageChange)=\"pageChanged($event)\"\r\n class=\"new-primary-table full\">\r\n </app-table> -->\r\n\r\n <app-timepicker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"false\"\r\n formControlName=\"test\"\r\n [matSuffix]=\"true\"\r\n label=\"Date-picker\"/>\r\n\r\n\r\n </form>\r\n\r\n\r\n</div>\r\n@if (!section?.header?.readOnly) {\r\n <div class=\"mt-4\">\r\n <lib-action-buttons\r\n [lovOptions]=\"lov?.['decision']?.options\"\r\n [lovType]=\"lov?.['decision']?.type\"\r\n [section]=\"section\"\r\n [form]=\"form\"\r\n [sections]=\"form.sections\"\r\n [showApprovalCycle]=\"true\"\r\n [customCall]=\"false\"\r\n [fieldsForm]=\"formGroup\"\r\n (customCallEmit)=\"customCallSubmit($event)\"\r\n (resetFormEmit)=\"resetForm()\"\r\n />\r\n </div>\r\n}\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}.section-item{margin-bottom:20px}\n"] }]
|
|
8307
8298
|
}], ctorParameters: () => [{ type: CoreI18nService }, { type: i4.FormBuilder }, { type: ActionStateService }], propDecorators: { isReadOnly: [{
|
|
8308
8299
|
type: Input
|
|
8309
8300
|
}], section: [{
|