ngx-render-material-forms 1.4.9 → 1.5.0
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/esm2020/lib/components/add-on-products/add-on-products.component.mjs +329 -0
- package/esm2020/lib/components/button/button.component.mjs +15 -11
- package/esm2020/lib/components/common.service.mjs +85 -0
- package/esm2020/lib/components/datagrid/datagrid.component.mjs +223 -19
- package/esm2020/lib/components/select/select.component.mjs +4 -30
- package/esm2020/lib/ngx-render-material-forms.module.mjs +16 -6
- package/fesm2015/ngx-render-material-forms.js +651 -65
- package/fesm2015/ngx-render-material-forms.mjs.map +1 -1
- package/fesm2020/ngx-render-material-forms.js +642 -65
- package/fesm2020/ngx-render-material-forms.mjs.map +1 -1
- package/lib/components/add-on-products/add-on-products.component.d.ts +76 -0
- package/lib/components/button/button.component.d.ts +6 -0
- package/lib/components/common.service.d.ts +23 -0
- package/lib/components/datagrid/datagrid.component.d.ts +21 -1
- package/lib/components/select/select.component.d.ts +0 -2
- package/lib/ngx-render-material-forms.module.d.ts +29 -27
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Component, Input, ViewChild, ViewContainerRef, ViewChildren, EventEmitter, Output, forwardRef, Directive, Inject, Optional, NgModule } from '@angular/core';
|
|
3
|
-
import * as i1$
|
|
3
|
+
import * as i1$2 from '@angular/common/http';
|
|
4
4
|
import { HttpHeaders, HttpClientModule } from '@angular/common/http';
|
|
5
5
|
import * as i1 from '@angular/common';
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
7
7
|
import * as i2 from '@angular/forms';
|
|
8
|
-
import { FormControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
import { FormControl, NG_VALUE_ACCESSOR, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
9
9
|
import * as i4$2 from '@angular/material/input';
|
|
10
10
|
import { MAT_INPUT_VALUE_ACCESSOR, MatInputModule } from '@angular/material/input';
|
|
11
11
|
import * as i3$2 from '@angular/material/button';
|
|
@@ -27,18 +27,20 @@ import * as i4 from '@angular/material/card';
|
|
|
27
27
|
import { MatCardModule } from '@angular/material/card';
|
|
28
28
|
import * as i2$2 from '@angular/material/tabs';
|
|
29
29
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
30
|
-
import * as
|
|
30
|
+
import * as i10 from '@angular/material/table';
|
|
31
31
|
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|
32
32
|
import * as i5$2 from '@angular/material/datepicker';
|
|
33
33
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
34
|
-
import * as
|
|
34
|
+
import * as i11 from '@angular/material/progress-spinner';
|
|
35
35
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
36
36
|
import * as i4$1 from '@angular/material/icon';
|
|
37
37
|
import { MatIconModule } from '@angular/material/icon';
|
|
38
38
|
import * as i5$1 from '@angular/material/core';
|
|
39
39
|
import { MatNativeDateModule } from '@angular/material/core';
|
|
40
|
-
import * as i1$
|
|
40
|
+
import * as i1$1 from '@angular/material/dialog';
|
|
41
41
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
42
|
+
import * as i14 from '@angular/material/autocomplete';
|
|
43
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
42
44
|
import Webform from 'formiojs/Webform.js';
|
|
43
45
|
import FormioComponent$2 from 'formiojs/components/_classes/component/Component.js';
|
|
44
46
|
import TextFieldComponent from 'formiojs/components/textfield/TextField.js';
|
|
@@ -81,23 +83,24 @@ import RadioComponent from 'formiojs/components/radio/Radio.js';
|
|
|
81
83
|
import SelectBoxesComponent from 'formiojs/components/selectboxes/SelectBoxes.js';
|
|
82
84
|
import SelectComponent from 'formiojs/components/select/Select.js';
|
|
83
85
|
import { Subject } from 'rxjs';
|
|
84
|
-
import { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
86
|
+
import { debounceTime, distinctUntilChanged, takeUntil, startWith, map } from 'rxjs/operators';
|
|
85
87
|
import * as CryptoJS from 'crypto-js';
|
|
86
88
|
import { isNullOrUndefined } from 'util';
|
|
87
89
|
import * as i9 from 'ngx-mat-select-search';
|
|
88
90
|
import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
|
|
89
91
|
import WellComponent from 'formiojs/components/well/Well.js';
|
|
90
92
|
import DataGridComponent from 'formiojs/components/datagrid/DataGrid.js';
|
|
91
|
-
import * as
|
|
93
|
+
import * as i9$1 from '@angular/cdk/drag-drop';
|
|
92
94
|
import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
95
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
96
|
+
import * as i13 from '@angular/material/stepper';
|
|
97
|
+
import { MatStepperModule } from '@angular/material/stepper';
|
|
93
98
|
import EditGridComponent from 'formiojs/components/editgrid/EditGrid.js';
|
|
94
99
|
import Components$2 from 'formiojs/components/Components';
|
|
95
100
|
import isString from 'lodash/isString';
|
|
96
101
|
import TableComponent from 'formiojs/components/table/Table.js';
|
|
97
102
|
import Wizard from 'formiojs/Wizard';
|
|
98
103
|
import Displays from 'formiojs/displays/Displays';
|
|
99
|
-
import * as i3$3 from '@angular/material/stepper';
|
|
100
|
-
import { MatStepperModule } from '@angular/material/stepper';
|
|
101
104
|
import * as i1$3 from '@formio/angular';
|
|
102
105
|
import { FormioBaseComponent } from '@formio/angular';
|
|
103
106
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
@@ -976,8 +979,11 @@ var AngularButtonsThemes;
|
|
|
976
979
|
})(AngularButtonsThemes || (AngularButtonsThemes = {}));
|
|
977
980
|
|
|
978
981
|
class MaterialButtonComponent extends MaterialComponent {
|
|
979
|
-
constructor() {
|
|
980
|
-
super(
|
|
982
|
+
constructor(element, ref, dialog) {
|
|
983
|
+
super(element, ref);
|
|
984
|
+
this.element = element;
|
|
985
|
+
this.ref = ref;
|
|
986
|
+
this.dialog = dialog;
|
|
981
987
|
this.loading = false;
|
|
982
988
|
this.done = false;
|
|
983
989
|
this.error = false;
|
|
@@ -1048,12 +1054,12 @@ class MaterialButtonComponent extends MaterialComponent {
|
|
|
1048
1054
|
return retVal;
|
|
1049
1055
|
}
|
|
1050
1056
|
}
|
|
1051
|
-
MaterialButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialButtonComponent, deps:
|
|
1052
|
-
MaterialButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialButtonComponent, selector: "mat-formio-button", usesInheritance: true, ngImport: i0, template: "<button *ngIf=\"instance\"\r\n [ngClass]=\"buttonClass\"\r\n type=\"{{ instance.component.action }}\"\r\n mat-raised-button [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n (click)=\"instance.onClick($event)\"\r\n>\r\n <mat-icon *ngIf=\"instance.component.leftIcon\">{{instance.component.leftIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"done\">done</mat-icon>\r\n <mat-icon *ngIf=\"error\">close</mat-icon>\r\n <mat-icon class=\"mat-icon-spin\" *ngIf=\"loading\">autorenew</mat-icon>\r\n {{ instance.component.label }}\r\n <mat-icon *ngIf=\"instance.component.rightIcon\">{{instance.component.rightIcon}}</mat-icon>\r\n</button>\r\n", styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host .mat-icon-spin{-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mat-formio-theme-success{background-color:#63d644!important}.mat-formio-theme-info{background-color:#49d9f4!important}.mat-formio-button-sm{font-size:14px;padding:8px 12px}.mat-formio-button-xs{font-size:14px;padding:4px 6px}.mat-formio-button-md{font-size:15px;padding:8px 12px}.mat-formio-button-lg{font-size:19px;padding:16px 20px}.mat-formio-button-block{display:block;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
|
|
1057
|
+
MaterialButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
1058
|
+
MaterialButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialButtonComponent, selector: "mat-formio-button", usesInheritance: true, ngImport: i0, template: "<button *ngIf=\"instance && instance.component.label != 'Click to add Products'\"\r\n [ngClass]=\"buttonClass\"\r\n type=\"{{ instance.component.action }}\"\r\n mat-raised-button [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n (click)=\"instance.onClick($event)\"\r\n>\r\n\r\n\r\n <mat-icon *ngIf=\"instance.component.leftIcon\">{{instance.component.leftIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"done\">done</mat-icon>\r\n <mat-icon *ngIf=\"error\">close</mat-icon>\r\n <mat-icon class=\"mat-icon-spin\" *ngIf=\"loading\">autorenew</mat-icon>\r\n {{ instance.component.label }}\r\n <mat-icon *ngIf=\"instance.component.rightIcon\">{{instance.component.rightIcon}}</mat-icon>\r\n</button>\r\n", styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host .mat-icon-spin{-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mat-formio-theme-success{background-color:#63d644!important}.mat-formio-theme-info{background-color:#49d9f4!important}.mat-formio-button-sm{font-size:14px;padding:8px 12px}.mat-formio-button-xs{font-size:14px;padding:4px 6px}.mat-formio-button-md{font-size:15px;padding:8px 12px}.mat-formio-button-lg{font-size:19px;padding:16px 20px}.mat-formio-button-block{display:block;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
|
|
1053
1059
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialButtonComponent, decorators: [{
|
|
1054
1060
|
type: Component,
|
|
1055
|
-
args: [{ selector: 'mat-formio-button', template: "<button *ngIf=\"instance\"\r\n [ngClass]=\"buttonClass\"\r\n type=\"{{ instance.component.action }}\"\r\n mat-raised-button [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n (click)=\"instance.onClick($event)\"\r\n>\r\n <mat-icon *ngIf=\"instance.component.leftIcon\">{{instance.component.leftIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"done\">done</mat-icon>\r\n <mat-icon *ngIf=\"error\">close</mat-icon>\r\n <mat-icon class=\"mat-icon-spin\" *ngIf=\"loading\">autorenew</mat-icon>\r\n {{ instance.component.label }}\r\n <mat-icon *ngIf=\"instance.component.rightIcon\">{{instance.component.rightIcon}}</mat-icon>\r\n</button>\r\n", styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host .mat-icon-spin{-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mat-formio-theme-success{background-color:#63d644!important}.mat-formio-theme-info{background-color:#49d9f4!important}.mat-formio-button-sm{font-size:14px;padding:8px 12px}.mat-formio-button-xs{font-size:14px;padding:4px 6px}.mat-formio-button-md{font-size:15px;padding:8px 12px}.mat-formio-button-lg{font-size:19px;padding:16px 20px}.mat-formio-button-block{display:block;width:100%}\n"] }]
|
|
1056
|
-
}] });
|
|
1061
|
+
args: [{ selector: 'mat-formio-button', template: "<button *ngIf=\"instance && instance.component.label != 'Click to add Products'\"\r\n [ngClass]=\"buttonClass\"\r\n type=\"{{ instance.component.action }}\"\r\n mat-raised-button [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n (click)=\"instance.onClick($event)\"\r\n>\r\n\r\n\r\n <mat-icon *ngIf=\"instance.component.leftIcon\">{{instance.component.leftIcon}}</mat-icon>\r\n <mat-icon *ngIf=\"done\">done</mat-icon>\r\n <mat-icon *ngIf=\"error\">close</mat-icon>\r\n <mat-icon class=\"mat-icon-spin\" *ngIf=\"loading\">autorenew</mat-icon>\r\n {{ instance.component.label }}\r\n <mat-icon *ngIf=\"instance.component.rightIcon\">{{instance.component.rightIcon}}</mat-icon>\r\n</button>\r\n", styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host .mat-icon-spin{-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mat-formio-theme-success{background-color:#63d644!important}.mat-formio-theme-info{background-color:#49d9f4!important}.mat-formio-button-sm{font-size:14px;padding:8px 12px}.mat-formio-button-xs{font-size:14px;padding:4px 6px}.mat-formio-button-md{font-size:15px;padding:8px 12px}.mat-formio-button-lg{font-size:19px;padding:16px 20px}.mat-formio-button-block{display:block;width:100%}\n"] }]
|
|
1062
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.MatDialog }]; } });
|
|
1057
1063
|
ButtonComponent.MaterialComponent = MaterialButtonComponent;
|
|
1058
1064
|
|
|
1059
1065
|
class MaterialTextareaComponent extends MaterialComponent {
|
|
@@ -2751,7 +2757,7 @@ class MaterialSelectComponent extends MaterialComponent {
|
|
|
2751
2757
|
if (this.instance.component.key.toLowerCase() === 'vendorproductid') {
|
|
2752
2758
|
this.selectElem.openedChange.subscribe((isOpen) => {
|
|
2753
2759
|
if (isOpen) {
|
|
2754
|
-
this.pageNumber =
|
|
2760
|
+
this.pageNumber = 2;
|
|
2755
2761
|
this.pageSize = 20;
|
|
2756
2762
|
this.searchQuery = '';
|
|
2757
2763
|
this.searching = false;
|
|
@@ -2810,37 +2816,11 @@ class MaterialSelectComponent extends MaterialComponent {
|
|
|
2810
2816
|
});
|
|
2811
2817
|
this.filteredOptions = this.selectOptions;
|
|
2812
2818
|
}
|
|
2813
|
-
isError() {
|
|
2814
|
-
if (this.instance.error) {
|
|
2815
|
-
this.control.setErrors(this.instance.component.validate);
|
|
2816
|
-
return true;
|
|
2817
|
-
}
|
|
2818
|
-
else {
|
|
2819
|
-
return false;
|
|
2820
|
-
}
|
|
2821
|
-
}
|
|
2822
|
-
getErrorMessage() {
|
|
2823
|
-
if (this.instance.error && this.instance.error.messages) {
|
|
2824
|
-
const { messages } = this.instance.error;
|
|
2825
|
-
if (messages.length) {
|
|
2826
|
-
for (const msg of messages) {
|
|
2827
|
-
if (msg.context) {
|
|
2828
|
-
if (this.instance && this.instance.parent && this.instance.parent._data) {
|
|
2829
|
-
if (this.instance.parent._data.submit) {
|
|
2830
|
-
this.control.markAllAsTouched();
|
|
2831
|
-
}
|
|
2832
|
-
}
|
|
2833
|
-
return this.instance.error ? this.instance.error.message : '';
|
|
2834
|
-
}
|
|
2835
|
-
}
|
|
2836
|
-
}
|
|
2837
|
-
}
|
|
2838
|
-
}
|
|
2839
2819
|
compareObjects(o1, o2) {
|
|
2840
2820
|
return _.isEqual(o1, o2);
|
|
2841
2821
|
}
|
|
2842
2822
|
}
|
|
2843
|
-
MaterialSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialSelectComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$
|
|
2823
|
+
MaterialSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialSelectComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
2844
2824
|
MaterialSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialSelectComponent, selector: "mat-formio-select", viewQueries: [{ propertyName: "multiSelect", first: true, predicate: ["multiSelect"], descendants: true, static: true }, { propertyName: "selectElem", first: true, predicate: ["productSelect"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
2845
2825
|
<mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
|
|
2846
2826
|
<ng-template #componentTemplate let-hasLabel>
|
|
@@ -2878,7 +2858,7 @@ MaterialSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
2878
2858
|
<span *ngIf="instance.component.suffix" matSuffix>
|
|
2879
2859
|
{{ instance.component.suffix }}
|
|
2880
2860
|
</span>
|
|
2881
|
-
|
|
2861
|
+
<mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
|
|
2882
2862
|
</mat-form-field>
|
|
2883
2863
|
</ng-template>
|
|
2884
2864
|
`, isInline: true, styles: [".example-viewport{height:200px}.product-picker{overflow-x:hidden}.virtual-full-view{height:auto!important;white-space:normal!important;line-height:1.4!important;text-overflow:initial!important;min-height:48px!important;overflow:visible!important;overflow:initial!important;padding-top:10px!important;padding-bottom:10px!important}::ng-deep .product-picker .cdk-virtual-scroll-content-wrapper{width:100%!important}.virtual-full-view .mat-pseudo-checkbox{align-self:top!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i4$3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: i9.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "indexAndLengthScreenReaderText", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toogleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i9.MatSelectSearchClearDirective, selector: "[ngxMatSelectSearchClear]" }, { kind: "component", type: FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
@@ -2921,11 +2901,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
2921
2901
|
<span *ngIf="instance.component.suffix" matSuffix>
|
|
2922
2902
|
{{ instance.component.suffix }}
|
|
2923
2903
|
</span>
|
|
2924
|
-
|
|
2904
|
+
<mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
|
|
2925
2905
|
</mat-form-field>
|
|
2926
2906
|
</ng-template>
|
|
2927
2907
|
`, styles: [".example-viewport{height:200px}.product-picker{overflow-x:hidden}.virtual-full-view{height:auto!important;white-space:normal!important;line-height:1.4!important;text-overflow:initial!important;min-height:48px!important;overflow:visible!important;overflow:initial!important;padding-top:10px!important;padding-bottom:10px!important}::ng-deep .product-picker .cdk-virtual-scroll-content-wrapper{width:100%!important}.virtual-full-view .mat-pseudo-checkbox{align-self:top!important}\n"] }]
|
|
2928
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$
|
|
2908
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$2.HttpClient }]; }, propDecorators: { multiSelect: [{
|
|
2929
2909
|
type: ViewChild,
|
|
2930
2910
|
args: ['multiSelect', { static: true }]
|
|
2931
2911
|
}], selectElem: [{
|
|
@@ -2984,32 +2964,477 @@ class ConfirmationDialogComponent {
|
|
|
2984
2964
|
ngOnInit() {
|
|
2985
2965
|
}
|
|
2986
2966
|
}
|
|
2987
|
-
ConfirmationDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: i1$
|
|
2988
|
-
ConfirmationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: ConfirmationDialogComponent, selector: "NgxMat-confirmation-dialog", ngImport: i0, template: "<div class=\"dialog-container\">\r\n<h2 mat-dialog-title class=\"data-grid-alert\">Alert</h2>\r\n<mat-dialog-content class=\"data-grid-popup-body\">\r\n {{data.message}}\r\n</mat-dialog-content>\r\n<mat-dialog-actions class=\"data-grid-popup-footer\">\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"warn\" *ngIf=\"data.buttonStatus\">Delete</button>\r\n <button mat-button [mat-dialog-close]=\"false\" [ngClass]=\"{'data-grid-closed-btn': !data.buttonStatus}\">{{data.buttonStatus ? 'Cancel': 'Close'}}</button>\r\n</mat-dialog-actions>\r\n</div>", styles: ["::ng-deep .data-grid-closed-btn .mat-button-focus-overlay{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i1$
|
|
2967
|
+
ConfirmationDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: i1$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
2968
|
+
ConfirmationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: ConfirmationDialogComponent, selector: "NgxMat-confirmation-dialog", ngImport: i0, template: "<div class=\"dialog-container\">\r\n<h2 mat-dialog-title class=\"data-grid-alert\">Alert</h2>\r\n<mat-dialog-content class=\"data-grid-popup-body\">\r\n {{data.message}}\r\n</mat-dialog-content>\r\n<mat-dialog-actions class=\"data-grid-popup-footer\">\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"warn\" *ngIf=\"data.buttonStatus\">Delete</button>\r\n <button mat-button [mat-dialog-close]=\"false\" [ngClass]=\"{'data-grid-closed-btn': !data.buttonStatus}\">{{data.buttonStatus ? 'Cancel': 'Close'}}</button>\r\n</mat-dialog-actions>\r\n</div>", styles: ["::ng-deep .data-grid-closed-btn .mat-button-focus-overlay{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i1$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] });
|
|
2989
2969
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
|
|
2990
2970
|
type: Component,
|
|
2991
2971
|
args: [{ selector: 'NgxMat-confirmation-dialog', template: "<div class=\"dialog-container\">\r\n<h2 mat-dialog-title class=\"data-grid-alert\">Alert</h2>\r\n<mat-dialog-content class=\"data-grid-popup-body\">\r\n {{data.message}}\r\n</mat-dialog-content>\r\n<mat-dialog-actions class=\"data-grid-popup-footer\">\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"warn\" *ngIf=\"data.buttonStatus\">Delete</button>\r\n <button mat-button [mat-dialog-close]=\"false\" [ngClass]=\"{'data-grid-closed-btn': !data.buttonStatus}\">{{data.buttonStatus ? 'Cancel': 'Close'}}</button>\r\n</mat-dialog-actions>\r\n</div>", styles: ["::ng-deep .data-grid-closed-btn .mat-button-focus-overlay{background-color:transparent}\n"] }]
|
|
2992
2972
|
}], ctorParameters: function () {
|
|
2993
|
-
return [{ type: i1$
|
|
2973
|
+
return [{ type: i1$1.MatDialogRef }, { type: undefined, decorators: [{
|
|
2994
2974
|
type: Inject,
|
|
2995
2975
|
args: [MAT_DIALOG_DATA]
|
|
2996
2976
|
}] }];
|
|
2997
2977
|
} });
|
|
2998
2978
|
|
|
2979
|
+
class CommonService {
|
|
2980
|
+
constructor(http) {
|
|
2981
|
+
this.http = http;
|
|
2982
|
+
this.holy = '';
|
|
2983
|
+
this.grail = '';
|
|
2984
|
+
this.holy = CryptoJS.enc.Base64.parse('8F/2+T2NXqUBQERR12R4sw==');
|
|
2985
|
+
this.grail = CryptoJS.enc.Base64.parse('yE0CgQbYzK5wqeoKTVzhOQ==');
|
|
2986
|
+
this.paramsData = JSON.parse(localStorage.getItem('productPickerParams'));
|
|
2987
|
+
this.currentUser = JSON.parse(localStorage.getItem('currentUser'));
|
|
2988
|
+
}
|
|
2989
|
+
scrumble(msg) {
|
|
2990
|
+
if (!isNullOrUndefined(msg)) {
|
|
2991
|
+
var conceal = this.getcampaign(msg, this.holy, this.grail);
|
|
2992
|
+
var sha256 = CryptoJS.HmacSHA256(CryptoJS.enc.Base64.stringify(this.grail) + conceal.toString(), CryptoJS.enc.Base64.stringify(this.holy));
|
|
2993
|
+
var hashInBase64 = CryptoJS.enc.Base64.stringify(sha256);
|
|
2994
|
+
let keyValue = {
|
|
2995
|
+
"value": conceal.toString(),
|
|
2996
|
+
"mac": hashInBase64
|
|
2997
|
+
};
|
|
2998
|
+
var result = JSON.stringify(keyValue);
|
|
2999
|
+
var jumbled = CryptoJS.enc.Utf8.parse(result);
|
|
3000
|
+
return CryptoJS.enc.Base64.stringify(jumbled);
|
|
3001
|
+
}
|
|
3002
|
+
}
|
|
3003
|
+
getcampaign(data, holy, grail) {
|
|
3004
|
+
return CryptoJS.AES.encrypt(data.toString(), holy, {
|
|
3005
|
+
blockSize: 128,
|
|
3006
|
+
iv: grail,
|
|
3007
|
+
mode: CryptoJS.mode.CBC,
|
|
3008
|
+
padding: CryptoJS.pad.Pkcs7
|
|
3009
|
+
});
|
|
3010
|
+
}
|
|
3011
|
+
getBaseApiUrl() {
|
|
3012
|
+
const baseUrlMapping = {
|
|
3013
|
+
'localhost': 'http://localhost:58504',
|
|
3014
|
+
'lincoln.vartopia.com': 'https://lincoln-api.vartopia.com',
|
|
3015
|
+
'stage.vartopia.com': 'https://stage-api.vartopia.com',
|
|
3016
|
+
'my.vartopia.com': 'https://reagan-api.vartopia.com',
|
|
3017
|
+
'jackson.vartopia.com': 'https://jackson-api.vartopia.com'
|
|
3018
|
+
};
|
|
3019
|
+
// Get the current hostname
|
|
3020
|
+
const hostname = window.location.hostname;
|
|
3021
|
+
return baseUrlMapping[hostname] || null;
|
|
3022
|
+
}
|
|
3023
|
+
listProductCategory() {
|
|
3024
|
+
const vendorId = this.getValueByKey(this.paramsData, 'vendorId');
|
|
3025
|
+
const baseApiUrl = this.getBaseApiUrl();
|
|
3026
|
+
return this.http.get(`${baseApiUrl}/api/VendorFormBuilder/GetProductsCategory?vendorId=${vendorId}`);
|
|
3027
|
+
}
|
|
3028
|
+
listSubCategory(category) {
|
|
3029
|
+
const vendorId = this.getValueByKey(this.paramsData, 'vendorId');
|
|
3030
|
+
const baseApiUrl = this.getBaseApiUrl();
|
|
3031
|
+
return this.http.get(`${baseApiUrl}/api/VendorFormBuilder/GetProductsSubCategory?vendorId=${vendorId}&categoryName=${category}`);
|
|
3032
|
+
}
|
|
3033
|
+
// Function to get value by key from the array
|
|
3034
|
+
getValueByKey(data, key) {
|
|
3035
|
+
if (!data || data.length === 0) {
|
|
3036
|
+
return null; // Return null if data is empty or undefined
|
|
3037
|
+
}
|
|
3038
|
+
const item = data.find(kv => kv.key.toLowerCase() === key.toLowerCase());
|
|
3039
|
+
return item ? item.value : null;
|
|
3040
|
+
}
|
|
3041
|
+
// this.http.get<VendorProductsResponse>(`${baseApiUrl}/api/VendorFormBuilder/GetVendorProducts?vendorId=${envendorId}&pageNumber=${enpageNumber}&pageSize=${enpageSize}&search=${ensearchQuery}&onlyActive=${enactive}&includeDescription=${endescription}`, { headers }).subscribe(response => {
|
|
3042
|
+
loadProducts(pageNumber, pazeSize, search = '', onlyActive = true, description = false, category, subCategory) {
|
|
3043
|
+
const baseApiUrl = this.getBaseApiUrl();
|
|
3044
|
+
const vendorId = this.getValueByKey(this.paramsData, 'vendorId');
|
|
3045
|
+
const encodeCat = encodeURIComponent(category);
|
|
3046
|
+
const encodeSubCat = encodeURIComponent(subCategory);
|
|
3047
|
+
return this.http.get(`${baseApiUrl}/api/VendorFormBuilder/GetVendorProducts?vendorId=${vendorId}&pageNumber=${pageNumber}&pageSize=${pazeSize}&search=${search}&onlyActive=${onlyActive}&includeDescription=${description}&category=${encodeCat}&subCategory=${encodeSubCat}`);
|
|
3048
|
+
}
|
|
3049
|
+
}
|
|
3050
|
+
CommonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CommonService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3051
|
+
CommonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CommonService, providedIn: 'root' });
|
|
3052
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CommonService, decorators: [{
|
|
3053
|
+
type: Injectable,
|
|
3054
|
+
args: [{
|
|
3055
|
+
providedIn: 'root'
|
|
3056
|
+
}]
|
|
3057
|
+
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }]; } });
|
|
3058
|
+
|
|
3059
|
+
class AddOnProductsComponent {
|
|
3060
|
+
constructor(matDialogRef, data, fb, dialog, commonSevice) {
|
|
3061
|
+
this.matDialogRef = matDialogRef;
|
|
3062
|
+
this.fb = fb;
|
|
3063
|
+
this.dialog = dialog;
|
|
3064
|
+
this.commonSevice = commonSevice;
|
|
3065
|
+
this.category = [];
|
|
3066
|
+
this.subCategory = [];
|
|
3067
|
+
this.filteredCategories = [];
|
|
3068
|
+
this.filteredSubCategories = [];
|
|
3069
|
+
this.addProductsColumns = ['select', 'productName', 'price'];
|
|
3070
|
+
this.showAllproductsColumns = ['delete', 'productName', 'categoryName', 'subCategory', 'Quantity', 'price'];
|
|
3071
|
+
this.quantityList = [5, 10, 15, 20, 25];
|
|
3072
|
+
this.ELEMENT_DATA = [];
|
|
3073
|
+
this.dataSource = new MatTableDataSource();
|
|
3074
|
+
this.selection = new SelectionModel(true, []);
|
|
3075
|
+
this.selectedDataSource = new MatTableDataSource([]);
|
|
3076
|
+
this.selectedCategory = null;
|
|
3077
|
+
this.selectedSubCategory = null;
|
|
3078
|
+
this.showCategory = false;
|
|
3079
|
+
this.showSubcategory = false;
|
|
3080
|
+
this.showPrice = true;
|
|
3081
|
+
this.showQuantity = true;
|
|
3082
|
+
this.showNewProductPicker = true;
|
|
3083
|
+
this.setCategory = '';
|
|
3084
|
+
this.setSubCategory = '';
|
|
3085
|
+
this.loadingFlag = false;
|
|
3086
|
+
this.pageNumber = 1;
|
|
3087
|
+
this.pageSize = 20;
|
|
3088
|
+
this.totalPages = 0;
|
|
3089
|
+
this.searchQuery = '';
|
|
3090
|
+
this.itemList = [];
|
|
3091
|
+
this.prevScrollPosition = 0; // Track the previous scroll position
|
|
3092
|
+
this.spinnerFlag = false;
|
|
3093
|
+
this.showCategory = data.attributesFlag.showCategory;
|
|
3094
|
+
this.showSubcategory = data.attributesFlag.showSubcategory;
|
|
3095
|
+
this.showPrice = data.attributesFlag.showPrice;
|
|
3096
|
+
this.showQuantity = data.attributesFlag.showQuantity;
|
|
3097
|
+
this.showNewProductPicker = data.showNewProductPicker;
|
|
3098
|
+
this.setCategory = data.category || '';
|
|
3099
|
+
this.setSubCategory = data.subCategory || '';
|
|
3100
|
+
this.selection = new SelectionModel(true, data.selectedProducts || []);
|
|
3101
|
+
this.form = this.fb.group({
|
|
3102
|
+
productCategory: [''],
|
|
3103
|
+
productSubcategory: [''],
|
|
3104
|
+
selectedProducts: this.fb.array([])
|
|
3105
|
+
});
|
|
3106
|
+
this.initializeFormArray();
|
|
3107
|
+
if (!this.showCategory) {
|
|
3108
|
+
this.removeColumn('categoryName');
|
|
3109
|
+
}
|
|
3110
|
+
if (!this.showPrice) {
|
|
3111
|
+
this.removeColumn('price');
|
|
3112
|
+
}
|
|
3113
|
+
if (!this.showSubcategory) {
|
|
3114
|
+
this.removeColumn('subCategory');
|
|
3115
|
+
}
|
|
3116
|
+
if (!this.showQuantity) {
|
|
3117
|
+
this.removeColumn('Quantity');
|
|
3118
|
+
}
|
|
3119
|
+
}
|
|
3120
|
+
removeColumn(columnName) {
|
|
3121
|
+
this.showAllproductsColumns = this.showAllproductsColumns.filter(column => column !== columnName);
|
|
3122
|
+
this.addProductsColumns = this.addProductsColumns.filter(column => column !== columnName);
|
|
3123
|
+
}
|
|
3124
|
+
initializeFormArray() {
|
|
3125
|
+
const selectedProductsArray = this.form.get('selectedProducts');
|
|
3126
|
+
this.selection.selected.forEach(product => {
|
|
3127
|
+
selectedProductsArray.push(this.fb.group({
|
|
3128
|
+
price: [product.price || '', Validators.required],
|
|
3129
|
+
text: [product.text || ''],
|
|
3130
|
+
quantity: [product.quantity || '', Validators.required],
|
|
3131
|
+
category: [(product === null || product === void 0 ? void 0 : product.category) || ''],
|
|
3132
|
+
subCategory: [(product === null || product === void 0 ? void 0 : product.subCategory) || ''],
|
|
3133
|
+
value: [(product === null || product === void 0 ? void 0 : product.value) || '']
|
|
3134
|
+
}));
|
|
3135
|
+
});
|
|
3136
|
+
this.selectedDataSource.data = [...this.selection.selected];
|
|
3137
|
+
}
|
|
3138
|
+
initializeDataSources() {
|
|
3139
|
+
var _a, _b, _c, _d;
|
|
3140
|
+
// Ensure selected items are marked in the main data source
|
|
3141
|
+
if ((_b = (_a = this.selection) === null || _a === void 0 ? void 0 : _a.selected) === null || _b === void 0 ? void 0 : _b.length) {
|
|
3142
|
+
(_d = (_c = this.selection) === null || _c === void 0 ? void 0 : _c.selected) === null || _d === void 0 ? void 0 : _d.forEach(selectedProduct => {
|
|
3143
|
+
const index = this.dataSource.data.findIndex(product => product.value === selectedProduct.value);
|
|
3144
|
+
if (index >= 0) {
|
|
3145
|
+
this.dataSource.data[index] = selectedProduct;
|
|
3146
|
+
}
|
|
3147
|
+
});
|
|
3148
|
+
this.selectedDataSource.data = [...this.selection.selected];
|
|
3149
|
+
}
|
|
3150
|
+
else {
|
|
3151
|
+
console.warn('No selected products found.');
|
|
3152
|
+
}
|
|
3153
|
+
}
|
|
3154
|
+
ngAfterViewInit() {
|
|
3155
|
+
}
|
|
3156
|
+
ngOnInit() {
|
|
3157
|
+
this.loadProductCategory();
|
|
3158
|
+
this.form.get('productCategory').valueChanges
|
|
3159
|
+
.pipe(startWith(''), map(value => this.filterProducts(value, 'category1'))).subscribe(filterCat => {
|
|
3160
|
+
this.filteredCategories = filterCat;
|
|
3161
|
+
});
|
|
3162
|
+
this.form.get('productSubcategory').valueChanges
|
|
3163
|
+
.pipe(startWith(''), map(value => this.filterProducts(value, 'subCategory'))).subscribe(subCat => {
|
|
3164
|
+
this.filteredSubCategories = subCat;
|
|
3165
|
+
});
|
|
3166
|
+
}
|
|
3167
|
+
loadProductCategory() {
|
|
3168
|
+
this.spinnerFlag = true;
|
|
3169
|
+
this.commonSevice.listProductCategory().subscribe(response => {
|
|
3170
|
+
this.spinnerFlag = false;
|
|
3171
|
+
if (response && response.code === 200) {
|
|
3172
|
+
this.category = response.data;
|
|
3173
|
+
this.filteredCategories = this.filterProducts(this.setCategory, 'category1');
|
|
3174
|
+
this.form.get('productCategory').setValue(this.setCategory);
|
|
3175
|
+
if (this.setCategory !== '') {
|
|
3176
|
+
this.onOptionSelected(this.setCategory, 'category1');
|
|
3177
|
+
this.form.get('productSubcategory').setValue(this.setSubCategory);
|
|
3178
|
+
}
|
|
3179
|
+
}
|
|
3180
|
+
});
|
|
3181
|
+
}
|
|
3182
|
+
filterProducts(value, cat) {
|
|
3183
|
+
const filterValue = value.toLowerCase();
|
|
3184
|
+
const data = cat === 'category1' ? this.category : this.subCategory;
|
|
3185
|
+
if (!filterValue) {
|
|
3186
|
+
return data;
|
|
3187
|
+
}
|
|
3188
|
+
else {
|
|
3189
|
+
return data.filter(option => option.toLowerCase().includes(filterValue));
|
|
3190
|
+
}
|
|
3191
|
+
}
|
|
3192
|
+
onSubmit() {
|
|
3193
|
+
if (this.form.valid) {
|
|
3194
|
+
this.matDialogRef.close({
|
|
3195
|
+
data: {
|
|
3196
|
+
status: true,
|
|
3197
|
+
items: this.form.value
|
|
3198
|
+
}
|
|
3199
|
+
});
|
|
3200
|
+
}
|
|
3201
|
+
}
|
|
3202
|
+
isAllSelected() {
|
|
3203
|
+
const numSelected = this.selection.selected.length;
|
|
3204
|
+
const numRows = this.dataSource.data.length;
|
|
3205
|
+
return numSelected === numRows;
|
|
3206
|
+
}
|
|
3207
|
+
isIndeterminate() {
|
|
3208
|
+
const numSelected = this.selection.selected.length;
|
|
3209
|
+
const numRows = this.dataSource.data.length;
|
|
3210
|
+
return numSelected > 0 && numSelected < numRows;
|
|
3211
|
+
}
|
|
3212
|
+
masterToggle() {
|
|
3213
|
+
this.isAllSelected()
|
|
3214
|
+
? this.selection.clear()
|
|
3215
|
+
: this.dataSource.data.forEach(row => this.selection.select(row));
|
|
3216
|
+
this.updateSelectedProducts();
|
|
3217
|
+
}
|
|
3218
|
+
toggleSelection(row) {
|
|
3219
|
+
this.selection.toggle(row);
|
|
3220
|
+
this.updateSelectedProducts();
|
|
3221
|
+
}
|
|
3222
|
+
// Getter for the FormArray
|
|
3223
|
+
get selectedProducts() {
|
|
3224
|
+
return this.form.get('selectedProducts');
|
|
3225
|
+
}
|
|
3226
|
+
updateSelectedProducts() {
|
|
3227
|
+
var _a, _b;
|
|
3228
|
+
if (Array.isArray(this.selection.selected)) {
|
|
3229
|
+
this.selectedDataSource.data = [...this.selection.selected];
|
|
3230
|
+
const selectedProductsArray = this.selectedProducts;
|
|
3231
|
+
selectedProductsArray.clear();
|
|
3232
|
+
(_b = (_a = this.selection) === null || _a === void 0 ? void 0 : _a.selected) === null || _b === void 0 ? void 0 : _b.forEach(product => {
|
|
3233
|
+
var _a, _b;
|
|
3234
|
+
selectedProductsArray === null || selectedProductsArray === void 0 ? void 0 : selectedProductsArray.push(this.fb.group({
|
|
3235
|
+
price: [(_a = product === null || product === void 0 ? void 0 : product.price) !== null && _a !== void 0 ? _a : '', this.showPrice ? Validators.required : []],
|
|
3236
|
+
text: [(product === null || product === void 0 ? void 0 : product.text) || ''],
|
|
3237
|
+
quantity: [(_b = product === null || product === void 0 ? void 0 : product.quantity) !== null && _b !== void 0 ? _b : '', this.showQuantity ? Validators.required : []],
|
|
3238
|
+
category: [(product === null || product === void 0 ? void 0 : product.category) || ''],
|
|
3239
|
+
subCategory: [(product === null || product === void 0 ? void 0 : product.subCategory) || ''],
|
|
3240
|
+
value: [(product === null || product === void 0 ? void 0 : product.value) || '']
|
|
3241
|
+
}));
|
|
3242
|
+
});
|
|
3243
|
+
}
|
|
3244
|
+
else {
|
|
3245
|
+
console.error('Selection.selected is not an array:', this.selection.selected);
|
|
3246
|
+
}
|
|
3247
|
+
}
|
|
3248
|
+
getTotalRows() {
|
|
3249
|
+
return this.dataSource.data.length;
|
|
3250
|
+
}
|
|
3251
|
+
getSelectedRowsCount() {
|
|
3252
|
+
return this.selection.selected.length;
|
|
3253
|
+
}
|
|
3254
|
+
onOptionSelected(event, category) {
|
|
3255
|
+
let selectedValue;
|
|
3256
|
+
if (event && event.option && event.option.value !== undefined) {
|
|
3257
|
+
selectedValue = event.option.value;
|
|
3258
|
+
}
|
|
3259
|
+
else {
|
|
3260
|
+
selectedValue = event;
|
|
3261
|
+
}
|
|
3262
|
+
if (category === 'category1') {
|
|
3263
|
+
this.selectedCategory = selectedValue;
|
|
3264
|
+
this.spinnerFlag = true;
|
|
3265
|
+
this.commonSevice.listSubCategory(selectedValue).subscribe(response => {
|
|
3266
|
+
this.spinnerFlag = false;
|
|
3267
|
+
if (response && response.code === 200) {
|
|
3268
|
+
this.subCategory = response.data;
|
|
3269
|
+
this.filteredSubCategories = this.filterProducts(this.setCategory, 'subCategory');
|
|
3270
|
+
if (this.setSubCategory !== '') {
|
|
3271
|
+
this.selectedSubCategory = this.setSubCategory;
|
|
3272
|
+
this.getProducts();
|
|
3273
|
+
}
|
|
3274
|
+
}
|
|
3275
|
+
});
|
|
3276
|
+
}
|
|
3277
|
+
else {
|
|
3278
|
+
if (category === 'subCategory') {
|
|
3279
|
+
this.selectedSubCategory = event.option.value;
|
|
3280
|
+
this.getProducts();
|
|
3281
|
+
}
|
|
3282
|
+
}
|
|
3283
|
+
}
|
|
3284
|
+
getProducts() {
|
|
3285
|
+
this.spinnerFlag = true;
|
|
3286
|
+
this.commonSevice.loadProducts(this.pageNumber, this.pageSize, '', true, false, this.selectedCategory, this.selectedSubCategory).subscribe(response => {
|
|
3287
|
+
var _a;
|
|
3288
|
+
this.spinnerFlag = false;
|
|
3289
|
+
if (response && response.code === 200) {
|
|
3290
|
+
//this.dataSource.data = response.data.dataSource;
|
|
3291
|
+
this.totalPages = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.totalPages;
|
|
3292
|
+
const data = response.data.dataSource;
|
|
3293
|
+
if (this.dataSource.data.length > 0) {
|
|
3294
|
+
data.forEach(item => this.dataSource.data.push(item));
|
|
3295
|
+
this.dataSource.data = [...this.dataSource.data];
|
|
3296
|
+
}
|
|
3297
|
+
else {
|
|
3298
|
+
this.dataSource.data = data;
|
|
3299
|
+
}
|
|
3300
|
+
this.loadingFlag = true;
|
|
3301
|
+
setTimeout(() => {
|
|
3302
|
+
const middlePosition = this.trackHeight / 2 - 50;
|
|
3303
|
+
if (this.firstscrollableDiv && this.firstscrollableDiv.nativeElement) {
|
|
3304
|
+
this.firstscrollableDiv.nativeElement.scrollTo({ top: middlePosition, behavior: 'auto' });
|
|
3305
|
+
}
|
|
3306
|
+
}, 250);
|
|
3307
|
+
this.initializeDataSources();
|
|
3308
|
+
}
|
|
3309
|
+
});
|
|
3310
|
+
}
|
|
3311
|
+
removeRow(event, element) {
|
|
3312
|
+
event.stopPropagation();
|
|
3313
|
+
event.preventDefault();
|
|
3314
|
+
let message = 'Are you sure you want to delete this product?';
|
|
3315
|
+
let showButton = true;
|
|
3316
|
+
const index = this.selectedDataSource.data.indexOf(element);
|
|
3317
|
+
if (index >= 0) {
|
|
3318
|
+
if (this.selectedDataSource.data.length === 1) {
|
|
3319
|
+
message = 'Please select at least one product.';
|
|
3320
|
+
showButton = false;
|
|
3321
|
+
}
|
|
3322
|
+
const dialogRef = this.dialog.open(ConfirmationDialogComponent, {
|
|
3323
|
+
disableClose: true,
|
|
3324
|
+
width: '90%',
|
|
3325
|
+
maxWidth: '400px',
|
|
3326
|
+
data: { message: message, buttonStatus: showButton }
|
|
3327
|
+
});
|
|
3328
|
+
dialogRef.afterClosed().subscribe(result => {
|
|
3329
|
+
if (result) {
|
|
3330
|
+
this.selectedDataSource.data.splice(index, 1);
|
|
3331
|
+
this.selectedDataSource._updateChangeSubscription();
|
|
3332
|
+
this.selection.deselect(element);
|
|
3333
|
+
const selectedProductsArray = this.form.get('selectedProducts');
|
|
3334
|
+
const productIndex = selectedProductsArray.controls.findIndex(control => control.value.productName === element.productName);
|
|
3335
|
+
if (productIndex >= 0) {
|
|
3336
|
+
selectedProductsArray.removeAt(productIndex);
|
|
3337
|
+
}
|
|
3338
|
+
}
|
|
3339
|
+
});
|
|
3340
|
+
}
|
|
3341
|
+
}
|
|
3342
|
+
onScroll(event) {
|
|
3343
|
+
this.trackHeight = event.target.scrollHeight - event.target.offsetHeight;
|
|
3344
|
+
if (this.loadingFlag && (Math.floor(event.target.scrollTop / this.trackHeight * 100) > 50)) {
|
|
3345
|
+
this.loadingFlag = false;
|
|
3346
|
+
if (this.pageNumber < this.totalPages) {
|
|
3347
|
+
this.pageNumber = this.pageNumber + 1;
|
|
3348
|
+
this.getProducts();
|
|
3349
|
+
}
|
|
3350
|
+
else {
|
|
3351
|
+
this.loadingFlag = true;
|
|
3352
|
+
}
|
|
3353
|
+
}
|
|
3354
|
+
this.prevScrollPosition = event.target.scrollTop;
|
|
3355
|
+
}
|
|
3356
|
+
}
|
|
3357
|
+
AddOnProductsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AddOnProductsComponent, deps: [{ token: i1$1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }, { token: i1$1.MatDialog }, { token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3358
|
+
AddOnProductsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: AddOnProductsComponent, selector: "ngx-mat-add-on-products", viewQueries: [{ propertyName: "firstscrollableDiv", first: true, predicate: ["firstscrollableDiv"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"spinnerFlag\" class=\"OverlayDiv\">\r\n <div class=\"OverlayDivContent\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n</div>\r\n<div class=\"product-selector\">\r\n <mat-stepper labelPosition=\"bottom\" #stepper>\r\n <mat-step [stepControl]=\"form\">\r\n <form [formGroup]=\"form\">\r\n <ng-template matStepLabel>Select Products</ng-template>\r\n <div class=\"dropdown-selection\">\r\n <div class=\"row-one\">\r\n <mat-form-field>\r\n <mat-label>Product Category</mat-label>\r\n <input type=\"text\" matInput formControlName=\"productCategory\" [matAutocomplete]=\"auto3\">\r\n <mat-autocomplete #auto3=\"matAutocomplete\"\r\n (optionSelected)=\"onOptionSelected($event, 'category1')\">\r\n <mat-option *ngFor=\"let option of filteredCategories\"\r\n [value]=\"option\">{{option}}</mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field> \r\n\r\n <mat-form-field>\r\n <mat-label>Subcategory</mat-label>\r\n <input type=\"text\" matInput formControlName=\"productSubcategory\" [matAutocomplete]=\"auto4\">\r\n <mat-autocomplete #auto4=\"matAutocomplete\"\r\n (optionSelected)=\"onOptionSelected($event, 'subCategory')\">\r\n <mat-option *ngFor=\"let option of filteredSubCategories\"\r\n [value]=\"option\">{{option}}</mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div #firstscrollableDiv id=\"firstscrollableDiv\" class=\"new-class mat-elevation-z8 first-div\" (scroll)=\"onScroll($event)\">\r\n <table mat-table [dataSource]=\"dataSource\" class=\"mat-table abc\"\r\n *ngIf=\"dataSource && dataSource.data.length > 0; else noData\">\r\n <ng-container matColumnDef=\"select\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <!-- <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"isAllSelected()\"\r\n [indeterminate]=\"isIndeterminate()\"></mat-checkbox> -->\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox color=\"primary\" (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? toggleSelection(row) : null\"\r\n [checked]=\"selection.isSelected(row)\"></mat-checkbox>\r\n </td> \r\n </ng-container> \r\n\r\n <ng-container matColumnDef=\"productName\">\r\n <th mat-header-cell *matHeaderCellDef> Product Name </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.text}} </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"price\" *ngIf=\"showPrice\">\r\n <th mat-header-cell *matHeaderCellDef> Price </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.price}} </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"addProductsColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: addProductsColumns;\"></tr>\r\n </table>\r\n <ng-template #noData>\r\n <div class=\"no-data-message\">\r\n No data found.\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"row-summary\">\r\n <p>Rows: {{ getTotalRows() }} Selected: {{ getSelectedRowsCount() }}</p>\r\n </div>\r\n <div>\r\n <button mat-button [mat-dialog-close]=\"false\">Close</button>\r\n <button mat-button matStepperNext [disabled]=\"selection.selected.length ? false : true\">Next</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <mat-step [stepControl]=\"form\">\r\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\r\n <ng-template matStepLabel>Edit/Save</ng-template>\r\n <div class=\"new-class mat-elevation-z8\">\r\n <table mat-table [dataSource]=\"selectedDataSource\"\r\n *ngIf=\"selectedDataSource && selectedDataSource.data.length > 0; else showBlank\">\r\n <ng-container matColumnDef=\"delete\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-button (click)=\"$event.stopPropagation();removeRow($event, element)\">\r\n <mat-icon aria-hidden=\"false\" aria-label=\"Remove row\">delete</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"productName\">\r\n <th mat-header-cell *matHeaderCellDef> Product Name </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.text}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"categoryName\" *ngIf=\"showCategory\">\r\n <th mat-header-cell *matHeaderCellDef> Category Name </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.category}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"subCategory\" *ngIf=\"subCategory\">\r\n <th mat-header-cell *matHeaderCellDef>Sub Category </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.subCategory}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"price\" *ngIf=\"showPrice\">\r\n <th mat-header-cell *matHeaderCellDef>Price</th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">\r\n <mat-form-field class=\"example-full-width select-price\">\r\n <mat-label>Price</mat-label>\r\n <input matInput [formControl]=\"selectedProducts.at(i).get('price')\"\r\n placeholder=\"Please enter price\">\r\n <mat-error *ngIf=\"selectedProducts.at(i).get('price').hasError('required')\">\r\n Price is required\r\n </mat-error>\r\n </mat-form-field>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"Quantity\" *ngIf=\"showQuantity\">\r\n <th mat-header-cell *matHeaderCellDef> Quantity </th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">\r\n <mat-form-field class=\"example-full-width select-qunatity\">\r\n <mat-label>Select quantity</mat-label>\r\n <input matInput [formControl]=\"selectedProducts.at(i).get('quantity')\"\r\n placeholder=\"Please enter quantity\">\r\n <mat-error *ngIf=\"selectedProducts.at(i).get('quantity').hasError('required')\">\r\n Quantity is required\r\n </mat-error>\r\n </mat-form-field>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"showAllproductsColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: showAllproductsColumns;\"></tr>\r\n </table>\r\n <ng-template #showBlank>\r\n <div class=\"no-data-message\">\r\n No data found.\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div>\r\n <button mat-button matStepperPrevious>Back</button>\r\n <button mat-button matStepperNext type=\"submit\">Add products</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n</mat-stepper>\r\n</div>", styles: [".dropdown-section{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}mat-form-field{flex:1}.new-class.mat-elevation-z8{margin-top:20px;max-height:350px;overflow-y:auto;margin-bottom:20px}.mat-column-select{width:50px;text-align:center}.mat-header-cell,.mat-cell{text-align:center}button{align-self:flex-end;margin-top:20px}.row-summary{margin-top:20px;font-weight:700}.new-class td{border:1px solid #ddd;padding:10px}.new-class th{background-color:#f2f2f2;position:-webkit-sticky;position:sticky;top:0;transform:none;z-index:99;padding:10px}table{width:100%;border-collapse:collapse}.select-qunatity,.select-price{width:110px}.no-data-message{text-align:center;margin:20px 0;font-size:18px;color:#888}.mat-step-header.cdk-keyboard-focused,mat-step-header.cdk-program-focused,.mat-step-header:hover:not([aria-disabled]),.mat-step-header:hover[aria-disabled=false]{background-color:transparent}.OverlayDiv{position:fixed;display:block;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:500;cursor:pointer}.OverlayDivContent{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4$5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i10.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i10.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i10.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i10.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i10.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i10.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i10.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i10.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i10.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i10.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i11.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i13.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i13.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i13.MatStepperNext, selector: "button[matStepperNext]", inputs: ["type"] }, { kind: "directive", type: i13.MatStepperPrevious, selector: "button[matStepperPrevious]", inputs: ["type"] }, { kind: "directive", type: i1$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i14.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i14.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }] });
|
|
3359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AddOnProductsComponent, decorators: [{
|
|
3360
|
+
type: Component,
|
|
3361
|
+
args: [{ selector: 'ngx-mat-add-on-products', template: "<div *ngIf=\"spinnerFlag\" class=\"OverlayDiv\">\r\n <div class=\"OverlayDivContent\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n</div>\r\n<div class=\"product-selector\">\r\n <mat-stepper labelPosition=\"bottom\" #stepper>\r\n <mat-step [stepControl]=\"form\">\r\n <form [formGroup]=\"form\">\r\n <ng-template matStepLabel>Select Products</ng-template>\r\n <div class=\"dropdown-selection\">\r\n <div class=\"row-one\">\r\n <mat-form-field>\r\n <mat-label>Product Category</mat-label>\r\n <input type=\"text\" matInput formControlName=\"productCategory\" [matAutocomplete]=\"auto3\">\r\n <mat-autocomplete #auto3=\"matAutocomplete\"\r\n (optionSelected)=\"onOptionSelected($event, 'category1')\">\r\n <mat-option *ngFor=\"let option of filteredCategories\"\r\n [value]=\"option\">{{option}}</mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field> \r\n\r\n <mat-form-field>\r\n <mat-label>Subcategory</mat-label>\r\n <input type=\"text\" matInput formControlName=\"productSubcategory\" [matAutocomplete]=\"auto4\">\r\n <mat-autocomplete #auto4=\"matAutocomplete\"\r\n (optionSelected)=\"onOptionSelected($event, 'subCategory')\">\r\n <mat-option *ngFor=\"let option of filteredSubCategories\"\r\n [value]=\"option\">{{option}}</mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div #firstscrollableDiv id=\"firstscrollableDiv\" class=\"new-class mat-elevation-z8 first-div\" (scroll)=\"onScroll($event)\">\r\n <table mat-table [dataSource]=\"dataSource\" class=\"mat-table abc\"\r\n *ngIf=\"dataSource && dataSource.data.length > 0; else noData\">\r\n <ng-container matColumnDef=\"select\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <!-- <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"isAllSelected()\"\r\n [indeterminate]=\"isIndeterminate()\"></mat-checkbox> -->\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox color=\"primary\" (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? toggleSelection(row) : null\"\r\n [checked]=\"selection.isSelected(row)\"></mat-checkbox>\r\n </td> \r\n </ng-container> \r\n\r\n <ng-container matColumnDef=\"productName\">\r\n <th mat-header-cell *matHeaderCellDef> Product Name </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.text}} </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"price\" *ngIf=\"showPrice\">\r\n <th mat-header-cell *matHeaderCellDef> Price </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.price}} </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"addProductsColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: addProductsColumns;\"></tr>\r\n </table>\r\n <ng-template #noData>\r\n <div class=\"no-data-message\">\r\n No data found.\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"row-summary\">\r\n <p>Rows: {{ getTotalRows() }} Selected: {{ getSelectedRowsCount() }}</p>\r\n </div>\r\n <div>\r\n <button mat-button [mat-dialog-close]=\"false\">Close</button>\r\n <button mat-button matStepperNext [disabled]=\"selection.selected.length ? false : true\">Next</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <mat-step [stepControl]=\"form\">\r\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\r\n <ng-template matStepLabel>Edit/Save</ng-template>\r\n <div class=\"new-class mat-elevation-z8\">\r\n <table mat-table [dataSource]=\"selectedDataSource\"\r\n *ngIf=\"selectedDataSource && selectedDataSource.data.length > 0; else showBlank\">\r\n <ng-container matColumnDef=\"delete\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-button (click)=\"$event.stopPropagation();removeRow($event, element)\">\r\n <mat-icon aria-hidden=\"false\" aria-label=\"Remove row\">delete</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"productName\">\r\n <th mat-header-cell *matHeaderCellDef> Product Name </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.text}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"categoryName\" *ngIf=\"showCategory\">\r\n <th mat-header-cell *matHeaderCellDef> Category Name </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.category}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"subCategory\" *ngIf=\"subCategory\">\r\n <th mat-header-cell *matHeaderCellDef>Sub Category </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.subCategory}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"price\" *ngIf=\"showPrice\">\r\n <th mat-header-cell *matHeaderCellDef>Price</th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">\r\n <mat-form-field class=\"example-full-width select-price\">\r\n <mat-label>Price</mat-label>\r\n <input matInput [formControl]=\"selectedProducts.at(i).get('price')\"\r\n placeholder=\"Please enter price\">\r\n <mat-error *ngIf=\"selectedProducts.at(i).get('price').hasError('required')\">\r\n Price is required\r\n </mat-error>\r\n </mat-form-field>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"Quantity\" *ngIf=\"showQuantity\">\r\n <th mat-header-cell *matHeaderCellDef> Quantity </th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">\r\n <mat-form-field class=\"example-full-width select-qunatity\">\r\n <mat-label>Select quantity</mat-label>\r\n <input matInput [formControl]=\"selectedProducts.at(i).get('quantity')\"\r\n placeholder=\"Please enter quantity\">\r\n <mat-error *ngIf=\"selectedProducts.at(i).get('quantity').hasError('required')\">\r\n Quantity is required\r\n </mat-error>\r\n </mat-form-field>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"showAllproductsColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: showAllproductsColumns;\"></tr>\r\n </table>\r\n <ng-template #showBlank>\r\n <div class=\"no-data-message\">\r\n No data found.\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div>\r\n <button mat-button matStepperPrevious>Back</button>\r\n <button mat-button matStepperNext type=\"submit\">Add products</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n</mat-stepper>\r\n</div>", styles: [".dropdown-section{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}mat-form-field{flex:1}.new-class.mat-elevation-z8{margin-top:20px;max-height:350px;overflow-y:auto;margin-bottom:20px}.mat-column-select{width:50px;text-align:center}.mat-header-cell,.mat-cell{text-align:center}button{align-self:flex-end;margin-top:20px}.row-summary{margin-top:20px;font-weight:700}.new-class td{border:1px solid #ddd;padding:10px}.new-class th{background-color:#f2f2f2;position:-webkit-sticky;position:sticky;top:0;transform:none;z-index:99;padding:10px}table{width:100%;border-collapse:collapse}.select-qunatity,.select-price{width:110px}.no-data-message{text-align:center;margin:20px 0;font-size:18px;color:#888}.mat-step-header.cdk-keyboard-focused,mat-step-header.cdk-program-focused,.mat-step-header:hover:not([aria-disabled]),.mat-step-header:hover[aria-disabled=false]{background-color:transparent}.OverlayDiv{position:fixed;display:block;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:500;cursor:pointer}.OverlayDivContent{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}\n"] }]
|
|
3362
|
+
}], ctorParameters: function () {
|
|
3363
|
+
return [{ type: i1$1.MatDialogRef }, { type: undefined, decorators: [{
|
|
3364
|
+
type: Inject,
|
|
3365
|
+
args: [MAT_DIALOG_DATA]
|
|
3366
|
+
}] }, { type: i2.FormBuilder }, { type: i1$1.MatDialog }, { type: CommonService }];
|
|
3367
|
+
}, propDecorators: { firstscrollableDiv: [{
|
|
3368
|
+
type: ViewChild,
|
|
3369
|
+
args: ['firstscrollableDiv']
|
|
3370
|
+
}] } });
|
|
3371
|
+
|
|
3372
|
+
const ELEMENT_DATA = [];
|
|
2999
3373
|
class MaterialDataGridComponent extends MaterialNestedComponent {
|
|
3000
|
-
constructor(element, ref, dialog) {
|
|
3374
|
+
constructor(element, ref, dialog, commonService) {
|
|
3001
3375
|
super(element, ref);
|
|
3002
3376
|
this.element = element;
|
|
3003
3377
|
this.ref = ref;
|
|
3004
3378
|
this.dialog = dialog;
|
|
3379
|
+
this.commonService = commonService;
|
|
3005
3380
|
this.dataSource = new MatTableDataSource();
|
|
3381
|
+
this.dataSourceNew = ELEMENT_DATA;
|
|
3382
|
+
this.displayedColumnsNew = ['productName', 'category', 'subCategory', 'quantity', 'price'];
|
|
3383
|
+
this.showNewProductPicker = false;
|
|
3384
|
+
this.showCategory = false;
|
|
3385
|
+
this.showSubcategory = false;
|
|
3386
|
+
this.showPrice = true;
|
|
3387
|
+
this.showQuantity = true;
|
|
3388
|
+
this.category = '';
|
|
3389
|
+
this.subCategory = '';
|
|
3390
|
+
this.hasInitialized = false;
|
|
3006
3391
|
}
|
|
3007
3392
|
getColumnLabel(column) {
|
|
3008
3393
|
return column.label || column.key;
|
|
3009
3394
|
}
|
|
3395
|
+
checkIsAttributeTrue(newProductPickerFlag, attributeName) {
|
|
3396
|
+
return newProductPickerFlag && Object.keys(newProductPickerFlag).some(key => key.toLocaleLowerCase() === attributeName.toLowerCase() &&
|
|
3397
|
+
newProductPickerFlag[key].toLowerCase() === "true");
|
|
3398
|
+
}
|
|
3399
|
+
// ngOnInit(): void {
|
|
3400
|
+
// }
|
|
3010
3401
|
setInstance(instance) {
|
|
3402
|
+
var _a;
|
|
3403
|
+
const newProductPickerFlag = (_a = instance === null || instance === void 0 ? void 0 : instance.component) === null || _a === void 0 ? void 0 : _a.attributes;
|
|
3404
|
+
this.showNewProductPicker = this.checkIsAttributeTrue(newProductPickerFlag, "newproductpicker");
|
|
3405
|
+
this.showCategory = this.checkIsAttributeTrue(newProductPickerFlag, "showCategory");
|
|
3406
|
+
this.showSubcategory = this.checkIsAttributeTrue(newProductPickerFlag, "showSubcategory");
|
|
3407
|
+
this.showPrice = this.checkIsAttributeTrue(newProductPickerFlag, "showPrice");
|
|
3408
|
+
this.showQuantity = this.checkIsAttributeTrue(newProductPickerFlag, "showQuantity");
|
|
3011
3409
|
super.setInstance(instance);
|
|
3012
|
-
this.
|
|
3410
|
+
if (this.showNewProductPicker && !this.hasInitialized) {
|
|
3411
|
+
if (!this.showCategory) {
|
|
3412
|
+
this.removeColumn('category');
|
|
3413
|
+
}
|
|
3414
|
+
if (!this.showQuantity) {
|
|
3415
|
+
this.removeColumn('quantity');
|
|
3416
|
+
}
|
|
3417
|
+
if (!this.showPrice) {
|
|
3418
|
+
this.removeColumn('price');
|
|
3419
|
+
}
|
|
3420
|
+
if (!this.showSubcategory) {
|
|
3421
|
+
this.removeColumn('subCategory');
|
|
3422
|
+
}
|
|
3423
|
+
const checkProducts = JSON.parse(localStorage.getItem('dealData')) || [];
|
|
3424
|
+
const dealId = checkProducts === null || checkProducts === void 0 ? void 0 : checkProducts.dealId;
|
|
3425
|
+
const storedData = localStorage.getItem(`selectedProducts-${dealId}`);
|
|
3426
|
+
if (storedData === null || storedData === void 0 ? void 0 : storedData.length) {
|
|
3427
|
+
this.dataSourceNew = JSON.parse(storedData);
|
|
3428
|
+
}
|
|
3429
|
+
else {
|
|
3430
|
+
this.dataSourceNew = [];
|
|
3431
|
+
}
|
|
3432
|
+
// Set flag to true to prevent further execution
|
|
3433
|
+
this.hasInitialized = true;
|
|
3434
|
+
}
|
|
3435
|
+
else {
|
|
3436
|
+
this.dataSource.data = instance.dataValue;
|
|
3437
|
+
}
|
|
3013
3438
|
this.columns = {};
|
|
3014
3439
|
this.displayedColumns = [];
|
|
3015
3440
|
this.formColumns = [];
|
|
@@ -3037,7 +3462,10 @@ class MaterialDataGridComponent extends MaterialNestedComponent {
|
|
|
3037
3462
|
return viewContainer ? viewContainer : null;
|
|
3038
3463
|
};
|
|
3039
3464
|
}
|
|
3040
|
-
|
|
3465
|
+
removeColumn(columnName) {
|
|
3466
|
+
this.displayedColumnsNew = this.displayedColumnsNew.filter(column => column !== columnName);
|
|
3467
|
+
}
|
|
3468
|
+
addAnotherOld() {
|
|
3041
3469
|
this.checkRowsNumber();
|
|
3042
3470
|
this.instance.addRow();
|
|
3043
3471
|
if (this.dataSource.data.length < this.instance.rows.length) {
|
|
@@ -3045,6 +3473,60 @@ class MaterialDataGridComponent extends MaterialNestedComponent {
|
|
|
3045
3473
|
}
|
|
3046
3474
|
this.dataSource.data = [...this.dataSource.data];
|
|
3047
3475
|
}
|
|
3476
|
+
addAnother() {
|
|
3477
|
+
var _a, _b;
|
|
3478
|
+
if (this.showNewProductPicker) {
|
|
3479
|
+
const savedData = JSON.parse(localStorage.getItem('saveCat'));
|
|
3480
|
+
const checkProducts = JSON.parse(localStorage.getItem('dealData')) || [];
|
|
3481
|
+
// Use optional chaining and nullish coalescing to set the values
|
|
3482
|
+
this.category = (_a = savedData === null || savedData === void 0 ? void 0 : savedData.category) !== null && _a !== void 0 ? _a : this.category;
|
|
3483
|
+
this.subCategory = (_b = savedData === null || savedData === void 0 ? void 0 : savedData.subCategory) !== null && _b !== void 0 ? _b : this.subCategory;
|
|
3484
|
+
const diologeRef = this.dialog.open(AddOnProductsComponent, {
|
|
3485
|
+
disableClose: true,
|
|
3486
|
+
width: '90%',
|
|
3487
|
+
maxWidth: '900px',
|
|
3488
|
+
autoFocus: false,
|
|
3489
|
+
data: { attributesFlag: { showNewProductPicker: this.showNewProductPicker, showCategory: this.showCategory, showSubcategory: this.showSubcategory, showPrice: this.showPrice, showQuantity: this.showQuantity }, selectedProducts: this.dataSourceNew, category: this.category, subCategory: this.subCategory }
|
|
3490
|
+
})
|
|
3491
|
+
.afterClosed().subscribe(response => {
|
|
3492
|
+
var _a;
|
|
3493
|
+
if ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.status) {
|
|
3494
|
+
if (!this.showCategory) {
|
|
3495
|
+
this.removeColumn('category');
|
|
3496
|
+
}
|
|
3497
|
+
if (!this.showQuantity) {
|
|
3498
|
+
this.removeColumn('quantity');
|
|
3499
|
+
}
|
|
3500
|
+
if (!this.showPrice) {
|
|
3501
|
+
this.removeColumn('price');
|
|
3502
|
+
}
|
|
3503
|
+
if (!this.showSubcategory) {
|
|
3504
|
+
this.removeColumn('subCategory');
|
|
3505
|
+
}
|
|
3506
|
+
//localStorage.setItem('selectedProducts', JSON.stringify(response.data.items.selectedProducts))
|
|
3507
|
+
const dealId = checkProducts === null || checkProducts === void 0 ? void 0 : checkProducts.dealId;
|
|
3508
|
+
localStorage.setItem(`selectedProducts-${dealId}`, JSON.stringify(response.data.items.selectedProducts));
|
|
3509
|
+
this.dataSourceNew = response.data.items.selectedProducts;
|
|
3510
|
+
this.category = response.data.items.productCategory;
|
|
3511
|
+
this.subCategory = response.data.items.productSubcategory;
|
|
3512
|
+
const catObject = {
|
|
3513
|
+
category: this.category,
|
|
3514
|
+
subCategory: this.subCategory
|
|
3515
|
+
};
|
|
3516
|
+
localStorage.setItem('saveCat', JSON.stringify(catObject));
|
|
3517
|
+
this.instance.component.defaultValue = response.data.items.selectedProducts;
|
|
3518
|
+
}
|
|
3519
|
+
});
|
|
3520
|
+
}
|
|
3521
|
+
else {
|
|
3522
|
+
this.checkRowsNumber();
|
|
3523
|
+
this.instance.addRow();
|
|
3524
|
+
if (this.dataSource.data.length < this.instance.rows.length) {
|
|
3525
|
+
this.dataSource.data.push({});
|
|
3526
|
+
}
|
|
3527
|
+
this.dataSource.data = [...this.dataSource.data];
|
|
3528
|
+
}
|
|
3529
|
+
}
|
|
3048
3530
|
checkRowsNumber() {
|
|
3049
3531
|
while (this.instance.rows.length < this.dataSource.data.length) {
|
|
3050
3532
|
this.instance.addRow();
|
|
@@ -3095,7 +3577,7 @@ class MaterialDataGridComponent extends MaterialNestedComponent {
|
|
|
3095
3577
|
super.setValue(value);
|
|
3096
3578
|
}
|
|
3097
3579
|
}
|
|
3098
|
-
MaterialDataGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialDataGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$
|
|
3580
|
+
MaterialDataGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialDataGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.MatDialog }, { token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3099
3581
|
MaterialDataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialDataGridComponent, selector: "mat-formio-datagrid", usesInheritance: true, ngImport: i0, template: `
|
|
3100
3582
|
<mat-formio-form-field [instance]="instance"
|
|
3101
3583
|
[componentTemplate]="componentTemplate"
|
|
@@ -3114,6 +3596,8 @@ MaterialDataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
|
|
|
3114
3596
|
{{instance.component.addAnother || 'Add Another'}}
|
|
3115
3597
|
</button>
|
|
3116
3598
|
</mat-card-actions>
|
|
3599
|
+
<ng-container *ngIf="!showNewProductPicker">
|
|
3600
|
+
<div class="mat-elevation-z8">
|
|
3117
3601
|
<table
|
|
3118
3602
|
mat-table
|
|
3119
3603
|
[dataSource]="dataSource"
|
|
@@ -3122,7 +3606,8 @@ MaterialDataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
|
|
|
3122
3606
|
cdkDropList
|
|
3123
3607
|
[cdkDropListData]="dataSource"
|
|
3124
3608
|
(cdkDropListDropped)="dropTable($event)">
|
|
3125
|
-
|
|
3609
|
+
|
|
3610
|
+
|
|
3126
3611
|
<ng-container *ngFor="let column of formColumns" [matColumnDef]="column">
|
|
3127
3612
|
<th mat-header-cell *matHeaderCellDef>{{ getColumnLabel(columns[column]) }}</th>
|
|
3128
3613
|
<td mat-cell *matCellDef="let i = index;" [attr.rowIndex]="i" [attr.component]="column">
|
|
@@ -3152,6 +3637,51 @@ MaterialDataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
|
|
|
3152
3637
|
<tr class="datagrid-row" mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
|
|
3153
3638
|
</div>
|
|
3154
3639
|
</table>
|
|
3640
|
+
</div>
|
|
3641
|
+
</ng-container>
|
|
3642
|
+
|
|
3643
|
+
<table mat-table [dataSource]="dataSourceNew" class="mat-table" *ngIf="dataSourceNew.length > 0 && showNewProductPicker; else noData" >
|
|
3644
|
+
<!-- Product Name Column -->
|
|
3645
|
+
<ng-container matColumnDef="productName">
|
|
3646
|
+
<th mat-header-cell *matHeaderCellDef> Product Name </th>
|
|
3647
|
+
<td mat-cell *matCellDef="let element"> {{element.text}} </td>
|
|
3648
|
+
</ng-container>
|
|
3649
|
+
|
|
3650
|
+
<!-- Quantity Column -->
|
|
3651
|
+
<ng-container matColumnDef="quantity" *ngIf="showQuantity">
|
|
3652
|
+
<th mat-header-cell *matHeaderCellDef> Quantity </th>
|
|
3653
|
+
<td mat-cell *matCellDef="let element"> {{element.quantity}} </td>
|
|
3654
|
+
</ng-container>
|
|
3655
|
+
|
|
3656
|
+
<!-- Price Column -->
|
|
3657
|
+
<ng-container matColumnDef="price" *ngIf="showPrice">
|
|
3658
|
+
<th mat-header-cell *matHeaderCellDef> Price </th>
|
|
3659
|
+
<td mat-cell *matCellDef="let element"> {{element.price}} </td>
|
|
3660
|
+
</ng-container>
|
|
3661
|
+
|
|
3662
|
+
<!-- Category Column -->
|
|
3663
|
+
<ng-container matColumnDef="category" *ngIf="showCategory">
|
|
3664
|
+
<th mat-header-cell *matHeaderCellDef> Category </th>
|
|
3665
|
+
<td mat-cell *matCellDef="let element"> {{element.category}} </td>
|
|
3666
|
+
</ng-container>
|
|
3667
|
+
|
|
3668
|
+
<!-- Category Column -->
|
|
3669
|
+
<ng-container matColumnDef="subCategory" *ngIf="showSubcategory">
|
|
3670
|
+
<th mat-header-cell *matHeaderCellDef> Sub Category </th>
|
|
3671
|
+
<td mat-cell *matCellDef="let element"> {{element.subCategory}} </td>
|
|
3672
|
+
</ng-container>
|
|
3673
|
+
|
|
3674
|
+
<tr mat-header-row *matHeaderRowDef="displayedColumnsNew"></tr>
|
|
3675
|
+
<tr mat-row *matRowDef="let row; columns: displayedColumnsNew;"></tr>
|
|
3676
|
+
</table>
|
|
3677
|
+
<ng-template #noData>
|
|
3678
|
+
<div class="no-data-message" *ngIf="showNewProductPicker">
|
|
3679
|
+
No product found please add some products.
|
|
3680
|
+
</div>
|
|
3681
|
+
</ng-template>
|
|
3682
|
+
|
|
3683
|
+
|
|
3684
|
+
|
|
3155
3685
|
</mat-card-content>
|
|
3156
3686
|
<mat-card-actions *ngIf="instance.hasAddButton() && instance.component.addAnotherPosition !== 'top'">
|
|
3157
3687
|
<button mat-raised-button color="primary" (click)="addAnother()">
|
|
@@ -3167,7 +3697,7 @@ MaterialDataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
|
|
|
3167
3697
|
<span [instance]="instance" matFormioLabel></span>
|
|
3168
3698
|
</mat-card-title>
|
|
3169
3699
|
</ng-template>
|
|
3170
|
-
`, isInline: true, styles: [".datagrid-row{height:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type:
|
|
3700
|
+
`, isInline: true, styles: [".datagrid-row{height:auto}.mat-table{width:100%}.mat-header-cell,.mat-cell{padding:8px}.no-data-message{text-align:center;margin:20px 0;font-size:18px;color:#888}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i10.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i10.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i10.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i10.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i10.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i10.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i10.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i10.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i10.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: i4.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i9$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i9$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i9$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] });
|
|
3171
3701
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialDataGridComponent, decorators: [{
|
|
3172
3702
|
type: Component,
|
|
3173
3703
|
args: [{ selector: 'mat-formio-datagrid', template: `
|
|
@@ -3188,6 +3718,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
3188
3718
|
{{instance.component.addAnother || 'Add Another'}}
|
|
3189
3719
|
</button>
|
|
3190
3720
|
</mat-card-actions>
|
|
3721
|
+
<ng-container *ngIf="!showNewProductPicker">
|
|
3722
|
+
<div class="mat-elevation-z8">
|
|
3191
3723
|
<table
|
|
3192
3724
|
mat-table
|
|
3193
3725
|
[dataSource]="dataSource"
|
|
@@ -3196,7 +3728,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
3196
3728
|
cdkDropList
|
|
3197
3729
|
[cdkDropListData]="dataSource"
|
|
3198
3730
|
(cdkDropListDropped)="dropTable($event)">
|
|
3199
|
-
|
|
3731
|
+
|
|
3732
|
+
|
|
3200
3733
|
<ng-container *ngFor="let column of formColumns" [matColumnDef]="column">
|
|
3201
3734
|
<th mat-header-cell *matHeaderCellDef>{{ getColumnLabel(columns[column]) }}</th>
|
|
3202
3735
|
<td mat-cell *matCellDef="let i = index;" [attr.rowIndex]="i" [attr.component]="column">
|
|
@@ -3226,6 +3759,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
3226
3759
|
<tr class="datagrid-row" mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
|
|
3227
3760
|
</div>
|
|
3228
3761
|
</table>
|
|
3762
|
+
</div>
|
|
3763
|
+
</ng-container>
|
|
3764
|
+
|
|
3765
|
+
<table mat-table [dataSource]="dataSourceNew" class="mat-table" *ngIf="dataSourceNew.length > 0 && showNewProductPicker; else noData" >
|
|
3766
|
+
<!-- Product Name Column -->
|
|
3767
|
+
<ng-container matColumnDef="productName">
|
|
3768
|
+
<th mat-header-cell *matHeaderCellDef> Product Name </th>
|
|
3769
|
+
<td mat-cell *matCellDef="let element"> {{element.text}} </td>
|
|
3770
|
+
</ng-container>
|
|
3771
|
+
|
|
3772
|
+
<!-- Quantity Column -->
|
|
3773
|
+
<ng-container matColumnDef="quantity" *ngIf="showQuantity">
|
|
3774
|
+
<th mat-header-cell *matHeaderCellDef> Quantity </th>
|
|
3775
|
+
<td mat-cell *matCellDef="let element"> {{element.quantity}} </td>
|
|
3776
|
+
</ng-container>
|
|
3777
|
+
|
|
3778
|
+
<!-- Price Column -->
|
|
3779
|
+
<ng-container matColumnDef="price" *ngIf="showPrice">
|
|
3780
|
+
<th mat-header-cell *matHeaderCellDef> Price </th>
|
|
3781
|
+
<td mat-cell *matCellDef="let element"> {{element.price}} </td>
|
|
3782
|
+
</ng-container>
|
|
3783
|
+
|
|
3784
|
+
<!-- Category Column -->
|
|
3785
|
+
<ng-container matColumnDef="category" *ngIf="showCategory">
|
|
3786
|
+
<th mat-header-cell *matHeaderCellDef> Category </th>
|
|
3787
|
+
<td mat-cell *matCellDef="let element"> {{element.category}} </td>
|
|
3788
|
+
</ng-container>
|
|
3789
|
+
|
|
3790
|
+
<!-- Category Column -->
|
|
3791
|
+
<ng-container matColumnDef="subCategory" *ngIf="showSubcategory">
|
|
3792
|
+
<th mat-header-cell *matHeaderCellDef> Sub Category </th>
|
|
3793
|
+
<td mat-cell *matCellDef="let element"> {{element.subCategory}} </td>
|
|
3794
|
+
</ng-container>
|
|
3795
|
+
|
|
3796
|
+
<tr mat-header-row *matHeaderRowDef="displayedColumnsNew"></tr>
|
|
3797
|
+
<tr mat-row *matRowDef="let row; columns: displayedColumnsNew;"></tr>
|
|
3798
|
+
</table>
|
|
3799
|
+
<ng-template #noData>
|
|
3800
|
+
<div class="no-data-message" *ngIf="showNewProductPicker">
|
|
3801
|
+
No product found please add some products.
|
|
3802
|
+
</div>
|
|
3803
|
+
</ng-template>
|
|
3804
|
+
|
|
3805
|
+
|
|
3806
|
+
|
|
3229
3807
|
</mat-card-content>
|
|
3230
3808
|
<mat-card-actions *ngIf="instance.hasAddButton() && instance.component.addAnotherPosition !== 'top'">
|
|
3231
3809
|
<button mat-raised-button color="primary" (click)="addAnother()">
|
|
@@ -3241,8 +3819,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
3241
3819
|
<span [instance]="instance" matFormioLabel></span>
|
|
3242
3820
|
</mat-card-title>
|
|
3243
3821
|
</ng-template>
|
|
3244
|
-
`, styles: [".datagrid-row{height:auto}\n"] }]
|
|
3245
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$
|
|
3822
|
+
`, styles: [".datagrid-row{height:auto}.mat-table{width:100%}.mat-header-cell,.mat-cell{padding:8px}.no-data-message{text-align:center;margin:20px 0;font-size:18px;color:#888}\n"] }]
|
|
3823
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.MatDialog }, { type: CommonService }]; } });
|
|
3246
3824
|
DataGridComponent.MaterialComponent = MaterialDataGridComponent;
|
|
3247
3825
|
|
|
3248
3826
|
var EditRowState;
|
|
@@ -3625,7 +4203,7 @@ MaterialWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
3625
4203
|
<button *ngIf="instance.hasButton('submit')" mat-raised-button color="primary" (click)="submit()">Submit</button>
|
|
3626
4204
|
</div>
|
|
3627
4205
|
</mat-step>
|
|
3628
|
-
</mat-horizontal-stepper>`, isInline: true, styles: [":host .navigation-button-row{margin-top:8px}\n", ":host .navigation-button-row button{margin-right:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type:
|
|
4206
|
+
</mat-horizontal-stepper>`, isInline: true, styles: [":host .navigation-button-row{margin-top:8px}\n", ":host .navigation-button-row button{margin-right:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i13.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "component", type: i13.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }] });
|
|
3629
4207
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialWizardComponent, decorators: [{
|
|
3630
4208
|
type: Component,
|
|
3631
4209
|
args: [{ selector: 'mat-formio-wizard', template: `
|
|
@@ -3795,7 +4373,7 @@ FormioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
3795
4373
|
<div fxLayout="column" fxLayoutGap="1em">
|
|
3796
4374
|
<ng-template #formio></ng-template>
|
|
3797
4375
|
</div>
|
|
3798
|
-
`, isInline: true, styles: [".alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:.5rem;border:1px solid transparent;border-radius:.25rem}::ng-deep mat-card{box-sizing:border-box;-moz-box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
|
4376
|
+
`, isInline: true, styles: [".alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:.5rem;border:1px solid transparent;border-radius:.25rem}::ng-deep mat-card{box-sizing:border-box;-moz-box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i11.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }] });
|
|
3799
4377
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormioComponent, decorators: [{
|
|
3800
4378
|
type: Component,
|
|
3801
4379
|
args: [{ selector: 'mat-formio', template: `
|
|
@@ -3867,7 +4445,8 @@ NgxRenderMaterialFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.
|
|
|
3867
4445
|
FormioFormFieldComponent,
|
|
3868
4446
|
LabelComponent,
|
|
3869
4447
|
MaskDirective,
|
|
3870
|
-
ConfirmationDialogComponent
|
|
4448
|
+
ConfirmationDialogComponent,
|
|
4449
|
+
AddOnProductsComponent], imports: [CommonModule,
|
|
3871
4450
|
FormsModule,
|
|
3872
4451
|
ReactiveFormsModule,
|
|
3873
4452
|
MatInputModule,
|
|
@@ -3895,7 +4474,9 @@ NgxRenderMaterialFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.
|
|
|
3895
4474
|
ScrollingModule,
|
|
3896
4475
|
NgxMatSelectSearchModule,
|
|
3897
4476
|
MatDialogModule,
|
|
3898
|
-
HttpClientModule
|
|
4477
|
+
HttpClientModule,
|
|
4478
|
+
MatAutocompleteModule], exports: [MatAutocompleteModule,
|
|
4479
|
+
NgxRenderMaterialFormsComponent,
|
|
3899
4480
|
FormioComponent,
|
|
3900
4481
|
MatInputModule,
|
|
3901
4482
|
MatFormFieldModule,
|
|
@@ -3949,7 +4530,9 @@ NgxRenderMaterialFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.
|
|
|
3949
4530
|
ScrollingModule,
|
|
3950
4531
|
NgxMatSelectSearchModule,
|
|
3951
4532
|
MatDialogModule,
|
|
3952
|
-
HttpClientModule,
|
|
4533
|
+
HttpClientModule,
|
|
4534
|
+
MatAutocompleteModule, MatAutocompleteModule,
|
|
4535
|
+
MatInputModule,
|
|
3953
4536
|
MatFormFieldModule,
|
|
3954
4537
|
MatCheckboxModule,
|
|
3955
4538
|
MatRadioModule,
|
|
@@ -4017,7 +4600,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
4017
4600
|
FormioFormFieldComponent,
|
|
4018
4601
|
LabelComponent,
|
|
4019
4602
|
MaskDirective,
|
|
4020
|
-
ConfirmationDialogComponent
|
|
4603
|
+
ConfirmationDialogComponent,
|
|
4604
|
+
AddOnProductsComponent
|
|
4021
4605
|
],
|
|
4022
4606
|
imports: [
|
|
4023
4607
|
CommonModule,
|
|
@@ -4048,9 +4632,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
4048
4632
|
ScrollingModule,
|
|
4049
4633
|
NgxMatSelectSearchModule,
|
|
4050
4634
|
MatDialogModule,
|
|
4051
|
-
HttpClientModule
|
|
4635
|
+
HttpClientModule,
|
|
4636
|
+
MatAutocompleteModule
|
|
4052
4637
|
],
|
|
4053
4638
|
exports: [
|
|
4639
|
+
MatAutocompleteModule,
|
|
4054
4640
|
NgxRenderMaterialFormsComponent,
|
|
4055
4641
|
FormioComponent,
|
|
4056
4642
|
MatInputModule,
|