@delon/abc 20.1.0 → 20.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"se.mjs","sources":["../../../../packages/abc/se/se-container.component.ts","../../../../packages/abc/se/se.component.ts","../../../../packages/abc/se/se.component.html","../../../../packages/abc/se/se.module.ts","../../../../packages/abc/se/se.types.ts","../../../../packages/abc/se/se.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { BehaviorSubject, Observable, filter } from 'rxjs';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SEErrorRefresh, SELayout } from './se.types';\n\n@Component({\n selector: 'se-title, [se-title]',\n exportAs: 'seTitle',\n template: '<ng-content />',\n host: {\n '[class.se__title]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SETitleComponent implements OnInit {\n private readonly parentComp = inject(SEContainerComponent, { host: true, optional: true });\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly ren = inject(Renderer2);\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[se-title] must include 'se-container' component`);\n }\n }\n\n private setClass(): void {\n const { el } = this;\n const gutter = this.parentComp!.gutter as number;\n this.ren.setStyle(el, 'padding-left', `${gutter / 2}px`);\n this.ren.setStyle(el, 'padding-right', `${gutter / 2}px`);\n }\n\n ngOnInit(): void {\n this.setClass();\n }\n}\n\n@Component({\n selector: 'se-container, [se-container]',\n exportAs: 'seContainer',\n template: `\n @if (title) {\n <div se-title>\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </div>\n }\n <ng-content />\n `,\n host: {\n '[class.ant-row]': `true`,\n '[class.se__container]': `true`,\n '[class.se__horizontal]': `nzLayout === 'horizontal'`,\n '[class.se__vertical]': `nzLayout === 'vertical'`,\n '[class.se__inline]': `nzLayout === 'inline'`,\n '[class.se__compact]': `size === 'compact'`,\n '[style.margin-left.px]': `margin`,\n '[style.margin-right.px]': `margin`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SETitleComponent, NzStringTemplateOutletDirective]\n})\nexport class SEContainerComponent {\n private readonly cogSrv = inject(AlainConfigService);\n private errorNotify$ = new BehaviorSubject<SEErrorRefresh>(null as NzSafeAny);\n @Input({ alias: 'se-container', transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })\n colInCon?: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col!: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) labelWidth!: number;\n @Input({ transform: booleanAttribute }) noColon = false;\n @Input() title?: string | TemplateRef<void> | null;\n\n @Input({ transform: numberAttribute })\n get gutter(): number {\n return this.nzLayout === 'horizontal' ? this._gutter : 0;\n }\n set gutter(value: number) {\n this._gutter = value;\n }\n private _gutter!: number;\n\n @Input()\n get nzLayout(): SELayout {\n return this._nzLayout;\n }\n set nzLayout(value: SELayout) {\n this._nzLayout = value;\n if (value === 'inline') {\n this.size = 'compact';\n }\n }\n private _nzLayout!: SELayout;\n\n @Input() size!: 'default' | 'compact';\n @Input({ transform: booleanAttribute }) firstVisual!: boolean;\n @Input({ transform: booleanAttribute }) ingoreDirty!: boolean;\n @Input({ transform: booleanAttribute }) line = false;\n @Input()\n set errors(val: SEErrorRefresh[]) {\n this.setErrors(val);\n }\n\n get margin(): number {\n return -((this.gutter as number) / 2);\n }\n\n get errorNotify(): Observable<SEErrorRefresh> {\n return this.errorNotify$.pipe(filter(v => v != null));\n }\n\n constructor() {\n this.cogSrv.attach(this, 'se', {\n size: 'default',\n nzLayout: 'horizontal',\n gutter: 32,\n col: 2,\n labelWidth: 150,\n firstVisual: false,\n ingoreDirty: false\n });\n }\n\n setErrors(errors: SEErrorRefresh[]): void {\n for (const error of errors) {\n this.errorNotify$.next(error);\n }\n }\n}\n","import { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControlName, NgModel, RequiredValidator, Validator, Validators } from '@angular/forms';\nimport { filter } from 'rxjs';\n\nimport { ResponsiveService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { helpMotion } from 'ng-zorro-antd/core/animation';\nimport { NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent } from './se-container.component';\nimport { SEError, SEErrorType } from './se.types';\n\nconst prefixCls = `se`;\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'se',\n exportAs: 'se',\n templateUrl: './se.component.html',\n host: {\n '[style.padding-left.px]': 'paddingValue',\n '[style.padding-right.px]': 'paddingValue',\n '[class.se__hide-label]': 'hideLabel',\n '[class.ant-form-item-has-error]': 'invalid',\n '[class.ant-form-item-with-help]': 'showErr'\n },\n providers: [NzFormStatusService],\n animations: [helpMotion],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzStringTemplateOutletDirective, NzTooltipDirective, NzIconDirective, CdkObserveContent]\n})\nexport class SEComponent implements OnChanges, AfterContentInit, AfterViewInit {\n private readonly parentComp = inject(SEContainerComponent, { host: true, optional: true })!;\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly rep = inject(ResponsiveService);\n private readonly ren = inject(Renderer2);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly statusSrv = inject(NzFormStatusService);\n private readonly destroy$ = inject(DestroyRef);\n\n @ContentChild(NgModel, { static: true }) private readonly ngModel?: NgModel;\n @ContentChild(FormControlName, { static: true })\n private readonly formControlName?: FormControlName;\n @ViewChild('contentElement', { static: true }) private readonly contentElement!: ElementRef;\n private clsMap: string[] = [];\n private inited = false;\n private onceFlag = false;\n private errorData: SEError = {};\n private isBindModel = false;\n invalid = false;\n _labelWidth: number | null = null;\n _noColon: boolean | null = null;\n _error?: string | TemplateRef<void>;\n\n // #region fields\n\n @Input() optional?: string | TemplateRef<void> | null = null;\n @Input() optionalHelp?: string | TemplateRef<void> | null = null;\n @Input() optionalHelpColor?: string;\n @Input()\n set error(val: SEErrorType) {\n this.errorData = typeof val === 'string' || val instanceof TemplateRef ? { '': val } : val;\n }\n @Input() extra?: string | TemplateRef<void> | null;\n @Input() label?: string | TemplateRef<void> | null;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col?: number | null;\n @Input({ transform: booleanAttribute }) required = false;\n @Input() controlClass?: string | null = '';\n @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) line?: boolean | null;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) labelWidth?: number | null;\n @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) noColon?: boolean | null;\n @Input({ transform: booleanAttribute }) hideLabel = false;\n\n @Input()\n set id(value: string) {\n this._id = value;\n this._autoId = false;\n }\n\n _id = `_se-${++nextUniqueId}`;\n _autoId = true;\n\n // #endregion\n\n get paddingValue(): number {\n return (this.parentComp.gutter as number) / 2;\n }\n\n get showErr(): boolean {\n return this.invalid && !!this._error && !this.compact;\n }\n\n get compact(): boolean {\n return this.parentComp.size === 'compact';\n }\n\n private get ngControl(): NgModel | FormControlName | null | undefined {\n return this.ngModel || this.formControlName;\n }\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[se] must include 'se-container' component`);\n }\n this.parentComp.errorNotify\n .pipe(\n takeUntilDestroyed(),\n filter(w => this.inited && this.ngControl != null && this.ngControl.name === w.name)\n )\n .subscribe(item => {\n this.error = item.error;\n this.updateStatus(this.ngControl!.invalid!);\n });\n }\n\n private setClass(): this {\n const { el, ren, clsMap, col, cdr, line, labelWidth, rep, noColon } = this;\n const parent = this.parentComp!;\n this._noColon = noColon != null ? noColon : parent.noColon;\n this._labelWidth = parent.nzLayout === 'horizontal' ? (labelWidth != null ? labelWidth : parent.labelWidth) : null;\n clsMap.forEach(cls => ren.removeClass(el, cls));\n clsMap.length = 0;\n const parentCol = parent.colInCon || parent.col;\n const repCls = parent.nzLayout === 'horizontal' ? rep.genCls(col != null ? col : parentCol, parentCol) : [];\n clsMap.push(`ant-form-item`, ...repCls, `${prefixCls}__item`);\n if (line || parent.line) {\n clsMap.push(`${prefixCls}__line`);\n }\n clsMap.forEach(cls => ren.addClass(el, cls));\n cdr.detectChanges();\n return this;\n }\n\n private bindModel(): void {\n if (!this.ngControl || this.isBindModel) return;\n\n this.isBindModel = true;\n this.ngControl\n .statusChanges!.pipe(takeUntilDestroyed(this.destroy$))\n .subscribe(res => this.updateStatus(res === 'INVALID'));\n if (this._autoId) {\n const controlAccessor = this.ngControl.valueAccessor as NzSafeAny;\n const control = (controlAccessor?.elementRef || controlAccessor?._elementRef)?.nativeElement as HTMLElement;\n if (control) {\n if (control.id) {\n this._id = control.id;\n } else {\n control.id = this._id;\n }\n }\n }\n // auto required\n if (this.required !== true) {\n let required = this.ngControl?.control?.hasValidator(Validators.required);\n if (required !== true) {\n const rawValidators = (this.ngControl as NzSafeAny)?._rawValidators as Validator[];\n required = rawValidators.find(w => w instanceof RequiredValidator) != null;\n }\n this.required = required;\n this.cdr.detectChanges();\n }\n }\n\n private updateStatus(invalid: boolean): void {\n if (this.ngControl?.disabled || this.ngControl?.isDisabled) {\n return;\n }\n this.invalid =\n !this.onceFlag && invalid && this.parentComp.ingoreDirty === false && !this.ngControl?.dirty ? false : invalid;\n const errors = this.ngControl?.errors;\n if (errors != null && Object.keys(errors).length > 0) {\n const key = Object.keys(errors)[0] || '';\n const err = this.errorData[key];\n this._error = err != null ? err : this.errorData[''] || '';\n }\n\n this.statusSrv.formStatusChanges.next({ status: this.invalid ? 'error' : '', hasFeedback: false });\n\n this.cdr.detectChanges();\n }\n\n checkContent(): void {\n const el = this.contentElement.nativeElement;\n const cls = `${prefixCls}__item-empty`;\n if (isEmpty(el)) {\n this.ren.addClass(el, cls);\n } else {\n this.ren.removeClass(el, cls);\n }\n }\n\n ngAfterContentInit(): void {\n this.checkContent();\n }\n\n ngOnChanges(): void {\n this.onceFlag = this.parentComp.firstVisual;\n if (this.inited) {\n this.setClass().bindModel();\n }\n }\n\n ngAfterViewInit(): void {\n this.setClass().bindModel();\n this.inited = true;\n if (this.onceFlag) {\n Promise.resolve().then(() => {\n this.updateStatus(this.ngControl!.invalid!);\n this.onceFlag = false;\n });\n }\n }\n}\n","<div class=\"ant-form-item-label\" [class.se__nolabel]=\"hideLabel || !label\" [style.width.px]=\"_labelWidth\">\n @if (label) {\n <label [attr.for]=\"_id\" class=\"se__label\" [class.ant-form-item-required]=\"required\" [class.se__no-colon]=\"_noColon\">\n <span class=\"se__label-text\">\n <ng-container *nzStringTemplateOutlet=\"label\">{{ label }}</ng-container>\n </span>\n @if (optional || optionalHelp) {\n <span class=\"se__label-optional\" [class.se__label-optional-no-text]=\"!optional\">\n <ng-container *nzStringTemplateOutlet=\"optional\">{{ optional }}</ng-container>\n @if (optionalHelp) {\n <nz-icon\n nz-tooltip\n [nzTooltipTitle]=\"optionalHelp\"\n [nzTooltipColor]=\"optionalHelpColor\"\n nzType=\"question-circle\"\n />\n }\n </span>\n }\n </label>\n }\n</div>\n<div class=\"ant-form-item-control se__control\">\n <div class=\"ant-form-item-control-input {{ controlClass }}\">\n <div class=\"ant-form-item-control-input-content\" (cdkObserveContent)=\"checkContent()\" #contentElement>\n <ng-content />\n </div>\n </div>\n @if (showErr) {\n <div @helpMotion class=\"ant-form-item-explain ant-form-item-explain-connected\">\n <div role=\"alert\" class=\"ant-form-item-explain-error\">\n <ng-container *nzStringTemplateOutlet=\"_error\">{{ _error }}</ng-container>\n </div>\n </div>\n }\n @if (extra && !compact) {\n <div class=\"ant-form-item-extra\">\n <ng-container *nzStringTemplateOutlet=\"extra\">{{ extra }}</ng-container>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent, SETitleComponent } from './se-container.component';\nimport { SEComponent } from './se.component';\n\nconst COMPONENTS = [SEContainerComponent, SEComponent, SETitleComponent];\n\n@NgModule({\n imports: [CommonModule, NzTooltipModule, NzIconModule, NzOutletModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class SEModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport type SELayout = 'horizontal' | 'vertical' | 'inline';\n\nexport type SESize = 'default' | 'compact';\n\nexport type SEErrorType = string | TemplateRef<void> | SEError;\n\nexport type SEError = Record<string, string | TemplateRef<void>>;\n\nexport interface SEErrorRefresh {\n name: string;\n error: SEErrorType;\n}\n\n// /**\n// * Error collection\n// * - `name`: The value of` ngModel` or `formControlName`\n// * - `error`: Replaced error value\n// */\n// errors: Array<{ name: string; error: SEErrorType }>;\n// /**\n// * Whether force show error, even if the form component has not invalid, Default: `false`\n// * - `false`: Whether to display error by `invalid`\n// * - `true`: Force show display error\n// */\n// force?: boolean;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"se.mjs","sources":["../../../../packages/abc/se/se-container.component.ts","../../../../packages/abc/se/se.component.ts","../../../../packages/abc/se/se.component.html","../../../../packages/abc/se/se.module.ts","../../../../packages/abc/se/se.types.ts","../../../../packages/abc/se/se.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { BehaviorSubject, Observable, filter } from 'rxjs';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SEErrorRefresh, SELayout } from './se.types';\n\n@Component({\n selector: 'se-title, [se-title]',\n exportAs: 'seTitle',\n template: '<ng-content />',\n host: {\n '[class.se__title]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SETitleComponent implements OnInit {\n private readonly parentComp = inject(SEContainerComponent, { host: true, optional: true });\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly ren = inject(Renderer2);\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[se-title] must include 'se-container' component`);\n }\n }\n\n private setClass(): void {\n const { el } = this;\n const gutter = this.parentComp!.gutter as number;\n this.ren.setStyle(el, 'padding-left', `${gutter / 2}px`);\n this.ren.setStyle(el, 'padding-right', `${gutter / 2}px`);\n }\n\n ngOnInit(): void {\n this.setClass();\n }\n}\n\n@Component({\n selector: 'se-container, [se-container]',\n exportAs: 'seContainer',\n template: `\n @if (title) {\n <div se-title>\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </div>\n }\n <ng-content />\n `,\n host: {\n '[class.ant-row]': `true`,\n '[class.se__container]': `true`,\n '[class.se__horizontal]': `nzLayout === 'horizontal'`,\n '[class.se__vertical]': `nzLayout === 'vertical'`,\n '[class.se__inline]': `nzLayout === 'inline'`,\n '[class.se__compact]': `size === 'compact'`,\n '[style.margin-left.px]': `margin`,\n '[style.margin-right.px]': `margin`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SETitleComponent, NzStringTemplateOutletDirective]\n})\nexport class SEContainerComponent {\n private readonly cogSrv = inject(AlainConfigService);\n private errorNotify$ = new BehaviorSubject<SEErrorRefresh>(null as NzSafeAny);\n @Input({ alias: 'se-container', transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })\n colInCon?: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col!: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) labelWidth!: number;\n @Input({ transform: booleanAttribute }) noColon = false;\n @Input() title?: string | TemplateRef<void> | null;\n\n @Input({ transform: numberAttribute })\n get gutter(): number {\n return this.nzLayout === 'horizontal' ? this._gutter : 0;\n }\n set gutter(value: number) {\n this._gutter = value;\n }\n private _gutter!: number;\n\n @Input()\n get nzLayout(): SELayout {\n return this._nzLayout;\n }\n set nzLayout(value: SELayout) {\n this._nzLayout = value;\n if (value === 'inline') {\n this.size = 'compact';\n }\n }\n private _nzLayout!: SELayout;\n\n @Input() size!: 'default' | 'compact';\n @Input({ transform: booleanAttribute }) firstVisual!: boolean;\n @Input({ transform: booleanAttribute }) ingoreDirty!: boolean;\n @Input({ transform: booleanAttribute }) line = false;\n @Input()\n set errors(val: SEErrorRefresh[]) {\n this.setErrors(val);\n }\n\n get margin(): number {\n return -((this.gutter as number) / 2);\n }\n\n get errorNotify(): Observable<SEErrorRefresh> {\n return this.errorNotify$.pipe(filter(v => v != null));\n }\n\n constructor() {\n this.cogSrv.attach(this, 'se', {\n size: 'default',\n nzLayout: 'horizontal',\n gutter: 32,\n col: 2,\n labelWidth: 150,\n firstVisual: false,\n ingoreDirty: false\n });\n }\n\n setErrors(errors: SEErrorRefresh[]): void {\n for (const error of errors) {\n this.errorNotify$.next(error);\n }\n }\n}\n","import { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControlName, NgModel, RequiredValidator, Validator, Validators } from '@angular/forms';\nimport { filter } from 'rxjs';\n\nimport { ResponsiveService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { helpMotion } from 'ng-zorro-antd/core/animation';\nimport { NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent } from './se-container.component';\nimport { SEError, SEErrorType } from './se.types';\n\nconst prefixCls = `se`;\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'se',\n exportAs: 'se',\n templateUrl: './se.component.html',\n host: {\n '[style.padding-left.px]': 'paddingValue',\n '[style.padding-right.px]': 'paddingValue',\n '[class.se__hide-label]': 'hideLabel',\n '[class.ant-form-item-has-error]': 'invalid',\n '[class.ant-form-item-with-help]': 'showErr'\n },\n providers: [NzFormStatusService],\n animations: [helpMotion],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzStringTemplateOutletDirective, NzTooltipDirective, NzIconDirective, CdkObserveContent]\n})\nexport class SEComponent implements OnChanges, AfterContentInit, AfterViewInit {\n private readonly parentComp = inject(SEContainerComponent, { host: true, optional: true })!;\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly rep = inject(ResponsiveService);\n private readonly ren = inject(Renderer2);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly statusSrv = inject(NzFormStatusService);\n private readonly destroy$ = inject(DestroyRef);\n\n @ContentChild(NgModel, { static: true }) private readonly ngModel?: NgModel;\n @ContentChild(FormControlName, { static: true })\n private readonly formControlName?: FormControlName;\n @ViewChild('contentElement', { static: true }) private readonly contentElement!: ElementRef;\n private clsMap: string[] = [];\n private inited = false;\n private onceFlag = false;\n private errorData: SEError = {};\n private isBindModel = false;\n invalid = false;\n _labelWidth: number | null = null;\n _noColon: boolean | null = null;\n _error?: string | TemplateRef<void>;\n\n // #region fields\n\n @Input() optional?: string | TemplateRef<void> | null = null;\n @Input() optionalHelp?: string | TemplateRef<void> | null = null;\n @Input() optionalHelpColor?: string;\n @Input()\n set error(val: SEErrorType) {\n this.errorData = typeof val === 'string' || val instanceof TemplateRef ? { '': val } : val;\n }\n @Input() extra?: string | TemplateRef<void> | null;\n @Input() label?: string | TemplateRef<void> | null;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col?: number | null;\n @Input({ transform: booleanAttribute }) required = false;\n @Input() controlClass?: string | null = '';\n @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) line?: boolean | null;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) labelWidth?: number | null;\n @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) noColon?: boolean | null;\n @Input({ transform: booleanAttribute }) hideLabel = false;\n\n @Input()\n set id(value: string) {\n this._id = value;\n this._autoId = false;\n }\n\n _id = `_se-${++nextUniqueId}`;\n _autoId = true;\n\n // #endregion\n\n get paddingValue(): number {\n return (this.parentComp.gutter as number) / 2;\n }\n\n get showErr(): boolean {\n return this.invalid && !!this._error && !this.compact;\n }\n\n get compact(): boolean {\n return this.parentComp.size === 'compact';\n }\n\n private get ngControl(): NgModel | FormControlName | null | undefined {\n return this.ngModel ?? this.formControlName;\n }\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[se] must include 'se-container' component`);\n }\n this.parentComp.errorNotify\n .pipe(\n takeUntilDestroyed(),\n filter(w => this.inited && this.ngControl != null && this.ngControl.name === w.name)\n )\n .subscribe(item => {\n this.error = item.error;\n this.updateStatus(this.ngControl!.invalid!);\n });\n }\n\n private setClass(): this {\n const { el, ren, clsMap, col, cdr, line, labelWidth, rep, noColon } = this;\n const parent = this.parentComp!;\n this._noColon = noColon != null ? noColon : parent.noColon;\n this._labelWidth = parent.nzLayout === 'horizontal' ? (labelWidth != null ? labelWidth : parent.labelWidth) : null;\n clsMap.forEach(cls => ren.removeClass(el, cls));\n clsMap.length = 0;\n const parentCol = parent.colInCon ?? parent.col;\n const repCls = parent.nzLayout === 'horizontal' ? rep.genCls(col != null ? col : parentCol, parentCol) : [];\n clsMap.push(`ant-form-item`, ...repCls, `${prefixCls}__item`);\n if (line || parent.line) {\n clsMap.push(`${prefixCls}__line`);\n }\n clsMap.forEach(cls => ren.addClass(el, cls));\n cdr.detectChanges();\n return this;\n }\n\n private bindModel(): void {\n if (!this.ngControl || this.isBindModel) return;\n\n this.isBindModel = true;\n this.ngControl\n .statusChanges!.pipe(takeUntilDestroyed(this.destroy$))\n .subscribe(res => this.updateStatus(res === 'INVALID'));\n if (this._autoId) {\n const controlAccessor = this.ngControl.valueAccessor as NzSafeAny;\n const control = (controlAccessor?.elementRef ?? controlAccessor?._elementRef)?.nativeElement as HTMLElement;\n if (control) {\n if (control.id) {\n this._id = control.id;\n } else {\n control.id = this._id;\n }\n }\n }\n // auto required\n if (this.required !== true) {\n let required = this.ngControl?.control?.hasValidator(Validators.required);\n if (required !== true) {\n const rawValidators = (this.ngControl as NzSafeAny)?._rawValidators as Validator[];\n required = rawValidators.find(w => w instanceof RequiredValidator) != null;\n }\n this.required = required;\n this.cdr.detectChanges();\n }\n }\n\n private updateStatus(invalid: boolean): void {\n if (this.ngControl?.disabled || this.ngControl?.isDisabled) {\n return;\n }\n this.invalid =\n !this.onceFlag && invalid && this.parentComp.ingoreDirty === false && !this.ngControl?.dirty ? false : invalid;\n const errors = this.ngControl?.errors;\n if (errors != null && Object.keys(errors).length > 0) {\n const key = Object.keys(errors)[0] ?? '';\n const err = this.errorData[key];\n this._error = err != null ? err : (this.errorData[''] ?? '');\n }\n\n this.statusSrv.formStatusChanges.next({ status: this.invalid ? 'error' : '', hasFeedback: false });\n\n this.cdr.detectChanges();\n }\n\n checkContent(): void {\n const el = this.contentElement.nativeElement;\n const cls = `${prefixCls}__item-empty`;\n if (isEmpty(el)) {\n this.ren.addClass(el, cls);\n } else {\n this.ren.removeClass(el, cls);\n }\n }\n\n ngAfterContentInit(): void {\n this.checkContent();\n }\n\n ngOnChanges(): void {\n this.onceFlag = this.parentComp.firstVisual;\n if (this.inited) {\n this.setClass().bindModel();\n }\n }\n\n ngAfterViewInit(): void {\n this.setClass().bindModel();\n this.inited = true;\n if (this.onceFlag) {\n Promise.resolve().then(() => {\n this.updateStatus(this.ngControl!.invalid!);\n this.onceFlag = false;\n });\n }\n }\n}\n","<div class=\"ant-form-item-label\" [class.se__nolabel]=\"hideLabel || !label\" [style.width.px]=\"_labelWidth\">\n @if (label) {\n <label [attr.for]=\"_id\" class=\"se__label\" [class.ant-form-item-required]=\"required\" [class.se__no-colon]=\"_noColon\">\n <span class=\"se__label-text\">\n <ng-container *nzStringTemplateOutlet=\"label\">{{ label }}</ng-container>\n </span>\n @if (optional || optionalHelp) {\n <span class=\"se__label-optional\" [class.se__label-optional-no-text]=\"!optional\">\n <ng-container *nzStringTemplateOutlet=\"optional\">{{ optional }}</ng-container>\n @if (optionalHelp) {\n <nz-icon\n nz-tooltip\n [nzTooltipTitle]=\"optionalHelp\"\n [nzTooltipColor]=\"optionalHelpColor\"\n nzType=\"question-circle\"\n />\n }\n </span>\n }\n </label>\n }\n</div>\n<div class=\"ant-form-item-control se__control\">\n <div class=\"ant-form-item-control-input {{ controlClass }}\">\n <div class=\"ant-form-item-control-input-content\" (cdkObserveContent)=\"checkContent()\" #contentElement>\n <ng-content />\n </div>\n </div>\n @if (showErr) {\n <div @helpMotion class=\"ant-form-item-explain ant-form-item-explain-connected\">\n <div role=\"alert\" class=\"ant-form-item-explain-error\">\n <ng-container *nzStringTemplateOutlet=\"_error\">{{ _error }}</ng-container>\n </div>\n </div>\n }\n @if (extra && !compact) {\n <div class=\"ant-form-item-extra\">\n <ng-container *nzStringTemplateOutlet=\"extra\">{{ extra }}</ng-container>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent, SETitleComponent } from './se-container.component';\nimport { SEComponent } from './se.component';\n\nconst COMPONENTS = [SEContainerComponent, SEComponent, SETitleComponent];\n\n@NgModule({\n imports: [CommonModule, NzTooltipModule, NzIconModule, NzOutletModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class SEModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport type SELayout = 'horizontal' | 'vertical' | 'inline';\n\nexport type SESize = 'default' | 'compact';\n\nexport type SEErrorType = string | TemplateRef<void> | SEError;\n\nexport type SEError = Record<string, string | TemplateRef<void>>;\n\nexport interface SEErrorRefresh {\n name: string;\n error: SEErrorType;\n}\n\n// /**\n// * Error collection\n// * - `name`: The value of` ngModel` or `formControlName`\n// * - `error`: Replaced error value\n// */\n// errors: Array<{ name: string; error: SEErrorType }>;\n// /**\n// * Whether force show error, even if the form component has not invalid, Default: `false`\n// * - `false`: Whether to display error by `invalid`\n// * - `true`: Force show display error\n// */\n// force?: boolean;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/fesm2022/sg.mjs CHANGED
@@ -69,7 +69,7 @@ class SGComponent {
69
69
  const parent = this.parentComp;
70
70
  clsMap.forEach(cls => ren.removeClass(el, cls));
71
71
  clsMap.length = 0;
72
- const parentCol = parent.colInCon || parent.col;
72
+ const parentCol = parent.colInCon ?? parent.col;
73
73
  clsMap.push(...this.rep.genCls(col != null ? col : parentCol, parentCol), `${prefixCls}__item`);
74
74
  clsMap.forEach(cls => ren.addClass(el, cls));
75
75
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"sg.mjs","sources":["../../../../packages/abc/sg/sg-container.component.ts","../../../../packages/abc/sg/sg.component.ts","../../../../packages/abc/sg/sg.module.ts","../../../../packages/abc/sg/sg.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject, numberAttribute } from '@angular/core';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\n\n@Component({\n selector: 'sg-container, [sg-container]',\n exportAs: 'sgContainer',\n template: ` <ng-content /> `,\n host: {\n '[style.margin-left.px]': 'marginValue',\n '[style.margin-right.px]': 'marginValue',\n '[class.ant-row]': 'true',\n '[class.sg__wrap]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SGContainerComponent {\n private readonly cogSrv = inject(AlainConfigService);\n @Input({ transform: numberAttribute }) gutter!: number;\n @Input({ alias: 'sg-container', transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })\n colInCon?: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col!: REP_TYPE;\n\n get marginValue(): number {\n return -(this.gutter / 2);\n }\n\n constructor() {\n this.cogSrv.attach(this, 'sg', {\n gutter: 32,\n col: 2\n });\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n ViewEncapsulation,\n inject,\n numberAttribute\n} from '@angular/core';\n\nimport { ResponsiveService } from '@delon/theme';\n\nimport { SGContainerComponent } from './sg-container.component';\n\nconst prefixCls = `sg`;\n\n@Component({\n selector: 'sg',\n exportAs: 'sg',\n template: `<ng-content />`,\n host: {\n '[style.padding-left.px]': 'paddingValue',\n '[style.padding-right.px]': 'paddingValue'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SGComponent implements OnChanges, AfterViewInit {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly ren = inject(Renderer2);\n private readonly rep = inject(ResponsiveService);\n private readonly parentComp = inject(SGContainerComponent, { host: true, optional: true })!;\n\n private clsMap: string[] = [];\n private inited = false;\n\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col: number | null = null;\n\n get paddingValue(): number {\n return this.parentComp.gutter / 2;\n }\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[sg] must include 'sg-container' component`);\n }\n }\n\n private setClass(): this {\n const { el, ren, clsMap, col } = this;\n const parent = this.parentComp;\n clsMap.forEach(cls => ren.removeClass(el, cls));\n clsMap.length = 0;\n const parentCol = parent.colInCon || parent.col;\n clsMap.push(...this.rep.genCls(col != null ? col : parentCol, parentCol), `${prefixCls}__item`);\n clsMap.forEach(cls => ren.addClass(el, cls));\n return this;\n }\n\n ngOnChanges(): void {\n if (this.inited) this.setClass();\n }\n\n ngAfterViewInit(): void {\n this.setClass();\n this.inited = true;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SGContainerComponent } from './sg-container.component';\nimport { SGComponent } from './sg.component';\n\nconst COMPONENTS = [SGContainerComponent, SGComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class SGModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sg.mjs","sources":["../../../../packages/abc/sg/sg-container.component.ts","../../../../packages/abc/sg/sg.component.ts","../../../../packages/abc/sg/sg.module.ts","../../../../packages/abc/sg/sg.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject, numberAttribute } from '@angular/core';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\n\n@Component({\n selector: 'sg-container, [sg-container]',\n exportAs: 'sgContainer',\n template: ` <ng-content /> `,\n host: {\n '[style.margin-left.px]': 'marginValue',\n '[style.margin-right.px]': 'marginValue',\n '[class.ant-row]': 'true',\n '[class.sg__wrap]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SGContainerComponent {\n private readonly cogSrv = inject(AlainConfigService);\n @Input({ transform: numberAttribute }) gutter!: number;\n @Input({ alias: 'sg-container', transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })\n colInCon?: REP_TYPE;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col!: REP_TYPE;\n\n get marginValue(): number {\n return -(this.gutter / 2);\n }\n\n constructor() {\n this.cogSrv.attach(this, 'sg', {\n gutter: 32,\n col: 2\n });\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n ViewEncapsulation,\n inject,\n numberAttribute\n} from '@angular/core';\n\nimport { ResponsiveService } from '@delon/theme';\n\nimport { SGContainerComponent } from './sg-container.component';\n\nconst prefixCls = `sg`;\n\n@Component({\n selector: 'sg',\n exportAs: 'sg',\n template: `<ng-content />`,\n host: {\n '[style.padding-left.px]': 'paddingValue',\n '[style.padding-right.px]': 'paddingValue'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SGComponent implements OnChanges, AfterViewInit {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly ren = inject(Renderer2);\n private readonly rep = inject(ResponsiveService);\n private readonly parentComp = inject(SGContainerComponent, { host: true, optional: true })!;\n\n private clsMap: string[] = [];\n private inited = false;\n\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col: number | null = null;\n\n get paddingValue(): number {\n return this.parentComp.gutter / 2;\n }\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[sg] must include 'sg-container' component`);\n }\n }\n\n private setClass(): this {\n const { el, ren, clsMap, col } = this;\n const parent = this.parentComp;\n clsMap.forEach(cls => ren.removeClass(el, cls));\n clsMap.length = 0;\n const parentCol = parent.colInCon ?? parent.col;\n clsMap.push(...this.rep.genCls(col != null ? col : parentCol, parentCol), `${prefixCls}__item`);\n clsMap.forEach(cls => ren.addClass(el, cls));\n return this;\n }\n\n ngOnChanges(): void {\n if (this.inited) this.setClass();\n }\n\n ngAfterViewInit(): void {\n this.setClass();\n this.inited = true;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SGContainerComponent } from './sg-container.component';\nimport { SGComponent } from './sg.component';\n\nconst COMPONENTS = [SGContainerComponent, SGComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class SGModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/fesm2022/st.mjs CHANGED
@@ -198,7 +198,7 @@ class STColumnSource {
198
198
  }
199
199
  btnCoerceIf(list) {
200
200
  for (const item of list) {
201
- item.iifBehavior = item.iifBehavior || this.cog.iifBehavior;
201
+ item.iifBehavior = item.iifBehavior ?? this.cog.iifBehavior;
202
202
  if (item.children && item.children.length > 0) {
203
203
  this.btnCoerceIf(item.children);
204
204
  }
@@ -261,7 +261,7 @@ class STColumnSource {
261
261
  return null;
262
262
  }
263
263
  let res = item.filter;
264
- res.type = res.type || 'default';
264
+ res.type = res.type ?? 'default';
265
265
  res.showOPArea = res.showOPArea !== false;
266
266
  let icon = 'filter';
267
267
  let iconTheme = 'fill';
@@ -308,10 +308,10 @@ class STColumnSource {
308
308
  if (typeof res.multiple === 'undefined') {
309
309
  res.multiple = true;
310
310
  }
311
- res.confirmText = res.confirmText || this.cog.filterConfirmText;
312
- res.clearText = res.clearText || this.cog.filterClearText;
313
- res.key = res.key || item.indexKey;
314
- res.icon = res.icon || icon;
311
+ res.confirmText = res.confirmText ?? this.cog.filterConfirmText;
312
+ res.clearText = res.clearText ?? this.cog.filterClearText;
313
+ res.key = res.key ?? item.indexKey;
314
+ res.icon = res.icon ?? icon;
315
315
  const baseIcon = { type: icon, theme: iconTheme };
316
316
  if (typeof res.icon === 'string') {
317
317
  res.icon = { ...baseIcon, type: res.icon };
@@ -352,7 +352,7 @@ class STColumnSource {
352
352
  const widths = [];
353
353
  const fillRowCells = (columns, colIndex, rowIndex = 0) => {
354
354
  // Init rows
355
- rows[rowIndex] = rows[rowIndex] || [];
355
+ rows[rowIndex] = rows[rowIndex] ?? [];
356
356
  let currentColIndex = colIndex;
357
357
  const colSpans = columns.map(column => {
358
358
  const cell = {
@@ -367,7 +367,7 @@ class STColumnSource {
367
367
  cell.hasSubColumns = true;
368
368
  }
369
369
  else {
370
- widths.push(cell.column.width || '');
370
+ widths.push(cell.column.width ?? '');
371
371
  }
372
372
  if ('colSpan' in column) {
373
373
  colSpan = column.colSpan;
@@ -458,7 +458,7 @@ class STColumnSource {
458
458
  item.indexKey = item.index.join('.');
459
459
  }
460
460
  // #region title
461
- const tit = (typeof item.title === 'string' ? { text: item.title } : item.title) || {};
461
+ const tit = (typeof item.title === 'string' ? { text: item.title } : item.title) ?? {};
462
462
  if (tit.i18n && this.i18nSrv) {
463
463
  tit.text = this.i18nSrv.fanyi(tit.i18n);
464
464
  }
@@ -502,7 +502,7 @@ class STColumnSource {
502
502
  }
503
503
  // date
504
504
  if (item.type === 'date') {
505
- item.dateFormat = item.dateFormat || this.cog.date?.format;
505
+ item.dateFormat = item.dateFormat ?? this.cog.date?.format;
506
506
  }
507
507
  if ((item.type === 'link' && typeof item.click !== 'function') ||
508
508
  (item.type === 'badge' && item.badge == null) ||
@@ -653,7 +653,7 @@ class STDataSource {
653
653
  }
654
654
  // total
655
655
  const resultTotal = reName.total && deepGet(result, reName.total, null);
656
- retTotal = resultTotal == null ? total || 0 : +resultTotal;
656
+ retTotal = resultTotal == null ? (total ?? 0) : +resultTotal;
657
657
  }
658
658
  }
659
659
  return deepCopy(ret);
@@ -718,8 +718,8 @@ class STDataSource {
718
718
  data$ = data$.pipe(map(result => this.optimizeData({ result, columns, rowClassName: options.rowClassName })));
719
719
  return data$.pipe(map(result => {
720
720
  retList = result;
721
- const realTotal = retTotal || total;
722
- const realPs = retPs || ps;
721
+ const realTotal = retTotal ?? total;
722
+ const realPs = retPs ?? ps;
723
723
  return {
724
724
  pi: retPi,
725
725
  ps: retPs,
@@ -734,7 +734,7 @@ class STDataSource {
734
734
  try {
735
735
  const safeHtml = col.safeType === 'safeHtml';
736
736
  if (col.format) {
737
- const formatRes = col.format(item, col, idx) || '';
737
+ const formatRes = col.format(item, col, idx) ?? '';
738
738
  return {
739
739
  text: formatRes,
740
740
  _text: safeHtml ? this.dom.bypassSecurityTrustHtml(formatRes) : formatRes,
@@ -806,7 +806,7 @@ class STDataSource {
806
806
  }
807
807
  getByRemote(url, options) {
808
808
  const { req, page, paginator, pi, ps, singleSort, multiSort, columns, headers } = options;
809
- const method = (req.method || 'GET').toUpperCase();
809
+ const method = (req.method ?? 'GET').toUpperCase();
810
810
  let params = {};
811
811
  const reName = req.reName;
812
812
  if (paginator) {
@@ -905,7 +905,7 @@ class STDataSource {
905
905
  const res = fn(_btns);
906
906
  const fnText = (btns) => {
907
907
  for (const btn of btns) {
908
- btn._text = typeof btn.text === 'function' ? btn.text(item, btn) : btn.text || '';
908
+ btn._text = typeof btn.text === 'function' ? btn.text(item, btn) : (btn.text ?? '');
909
909
  btn._className = typeof btn.className === 'function' ? btn.className(item, btn) : btn.className;
910
910
  btn._icon = typeof btn.icon === 'function' ? btn.icon(item, btn) : btn.icon;
911
911
  if (btn.children?.length) {
@@ -981,7 +981,7 @@ class STDataSource {
981
981
  };
982
982
  const sortMap = sortList
983
983
  .sort((a, b) => a.tick - b.tick)
984
- .map(item => item.key + ms.nameSeparator + ((item.reName || {})[item.default] || item.default));
984
+ .map(item => item.key + ms.nameSeparator + ((item.reName ?? {})[item.default] ?? item.default));
985
985
  ret = { [ms.key]: ms.arrayParam ? sortMap : sortMap.join(ms.separator) };
986
986
  return sortMap.length === 0 && ms.keepEmptyKey === false ? {} : ret;
987
987
  }
@@ -989,10 +989,10 @@ class STDataSource {
989
989
  return ret;
990
990
  const mapData = sortList[0];
991
991
  let sortFiled = mapData.key;
992
- let sortValue = (sortList[0].reName || {})[mapData.default] || mapData.default;
992
+ let sortValue = (sortList[0].reName ?? {})[mapData.default] ?? mapData.default;
993
993
  if (singleSort) {
994
- sortValue = sortFiled + (singleSort.nameSeparator || '.') + sortValue;
995
- sortFiled = singleSort.key || 'sort';
994
+ sortValue = sortFiled + (singleSort.nameSeparator ?? '.') + sortValue;
995
+ sortFiled = singleSort.key ?? 'sort';
996
996
  }
997
997
  ret[sortFiled] = sortValue;
998
998
  return ret;
@@ -1025,7 +1025,7 @@ class STDataSource {
1025
1025
  genStatistical(columns, list, rawData) {
1026
1026
  const res = {};
1027
1027
  columns.forEach((col, index) => {
1028
- res[col.key || col.indexKey || index] =
1028
+ res[col.key ?? col.indexKey ?? index] =
1029
1029
  col.statistical == null ? {} : this.getStatistical(col, index, list, rawData);
1030
1030
  });
1031
1031
  return res;
@@ -1139,7 +1139,7 @@ class STExport {
1139
1139
  }
1140
1140
  genSheet(opt) {
1141
1141
  const sheets = {};
1142
- const sheet = (sheets[opt.sheetname || 'Sheet1'] = {});
1142
+ const sheet = (sheets[opt.sheetname ?? 'Sheet1'] = {});
1143
1143
  const dataLen = opt.data.length;
1144
1144
  const columns = opt.columens;
1145
1145
  let validColCount = 0;
@@ -1254,7 +1254,7 @@ class STFilterComponent {
1254
1254
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: STFilterComponent, isStandalone: true, selector: "st-filter", inputs: { col: "col", locale: "locale", f: "f" }, outputs: { n: "n", handle: "handle" }, host: { properties: { "class.ant-table-filter-trigger-container": "true", "class.st__filter": "true", "class.ant-table-filter-trigger-container-open": "visible" } }, ngImport: i0, template: `
1255
1255
  <span
1256
1256
  class="ant-table-filter-trigger"
1257
- [class.active]="visible || f.default"
1257
+ [class.active]="visible ?? f.default"
1258
1258
  nz-dropdown
1259
1259
  [nzDropdownMenu]="filterMenu"
1260
1260
  nzTrigger="click"
@@ -1288,7 +1288,7 @@ class STFilterComponent {
1288
1288
  [nzMin]="f.number!.min!"
1289
1289
  [nzMax]="f.number!.max!"
1290
1290
  [nzStep]="f.number!.step!"
1291
- [nzPrecision]="f.number!.precision || null"
1291
+ [nzPrecision]="f.number!.precision ?? null"
1292
1292
  [nzPlaceHolder]="f.placeholder!"
1293
1293
  class="width-100"
1294
1294
  />
@@ -1350,10 +1350,10 @@ class STFilterComponent {
1350
1350
  @if (f.showOPArea) {
1351
1351
  <div class="ant-table-filter-dropdown-btns">
1352
1352
  <a class="ant-table-filter-dropdown-link confirm" (click)="confirm()">
1353
- <span>{{ f.confirmText || locale.filterConfirm }}</span>
1353
+ <span>{{ f.confirmText ?? locale.filterConfirm }}</span>
1354
1354
  </a>
1355
1355
  <a class="ant-table-filter-dropdown-link clear" (click)="reset()">
1356
- <span>{{ f.clearText || locale.filterReset }}</span>
1356
+ <span>{{ f.clearText ?? locale.filterReset }}</span>
1357
1357
  </a>
1358
1358
  </div>
1359
1359
  }
@@ -1368,7 +1368,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1368
1368
  template: `
1369
1369
  <span
1370
1370
  class="ant-table-filter-trigger"
1371
- [class.active]="visible || f.default"
1371
+ [class.active]="visible ?? f.default"
1372
1372
  nz-dropdown
1373
1373
  [nzDropdownMenu]="filterMenu"
1374
1374
  nzTrigger="click"
@@ -1402,7 +1402,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1402
1402
  [nzMin]="f.number!.min!"
1403
1403
  [nzMax]="f.number!.max!"
1404
1404
  [nzStep]="f.number!.step!"
1405
- [nzPrecision]="f.number!.precision || null"
1405
+ [nzPrecision]="f.number!.precision ?? null"
1406
1406
  [nzPlaceHolder]="f.placeholder!"
1407
1407
  class="width-100"
1408
1408
  />
@@ -1464,10 +1464,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1464
1464
  @if (f.showOPArea) {
1465
1465
  <div class="ant-table-filter-dropdown-btns">
1466
1466
  <a class="ant-table-filter-dropdown-link confirm" (click)="confirm()">
1467
- <span>{{ f.confirmText || locale.filterConfirm }}</span>
1467
+ <span>{{ f.confirmText ?? locale.filterConfirm }}</span>
1468
1468
  </a>
1469
1469
  <a class="ant-table-filter-dropdown-link clear" (click)="reset()">
1470
- <span>{{ f.clearText || locale.filterReset }}</span>
1470
+ <span>{{ f.clearText ?? locale.filterReset }}</span>
1471
1471
  </a>
1472
1472
  </div>
1473
1473
  }
@@ -1975,7 +1975,7 @@ class STComponent {
1975
1975
  multiSort,
1976
1976
  rowClassName,
1977
1977
  paginator: true,
1978
- customRequest: this.customRequest || this.cog.customRequest,
1978
+ customRequest: this.customRequest ?? this.cog.customRequest,
1979
1979
  ...options
1980
1980
  })
1981
1981
  .pipe(takeUntilDestroyed(this.destroy$));