imm-element-ui 2.2.7 → 2.2.8

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.
@@ -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, 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, 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';
@@ -8,7 +8,7 @@ import * as i1$7 from 'primeng/api';
8
8
  import { MessageService, ConfirmationService } from 'primeng/api';
9
9
  import * as i1$1 from '@angular/router';
10
10
  import { ActivatedRoute, Router, NavigationEnd } from '@angular/router';
11
- import { Subject, pairwise, filter, debounceTime, BehaviorSubject, isObservable, tap, Observable, of, shareReplay, pipe, fromEvent, forkJoin, lastValueFrom, map as map$1 } from 'rxjs';
11
+ import { Subject, pairwise, filter, debounceTime, BehaviorSubject, isObservable, tap, Observable, of, shareReplay, pipe, fromEvent, forkJoin, lastValueFrom, map as map$1, takeUntil } from 'rxjs';
12
12
  import * as i1 from '@ngx-translate/core';
13
13
  import { TranslatePipe } from '@ngx-translate/core';
14
14
  import * as i2 from '@angular/cdk/platform';
@@ -74,7 +74,7 @@ import { TieredMenu } from 'primeng/tieredmenu';
74
74
  import { Toast } from 'primeng/toast';
75
75
  import * as i2$a from 'primeng/avatar';
76
76
  import { AvatarModule } from 'primeng/avatar';
77
- import * as i3$2 from 'primeng/tabs';
77
+ import * as i4 from 'primeng/tabs';
78
78
  import { TabsModule } from 'primeng/tabs';
79
79
  import * as i1$9 from 'primeng/styleclass';
80
80
  import { StyleClassModule } from 'primeng/styleclass';
@@ -254,6 +254,7 @@ class AmComponent {
254
254
  }));
255
255
  }
256
256
  upsert(prm, cb) {
257
+ console.log(`upsert ${prm}`, prm, cb);
257
258
  if (prm) {
258
259
  this.web_upsert(prm).subscribe((res) => {
259
260
  cb && cb(res);
@@ -313,6 +314,7 @@ class AmComponent {
313
314
  });
314
315
  param = { ...param, log: { ...param.log, subContent: lg } };
315
316
  }
317
+ console.log(`web_upsert`, param);
316
318
  // console.log('param====', param);
317
319
  return this.http.post(apiPath + 'upsert', param).pipe(map((response) => {
318
320
  if (param.log) {
@@ -2059,15 +2061,15 @@ const convertCol = (options, col, authLevel, dragSort) => {
2059
2061
  cellRenderer: 'rowSpanRenderer',
2060
2062
  cellRendererParams: {
2061
2063
  rowSpan: (params) => calcRowSpan(params),
2062
- }
2064
+ },
2063
2065
  };
2064
2066
  Object.assign(item, rowSpan);
2065
2067
  options.suppressRowTransform = true;
2066
2068
  options.rowClass = 'rowSpan';
2067
2069
  }
2068
2070
  // if(item.editable){
2069
- // item.headerClass = item.hasOwnProperty('headerClass')
2070
- // ? `${item.headerClass} editable-column-header`
2071
+ // item.headerClass = item.hasOwnProperty('headerClass')
2072
+ // ? `${item.headerClass} editable-column-header`
2071
2073
  // : 'editable-column-header'
2072
2074
  // }
2073
2075
  });
@@ -2093,7 +2095,7 @@ const gridOptionsHooker = (gridOptions) => {
2093
2095
  cellRenderer: 'rowSpanRenderer',
2094
2096
  cellRendererParams: {
2095
2097
  rowSpan: (params) => calcRowSpan(params),
2096
- }
2098
+ },
2097
2099
  };
2098
2100
  Object.assign(col, rowSpan);
2099
2101
  gridOptions.suppressRowTransform = true;
@@ -2109,15 +2111,15 @@ const convertGrid = (thisArg, gridList, fiterPreloads) => {
2109
2111
  fiterPreloads.push(...item.fiterPreloads);
2110
2112
  }
2111
2113
  if (item.type == 'grid') {
2112
- let { gridOptions: { columnDefs, ...restGridOptions }, subTableSource, subDataKey, title, selectDataCb, fk, mainField, uniqueField, addDataCb, showDelete = true, scrollHeight, dragSort, selectionMode, isRowSelectable, addSort, reference } = item;
2113
- grid = { subTableSource, subDataKey, title, showDelete, ...grid };
2114
+ let { gridOptions: { columnDefs, ...restGridOptions }, subTableSource, subDataKey, title, selectDataCb, fk, mainField, uniqueField, addDataCb, showDelete = true, scrollHeight, dragSort, selectionMode, isRowSelectable, addSort, reference, slotKey, } = item;
2115
+ grid = { subTableSource, subDataKey, title, showDelete, slotKey, ...grid };
2114
2116
  let gridOptions = {
2115
2117
  ...restGridOptions,
2116
2118
  fk,
2117
2119
  subTableSource,
2118
2120
  subDataKey,
2119
2121
  mainField,
2120
- reference
2122
+ reference,
2121
2123
  };
2122
2124
  // @ts-ignore
2123
2125
  if (window.appIsI18n && (!item.hasOwnProperty('i18nKey') || item.i18nKey == '')) {
@@ -2138,7 +2140,7 @@ const convertGrid = (thisArg, gridList, fiterPreloads) => {
2138
2140
  if (selectionMode != 'none') {
2139
2141
  gridOptions.rowSelection = {
2140
2142
  mode: selectionMode == 'single' ? 'singleRow' : 'multiRow',
2141
- isRowSelectable: isRowSelectable ? isRowSelectable : null
2143
+ isRowSelectable: isRowSelectable ? isRowSelectable : null,
2142
2144
  };
2143
2145
  }
2144
2146
  else {
@@ -2175,7 +2177,7 @@ const convertGrid = (thisArg, gridList, fiterPreloads) => {
2175
2177
  else {
2176
2178
  item.interactiveLabel = true;
2177
2179
  grid = {
2178
- ...item
2180
+ ...item,
2179
2181
  };
2180
2182
  grid.form = new FormGroup({});
2181
2183
  }
@@ -2198,7 +2200,7 @@ const convertForm = (thisArg, groupArr, sourceData) => {
2198
2200
  form: new FormGroup({}),
2199
2201
  mainField: sourceData.model.mainFields,
2200
2202
  modelName: sourceData.model.modelName,
2201
- extra: { thisArg }
2203
+ extra: { thisArg },
2202
2204
  };
2203
2205
  };
2204
2206
  const clearLocal = () => {
@@ -2223,7 +2225,7 @@ const pageListGridOptions = (gridOptions, thisArg) => {
2223
2225
  if (gridOptions.selectionMode != 'none') {
2224
2226
  gridOptions.rowSelection = {
2225
2227
  mode: gridOptions.selectionMode == 'single' ? 'singleRow' : 'multiRow',
2226
- isRowSelectable: gridOptions.isRowSelectable ? gridOptions.isRowSelectable : undefined
2228
+ isRowSelectable: gridOptions.isRowSelectable ? gridOptions.isRowSelectable : undefined,
2227
2229
  };
2228
2230
  if (gridOptions.hasOwnProperty('headerCheckbox') && gridOptions.rowSelection.mode == 'multiRow') {
2229
2231
  gridOptions.rowSelection.headerCheckbox = gridOptions.headerCheckbox;
@@ -2241,17 +2243,23 @@ const deepClone = (source, that, cache) => {
2241
2243
  if (!cache) {
2242
2244
  cache = new Map();
2243
2245
  }
2244
- if (source instanceof Object) { // 不考虑跨 iframe
2246
+ if (source instanceof Object) {
2247
+ // 不考虑跨 iframe
2245
2248
  if (cache.get(source)) {
2246
2249
  return cache.get(source);
2247
2250
  }
2248
2251
  let result;
2249
2252
  if (source instanceof Function) {
2250
- if (source.prototype) { // 有 prototype 就是普通函数
2251
- result = function () { return source.apply(that, arguments); };
2253
+ if (source.prototype) {
2254
+ // prototype 就是普通函数
2255
+ result = function () {
2256
+ return source.apply(that, arguments);
2257
+ };
2252
2258
  }
2253
2259
  else {
2254
- result = (...args) => { return source.call(undefined, ...args); };
2260
+ result = (...args) => {
2261
+ return source.call(undefined, ...args);
2262
+ };
2255
2263
  }
2256
2264
  }
2257
2265
  else if (source instanceof Array) {
@@ -8268,6 +8276,21 @@ const formTypeToProps = {
8268
8276
  rowselector: 'rowSelectorProps',
8269
8277
  };
8270
8278
 
8279
+ class PageFormSlotDirective {
8280
+ constructor() {
8281
+ this.templateRef = inject((TemplateRef));
8282
+ }
8283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormSlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8284
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PageFormSlotDirective, isStandalone: true, selector: "ng-template[pageFormSlot]", ngImport: i0 }); }
8285
+ }
8286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormSlotDirective, decorators: [{
8287
+ type: Directive,
8288
+ args: [{
8289
+ selector: 'ng-template[pageFormSlot]',
8290
+ standalone: true,
8291
+ }]
8292
+ }] });
8293
+
8271
8294
  class CrumbActionComponent extends AmComponent {
8272
8295
  constructor() {
8273
8296
  super();
@@ -8398,6 +8421,7 @@ class CrumbActionComponent extends AmComponent {
8398
8421
  }
8399
8422
  }
8400
8423
  handleSave() {
8424
+ console.log(`handleSavfdsfse`);
8401
8425
  this.saveEvent.emit();
8402
8426
  }
8403
8427
  back(item) {
@@ -8624,7 +8648,6 @@ class ImportComponent {
8624
8648
  this.disabled = true;
8625
8649
  let userInfo = JSON.parse(window.localStorage.getItem('userInfo')) || {};
8626
8650
  const formData = new FormData();
8627
- console.log('this.dept ---', this.dept, this.importOrgValueField());
8628
8651
  formData.append('file', item.files[0]);
8629
8652
  if (this.orgVisible()) {
8630
8653
  formData.append(this.orgField() ?? 'orgId', this.dept ?? '');
@@ -9112,6 +9135,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9112
9135
  args: ['window:resize']
9113
9136
  }] } });
9114
9137
 
9138
+ class PageFormService {
9139
+ constructor() {
9140
+ this.updateDataSubject = new Subject();
9141
+ this.updateDataByKeySubject = new Subject();
9142
+ this.updateData$ = this.updateDataSubject.asObservable();
9143
+ this.updateDataByKey$ = this.updateDataByKeySubject.asObservable();
9144
+ }
9145
+ updateData(data) {
9146
+ this.updateDataSubject.next(data);
9147
+ }
9148
+ updateDataByKey(key, value) {
9149
+ this.updateDataByKeySubject.next({ key, value });
9150
+ }
9151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9152
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormService, providedIn: 'root' }); }
9153
+ }
9154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormService, decorators: [{
9155
+ type: Injectable,
9156
+ args: [{
9157
+ providedIn: 'root'
9158
+ }]
9159
+ }], ctorParameters: () => [] });
9160
+
9115
9161
  class PageFormComponent extends AmComponent {
9116
9162
  onResize() {
9117
9163
  this.sidebarMode.set(window.innerWidth < 1024 ? 'left' : 'right');
@@ -9138,6 +9184,7 @@ class PageFormComponent extends AmComponent {
9138
9184
  this.saveFunc = input();
9139
9185
  this.configNewPath = input();
9140
9186
  this.userHistoryService = inject(UserHistoryService);
9187
+ this.pageFormService = inject(PageFormService);
9141
9188
  this.indexValue = 0;
9142
9189
  this.visible = false;
9143
9190
  this.selectData = [];
@@ -9152,6 +9199,8 @@ class PageFormComponent extends AmComponent {
9152
9199
  this.selectionKeys = [];
9153
9200
  this.subDeleteIds = [];
9154
9201
  this.stepsVisible = true;
9202
+ this.destroy$ = new Subject();
9203
+ console.log(`PageFormComponent`);
9155
9204
  this.id = Number(this.route.snapshot.paramMap.get('id'));
9156
9205
  this.pageUrl = this.route.snapshot.url
9157
9206
  .map((segment) => segment.path)
@@ -9198,6 +9247,42 @@ class PageFormComponent extends AmComponent {
9198
9247
  ngOnInit() {
9199
9248
  this.upCb = this.upCb.bind(this);
9200
9249
  this.onResize();
9250
+ this.bindPageFormService();
9251
+ }
9252
+ ngOnDestroy() {
9253
+ this.destroy$.next();
9254
+ this.destroy$.complete();
9255
+ }
9256
+ bindPageFormService() {
9257
+ this.pageFormService.updateData$.pipe(takeUntil(this.destroy$)).subscribe((data) => {
9258
+ this.mergePageFormData(data);
9259
+ });
9260
+ this.pageFormService.updateDataByKey$.pipe(takeUntil(this.destroy$)).subscribe(({ key, value }) => {
9261
+ this.mergePageFormData({ [key]: value });
9262
+ });
9263
+ }
9264
+ mergePageFormData(data) {
9265
+ this.getPrm.data = {
9266
+ ...(this.getPrm.data ?? {}),
9267
+ ...data,
9268
+ };
9269
+ this.syncSubFormModelFromData();
9270
+ }
9271
+ syncSubFormModelFromData() {
9272
+ this.gridList().forEach((grid) => {
9273
+ if (grid.type == 'form') {
9274
+ const formData = this.getPrm.data?.[grid.subDataKey];
9275
+ if (Array.isArray(formData)) {
9276
+ this.subFormModel[grid.subDataKey] = formData[0] ?? {};
9277
+ }
9278
+ else if (formData && typeof formData === 'object') {
9279
+ this.subFormModel[grid.subDataKey] = formData;
9280
+ }
9281
+ }
9282
+ if (grid.type == 'grid' && !this.getPrm.data?.hasOwnProperty(grid.subDataKey)) {
9283
+ this.getPrm.data[grid.subDataKey] = [];
9284
+ }
9285
+ });
9201
9286
  }
9202
9287
  ngAfterViewInit() {
9203
9288
  this.i18n.change.subscribe((res) => {
@@ -9209,7 +9294,7 @@ class PageFormComponent extends AmComponent {
9209
9294
  }
9210
9295
  submitForm() {
9211
9296
  // this.tabForm.validate()
9212
- // console.log('getPrm------', this.getPrm);
9297
+ console.log('getPrm---test---', this.getPrm);
9213
9298
  let subForm = true;
9214
9299
  if (this.tabForm.length > 0) {
9215
9300
  this.tabForm.forEach((item) => {
@@ -9219,6 +9304,8 @@ class PageFormComponent extends AmComponent {
9219
9304
  });
9220
9305
  }
9221
9306
  if (this.cForm.validate() && subForm) {
9307
+ console.log('submitForm', this.cForm, subForm);
9308
+ console.log(`this.upsertPrm`, this.upsertPrm);
9222
9309
  let cb = this.id === 0 ? null : this.upCb;
9223
9310
  this.action.loading.set(true);
9224
9311
  typeof this.saveFunc() == 'function' ? this.saveFunc()(this.upsertPrm, this.id, cb) : this.upsert(null, cb);
@@ -9329,22 +9416,13 @@ class PageFormComponent extends AmComponent {
9329
9416
  // 获取详情回调
9330
9417
  detailCb(res) {
9331
9418
  this.updateTitle(res);
9419
+ this.syncSubFormModelFromData();
9332
9420
  if (typeof this.formDisabled() == 'function') {
9333
9421
  this.formDisFunc();
9334
9422
  }
9335
9423
  if (this.hrefBtnList().length > 0) {
9336
9424
  this.setHrefValue();
9337
9425
  }
9338
- this.gridList().forEach((v) => {
9339
- if (v.type == 'form') {
9340
- this.subFormModel[v.subDataKey] = res[v.subDataKey][0];
9341
- }
9342
- });
9343
- this.gridList().forEach((value) => {
9344
- if (value.type == 'grid' && !this.getPrm.data.hasOwnProperty(value.subDataKey)) {
9345
- this.getPrm.data[value.subDataKey] = [];
9346
- }
9347
- });
9348
9426
  }
9349
9427
  setHrefValue() {
9350
9428
  this.hrefBtnList().map((item) => {
@@ -9516,7 +9594,7 @@ class PageFormComponent extends AmComponent {
9516
9594
  if (disabeld && item.hasOwnProperty('editable')) {
9517
9595
  item.editable = false;
9518
9596
  }
9519
- // 同一个页面disabled false => true
9597
+ // 同一个页面disabled false => true
9520
9598
  if (!disabeld && item.hasOwnProperty('editable') && !item.editable && typeof item.editable === 'boolean') {
9521
9599
  item.editable = true;
9522
9600
  }
@@ -9558,12 +9636,26 @@ class PageFormComponent extends AmComponent {
9558
9636
  toggleLog() {
9559
9637
  this.sidebarMode.set(this.sidebarMode() === 'left' ? 'right' : 'left');
9560
9638
  }
9639
+ getPageFormSlotContext(grid, index) {
9640
+ return {
9641
+ $implicit: grid,
9642
+ slotKey: grid.slotKey || grid.subDataKey,
9643
+ grid,
9644
+ index,
9645
+ pageForm: this,
9646
+ data: (this.getPrm.data ?? {}),
9647
+ model: grid.type === 'grid' ? this.getPrm.data?.[grid.subDataKey] : this.subFormModel[grid.subDataKey] || {},
9648
+ upsert: this.upsertPrm,
9649
+ active: this.indexValue === index,
9650
+ };
9651
+ }
9561
9652
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9562
- 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: [], 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.type == 'grid') {\n\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t[selectData]=\"grid.selectData\"\n\t\t\t\t\t\t\t[addSort]=\"grid.addSort\">\n\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<!-- @if(indexValue == i){\n\t\t\t\t\t\t\t<form [formGroup]=\"grid.form!\">\n\t\t\t\t\t\t\t\t<custom-form\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>\n\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t} -->\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t</custom-form>\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: 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: i3$2.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3$2.TabList, selector: "p-tablist" }, { kind: "component", type: i3$2.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"] }] }); }
9653
+ 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"] }] }); }
9563
9654
  }
9564
9655
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, decorators: [{
9565
9656
  type: Component,
9566
9657
  args: [{ selector: 'app-page-form', standalone: true, imports: [
9658
+ CommonModule,
9567
9659
  ButtonModule,
9568
9660
  ReactiveFormsModule,
9569
9661
  FormComponent,
@@ -9575,7 +9667,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9575
9667
  RowSelectorComponent$1,
9576
9668
  TranslatePipe,
9577
9669
  HrefBtnListComponent,
9578
- ], 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.type == 'grid') {\n\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t[selectData]=\"grid.selectData\"\n\t\t\t\t\t\t\t[addSort]=\"grid.addSort\">\n\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<!-- @if(indexValue == i){\n\t\t\t\t\t\t\t<form [formGroup]=\"grid.form!\">\n\t\t\t\t\t\t\t\t<custom-form\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>\n\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t} -->\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t</custom-form>\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"] }]
9670
+ PageFormSlotDirective,
9671
+ ], 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"] }]
9579
9672
  }], ctorParameters: () => [], propDecorators: { cForm: [{
9580
9673
  type: ViewChild,
9581
9674
  args: ['cForm']
@@ -9585,6 +9678,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9585
9678
  }], tabForm: [{
9586
9679
  type: ViewChildren,
9587
9680
  args: ['tabForm']
9681
+ }], pageFormSlot: [{
9682
+ type: ContentChild,
9683
+ args: [PageFormSlotDirective, { descendants: true }]
9588
9684
  }], onResize: [{
9589
9685
  type: HostListener,
9590
9686
  args: ['window:resize']
@@ -9832,5 +9928,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9832
9928
  * Generated bundle index. Do not edit.
9833
9929
  */
9834
9930
 
9835
- export { ActionService, ActionsComponent, AmComponent, AsyncRenderer, CellEditAutoCompleteComponent, CellEditDatePickerComponent, CellEditInputDateComponent, CellEditInputNumberCompoent, CellEditInputTextCompoent, CellEditSelectComponent, CellEditSelectFieldComponent, CodeMirrorComponent, CrumbActionComponent, FieldControl, FormComponent, FormFieldComponent, FormTypeComponent, GridComponent, HeadComponent, HrefBtnListComponent, I18N_Token, I18nService, ImportComponent, LANGS, LinkRenderer, LoadingComponent, LoadingService, LogComponent, PageActionService, PageFormComponent, PageGridListComponent, PagerComponent, PopActionService, RowSelectorComponent$1 as RowSelectorComponent, SearchComponent, StepsComponent, ThemeConfigComponent, ThemeConfigService, UserHistoryService, calcRowSpan, changeContent, clearLocal, compileTsToJs, convertAct, convertCol, convertForm, convertGrid, createCircularIterator, deepClone, filterObjectByKeys, formTypeToProps, generateUniqueId, getFilterMatchMode, gridOptionsHooker, gridUtils, isJSONParsable, pageListGridOptions, parseFunctions, toPascalCase };
9931
+ export { ActionService, ActionsComponent, AmComponent, AsyncRenderer, CellEditAutoCompleteComponent, CellEditDatePickerComponent, CellEditInputDateComponent, CellEditInputNumberCompoent, CellEditInputTextCompoent, CellEditSelectComponent, CellEditSelectFieldComponent, CodeMirrorComponent, CrumbActionComponent, FieldControl, FormComponent, FormFieldComponent, FormTypeComponent, GridComponent, HeadComponent, HrefBtnListComponent, I18N_Token, I18nService, ImportComponent, LANGS, LinkRenderer, LoadingComponent, LoadingService, LogComponent, PageActionService, PageFormComponent, PageFormService, PageFormSlotDirective, PageGridListComponent, PagerComponent, PopActionService, RowSelectorComponent$1 as RowSelectorComponent, SearchComponent, StepsComponent, ThemeConfigComponent, ThemeConfigService, UserHistoryService, calcRowSpan, changeContent, clearLocal, compileTsToJs, convertAct, convertCol, convertForm, convertGrid, createCircularIterator, deepClone, filterObjectByKeys, formTypeToProps, generateUniqueId, getFilterMatchMode, gridOptionsHooker, gridUtils, isJSONParsable, pageListGridOptions, parseFunctions, toPascalCase };
9836
9932
  //# sourceMappingURL=imm-element-ui.mjs.map