imm-element-ui 0.2.9 → 0.3.2

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.
@@ -3689,8 +3689,9 @@ const formTypeToProps = {
3689
3689
  codemirror: 'codeMirrorProps',
3690
3690
  };
3691
3691
 
3692
- class CrumbActionComponent {
3692
+ class CrumbActionComponent extends AmComponent {
3693
3693
  constructor() {
3694
+ super();
3694
3695
  this.userHistoryService = inject(UserHistoryService);
3695
3696
  this.action = inject(ActionService);
3696
3697
  this.crumbList = computed(() => {
@@ -3698,7 +3699,7 @@ class CrumbActionComponent {
3698
3699
  return crumb.map((v) => v);
3699
3700
  });
3700
3701
  this.crumbTitle = signal({});
3701
- this.router = inject(Router);
3702
+ // router = inject(Router);
3702
3703
  this.isNew = false;
3703
3704
  this.isShowCog = input(false);
3704
3705
  this.crumbFront = [];
@@ -3824,11 +3825,11 @@ class CrumbActionComponent {
3824
3825
  this.actOp && this.actOp.toggle(event);
3825
3826
  }
3826
3827
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CrumbActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3827
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CrumbActionComponent, isStandalone: true, selector: "app-crumb-action", inputs: { isShowCog: { classPropertyName: "isShowCog", publicName: "isShowCog", isSignal: true, isRequired: false, transformFunction: null }, addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, newUrl: { classPropertyName: "newUrl", publicName: "newUrl", isSignal: true, isRequired: false, transformFunction: null }, onExport: { classPropertyName: "onExport", publicName: "onExport", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, isList: { classPropertyName: "isList", publicName: "isList", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { saveEvent: "saveEvent", cancelEvent: "cancelEvent", actionEvent: "actionEvent" }, host: { listeners: { "window:resize": "resize($event)" } }, queries: [{ propertyName: "newBtnTemplateRef", first: true, predicate: ["newBtn"] }], viewQueries: [{ propertyName: "op", first: true, predicate: ["op"], descendants: true }, { propertyName: "listOp", first: true, predicate: ["listOp"], descendants: true }, { propertyName: "actOp", first: true, predicate: ["actOp"], descendants: true }], ngImport: i0, template: "<div class=\"flex items-center gap-1\">\r\n <div class=\"left-btn flex gap-1\">\r\n <!-- TODO \u6743\u9650\u6570\u636E\u63A5\u5165 -->\r\n @if(!newBtnTemplateRef){\r\n @if(this.authLevel() > 2 && addVisible()){\r\n <p-button (click)=\"goNew()\" [outlined]=\"outlined()\">{{'app.create' | translate}}</p-button>\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"newBtnTemplateRef\"></ng-container>\r\n }\r\n </div>\r\n @if(crumbList().length > 0){\r\n <div class=\"flex flex-col\">\r\n <div class=\"hidden md:flex\">\r\n @if(crumbList().length <= 2){\r\n @for(fchild of crumbList(); track fchild.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(fchild)\">\r\n @if(fchild.i18nKey!= ''){\r\n {{ fchild!.i18nKey | translate}}\r\n } @else {\r\n {{fchild.title}}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"flex\">\r\n <div class=\"crumb-title cursor-pointer select-crumb\">\r\n <div class=\"w-[17px] h-[17px] flex items-center font-bold text-[13px]\" (click)=\"toggle($event)\">\r\n ...\r\n </div>\r\n <p-tieredmenu #op [model]=\"crumbFront\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\">\r\n <span class=\"ml-2 w-full\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </span>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n </div>\r\n @for(item of crumbEnd;track item.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n \r\n </div>\r\n <div class=\"min-w-0 text-text-color text-[12px] title-action\">\r\n <span class=\"hidden md:inline-block whitespace-nowrap\">{{isNew? 'New':crumbTitle().title}}</span>\r\n @if(isShowCog()){\r\n @if(isList()){\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleListOp($event)\"/>\r\n @if(listOpItems.length > 0){\r\n <p-tieredmenu #listOp [model]=\"listOpItems\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item.type)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n } @else {\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleAct($event)\"/>\r\n @if(actionList().length > 0 && showAct){\r\n <p-tieredmenu #actOp [model]=\"actionList()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"actEvent(item)\">\r\n <!-- <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span> -->\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n }\r\n }\r\n @if(this.authLevel() > 2 && !isList()){\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-cloud-upload\" \r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n }\r\n <!-- @if(crumbList().length >= 2){ -->\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n <!-- } -->\r\n </div>\r\n </div>\r\n } @else {\r\n <!-- \u521D\u59CB\u8282\u70B9 -->\r\n <div class=\"min-w-0 flex items-center text-[14px] text-text-color\">\r\n <span class=\"hidden md:inline-block max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\">\r\n @if(crumbTitle().i18nKey != ''){\r\n {{crumbTitle().i18nKey | translate}}\r\n } @else {\r\n {{crumbTitle().title}}\r\n }\r\n </span>\r\n @if(isShowCog()){\r\n <p-button \r\n variant=\"text\"\r\n severity=\"secondary\" \r\n icon=\"pi pi-cog\" \r\n aria-label=\"\u64CD\u4F5C\" \r\n (onClick)=\"toggleListOp($event)\"/>\r\n @if(listOpItems.length > 0){\r\n <p-tieredmenu #listOp [model]=\"listOpItems\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item.type)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n \r\n }\r\n @if(!isList()){\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-cloud-upload\" \r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n }\r\n </div>\r\n }\r\n \r\n</div>", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.crumb-title{color:var(--p-primary-color)}.crumb-title+.crumb-title{padding-left:.5rem}.crumb-title+.crumb-title:before{padding-right:.5rem;content:var(--breadcrumb-divider, \"/\")}:host::ng-deep .p-button-text.p-button-secondary{color:var(--p-surface-700)}:host::ng-deep .title-action .p-button{padding:0}:host::ng-deep .new-action .p-button{padding:0}:host::ng-deep .new-action .p-button button{padding-top:2px;height:100%;align-items:center}:host::ng-deep .select-crumb .p-button{padding:0;background-color:#fff;line-height:1}:host::ng-deep .select-crumb .p-button button{padding:0;width:17px;height:17px}:host::ng-deep .p-popover-content{padding:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$3.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: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TieredMenu, selector: "p-tieredMenu, p-tieredmenu, p-tiered-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "breakpoint", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }] }); }
3828
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CrumbActionComponent, isStandalone: true, selector: "app-crumb-action", inputs: { isShowCog: { classPropertyName: "isShowCog", publicName: "isShowCog", isSignal: true, isRequired: false, transformFunction: null }, addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, newUrl: { classPropertyName: "newUrl", publicName: "newUrl", isSignal: true, isRequired: false, transformFunction: null }, onExport: { classPropertyName: "onExport", publicName: "onExport", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, isList: { classPropertyName: "isList", publicName: "isList", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { saveEvent: "saveEvent", cancelEvent: "cancelEvent", actionEvent: "actionEvent" }, host: { listeners: { "window:resize": "resize($event)" } }, queries: [{ propertyName: "newBtnTemplateRef", first: true, predicate: ["newBtn"] }], viewQueries: [{ propertyName: "op", first: true, predicate: ["op"], descendants: true }, { propertyName: "listOp", first: true, predicate: ["listOp"], descendants: true }, { propertyName: "actOp", first: true, predicate: ["actOp"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex items-center gap-1\">\r\n <div class=\"left-btn flex gap-1\">\r\n <!-- TODO \u6743\u9650\u6570\u636E\u63A5\u5165 -->\r\n @if(!newBtnTemplateRef){\r\n @if(this.authLevel() > 2 && addVisible()){\r\n <p-button (click)=\"goNew()\" [outlined]=\"outlined()\">{{'app.create' | translate}}</p-button>\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"newBtnTemplateRef\"></ng-container>\r\n }\r\n </div>\r\n @if(crumbList().length > 0){\r\n <div class=\"flex flex-col\">\r\n <div class=\"hidden md:flex\">\r\n @if(crumbList().length <= 2){\r\n @for(fchild of crumbList(); track fchild.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(fchild)\">\r\n @if(fchild.i18nKey!= ''){\r\n {{ fchild!.i18nKey | translate}}\r\n } @else {\r\n {{fchild.title}}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"flex\">\r\n <div class=\"crumb-title cursor-pointer select-crumb\">\r\n <div class=\"w-[17px] h-[17px] flex items-center font-bold text-[13px]\" (click)=\"toggle($event)\">\r\n ...\r\n </div>\r\n <p-tieredmenu #op [model]=\"crumbFront\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\">\r\n <span class=\"ml-2 w-full\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </span>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n </div>\r\n @for(item of crumbEnd;track item.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n \r\n </div>\r\n <div class=\"min-w-0 text-text-color text-[12px] title-action\">\r\n <span class=\"hidden md:inline-block whitespace-nowrap\">{{isNew? 'New':crumbTitle().title}}</span>\r\n @if(isShowCog()){\r\n @if(isList()){\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleListOp($event)\"/>\r\n @if(listOpItems.length > 0){\r\n <p-tieredmenu #listOp [model]=\"listOpItems\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item.type)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n } @else {\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleAct($event)\"/>\r\n @if(actionList().length > 0 && showAct){\r\n <p-tieredmenu #actOp [model]=\"actionList()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"actEvent(item)\">\r\n <!-- <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span> -->\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n }\r\n }\r\n @if(this.authLevel() > 2 && !isList()){\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-cloud-upload\" \r\n [loading]=\"isLoading()\"\r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n }\r\n <!-- @if(crumbList().length >= 2){ -->\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n <!-- } -->\r\n </div>\r\n </div>\r\n } @else {\r\n <!-- \u521D\u59CB\u8282\u70B9 -->\r\n <div class=\"min-w-0 flex items-center text-[14px] text-text-color\">\r\n <span class=\"hidden md:inline-block max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\">\r\n @if(crumbTitle().i18nKey != ''){\r\n {{crumbTitle().i18nKey | translate}}\r\n } @else {\r\n {{crumbTitle().title}}\r\n }\r\n </span>\r\n @if(isShowCog()){\r\n <p-button \r\n variant=\"text\"\r\n severity=\"secondary\" \r\n icon=\"pi pi-cog\" \r\n aria-label=\"\u64CD\u4F5C\" \r\n (onClick)=\"toggleListOp($event)\"/>\r\n @if(listOpItems.length > 0){\r\n <p-tieredmenu #listOp [model]=\"listOpItems\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item.type)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n \r\n }\r\n @if(!isList()){\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-cloud-upload\" \r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n }\r\n </div>\r\n }\r\n \r\n</div>", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.crumb-title{color:var(--p-primary-color)}.crumb-title+.crumb-title{padding-left:.5rem}.crumb-title+.crumb-title:before{padding-right:.5rem;content:var(--breadcrumb-divider, \"/\")}:host::ng-deep .p-button-text.p-button-secondary{color:var(--p-surface-700)}:host::ng-deep .title-action .p-button{padding:0}:host::ng-deep .new-action .p-button{padding:0}:host::ng-deep .new-action .p-button button{padding-top:2px;height:100%;align-items:center}:host::ng-deep .select-crumb .p-button{padding:0;background-color:#fff;line-height:1}:host::ng-deep .select-crumb .p-button button{padding:0;width:17px;height:17px}:host::ng-deep .p-popover-content{padding:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$3.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: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TieredMenu, selector: "p-tieredMenu, p-tieredmenu, p-tiered-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "breakpoint", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }] }); }
3828
3829
  }
3829
3830
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CrumbActionComponent, decorators: [{
3830
3831
  type: Component,
3831
- args: [{ selector: 'app-crumb-action', standalone: true, imports: [ButtonModule, TranslatePipe, CommonModule, TieredMenu], template: "<div class=\"flex items-center gap-1\">\r\n <div class=\"left-btn flex gap-1\">\r\n <!-- TODO \u6743\u9650\u6570\u636E\u63A5\u5165 -->\r\n @if(!newBtnTemplateRef){\r\n @if(this.authLevel() > 2 && addVisible()){\r\n <p-button (click)=\"goNew()\" [outlined]=\"outlined()\">{{'app.create' | translate}}</p-button>\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"newBtnTemplateRef\"></ng-container>\r\n }\r\n </div>\r\n @if(crumbList().length > 0){\r\n <div class=\"flex flex-col\">\r\n <div class=\"hidden md:flex\">\r\n @if(crumbList().length <= 2){\r\n @for(fchild of crumbList(); track fchild.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(fchild)\">\r\n @if(fchild.i18nKey!= ''){\r\n {{ fchild!.i18nKey | translate}}\r\n } @else {\r\n {{fchild.title}}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"flex\">\r\n <div class=\"crumb-title cursor-pointer select-crumb\">\r\n <div class=\"w-[17px] h-[17px] flex items-center font-bold text-[13px]\" (click)=\"toggle($event)\">\r\n ...\r\n </div>\r\n <p-tieredmenu #op [model]=\"crumbFront\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\">\r\n <span class=\"ml-2 w-full\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </span>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n </div>\r\n @for(item of crumbEnd;track item.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n \r\n </div>\r\n <div class=\"min-w-0 text-text-color text-[12px] title-action\">\r\n <span class=\"hidden md:inline-block whitespace-nowrap\">{{isNew? 'New':crumbTitle().title}}</span>\r\n @if(isShowCog()){\r\n @if(isList()){\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleListOp($event)\"/>\r\n @if(listOpItems.length > 0){\r\n <p-tieredmenu #listOp [model]=\"listOpItems\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item.type)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n } @else {\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleAct($event)\"/>\r\n @if(actionList().length > 0 && showAct){\r\n <p-tieredmenu #actOp [model]=\"actionList()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"actEvent(item)\">\r\n <!-- <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span> -->\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n }\r\n }\r\n @if(this.authLevel() > 2 && !isList()){\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-cloud-upload\" \r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n }\r\n <!-- @if(crumbList().length >= 2){ -->\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n <!-- } -->\r\n </div>\r\n </div>\r\n } @else {\r\n <!-- \u521D\u59CB\u8282\u70B9 -->\r\n <div class=\"min-w-0 flex items-center text-[14px] text-text-color\">\r\n <span class=\"hidden md:inline-block max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\">\r\n @if(crumbTitle().i18nKey != ''){\r\n {{crumbTitle().i18nKey | translate}}\r\n } @else {\r\n {{crumbTitle().title}}\r\n }\r\n </span>\r\n @if(isShowCog()){\r\n <p-button \r\n variant=\"text\"\r\n severity=\"secondary\" \r\n icon=\"pi pi-cog\" \r\n aria-label=\"\u64CD\u4F5C\" \r\n (onClick)=\"toggleListOp($event)\"/>\r\n @if(listOpItems.length > 0){\r\n <p-tieredmenu #listOp [model]=\"listOpItems\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item.type)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n \r\n }\r\n @if(!isList()){\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-cloud-upload\" \r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n }\r\n </div>\r\n }\r\n \r\n</div>", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.crumb-title{color:var(--p-primary-color)}.crumb-title+.crumb-title{padding-left:.5rem}.crumb-title+.crumb-title:before{padding-right:.5rem;content:var(--breadcrumb-divider, \"/\")}:host::ng-deep .p-button-text.p-button-secondary{color:var(--p-surface-700)}:host::ng-deep .title-action .p-button{padding:0}:host::ng-deep .new-action .p-button{padding:0}:host::ng-deep .new-action .p-button button{padding-top:2px;height:100%;align-items:center}:host::ng-deep .select-crumb .p-button{padding:0;background-color:#fff;line-height:1}:host::ng-deep .select-crumb .p-button button{padding:0;width:17px;height:17px}:host::ng-deep .p-popover-content{padding:.5rem}\n"] }]
3832
+ args: [{ selector: 'app-crumb-action', standalone: true, imports: [ButtonModule, TranslatePipe, CommonModule, TieredMenu], template: "<div class=\"flex items-center gap-1\">\r\n <div class=\"left-btn flex gap-1\">\r\n <!-- TODO \u6743\u9650\u6570\u636E\u63A5\u5165 -->\r\n @if(!newBtnTemplateRef){\r\n @if(this.authLevel() > 2 && addVisible()){\r\n <p-button (click)=\"goNew()\" [outlined]=\"outlined()\">{{'app.create' | translate}}</p-button>\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"newBtnTemplateRef\"></ng-container>\r\n }\r\n </div>\r\n @if(crumbList().length > 0){\r\n <div class=\"flex flex-col\">\r\n <div class=\"hidden md:flex\">\r\n @if(crumbList().length <= 2){\r\n @for(fchild of crumbList(); track fchild.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(fchild)\">\r\n @if(fchild.i18nKey!= ''){\r\n {{ fchild!.i18nKey | translate}}\r\n } @else {\r\n {{fchild.title}}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"flex\">\r\n <div class=\"crumb-title cursor-pointer select-crumb\">\r\n <div class=\"w-[17px] h-[17px] flex items-center font-bold text-[13px]\" (click)=\"toggle($event)\">\r\n ...\r\n </div>\r\n <p-tieredmenu #op [model]=\"crumbFront\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\">\r\n <span class=\"ml-2 w-full\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </span>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n </div>\r\n @for(item of crumbEnd;track item.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n \r\n </div>\r\n <div class=\"min-w-0 text-text-color text-[12px] title-action\">\r\n <span class=\"hidden md:inline-block whitespace-nowrap\">{{isNew? 'New':crumbTitle().title}}</span>\r\n @if(isShowCog()){\r\n @if(isList()){\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleListOp($event)\"/>\r\n @if(listOpItems.length > 0){\r\n <p-tieredmenu #listOp [model]=\"listOpItems\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item.type)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n } @else {\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleAct($event)\"/>\r\n @if(actionList().length > 0 && showAct){\r\n <p-tieredmenu #actOp [model]=\"actionList()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"actEvent(item)\">\r\n <!-- <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span> -->\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n }\r\n }\r\n @if(this.authLevel() > 2 && !isList()){\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-cloud-upload\" \r\n [loading]=\"isLoading()\"\r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n }\r\n <!-- @if(crumbList().length >= 2){ -->\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n <!-- } -->\r\n </div>\r\n </div>\r\n } @else {\r\n <!-- \u521D\u59CB\u8282\u70B9 -->\r\n <div class=\"min-w-0 flex items-center text-[14px] text-text-color\">\r\n <span class=\"hidden md:inline-block max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\">\r\n @if(crumbTitle().i18nKey != ''){\r\n {{crumbTitle().i18nKey | translate}}\r\n } @else {\r\n {{crumbTitle().title}}\r\n }\r\n </span>\r\n @if(isShowCog()){\r\n <p-button \r\n variant=\"text\"\r\n severity=\"secondary\" \r\n icon=\"pi pi-cog\" \r\n aria-label=\"\u64CD\u4F5C\" \r\n (onClick)=\"toggleListOp($event)\"/>\r\n @if(listOpItems.length > 0){\r\n <p-tieredmenu #listOp [model]=\"listOpItems\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item.type)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <!-- <p-badge *ngIf=\"item.badge\" class=\"ml-auto\" [value]=\"item.badge\" /> -->\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n \r\n }\r\n @if(!isList()){\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-cloud-upload\" \r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n }\r\n </div>\r\n }\r\n \r\n</div>", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.crumb-title{color:var(--p-primary-color)}.crumb-title+.crumb-title{padding-left:.5rem}.crumb-title+.crumb-title:before{padding-right:.5rem;content:var(--breadcrumb-divider, \"/\")}:host::ng-deep .p-button-text.p-button-secondary{color:var(--p-surface-700)}:host::ng-deep .title-action .p-button{padding:0}:host::ng-deep .new-action .p-button{padding:0}:host::ng-deep .new-action .p-button button{padding-top:2px;height:100%;align-items:center}:host::ng-deep .select-crumb .p-button{padding:0;background-color:#fff;line-height:1}:host::ng-deep .select-crumb .p-button button{padding:0;width:17px;height:17px}:host::ng-deep .p-popover-content{padding:.5rem}\n"] }]
3832
3833
  }], ctorParameters: () => [], propDecorators: { op: [{
3833
3834
  type: ViewChild,
3834
3835
  args: ['op']
@@ -3944,7 +3945,7 @@ const _gridUtils = {
3944
3945
  calcRowIds: (api, isServerSide) => {
3945
3946
  const result = [];
3946
3947
  api.forEachNode((node) => {
3947
- node.isSelected() && result.push(node.data.id);
3948
+ node.isSelected() && result.push(node.data);
3948
3949
  });
3949
3950
  return result;
3950
3951
  },
@@ -4690,10 +4691,7 @@ class GridComponent {
4690
4691
  constructor(action) {
4691
4692
  this.action = action;
4692
4693
  this.gridOptions = input({});
4693
- this.toOptions = computed(() => {
4694
- console.log('toOptions', this.gridOptions());
4695
- return gridUtils.mergeOptions({ ...defaultOption, ...this.gridOptions() }, untracked(() => this.searchPrm()).limit, this.action);
4696
- });
4694
+ this.toOptions = computed(() => gridUtils.mergeOptions({ ...defaultOption, ...this.gridOptions() }, untracked(() => this.searchPrm()).limit, this.action));
4697
4695
  this.themeConfig = inject(ThemeConfigService);
4698
4696
  this.i18nService = inject(I18nService);
4699
4697
  this.myTheme = computed(() => gridUtils.getTheme(this.themeConfig));
@@ -5090,21 +5088,31 @@ class ActionsComponent {
5090
5088
  this.grid = input();
5091
5089
  this.actions = input();
5092
5090
  this.isCancel = input(true);
5091
+ this.authLevel = input();
5093
5092
  this.selectedRows = [];
5094
5093
  effect(() => {
5095
5094
  this.selectedRows = this.action.getSelectedRows();
5096
5095
  });
5097
5096
  }
5097
+ getClass(action) {
5098
+ if (action.label == '删除') {
5099
+ return !!action.btnHidden?.({ action: action, rows: this.selectedRows, grid: this.grid() }) ? 'hidden' : 'block';
5100
+ }
5101
+ return (action.auth || 0) > (this.authLevel() || 0) ||
5102
+ !!action.btnHidden?.({ action: action, rows: this.selectedRows, grid: this.grid() })
5103
+ ? 'hidden'
5104
+ : 'block';
5105
+ }
5098
5106
  doCancelAction() {
5099
5107
  this.grid()?.getGrid().api.deselectAll();
5100
5108
  this.action.setSelectedRows([]);
5101
5109
  }
5102
5110
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsComponent, deps: [{ token: ActionService }], target: i0.ɵɵFactoryTarget.Component }); }
5103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ActionsComponent, isStandalone: true, selector: "custom-actions", inputs: { grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, isCancel: { classPropertyName: "isCancel", publicName: "isCancel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<p-toast />\r\n<div class=\"flex flex-wrap gap-4 justify-center\">\r\n\t@if(isCancel()){\r\n\t\t<p-button\r\n\t\t\t[severity]=\"'secondary'\"\r\n\t\t\t[label]=\"('primeng.cancel' | translate) + ' ' + selectedRows.length\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t(click)=\"doCancelAction()\">\r\n\t\t</p-button>\r\n\t}\r\n\t\r\n\t@for (action of actions(); track action) {\r\n\t\t<p-button\r\n\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t[variant]=\"action.variant\"\r\n\t\t\t[icon]=\"action.icon\"\r\n\t\t\t[severity]=\"action.severity\"\r\n\t\t\t[disabled]=\"action.btnDisabled?.({ action: action, rows: selectedRows, grid: grid() }) ?? false\"\r\n\t\t\t(onClick)=\"action.onClick({ originalEvent: $event, action: action, rows: selectedRows, grid: grid() })\"></p-button>\r\n\t}\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$3.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: "component", type: Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ActionsComponent, isStandalone: true, selector: "custom-actions", inputs: { grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, isCancel: { classPropertyName: "isCancel", publicName: "isCancel", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<p-toast />\r\n<div class=\"flex flex-wrap gap-4 justify-center\">\r\n\t@if (isCancel()) {\r\n\t\t<p-button\r\n\t\t\t[severity]=\"'secondary'\"\r\n\t\t\t[label]=\"('primeng.cancel' | translate) + ' ' + selectedRows.length\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t(click)=\"doCancelAction()\">\r\n\t\t</p-button>\r\n\t}\r\n\r\n\t@for (action of actions(); track action) {\r\n\t\t<p-button\r\n\t\t\tsize=\"small\"\r\n\t\t\t[variant]=\"action.variant\"\r\n\t\t\t[icon]=\"action.icon\"\r\n\t\t\t[severity]=\"action.severity\"\r\n\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\t[styleClass]=\"getClass(action)\"\r\n\t\t\t[disabled]=\"action.btnDisabled?.({ action: action, rows: selectedRows, grid: grid() }) ?? false\"\r\n\t\t\t(onClick)=\"action.onClick && action.onClick?.({ originalEvent: $event, action: action, rows: selectedRows, grid: grid() })\"></p-button>\r\n\t}\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$3.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: "component", type: Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5104
5112
  }
5105
5113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsComponent, decorators: [{
5106
5114
  type: Component,
5107
- args: [{ selector: 'custom-actions', standalone: true, imports: [ButtonModule, Toast, TranslatePipe], template: "<p-toast />\r\n<div class=\"flex flex-wrap gap-4 justify-center\">\r\n\t@if(isCancel()){\r\n\t\t<p-button\r\n\t\t\t[severity]=\"'secondary'\"\r\n\t\t\t[label]=\"('primeng.cancel' | translate) + ' ' + selectedRows.length\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t(click)=\"doCancelAction()\">\r\n\t\t</p-button>\r\n\t}\r\n\t\r\n\t@for (action of actions(); track action) {\r\n\t\t<p-button\r\n\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t[variant]=\"action.variant\"\r\n\t\t\t[icon]=\"action.icon\"\r\n\t\t\t[severity]=\"action.severity\"\r\n\t\t\t[disabled]=\"action.btnDisabled?.({ action: action, rows: selectedRows, grid: grid() }) ?? false\"\r\n\t\t\t(onClick)=\"action.onClick({ originalEvent: $event, action: action, rows: selectedRows, grid: grid() })\"></p-button>\r\n\t}\r\n</div>\r\n" }]
5115
+ args: [{ selector: 'custom-actions', standalone: true, imports: [ButtonModule, Toast, TranslatePipe], template: "<p-toast />\r\n<div class=\"flex flex-wrap gap-4 justify-center\">\r\n\t@if (isCancel()) {\r\n\t\t<p-button\r\n\t\t\t[severity]=\"'secondary'\"\r\n\t\t\t[label]=\"('primeng.cancel' | translate) + ' ' + selectedRows.length\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t(click)=\"doCancelAction()\">\r\n\t\t</p-button>\r\n\t}\r\n\r\n\t@for (action of actions(); track action) {\r\n\t\t<p-button\r\n\t\t\tsize=\"small\"\r\n\t\t\t[variant]=\"action.variant\"\r\n\t\t\t[icon]=\"action.icon\"\r\n\t\t\t[severity]=\"action.severity\"\r\n\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\t[styleClass]=\"getClass(action)\"\r\n\t\t\t[disabled]=\"action.btnDisabled?.({ action: action, rows: selectedRows, grid: grid() }) ?? false\"\r\n\t\t\t(onClick)=\"action.onClick && action.onClick?.({ originalEvent: $event, action: action, rows: selectedRows, grid: grid() })\"></p-button>\r\n\t}\r\n</div>\r\n" }]
5108
5116
  }], ctorParameters: () => [{ type: ActionService }] });
5109
5117
 
5110
5118
  class PopListComponent {
@@ -5929,6 +5937,7 @@ class HeadComponent {
5929
5937
  this.gridOptions = input();
5930
5938
  this.grid = input();
5931
5939
  this.actions = input();
5940
+ this.authLevel = input();
5932
5941
  this.rowSelected = false;
5933
5942
  effect(() => {
5934
5943
  this.rowSelected = !!this.action.getSelectedRows().length;
@@ -5947,11 +5956,11 @@ class HeadComponent {
5947
5956
  }
5948
5957
  }
5949
5958
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadComponent, deps: [{ token: ActionService }], target: i0.ɵɵFactoryTarget.Component }); }
5950
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: HeadComponent, isStandalone: true, selector: "custom-head", inputs: { gridOptions: { classPropertyName: "gridOptions", publicName: "gridOptions", isSignal: true, isRequired: false, transformFunction: null }, grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "actionsContainerRef", first: true, predicate: ["actionsContainerRef"], descendants: true }, { propertyName: "searchContainerRef", first: true, predicate: ["searchContainerRef"], descendants: true }], ngImport: i0, template: "<div class=\"lg:min-w-[560px] h-[41.5px]\">\r\n\t<div\r\n\t\tclass=\"py-2\"\r\n\t\t#actionsContainerRef>\r\n\t\t<custom-actions\r\n\t\t\t[actions]=\"actions()\"\r\n\t\t\t[grid]=\"grid()\"></custom-actions>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"py-1\"\r\n\t\t#searchContainerRef>\r\n\t\t<custom-search [gridOptions]=\"gridOptions()\"></custom-search>\r\n\t</div>\r\n</div>\r\n", styles: [".child-hide{display:none}\n"], dependencies: [{ kind: "component", type: SearchComponent, selector: "custom-search", inputs: ["searchPrm", "gridOptions"] }, { kind: "component", type: ActionsComponent, selector: "custom-actions", inputs: ["grid", "actions", "isCancel"] }, { kind: "ngmodule", type: ButtonModule }] }); }
5959
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: HeadComponent, isStandalone: true, selector: "custom-head", inputs: { gridOptions: { classPropertyName: "gridOptions", publicName: "gridOptions", isSignal: true, isRequired: false, transformFunction: null }, grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "actionsContainerRef", first: true, predicate: ["actionsContainerRef"], descendants: true }, { propertyName: "searchContainerRef", first: true, predicate: ["searchContainerRef"], descendants: true }], ngImport: i0, template: "<div class=\"lg:min-w-[560px] h-[41.5px]\">\r\n\t<div\r\n\t\tclass=\"py-2\"\r\n\t\t#actionsContainerRef>\r\n\t\t<custom-actions\r\n\t\t\t[actions]=\"actions()\"\r\n\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t[grid]=\"grid()\"></custom-actions>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"py-1\"\r\n\t\t#searchContainerRef>\r\n\t\t<custom-search [gridOptions]=\"gridOptions()\"></custom-search>\r\n\t</div>\r\n</div>\r\n", styles: [".child-hide{display:none}\n"], dependencies: [{ kind: "component", type: SearchComponent, selector: "custom-search", inputs: ["searchPrm", "gridOptions"] }, { kind: "component", type: ActionsComponent, selector: "custom-actions", inputs: ["grid", "actions", "isCancel", "authLevel"] }, { kind: "ngmodule", type: ButtonModule }] }); }
5951
5960
  }
5952
5961
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadComponent, decorators: [{
5953
5962
  type: Component,
5954
- args: [{ selector: 'custom-head', standalone: true, imports: [SearchComponent, ActionsComponent, ButtonModule], template: "<div class=\"lg:min-w-[560px] h-[41.5px]\">\r\n\t<div\r\n\t\tclass=\"py-2\"\r\n\t\t#actionsContainerRef>\r\n\t\t<custom-actions\r\n\t\t\t[actions]=\"actions()\"\r\n\t\t\t[grid]=\"grid()\"></custom-actions>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"py-1\"\r\n\t\t#searchContainerRef>\r\n\t\t<custom-search [gridOptions]=\"gridOptions()\"></custom-search>\r\n\t</div>\r\n</div>\r\n", styles: [".child-hide{display:none}\n"] }]
5963
+ args: [{ selector: 'custom-head', standalone: true, imports: [SearchComponent, ActionsComponent, ButtonModule], template: "<div class=\"lg:min-w-[560px] h-[41.5px]\">\r\n\t<div\r\n\t\tclass=\"py-2\"\r\n\t\t#actionsContainerRef>\r\n\t\t<custom-actions\r\n\t\t\t[actions]=\"actions()\"\r\n\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t[grid]=\"grid()\"></custom-actions>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"py-1\"\r\n\t\t#searchContainerRef>\r\n\t\t<custom-search [gridOptions]=\"gridOptions()\"></custom-search>\r\n\t</div>\r\n</div>\r\n", styles: [".child-hide{display:none}\n"] }]
5955
5964
  }], ctorParameters: () => [{ type: ActionService }], propDecorators: { actionsContainerRef: [{
5956
5965
  type: ViewChild,
5957
5966
  args: ['actionsContainerRef', { static: false }]
@@ -6245,6 +6254,12 @@ class StepsComponent {
6245
6254
  this.startSteps = [];
6246
6255
  this.endSteps = [];
6247
6256
  this.maxWidth = 0;
6257
+ effect(() => {
6258
+ let current = this.current();
6259
+ if (current != 0 && this.steps().length > 0) {
6260
+ this.refreshSteps();
6261
+ }
6262
+ }, { allowSignalWrites: true });
6248
6263
  }
6249
6264
  ngAfterViewInit() {
6250
6265
  this.calcMaxWidth();
@@ -6377,10 +6392,8 @@ class StepsComponent {
6377
6392
  this.excludeValues.set(excludeValues);
6378
6393
  }
6379
6394
  refreshSteps() {
6380
- setTimeout(() => {
6381
- this.alternateWidthList();
6382
- this.handleSteps();
6383
- }, 300);
6395
+ this.alternateWidthList();
6396
+ this.handleSteps();
6384
6397
  }
6385
6398
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepsComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
6386
6399
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: StepsComponent, isStandalone: true, selector: "custom-steps", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, current: { classPropertyName: "current", publicName: "current", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }, { propertyName: "endBtn", first: true, predicate: ["endBtn"], descendants: true }], ngImport: i0, template: "<div\r\n\t#container\r\n\tclass=\"flex my-1 w-full justify-end\">\r\n\t@for (st of displaySteps(); track st; let i = $index) {\r\n\t\t@if (st.value === 'start') {\r\n\t\t\t<div\r\n\t\t\t\t#startItem\r\n\t\t\t\t[class]=\"getClass(i, ['start-item'])\"\r\n\t\t\t\t(click)=\"showStartSteps($event, startOp)\">\r\n\t\t\t\t<span>...</span>\r\n\t\t\t</div>\r\n\t\t\t<p-popover\r\n\t\t\t\t#startOp\r\n\t\t\t\t[styleClass]=\"'pop-steps start-steps'\"\r\n\t\t\t\t[appendTo]=\"startItem\">\r\n\t\t\t\t<p-listbox\r\n\t\t\t\t\t[options]=\"startSteps\"\r\n\t\t\t\t\t(onChange)=\"onStartStepsChange($event)\"\r\n\t\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\t\tclass=\"w-full md:w-56\" />\r\n\t\t\t</p-popover>\r\n\t\t} @else if (st.value === 'end') {\r\n\t\t\t<div\r\n\t\t\t\t#endItem\r\n\t\t\t\t[class]=\"getClass(i, ['end-item'])\"\r\n\t\t\t\t(click)=\"showEndSteps($event, endOp)\">\r\n\t\t\t\t<span>...</span>\r\n\t\t\t</div>\r\n\t\t\t<p-popover\r\n\t\t\t\t#endOp\r\n\t\t\t\t[styleClass]=\"'pop-steps end-steps'\"\r\n\t\t\t\t[appendTo]=\"endItem\">\r\n\t\t\t\t<p-listbox\r\n\t\t\t\t\t[options]=\"endSteps\"\r\n\t\t\t\t\t(onChange)=\"onEndStepsChange($event)\"\r\n\t\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\t\tclass=\"w-full md:w-56\" />\r\n\t\t\t</p-popover>\r\n\t\t} @else {\r\n\t\t\t<div\r\n\t\t\t\t[class]=\"getClass(i, [])\"\r\n\t\t\t\t(click)=\"changeStatus(st)\">\r\n\t\t\t\t<span>{{ st.i18nKey ? i18n.fanyi(st.i18nKey) : st.label }}</span>\r\n\t\t\t</div>\r\n\t\t}\r\n\t}\r\n</div>\r\n", styles: ["::ng-deep .pop-steps.p-popover.p-popover-flipped:before{display:none}::ng-deep .pop-steps.p-popover.p-popover-flipped:after{display:none}::ng-deep .pop-steps.p-popover:before{display:none}::ng-deep .pop-steps.p-popover:after{display:none}::ng-deep .pop-steps.p-popover-flipped{margin-top:-5px}::ng-deep .pop-steps .p-popover-content{padding:0}::ng-deep .end-steps.p-popover{margin-top:2.5px;z-index:999;position:absolute!important;left:auto!important;right:0!important;top:100%!important;min-width:125px}::ng-deep .start-steps.p-popover{margin-top:2.5px;z-index:999;position:absolute!important;left:0!important;right:auto!important;top:100%!important;min-width:125px}.step-item{position:relative;height:32px;padding:0 5px;background-color:#e7e9ed}.step-item span{color:#334155c2;white-space:nowrap}.step-item.step-first{padding-left:15px}.step-item.step-last{padding-right:15px}.step-item:not(.step-first){border-left:15px solid transparent;margin-left:2px}.step-item:not(.step-first):before{content:\"\";position:absolute;top:0;left:-15px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:12px solid white}.step-item:not(.step-last):after{content:\"\";position:absolute;top:0;right:-12px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:12px solid #e7e9ed;z-index:2}.step-item.step-active{background-color:var(--p-primary-200)}.step-item.step-active span{color:#334155}.step-item.step-active:after{border-left:12px solid var(--p-primary-200)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ListboxModule }, { kind: "component", type: i1$6.Listbox, selector: "p-listbox, p-listBox, p-list-box", inputs: ["id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "ariaLabel", "selectOnFocus", "searchLocale", "focusOnHover", "filterMessage", "filterFields", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "scrollHeight", "tabindex", "multiple", "style", "styleClass", "listStyle", "listStyleClass", "readonly", "disabled", "checkbox", "filter", "filterBy", "filterMatchMode", "filterLocale", "metaKeySelection", "dataKey", "showToggleAll", "optionLabel", "optionValue", "optionGroupChildren", "optionGroupLabel", "optionDisabled", "ariaFilterLabel", "filterPlaceHolder", "emptyFilterMessage", "emptyMessage", "group", "options", "filterValue", "selectAll", "striped", "highlightOnSelect", "checkmark"], outputs: ["onChange", "onClick", "onDblClick", "onFilter", "onFocus", "onBlur", "onSelectAllChange", "onLazyLoad"] }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }] }); }
@@ -6422,7 +6435,10 @@ class PageFormComponent extends AmComponent {
6422
6435
  this.i18n = inject(I18nService);
6423
6436
  this.authLevel = input(-1);
6424
6437
  this.id = Number(this.route.snapshot.paramMap.get('id'));
6425
- this.pageUrl = this.route.snapshot.url.map(segment => segment.path).join('/').replace(/([^\/]*)$/, "");
6438
+ this.pageUrl = this.route.snapshot.url
6439
+ .map((segment) => segment.path)
6440
+ .join('/')
6441
+ .replace(/([^\/]*)$/, '');
6426
6442
  this.newUrl = `${this.pageUrl}new`;
6427
6443
  effect(() => {
6428
6444
  this.modelName = this.getPrmInput().modelName;
@@ -6435,13 +6451,12 @@ class PageFormComponent extends AmComponent {
6435
6451
  });
6436
6452
  effect(() => {
6437
6453
  this.isLog = this.modelLog();
6438
- console.log('model-----', this.isLog, this.modelLog());
6439
6454
  }, { allowSignalWrites: true });
6440
6455
  effect(() => {
6441
6456
  if (this.statusSteps().length > 0 && !this.id) {
6442
6457
  this.upsertPrm.addData[this.statusKey()] = this.statusSteps()[0]['value'];
6443
6458
  this.getPrm.data = Object.assign(this.getPrm.data || {}, {
6444
- [this.statusKey()]: this.statusSteps()[0]['value']
6459
+ [this.statusKey()]: this.statusSteps()[0]['value'],
6445
6460
  });
6446
6461
  }
6447
6462
  }, { allowSignalWrites: true });
@@ -6461,7 +6476,7 @@ class PageFormComponent extends AmComponent {
6461
6476
  const subTable = gridTab.gridOptions.modelName;
6462
6477
  let prm = {
6463
6478
  modelName: subTable,
6464
- ids: e
6479
+ ids: e,
6465
6480
  };
6466
6481
  if (!deleteFunc) {
6467
6482
  this.web_remove(prm).subscribe((res) => {
@@ -6498,10 +6513,10 @@ class PageFormComponent extends AmComponent {
6498
6513
  }
6499
6514
  }
6500
6515
  getDetail(customSteps) {
6501
- this.web_get(this.getPrm).subscribe(res => {
6516
+ this.web_get(this.getPrm).subscribe((res) => {
6502
6517
  this.updateTitle(res);
6503
6518
  this.formDisabled() && this.formDisFunc();
6504
- customSteps && customSteps.refreshSteps();
6519
+ // customSteps && customSteps.refreshSteps()
6505
6520
  });
6506
6521
  }
6507
6522
  updateTitle(res) {
@@ -6528,7 +6543,6 @@ class PageFormComponent extends AmComponent {
6528
6543
  }
6529
6544
  }
6530
6545
  authClick(btn) {
6531
- console.log('authClick', btn);
6532
6546
  if (btn.hasOwnProperty('onClick')) {
6533
6547
  btn.onClick(this.getPrm.data);
6534
6548
  }
@@ -6539,26 +6553,26 @@ class PageFormComponent extends AmComponent {
6539
6553
  if (this.id) {
6540
6554
  let param = {
6541
6555
  modelName: this.modelName,
6542
- data: { id: this.id, [this.statusKey()]: value }
6556
+ data: { id: this.id, [this.statusKey()]: value },
6543
6557
  };
6544
6558
  if (this.isLog) {
6545
6559
  param.logModel = `${this.modelName}Log`;
6546
6560
  param.log = {
6547
6561
  pid: this.id,
6548
- content: `[状态] ${this.getPrm.data[this.statusKey()]} -> ${value}`
6562
+ content: `[状态] ${this.getPrm.data[this.statusKey()]} -> ${value}`,
6549
6563
  };
6550
6564
  }
6551
- this.web_write(param).subscribe(res => {
6565
+ this.web_write(param).subscribe((res) => {
6552
6566
  this.getDetail(customSteps);
6553
6567
  });
6554
6568
  }
6555
6569
  else {
6556
6570
  this.getPrm.data = Object.assign(this.getPrm.data || {}, {
6557
- [this.statusKey()]: value
6571
+ [this.statusKey()]: value,
6558
6572
  });
6559
6573
  this.upsertPrm.addData[this.statusKey()] = value;
6560
6574
  this.cForm.triggerModelEffect({ [this.statusKey()]: value });
6561
- customSteps.refreshSteps();
6575
+ // customSteps.refreshSteps()
6562
6576
  }
6563
6577
  }
6564
6578
  formDisFunc() {
@@ -6575,7 +6589,7 @@ class PageFormComponent extends AmComponent {
6575
6589
  });
6576
6590
  }
6577
6591
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6578
- 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 }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "customGrid", first: true, predicate: ["customGrid"], descendants: true }, { propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"overflow-hidden\">\r\n <div class=\"flex items-center justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n <app-crumb-action\r\n [addVisible]=\"addVisible()\"\r\n [newUrl]=\"newUrl\"\r\n [isShowCog]=\"true\"\r\n [outlined]=\"true\"\r\n [authLevel]=\"authLevel()\"\r\n [actionList]=\"actionList()\"\r\n (actionEvent)=\"authClick($event)\"\r\n (saveEvent)=\"submitForm()\">\r\n </app-crumb-action>\r\n <div class=\"hrefBtnList\">\r\n @if(id){\r\n @for(btn of hrefBtnList();track btn){\r\n <p-button \r\n [variant]=\"btn?.variant\" \r\n [severity]=\"btn?.severity\" \r\n class=\"mr-[6px]\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{btn.i18nKey? i18n.fanyi(btn.i18nKey) : btn.label}}\"\r\n (click)=\"goRun(btn)\"\r\n >\r\n </p-button>\r\n }\r\n }\r\n \r\n </div>\r\n <div></div>\r\n \r\n </div>\r\n <div class=\"flex\">\r\n <div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n <div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center gap-2 flex-row order-1\">\r\n @for (btn of actionList();let i = $index; track btn) {\r\n <p-button\r\n [variant]=\"btn?.variant\"\r\n [severity]=\"btn?.severity\"\r\n class=\"mr-[4px]\"\r\n size=\"small\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{ btn.i18nKey ? (btn.i18nKey | translate) : btn.label }}\"\r\n (click)=\"authClick(btn)\"\r\n [disabled]=\"btn.btnDisabled ? btn.btnDisabled(getPrm.data) : false\"\r\n >\r\n </p-button>\r\n }\r\n </div>\r\n \r\n <div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\r\n <custom-steps\r\n #customSteps\r\n class=\"w-full\"\r\n [steps]=\"statusSteps()\"\r\n [current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\r\n [authLevel]=\"authLevel()\"\r\n (change)=\"statusChange($event, customSteps)\">\r\n </custom-steps>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"main flex flex-wrap overflow-y-hidden\">\r\n <div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n <div class=\"bg-white mx-2 form-panel\">\r\n <div class=\"p-2 flex-1\">\r\n <form\r\n [formGroup]=\"form().form!\">\r\n <custom-form\r\n #cForm\r\n [options]=\"formOptions\"\r\n [upsert]=\"upsertPrm\"\r\n [model]=\"getPrm.data??{}\"></custom-form>\r\n </form>\r\n </div>\r\n @if(gridList() && gridList().length > 1){\r\n <div class=\"relative mb-2\">\r\n <p-tabs [(value)]=\"indexValue\">\r\n <p-tablist>\r\n @for (fchild of gridList();let i = $index; track fchild) {\r\n <p-tab [value]=\"i\">\r\n {{fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title}}\r\n </p-tab>\r\n }\r\n </p-tablist>\r\n </p-tabs>\r\n </div>\r\n }\r\n @for (grid of gridList(); let i = $index;track grid) {\r\n <custom-grid\r\n #customGrid\r\n [hidden]=\"indexValue !=i \"\r\n [rowData]=\"getPrm.data?.[grid.subDataKey!]|| []\"\r\n [upsert]=\"upsertPrm\"\r\n (deleteEmit)=\"delRows($event)\"\r\n [addType]=\"grid.subTableSource\"\r\n (addEmit)=\"dataSourceShow()\"\r\n [gridOptions]=\"grid.gridOptions\"\r\n [authLevel]=\"authLevel()\"\r\n [selectData]=\"grid.selectData\">\r\n </custom-grid>\r\n } \r\n </div>\r\n </div>\r\n <div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n <custom-log [logs]=\"getPrm.data?.log??[]\"></custom-log>\r\n </div>\r\n </div>\r\n</div>\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}.form-panel{border:solid 1px #dbdbdb}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$3.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$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.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", "newUrl", "onExport", "outlined", "isList", "authLevel", "actionList"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["steps", "current", "authLevel"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel"], outputs: ["searchPrmChange", "deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3$1.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3$1.TabList, selector: "p-tablist" }, { kind: "component", type: i3$1.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent, selector: "row-selector", inputs: ["title", "gridOptions", "searchPrm", "visible"], outputs: ["onOk", "visibleChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
6592
+ 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 }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }, { propertyName: "customGrid", first: true, predicate: ["customGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"md:overflow-hidden\">\r\n\t<div class=\"flex items-center justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n\t\t<app-crumb-action\r\n\t\t\t[addVisible]=\"addVisible()\"\r\n\t\t\t[newUrl]=\"newUrl\"\r\n\t\t\t[isShowCog]=\"true\"\r\n\t\t\t[outlined]=\"true\"\r\n\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t[actionList]=\"actionList()\"\r\n\t\t\t(actionEvent)=\"authClick($event)\"\r\n\t\t\t(saveEvent)=\"submitForm()\">\r\n\t\t</app-crumb-action>\r\n\t\t<div class=\"hrefBtnList\">\r\n\t\t\t@if (id) {\r\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\r\n\t\t\t\t\t<p-button\r\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\r\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\r\n\t\t\t\t\t\tclass=\"mr-[6px]\"\r\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\r\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\r\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\r\n\t\t\t\t\t</p-button>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t<div></div>\r\n\t</div>\r\n\t<div class=\"flex\">\r\n\t\t<div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center gap-4 flex-row order-1\">\r\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\r\n\t\t\t\t\t<p-button\r\n\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t[variant]=\"action?.variant\"\r\n\t\t\t\t\t\t[severity]=\"action?.severity\"\r\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\r\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\r\n\t\t\t\t\t\t[styleClass]=\"(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data) ? 'hidden' : 'block'\"\r\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data)\">\r\n\t\t\t\t\t</p-button>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\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\">\r\n\t\t\t\t<custom-steps\r\n\t\t\t\t\t#customSteps\r\n\t\t\t\t\tclass=\"w-full\"\r\n\t\t\t\t\t[steps]=\"statusSteps()\"\r\n\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\r\n\t\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\r\n\t\t\t\t</custom-steps>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"main flex flex-wrap md:overflow-y-hidden\">\r\n\t\t<div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\r\n\t\t\t\t<div class=\"p-2 flex-1\">\r\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\r\n\t\t\t\t\t\t<custom-form\r\n\t\t\t\t\t\t\t#cForm\r\n\t\t\t\t\t\t\t[options]=\"formOptions\"\r\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\r\n\t\t\t\t\t</form>\r\n\t\t\t\t</div>\r\n\t\t\t\t@if (gridList() && gridList().length > 1) {\r\n\t\t\t\t\t<div class=\"relative mb-2\">\r\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\r\n\t\t\t\t\t\t\t<p-tablist>\r\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\r\n\t\t\t\t\t\t\t\t\t<p-tab [value]=\"i\">\r\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\r\n\t\t\t\t\t\t\t\t\t</p-tab>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</p-tablist>\r\n\t\t\t\t\t\t</p-tabs>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t}\r\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\r\n\t\t\t\t\t<custom-grid\r\n\t\t\t\t\t\t#customGrid\r\n\t\t\t\t\t\t[hidden]=\"indexValue != i\"\r\n\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!] || []\"\r\n\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\r\n\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\r\n\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\r\n\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\r\n\t\t\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t\t\t[selectData]=\"grid.selectData\">\r\n\t\t\t\t\t</custom-grid>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>\r\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}.form-panel{border:solid 1px #dbdbdb}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$3.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$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.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", "newUrl", "onExport", "outlined", "isList", "authLevel", "actionList"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["steps", "current", "authLevel"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel"], outputs: ["searchPrmChange", "deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3$1.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3$1.TabList, selector: "p-tablist" }, { kind: "component", type: i3$1.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent, selector: "row-selector", inputs: ["title", "gridOptions", "searchPrm", "visible"], outputs: ["onOk", "visibleChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
6579
6593
  }
6580
6594
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, decorators: [{
6581
6595
  type: Component,
@@ -6590,13 +6604,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
6590
6604
  TabsModule,
6591
6605
  RowSelectorComponent,
6592
6606
  TranslatePipe,
6593
- ], providers: [], template: "<div class=\"overflow-hidden\">\r\n <div class=\"flex items-center justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n <app-crumb-action\r\n [addVisible]=\"addVisible()\"\r\n [newUrl]=\"newUrl\"\r\n [isShowCog]=\"true\"\r\n [outlined]=\"true\"\r\n [authLevel]=\"authLevel()\"\r\n [actionList]=\"actionList()\"\r\n (actionEvent)=\"authClick($event)\"\r\n (saveEvent)=\"submitForm()\">\r\n </app-crumb-action>\r\n <div class=\"hrefBtnList\">\r\n @if(id){\r\n @for(btn of hrefBtnList();track btn){\r\n <p-button \r\n [variant]=\"btn?.variant\" \r\n [severity]=\"btn?.severity\" \r\n class=\"mr-[6px]\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{btn.i18nKey? i18n.fanyi(btn.i18nKey) : btn.label}}\"\r\n (click)=\"goRun(btn)\"\r\n >\r\n </p-button>\r\n }\r\n }\r\n \r\n </div>\r\n <div></div>\r\n \r\n </div>\r\n <div class=\"flex\">\r\n <div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n <div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center gap-2 flex-row order-1\">\r\n @for (btn of actionList();let i = $index; track btn) {\r\n <p-button\r\n [variant]=\"btn?.variant\"\r\n [severity]=\"btn?.severity\"\r\n class=\"mr-[4px]\"\r\n size=\"small\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{ btn.i18nKey ? (btn.i18nKey | translate) : btn.label }}\"\r\n (click)=\"authClick(btn)\"\r\n [disabled]=\"btn.btnDisabled ? btn.btnDisabled(getPrm.data) : false\"\r\n >\r\n </p-button>\r\n }\r\n </div>\r\n \r\n <div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\r\n <custom-steps\r\n #customSteps\r\n class=\"w-full\"\r\n [steps]=\"statusSteps()\"\r\n [current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\r\n [authLevel]=\"authLevel()\"\r\n (change)=\"statusChange($event, customSteps)\">\r\n </custom-steps>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"main flex flex-wrap overflow-y-hidden\">\r\n <div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n <div class=\"bg-white mx-2 form-panel\">\r\n <div class=\"p-2 flex-1\">\r\n <form\r\n [formGroup]=\"form().form!\">\r\n <custom-form\r\n #cForm\r\n [options]=\"formOptions\"\r\n [upsert]=\"upsertPrm\"\r\n [model]=\"getPrm.data??{}\"></custom-form>\r\n </form>\r\n </div>\r\n @if(gridList() && gridList().length > 1){\r\n <div class=\"relative mb-2\">\r\n <p-tabs [(value)]=\"indexValue\">\r\n <p-tablist>\r\n @for (fchild of gridList();let i = $index; track fchild) {\r\n <p-tab [value]=\"i\">\r\n {{fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title}}\r\n </p-tab>\r\n }\r\n </p-tablist>\r\n </p-tabs>\r\n </div>\r\n }\r\n @for (grid of gridList(); let i = $index;track grid) {\r\n <custom-grid\r\n #customGrid\r\n [hidden]=\"indexValue !=i \"\r\n [rowData]=\"getPrm.data?.[grid.subDataKey!]|| []\"\r\n [upsert]=\"upsertPrm\"\r\n (deleteEmit)=\"delRows($event)\"\r\n [addType]=\"grid.subTableSource\"\r\n (addEmit)=\"dataSourceShow()\"\r\n [gridOptions]=\"grid.gridOptions\"\r\n [authLevel]=\"authLevel()\"\r\n [selectData]=\"grid.selectData\">\r\n </custom-grid>\r\n } \r\n </div>\r\n </div>\r\n <div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n <custom-log [logs]=\"getPrm.data?.log??[]\"></custom-log>\r\n </div>\r\n </div>\r\n</div>\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}.form-panel{border:solid 1px #dbdbdb}\n"] }]
6594
- }], ctorParameters: () => [], propDecorators: { customGrid: [{
6595
- type: ViewChild,
6596
- args: ['customGrid']
6597
- }], cForm: [{
6607
+ ], providers: [], template: "<div class=\"md:overflow-hidden\">\r\n\t<div class=\"flex items-center justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n\t\t<app-crumb-action\r\n\t\t\t[addVisible]=\"addVisible()\"\r\n\t\t\t[newUrl]=\"newUrl\"\r\n\t\t\t[isShowCog]=\"true\"\r\n\t\t\t[outlined]=\"true\"\r\n\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t[actionList]=\"actionList()\"\r\n\t\t\t(actionEvent)=\"authClick($event)\"\r\n\t\t\t(saveEvent)=\"submitForm()\">\r\n\t\t</app-crumb-action>\r\n\t\t<div class=\"hrefBtnList\">\r\n\t\t\t@if (id) {\r\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\r\n\t\t\t\t\t<p-button\r\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\r\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\r\n\t\t\t\t\t\tclass=\"mr-[6px]\"\r\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\r\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\r\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\r\n\t\t\t\t\t</p-button>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t<div></div>\r\n\t</div>\r\n\t<div class=\"flex\">\r\n\t\t<div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center gap-4 flex-row order-1\">\r\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\r\n\t\t\t\t\t<p-button\r\n\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t[variant]=\"action?.variant\"\r\n\t\t\t\t\t\t[severity]=\"action?.severity\"\r\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\r\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\r\n\t\t\t\t\t\t[styleClass]=\"(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data) ? 'hidden' : 'block'\"\r\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data)\">\r\n\t\t\t\t\t</p-button>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\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\">\r\n\t\t\t\t<custom-steps\r\n\t\t\t\t\t#customSteps\r\n\t\t\t\t\tclass=\"w-full\"\r\n\t\t\t\t\t[steps]=\"statusSteps()\"\r\n\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\r\n\t\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\r\n\t\t\t\t</custom-steps>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"main flex flex-wrap md:overflow-y-hidden\">\r\n\t\t<div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\r\n\t\t\t\t<div class=\"p-2 flex-1\">\r\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\r\n\t\t\t\t\t\t<custom-form\r\n\t\t\t\t\t\t\t#cForm\r\n\t\t\t\t\t\t\t[options]=\"formOptions\"\r\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\r\n\t\t\t\t\t</form>\r\n\t\t\t\t</div>\r\n\t\t\t\t@if (gridList() && gridList().length > 1) {\r\n\t\t\t\t\t<div class=\"relative mb-2\">\r\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\r\n\t\t\t\t\t\t\t<p-tablist>\r\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\r\n\t\t\t\t\t\t\t\t\t<p-tab [value]=\"i\">\r\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\r\n\t\t\t\t\t\t\t\t\t</p-tab>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</p-tablist>\r\n\t\t\t\t\t\t</p-tabs>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t}\r\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\r\n\t\t\t\t\t<custom-grid\r\n\t\t\t\t\t\t#customGrid\r\n\t\t\t\t\t\t[hidden]=\"indexValue != i\"\r\n\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!] || []\"\r\n\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\r\n\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\r\n\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\r\n\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\r\n\t\t\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t\t\t[selectData]=\"grid.selectData\">\r\n\t\t\t\t\t</custom-grid>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>\r\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}.form-panel{border:solid 1px #dbdbdb}\n"] }]
6608
+ }], ctorParameters: () => [], propDecorators: { cForm: [{
6598
6609
  type: ViewChild,
6599
6610
  args: ['cForm']
6611
+ }], customGrid: [{
6612
+ type: ViewChild,
6613
+ args: ['customGrid']
6600
6614
  }] } });
6601
6615
 
6602
6616
  class PageGridListComponent extends AmComponent {
@@ -6624,11 +6638,11 @@ class PageGridListComponent extends AmComponent {
6624
6638
  });
6625
6639
  }
6626
6640
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageGridListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6627
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: PageGridListComponent, isStandalone: true, selector: "app-page-grid-list", inputs: { params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, gridOptions: { classPropertyName: "gridOptions", publicName: "gridOptions", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col h-full\">\r\n\t<div class=\"flex flex-wrap items-center py-1 px-1 bg-white\">\r\n\t\t<div class=\"lg:basis-1/6 md:basis-1/4 basis-1/2 flex justify-start order-1\">\r\n\t\t\t<app-crumb-action\r\n\t\t\t\t[addVisible]=\"params().addVisible\"\r\n\t\t\t\t[newUrl]=\"params().newUrl\"\r\n\t\t\t\t[onExport]=\"params().onExport\"\r\n\t\t\t\t[isList]=\"true\"\r\n\t\t\t\t[isShowCog]=\"true\"\r\n\t\t\t\t[authLevel]=\"authLevel()\">\r\n\t\t\t</app-crumb-action>\r\n\t\t</div>\r\n\t\t<div class=\"lg:basis-4/6 md:basis-1/2 basis-full flex justify-center items-center md:order-2 order-last\">\r\n\t\t\t<custom-head\r\n\t\t\t\tclass=\"max-lg:min-w-full\"\r\n\t\t\t\t[actions]=\"actions()\"\r\n\t\t\t\t[grid]=\"grid\"\r\n\t\t\t\t[gridOptions]=\"gridOptions()\"></custom-head>\r\n\t\t</div>\r\n\t\t<div class=\"lg:basis-1/6 md:basis-1/4 basis-1/2 flex justify-end order-3\">\r\n\t\t\t<custom-pager></custom-pager>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"flex-1\">\r\n\t\t<custom-grid\r\n\t\t\t#grid\r\n\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t[(searchPrm)]=\"searchPrm\"\r\n\t\t\t[showAct]=\"false\"\r\n\t\t\t[gridOptions]=\"gridOptions()!\">\r\n\t\t</custom-grid>\r\n\t</div>\r\n</div>\r\n<app-import\r\n\t[fileName]=\"params()?.importFileName\"\r\n\t[funcName]=\"params()?.importFuncName\"\r\n\t[orgField]=\"params()?.importOrgField\"\r\n\t[modelName]=\"gridOptions()!.modelName ?? ''\">\r\n</app-import>\r\n", styles: [".ms-grid{background-color:#efefef}.ms-content{border-top:solid 1px #dbdbdb;background-color:#f9fafb}.mode-hide{display:none}\n"], dependencies: [{ kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel"], outputs: ["searchPrmChange", "deleteEmit", "addEmit"] }, { kind: "component", type: CrumbActionComponent, selector: "app-crumb-action", inputs: ["isShowCog", "addVisible", "newUrl", "onExport", "outlined", "isList", "authLevel", "actionList"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: PagerComponent, selector: "custom-pager" }, { kind: "component", type: HeadComponent, selector: "custom-head", inputs: ["gridOptions", "grid", "actions"] }, { kind: "component", type: ImportComponent, selector: "app-import", inputs: ["visible", "fileName", "funcName", "orgField", "modelName"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
6641
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: PageGridListComponent, isStandalone: true, selector: "app-page-grid-list", inputs: { params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, gridOptions: { classPropertyName: "gridOptions", publicName: "gridOptions", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col h-full\">\r\n\t<div class=\"flex flex-wrap items-center py-1 px-1 bg-white\">\r\n\t\t<div class=\"lg:basis-1/6 md:basis-1/4 basis-1/2 flex justify-start order-1\">\r\n\t\t\t<app-crumb-action\r\n\t\t\t\t[addVisible]=\"params().addVisible\"\r\n\t\t\t\t[newUrl]=\"params().newUrl\"\r\n\t\t\t\t[onExport]=\"params().onExport\"\r\n\t\t\t\t[isList]=\"true\"\r\n\t\t\t\t[isShowCog]=\"true\"\r\n\t\t\t\t[authLevel]=\"authLevel()\">\r\n\t\t\t</app-crumb-action>\r\n\t\t</div>\r\n\t\t<div class=\"lg:basis-4/6 md:basis-1/2 basis-full flex justify-center items-center md:order-2 order-last\">\r\n\t\t\t<custom-head\r\n\t\t\t\tclass=\"max-lg:min-w-full\"\r\n\t\t\t\t[actions]=\"actions()\"\r\n\t\t\t\t[grid]=\"grid\"\r\n\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t[gridOptions]=\"gridOptions()\"></custom-head>\r\n\t\t</div>\r\n\t\t<div class=\"lg:basis-1/6 md:basis-1/4 basis-1/2 flex justify-end order-3\">\r\n\t\t\t<custom-pager></custom-pager>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"flex-1\">\r\n\t\t<custom-grid\r\n\t\t\t#grid\r\n\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t[(searchPrm)]=\"searchPrm\"\r\n\t\t\t[showAct]=\"false\"\r\n\t\t\t[gridOptions]=\"gridOptions()!\">\r\n\t\t</custom-grid>\r\n\t</div>\r\n</div>\r\n<app-import\r\n\t[fileName]=\"params()?.importFileName\"\r\n\t[funcName]=\"params()?.importFuncName\"\r\n\t[orgField]=\"params()?.importOrgField\"\r\n\t[modelName]=\"gridOptions()!.modelName ?? ''\">\r\n</app-import>\r\n", styles: [".ms-grid{background-color:#efefef}.ms-content{border-top:solid 1px #dbdbdb;background-color:#f9fafb}.mode-hide{display:none}\n"], dependencies: [{ kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel"], outputs: ["searchPrmChange", "deleteEmit", "addEmit"] }, { kind: "component", type: CrumbActionComponent, selector: "app-crumb-action", inputs: ["isShowCog", "addVisible", "newUrl", "onExport", "outlined", "isList", "authLevel", "actionList"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: PagerComponent, selector: "custom-pager" }, { kind: "component", type: HeadComponent, selector: "custom-head", inputs: ["gridOptions", "grid", "actions", "authLevel"] }, { kind: "component", type: ImportComponent, selector: "app-import", inputs: ["visible", "fileName", "funcName", "orgField", "modelName"], outputs: ["visibleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
6628
6642
  }
6629
6643
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageGridListComponent, decorators: [{
6630
6644
  type: Component,
6631
- args: [{ selector: 'app-page-grid-list', standalone: true, imports: [GridComponent, CrumbActionComponent, PagerComponent, HeadComponent, ImportComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"flex flex-col h-full\">\r\n\t<div class=\"flex flex-wrap items-center py-1 px-1 bg-white\">\r\n\t\t<div class=\"lg:basis-1/6 md:basis-1/4 basis-1/2 flex justify-start order-1\">\r\n\t\t\t<app-crumb-action\r\n\t\t\t\t[addVisible]=\"params().addVisible\"\r\n\t\t\t\t[newUrl]=\"params().newUrl\"\r\n\t\t\t\t[onExport]=\"params().onExport\"\r\n\t\t\t\t[isList]=\"true\"\r\n\t\t\t\t[isShowCog]=\"true\"\r\n\t\t\t\t[authLevel]=\"authLevel()\">\r\n\t\t\t</app-crumb-action>\r\n\t\t</div>\r\n\t\t<div class=\"lg:basis-4/6 md:basis-1/2 basis-full flex justify-center items-center md:order-2 order-last\">\r\n\t\t\t<custom-head\r\n\t\t\t\tclass=\"max-lg:min-w-full\"\r\n\t\t\t\t[actions]=\"actions()\"\r\n\t\t\t\t[grid]=\"grid\"\r\n\t\t\t\t[gridOptions]=\"gridOptions()\"></custom-head>\r\n\t\t</div>\r\n\t\t<div class=\"lg:basis-1/6 md:basis-1/4 basis-1/2 flex justify-end order-3\">\r\n\t\t\t<custom-pager></custom-pager>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"flex-1\">\r\n\t\t<custom-grid\r\n\t\t\t#grid\r\n\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t[(searchPrm)]=\"searchPrm\"\r\n\t\t\t[showAct]=\"false\"\r\n\t\t\t[gridOptions]=\"gridOptions()!\">\r\n\t\t</custom-grid>\r\n\t</div>\r\n</div>\r\n<app-import\r\n\t[fileName]=\"params()?.importFileName\"\r\n\t[funcName]=\"params()?.importFuncName\"\r\n\t[orgField]=\"params()?.importOrgField\"\r\n\t[modelName]=\"gridOptions()!.modelName ?? ''\">\r\n</app-import>\r\n", styles: [".ms-grid{background-color:#efefef}.ms-content{border-top:solid 1px #dbdbdb;background-color:#f9fafb}.mode-hide{display:none}\n"] }]
6645
+ args: [{ selector: 'app-page-grid-list', standalone: true, imports: [GridComponent, CrumbActionComponent, PagerComponent, HeadComponent, ImportComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"flex flex-col h-full\">\r\n\t<div class=\"flex flex-wrap items-center py-1 px-1 bg-white\">\r\n\t\t<div class=\"lg:basis-1/6 md:basis-1/4 basis-1/2 flex justify-start order-1\">\r\n\t\t\t<app-crumb-action\r\n\t\t\t\t[addVisible]=\"params().addVisible\"\r\n\t\t\t\t[newUrl]=\"params().newUrl\"\r\n\t\t\t\t[onExport]=\"params().onExport\"\r\n\t\t\t\t[isList]=\"true\"\r\n\t\t\t\t[isShowCog]=\"true\"\r\n\t\t\t\t[authLevel]=\"authLevel()\">\r\n\t\t\t</app-crumb-action>\r\n\t\t</div>\r\n\t\t<div class=\"lg:basis-4/6 md:basis-1/2 basis-full flex justify-center items-center md:order-2 order-last\">\r\n\t\t\t<custom-head\r\n\t\t\t\tclass=\"max-lg:min-w-full\"\r\n\t\t\t\t[actions]=\"actions()\"\r\n\t\t\t\t[grid]=\"grid\"\r\n\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t[gridOptions]=\"gridOptions()\"></custom-head>\r\n\t\t</div>\r\n\t\t<div class=\"lg:basis-1/6 md:basis-1/4 basis-1/2 flex justify-end order-3\">\r\n\t\t\t<custom-pager></custom-pager>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"flex-1\">\r\n\t\t<custom-grid\r\n\t\t\t#grid\r\n\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t[(searchPrm)]=\"searchPrm\"\r\n\t\t\t[showAct]=\"false\"\r\n\t\t\t[gridOptions]=\"gridOptions()!\">\r\n\t\t</custom-grid>\r\n\t</div>\r\n</div>\r\n<app-import\r\n\t[fileName]=\"params()?.importFileName\"\r\n\t[funcName]=\"params()?.importFuncName\"\r\n\t[orgField]=\"params()?.importOrgField\"\r\n\t[modelName]=\"gridOptions()!.modelName ?? ''\">\r\n</app-import>\r\n", styles: [".ms-grid{background-color:#efefef}.ms-content{border-top:solid 1px #dbdbdb;background-color:#f9fafb}.mode-hide{display:none}\n"] }]
6632
6646
  }], ctorParameters: () => [] });
6633
6647
 
6634
6648
  const presets = {