imm-element-ui 2.3.0 → 2.3.1

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.
@@ -13,4 +13,4 @@ export const formTypeToProps = {
13
13
  codemirror: 'codeMirrorProps',
14
14
  rowselector: 'rowSelectorProps',
15
15
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0RBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBUTtJQUNuQyxTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLFdBQVcsRUFBRSxrQkFBa0I7SUFDL0IsTUFBTSxFQUFFLGFBQWE7SUFDckIsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLFlBQVksRUFBRSxtQkFBbUI7SUFDakMsV0FBVyxFQUFFLGtCQUFrQjtJQUMvQixLQUFLLEVBQUUsWUFBWTtJQUNuQixRQUFRLEVBQUUsZUFBZTtJQUN6QixNQUFNLEVBQUUsYUFBYTtJQUNyQixLQUFLLEVBQUUsWUFBWTtJQUNuQixVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLFdBQVcsRUFBRSxrQkFBa0I7Q0FDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyaWRPcHRpb25zIH0gZnJvbSAnLi4vZ3JpZC9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaCB9IGZyb20gJy4uL2FtL2FtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgdHlwZSB7IFBhZ2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCBpbnRlcmZhY2UgSHJlZkJ0bkxpc3QgZXh0ZW5kcyBQYXJ0aWFsPEJ1dHRvbj4ge1xuXHR1cmw/OiBzdHJpbmc7XG5cdGkxOG5LZXk/OiBzdHJpbmc7XG5cdGlkS2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcm1pc3Npb25CdG4gZXh0ZW5kcyBQYXJ0aWFsPEJ1dHRvbj4ge1xuXHRhdXRoOiBudW1iZXI7XG5cdG9uQ2xpY2s/OiBhbnk7XG5cdGJ0bkRpc2FibGVkPzogRnVuY3Rpb247XG5cdGJ0bkhpZGRlbj86IEZ1bmN0aW9uO1xuXHRpMThuS2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMaXN0IHtcblx0Z3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xuXHRzdWJUYWJsZTogc3RyaW5nO1xuXHRzdWJUYWJsZVNvdXJjZT86ICdoYW5kbGUnIHwgJ3NlbGVjdCc7XG5cdHNlbGVjdE9wdGlvbnM/OiBHcmlkT3B0aW9ucztcblx0c3ViRGF0YUtleTogc3RyaW5nO1xuXHRzbG90S2V5Pzogc3RyaW5nO1xuXHR0aXRsZT86IHN0cmluZztcblx0aTE4bktleT86IHN0cmluZztcblx0c2VsZWN0RGF0YUNiPzogRnVuY3Rpb247XG5cdHNlYXJjaFBybT86IFNlYXJjaDtcblx0ZGVsZXRlRnVuYz86IEZ1bmN0aW9uO1xuXHRzZWxlY3REYXRhPzogYW55W107XG5cdHVuaXF1ZUZpZWxkPzogc3RyaW5nO1xuXHRbcHJvcE5hbWU6c3RyaW5nXTphbnksXG5cdHR5cGU/OnN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VGb3JtU2xvdENvbnRleHQge1xuXHQkaW1wbGljaXQ6IEdyaWRMaXN0O1xuXHRzbG90S2V5OiBzdHJpbmc7XG5cdGdyaWQ6IEdyaWRMaXN0O1xuXHRpbmRleDogbnVtYmVyO1xuXHRwYWdlRm9ybTogUGFnZUZvcm1Db21wb25lbnQ7XG5cdGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXHRtb2RlbDogdW5rbm93bjtcblx0dXBzZXJ0OiB1bmtub3duO1xuXHRhY3RpdmU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBmb3JtVHlwZVRvUHJvcHM6IGFueSA9IHtcblx0aW5wdXR0ZXh0OiAnaW5wdXRUZXh0UHJvcHMnLFxuXHRpbnB1dG51bWJlcjogJ2lucHV0TnVtYmVyUHJvcHMnLFxuXHRzZWxlY3Q6ICdzZWxlY3RQcm9wcycsXG5cdHRyZWVzZWxlY3Q6ICd0cmVlU2VsZWN0UHJvcHMnLFxuXHRkYXRlcGlja2VyOiAnZGF0ZVBpY2tlclByb3BzJyxcblx0YXV0b2NvbXBsZXRlOiAnYXV0b0NvbXBsZXRlUHJvcHMnLFxuXHRtdWx0aXNlbGVjdDogJ211bHRpU2VsZWN0UHJvcHMnLFxuXHRyYWRpbzogJ3JhZGlvUHJvcHMnLFxuXHR0ZXh0YXJlYTogJ3RleHRBcmVhUHJvcHMnLFxuXHR1cGxvYWQ6ICd1cGxvYWRQcm9wcycsXG5cdGltYWdlOiAnaW1hZ2VQcm9wcycsXG5cdGNvZGVtaXJyb3I6ICdjb2RlTWlycm9yUHJvcHMnLFxuXHRyb3dzZWxlY3RvcjogJ3Jvd1NlbGVjdG9yUHJvcHMnLFxufTtcbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0RBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBUTtJQUNuQyxTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLFdBQVcsRUFBRSxrQkFBa0I7SUFDL0IsTUFBTSxFQUFFLGFBQWE7SUFDckIsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLFlBQVksRUFBRSxtQkFBbUI7SUFDakMsV0FBVyxFQUFFLGtCQUFrQjtJQUMvQixLQUFLLEVBQUUsWUFBWTtJQUNuQixRQUFRLEVBQUUsZUFBZTtJQUN6QixNQUFNLEVBQUUsYUFBYTtJQUNyQixLQUFLLEVBQUUsWUFBWTtJQUNuQixVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLFdBQVcsRUFBRSxrQkFBa0I7Q0FDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyaWRPcHRpb25zIH0gZnJvbSAnLi4vZ3JpZC9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaCB9IGZyb20gJy4uL2FtL2FtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgdHlwZSB7IFBhZ2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCBpbnRlcmZhY2UgSHJlZkJ0bkxpc3QgZXh0ZW5kcyBQYXJ0aWFsPEJ1dHRvbj4ge1xuXHR1cmw/OiBzdHJpbmc7XG5cdGkxOG5LZXk/OiBzdHJpbmc7XG5cdGlkS2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcm1pc3Npb25CdG4gZXh0ZW5kcyBQYXJ0aWFsPEJ1dHRvbj4ge1xuXHRhdXRoOiBudW1iZXI7XG5cdG9uQ2xpY2s/OiBhbnk7XG5cdGJ0bkRpc2FibGVkPzogRnVuY3Rpb247XG5cdGJ0bkhpZGRlbj86IEZ1bmN0aW9uO1xuXHRpMThuS2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMaXN0IHtcblx0Z3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xuXHRzdWJUYWJsZTogc3RyaW5nO1xuXHRzdWJUYWJsZVNvdXJjZT86ICdoYW5kbGUnIHwgJ3NlbGVjdCc7XG5cdHNlbGVjdE9wdGlvbnM/OiBHcmlkT3B0aW9ucztcblx0c3ViRGF0YUtleTogc3RyaW5nO1xuXHRzbG90S2V5Pzogc3RyaW5nO1xuXHR0aXRsZT86IHN0cmluZztcblx0aTE4bktleT86IHN0cmluZztcblx0c2VsZWN0RGF0YUNiPzogRnVuY3Rpb247XG5cdHNlYXJjaFBybT86IFNlYXJjaDtcblx0ZGVsZXRlRnVuYz86IEZ1bmN0aW9uO1xuXHRzZWxlY3REYXRhPzogYW55W107XG5cdHVuaXF1ZUZpZWxkPzogc3RyaW5nO1xuXHRbcHJvcE5hbWU6c3RyaW5nXTphbnksXG5cdHR5cGU/OnN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VGb3JtU2xvdENvbnRleHQge1xuXHQkaW1wbGljaXQ6IFBhZ2VGb3JtU2xvdENvbnRleHQ7XG5cdHNsb3RLZXk6IHN0cmluZztcblx0Z3JpZDogR3JpZExpc3Q7XG5cdGluZGV4OiBudW1iZXI7XG5cdHBhZ2VGb3JtOiBQYWdlRm9ybUNvbXBvbmVudDtcblx0ZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdG1vZGVsOiB1bmtub3duO1xuXHR1cHNlcnQ6IHVua25vd247XG5cdGFjdGl2ZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGZvcm1UeXBlVG9Qcm9wczogYW55ID0ge1xuXHRpbnB1dHRleHQ6ICdpbnB1dFRleHRQcm9wcycsXG5cdGlucHV0bnVtYmVyOiAnaW5wdXROdW1iZXJQcm9wcycsXG5cdHNlbGVjdDogJ3NlbGVjdFByb3BzJyxcblx0dHJlZXNlbGVjdDogJ3RyZWVTZWxlY3RQcm9wcycsXG5cdGRhdGVwaWNrZXI6ICdkYXRlUGlja2VyUHJvcHMnLFxuXHRhdXRvY29tcGxldGU6ICdhdXRvQ29tcGxldGVQcm9wcycsXG5cdG11bHRpc2VsZWN0OiAnbXVsdGlTZWxlY3RQcm9wcycsXG5cdHJhZGlvOiAncmFkaW9Qcm9wcycsXG5cdHRleHRhcmVhOiAndGV4dEFyZWFQcm9wcycsXG5cdHVwbG9hZDogJ3VwbG9hZFByb3BzJyxcblx0aW1hZ2U6ICdpbWFnZVByb3BzJyxcblx0Y29kZW1pcnJvcjogJ2NvZGVNaXJyb3JQcm9wcycsXG5cdHJvd3NlbGVjdG9yOiAncm93U2VsZWN0b3JQcm9wcycsXG59O1xuIl19
@@ -5,8 +5,12 @@ export class PageFormService {
5
5
  constructor() {
6
6
  this.updateDataSubject = new Subject();
7
7
  this.updateDataByKeySubject = new Subject();
8
+ this.addDataSubject = new Subject();
9
+ this.removeDataSubject = new Subject();
8
10
  this.updateData$ = this.updateDataSubject.asObservable();
9
11
  this.updateDataByKey$ = this.updateDataByKeySubject.asObservable();
12
+ this.addData$ = this.addDataSubject.asObservable();
13
+ this.removeData$ = this.removeDataSubject.asObservable();
10
14
  }
11
15
  updateData(data) {
12
16
  this.updateDataSubject.next(data);
@@ -14,6 +18,12 @@ export class PageFormService {
14
18
  updateDataByKey(key, value) {
15
19
  this.updateDataByKeySubject.next({ key, value });
16
20
  }
21
+ addData(id) {
22
+ this.addDataSubject.next(id);
23
+ }
24
+ removeData(id) {
25
+ this.removeDataSubject.next(id);
26
+ }
17
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
28
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormService, providedIn: 'root' }); }
19
29
  }
@@ -23,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
23
33
  providedIn: 'root'
24
34
  }]
25
35
  }], ctorParameters: () => [] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3NlcnZpY2UvcGFnZS1mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sZUFBZTtJQVMzQjtRQVJRLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFTLENBQUM7UUFFekMsMkJBQXNCLEdBQUcsSUFBSSxPQUFPLEVBQTZCLENBQUM7UUFFakUsZ0JBQVcsR0FBc0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXZFLHFCQUFnQixHQUEwQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFL0YsQ0FBQztJQUVoQixVQUFVLENBQUMsSUFBVztRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlLENBQXdCLEdBQU0sRUFBRSxLQUFlO1FBQzdELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOytHQWpCVyxlQUFlO21IQUFmLGVBQWUsY0FGZixNQUFNOzs0RkFFTixlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVwZGF0ZUJ5S2V5UGF5bG9hZCB9IGZyb20gJy4uL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYWdlRm9ybVNlcnZpY2U8VERhdGEgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG5cdHByaXZhdGUgdXBkYXRlRGF0YVN1YmplY3QgPSBuZXcgU3ViamVjdDxURGF0YT4oKTtcblxuXHRwcml2YXRlIHVwZGF0ZURhdGFCeUtleVN1YmplY3QgPSBuZXcgU3ViamVjdDxVcGRhdGVCeUtleVBheWxvYWQ8VERhdGE+PigpO1xuXG5cdHJlYWRvbmx5IHVwZGF0ZURhdGEkOiBPYnNlcnZhYmxlPFREYXRhPiA9IHRoaXMudXBkYXRlRGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cblx0cmVhZG9ubHkgdXBkYXRlRGF0YUJ5S2V5JDogT2JzZXJ2YWJsZTxVcGRhdGVCeUtleVBheWxvYWQ8VERhdGE+PiA9IHRoaXMudXBkYXRlRGF0YUJ5S2V5U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHt9XG5cblx0dXBkYXRlRGF0YShkYXRhOiBURGF0YSkge1xuXHRcdHRoaXMudXBkYXRlRGF0YVN1YmplY3QubmV4dChkYXRhKTtcblx0fVxuXG5cdHVwZGF0ZURhdGFCeUtleTxLIGV4dGVuZHMga2V5b2YgVERhdGE+KGtleTogSywgdmFsdWU6IFREYXRhW0tdKSB7XG5cdFx0dGhpcy51cGRhdGVEYXRhQnlLZXlTdWJqZWN0Lm5leHQoeyBrZXksIHZhbHVlIH0pO1xuXHR9XG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3NlcnZpY2UvcGFnZS1mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sZUFBZTtJQWlCM0I7UUFoQlEsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVMsQ0FBQztRQUV6QywyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBNkIsQ0FBQztRQUVsRSxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFFdkMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUV6QyxnQkFBVyxHQUFzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFdkUscUJBQWdCLEdBQTBDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVyRyxhQUFRLEdBQXVCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbEUsZ0JBQVcsR0FBdUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWxFLENBQUM7SUFFaEIsVUFBVSxDQUFDLElBQVc7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZSxDQUF3QixHQUFNLEVBQUUsS0FBZTtRQUM3RCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVO1FBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBUztRQUNuQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7K0dBakNXLGVBQWU7bUhBQWYsZUFBZSxjQUZmLE1BQU07OzRGQUVOLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXBkYXRlQnlLZXlQYXlsb2FkIH0gZnJvbSAnLi4vY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VGb3JtU2VydmljZTxURGF0YSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcblx0cHJpdmF0ZSB1cGRhdGVEYXRhU3ViamVjdCA9IG5ldyBTdWJqZWN0PFREYXRhPigpO1xuXG5cdHByaXZhdGUgdXBkYXRlRGF0YUJ5S2V5U3ViamVjdCA9IG5ldyBTdWJqZWN0PFVwZGF0ZUJ5S2V5UGF5bG9hZDxURGF0YT4+KCk7XG5cblx0cHJpdmF0ZSBhZGREYXRhU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuXHRwcml2YXRlIHJlbW92ZURhdGFTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG5cdHJlYWRvbmx5IHVwZGF0ZURhdGEkOiBPYnNlcnZhYmxlPFREYXRhPiA9IHRoaXMudXBkYXRlRGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cblx0cmVhZG9ubHkgdXBkYXRlRGF0YUJ5S2V5JDogT2JzZXJ2YWJsZTxVcGRhdGVCeUtleVBheWxvYWQ8VERhdGE+PiA9IHRoaXMudXBkYXRlRGF0YUJ5S2V5U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuXHRyZWFkb25seSBhZGREYXRhJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5hZGREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuXHRyZWFkb25seSByZW1vdmVEYXRhJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5yZW1vdmVEYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHt9XG5cblx0dXBkYXRlRGF0YShkYXRhOiBURGF0YSkge1xuXHRcdHRoaXMudXBkYXRlRGF0YVN1YmplY3QubmV4dChkYXRhKTtcblx0fVxuXG5cdHVwZGF0ZURhdGFCeUtleTxLIGV4dGVuZHMga2V5b2YgVERhdGE+KGtleTogSywgdmFsdWU6IFREYXRhW0tdKSB7XG5cdFx0dGhpcy51cGRhdGVEYXRhQnlLZXlTdWJqZWN0Lm5leHQoeyBrZXksIHZhbHVlIH0pO1xuXHR9XG5cblx0YWRkRGF0YShpZDogc3RyaW5nKSB7XG5cdFx0dGhpcy5hZGREYXRhU3ViamVjdC5uZXh0KGlkKTtcblx0fVxuXG5cdHJlbW92ZURhdGEoaWQ6c3RyaW5nKSB7XG5cdFx0dGhpcy5yZW1vdmVEYXRhU3ViamVjdC5uZXh0KGlkKTtcblx0fVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, Injectable, InjectionToken, inject, Component, untracked, input, ViewContainerRef, Directive, ViewChild, HostListener, effect, ElementRef, output, PLATFORM_ID, computed, Renderer2, NgZone, ChangeDetectorRef, EventEmitter, Output, model, ViewChildren, TemplateRef, ContentChild, isDevMode, ViewEncapsulation } from '@angular/core';
2
+ import { signal, Injectable, InjectionToken, inject, Component, untracked, input, ViewContainerRef, Directive, ViewChild, HostListener, effect, ElementRef, output, PLATFORM_ID, computed, Renderer2, NgZone, ChangeDetectorRef, EventEmitter, Output, model, ViewChildren, TemplateRef, ContentChild, isDevMode, ChangeDetectionStrategy, ContentChildren, ViewEncapsulation } from '@angular/core';
3
3
  import * as i1$4 from '@angular/common/http';
4
4
  import { HttpClient, HttpRequest, HttpEventType, HttpResponse } from '@angular/common/http';
5
5
  import { filter as filter$1, map, finalize, debounceTime as debounceTime$1 } from 'rxjs/operators';
@@ -8281,10 +8281,14 @@ const formTypeToProps = {
8281
8281
 
8282
8282
  class PageFormSlotDirective {
8283
8283
  constructor() {
8284
+ this.slotKey = input.required();
8284
8285
  this.templateRef = inject((TemplateRef));
8285
8286
  }
8287
+ static ngTemplateContextGuard(_dir, ctx) {
8288
+ return true;
8289
+ }
8286
8290
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormSlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8287
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PageFormSlotDirective, isStandalone: true, selector: "ng-template[pageFormSlot]", ngImport: i0 }); }
8291
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: PageFormSlotDirective, isStandalone: true, selector: "ng-template[pageFormSlot]", inputs: { slotKey: { classPropertyName: "slotKey", publicName: "slotKey", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
8288
8292
  }
8289
8293
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormSlotDirective, decorators: [{
8290
8294
  type: Directive,
@@ -9142,8 +9146,12 @@ class PageFormService {
9142
9146
  constructor() {
9143
9147
  this.updateDataSubject = new Subject();
9144
9148
  this.updateDataByKeySubject = new Subject();
9149
+ this.addDataSubject = new Subject();
9150
+ this.removeDataSubject = new Subject();
9145
9151
  this.updateData$ = this.updateDataSubject.asObservable();
9146
9152
  this.updateDataByKey$ = this.updateDataByKeySubject.asObservable();
9153
+ this.addData$ = this.addDataSubject.asObservable();
9154
+ this.removeData$ = this.removeDataSubject.asObservable();
9147
9155
  }
9148
9156
  updateData(data) {
9149
9157
  this.updateDataSubject.next(data);
@@ -9151,6 +9159,12 @@ class PageFormService {
9151
9159
  updateDataByKey(key, value) {
9152
9160
  this.updateDataByKeySubject.next({ key, value });
9153
9161
  }
9162
+ addData(id) {
9163
+ this.addDataSubject.next(id);
9164
+ }
9165
+ removeData(id) {
9166
+ this.removeDataSubject.next(id);
9167
+ }
9154
9168
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9155
9169
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormService, providedIn: 'root' }); }
9156
9170
  }
@@ -9162,6 +9176,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9162
9176
  }], ctorParameters: () => [] });
9163
9177
 
9164
9178
  class PageFormComponent extends AmComponent {
9179
+ get indexValue() {
9180
+ return this._indexValue;
9181
+ }
9182
+ set indexValue(value) {
9183
+ this._indexValue = value;
9184
+ this.refreshSlotRenderStates();
9185
+ }
9165
9186
  onResize() {
9166
9187
  this.sidebarMode.set(window.innerWidth < 1024 ? 'left' : 'right');
9167
9188
  }
@@ -9188,7 +9209,8 @@ class PageFormComponent extends AmComponent {
9188
9209
  this.configNewPath = input();
9189
9210
  this.userHistoryService = inject(UserHistoryService);
9190
9211
  this.pageFormService = inject(PageFormService);
9191
- this.indexValue = 0;
9212
+ this.cdr = inject(ChangeDetectorRef);
9213
+ this._indexValue = 0;
9192
9214
  this.visible = false;
9193
9215
  this.selectData = [];
9194
9216
  this.pageUrl = '';
@@ -9203,6 +9225,9 @@ class PageFormComponent extends AmComponent {
9203
9225
  this.subDeleteIds = [];
9204
9226
  this.stepsVisible = true;
9205
9227
  this.destroy$ = new Subject();
9228
+ this.slotMap = new Map();
9229
+ this.slotContextMap = new Map();
9230
+ this.slotRenderStates = [];
9206
9231
  console.log(`PageFormComponent`);
9207
9232
  this.id = Number(this.route.snapshot.paramMap.get('id'));
9208
9233
  this.pageUrl = this.route.snapshot.url
@@ -9226,12 +9251,16 @@ class PageFormComponent extends AmComponent {
9226
9251
  }
9227
9252
  });
9228
9253
  }
9254
+ this.refreshSlotRenderStates();
9255
+ this.cdr.markForCheck();
9229
9256
  }, { allowSignalWrites: true });
9230
9257
  effect(() => {
9231
9258
  this.formOptions = { ...this.form() };
9259
+ this.cdr.markForCheck();
9232
9260
  });
9233
9261
  effect(() => {
9234
9262
  this.isLog = this.modelLog();
9263
+ this.cdr.markForCheck();
9235
9264
  }, { allowSignalWrites: true });
9236
9265
  effect(() => {
9237
9266
  if (this.statusSteps().length > 0 && !this.id) {
@@ -9239,6 +9268,8 @@ class PageFormComponent extends AmComponent {
9239
9268
  this.getPrm.data = Object.assign(this.getPrm.data || {}, {
9240
9269
  [this.statusKey()]: this.statusSteps()[0]['value'],
9241
9270
  });
9271
+ this.refreshSlotRenderStates();
9272
+ this.cdr.markForCheck();
9242
9273
  }
9243
9274
  }, { allowSignalWrites: true });
9244
9275
  effect(() => {
@@ -9246,6 +9277,19 @@ class PageFormComponent extends AmComponent {
9246
9277
  this.setDisabled();
9247
9278
  }
9248
9279
  }, { allowSignalWrites: true });
9280
+ effect(() => {
9281
+ this.gridList();
9282
+ this.refreshSlotRenderStates();
9283
+ this.cdr.markForCheck();
9284
+ }, { allowSignalWrites: true });
9285
+ }
9286
+ ngAfterContentInit() {
9287
+ this.rebuildSlotMap();
9288
+ this.pageFormSlots.changes.pipe(takeUntil(this.destroy$)).subscribe(() => {
9289
+ this.rebuildSlotMap();
9290
+ this.refreshSlotRenderStates();
9291
+ this.cdr.markForCheck();
9292
+ });
9249
9293
  }
9250
9294
  ngOnInit() {
9251
9295
  this.upCb = this.upCb.bind(this);
@@ -9265,12 +9309,15 @@ class PageFormComponent extends AmComponent {
9265
9309
  });
9266
9310
  }
9267
9311
  mergePageFormData(data) {
9312
+ console.log(`mergePageFormData`, data, this.getPrm.data);
9268
9313
  if (!isEqual(this.getPrm.data, data)) {
9269
9314
  this.getPrm.data = {
9270
9315
  ...(this.getPrm.data ?? {}),
9271
9316
  ...data,
9272
9317
  };
9273
9318
  this.syncSubFormModelFromData();
9319
+ this.refreshSlotRenderStates();
9320
+ this.cdr.markForCheck();
9274
9321
  }
9275
9322
  }
9276
9323
  syncSubFormModelFromData() {
@@ -9292,8 +9339,10 @@ class PageFormComponent extends AmComponent {
9292
9339
  ngAfterViewInit() {
9293
9340
  this.i18n.change.subscribe((res) => {
9294
9341
  this.stepsVisible = false;
9342
+ this.cdr.markForCheck();
9295
9343
  setTimeout(() => {
9296
9344
  this.stepsVisible = true;
9345
+ this.cdr.markForCheck();
9297
9346
  }, 100);
9298
9347
  });
9299
9348
  }
@@ -9422,12 +9471,14 @@ class PageFormComponent extends AmComponent {
9422
9471
  detailCb(res) {
9423
9472
  this.updateTitle(res);
9424
9473
  this.syncSubFormModelFromData();
9474
+ this.refreshSlotRenderStates();
9425
9475
  if (typeof this.formDisabled() == 'function') {
9426
9476
  this.formDisFunc();
9427
9477
  }
9428
9478
  if (this.hrefBtnList().length > 0) {
9429
9479
  this.setHrefValue();
9430
9480
  }
9481
+ this.cdr.markForCheck();
9431
9482
  }
9432
9483
  setHrefValue() {
9433
9484
  this.hrefBtnList().map((item) => {
@@ -9555,6 +9606,8 @@ class PageFormComponent extends AmComponent {
9555
9606
  });
9556
9607
  this.upsertPrm.addData[this.statusKey()] = value;
9557
9608
  this.cForm.triggerModelEffect({ [this.statusKey()]: value });
9609
+ this.refreshSlotRenderStates();
9610
+ this.cdr.markForCheck();
9558
9611
  // customSteps.refreshSteps()
9559
9612
  }
9560
9613
  }
@@ -9636,26 +9689,64 @@ class PageFormComponent extends AmComponent {
9636
9689
  tabClick() {
9637
9690
  setTimeout(() => {
9638
9691
  this.tabForm.get(this.indexValue) && this.tabForm.get(this.indexValue).reCalcLabelSize();
9692
+ this.cdr.markForCheck();
9639
9693
  }, 0);
9640
9694
  }
9641
9695
  toggleLog() {
9642
9696
  this.sidebarMode.set(this.sidebarMode() === 'left' ? 'right' : 'left');
9643
9697
  }
9644
- getPageFormSlotContext(grid, index) {
9645
- return {
9646
- $implicit: grid,
9647
- slotKey: grid.slotKey || grid.subDataKey,
9648
- grid,
9649
- index,
9650
- pageForm: this,
9651
- data: (this.getPrm.data ?? {}),
9652
- model: grid.type === 'grid' ? this.getPrm.data?.[grid.subDataKey] : this.subFormModel[grid.subDataKey] || {},
9653
- upsert: this.upsertPrm,
9654
- active: this.indexValue === index,
9655
- };
9698
+ rebuildSlotMap() {
9699
+ this.slotMap.clear();
9700
+ for (const slot of this.pageFormSlots?.toArray() ?? []) {
9701
+ const slotKey = slot.slotKey();
9702
+ if (!this.slotMap.has(slotKey)) {
9703
+ this.slotMap.set(slotKey, slot);
9704
+ }
9705
+ }
9706
+ }
9707
+ refreshSlotRenderStates() {
9708
+ this.slotRenderStates = (this.gridList() ?? []).map((grid, index) => {
9709
+ const slotKey = this.resolveSlotKey(grid);
9710
+ return {
9711
+ slot: slotKey ? this.slotMap.get(slotKey) : undefined,
9712
+ context: this.getOrCreatePageFormSlotContext(grid, index, slotKey),
9713
+ };
9714
+ });
9715
+ }
9716
+ getOrCreatePageFormSlotContext(grid, index, slotKey) {
9717
+ const renderKey = this.getGridRenderKey(grid, index);
9718
+ let context = this.slotContextMap.get(renderKey);
9719
+ if (!context) {
9720
+ context = {};
9721
+ this.slotContextMap.set(renderKey, context);
9722
+ }
9723
+ context.$implicit = context;
9724
+ context.slotKey = slotKey;
9725
+ context.grid = grid;
9726
+ context.index = index;
9727
+ context.pageForm = this;
9728
+ context.data = (this.getPrm.data ?? {});
9729
+ context.model = grid.type === 'grid' ? this.getPrm.data?.[grid.subDataKey] : this.subFormModel[grid.subDataKey] || {};
9730
+ context.upsert = this.upsertPrm;
9731
+ context.active = this.indexValue === index;
9732
+ return context;
9733
+ }
9734
+ resolveSlotKey(grid) {
9735
+ return grid.slotKey || grid.subDataKey;
9736
+ }
9737
+ getGridRenderKey(grid, index) {
9738
+ return grid.gridOptions?.modelName || grid.subDataKey || grid.slotKey || `${index}`;
9739
+ }
9740
+ addRowClickHandler(event) {
9741
+ console.log(`addRowClickHandler clicked!`, event);
9742
+ this.pageFormService.addData('');
9743
+ }
9744
+ delRowClickHandler() {
9745
+ console.log(`delRowClickHandler clicked!`);
9746
+ this.pageFormService.removeData('');
9656
9747
  }
9657
9748
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9658
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null }, formDisabled: { classPropertyName: "formDisabled", publicName: "formDisabled", isSignal: true, isRequired: false, transformFunction: null }, statusConf: { classPropertyName: "statusConf", publicName: "statusConf", isSignal: true, isRequired: false, transformFunction: null }, formDetail: { classPropertyName: "formDetail", publicName: "formDetail", isSignal: true, isRequired: false, transformFunction: null }, saveFunc: { classPropertyName: "saveFunc", publicName: "saveFunc", isSignal: true, isRequired: false, transformFunction: null }, configNewPath: { classPropertyName: "configNewPath", publicName: "configNewPath", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize()" } }, providers: [], queries: [{ propertyName: "pageFormSlot", first: true, predicate: PageFormSlotDirective, descendants: true }], viewQueries: [{ propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }, { propertyName: "customGrid", predicate: ["customGrid"], descendants: true }, { propertyName: "tabForm", predicate: ["tabForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"md:overflow-hidden\">\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\n\t\t<div class=\"lg:basis-1/3 order-1\">\n\t\t\t<app-crumb-action\n\t\t\t\t[addVisible]=\"addVisible()\"\n\t\t\t\t[newUrl]=\"newUrl\"\n\t\t\t\t[isShowCog]=\"true\"\n\t\t\t\t[outlined]=\"true\"\n\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t[actionList]=\"actionList()\"\n\t\t\t\t[configNewPath]=\"configNewPath()\"\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\n\t\t\t\t(actionEvent)=\"authClick($event)\"\n\t\t\t\t(saveEvent)=\"submitForm()\">\n\t\t\t</app-crumb-action>\n\t\t</div>\n\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\n\t\t\t<href-btn-list\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\n\t\t\t<!-- @if (id) {\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\n\t\t\t\t\t\tclass=\"mr-[6px]\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t} -->\n\t\t</div>\n\t\t<div class=\"basis-1/3 order-3 flex flex-row-reverse\">\n\t\t\t@if (modelLog()) {\n\t\t\t\t<div class=\"hidden md:block\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t[class]=\"'iconfont icon-sidebar icon-sidebar-' + sidebarMode()\"\n\t\t\t\t\t\t(click)=\"toggleLog()\"></span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t<div class=\"flex\">\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center flex-row order-1\">\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\n\t\t\t\t\t\t[loading]=\"action.loading\"\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\n\t\t\t\t\t\t[styleClass]=\"\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\n\t\t\t\t\t\t\t\t? 'form-action hidden'\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data, action)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\n\t\t\t\t@if (stepsVisible) {\n\t\t\t\t\t<custom-steps\n\t\t\t\t\t\t#customSteps\n\t\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t\t[steps]=\"statusSteps()\"\n\t\t\t\t\t\t[modelLog]=\"showLog()\"\n\t\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\n\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t[isClick]=\"this.statusConf().isClick\"\n\t\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\n\t\t\t\t\t</custom-steps>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"lg:w-[400px] md:w-[300px] hidden md:block\"></div>\n\t\t}\n\t</div>\n\t<div class=\"main flex flex-wrap\">\n\t\t<div class=\"w-full md:flex-1 md:h-full md:overflow-y-auto\">\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\n\t\t\t\t<div class=\"p-2 flex-1\">\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#cForm\n\t\t\t\t\t\t\t[options]=\"formOptions\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t@if (gridList() && gridList().length > 0) {\n\t\t\t\t\t<div class=\"relative mb-2\">\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\n\t\t\t\t\t\t\t<p-tablist>\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\n\t\t\t\t\t\t\t\t\t<p-tab\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n\t\t\t\t\t\t\t\t\t</p-tab>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</p-tablist>\n\t\t\t\t\t\t</p-tabs>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\n\t\t\t\t\t@if (!!grid?.slotKey && pageFormSlot) {\n\t\t\t\t\t\t<div [hidden]=\"indexValue != i\" [ngStyle]=\"{'height': grid.gridOptions.scrollHeight}\">\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"pageFormSlot.templateRef; context: getPageFormSlotContext(grid, i)\"> </ng-container>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t@if (grid.type == 'grid') {\n\t\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t\t[selectData]=\"grid.selectData\"\n\t\t\t\t\t\t\t\t[addSort]=\"grid.addSort\">\n\t\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"w-full lg:w-[400px] md:w-[300px] md:h-full md:overflow-y-auto hidden md:block\">\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n<row-selector\n\t[(visible)]=\"visible\"\n\t[searchPrm]=\"dialogSearchPrm\"\n\t[gridOptions]=\"selectOptions\"\n\t[selectionKeys]=\"selectionKeys\"\n\t(onOk)=\"onOk($event)\"\n\t(cancelSelect)=\"onCancelSelected($event)\">\n</row-selector>\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}.icon-sidebar{color:#334155;padding:2.5px}.icon-sidebar:hover{color:var(--p-primary-color);cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormComponent, selector: "custom-form", inputs: ["options", "model", "upsert"] }, { kind: "component", type: LogComponent, selector: "custom-log", inputs: ["logs", "id"] }, { kind: "component", type: CrumbActionComponent, selector: "app-crumb-action", inputs: ["isShowCog", "addVisible", "importVisible", "exportVisible", "newUrl", "configNewPath", "onExport", "outlined", "isList", "authLevel", "actionList", "data", "menus", "saveBtnDisable"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["modelLog", "needSelfAdjusting", "steps", "current", "authLevel", "isClick"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "selectionKeys", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel", "showDelete", "gridDisable", "addSort"], outputs: ["deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i4.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i4.TabList, selector: "p-tablist" }, { kind: "component", type: i4.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent$1, selector: "row-selector", inputs: ["title", "selectionKeys", "gridOptions", "searchPrm", "visible", "showSearch"], outputs: ["onOk", "visibleChange", "cancelSelect"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: HrefBtnListComponent, selector: "href-btn-list", inputs: ["hrefs"], outputs: ["hrefClick"] }] }); }
9749
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null }, formDisabled: { classPropertyName: "formDisabled", publicName: "formDisabled", isSignal: true, isRequired: false, transformFunction: null }, statusConf: { classPropertyName: "statusConf", publicName: "statusConf", isSignal: true, isRequired: false, transformFunction: null }, formDetail: { classPropertyName: "formDetail", publicName: "formDetail", isSignal: true, isRequired: false, transformFunction: null }, saveFunc: { classPropertyName: "saveFunc", publicName: "saveFunc", isSignal: true, isRequired: false, transformFunction: null }, configNewPath: { classPropertyName: "configNewPath", publicName: "configNewPath", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize()" } }, providers: [], queries: [{ propertyName: "pageFormSlots", predicate: PageFormSlotDirective, descendants: true }], viewQueries: [{ propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }, { propertyName: "customGrid", predicate: ["customGrid"], descendants: true }, { propertyName: "tabForm", predicate: ["tabForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"md:overflow-hidden\">\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\n\t\t<div class=\"lg:basis-1/3 order-1\">\n\t\t\t<app-crumb-action\n\t\t\t\t[addVisible]=\"addVisible()\"\n\t\t\t\t[newUrl]=\"newUrl\"\n\t\t\t\t[isShowCog]=\"true\"\n\t\t\t\t[outlined]=\"true\"\n\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t[actionList]=\"actionList()\"\n\t\t\t\t[configNewPath]=\"configNewPath()\"\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\n\t\t\t\t(actionEvent)=\"authClick($event)\"\n\t\t\t\t(saveEvent)=\"submitForm()\">\n\t\t\t</app-crumb-action>\n\t\t</div>\n\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\n\t\t\t<href-btn-list\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\n\t\t\t<!-- @if (id) {\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\n\t\t\t\t\t\tclass=\"mr-[6px]\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t} -->\n\t\t</div>\n\t\t<div class=\"basis-1/3 order-3 flex flex-row-reverse\">\n\t\t\t@if (modelLog()) {\n\t\t\t\t<div class=\"hidden md:block\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t[class]=\"'iconfont icon-sidebar icon-sidebar-' + sidebarMode()\"\n\t\t\t\t\t\t(click)=\"toggleLog()\"></span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t<div class=\"flex\">\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center flex-row order-1\">\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\n\t\t\t\t\t\t[loading]=\"action.loading\"\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\n\t\t\t\t\t\t[styleClass]=\"\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\n\t\t\t\t\t\t\t\t? 'form-action hidden'\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data, action)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\n\t\t\t\t@if (stepsVisible) {\n\t\t\t\t\t<custom-steps\n\t\t\t\t\t\t#customSteps\n\t\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t\t[steps]=\"statusSteps()\"\n\t\t\t\t\t\t[modelLog]=\"showLog()\"\n\t\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\n\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t[isClick]=\"this.statusConf().isClick\"\n\t\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\n\t\t\t\t\t</custom-steps>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"lg:w-[400px] md:w-[300px] hidden md:block\"></div>\n\t\t}\n\t</div>\n\t<div class=\"main flex flex-wrap\">\n\t\t<div class=\"w-full md:flex-1 md:h-full md:overflow-y-auto\">\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\n\t\t\t\t<div class=\"p-2 flex-1\">\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#cForm\n\t\t\t\t\t\t\t[options]=\"formOptions\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t@if (gridList() && gridList().length > 0) {\n\t\t\t\t\t<div class=\"relative mb-2\">\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\n\t\t\t\t\t\t\t<p-tablist>\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild.gridOptions?.modelName || fchild.subDataKey || fchild.slotKey || $index) {\n\t\t\t\t\t\t\t\t\t<p-tab\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n\t\t\t\t\t\t\t\t\t</p-tab>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</p-tablist>\n\t\t\t\t\t\t</p-tabs>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid.gridOptions?.modelName || grid.subDataKey || grid.slotKey || $index) {\n\t\t\t\t\t@let slotState = slotRenderStates[i];\n\t\t\t\t\t@let slot = slotState?.slot;\n\t\t\t\t\t<div [hidden]=\"indexValue != i\" [style.height]=\"slot ? grid.gridOptions.scrollHeight : null\">\n\t\t\t\t\t\t@if (slot) {\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"slot.templateRef; context: slotState.context\"> </ng-container>\n\t\t\t\t\t\t\t<div class=\"flex justify-end py-[5px] pr-[8px]\">\n\t\t\t\t\t\t\t\t@if (grid.subTableSource != 'none') {\n\t\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-plus\"\n\t\t\t\t\t\t\t\t\t\t[text]=\"true\"\n\t\t\t\t\t\t\t\t\t\tseverity=\"success\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"gridDisable\"\n\t\t\t\t\t\t\t\t\t\t(onClick)=\"addRowClickHandler(grid)\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if (grid.showDelete) {\n\t\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-trash\"\n\t\t\t\t\t\t\t\t\t\t[text]=\"true\"\n\t\t\t\t\t\t\t\t\t\tseverity=\"danger\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"gridDisable\"\n\t\t\t\t\t\t\t\t\t\t(onClick)=\"delRowClickHandler()\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t@if (grid.type == 'grid') {\n\t\t\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n\t\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t\t\t[selectData]=\"grid.selectData\"\n\t\t\t\t\t\t\t\t\t[addSort]=\"grid.addSort\">\n\t\t\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"w-full lg:w-[400px] md:w-[300px] md:h-full md:overflow-y-auto hidden md:block\">\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n<row-selector\n\t[(visible)]=\"visible\"\n\t[searchPrm]=\"dialogSearchPrm\"\n\t[gridOptions]=\"selectOptions\"\n\t[selectionKeys]=\"selectionKeys\"\n\t(onOk)=\"onOk($event)\"\n\t(cancelSelect)=\"onCancelSelected($event)\">\n</row-selector>\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}.icon-sidebar{color:#334155;padding:2.5px}.icon-sidebar:hover{color:var(--p-primary-color);cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormComponent, selector: "custom-form", inputs: ["options", "model", "upsert"] }, { kind: "component", type: LogComponent, selector: "custom-log", inputs: ["logs", "id"] }, { kind: "component", type: CrumbActionComponent, selector: "app-crumb-action", inputs: ["isShowCog", "addVisible", "importVisible", "exportVisible", "newUrl", "configNewPath", "onExport", "outlined", "isList", "authLevel", "actionList", "data", "menus", "saveBtnDisable"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["modelLog", "needSelfAdjusting", "steps", "current", "authLevel", "isClick"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "selectionKeys", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel", "showDelete", "gridDisable", "addSort"], outputs: ["deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i4.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i4.TabList, selector: "p-tablist" }, { kind: "component", type: i4.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent$1, selector: "row-selector", inputs: ["title", "selectionKeys", "gridOptions", "searchPrm", "visible", "showSearch"], outputs: ["onOk", "visibleChange", "cancelSelect"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: HrefBtnListComponent, selector: "href-btn-list", inputs: ["hrefs"], outputs: ["hrefClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9659
9750
  }
9660
9751
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, decorators: [{
9661
9752
  type: Component,
@@ -9672,7 +9763,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9672
9763
  RowSelectorComponent$1,
9673
9764
  TranslatePipe,
9674
9765
  HrefBtnListComponent,
9675
- ], providers: [], template: "<div class=\"md:overflow-hidden\">\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\n\t\t<div class=\"lg:basis-1/3 order-1\">\n\t\t\t<app-crumb-action\n\t\t\t\t[addVisible]=\"addVisible()\"\n\t\t\t\t[newUrl]=\"newUrl\"\n\t\t\t\t[isShowCog]=\"true\"\n\t\t\t\t[outlined]=\"true\"\n\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t[actionList]=\"actionList()\"\n\t\t\t\t[configNewPath]=\"configNewPath()\"\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\n\t\t\t\t(actionEvent)=\"authClick($event)\"\n\t\t\t\t(saveEvent)=\"submitForm()\">\n\t\t\t</app-crumb-action>\n\t\t</div>\n\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\n\t\t\t<href-btn-list\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\n\t\t\t<!-- @if (id) {\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\n\t\t\t\t\t\tclass=\"mr-[6px]\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t} -->\n\t\t</div>\n\t\t<div class=\"basis-1/3 order-3 flex flex-row-reverse\">\n\t\t\t@if (modelLog()) {\n\t\t\t\t<div class=\"hidden md:block\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t[class]=\"'iconfont icon-sidebar icon-sidebar-' + sidebarMode()\"\n\t\t\t\t\t\t(click)=\"toggleLog()\"></span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t<div class=\"flex\">\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center flex-row order-1\">\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\n\t\t\t\t\t\t[loading]=\"action.loading\"\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\n\t\t\t\t\t\t[styleClass]=\"\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\n\t\t\t\t\t\t\t\t? 'form-action hidden'\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data, action)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\n\t\t\t\t@if (stepsVisible) {\n\t\t\t\t\t<custom-steps\n\t\t\t\t\t\t#customSteps\n\t\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t\t[steps]=\"statusSteps()\"\n\t\t\t\t\t\t[modelLog]=\"showLog()\"\n\t\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\n\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t[isClick]=\"this.statusConf().isClick\"\n\t\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\n\t\t\t\t\t</custom-steps>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"lg:w-[400px] md:w-[300px] hidden md:block\"></div>\n\t\t}\n\t</div>\n\t<div class=\"main flex flex-wrap\">\n\t\t<div class=\"w-full md:flex-1 md:h-full md:overflow-y-auto\">\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\n\t\t\t\t<div class=\"p-2 flex-1\">\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#cForm\n\t\t\t\t\t\t\t[options]=\"formOptions\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t@if (gridList() && gridList().length > 0) {\n\t\t\t\t\t<div class=\"relative mb-2\">\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\n\t\t\t\t\t\t\t<p-tablist>\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\n\t\t\t\t\t\t\t\t\t<p-tab\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n\t\t\t\t\t\t\t\t\t</p-tab>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</p-tablist>\n\t\t\t\t\t\t</p-tabs>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\n\t\t\t\t\t@if (!!grid?.slotKey && pageFormSlot) {\n\t\t\t\t\t\t<div [hidden]=\"indexValue != i\" [ngStyle]=\"{'height': grid.gridOptions.scrollHeight}\">\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"pageFormSlot.templateRef; context: getPageFormSlotContext(grid, i)\"> </ng-container>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t@if (grid.type == 'grid') {\n\t\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t\t[selectData]=\"grid.selectData\"\n\t\t\t\t\t\t\t\t[addSort]=\"grid.addSort\">\n\t\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"w-full lg:w-[400px] md:w-[300px] md:h-full md:overflow-y-auto hidden md:block\">\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n<row-selector\n\t[(visible)]=\"visible\"\n\t[searchPrm]=\"dialogSearchPrm\"\n\t[gridOptions]=\"selectOptions\"\n\t[selectionKeys]=\"selectionKeys\"\n\t(onOk)=\"onOk($event)\"\n\t(cancelSelect)=\"onCancelSelected($event)\">\n</row-selector>\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}.icon-sidebar{color:#334155;padding:2.5px}.icon-sidebar:hover{color:var(--p-primary-color);cursor:pointer}\n"] }]
9766
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [], template: "<div class=\"md:overflow-hidden\">\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\n\t\t<div class=\"lg:basis-1/3 order-1\">\n\t\t\t<app-crumb-action\n\t\t\t\t[addVisible]=\"addVisible()\"\n\t\t\t\t[newUrl]=\"newUrl\"\n\t\t\t\t[isShowCog]=\"true\"\n\t\t\t\t[outlined]=\"true\"\n\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t[actionList]=\"actionList()\"\n\t\t\t\t[configNewPath]=\"configNewPath()\"\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\n\t\t\t\t(actionEvent)=\"authClick($event)\"\n\t\t\t\t(saveEvent)=\"submitForm()\">\n\t\t\t</app-crumb-action>\n\t\t</div>\n\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\n\t\t\t<href-btn-list\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\n\t\t\t<!-- @if (id) {\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\n\t\t\t\t\t\tclass=\"mr-[6px]\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t} -->\n\t\t</div>\n\t\t<div class=\"basis-1/3 order-3 flex flex-row-reverse\">\n\t\t\t@if (modelLog()) {\n\t\t\t\t<div class=\"hidden md:block\">\n\t\t\t\t\t<span\n\t\t\t\t\t\t[class]=\"'iconfont icon-sidebar icon-sidebar-' + sidebarMode()\"\n\t\t\t\t\t\t(click)=\"toggleLog()\"></span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t<div class=\"flex\">\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center flex-row order-1\">\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\n\t\t\t\t\t\t[loading]=\"action.loading\"\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\n\t\t\t\t\t\t[styleClass]=\"\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\n\t\t\t\t\t\t\t\t? 'form-action hidden'\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data, action)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\n\t\t\t\t@if (stepsVisible) {\n\t\t\t\t\t<custom-steps\n\t\t\t\t\t\t#customSteps\n\t\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t\t[steps]=\"statusSteps()\"\n\t\t\t\t\t\t[modelLog]=\"showLog()\"\n\t\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\n\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t[isClick]=\"this.statusConf().isClick\"\n\t\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\n\t\t\t\t\t</custom-steps>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"lg:w-[400px] md:w-[300px] hidden md:block\"></div>\n\t\t}\n\t</div>\n\t<div class=\"main flex flex-wrap\">\n\t\t<div class=\"w-full md:flex-1 md:h-full md:overflow-y-auto\">\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\n\t\t\t\t<div class=\"p-2 flex-1\">\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#cForm\n\t\t\t\t\t\t\t[options]=\"formOptions\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t@if (gridList() && gridList().length > 0) {\n\t\t\t\t\t<div class=\"relative mb-2\">\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\n\t\t\t\t\t\t\t<p-tablist>\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild.gridOptions?.modelName || fchild.subDataKey || fchild.slotKey || $index) {\n\t\t\t\t\t\t\t\t\t<p-tab\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n\t\t\t\t\t\t\t\t\t</p-tab>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</p-tablist>\n\t\t\t\t\t\t</p-tabs>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid.gridOptions?.modelName || grid.subDataKey || grid.slotKey || $index) {\n\t\t\t\t\t@let slotState = slotRenderStates[i];\n\t\t\t\t\t@let slot = slotState?.slot;\n\t\t\t\t\t<div [hidden]=\"indexValue != i\" [style.height]=\"slot ? grid.gridOptions.scrollHeight : null\">\n\t\t\t\t\t\t@if (slot) {\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"slot.templateRef; context: slotState.context\"> </ng-container>\n\t\t\t\t\t\t\t<div class=\"flex justify-end py-[5px] pr-[8px]\">\n\t\t\t\t\t\t\t\t@if (grid.subTableSource != 'none') {\n\t\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-plus\"\n\t\t\t\t\t\t\t\t\t\t[text]=\"true\"\n\t\t\t\t\t\t\t\t\t\tseverity=\"success\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"gridDisable\"\n\t\t\t\t\t\t\t\t\t\t(onClick)=\"addRowClickHandler(grid)\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if (grid.showDelete) {\n\t\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-trash\"\n\t\t\t\t\t\t\t\t\t\t[text]=\"true\"\n\t\t\t\t\t\t\t\t\t\tseverity=\"danger\"\n\t\t\t\t\t\t\t\t\t\t[disabled]=\"gridDisable\"\n\t\t\t\t\t\t\t\t\t\t(onClick)=\"delRowClickHandler()\" />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t@if (grid.type == 'grid') {\n\t\t\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n\t\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t\t\t[selectData]=\"grid.selectData\"\n\t\t\t\t\t\t\t\t\t[addSort]=\"grid.addSort\">\n\t\t\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (showLog()) {\n\t\t\t<div class=\"w-full lg:w-[400px] md:w-[300px] md:h-full md:overflow-y-auto hidden md:block\">\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n<row-selector\n\t[(visible)]=\"visible\"\n\t[searchPrm]=\"dialogSearchPrm\"\n\t[gridOptions]=\"selectOptions\"\n\t[selectionKeys]=\"selectionKeys\"\n\t(onOk)=\"onOk($event)\"\n\t(cancelSelect)=\"onCancelSelected($event)\">\n</row-selector>\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}.icon-sidebar{color:#334155;padding:2.5px}.icon-sidebar:hover{color:var(--p-primary-color);cursor:pointer}\n"] }]
9676
9767
  }], ctorParameters: () => [], propDecorators: { cForm: [{
9677
9768
  type: ViewChild,
9678
9769
  args: ['cForm']
@@ -9682,8 +9773,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9682
9773
  }], tabForm: [{
9683
9774
  type: ViewChildren,
9684
9775
  args: ['tabForm']
9685
- }], pageFormSlot: [{
9686
- type: ContentChild,
9776
+ }], pageFormSlots: [{
9777
+ type: ContentChildren,
9687
9778
  args: [PageFormSlotDirective, { descendants: true }]
9688
9779
  }], onResize: [{
9689
9780
  type: HostListener,