imm-element-ui 0.9.7 → 0.9.9

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.
@@ -1150,7 +1150,7 @@ const _fieldUtils = {
1150
1150
  },
1151
1151
  fromTreeSelectValue: (field, target) => {
1152
1152
  if (field.treeSelectProps?.selectionMode == 'single') {
1153
- return target.key;
1153
+ return target?.key;
1154
1154
  }
1155
1155
  return target.map((item) => item.key).join(',');
1156
1156
  },
@@ -1199,7 +1199,7 @@ const _fieldUtils = {
1199
1199
  _fieldUtils.findTreeNodes(raw?.split(',') || [], field.treeSelectProps?.options || [], nodes);
1200
1200
  return nodes;
1201
1201
  },
1202
- toDatePickerValue: (field, raw, datePipe) => {
1202
+ toDatePickerValue: (field, raw, datePipe, stringMode = false) => {
1203
1203
  if (!raw || raw == '0001-01-01T00:00:00Z') {
1204
1204
  return '';
1205
1205
  }
@@ -1207,7 +1207,7 @@ const _fieldUtils = {
1207
1207
  const dateFormat = field.datePickerProps?.showTime ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd';
1208
1208
  return datePipe.transform(raw, dateFormat, 'GMT') || raw;
1209
1209
  }
1210
- if (field?.datePickerProps?.selectionMode == 'range' && raw.includes('~')) {
1210
+ if (!stringMode && field?.datePickerProps?.selectionMode == 'range' && raw.includes('~')) {
1211
1211
  const [start, end] = raw.split('~');
1212
1212
  return [new Date(start), new Date(end)];
1213
1213
  }
@@ -1254,7 +1254,7 @@ const _fieldUtils = {
1254
1254
  if (!field)
1255
1255
  return;
1256
1256
  if (field.type == 'datepicker') {
1257
- target[key] = _fieldUtils.toDatePickerValue(field, rawModel[key], datePipe);
1257
+ target[key] = _fieldUtils.toDatePickerValue(field, rawModel[key], datePipe, true);
1258
1258
  return;
1259
1259
  }
1260
1260
  target[key] = rawModel[key];
@@ -1305,66 +1305,136 @@ class ContextMenuComponent {
1305
1305
  this.clipboard = clipboard;
1306
1306
  this.target = input({});
1307
1307
  this.field = input();
1308
+ this.commonItems = [
1309
+ {
1310
+ label: '复制标题【Label】',
1311
+ icon: 'pi pi-clone',
1312
+ command: () => {
1313
+ const label = fieldUtils.props(this.field()).label || '';
1314
+ this.clipboard.copy(label);
1315
+ },
1316
+ },
1317
+ {
1318
+ label: '复制键名【Key】',
1319
+ icon: 'pi pi-clone',
1320
+ command: () => {
1321
+ this.clipboard.copy(this.field()?.key || '');
1322
+ },
1323
+ },
1324
+ ];
1308
1325
  effect(() => {
1309
1326
  if (this.field()) {
1310
- this.items = [
1311
- {
1312
- label: '复制标题【Label】',
1313
- command: () => {
1314
- const label = fieldUtils.props(this.field()).label || '';
1315
- this.clipboard.copy(label);
1327
+ if (this.field()?.type === 'select') {
1328
+ this.items = [
1329
+ ...this.commonItems,
1330
+ {
1331
+ label: '复制项值【OptionValue】',
1332
+ icon: 'pi pi-clone',
1333
+ command: () => {
1334
+ const value = this.field()?.form?.model()?.[this.field()?.key];
1335
+ this.clipboard.copy(value);
1336
+ },
1316
1337
  },
1317
- },
1318
- {
1319
- label: '复制值【Value】',
1320
- command: () => {
1321
- const value = this.field()?.form?.model()?.[this.field()?.key];
1322
- this.clipboard.copy(value);
1338
+ {
1339
+ label: '复制项名称【OptionLabel】',
1340
+ icon: 'pi pi-clone',
1341
+ command: () => {
1342
+ const value = this.field()?.form?.model()?.[this.field()?.key];
1343
+ const optionValue = this.field()?.selectProps?.optionValue || 'value';
1344
+ const optionLabel = this.field()?.selectProps?.optionLabel || 'label';
1345
+ const result = this.field()?.selectProps?.options?.find((item) => item[optionValue] === value)?.[optionLabel];
1346
+ this.clipboard.copy(result);
1347
+ },
1323
1348
  },
1324
- },
1325
- {
1326
- label: '复制键名【key】',
1327
- command: () => {
1328
- this.clipboard.copy(this.field()?.key || '');
1349
+ ];
1350
+ }
1351
+ else if (this.field()?.type === 'treeselect') {
1352
+ this.items = [
1353
+ ...this.commonItems,
1354
+ {
1355
+ label: '复制项值【OptionValue】',
1356
+ icon: 'pi pi-clone',
1357
+ command: () => {
1358
+ const value = this.field()?.form?.model()?.[this.field()?.key];
1359
+ this.clipboard.copy(value);
1360
+ },
1329
1361
  },
1330
- },
1331
- ];
1362
+ {
1363
+ label: '复制项名称【OptionLabel】',
1364
+ icon: 'pi pi-clone',
1365
+ command: () => {
1366
+ const value = this.field()?.form?.model()?.[this.field()?.key];
1367
+ const options = this.field()?.treeSelectProps?.options;
1368
+ const result = this.findLabelByTreeValue(options, value) || '';
1369
+ this.clipboard.copy(result);
1370
+ },
1371
+ },
1372
+ ];
1373
+ }
1374
+ else {
1375
+ this.items = [
1376
+ ...this.commonItems,
1377
+ {
1378
+ label: '复制值【Value】',
1379
+ icon: 'pi pi-clone',
1380
+ command: () => {
1381
+ const value = this.field()?.form?.model()?.[this.field()?.key];
1382
+ this.clipboard.copy(value);
1383
+ },
1384
+ },
1385
+ ];
1386
+ }
1332
1387
  }
1333
1388
  });
1334
1389
  }
1390
+ findLabelByTreeValue(options, value) {
1391
+ for (const option of options) {
1392
+ if (option.key === value) {
1393
+ return option.label;
1394
+ }
1395
+ if (option.children) {
1396
+ const foundInChildren = this.findLabelByTreeValue(option.children, value);
1397
+ if (foundInChildren)
1398
+ return foundInChildren;
1399
+ }
1400
+ }
1401
+ return undefined;
1402
+ }
1335
1403
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextMenuComponent, deps: [{ token: i1$1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
1336
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ContextMenuComponent, isStandalone: true, selector: "app-context-menu", inputs: { target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "cm", first: true, predicate: ["cm"], descendants: true }], ngImport: i0, template: `
1337
- <p-contextMenu
1338
- #cm
1339
- [target]="target()"
1340
- [appendTo]="'body'"
1341
- [model]="items">
1342
- <ng-template
1343
- #item
1344
- let-item>
1345
- <div class="px-[0.5rem] py-[0.25rem]">
1346
- <span class="ml-2 cursor-pointer">{{ item.label }}</span>
1347
- </div>
1348
- </ng-template>
1349
- </p-contextMenu>
1404
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ContextMenuComponent, isStandalone: true, selector: "app-context-menu", inputs: { target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "cm", first: true, predicate: ["cm"], descendants: true }], ngImport: i0, template: `
1405
+ <p-contextMenu
1406
+ #cm
1407
+ [target]="target()"
1408
+ [appendTo]="'body'"
1409
+ [model]="items">
1410
+ <ng-template
1411
+ #item
1412
+ let-item>
1413
+ <div class="px-[0.5rem] py-[0.5rem]">
1414
+ <i [class]="item.icon"></i>
1415
+ <span class="ml-2 cursor-pointer">{{ item.label }}</span>
1416
+ </div>
1417
+ </ng-template>
1418
+ </p-contextMenu>
1350
1419
  `, isInline: true, styles: [""], dependencies: [{ kind: "component", type: ContextMenu, selector: "p-contextMenu, p-contextmenu, p-context-menu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "id", "breakpoint", "ariaLabel", "ariaLabelledBy", "pressDelay"], outputs: ["onShow", "onHide"] }] }); }
1351
1420
  }
1352
1421
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextMenuComponent, decorators: [{
1353
1422
  type: Component,
1354
- args: [{ selector: 'app-context-menu', standalone: true, imports: [ContextMenu], template: `
1355
- <p-contextMenu
1356
- #cm
1357
- [target]="target()"
1358
- [appendTo]="'body'"
1359
- [model]="items">
1360
- <ng-template
1361
- #item
1362
- let-item>
1363
- <div class="px-[0.5rem] py-[0.25rem]">
1364
- <span class="ml-2 cursor-pointer">{{ item.label }}</span>
1365
- </div>
1366
- </ng-template>
1367
- </p-contextMenu>
1423
+ args: [{ selector: 'app-context-menu', standalone: true, imports: [ContextMenu], template: `
1424
+ <p-contextMenu
1425
+ #cm
1426
+ [target]="target()"
1427
+ [appendTo]="'body'"
1428
+ [model]="items">
1429
+ <ng-template
1430
+ #item
1431
+ let-item>
1432
+ <div class="px-[0.5rem] py-[0.5rem]">
1433
+ <i [class]="item.icon"></i>
1434
+ <span class="ml-2 cursor-pointer">{{ item.label }}</span>
1435
+ </div>
1436
+ </ng-template>
1437
+ </p-contextMenu>
1368
1438
  ` }]
1369
1439
  }], ctorParameters: () => [{ type: i1$1.Clipboard }], propDecorators: { cm: [{
1370
1440
  type: ViewChild,
@@ -1981,200 +2051,200 @@ class DatePickerComponent {
1981
2051
  this.field()?.fieldControl?.setValue(currentDate, { emitEvent: true });
1982
2052
  }
1983
2053
  formatToMidnight(dateStr) {
1984
- if (this.props?.showSeconds) {
1985
- if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(dateStr)) {
1986
- return dateStr.split(' ')[0] + ' 00:00:00';
1987
- }
1988
- throw new Error('Invalid date format. Expected yyyy-MM-dd hh:mm:ss');
1989
- }
1990
- else {
2054
+ if (this.props?.showSeconds === false) {
1991
2055
  if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/.test(dateStr)) {
1992
2056
  return dateStr.split(' ')[0] + ' 00:00';
1993
2057
  }
1994
2058
  throw new Error('Invalid date format. Expected yyyy-MM-dd hh:mm');
1995
2059
  }
2060
+ else {
2061
+ if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(dateStr)) {
2062
+ return dateStr.split(' ')[0] + ' 00:00:00';
2063
+ }
2064
+ throw new Error('Invalid date format. Expected yyyy-MM-dd hh:mm:ss');
2065
+ }
1996
2066
  }
1997
2067
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatePickerComponent, deps: [{ token: ActionService }, { token: i0.Renderer2 }, { token: i1$2.DatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
1998
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DatePickerComponent, isStandalone: true, selector: "form-datepicker", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: DatePicker, descendants: true }, { propertyName: "datePickerRef", first: true, predicate: DatePicker, descendants: true, read: ElementRef }], ngImport: i0, template: `<p-datepicker
1999
- [id]="field()?.uuid"
2000
- [inputId]="field()?.uuid"
2001
- [variant]="props.variant ?? 'outlined'"
2002
- [fluid]="props.fluid"
2003
- [size]="props.size"
2004
- [styleClass]="props.styleClass"
2005
- [inputStyle]="props.inputStyle"
2006
- [inputStyleClass]="props.inputStyleClass"
2007
- [name]="props.name"
2008
- [placeholder]="props.placeholder"
2009
- [ariaLabelledBy]="props.ariaLabelledBy"
2010
- [ariaLabel]="props.ariaLabel"
2011
- [iconAriaLabel]="props.iconAriaLabel"
2012
- [dateFormat]="props.dateFormat ?? 'yy-mm-dd'"
2013
- [multipleSeparator]="props.multipleSeparator ?? ','"
2014
- [rangeSeparator]="props.rangeSeparator ?? '-'"
2015
- [inline]="props.inline"
2016
- [showOtherMonths]="props.showOtherMonths ?? true"
2017
- [selectOtherMonths]="props.selectOtherMonths"
2018
- [showIcon]="props.showIcon"
2019
- [fluid]="props.fluid ?? true"
2020
- [icon]="props.icon"
2021
- [appendTo]="props.appendTo ?? 'body'"
2022
- [readonlyInput]="props.readonlyInput"
2023
- [shortYearCutoff]="props.shortYearCutoff"
2024
- [hourFormat]="props.hourFormat ?? '24'"
2025
- [timeOnly]="props.timeOnly"
2026
- [stepHour]="props.stepHour ?? 1"
2027
- [stepMinute]="props.stepMinute ?? 1"
2028
- [stepSecond]="props.stepSecond ?? 1"
2029
- [showSeconds]="props.showSeconds ?? !!props.showTime"
2030
- [showOnFocus]="props.showOnFocus ?? true"
2031
- [showWeek]="props.showWeek"
2032
- [startWeekFromFirstDayOfYear]="!!props.startWeekFromFirstDayOfYear"
2033
- [showClear]="props.showClear"
2034
- [dataType]="props.dataType ?? 'string'"
2035
- [selectionMode]="props.selectionMode ?? 'single'"
2036
- [maxDateCount]="props.maxDateCount"
2037
- [showButtonBar]="props.showButtonBar"
2038
- [todayButtonStyleClass]="props.todayButtonStyleClass"
2039
- [clearButtonStyleClass]="props.clearButtonStyleClass"
2040
- [autofocus]="props.autofocus"
2041
- [autoZIndex]="props.autoZIndex ?? true"
2042
- [baseZIndex]="props.baseZIndex ?? 0"
2043
- [panelStyleClass]="props.panelStyleClass"
2044
- [panelStyle]="props.panelStyle"
2045
- [keepInvalid]="props.keepInvalid"
2046
- [hideOnDateTimeSelect]="props.hideOnDateTimeSelect ?? true"
2047
- [touchUI]="props.touchUI"
2048
- [timeSeparator]="props.timeSeparator ?? ':'"
2049
- [focusTrap]="props.focusTrap ?? true"
2050
- [showTransitionOptions]="props.showTransitionOptions ?? '.12s cubic-bezier(0, 0, 0.2, 1)'"
2051
- [hideTransitionOptions]="props.hideTransitionOptions ?? '.1s linear'"
2052
- [tabindex]="props.tabindex"
2053
- [minDate]="props.minDate"
2054
- [maxDate]="props.maxDate"
2055
- [disabledDates]="props.disabledDates ?? []"
2056
- [disabledDays]="props.disabledDays ?? []"
2057
- [showTime]="!!props.showTime"
2058
- [responsiveOptions]="props.responsiveOptions ?? []"
2059
- [numberOfMonths]="props.numberOfMonths ?? 1"
2060
- [firstDayOfWeek]="props.firstDayOfWeek ?? 7"
2061
- [view]="props.view ?? 'date'"
2062
- [defaultDate]="props.defaultDate!"
2063
- (onInput)="props.onInput?.(field()!, $event)"
2064
- (onFocus)="props.onFocus?.(field()!, $event)"
2065
- (onBlur)="props.onBlur?.(field()!, $event)"
2066
- (onClose)="props.onClose?.(field()!, $event)"
2067
- (onSelect)="props.onSelect?.(field()!, $event)"
2068
- (onClear)="props.onClear?.(field()!, $event)"
2069
- (onTodayClick)="props.onTodayClick?.(field()!, $event)"
2070
- (onClearClick)="props.onClearClick?.(field()!, $event)"
2071
- (onMonthChange)="props.onMonthChange?.(field()!, $event)"
2072
- (onYearChange)="props.onYearChange?.(field()!, $event)"
2073
- (onClickOutside)="props.onClickOutside?.(field()!, $event)"
2074
- (onShow)="props.onShow?.(field()!, $event)"
2075
- [class]="props.class"
2076
- [formControl]="field()!.fieldControl!">
2077
- <ng-template #footer>
2078
- @if (!!props.showTime && !props.timeOnly) {
2079
- <div class="flex flex-row-reverse text-[12px] text-[var(--p-primary-color)] cursor-pointer">
2080
- <i
2081
- class="pi pi-replay"
2082
- (click)="resetTime($event)"></i>
2083
- </div>
2084
- }
2085
- </ng-template>
2068
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DatePickerComponent, isStandalone: true, selector: "form-datepicker", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: DatePicker, descendants: true }, { propertyName: "datePickerRef", first: true, predicate: DatePicker, descendants: true, read: ElementRef }], ngImport: i0, template: `<p-datepicker
2069
+ [id]="field()?.uuid"
2070
+ [inputId]="field()?.uuid"
2071
+ [variant]="props.variant ?? 'outlined'"
2072
+ [fluid]="props.fluid"
2073
+ [size]="props.size"
2074
+ [styleClass]="props.styleClass"
2075
+ [inputStyle]="props.inputStyle"
2076
+ [inputStyleClass]="props.inputStyleClass"
2077
+ [name]="props.name"
2078
+ [placeholder]="props.placeholder"
2079
+ [ariaLabelledBy]="props.ariaLabelledBy"
2080
+ [ariaLabel]="props.ariaLabel"
2081
+ [iconAriaLabel]="props.iconAriaLabel"
2082
+ [dateFormat]="props.dateFormat ?? 'yy-mm-dd'"
2083
+ [multipleSeparator]="props.multipleSeparator ?? ','"
2084
+ [rangeSeparator]="props.rangeSeparator ?? '-'"
2085
+ [inline]="props.inline"
2086
+ [showOtherMonths]="props.showOtherMonths ?? true"
2087
+ [selectOtherMonths]="props.selectOtherMonths"
2088
+ [showIcon]="props.showIcon"
2089
+ [fluid]="props.fluid ?? true"
2090
+ [icon]="props.icon"
2091
+ [appendTo]="props.appendTo ?? 'body'"
2092
+ [readonlyInput]="props.readonlyInput"
2093
+ [shortYearCutoff]="props.shortYearCutoff"
2094
+ [hourFormat]="props.hourFormat ?? '24'"
2095
+ [timeOnly]="props.timeOnly"
2096
+ [stepHour]="props.stepHour ?? 1"
2097
+ [stepMinute]="props.stepMinute ?? 1"
2098
+ [stepSecond]="props.stepSecond ?? 1"
2099
+ [showSeconds]="props.showSeconds ?? !!props.showTime"
2100
+ [showOnFocus]="props.showOnFocus ?? true"
2101
+ [showWeek]="props.showWeek"
2102
+ [startWeekFromFirstDayOfYear]="!!props.startWeekFromFirstDayOfYear"
2103
+ [showClear]="props.showClear"
2104
+ [dataType]="props.dataType ?? 'string'"
2105
+ [selectionMode]="props.selectionMode ?? 'single'"
2106
+ [maxDateCount]="props.maxDateCount"
2107
+ [showButtonBar]="props.showButtonBar"
2108
+ [todayButtonStyleClass]="props.todayButtonStyleClass"
2109
+ [clearButtonStyleClass]="props.clearButtonStyleClass"
2110
+ [autofocus]="props.autofocus"
2111
+ [autoZIndex]="props.autoZIndex ?? true"
2112
+ [baseZIndex]="props.baseZIndex ?? 0"
2113
+ [panelStyleClass]="props.panelStyleClass"
2114
+ [panelStyle]="props.panelStyle"
2115
+ [keepInvalid]="props.keepInvalid"
2116
+ [hideOnDateTimeSelect]="props.hideOnDateTimeSelect ?? true"
2117
+ [touchUI]="props.touchUI"
2118
+ [timeSeparator]="props.timeSeparator ?? ':'"
2119
+ [focusTrap]="props.focusTrap ?? true"
2120
+ [showTransitionOptions]="props.showTransitionOptions ?? '.12s cubic-bezier(0, 0, 0.2, 1)'"
2121
+ [hideTransitionOptions]="props.hideTransitionOptions ?? '.1s linear'"
2122
+ [tabindex]="props.tabindex"
2123
+ [minDate]="props.minDate"
2124
+ [maxDate]="props.maxDate"
2125
+ [disabledDates]="props.disabledDates ?? []"
2126
+ [disabledDays]="props.disabledDays ?? []"
2127
+ [showTime]="!!props.showTime"
2128
+ [responsiveOptions]="props.responsiveOptions ?? []"
2129
+ [numberOfMonths]="props.numberOfMonths ?? 1"
2130
+ [firstDayOfWeek]="props.firstDayOfWeek ?? 7"
2131
+ [view]="props.view ?? 'date'"
2132
+ [defaultDate]="props.defaultDate!"
2133
+ (onInput)="props.onInput?.(field()!, $event)"
2134
+ (onFocus)="props.onFocus?.(field()!, $event)"
2135
+ (onBlur)="props.onBlur?.(field()!, $event)"
2136
+ (onClose)="props.onClose?.(field()!, $event)"
2137
+ (onSelect)="props.onSelect?.(field()!, $event)"
2138
+ (onClear)="props.onClear?.(field()!, $event)"
2139
+ (onTodayClick)="props.onTodayClick?.(field()!, $event)"
2140
+ (onClearClick)="props.onClearClick?.(field()!, $event)"
2141
+ (onMonthChange)="props.onMonthChange?.(field()!, $event)"
2142
+ (onYearChange)="props.onYearChange?.(field()!, $event)"
2143
+ (onClickOutside)="props.onClickOutside?.(field()!, $event)"
2144
+ (onShow)="props.onShow?.(field()!, $event)"
2145
+ [class]="props.class"
2146
+ [formControl]="field()!.fieldControl!">
2147
+ <ng-template #footer>
2148
+ @if (!!props.showTime && !props.timeOnly) {
2149
+ <div class="flex flex-row-reverse text-[12px] text-[var(--p-primary-color)] cursor-pointer">
2150
+ <i
2151
+ class="pi pi-replay"
2152
+ (click)="resetTime($event)"></i>
2153
+ </div>
2154
+ }
2155
+ </ng-template>
2086
2156
  </p-datepicker>`, isInline: true, 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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}\n"], dependencies: [{ kind: "component", type: DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
2087
2157
  }
2088
2158
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatePickerComponent, decorators: [{
2089
2159
  type: Component,
2090
- args: [{ selector: 'form-datepicker', standalone: true, providers: [DatePipe], imports: [DatePicker, ReactiveFormsModule], template: `<p-datepicker
2091
- [id]="field()?.uuid"
2092
- [inputId]="field()?.uuid"
2093
- [variant]="props.variant ?? 'outlined'"
2094
- [fluid]="props.fluid"
2095
- [size]="props.size"
2096
- [styleClass]="props.styleClass"
2097
- [inputStyle]="props.inputStyle"
2098
- [inputStyleClass]="props.inputStyleClass"
2099
- [name]="props.name"
2100
- [placeholder]="props.placeholder"
2101
- [ariaLabelledBy]="props.ariaLabelledBy"
2102
- [ariaLabel]="props.ariaLabel"
2103
- [iconAriaLabel]="props.iconAriaLabel"
2104
- [dateFormat]="props.dateFormat ?? 'yy-mm-dd'"
2105
- [multipleSeparator]="props.multipleSeparator ?? ','"
2106
- [rangeSeparator]="props.rangeSeparator ?? '-'"
2107
- [inline]="props.inline"
2108
- [showOtherMonths]="props.showOtherMonths ?? true"
2109
- [selectOtherMonths]="props.selectOtherMonths"
2110
- [showIcon]="props.showIcon"
2111
- [fluid]="props.fluid ?? true"
2112
- [icon]="props.icon"
2113
- [appendTo]="props.appendTo ?? 'body'"
2114
- [readonlyInput]="props.readonlyInput"
2115
- [shortYearCutoff]="props.shortYearCutoff"
2116
- [hourFormat]="props.hourFormat ?? '24'"
2117
- [timeOnly]="props.timeOnly"
2118
- [stepHour]="props.stepHour ?? 1"
2119
- [stepMinute]="props.stepMinute ?? 1"
2120
- [stepSecond]="props.stepSecond ?? 1"
2121
- [showSeconds]="props.showSeconds ?? !!props.showTime"
2122
- [showOnFocus]="props.showOnFocus ?? true"
2123
- [showWeek]="props.showWeek"
2124
- [startWeekFromFirstDayOfYear]="!!props.startWeekFromFirstDayOfYear"
2125
- [showClear]="props.showClear"
2126
- [dataType]="props.dataType ?? 'string'"
2127
- [selectionMode]="props.selectionMode ?? 'single'"
2128
- [maxDateCount]="props.maxDateCount"
2129
- [showButtonBar]="props.showButtonBar"
2130
- [todayButtonStyleClass]="props.todayButtonStyleClass"
2131
- [clearButtonStyleClass]="props.clearButtonStyleClass"
2132
- [autofocus]="props.autofocus"
2133
- [autoZIndex]="props.autoZIndex ?? true"
2134
- [baseZIndex]="props.baseZIndex ?? 0"
2135
- [panelStyleClass]="props.panelStyleClass"
2136
- [panelStyle]="props.panelStyle"
2137
- [keepInvalid]="props.keepInvalid"
2138
- [hideOnDateTimeSelect]="props.hideOnDateTimeSelect ?? true"
2139
- [touchUI]="props.touchUI"
2140
- [timeSeparator]="props.timeSeparator ?? ':'"
2141
- [focusTrap]="props.focusTrap ?? true"
2142
- [showTransitionOptions]="props.showTransitionOptions ?? '.12s cubic-bezier(0, 0, 0.2, 1)'"
2143
- [hideTransitionOptions]="props.hideTransitionOptions ?? '.1s linear'"
2144
- [tabindex]="props.tabindex"
2145
- [minDate]="props.minDate"
2146
- [maxDate]="props.maxDate"
2147
- [disabledDates]="props.disabledDates ?? []"
2148
- [disabledDays]="props.disabledDays ?? []"
2149
- [showTime]="!!props.showTime"
2150
- [responsiveOptions]="props.responsiveOptions ?? []"
2151
- [numberOfMonths]="props.numberOfMonths ?? 1"
2152
- [firstDayOfWeek]="props.firstDayOfWeek ?? 7"
2153
- [view]="props.view ?? 'date'"
2154
- [defaultDate]="props.defaultDate!"
2155
- (onInput)="props.onInput?.(field()!, $event)"
2156
- (onFocus)="props.onFocus?.(field()!, $event)"
2157
- (onBlur)="props.onBlur?.(field()!, $event)"
2158
- (onClose)="props.onClose?.(field()!, $event)"
2159
- (onSelect)="props.onSelect?.(field()!, $event)"
2160
- (onClear)="props.onClear?.(field()!, $event)"
2161
- (onTodayClick)="props.onTodayClick?.(field()!, $event)"
2162
- (onClearClick)="props.onClearClick?.(field()!, $event)"
2163
- (onMonthChange)="props.onMonthChange?.(field()!, $event)"
2164
- (onYearChange)="props.onYearChange?.(field()!, $event)"
2165
- (onClickOutside)="props.onClickOutside?.(field()!, $event)"
2166
- (onShow)="props.onShow?.(field()!, $event)"
2167
- [class]="props.class"
2168
- [formControl]="field()!.fieldControl!">
2169
- <ng-template #footer>
2170
- @if (!!props.showTime && !props.timeOnly) {
2171
- <div class="flex flex-row-reverse text-[12px] text-[var(--p-primary-color)] cursor-pointer">
2172
- <i
2173
- class="pi pi-replay"
2174
- (click)="resetTime($event)"></i>
2175
- </div>
2176
- }
2177
- </ng-template>
2160
+ args: [{ selector: 'form-datepicker', standalone: true, providers: [DatePipe], imports: [DatePicker, ReactiveFormsModule], template: `<p-datepicker
2161
+ [id]="field()?.uuid"
2162
+ [inputId]="field()?.uuid"
2163
+ [variant]="props.variant ?? 'outlined'"
2164
+ [fluid]="props.fluid"
2165
+ [size]="props.size"
2166
+ [styleClass]="props.styleClass"
2167
+ [inputStyle]="props.inputStyle"
2168
+ [inputStyleClass]="props.inputStyleClass"
2169
+ [name]="props.name"
2170
+ [placeholder]="props.placeholder"
2171
+ [ariaLabelledBy]="props.ariaLabelledBy"
2172
+ [ariaLabel]="props.ariaLabel"
2173
+ [iconAriaLabel]="props.iconAriaLabel"
2174
+ [dateFormat]="props.dateFormat ?? 'yy-mm-dd'"
2175
+ [multipleSeparator]="props.multipleSeparator ?? ','"
2176
+ [rangeSeparator]="props.rangeSeparator ?? '-'"
2177
+ [inline]="props.inline"
2178
+ [showOtherMonths]="props.showOtherMonths ?? true"
2179
+ [selectOtherMonths]="props.selectOtherMonths"
2180
+ [showIcon]="props.showIcon"
2181
+ [fluid]="props.fluid ?? true"
2182
+ [icon]="props.icon"
2183
+ [appendTo]="props.appendTo ?? 'body'"
2184
+ [readonlyInput]="props.readonlyInput"
2185
+ [shortYearCutoff]="props.shortYearCutoff"
2186
+ [hourFormat]="props.hourFormat ?? '24'"
2187
+ [timeOnly]="props.timeOnly"
2188
+ [stepHour]="props.stepHour ?? 1"
2189
+ [stepMinute]="props.stepMinute ?? 1"
2190
+ [stepSecond]="props.stepSecond ?? 1"
2191
+ [showSeconds]="props.showSeconds ?? !!props.showTime"
2192
+ [showOnFocus]="props.showOnFocus ?? true"
2193
+ [showWeek]="props.showWeek"
2194
+ [startWeekFromFirstDayOfYear]="!!props.startWeekFromFirstDayOfYear"
2195
+ [showClear]="props.showClear"
2196
+ [dataType]="props.dataType ?? 'string'"
2197
+ [selectionMode]="props.selectionMode ?? 'single'"
2198
+ [maxDateCount]="props.maxDateCount"
2199
+ [showButtonBar]="props.showButtonBar"
2200
+ [todayButtonStyleClass]="props.todayButtonStyleClass"
2201
+ [clearButtonStyleClass]="props.clearButtonStyleClass"
2202
+ [autofocus]="props.autofocus"
2203
+ [autoZIndex]="props.autoZIndex ?? true"
2204
+ [baseZIndex]="props.baseZIndex ?? 0"
2205
+ [panelStyleClass]="props.panelStyleClass"
2206
+ [panelStyle]="props.panelStyle"
2207
+ [keepInvalid]="props.keepInvalid"
2208
+ [hideOnDateTimeSelect]="props.hideOnDateTimeSelect ?? true"
2209
+ [touchUI]="props.touchUI"
2210
+ [timeSeparator]="props.timeSeparator ?? ':'"
2211
+ [focusTrap]="props.focusTrap ?? true"
2212
+ [showTransitionOptions]="props.showTransitionOptions ?? '.12s cubic-bezier(0, 0, 0.2, 1)'"
2213
+ [hideTransitionOptions]="props.hideTransitionOptions ?? '.1s linear'"
2214
+ [tabindex]="props.tabindex"
2215
+ [minDate]="props.minDate"
2216
+ [maxDate]="props.maxDate"
2217
+ [disabledDates]="props.disabledDates ?? []"
2218
+ [disabledDays]="props.disabledDays ?? []"
2219
+ [showTime]="!!props.showTime"
2220
+ [responsiveOptions]="props.responsiveOptions ?? []"
2221
+ [numberOfMonths]="props.numberOfMonths ?? 1"
2222
+ [firstDayOfWeek]="props.firstDayOfWeek ?? 7"
2223
+ [view]="props.view ?? 'date'"
2224
+ [defaultDate]="props.defaultDate!"
2225
+ (onInput)="props.onInput?.(field()!, $event)"
2226
+ (onFocus)="props.onFocus?.(field()!, $event)"
2227
+ (onBlur)="props.onBlur?.(field()!, $event)"
2228
+ (onClose)="props.onClose?.(field()!, $event)"
2229
+ (onSelect)="props.onSelect?.(field()!, $event)"
2230
+ (onClear)="props.onClear?.(field()!, $event)"
2231
+ (onTodayClick)="props.onTodayClick?.(field()!, $event)"
2232
+ (onClearClick)="props.onClearClick?.(field()!, $event)"
2233
+ (onMonthChange)="props.onMonthChange?.(field()!, $event)"
2234
+ (onYearChange)="props.onYearChange?.(field()!, $event)"
2235
+ (onClickOutside)="props.onClickOutside?.(field()!, $event)"
2236
+ (onShow)="props.onShow?.(field()!, $event)"
2237
+ [class]="props.class"
2238
+ [formControl]="field()!.fieldControl!">
2239
+ <ng-template #footer>
2240
+ @if (!!props.showTime && !props.timeOnly) {
2241
+ <div class="flex flex-row-reverse text-[12px] text-[var(--p-primary-color)] cursor-pointer">
2242
+ <i
2243
+ class="pi pi-replay"
2244
+ (click)="resetTime($event)"></i>
2245
+ </div>
2246
+ }
2247
+ </ng-template>
2178
2248
  </p-datepicker>`, 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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}\n"] }]
2179
2249
  }], ctorParameters: () => [{ type: ActionService }, { type: i0.Renderer2 }, { type: i1$2.DatePipe }], propDecorators: { datePicker: [{
2180
2250
  type: ViewChild,
@@ -2808,34 +2878,34 @@ class TextAreaComponent {
2808
2878
  }
2809
2879
  }
2810
2880
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextAreaComponent, deps: [{ token: ActionService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
2811
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TextAreaComponent, isStandalone: true, selector: "form-textarea", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "textAreaRef", first: true, predicate: ["textAreaRef"], descendants: true, read: ElementRef }], ngImport: i0, template: `
2812
- <textarea
2813
- #textAreaRef
2814
- pTextarea
2815
- [rows]="props.rows ?? 4"
2816
- [cols]="props.cols"
2817
- [id]="field()?.uuid"
2818
- [variant]="props.variant"
2819
- [fluid]="props.fluid ?? true"
2820
- [pSize]="props.size"
2821
- [class]="props.class"
2822
- [formControl]="field()!.fieldControl!"></textarea>
2881
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TextAreaComponent, isStandalone: true, selector: "form-textarea", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "textAreaRef", first: true, predicate: ["textAreaRef"], descendants: true, read: ElementRef }], ngImport: i0, template: `
2882
+ <textarea
2883
+ #textAreaRef
2884
+ pTextarea
2885
+ [rows]="props.rows ?? 4"
2886
+ [cols]="props.cols"
2887
+ [id]="field()?.uuid"
2888
+ [variant]="props.variant"
2889
+ [fluid]="props.fluid ?? true"
2890
+ [pSize]="props.size"
2891
+ [class]="props.class"
2892
+ [formControl]="field()!.fieldControl!"></textarea>
2823
2893
  `, isInline: true, 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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}\n"], dependencies: [{ kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i2$2.Textarea, selector: "[pTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
2824
2894
  }
2825
2895
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextAreaComponent, decorators: [{
2826
2896
  type: Component,
2827
- args: [{ selector: 'form-textarea', standalone: true, imports: [TextareaModule, ReactiveFormsModule], template: `
2828
- <textarea
2829
- #textAreaRef
2830
- pTextarea
2831
- [rows]="props.rows ?? 4"
2832
- [cols]="props.cols"
2833
- [id]="field()?.uuid"
2834
- [variant]="props.variant"
2835
- [fluid]="props.fluid ?? true"
2836
- [pSize]="props.size"
2837
- [class]="props.class"
2838
- [formControl]="field()!.fieldControl!"></textarea>
2897
+ args: [{ selector: 'form-textarea', standalone: true, imports: [TextareaModule, ReactiveFormsModule], template: `
2898
+ <textarea
2899
+ #textAreaRef
2900
+ pTextarea
2901
+ [rows]="props.rows ?? 4"
2902
+ [cols]="props.cols"
2903
+ [id]="field()?.uuid"
2904
+ [variant]="props.variant"
2905
+ [fluid]="props.fluid ?? true"
2906
+ [pSize]="props.size"
2907
+ [class]="props.class"
2908
+ [formControl]="field()!.fieldControl!"></textarea>
2839
2909
  `, 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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}\n"] }]
2840
2910
  }], ctorParameters: () => [{ type: ActionService }, { type: i0.Renderer2 }], propDecorators: { textAreaRef: [{
2841
2911
  type: ViewChild,
@@ -4026,7 +4096,7 @@ const _gridUtils = {
4026
4096
  selectionHandler: (api, selectionKeys, startRow) => {
4027
4097
  for (let i = startRow; i < api.getDisplayedRowCount(); i++) {
4028
4098
  const node = api.getDisplayedRowAtIndex(i);
4029
- if (selectionKeys.includes(node.data.id)) {
4099
+ if (selectionKeys?.includes(node.data.id)) {
4030
4100
  node.setSelected(true, false);
4031
4101
  }
4032
4102
  }
@@ -4330,148 +4400,148 @@ class CellEditDatePickerComponent {
4330
4400
  });
4331
4401
  }
4332
4402
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellEditDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CellEditDatePickerComponent, isStandalone: true, selector: "ng-component", providers: [DatePipe], viewQueries: [{ propertyName: "date", first: true, predicate: ["date"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `<p-datepicker
4334
- #date
4335
- [(ngModel)]="value"
4336
- [variant]="params.variant || 'outlined'"
4337
- [fluid]="params.fluid"
4338
- [size]="params.size"
4339
- [styleClass]="params.styleClass"
4340
- [inputStyle]="params.inputStyle"
4341
- [inputStyleClass]="params.inputStyleClass"
4342
- [inputId]="'date'"
4343
- [name]="params.name"
4344
- [placeholder]="params.placeholder"
4345
- [ariaLabelledBy]="params.ariaLabelledBy"
4346
- [ariaLabel]="params.ariaLabel"
4347
- [iconAriaLabel]="params.iconAriaLabel"
4348
- [dateFormat]="params.dateFormat || 'yy-mm-dd'"
4349
- [multipleSeparator]="params.multipleSeparator || ','"
4350
- [rangeSeparator]="params.rangeSeparator || '-'"
4351
- [inline]="params.inline"
4352
- [showOtherMonths]="params.showOtherMonths == undefined ? true : false"
4353
- [selectOtherMonths]="params.selectOtherMonths"
4354
- [showIcon]="params.showIcon"
4355
- [fluid]="params.fluid == undefined ? true : params.fluid"
4356
- [icon]="params.icon"
4357
- [appendTo]="params.appendTo"
4358
- [readonlyInput]="params.readonlyInput"
4359
- [shortYearCutoff]="params.shortYearCutoff"
4360
- [hourFormat]="params.hourFormat || '24'"
4361
- [timeOnly]="params.timeOnly"
4362
- [stepHour]="params.stepHour || 1"
4363
- [stepMinute]="params.stepMinute || 1"
4364
- [stepSecond]="params.stepSecond || 1"
4365
- [showSeconds]="params.showSeconds"
4366
- [showOnFocus]="params.showOnFocus == undefined ? true : params.fluid"
4367
- [showWeek]="params.showWeek"
4368
- [startWeekFromFirstDayOfYear]="!!params.startWeekFromFirstDayOfYear"
4369
- [showClear]="params.showClear"
4370
- [dataType]="params.dataType || 'date'"
4371
- [selectionMode]="params.selectionMode || 'single'"
4372
- [maxDateCount]="params.maxDateCount"
4373
- [showButtonBar]="params.showButtonBar"
4374
- [todayButtonStyleClass]="params.todayButtonStyleClass"
4375
- [clearButtonStyleClass]="params.clearButtonStyleClass"
4376
- [autofocus]="params.autofocus"
4377
- [autoZIndex]="params.autoZIndex == undefined ? true : params.fluid"
4378
- [baseZIndex]="params.baseZIndex || 0"
4379
- [panelStyleClass]="params.panelStyleClass"
4380
- [panelStyle]="params.panelStyle"
4381
- [keepInvalid]="params.keepInvalid"
4382
- [hideOnDateTimeSelect]="params.hideOnDateTimeSelect == undefined ? true : params.fluid"
4383
- [touchUI]="params.touchUI"
4384
- [timeSeparator]="params.timeSeparator || ':'"
4385
- [focusTrap]="params.focusTrap == undefined ? true : params.fluid"
4386
- [showTransitionOptions]="params.showTransitionOptions || '.12s cubic-bezier(0, 0, 0.2, 1)'"
4387
- [hideTransitionOptions]="params.hideTransitionOptions || '.1s linear'"
4388
- [tabindex]="params.tabindex"
4389
- [minDate]="params.minDate"
4390
- [maxDate]="params.maxDate"
4391
- [disabledDates]="params.disabledDates || []"
4392
- [disabledDays]="params.disabledDays || []"
4393
- [showTime]="!!params.showTime"
4394
- [responsiveOptions]="params.responsiveOptions || []"
4395
- [numberOfMonths]="params.numberOfMonths || 1"
4396
- [firstDayOfWeek]="params.firstDayOfWeek || 7"
4397
- [view]="params.view || 'date'"
4398
- [defaultDate]="params.defaultDate!"
4399
- [inputStyle]="inputStyle"
4400
- (onSelect)="select($event)"
4401
- />
4403
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CellEditDatePickerComponent, isStandalone: true, selector: "ng-component", providers: [DatePipe], viewQueries: [{ propertyName: "date", first: true, predicate: ["date"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `<p-datepicker
4404
+ #date
4405
+ [(ngModel)]="value"
4406
+ [variant]="params.variant || 'outlined'"
4407
+ [fluid]="params.fluid"
4408
+ [size]="params.size"
4409
+ [styleClass]="params.styleClass"
4410
+ [inputStyle]="params.inputStyle"
4411
+ [inputStyleClass]="params.inputStyleClass"
4412
+ [inputId]="'date'"
4413
+ [name]="params.name"
4414
+ [placeholder]="params.placeholder"
4415
+ [ariaLabelledBy]="params.ariaLabelledBy"
4416
+ [ariaLabel]="params.ariaLabel"
4417
+ [iconAriaLabel]="params.iconAriaLabel"
4418
+ [dateFormat]="params.dateFormat || 'yy-mm-dd'"
4419
+ [multipleSeparator]="params.multipleSeparator || ','"
4420
+ [rangeSeparator]="params.rangeSeparator || '-'"
4421
+ [inline]="params.inline"
4422
+ [showOtherMonths]="params.showOtherMonths == undefined ? true : false"
4423
+ [selectOtherMonths]="params.selectOtherMonths"
4424
+ [showIcon]="params.showIcon"
4425
+ [fluid]="params.fluid == undefined ? true : params.fluid"
4426
+ [icon]="params.icon"
4427
+ [appendTo]="params.appendTo"
4428
+ [readonlyInput]="params.readonlyInput"
4429
+ [shortYearCutoff]="params.shortYearCutoff"
4430
+ [hourFormat]="params.hourFormat || '24'"
4431
+ [timeOnly]="params.timeOnly"
4432
+ [stepHour]="params.stepHour || 1"
4433
+ [stepMinute]="params.stepMinute || 1"
4434
+ [stepSecond]="params.stepSecond || 1"
4435
+ [showSeconds]="params.showSeconds"
4436
+ [showOnFocus]="params.showOnFocus == undefined ? true : params.fluid"
4437
+ [showWeek]="params.showWeek"
4438
+ [startWeekFromFirstDayOfYear]="!!params.startWeekFromFirstDayOfYear"
4439
+ [showClear]="params.showClear"
4440
+ [dataType]="params.dataType || 'date'"
4441
+ [selectionMode]="params.selectionMode || 'single'"
4442
+ [maxDateCount]="params.maxDateCount"
4443
+ [showButtonBar]="params.showButtonBar"
4444
+ [todayButtonStyleClass]="params.todayButtonStyleClass"
4445
+ [clearButtonStyleClass]="params.clearButtonStyleClass"
4446
+ [autofocus]="params.autofocus"
4447
+ [autoZIndex]="params.autoZIndex == undefined ? true : params.fluid"
4448
+ [baseZIndex]="params.baseZIndex || 0"
4449
+ [panelStyleClass]="params.panelStyleClass"
4450
+ [panelStyle]="params.panelStyle"
4451
+ [keepInvalid]="params.keepInvalid"
4452
+ [hideOnDateTimeSelect]="params.hideOnDateTimeSelect == undefined ? true : params.fluid"
4453
+ [touchUI]="params.touchUI"
4454
+ [timeSeparator]="params.timeSeparator || ':'"
4455
+ [focusTrap]="params.focusTrap == undefined ? true : params.fluid"
4456
+ [showTransitionOptions]="params.showTransitionOptions || '.12s cubic-bezier(0, 0, 0.2, 1)'"
4457
+ [hideTransitionOptions]="params.hideTransitionOptions || '.1s linear'"
4458
+ [tabindex]="params.tabindex"
4459
+ [minDate]="params.minDate"
4460
+ [maxDate]="params.maxDate"
4461
+ [disabledDates]="params.disabledDates || []"
4462
+ [disabledDays]="params.disabledDays || []"
4463
+ [showTime]="!!params.showTime"
4464
+ [responsiveOptions]="params.responsiveOptions || []"
4465
+ [numberOfMonths]="params.numberOfMonths || 1"
4466
+ [firstDayOfWeek]="params.firstDayOfWeek || 7"
4467
+ [view]="params.view || 'date'"
4468
+ [defaultDate]="params.defaultDate!"
4469
+ [inputStyle]="inputStyle"
4470
+ (onSelect)="select($event)"
4471
+ />
4402
4472
  `, isInline: true, styles: [":host{display:flex;align-items:center;height:100%;width:100%}::ng-deep .p-calendar{height:100%}::ng-deep .p-calendar .p-inputtext{height:100%;width:100%;padding:0 .5rem;border:none;background:none;box-shadow:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i2$6.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }] }); }
4403
4473
  }
4404
4474
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellEditDatePickerComponent, decorators: [{
4405
4475
  type: Component,
4406
- args: [{ standalone: true, imports: [FormsModule, DatePickerModule], template: `<p-datepicker
4407
- #date
4408
- [(ngModel)]="value"
4409
- [variant]="params.variant || 'outlined'"
4410
- [fluid]="params.fluid"
4411
- [size]="params.size"
4412
- [styleClass]="params.styleClass"
4413
- [inputStyle]="params.inputStyle"
4414
- [inputStyleClass]="params.inputStyleClass"
4415
- [inputId]="'date'"
4416
- [name]="params.name"
4417
- [placeholder]="params.placeholder"
4418
- [ariaLabelledBy]="params.ariaLabelledBy"
4419
- [ariaLabel]="params.ariaLabel"
4420
- [iconAriaLabel]="params.iconAriaLabel"
4421
- [dateFormat]="params.dateFormat || 'yy-mm-dd'"
4422
- [multipleSeparator]="params.multipleSeparator || ','"
4423
- [rangeSeparator]="params.rangeSeparator || '-'"
4424
- [inline]="params.inline"
4425
- [showOtherMonths]="params.showOtherMonths == undefined ? true : false"
4426
- [selectOtherMonths]="params.selectOtherMonths"
4427
- [showIcon]="params.showIcon"
4428
- [fluid]="params.fluid == undefined ? true : params.fluid"
4429
- [icon]="params.icon"
4430
- [appendTo]="params.appendTo"
4431
- [readonlyInput]="params.readonlyInput"
4432
- [shortYearCutoff]="params.shortYearCutoff"
4433
- [hourFormat]="params.hourFormat || '24'"
4434
- [timeOnly]="params.timeOnly"
4435
- [stepHour]="params.stepHour || 1"
4436
- [stepMinute]="params.stepMinute || 1"
4437
- [stepSecond]="params.stepSecond || 1"
4438
- [showSeconds]="params.showSeconds"
4439
- [showOnFocus]="params.showOnFocus == undefined ? true : params.fluid"
4440
- [showWeek]="params.showWeek"
4441
- [startWeekFromFirstDayOfYear]="!!params.startWeekFromFirstDayOfYear"
4442
- [showClear]="params.showClear"
4443
- [dataType]="params.dataType || 'date'"
4444
- [selectionMode]="params.selectionMode || 'single'"
4445
- [maxDateCount]="params.maxDateCount"
4446
- [showButtonBar]="params.showButtonBar"
4447
- [todayButtonStyleClass]="params.todayButtonStyleClass"
4448
- [clearButtonStyleClass]="params.clearButtonStyleClass"
4449
- [autofocus]="params.autofocus"
4450
- [autoZIndex]="params.autoZIndex == undefined ? true : params.fluid"
4451
- [baseZIndex]="params.baseZIndex || 0"
4452
- [panelStyleClass]="params.panelStyleClass"
4453
- [panelStyle]="params.panelStyle"
4454
- [keepInvalid]="params.keepInvalid"
4455
- [hideOnDateTimeSelect]="params.hideOnDateTimeSelect == undefined ? true : params.fluid"
4456
- [touchUI]="params.touchUI"
4457
- [timeSeparator]="params.timeSeparator || ':'"
4458
- [focusTrap]="params.focusTrap == undefined ? true : params.fluid"
4459
- [showTransitionOptions]="params.showTransitionOptions || '.12s cubic-bezier(0, 0, 0.2, 1)'"
4460
- [hideTransitionOptions]="params.hideTransitionOptions || '.1s linear'"
4461
- [tabindex]="params.tabindex"
4462
- [minDate]="params.minDate"
4463
- [maxDate]="params.maxDate"
4464
- [disabledDates]="params.disabledDates || []"
4465
- [disabledDays]="params.disabledDays || []"
4466
- [showTime]="!!params.showTime"
4467
- [responsiveOptions]="params.responsiveOptions || []"
4468
- [numberOfMonths]="params.numberOfMonths || 1"
4469
- [firstDayOfWeek]="params.firstDayOfWeek || 7"
4470
- [view]="params.view || 'date'"
4471
- [defaultDate]="params.defaultDate!"
4472
- [inputStyle]="inputStyle"
4473
- (onSelect)="select($event)"
4474
- />
4476
+ args: [{ standalone: true, imports: [FormsModule, DatePickerModule], template: `<p-datepicker
4477
+ #date
4478
+ [(ngModel)]="value"
4479
+ [variant]="params.variant || 'outlined'"
4480
+ [fluid]="params.fluid"
4481
+ [size]="params.size"
4482
+ [styleClass]="params.styleClass"
4483
+ [inputStyle]="params.inputStyle"
4484
+ [inputStyleClass]="params.inputStyleClass"
4485
+ [inputId]="'date'"
4486
+ [name]="params.name"
4487
+ [placeholder]="params.placeholder"
4488
+ [ariaLabelledBy]="params.ariaLabelledBy"
4489
+ [ariaLabel]="params.ariaLabel"
4490
+ [iconAriaLabel]="params.iconAriaLabel"
4491
+ [dateFormat]="params.dateFormat || 'yy-mm-dd'"
4492
+ [multipleSeparator]="params.multipleSeparator || ','"
4493
+ [rangeSeparator]="params.rangeSeparator || '-'"
4494
+ [inline]="params.inline"
4495
+ [showOtherMonths]="params.showOtherMonths == undefined ? true : false"
4496
+ [selectOtherMonths]="params.selectOtherMonths"
4497
+ [showIcon]="params.showIcon"
4498
+ [fluid]="params.fluid == undefined ? true : params.fluid"
4499
+ [icon]="params.icon"
4500
+ [appendTo]="params.appendTo"
4501
+ [readonlyInput]="params.readonlyInput"
4502
+ [shortYearCutoff]="params.shortYearCutoff"
4503
+ [hourFormat]="params.hourFormat || '24'"
4504
+ [timeOnly]="params.timeOnly"
4505
+ [stepHour]="params.stepHour || 1"
4506
+ [stepMinute]="params.stepMinute || 1"
4507
+ [stepSecond]="params.stepSecond || 1"
4508
+ [showSeconds]="params.showSeconds"
4509
+ [showOnFocus]="params.showOnFocus == undefined ? true : params.fluid"
4510
+ [showWeek]="params.showWeek"
4511
+ [startWeekFromFirstDayOfYear]="!!params.startWeekFromFirstDayOfYear"
4512
+ [showClear]="params.showClear"
4513
+ [dataType]="params.dataType || 'date'"
4514
+ [selectionMode]="params.selectionMode || 'single'"
4515
+ [maxDateCount]="params.maxDateCount"
4516
+ [showButtonBar]="params.showButtonBar"
4517
+ [todayButtonStyleClass]="params.todayButtonStyleClass"
4518
+ [clearButtonStyleClass]="params.clearButtonStyleClass"
4519
+ [autofocus]="params.autofocus"
4520
+ [autoZIndex]="params.autoZIndex == undefined ? true : params.fluid"
4521
+ [baseZIndex]="params.baseZIndex || 0"
4522
+ [panelStyleClass]="params.panelStyleClass"
4523
+ [panelStyle]="params.panelStyle"
4524
+ [keepInvalid]="params.keepInvalid"
4525
+ [hideOnDateTimeSelect]="params.hideOnDateTimeSelect == undefined ? true : params.fluid"
4526
+ [touchUI]="params.touchUI"
4527
+ [timeSeparator]="params.timeSeparator || ':'"
4528
+ [focusTrap]="params.focusTrap == undefined ? true : params.fluid"
4529
+ [showTransitionOptions]="params.showTransitionOptions || '.12s cubic-bezier(0, 0, 0.2, 1)'"
4530
+ [hideTransitionOptions]="params.hideTransitionOptions || '.1s linear'"
4531
+ [tabindex]="params.tabindex"
4532
+ [minDate]="params.minDate"
4533
+ [maxDate]="params.maxDate"
4534
+ [disabledDates]="params.disabledDates || []"
4535
+ [disabledDays]="params.disabledDays || []"
4536
+ [showTime]="!!params.showTime"
4537
+ [responsiveOptions]="params.responsiveOptions || []"
4538
+ [numberOfMonths]="params.numberOfMonths || 1"
4539
+ [firstDayOfWeek]="params.firstDayOfWeek || 7"
4540
+ [view]="params.view || 'date'"
4541
+ [defaultDate]="params.defaultDate!"
4542
+ [inputStyle]="inputStyle"
4543
+ (onSelect)="select($event)"
4544
+ />
4475
4545
  `, providers: [DatePipe], styles: [":host{display:flex;align-items:center;height:100%;width:100%}::ng-deep .p-calendar{height:100%}::ng-deep .p-calendar .p-inputtext{height:100%;width:100%;padding:0 .5rem;border:none;background:none;box-shadow:none}\n"] }]
4476
4546
  }], propDecorators: { date: [{
4477
4547
  type: ViewChild,
@@ -5227,10 +5297,18 @@ class GridComponent {
5227
5297
  values = params.value || [];
5228
5298
  }
5229
5299
  const option = options.filter((opt) => values.includes(opt.value)) || [];
5230
- return option ? option.map((v) => v.label).join(',') : params.value;
5300
+ return option.length > 0 ? option.map((v) => v.label) : params.value;
5301
+ }
5302
+ };
5303
+ item.valueGetter = (params) => {
5304
+ // console.log('pamrams----',params,item.field)
5305
+ if (item.cellEditor == 'agRichSelectCellEditor' && params.data.hasOwnProperty(item.field)) {
5306
+ return typeof params.data[item.field] == 'string' ? params.data[item.field].split(',') : params.data[item.field];
5231
5307
  }
5308
+ return params.data[item.field];
5232
5309
  };
5233
5310
  item.valueParser = (params) => {
5311
+ // console.log('params----',params)
5234
5312
  const options = params.colDef.cellEditorParams.rawOptions;
5235
5313
  const option = options.find((opt) => opt.label === params.newValue);
5236
5314
  return option ? option.value : params.newValue;
@@ -5238,6 +5316,12 @@ class GridComponent {
5238
5316
  }
5239
5317
  else {
5240
5318
  item.cellEditorParams.values = values;
5319
+ item.valueGetter = (params) => {
5320
+ if (item.cellEditor == 'agRichSelectCellEditor' && params.data.hasOwnProperty(item.field)) {
5321
+ return typeof params.data[item.field] == 'string' ? params.data[item.field].split(',') : params.data[item.field];
5322
+ }
5323
+ return params.data[item.field];
5324
+ };
5241
5325
  }
5242
5326
  }
5243
5327
  return item;
@@ -5254,7 +5338,7 @@ class GridComponent {
5254
5338
  }
5255
5339
  handleSelections(startRow) {
5256
5340
  setTimeout(() => {
5257
- if (this.selectionKeys()) {
5341
+ if (this.selectionKeys()?.length) {
5258
5342
  gridUtils.selectionHandler(this.grid.api, this.selectionKeys(), startRow);
5259
5343
  }
5260
5344
  });
@@ -5275,7 +5359,7 @@ class GridComponent {
5275
5359
  ...this.searchPrm(),
5276
5360
  offset: params.request.startRow,
5277
5361
  columnFilters: [...(this.rawPrm?.columnFilters || []), ...(search?.columnFilters || [])],
5278
- sorts: search?.sorts?.length ? search.sorts : defaultSorts,
5362
+ sorts: search?.sorts?.length ? search.sorts : this.rawPrm?.sorts?.length ? this.rawPrm.sorts : defaultSorts,
5279
5363
  };
5280
5364
  this.handleServerTree(params, searchPrm);
5281
5365
  this.toOptions()
@@ -5341,12 +5425,13 @@ class GridComponent {
5341
5425
  }
5342
5426
  cellValueChanged(e) {
5343
5427
  let { colDef: { field, headerName, cellEditor, cellEditorParams }, newValue, oldValue, rowIndex, data: { id }, } = e;
5428
+ console.log('e------', e);
5344
5429
  if (cellEditor == 'agRichSelectCellEditor' && cellEditorParams && cellEditorParams.multiSelect) {
5345
5430
  newValue = newValue && newValue.length > 0 ? newValue.join(',') : '';
5346
5431
  this.richMultMap[field] = newValue;
5347
5432
  }
5348
5433
  if (!id) {
5349
- this.upsert()?.subsert[this.subIndex]['maptmp'].set(rowIndex, Object.assign(e.data, this.richMultMap));
5434
+ this.upsert()?.subsert[this.subIndex]['maptmp'].set(rowIndex, Object.assign({ ...e.data }, this.richMultMap));
5350
5435
  if (field == this.mainField) {
5351
5436
  this.upsert()?.subsert[this.subIndex]['logtmp'].set(rowIndex + field, { newValue: newValue, id: 0, label: headerName });
5352
5437
  }
@@ -6519,11 +6604,11 @@ let RowSelectorComponent$1 = class RowSelectorComponent {
6519
6604
  }
6520
6605
  }
6521
6606
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowSelectorComponent, deps: [{ token: ActionService }], target: i0.ɵɵFactoryTarget.Component }); }
6522
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RowSelectorComponent, isStandalone: true, selector: "row-selector", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, selectionKeys: { classPropertyName: "selectionKeys", publicName: "selectionKeys", isSignal: true, isRequired: false, transformFunction: null }, gridOptions: { classPropertyName: "gridOptions", publicName: "gridOptions", isSignal: true, isRequired: false, transformFunction: null }, searchPrm: { classPropertyName: "searchPrm", publicName: "searchPrm", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOk: "onOk", visible: "visibleChange" }, viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "<p-dialog\r\n\t[header]=\"title()\"\r\n\t[modal]=\"true\"\r\n\t[style]=\"{ width: '50vw' }\"\r\n\t(onHide)=\"cancel()\"\r\n\t[maximizable]=\"true\"\r\n\t[appendTo]=\"'body'\"\r\n\t[focusOnShow]=\"false\"\r\n\t(onShow)=\"onShow()\"\r\n\t(onHide)=\"onHide()\"\r\n\t(onMaximize)=\"onMaximize($event)\"\r\n\t[(visible)]=\"visible\">\r\n\t@if (innerVisible) {\r\n\t\t<div class=\"flex flex-col gap-2\">\r\n\t\t\t<custom-search [gridOptions]=\"gridOptions()\"></custom-search>\r\n\t\t\t<custom-grid\r\n\t\t\t\t[showAct]=\"false\"\r\n\t\t\t\t[searchPrm]=\"searchPrm()\"\r\n\t\t\t\t[selectionKeys]=\"selectionKeys()\"\r\n\t\t\t\t[gridOptions]=\"gridOptions()\"></custom-grid>\r\n\t\t\t<div class=\"flex justify-end gap-2\">\r\n\t\t\t\t<p-button\r\n\t\t\t\t\tlabel=\"\u53D6\u6D88\"\r\n\t\t\t\t\t[text]=\"true\"\r\n\t\t\t\t\tseverity=\"secondary\"\r\n\t\t\t\t\t(click)=\"cancel()\" />\r\n\t\t\t\t<p-button\r\n\t\t\t\t\tlabel=\"\u786E\u5B9A\"\r\n\t\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t\t(click)=\"ok()\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t}\r\n</p-dialog>\r\n", 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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}\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: DialogModule }, { kind: "component", type: i3$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "selectionKeys", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel", "showDelete", "gridDisable"], outputs: ["deleteEmit", "addEmit"] }, { kind: "component", type: SearchComponent, selector: "custom-search", inputs: ["searchPrm", "gridOptions"] }] }); }
6607
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RowSelectorComponent, isStandalone: true, selector: "row-selector", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, selectionKeys: { classPropertyName: "selectionKeys", publicName: "selectionKeys", isSignal: true, isRequired: false, transformFunction: null }, gridOptions: { classPropertyName: "gridOptions", publicName: "gridOptions", isSignal: true, isRequired: false, transformFunction: null }, searchPrm: { classPropertyName: "searchPrm", publicName: "searchPrm", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOk: "onOk", visible: "visibleChange" }, viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "<p-dialog\n\t[header]=\"title()\"\n\t[modal]=\"true\"\n\t[style]=\"{ width: '50vw' }\"\n\t(onHide)=\"cancel()\"\n\t[maximizable]=\"true\"\n\t[appendTo]=\"'body'\"\n\t[focusOnShow]=\"false\"\n\t(onShow)=\"onShow()\"\n\t(onHide)=\"onHide()\"\n\t(onMaximize)=\"onMaximize($event)\"\n\t[(visible)]=\"visible\">\n\t@if (innerVisible) {\n\t\t<div class=\"flex flex-col gap-2\">\n\t\t\t<custom-search [gridOptions]=\"gridOptions()\"></custom-search>\n\t\t\t<custom-grid\n\t\t\t\t[showAct]=\"false\"\n\t\t\t\t[searchPrm]=\"searchPrm()\"\n\t\t\t\t[selectionKeys]=\"selectionKeys()\"\n\t\t\t\t[gridOptions]=\"gridOptions()\"></custom-grid>\n\t\t\t<div class=\"flex justify-end gap-2\">\n\t\t\t\t<p-button\n\t\t\t\t\tlabel=\"\u53D6\u6D88\"\n\t\t\t\t\t[text]=\"true\"\n\t\t\t\t\tseverity=\"secondary\"\n\t\t\t\t\t(click)=\"cancel()\" />\n\t\t\t\t<p-button\n\t\t\t\t\tlabel=\"\u786E\u5B9A\"\n\t\t\t\t\t[outlined]=\"true\"\n\t\t\t\t\t(click)=\"ok()\" />\n\t\t\t</div>\n\t\t</div>\n\t}\n</p-dialog>\n", 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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}\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: DialogModule }, { kind: "component", type: i3$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "selectionKeys", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel", "showDelete", "gridDisable"], outputs: ["deleteEmit", "addEmit"] }, { kind: "component", type: SearchComponent, selector: "custom-search", inputs: ["searchPrm", "gridOptions"] }] }); }
6523
6608
  };
6524
6609
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowSelectorComponent$1, decorators: [{
6525
6610
  type: Component,
6526
- args: [{ selector: 'row-selector', standalone: true, imports: [ButtonModule, DialogModule, GridComponent, SearchComponent], template: "<p-dialog\r\n\t[header]=\"title()\"\r\n\t[modal]=\"true\"\r\n\t[style]=\"{ width: '50vw' }\"\r\n\t(onHide)=\"cancel()\"\r\n\t[maximizable]=\"true\"\r\n\t[appendTo]=\"'body'\"\r\n\t[focusOnShow]=\"false\"\r\n\t(onShow)=\"onShow()\"\r\n\t(onHide)=\"onHide()\"\r\n\t(onMaximize)=\"onMaximize($event)\"\r\n\t[(visible)]=\"visible\">\r\n\t@if (innerVisible) {\r\n\t\t<div class=\"flex flex-col gap-2\">\r\n\t\t\t<custom-search [gridOptions]=\"gridOptions()\"></custom-search>\r\n\t\t\t<custom-grid\r\n\t\t\t\t[showAct]=\"false\"\r\n\t\t\t\t[searchPrm]=\"searchPrm()\"\r\n\t\t\t\t[selectionKeys]=\"selectionKeys()\"\r\n\t\t\t\t[gridOptions]=\"gridOptions()\"></custom-grid>\r\n\t\t\t<div class=\"flex justify-end gap-2\">\r\n\t\t\t\t<p-button\r\n\t\t\t\t\tlabel=\"\u53D6\u6D88\"\r\n\t\t\t\t\t[text]=\"true\"\r\n\t\t\t\t\tseverity=\"secondary\"\r\n\t\t\t\t\t(click)=\"cancel()\" />\r\n\t\t\t\t<p-button\r\n\t\t\t\t\tlabel=\"\u786E\u5B9A\"\r\n\t\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t\t(click)=\"ok()\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t}\r\n</p-dialog>\r\n", 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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}\n"] }]
6611
+ args: [{ selector: 'row-selector', standalone: true, imports: [ButtonModule, DialogModule, GridComponent, SearchComponent], template: "<p-dialog\n\t[header]=\"title()\"\n\t[modal]=\"true\"\n\t[style]=\"{ width: '50vw' }\"\n\t(onHide)=\"cancel()\"\n\t[maximizable]=\"true\"\n\t[appendTo]=\"'body'\"\n\t[focusOnShow]=\"false\"\n\t(onShow)=\"onShow()\"\n\t(onHide)=\"onHide()\"\n\t(onMaximize)=\"onMaximize($event)\"\n\t[(visible)]=\"visible\">\n\t@if (innerVisible) {\n\t\t<div class=\"flex flex-col gap-2\">\n\t\t\t<custom-search [gridOptions]=\"gridOptions()\"></custom-search>\n\t\t\t<custom-grid\n\t\t\t\t[showAct]=\"false\"\n\t\t\t\t[searchPrm]=\"searchPrm()\"\n\t\t\t\t[selectionKeys]=\"selectionKeys()\"\n\t\t\t\t[gridOptions]=\"gridOptions()\"></custom-grid>\n\t\t\t<div class=\"flex justify-end gap-2\">\n\t\t\t\t<p-button\n\t\t\t\t\tlabel=\"\u53D6\u6D88\"\n\t\t\t\t\t[text]=\"true\"\n\t\t\t\t\tseverity=\"secondary\"\n\t\t\t\t\t(click)=\"cancel()\" />\n\t\t\t\t<p-button\n\t\t\t\t\tlabel=\"\u786E\u5B9A\"\n\t\t\t\t\t[outlined]=\"true\"\n\t\t\t\t\t(click)=\"ok()\" />\n\t\t\t</div>\n\t\t</div>\n\t}\n</p-dialog>\n", 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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}\n"] }]
6527
6612
  }], ctorParameters: () => [{ type: ActionService }], propDecorators: { onOk: [{
6528
6613
  type: Output
6529
6614
  }], grid: [{
@@ -7349,11 +7434,11 @@ class CrumbActionComponent extends AmComponent {
7349
7434
  this.action.saveSignal.set(false);
7350
7435
  }
7351
7436
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CrumbActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7352
- 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 }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, menus: { classPropertyName: "menus", publicName: "menus", isSignal: true, isRequired: false, transformFunction: null }, saveBtnDisable: { classPropertyName: "saveBtnDisable", publicName: "saveBtnDisable", 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 leading-none\">\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 max-w-[150px] overflow-hidden text-ellipsis 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(displayOpItems().length > 0){\r\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [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)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\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 \r\n class=\"flex items-center p-tieredmenu-item-link\"\r\n [class]=\"(item.auth || 0) > (authLevel() || 0) || !!item.btnHidden?.(data()) ? 'hidden' : 'block'\" \r\n (click)=\"actEvent(item)\">\r\n <span class=\"ml-2\">{{item.i18nKey ? (item.i18nKey | translate) : item.label}}</span>\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]=\"setSaveClass()\" \r\n icon=\"pi pi-cloud-upload\" \r\n [loading]=\"isLoading()\"\r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\r\n [disabled]=\"saveBtnDisable()\" \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(displayOpItems().length > 0){\r\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [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)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\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 [disabled]=\"saveBtnDisable()\" \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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}:host::ng-deep .left-btn .p-button{height:33px;min-width:51px}\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$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.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"] }] }); }
7437
+ 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 }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, menus: { classPropertyName: "menus", publicName: "menus", isSignal: true, isRequired: false, transformFunction: null }, saveBtnDisable: { classPropertyName: "saveBtnDisable", publicName: "saveBtnDisable", 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\">\n <div class=\"left-btn flex gap-1\">\n <!-- TODO \u6743\u9650\u6570\u636E\u63A5\u5165 -->\n @if(!newBtnTemplateRef){\n @if(this.authLevel() > 2 && addVisible()){\n <p-button (click)=\"goNew()\" [outlined]=\"outlined()\">{{'app.create' | translate}}</p-button>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"newBtnTemplateRef\"></ng-container>\n }\n </div>\n @if(crumbList().length > 0){\n <div class=\"flex flex-col leading-none\">\n <div class=\"hidden md:flex\">\n @if(crumbList().length <= 2){\n @for(fchild of crumbList(); track fchild.url){\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(fchild)\">\n @if(fchild.i18nKey!= ''){\n {{ fchild!.i18nKey | translate}}\n } @else {\n {{fchild.title}}\n }\n </div>\n }\n } @else {\n <div class=\"flex\">\n <div class=\"crumb-title cursor-pointer select-crumb\">\n <div class=\"w-[17px] h-[17px] flex items-center font-bold text-[13px]\" (click)=\"toggle($event)\">\n ...\n </div>\n <p-tieredmenu #op [model]=\"crumbFront\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\">\n <span class=\"ml-2 w-full\" (click)=\"back(item)\">\n @if(item.i18nKey!= ''){\n {{ item!.i18nKey | translate}}\n } @else {\n {{item.title}}\n }\n </span>\n </a>\n </ng-template>\n </p-tieredmenu>\n </div>\n @for(item of crumbEnd;track item.url){\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(item)\">\n @if(item.i18nKey!= ''){\n {{ item!.i18nKey | translate}}\n } @else {\n {{item.title}}\n }\n </div>\n }\n </div>\n }\n \n </div>\n <div class=\"min-w-0 text-text-color text-[12px] title-action\">\n <span class=\"hidden md:inline-block max-w-[150px] overflow-hidden text-ellipsis whitespace-nowrap\">{{isNew? 'New':crumbTitle().title}}</span>\n @if(isShowCog()){\n @if(isList()){\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleListOp($event)\"/>\n @if(displayOpItems().length > 0){\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\n <span class=\"ml-2\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n } @else {\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleAct($event)\"/>\n @if(actionList().length > 0 && showAct){\n <p-tieredmenu #actOp [model]=\"actionList()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple \n class=\"flex items-center p-tieredmenu-item-link\"\n [class]=\"(item.auth || 0) > (authLevel() || 0) || !!item.btnHidden?.(data()) ? 'hidden' : 'block'\" \n (click)=\"actEvent(item)\">\n <span class=\"ml-2\">{{item.i18nKey ? (item.i18nKey | translate) : item.label}}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n }\n }\n @if(this.authLevel() > 2 && !isList()){\n <p-button \n variant=\"text\" \n [severity]=\"setSaveClass()\" \n icon=\"pi pi-cloud-upload\" \n [loading]=\"isLoading()\"\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\n [disabled]=\"saveBtnDisable()\" \n class=\"p-0\"\n (click)=\"handleSave()\">\n </p-button>\n }\n <!-- @if(crumbList().length >= 2){ -->\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-times\" \n aria-label=\"\u5173\u95ED\" \n class=\"p-0\"\n (click)=\"closeNew()\">\n </p-button>\n <!-- } -->\n </div>\n </div>\n } @else {\n <!-- \u521D\u59CB\u8282\u70B9 -->\n <div class=\"min-w-0 flex items-center text-[14px] text-text-color\">\n <span class=\"hidden md:inline-block max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\">\n @if(crumbTitle().i18nKey != ''){\n {{crumbTitle().i18nKey | translate}}\n } @else {\n {{crumbTitle().title}}\n }\n </span>\n @if(isShowCog()){\n <p-button \n variant=\"text\"\n severity=\"secondary\" \n icon=\"pi pi-cog\" \n aria-label=\"\u64CD\u4F5C\" \n (onClick)=\"toggleListOp($event)\"/>\n @if(displayOpItems().length > 0){\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\n <span class=\"ml-2\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n \n }\n @if(!isList()){\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-cloud-upload\" \n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\n [disabled]=\"saveBtnDisable()\" \n class=\"p-0\"\n (click)=\"handleSave()\">\n </p-button>\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-times\" \n aria-label=\"\u5173\u95ED\" \n class=\"p-0\"\n (click)=\"closeNew()\">\n </p-button>\n }\n </div>\n }\n \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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}:host::ng-deep .left-btn .p-button{height:33px;min-width:51px}\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$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.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"] }] }); }
7353
7438
  }
7354
7439
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CrumbActionComponent, decorators: [{
7355
7440
  type: Component,
7356
- 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 leading-none\">\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 max-w-[150px] overflow-hidden text-ellipsis 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(displayOpItems().length > 0){\r\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [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)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\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 \r\n class=\"flex items-center p-tieredmenu-item-link\"\r\n [class]=\"(item.auth || 0) > (authLevel() || 0) || !!item.btnHidden?.(data()) ? 'hidden' : 'block'\" \r\n (click)=\"actEvent(item)\">\r\n <span class=\"ml-2\">{{item.i18nKey ? (item.i18nKey | translate) : item.label}}</span>\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]=\"setSaveClass()\" \r\n icon=\"pi pi-cloud-upload\" \r\n [loading]=\"isLoading()\"\r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\r\n [disabled]=\"saveBtnDisable()\" \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(displayOpItems().length > 0){\r\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [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)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\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 [disabled]=\"saveBtnDisable()\" \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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}:host::ng-deep .left-btn .p-button{height:33px;min-width:51px}\n"] }]
7441
+ args: [{ selector: 'app-crumb-action', standalone: true, imports: [ButtonModule, TranslatePipe, CommonModule, TieredMenu], template: "<div class=\"flex items-center gap-1\">\n <div class=\"left-btn flex gap-1\">\n <!-- TODO \u6743\u9650\u6570\u636E\u63A5\u5165 -->\n @if(!newBtnTemplateRef){\n @if(this.authLevel() > 2 && addVisible()){\n <p-button (click)=\"goNew()\" [outlined]=\"outlined()\">{{'app.create' | translate}}</p-button>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"newBtnTemplateRef\"></ng-container>\n }\n </div>\n @if(crumbList().length > 0){\n <div class=\"flex flex-col leading-none\">\n <div class=\"hidden md:flex\">\n @if(crumbList().length <= 2){\n @for(fchild of crumbList(); track fchild.url){\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(fchild)\">\n @if(fchild.i18nKey!= ''){\n {{ fchild!.i18nKey | translate}}\n } @else {\n {{fchild.title}}\n }\n </div>\n }\n } @else {\n <div class=\"flex\">\n <div class=\"crumb-title cursor-pointer select-crumb\">\n <div class=\"w-[17px] h-[17px] flex items-center font-bold text-[13px]\" (click)=\"toggle($event)\">\n ...\n </div>\n <p-tieredmenu #op [model]=\"crumbFront\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\">\n <span class=\"ml-2 w-full\" (click)=\"back(item)\">\n @if(item.i18nKey!= ''){\n {{ item!.i18nKey | translate}}\n } @else {\n {{item.title}}\n }\n </span>\n </a>\n </ng-template>\n </p-tieredmenu>\n </div>\n @for(item of crumbEnd;track item.url){\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(item)\">\n @if(item.i18nKey!= ''){\n {{ item!.i18nKey | translate}}\n } @else {\n {{item.title}}\n }\n </div>\n }\n </div>\n }\n \n </div>\n <div class=\"min-w-0 text-text-color text-[12px] title-action\">\n <span class=\"hidden md:inline-block max-w-[150px] overflow-hidden text-ellipsis whitespace-nowrap\">{{isNew? 'New':crumbTitle().title}}</span>\n @if(isShowCog()){\n @if(isList()){\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleListOp($event)\"/>\n @if(displayOpItems().length > 0){\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\n <span class=\"ml-2\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n } @else {\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleAct($event)\"/>\n @if(actionList().length > 0 && showAct){\n <p-tieredmenu #actOp [model]=\"actionList()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple \n class=\"flex items-center p-tieredmenu-item-link\"\n [class]=\"(item.auth || 0) > (authLevel() || 0) || !!item.btnHidden?.(data()) ? 'hidden' : 'block'\" \n (click)=\"actEvent(item)\">\n <span class=\"ml-2\">{{item.i18nKey ? (item.i18nKey | translate) : item.label}}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n }\n }\n @if(this.authLevel() > 2 && !isList()){\n <p-button \n variant=\"text\" \n [severity]=\"setSaveClass()\" \n icon=\"pi pi-cloud-upload\" \n [loading]=\"isLoading()\"\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\n [disabled]=\"saveBtnDisable()\" \n class=\"p-0\"\n (click)=\"handleSave()\">\n </p-button>\n }\n <!-- @if(crumbList().length >= 2){ -->\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-times\" \n aria-label=\"\u5173\u95ED\" \n class=\"p-0\"\n (click)=\"closeNew()\">\n </p-button>\n <!-- } -->\n </div>\n </div>\n } @else {\n <!-- \u521D\u59CB\u8282\u70B9 -->\n <div class=\"min-w-0 flex items-center text-[14px] text-text-color\">\n <span class=\"hidden md:inline-block max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\">\n @if(crumbTitle().i18nKey != ''){\n {{crumbTitle().i18nKey | translate}}\n } @else {\n {{crumbTitle().title}}\n }\n </span>\n @if(isShowCog()){\n <p-button \n variant=\"text\"\n severity=\"secondary\" \n icon=\"pi pi-cog\" \n aria-label=\"\u64CD\u4F5C\" \n (onClick)=\"toggleListOp($event)\"/>\n @if(displayOpItems().length > 0){\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\n <span class=\"ml-2\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n \n }\n @if(!isList()){\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-cloud-upload\" \n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\n [disabled]=\"saveBtnDisable()\" \n class=\"p-0\"\n (click)=\"handleSave()\">\n </p-button>\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-times\" \n aria-label=\"\u5173\u95ED\" \n class=\"p-0\"\n (click)=\"closeNew()\">\n </p-button>\n }\n </div>\n }\n \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-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}: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}:host::ng-deep .left-btn .p-button{height:33px;min-width:51px}\n"] }]
7357
7442
  }], ctorParameters: () => [], propDecorators: { op: [{
7358
7443
  type: ViewChild,
7359
7444
  args: ['op']
@@ -8299,7 +8384,7 @@ class PageFormComponent extends AmComponent {
8299
8384
  }, 0);
8300
8385
  }
8301
8386
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8302
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null }, formDisabled: { classPropertyName: "formDisabled", publicName: "formDisabled", isSignal: true, isRequired: false, transformFunction: null }, statusConf: { classPropertyName: "statusConf", publicName: "statusConf", isSignal: true, isRequired: false, transformFunction: null }, formDetail: { classPropertyName: "formDetail", publicName: "formDetail", isSignal: true, isRequired: false, transformFunction: null }, saveFunc: { classPropertyName: "saveFunc", publicName: "saveFunc", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }, { propertyName: "customGrid", predicate: ["customGrid"], descendants: true }, { propertyName: "tabForm", predicate: ["tabForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"md:overflow-hidden\">\r\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n\t\t<div class=\"md:basis-1/3 order-1\">\r\n\t\t\t<app-crumb-action\r\n\t\t\t\t[addVisible]=\"addVisible()\"\r\n\t\t\t\t[newUrl]=\"newUrl\"\r\n\t\t\t\t[isShowCog]=\"true\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t[actionList]=\"actionList()\"\r\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\r\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\r\n\t\t\t\t(actionEvent)=\"authClick($event)\"\r\n\t\t\t\t(saveEvent)=\"submitForm()\">\r\n\t\t\t</app-crumb-action>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\r\n\t\t\t<href-btn-list\r\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\r\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\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\tsize=\"small\"\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 class=\"basis-1/3 order-3\"></div>\r\n\t</div>\r\n\t<div class=\"flex\">\r\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\r\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center 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[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]=\"\r\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\r\n\t\t\t\t\t\t\t\t? 'form-action hidden'\r\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\r\n\t\t\t\t\t\t\"\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[modelLog]=\"modelLog()\"\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[isClick]=\"this.statusConf().isClick\"\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\t@if (modelLog()) {\r\n\t\t\t<div class=\"md:w-[400px]\"></div>\r\n\t\t}\r\n\t</div>\r\n\t<div class=\"main flex flex-wrap md:overflow-y-hidden\">\r\n\t\t<div class=\"w-full md:flex-1 md: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 > 0) {\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\r\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\r\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\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@if (grid.type == 'grid') {\r\n\t\t\t\t\t\t<custom-grid\r\n\t\t\t\t\t\t\t#customGrid\r\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\r\n\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!] || []\"\r\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\r\n\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\r\n\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\r\n\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\r\n\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\r\n\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\r\n\t\t\t\t\t\t\t[selectData]=\"grid.selectData\">\r\n\t\t\t\t\t\t</custom-grid>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t<!-- @if(indexValue == i){\r\n\t\t\t\t\t\t\t<form [formGroup]=\"grid.form!\">\r\n\t\t\t\t\t\t\t\t<custom-form\r\n\t\t\t\t\t\t\t\t[options]=\"grid\"\r\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t</custom-form>\r\n\t\t\t\t\t\t\t</form>\r\n\t\t\t\t\t\t} -->\r\n\t\t\t\t\t\t<custom-form\r\n\t\t\t\t\t\t\t#tabForm\r\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\r\n\t\t\t\t\t\t\t[options]=\"grid\"\r\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\r\n\t\t\t\t\t\t</custom-form>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t@if (modelLog()) {\r\n\t\t\t<div class=\"w-full md:w-[400px] md:h-full overflow-y-auto\">\r\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\r\n\t\t\t</div>\r\n\t\t}\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[selectionKeys]=\"selectionKeys\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>\r\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}\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", "data", "menus", "saveBtnDisable"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["modelLog", "needSelfAdjusting", "steps", "current", "authLevel", "isClick"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "selectionKeys", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel", "showDelete", "gridDisable"], outputs: ["deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3$2.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3$2.TabList, selector: "p-tablist" }, { kind: "component", type: i3$2.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent$1, selector: "row-selector", inputs: ["title", "selectionKeys", "gridOptions", "searchPrm", "visible"], outputs: ["onOk", "visibleChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: HrefBtnListComponent, selector: "href-btn-list", inputs: ["hrefs"], outputs: ["hrefClick"] }] }); }
8387
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null }, formDisabled: { classPropertyName: "formDisabled", publicName: "formDisabled", isSignal: true, isRequired: false, transformFunction: null }, statusConf: { classPropertyName: "statusConf", publicName: "statusConf", isSignal: true, isRequired: false, transformFunction: null }, formDetail: { classPropertyName: "formDetail", publicName: "formDetail", isSignal: true, isRequired: false, transformFunction: null }, saveFunc: { classPropertyName: "saveFunc", publicName: "saveFunc", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }, { propertyName: "customGrid", predicate: ["customGrid"], descendants: true }, { propertyName: "tabForm", predicate: ["tabForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"md:overflow-hidden\">\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\n\t\t<div class=\"md:basis-1/3 order-1\">\n\t\t\t<app-crumb-action\n\t\t\t\t[addVisible]=\"addVisible()\"\n\t\t\t\t[newUrl]=\"newUrl\"\n\t\t\t\t[isShowCog]=\"true\"\n\t\t\t\t[outlined]=\"true\"\n\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t[actionList]=\"actionList()\"\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\n\t\t\t\t(actionEvent)=\"authClick($event)\"\n\t\t\t\t(saveEvent)=\"submitForm()\">\n\t\t\t</app-crumb-action>\n\t\t</div>\n\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\n\t\t\t<href-btn-list\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\n\t\t\t<!-- @if (id) {\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\n\t\t\t\t\t\tclass=\"mr-[6px]\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t} -->\n\t\t</div>\n\t\t<div class=\"basis-1/3 order-3\"></div>\n\t</div>\n\t<div class=\"flex\">\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center flex-row order-1\">\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\n\t\t\t\t\t\t[styleClass]=\"\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\n\t\t\t\t\t\t\t\t? 'form-action hidden'\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\n\t\t\t\t<custom-steps\n\t\t\t\t\t#customSteps\n\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t[steps]=\"statusSteps()\"\n\t\t\t\t\t[modelLog]=\"modelLog()\"\n\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\n\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t[isClick]=\"this.statusConf().isClick\"\n\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\n\t\t\t\t</custom-steps>\n\t\t\t</div>\n\t\t</div>\n\t\t@if (modelLog()) {\n\t\t\t<div class=\"md:w-[400px]\"></div>\n\t\t}\n\t</div>\n\t<div class=\"main flex flex-wrap md:overflow-y-hidden\">\n\t\t<div class=\"w-full md:flex-1 md:h-full overflow-y-auto\">\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\n\t\t\t\t<div class=\"p-2 flex-1\">\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#cForm\n\t\t\t\t\t\t\t[options]=\"formOptions\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t@if (gridList() && gridList().length > 0) {\n\t\t\t\t\t<div class=\"relative mb-2\">\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\n\t\t\t\t\t\t\t<p-tablist>\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\n\t\t\t\t\t\t\t\t\t<p-tab\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n\t\t\t\t\t\t\t\t\t</p-tab>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</p-tablist>\n\t\t\t\t\t\t</p-tabs>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\n\t\t\t\t\t@if (grid.type == 'grid') {\n\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!] || []\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t[selectData]=\"grid.selectData\">\n\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<!-- @if(indexValue == i){\n\t\t\t\t\t\t\t<form [formGroup]=\"grid.form!\">\n\t\t\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t} -->\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (modelLog()) {\n\t\t\t<div class=\"w-full md:w-[400px] md:h-full overflow-y-auto\">\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n<row-selector\n\t[(visible)]=\"visible\"\n\t[searchPrm]=\"dialogSearchPrm\"\n\t[gridOptions]=\"selectOptions\"\n\t[selectionKeys]=\"selectionKeys\"\n\t(onOk)=\"onOk($event)\">\n</row-selector>\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}\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", "data", "menus", "saveBtnDisable"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["modelLog", "needSelfAdjusting", "steps", "current", "authLevel", "isClick"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "selectionKeys", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel", "showDelete", "gridDisable"], outputs: ["deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3$2.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3$2.TabList, selector: "p-tablist" }, { kind: "component", type: i3$2.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent$1, selector: "row-selector", inputs: ["title", "selectionKeys", "gridOptions", "searchPrm", "visible"], outputs: ["onOk", "visibleChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: HrefBtnListComponent, selector: "href-btn-list", inputs: ["hrefs"], outputs: ["hrefClick"] }] }); }
8303
8388
  }
8304
8389
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, decorators: [{
8305
8390
  type: Component,
@@ -8315,7 +8400,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8315
8400
  RowSelectorComponent$1,
8316
8401
  TranslatePipe,
8317
8402
  HrefBtnListComponent,
8318
- ], providers: [], template: "<div class=\"md:overflow-hidden\">\r\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n\t\t<div class=\"md:basis-1/3 order-1\">\r\n\t\t\t<app-crumb-action\r\n\t\t\t\t[addVisible]=\"addVisible()\"\r\n\t\t\t\t[newUrl]=\"newUrl\"\r\n\t\t\t\t[isShowCog]=\"true\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t[actionList]=\"actionList()\"\r\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\r\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\r\n\t\t\t\t(actionEvent)=\"authClick($event)\"\r\n\t\t\t\t(saveEvent)=\"submitForm()\">\r\n\t\t\t</app-crumb-action>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\r\n\t\t\t<href-btn-list\r\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\r\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\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\tsize=\"small\"\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 class=\"basis-1/3 order-3\"></div>\r\n\t</div>\r\n\t<div class=\"flex\">\r\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\r\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center 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[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]=\"\r\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\r\n\t\t\t\t\t\t\t\t? 'form-action hidden'\r\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\r\n\t\t\t\t\t\t\"\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[modelLog]=\"modelLog()\"\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[isClick]=\"this.statusConf().isClick\"\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\t@if (modelLog()) {\r\n\t\t\t<div class=\"md:w-[400px]\"></div>\r\n\t\t}\r\n\t</div>\r\n\t<div class=\"main flex flex-wrap md:overflow-y-hidden\">\r\n\t\t<div class=\"w-full md:flex-1 md: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 > 0) {\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\r\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\r\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\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@if (grid.type == 'grid') {\r\n\t\t\t\t\t\t<custom-grid\r\n\t\t\t\t\t\t\t#customGrid\r\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\r\n\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!] || []\"\r\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\r\n\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\r\n\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\r\n\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\r\n\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\r\n\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\r\n\t\t\t\t\t\t\t[selectData]=\"grid.selectData\">\r\n\t\t\t\t\t\t</custom-grid>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t<!-- @if(indexValue == i){\r\n\t\t\t\t\t\t\t<form [formGroup]=\"grid.form!\">\r\n\t\t\t\t\t\t\t\t<custom-form\r\n\t\t\t\t\t\t\t\t[options]=\"grid\"\r\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t</custom-form>\r\n\t\t\t\t\t\t\t</form>\r\n\t\t\t\t\t\t} -->\r\n\t\t\t\t\t\t<custom-form\r\n\t\t\t\t\t\t\t#tabForm\r\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\r\n\t\t\t\t\t\t\t[options]=\"grid\"\r\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\r\n\t\t\t\t\t\t</custom-form>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t@if (modelLog()) {\r\n\t\t\t<div class=\"w-full md:w-[400px] md:h-full overflow-y-auto\">\r\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\r\n\t\t\t</div>\r\n\t\t}\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[selectionKeys]=\"selectionKeys\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>\r\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}\n"] }]
8403
+ ], providers: [], template: "<div class=\"md:overflow-hidden\">\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\n\t\t<div class=\"md:basis-1/3 order-1\">\n\t\t\t<app-crumb-action\n\t\t\t\t[addVisible]=\"addVisible()\"\n\t\t\t\t[newUrl]=\"newUrl\"\n\t\t\t\t[isShowCog]=\"true\"\n\t\t\t\t[outlined]=\"true\"\n\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t[actionList]=\"actionList()\"\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\n\t\t\t\t[saveBtnDisable]=\"saveBtnDisable\"\n\t\t\t\t(actionEvent)=\"authClick($event)\"\n\t\t\t\t(saveEvent)=\"submitForm()\">\n\t\t\t</app-crumb-action>\n\t\t</div>\n\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\n\t\t\t<href-btn-list\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\n\t\t\t<!-- @if (id) {\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\n\t\t\t\t\t\tclass=\"mr-[6px]\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t} -->\n\t\t</div>\n\t\t<div class=\"basis-1/3 order-3\"></div>\n\t</div>\n\t<div class=\"flex\">\n\t\t<div class=\"px-2 flex flex-wrap items-center flex-1\">\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center flex-row order-1\">\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\n\t\t\t\t\t\t[styleClass]=\"\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data)\n\t\t\t\t\t\t\t\t? 'form-action hidden'\n\t\t\t\t\t\t\t\t: 'form-action block mr-[.5rem]'\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data)\">\n\t\t\t\t\t</p-button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\n\t\t\t\t<custom-steps\n\t\t\t\t\t#customSteps\n\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t[steps]=\"statusSteps()\"\n\t\t\t\t\t[modelLog]=\"modelLog()\"\n\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\n\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t[isClick]=\"this.statusConf().isClick\"\n\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\n\t\t\t\t</custom-steps>\n\t\t\t</div>\n\t\t</div>\n\t\t@if (modelLog()) {\n\t\t\t<div class=\"md:w-[400px]\"></div>\n\t\t}\n\t</div>\n\t<div class=\"main flex flex-wrap md:overflow-y-hidden\">\n\t\t<div class=\"w-full md:flex-1 md:h-full overflow-y-auto\">\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\n\t\t\t\t<div class=\"p-2 flex-1\">\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#cForm\n\t\t\t\t\t\t\t[options]=\"formOptions\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t@if (gridList() && gridList().length > 0) {\n\t\t\t\t\t<div class=\"relative mb-2\">\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\n\t\t\t\t\t\t\t<p-tablist>\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\n\t\t\t\t\t\t\t\t\t<p-tab\n\t\t\t\t\t\t\t\t\t\t[value]=\"i\"\n\t\t\t\t\t\t\t\t\t\t(click)=\"tabClick()\">\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\n\t\t\t\t\t\t\t\t\t</p-tab>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</p-tablist>\n\t\t\t\t\t\t</p-tabs>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\n\t\t\t\t\t@if (grid.type == 'grid') {\n\t\t\t\t\t\t<custom-grid\n\t\t\t\t\t\t\t#customGrid\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!] || []\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\n\t\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\n\t\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\n\t\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\n\t\t\t\t\t\t\t[gridDisable]=\"gridDisable\"\n\t\t\t\t\t\t\t[authLevel]=\"authLevel()\"\n\t\t\t\t\t\t\t[showDelete]=\"grid.showDelete\"\n\t\t\t\t\t\t\t[selectData]=\"grid.selectData\">\n\t\t\t\t\t\t</custom-grid>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<!-- @if(indexValue == i){\n\t\t\t\t\t\t\t<form [formGroup]=\"grid.form!\">\n\t\t\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t} -->\n\t\t\t\t\t\t<custom-form\n\t\t\t\t\t\t\t#tabForm\n\t\t\t\t\t\t\t[hidden]=\"indexValue != i\"\n\t\t\t\t\t\t\t[options]=\"grid\"\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\n\t\t\t\t\t\t\t[model]=\"subFormModel[grid.subDataKey!] || {}\">\n\t\t\t\t\t\t</custom-form>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t\t@if (modelLog()) {\n\t\t\t<div class=\"w-full md:w-[400px] md:h-full overflow-y-auto\">\n\t\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n<row-selector\n\t[(visible)]=\"visible\"\n\t[searchPrm]=\"dialogSearchPrm\"\n\t[gridOptions]=\"selectOptions\"\n\t[selectionKeys]=\"selectionKeys\"\n\t(onOk)=\"onOk($event)\">\n</row-selector>\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 128px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:not(:disabled):hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}\n"] }]
8319
8404
  }], ctorParameters: () => [], propDecorators: { cForm: [{
8320
8405
  type: ViewChild,
8321
8406
  args: ['cForm']