imm-element-ui 2.3.6 → 2.3.7

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.
@@ -5084,6 +5084,8 @@ class CellEditSelectFieldComponent {
5084
5084
  boxShadow: 'none',
5085
5085
  width: `${cellWidth}px`,
5086
5086
  background: 'var(--ag-background-color)',
5087
+ height: '40px',
5088
+ alignItems: 'center'
5087
5089
  };
5088
5090
  this.params.panelStyle = {
5089
5091
  width: `${cellWidth}px`,
@@ -9215,6 +9217,9 @@ class PageFormComponent extends AmComponent {
9215
9217
  this.formDetail = input();
9216
9218
  this.saveFunc = input();
9217
9219
  this.configNewPath = input();
9220
+ this.customLeftPanel = input(null);
9221
+ this.selectedId = input();
9222
+ this.currentIdAndModelName = {};
9218
9223
  this.userHistoryService = inject(UserHistoryService);
9219
9224
  this.pageFormService = inject(PageFormService);
9220
9225
  this.cdr = inject(ChangeDetectorRef);
@@ -9236,8 +9241,7 @@ class PageFormComponent extends AmComponent {
9236
9241
  this.slotMap = new Map();
9237
9242
  this.slotContextMap = new Map();
9238
9243
  this.slotRenderStates = [];
9239
- console.log(`PageFormComponent`);
9240
- this.id = Number(this.route.snapshot.paramMap.get('id'));
9244
+ this.id = this.selectedId() ?? Number(this.route.snapshot.paramMap.get('id'));
9241
9245
  this.pageUrl = this.route.snapshot.url
9242
9246
  .map((segment) => segment.path)
9243
9247
  .join('/')
@@ -9246,9 +9250,8 @@ class PageFormComponent extends AmComponent {
9246
9250
  effect(() => {
9247
9251
  this.modelName = this.getPrmInput().modelName;
9248
9252
  this.getPrm = { ...this.getPrmInput() };
9249
- this.id && (this.getPrm.id = this.id);
9250
- if (this.id) {
9251
- // console.log(typeof this.formDetail(), 'form----');
9253
+ this.id && (this.getPrm.id = this.selectedId() ?? this.id);
9254
+ if (this.id && this.modelName) {
9252
9255
  typeof this.formDetail() == 'function' ? this.formDetail()(this.id) : this.getDetail();
9253
9256
  }
9254
9257
  else {
@@ -9370,9 +9373,9 @@ class PageFormComponent extends AmComponent {
9370
9373
  else if (action === 'delete') {
9371
9374
  if (sub['maptmp']?.has(recordIndex)) {
9372
9375
  let data = sub['maptmp']?.get(recordIndex);
9373
- data[field] && (delete data[field]);
9376
+ data[field] && delete data[field];
9374
9377
  let keys = Object.keys(data);
9375
- (keys.length == 0) && (sub['maptmp']?.delete(recordIndex));
9378
+ keys.length == 0 && sub['maptmp']?.delete(recordIndex);
9376
9379
  }
9377
9380
  if (sub['logtmp']?.get(recordIndex + field)) {
9378
9381
  sub['logtmp']?.delete(recordIndex + field);
@@ -9818,7 +9821,7 @@ class PageFormComponent extends AmComponent {
9818
9821
  ids = selectItem.filter((v) => v.id).map((v) => v.id);
9819
9822
  }
9820
9823
  if (ids.length > 0) {
9821
- this.web_remove({ modelName: grid.gridOptions.modelName, ids }).subscribe(res => {
9824
+ this.web_remove({ modelName: grid.gridOptions.modelName, ids }).subscribe((res) => {
9822
9825
  this.pageFormService.removeData(grid.subDataKey, this.pageFormService.getSelectedRows(), grid);
9823
9826
  this.pageFormService.setSelectedRows([]);
9824
9827
  });
@@ -9829,7 +9832,7 @@ class PageFormComponent extends AmComponent {
9829
9832
  }
9830
9833
  }
9831
9834
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9832
- 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 && indexValue === i) {\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] bg-white\">\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(grid)\" />\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 }); }
9835
+ 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 }, customLeftPanel: { classPropertyName: "customLeftPanel", publicName: "customLeftPanel", isSignal: true, isRequired: false, transformFunction: null }, selectedId: { classPropertyName: "selectedId", publicName: "selectedId", 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 <!-- \u4FDD\u5B58\u65B0\u5EFA\u64CD\u4F5C\u533A -->\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 <!-- form \u4E3B\u533A\u57DF-->\n @if(this.form().form) {\n <div class=\"main flex flex-wrap\">\n @if (customLeftPanel()) {\n <div class=\"hidden md:block md:h-full md:overflow-y-auto md:flex-none md:w-fit md:max-w-full\">\n <ng-container *ngTemplateOutlet=\"customLeftPanel()\"></ng-container>\n </div>\n }\n <div class=\"w-full md:min-w-0 md:flex-1 md:h-full md:overflow-y-auto\">\n <div class=\"bg-white mx-2 form-panel\">\n <div class=\"p-2 flex-1\">\n <form [formGroup]=\"form().form!\">\n <custom-form\n #cForm\n [options]=\"formOptions\"\n [upsert]=\"upsertPrm\"\n [model]=\"getPrm.data ?? {}\"></custom-form>\n </form>\n </div>\n @if (gridList() && gridList().length > 0) {\n <div class=\"relative mb-2\">\n <p-tabs [(value)]=\"indexValue\">\n <p-tablist>\n @for (fchild of gridList(); let i = $index; track fchild.gridOptions?.modelName || fchild.subDataKey || fchild.slotKey || $index) {\n <p-tab\n [value]=\"i\"\n (click)=\"tabClick()\">\n {{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n </p-tab>\n }\n </p-tablist>\n </p-tabs>\n </div>\n }\n @for (grid of gridList(); let i = $index; track grid.gridOptions?.modelName || grid.subDataKey || grid.slotKey || $index) {\n @let slotState = slotRenderStates[i];\n @let slot = slotState?.slot;\n <div [hidden]=\"indexValue != i\" [style.height]=\"slot ? grid.gridOptions.scrollHeight : null\">\n @if (slot && indexValue === i) {\n <ng-container *ngTemplateOutlet=\"slot.templateRef; context: slotState.context\"> </ng-container>\n <div class=\"flex justify-end py-[5px] pr-[8px] bg-white\">\n @if (grid.subTableSource != 'none') {\n <p-button\n icon=\"pi pi-plus\"\n [text]=\"true\"\n severity=\"success\"\n [disabled]=\"gridDisable\"\n (onClick)=\"addRowClickHandler(grid)\" />\n }\n @if (grid.showDelete) {\n <p-button\n icon=\"pi pi-trash\"\n [text]=\"true\"\n severity=\"danger\"\n [disabled]=\"gridDisable\"\n (onClick)=\"delRowClickHandler(grid)\" />\n }\n </div>\n } @else {\n @if (grid.type == 'grid') {\n <custom-grid\n #customGrid\n [rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n [upsert]=\"upsertPrm\"\n (deleteEmit)=\"delRows($event)\"\n [addType]=\"grid.subTableSource\"\n (addEmit)=\"dataSourceShow()\"\n [gridOptions]=\"grid.gridOptions\"\n [gridDisable]=\"gridDisable\"\n [authLevel]=\"authLevel()\"\n [showDelete]=\"grid.showDelete\"\n [selectData]=\"grid.selectData\"\n [addSort]=\"grid.addSort\">\n </custom-grid>\n } @else {\n <custom-form\n #tabForm\n [options]=\"grid\"\n [upsert]=\"upsertPrm\"\n [model]=\"subFormModel[grid.subDataKey!] || {}\">\n </custom-form>\n }\n }\n </div>\n }\n </div>\n </div>\n @if (showLog()) {\n <div class=\"w-full lg:w-[400px] md:w-[300px] md:h-full md:overflow-y-auto hidden md:block\">\n <custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n </div>\n }\n </div>\n }\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 }); }
9833
9836
  }
9834
9837
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, decorators: [{
9835
9838
  type: Component,
@@ -9846,7 +9849,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9846
9849
  RowSelectorComponent$1,
9847
9850
  TranslatePipe,
9848
9851
  HrefBtnListComponent,
9849
- ], 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 && indexValue === i) {\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] bg-white\">\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(grid)\" />\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"] }]
9852
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [], template: "<div class=\"md:overflow-hidden\">\n <!-- \u4FDD\u5B58\u65B0\u5EFA\u64CD\u4F5C\u533A -->\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 <!-- form \u4E3B\u533A\u57DF-->\n @if(this.form().form) {\n <div class=\"main flex flex-wrap\">\n @if (customLeftPanel()) {\n <div class=\"hidden md:block md:h-full md:overflow-y-auto md:flex-none md:w-fit md:max-w-full\">\n <ng-container *ngTemplateOutlet=\"customLeftPanel()\"></ng-container>\n </div>\n }\n <div class=\"w-full md:min-w-0 md:flex-1 md:h-full md:overflow-y-auto\">\n <div class=\"bg-white mx-2 form-panel\">\n <div class=\"p-2 flex-1\">\n <form [formGroup]=\"form().form!\">\n <custom-form\n #cForm\n [options]=\"formOptions\"\n [upsert]=\"upsertPrm\"\n [model]=\"getPrm.data ?? {}\"></custom-form>\n </form>\n </div>\n @if (gridList() && gridList().length > 0) {\n <div class=\"relative mb-2\">\n <p-tabs [(value)]=\"indexValue\">\n <p-tablist>\n @for (fchild of gridList(); let i = $index; track fchild.gridOptions?.modelName || fchild.subDataKey || fchild.slotKey || $index) {\n <p-tab\n [value]=\"i\"\n (click)=\"tabClick()\">\n {{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n </p-tab>\n }\n </p-tablist>\n </p-tabs>\n </div>\n }\n @for (grid of gridList(); let i = $index; track grid.gridOptions?.modelName || grid.subDataKey || grid.slotKey || $index) {\n @let slotState = slotRenderStates[i];\n @let slot = slotState?.slot;\n <div [hidden]=\"indexValue != i\" [style.height]=\"slot ? grid.gridOptions.scrollHeight : null\">\n @if (slot && indexValue === i) {\n <ng-container *ngTemplateOutlet=\"slot.templateRef; context: slotState.context\"> </ng-container>\n <div class=\"flex justify-end py-[5px] pr-[8px] bg-white\">\n @if (grid.subTableSource != 'none') {\n <p-button\n icon=\"pi pi-plus\"\n [text]=\"true\"\n severity=\"success\"\n [disabled]=\"gridDisable\"\n (onClick)=\"addRowClickHandler(grid)\" />\n }\n @if (grid.showDelete) {\n <p-button\n icon=\"pi pi-trash\"\n [text]=\"true\"\n severity=\"danger\"\n [disabled]=\"gridDisable\"\n (onClick)=\"delRowClickHandler(grid)\" />\n }\n </div>\n } @else {\n @if (grid.type == 'grid') {\n <custom-grid\n #customGrid\n [rowData]=\"getPrm.data?.[grid.subDataKey!]\"\n [upsert]=\"upsertPrm\"\n (deleteEmit)=\"delRows($event)\"\n [addType]=\"grid.subTableSource\"\n (addEmit)=\"dataSourceShow()\"\n [gridOptions]=\"grid.gridOptions\"\n [gridDisable]=\"gridDisable\"\n [authLevel]=\"authLevel()\"\n [showDelete]=\"grid.showDelete\"\n [selectData]=\"grid.selectData\"\n [addSort]=\"grid.addSort\">\n </custom-grid>\n } @else {\n <custom-form\n #tabForm\n [options]=\"grid\"\n [upsert]=\"upsertPrm\"\n [model]=\"subFormModel[grid.subDataKey!] || {}\">\n </custom-form>\n }\n }\n </div>\n }\n </div>\n </div>\n @if (showLog()) {\n <div class=\"w-full lg:w-[400px] md:w-[300px] md:h-full md:overflow-y-auto hidden md:block\">\n <custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n </div>\n }\n </div>\n }\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"] }]
9850
9853
  }], ctorParameters: () => [], propDecorators: { cForm: [{
9851
9854
  type: ViewChild,
9852
9855
  args: ['cForm']