@solar-angular/ui-zorro 18.0.3 → 18.0.5
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.
- package/crud/page.d.ts +0 -3
- package/esm2022/crud/page.mjs +2 -5
- package/esm2022/fan-popover/fan-popover.component.mjs +50 -0
- package/esm2022/fan-popover/index.mjs +2 -0
- package/esm2022/fan-popover/solar-angular-ui-zorro-fan-popover.mjs +5 -0
- package/fan-popover/fan-popover.component.d.ts +14 -0
- package/fan-popover/index.d.ts +1 -0
- package/fesm2022/solar-angular-ui-zorro-crud.mjs +1 -4
- package/fesm2022/solar-angular-ui-zorro-crud.mjs.map +1 -1
- package/fesm2022/solar-angular-ui-zorro-fan-popover.mjs +57 -0
- package/fesm2022/solar-angular-ui-zorro-fan-popover.mjs.map +1 -0
- package/package.json +10 -4
package/crud/page.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { MessageService } from '@solar-angular/ui-zorro/message';
|
|
2
|
-
import { Menu } from '@solar-kit/planets/earth';
|
|
3
2
|
import { Observable } from 'rxjs';
|
|
4
3
|
import { Editor } from './editor';
|
|
5
4
|
import { Searcher } from './searcher';
|
|
@@ -16,8 +15,6 @@ export declare abstract class CrudPage<T, U = T, V = U> {
|
|
|
16
15
|
protected loading: boolean;
|
|
17
16
|
protected searcher: Searcher<T>;
|
|
18
17
|
protected editor: Editor<U>;
|
|
19
|
-
/** 当前页面的菜单列 */
|
|
20
|
-
readonly menus$: Observable<Menu[]>;
|
|
21
18
|
readonly message: MessageService;
|
|
22
19
|
protected withTableLoading<X>(): (observable: Observable<X>) => Observable<X>;
|
|
23
20
|
/**
|
package/esm2022/crud/page.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { inject } from '@angular/core';
|
|
2
|
-
import { MenuService } from '@solar-angular/planets/earth';
|
|
3
2
|
import { MessageService } from '@solar-angular/ui-zorro/message';
|
|
4
|
-
import { finalize
|
|
3
|
+
import { finalize } from 'rxjs';
|
|
5
4
|
import { Editor } from './editor';
|
|
6
5
|
import { Searcher } from './searcher';
|
|
7
6
|
/**
|
|
@@ -18,8 +17,6 @@ export class CrudPage {
|
|
|
18
17
|
this.loading = false;
|
|
19
18
|
this.searcher = new Searcher();
|
|
20
19
|
this.editor = new Editor();
|
|
21
|
-
/** 当前页面的菜单列 */
|
|
22
|
-
this.menus$ = inject(MenuService).menus$.pipe(shareReplay(1));
|
|
23
20
|
this.message = inject(MessageService);
|
|
24
21
|
}
|
|
25
22
|
withTableLoading() {
|
|
@@ -66,4 +63,4 @@ export class CrudPage {
|
|
|
66
63
|
*/
|
|
67
64
|
export class PagingCrudPage extends CrudPage {
|
|
68
65
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2NydWQvcGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0Qzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBZ0IsUUFBUTtJQUE5QjtRQUNZLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFZixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUVYLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsYUFBUSxHQUFHLElBQUksUUFBUSxFQUFLLENBQUM7UUFDN0IsV0FBTSxHQUFHLElBQUksTUFBTSxFQUFLLENBQUM7UUFFMUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQTJDNUMsQ0FBQztJQXpDVyxnQkFBZ0I7UUFDeEIsT0FBTyxDQUFDLFVBQXlCLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQ3BCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUNyQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNPLFdBQVcsQ0FBSSxPQUFnQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFJLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7O09BR0c7SUFDTyxpQkFBaUI7UUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGVBQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBSyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDTyxJQUFJLENBQUMsTUFBUztRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixjQUFnQyxTQUFRLFFBQWlCO0NBRTlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0Bzb2xhci1hbmd1bGFyL3VpLXpvcnJvL21lc3NhZ2UnO1xuaW1wb3J0IHsgZmluYWxpemUsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4vZWRpdG9yJztcbmltcG9ydCB7IFNlYXJjaGVyIH0gZnJvbSAnLi9zZWFyY2hlcic7XG5cbi8qKlxuICog5aKe5Yig5pS55p+l6aG16Z2iXG4gKiBAdGVtcGxhdGUgVCBTZWFyY2hlciDnmoTmqKHlnovnsbvlnotcbiAqIEB0ZW1wbGF0ZSBVIEVkaXRvciDnmoTmqKHlnovnsbvlnovvvIzpu5jorqTkuLogVFxuICogQHRlbXBsYXRlIFYgRGF0YSDnmoTmqKHlnovnsbvlnovvvIzpu5jorqTkuLogVVxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3J1ZFBhZ2U8VCwgVSA9IFQsIFYgPSBVPiB7XG4gIHByb3RlY3RlZCBkYXRhOiBWW10gPSBbXTtcblxuICBwcm90ZWN0ZWQgcGFnZVNpemUgPSAxMDtcbiAgcHJvdGVjdGVkIHBhZ2VObyA9IDE7XG5cbiAgcHJvdGVjdGVkIGxvYWRpbmcgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgc2VhcmNoZXIgPSBuZXcgU2VhcmNoZXI8VD4oKTtcbiAgcHJvdGVjdGVkIGVkaXRvciA9IG5ldyBFZGl0b3I8VT4oKTtcblxuICByZWFkb25seSBtZXNzYWdlID0gaW5qZWN0KE1lc3NhZ2VTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgd2l0aFRhYmxlTG9hZGluZzxYPigpIHtcbiAgICByZXR1cm4gKG9ic2VydmFibGU6IE9ic2VydmFibGU8WD4pID0+IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICByZXR1cm4gb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmcgPSBmYWxzZSlcbiAgICAgICk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgTWVzc2FnZVNlcnZpY2Uud2l0aExvYWRpbmcoKX0g55qE5b+r5o235pa55byPXG4gICAqIEBwYXJhbSBjb250ZW50XG4gICAqL1xuICBwcm90ZWN0ZWQgd2l0aExvYWRpbmc8WD4oY29udGVudD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2Uud2l0aExvYWRpbmc8WD4oY29udGVudCk7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIE1lc3NhZ2VTZXJ2aWNlLndpdGhEZWxldGVMb2FkaW5nKCl9IOeahOW/q+aNt+aWueW8j1xuICAgKiBAcGFyYW0gY29udGVudFxuICAgKi9cbiAgcHJvdGVjdGVkIHdpdGhEZWxldGVMb2FkaW5nPFg+KCkge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2Uud2l0aERlbGV0ZUxvYWRpbmc8WD4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgTWVzc2FnZVNlcnZpY2Uud2l0aFNhdmVMb2FkaW5nKCl9IOeahOW/q+aNt+aWueW8j1xuICAgKiBAcGFyYW0gY29udGVudFxuICAgKi9cbiAgcHJvdGVjdGVkIHdpdGhTYXZlTG9hZGluZzxYPigpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlLndpdGhTYXZlTG9hZGluZzxYPigpO1xuICB9XG5cbiAgLyoqXG4gICAqIOe8lui+kVxuICAgKiBAcGFyYW0gZW50aXR5XG4gICAqL1xuICBwcm90ZWN0ZWQgZWRpdChlbnRpdHk6IFUpIHtcbiAgICB0aGlzLmVkaXRvci5maWxsKGVudGl0eSk7XG4gICAgdGhpcy5lZGl0b3IucHJlc2VudCgpO1xuICB9XG59XG5cbi8qKlxuICog5bim5YiG6aG155qE5aKe5Yig5pS55p+l6aG16Z2iXG4gKiBAdGVtcGxhdGUgVCBTZWFyY2hlciDnmoTmqKHlnovnsbvlnotcbiAqIEB0ZW1wbGF0ZSBVIEVkaXRvciDnmoTmqKHlnovnsbvlnovvvIzpu5jorqTkuLogVFxuICogQHRlbXBsYXRlIFYgRGF0YSDnmoTmqKHlnovnsbvlnovvvIzpu5jorqTkuLogVVxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFnaW5nQ3J1ZFBhZ2U8VCwgVSA9IFQsIFYgPSBVPiBleHRlbmRzIENydWRQYWdlPFQsIFUsIFY+IHtcbiAgcHJvdGVjdGVkIHRvdGFsU2l6ZSE6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { NzAvatarModule } from 'ng-zorro-antd/avatar';
|
|
3
|
+
import { NzButtonModule } from 'ng-zorro-antd/button';
|
|
4
|
+
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
5
|
+
import { NzPopoverModule } from 'ng-zorro-antd/popover';
|
|
6
|
+
import { NzSpaceModule } from 'ng-zorro-antd/space';
|
|
7
|
+
import { NzTypographyModule } from 'ng-zorro-antd/typography';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "ng-zorro-antd/popover";
|
|
10
|
+
import * as i2 from "ng-zorro-antd/icon";
|
|
11
|
+
import * as i3 from "ng-zorro-antd/typography";
|
|
12
|
+
import * as i4 from "ng-zorro-antd/space";
|
|
13
|
+
import * as i5 from "ng-zorro-antd/avatar";
|
|
14
|
+
import * as i6 from "ng-zorro-antd/button";
|
|
15
|
+
import * as i7 from "ng-zorro-antd/core/transition-patch";
|
|
16
|
+
import * as i8 from "ng-zorro-antd/core/wave";
|
|
17
|
+
export class SunFanPopover {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.trigger = 'click';
|
|
20
|
+
this.placement = 'top';
|
|
21
|
+
this.visibleChange = new EventEmitter();
|
|
22
|
+
this.unbind = new EventEmitter();
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SunFanPopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SunFanPopover, isStandalone: true, selector: "sun-fan-popover", inputs: { fan: "fan", disabled: "disabled", trigger: "trigger", placement: "placement" }, outputs: { visibleChange: "visibleChange", unbind: "unbind" }, ngImport: i0, template: "<a\n nz-typography\n nz-popover\n [nzPopoverPlacement]=\"placement\"\n [nzPopoverTrigger]=\"trigger\"\n [nzDisabled]=\"disabled\"\n [nzPopoverContent]=\"fanTemplate\"\n (nzPopoverVisibleChange)=\"visibleChange.emit($event)\"\n>\n <ng-content>\n <span nz-icon nzType=\"wechat\"></span>\n </ng-content>\n</a>\n\n<ng-template #fanTemplate>\n <nz-space nzAlign=\"center\" nzDirection=\"vertical\" [nzSize]=\"6\">\n <nz-avatar\n *nzSpaceItem\n nzIcon=\"user\"\n [nzSize]=\"48\"\n [nzSrc]=\"fan?.avatar?.thumbnailUrl || fan?.avatarUrl\"\n [style.margin-top.px]=\"2\"\n />\n <div *nzSpaceItem>{{ fan?.fullName || fan?.nickName || '\u5FAE\u4FE1\u7528\u6237' }}</div>\n <button\n *nzSpaceItem\n nz-button\n nzSize=\"small\"\n nzDanger\n nzBlock\n nzType=\"primary\"\n (click)=\"unbind.emit()\"\n >\n \u89E3\u7ED1\n </button>\n </nz-space>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: NzPopoverModule }, { kind: "directive", type: i1.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverContent", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i2.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzTypographyModule }, { kind: "component", type: i3.NzTypographyComponent, selector: " nz-typography, [nz-typography], p[nz-paragraph], span[nz-text], h1[nz-title], h2[nz-title], h3[nz-title], h4[nz-title] ", inputs: ["nzCopyable", "nzEditable", "nzDisabled", "nzExpandable", "nzEllipsis", "nzCopyTooltips", "nzCopyIcons", "nzEditTooltip", "nzEditIcon", "nzContent", "nzEllipsisRows", "nzType", "nzCopyText", "nzSuffix"], outputs: ["nzContentChange", "nzCopy", "nzExpandChange", "nzOnEllipsis"], exportAs: ["nzTypography"] }, { kind: "ngmodule", type: NzSpaceModule }, { kind: "component", type: i4.NzSpaceComponent, selector: "nz-space, [nz-space]", inputs: ["nzDirection", "nzAlign", "nzSplit", "nzWrap", "nzSize"], exportAs: ["NzSpace"] }, { kind: "directive", type: i4.NzSpaceItemDirective, selector: "[nzSpaceItem]" }, { kind: "ngmodule", type: NzAvatarModule }, { kind: "component", type: i5.NzAvatarComponent, selector: "nz-avatar", inputs: ["nzShape", "nzSize", "nzGap", "nzText", "nzSrc", "nzSrcSet", "nzAlt", "nzIcon"], outputs: ["nzError"], exportAs: ["nzAvatar"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }] }); }
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SunFanPopover, decorators: [{
|
|
28
|
+
type: Component,
|
|
29
|
+
args: [{ selector: 'sun-fan-popover', standalone: true, imports: [
|
|
30
|
+
NzPopoverModule,
|
|
31
|
+
NzIconModule,
|
|
32
|
+
NzTypographyModule,
|
|
33
|
+
NzSpaceModule,
|
|
34
|
+
NzAvatarModule,
|
|
35
|
+
NzButtonModule
|
|
36
|
+
], template: "<a\n nz-typography\n nz-popover\n [nzPopoverPlacement]=\"placement\"\n [nzPopoverTrigger]=\"trigger\"\n [nzDisabled]=\"disabled\"\n [nzPopoverContent]=\"fanTemplate\"\n (nzPopoverVisibleChange)=\"visibleChange.emit($event)\"\n>\n <ng-content>\n <span nz-icon nzType=\"wechat\"></span>\n </ng-content>\n</a>\n\n<ng-template #fanTemplate>\n <nz-space nzAlign=\"center\" nzDirection=\"vertical\" [nzSize]=\"6\">\n <nz-avatar\n *nzSpaceItem\n nzIcon=\"user\"\n [nzSize]=\"48\"\n [nzSrc]=\"fan?.avatar?.thumbnailUrl || fan?.avatarUrl\"\n [style.margin-top.px]=\"2\"\n />\n <div *nzSpaceItem>{{ fan?.fullName || fan?.nickName || '\u5FAE\u4FE1\u7528\u6237' }}</div>\n <button\n *nzSpaceItem\n nz-button\n nzSize=\"small\"\n nzDanger\n nzBlock\n nzType=\"primary\"\n (click)=\"unbind.emit()\"\n >\n \u89E3\u7ED1\n </button>\n </nz-space>\n</ng-template>\n" }]
|
|
37
|
+
}], propDecorators: { fan: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], disabled: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], trigger: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], placement: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], visibleChange: [{
|
|
46
|
+
type: Output
|
|
47
|
+
}], unbind: [{
|
|
48
|
+
type: Output
|
|
49
|
+
}] } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFuLXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vZmFuLXBvcG92ZXIvZmFuLXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktem9ycm8vZmFuLXBvcG92ZXIvZmFuLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7O0FBZTlELE1BQU0sT0FBTyxhQUFhO0lBYjFCO1FBZ0JXLFlBQU8sR0FBcUIsT0FBTyxDQUFDO1FBQ3BDLGNBQVMsR0FBc0IsS0FBSyxDQUFDO1FBRXBDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUN2QzsrR0FSWSxhQUFhO21HQUFiLGFBQWEsb09DdkIxQixrN0JBcUNBLDJDRHZCSSxlQUFlLDJkQUNmLFlBQVksaU5BQ1osa0JBQWtCLDRoQkFDbEIsYUFBYSw2UkFDYixjQUFjLGdQQUNkLGNBQWM7OzRGQUlMLGFBQWE7a0JBYnpCLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQO3dCQUNQLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3FCQUNmOzhCQUlRLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZhbiB9IGZyb20gJ0Bzb2xhci1raXQvcGxhbmV0cy9lYXJ0aCc7XG5pbXBvcnQgeyBOekF2YXRhck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvYXZhdGFyJztcbmltcG9ydCB7IE56QnV0dG9uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9idXR0b24nO1xuaW1wb3J0IHsgTnpJY29uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pY29uJztcbmltcG9ydCB7IE56UG9wb3Zlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcG9wb3Zlcic7XG5pbXBvcnQgeyBOelNwYWNlTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9zcGFjZSc7XG5pbXBvcnQgeyBOelRvb2x0aXBUcmlnZ2VyIH0gZnJvbSAnbmctem9ycm8tYW50ZC90b29sdGlwJztcbmltcG9ydCB7IE56VHlwb2dyYXBoeU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdHlwb2dyYXBoeSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N1bi1mYW4tcG9wb3ZlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOelBvcG92ZXJNb2R1bGUsXG4gICAgTnpJY29uTW9kdWxlLFxuICAgIE56VHlwb2dyYXBoeU1vZHVsZSxcbiAgICBOelNwYWNlTW9kdWxlLFxuICAgIE56QXZhdGFyTW9kdWxlLFxuICAgIE56QnV0dG9uTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9mYW4tcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFN1bkZhblBvcG92ZXIge1xuICBASW5wdXQoKSBmYW4/OiBGYW4gfCBudWxsO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRyaWdnZXI6IE56VG9vbHRpcFRyaWdnZXIgPSAnY2xpY2snO1xuICBASW5wdXQoKSBwbGFjZW1lbnQ6IHN0cmluZyB8IHN0cmluZ1tdID0gJ3RvcCc7XG5cbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSB1bmJpbmQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG59XG4iLCI8YVxuICBuei10eXBvZ3JhcGh5XG4gIG56LXBvcG92ZXJcbiAgW256UG9wb3ZlclBsYWNlbWVudF09XCJwbGFjZW1lbnRcIlxuICBbbnpQb3BvdmVyVHJpZ2dlcl09XCJ0cmlnZ2VyXCJcbiAgW256RGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbbnpQb3BvdmVyQ29udGVudF09XCJmYW5UZW1wbGF0ZVwiXG4gIChuelBvcG92ZXJWaXNpYmxlQ2hhbmdlKT1cInZpc2libGVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+XG4gICAgPHNwYW4gbnotaWNvbiBuelR5cGU9XCJ3ZWNoYXRcIj48L3NwYW4+XG4gIDwvbmctY29udGVudD5cbjwvYT5cblxuPG5nLXRlbXBsYXRlICNmYW5UZW1wbGF0ZT5cbiAgPG56LXNwYWNlIG56QWxpZ249XCJjZW50ZXJcIiBuekRpcmVjdGlvbj1cInZlcnRpY2FsXCIgW256U2l6ZV09XCI2XCI+XG4gICAgPG56LWF2YXRhclxuICAgICAgKm56U3BhY2VJdGVtXG4gICAgICBuekljb249XCJ1c2VyXCJcbiAgICAgIFtuelNpemVdPVwiNDhcIlxuICAgICAgW256U3JjXT1cImZhbj8uYXZhdGFyPy50aHVtYm5haWxVcmwgfHwgZmFuPy5hdmF0YXJVcmxcIlxuICAgICAgW3N0eWxlLm1hcmdpbi10b3AucHhdPVwiMlwiXG4gICAgLz5cbiAgICA8ZGl2ICpuelNwYWNlSXRlbT57eyBmYW4/LmZ1bGxOYW1lIHx8IGZhbj8ubmlja05hbWUgfHwgJ+W+ruS/oeeUqOaItycgfX08L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICAqbnpTcGFjZUl0ZW1cbiAgICAgIG56LWJ1dHRvblxuICAgICAgbnpTaXplPVwic21hbGxcIlxuICAgICAgbnpEYW5nZXJcbiAgICAgIG56QmxvY2tcbiAgICAgIG56VHlwZT1cInByaW1hcnlcIlxuICAgICAgKGNsaWNrKT1cInVuYmluZC5lbWl0KClcIlxuICAgID5cbiAgICAgIOino+e7kVxuICAgIDwvYnV0dG9uPlxuICA8L256LXNwYWNlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './fan-popover.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS16b3Jyby9mYW4tcG9wb3Zlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mYW4tcG9wb3Zlci5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS16b3Jyby1mYW4tcG9wb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLXpvcnJvL2Zhbi1wb3BvdmVyL3NvbGFyLWFuZ3VsYXItdWktem9ycm8tZmFuLXBvcG92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { Fan } from '@solar-kit/planets/earth';
|
|
3
|
+
import { NzTooltipTrigger } from 'ng-zorro-antd/tooltip';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SunFanPopover {
|
|
6
|
+
fan?: Fan | null;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
trigger: NzTooltipTrigger;
|
|
9
|
+
placement: string | string[];
|
|
10
|
+
visibleChange: EventEmitter<boolean>;
|
|
11
|
+
unbind: EventEmitter<any>;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SunFanPopover, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SunFanPopover, "sun-fan-popover", never, { "fan": { "alias": "fan"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; }, { "visibleChange": "visibleChange"; "unbind": "unbind"; }, never, ["*"], true, never>;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './fan-popover.component';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { form } from '@fluent-form/core';
|
|
2
|
-
import { finalize, tap
|
|
2
|
+
import { finalize, tap } from 'rxjs';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Component, Input, inject } from '@angular/core';
|
|
5
5
|
import * as i1 from 'ng-zorro-antd/drawer';
|
|
@@ -10,7 +10,6 @@ import * as i2 from 'ng-zorro-antd/spin';
|
|
|
10
10
|
import { NzSpinModule } from 'ng-zorro-antd/spin';
|
|
11
11
|
import * as i4 from 'ng-zorro-antd/typography';
|
|
12
12
|
import { NzTypographyModule } from 'ng-zorro-antd/typography';
|
|
13
|
-
import { MenuService } from '@solar-angular/planets/earth';
|
|
14
13
|
import { MessageService } from '@solar-angular/ui-zorro/message';
|
|
15
14
|
|
|
16
15
|
class Editor {
|
|
@@ -123,8 +122,6 @@ class CrudPage {
|
|
|
123
122
|
this.loading = false;
|
|
124
123
|
this.searcher = new Searcher();
|
|
125
124
|
this.editor = new Editor();
|
|
126
|
-
/** 当前页面的菜单列 */
|
|
127
|
-
this.menus$ = inject(MenuService).menus$.pipe(shareReplay(1));
|
|
128
125
|
this.message = inject(MessageService);
|
|
129
126
|
}
|
|
130
127
|
withTableLoading() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solar-angular-ui-zorro-crud.mjs","sources":["../../../packages/ui-zorro/crud/editor.ts","../../../packages/ui-zorro/crud/editor-drawer/editor-drawer.component.ts","../../../packages/ui-zorro/crud/editor-drawer/editor-drawer.component.html","../../../packages/ui-zorro/crud/searcher.ts","../../../packages/ui-zorro/crud/page.ts","../../../packages/ui-zorro/crud/solar-angular-ui-zorro-crud.ts"],"sourcesContent":["import { FormGroup } from '@angular/forms';\nimport { AbstractFormGroupSchema, form } from '@fluent-form/core';\nimport { Observable, finalize, tap } from 'rxjs';\n\nexport class Editor<T> {\n private _visible = false;\n /** 模型初始值 */\n originalModel: T = {} as T;\n model: T = {} as T;\n loading = false;\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n schema: AbstractFormGroupSchema = form(() => { });\n /** 是否在保存完之后固定抽屉 */\n pin = false;\n form?: FormGroup;\n\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n // 手动判断一下,因为双向绑定的原因,这里会被设置两次\n if (this._visible !== value) {\n if (!value) {\n this.reset(); // 关闭的时候自动重置\n }\n }\n this._visible = value;\n }\n\n /**\n * 自动控制 loading 状态\n */\n withLoading<X>() {\n this.loading = true;\n return (observable: Observable<X>) => {\n return observable.pipe(\n finalize(() => this.loading = false)\n );\n };\n }\n\n /**\n * next 时自动重置表单 或 收起编辑器\n */\n withAttach<X>() {\n return (observable: Observable<X>) => observable.pipe(\n tap(() => this.pin ? this.reset() : this.dismiss())\n );\n }\n\n /**\n * 呈现编辑器\n */\n present() {\n this.visible = true;\n }\n\n /**\n * 关闭编辑器\n */\n dismiss() {\n this.visible = false;\n }\n\n togglePin() {\n this.pin = !this.pin;\n }\n\n reset() {\n this.fill({} as T);\n }\n\n fill(model: T) {\n this.originalModel = model;\n this.model = model;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzTypographyModule } from 'ng-zorro-antd/typography';\nimport { Editor } from '../editor';\n\n@Component({\n selector: 'sun-editor-drawer',\n standalone: true,\n imports: [\n NzDrawerModule,\n NzSpinModule,\n NzIconModule,\n NzTypographyModule\n ],\n templateUrl: './editor-drawer.component.html',\n styleUrl: './editor-drawer.component.scss'\n})\nexport class SunEditorDrawer<T extends Record<string, any>> {\n @Input() editor!: Editor<T>;\n @Input() width: string | number = 600;\n @Input() primaryKey = 'id';\n}\n","<nz-drawer\n nzWrapClassName=\"sun-editor-drawer-wrapper\"\n [nzWidth]=\"width\"\n [nzClosable]=\"false\"\n [nzTitle]=\"editorTitle\"\n [nzFooter]=\"editorFooter\"\n [(nzVisible)]=\"editor.visible\"\n (nzOnClose)=\"editor.visible = false\">\n <nz-spin *nzDrawerContent [nzSpinning]=\"editor.loading\">\n <ng-content />\n </nz-spin>\n</nz-drawer>\n\n<ng-template #editorTitle>\n <div>{{ editor.model[primaryKey] ? '编辑条目' : '新增条目' }}</div>\n\n <span nz-icon nzType=\"pushpin\" [nzTheme]=\"editor.pin ? 'twotone' : 'outline'\" (click)=\"editor.togglePin()\"></span>\n</ng-template>\n\n<ng-template #editorFooter>\n <small nz-typography nzType=\"secondary\">\n 注意:标签上带有\n <span nz-typography nzType=\"danger\" style=\"font-family: SimSun, sans-serif\">*</span>\n 符号的项目为必填项\n </small>\n</ng-template>\n","import { FormGroup } from '@angular/forms';\nimport { AbstractFormGroupSchema } from '@fluent-form/core';\n\nexport class Searcher<T> {\n form?: FormGroup;\n model: Partial<T> = {};\n\n schema!: AbstractFormGroupSchema;\n\n reset() {\n this.form?.reset({});\n }\n}\n","import { inject } from '@angular/core';\nimport { MenuService } from '@solar-angular/planets/earth';\nimport { MessageService } from '@solar-angular/ui-zorro/message';\nimport { Menu } from '@solar-kit/planets/earth';\nimport { finalize, Observable, shareReplay } from 'rxjs';\nimport { Editor } from './editor';\nimport { Searcher } from './searcher';\n\n/**\n * 增删改查页面\n * @template T Searcher 的模型类型\n * @template U Editor 的模型类型,默认为 T\n * @template V Data 的模型类型,默认为 U\n */\nexport abstract class CrudPage<T, U = T, V = U> {\n protected data: V[] = [];\n\n protected pageSize = 10;\n protected pageNo = 1;\n\n protected loading = false;\n\n protected searcher = new Searcher<T>();\n protected editor = new Editor<U>();\n\n /** 当前页面的菜单列 */\n readonly menus$: Observable<Menu[]> = inject(MenuService).menus$.pipe(shareReplay(1));\n readonly message = inject(MessageService);\n\n protected withTableLoading<X>() {\n return (observable: Observable<X>) => {\n this.loading = true;\n return observable.pipe(\n finalize(() => this.loading = false)\n );\n };\n }\n\n /**\n * {@link MessageService.withLoading()} 的快捷方式\n * @param content\n */\n protected withLoading<X>(content?: string) {\n return this.message.withLoading<X>(content);\n }\n\n /**\n * {@link MessageService.withDeleteLoading()} 的快捷方式\n * @param content\n */\n protected withDeleteLoading<X>() {\n return this.message.withDeleteLoading<X>();\n }\n\n /**\n * {@link MessageService.withSaveLoading()} 的快捷方式\n * @param content\n */\n protected withSaveLoading<X>() {\n return this.message.withSaveLoading<X>();\n }\n\n /**\n * 编辑\n * @param entity\n */\n protected edit(entity: U) {\n this.editor.fill(entity);\n this.editor.present();\n }\n}\n\n/**\n * 带分页的增删改查页面\n * @template T Searcher 的模型类型\n * @template U Editor 的模型类型,默认为 T\n * @template V Data 的模型类型,默认为 U\n */\nexport abstract class PagingCrudPage<T, U = T, V = U> extends CrudPage<T, U, V> {\n protected totalSize!: number;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"solar-angular-ui-zorro-crud.mjs","sources":["../../../packages/ui-zorro/crud/editor.ts","../../../packages/ui-zorro/crud/editor-drawer/editor-drawer.component.ts","../../../packages/ui-zorro/crud/editor-drawer/editor-drawer.component.html","../../../packages/ui-zorro/crud/searcher.ts","../../../packages/ui-zorro/crud/page.ts","../../../packages/ui-zorro/crud/solar-angular-ui-zorro-crud.ts"],"sourcesContent":["import { FormGroup } from '@angular/forms';\nimport { AbstractFormGroupSchema, form } from '@fluent-form/core';\nimport { Observable, finalize, tap } from 'rxjs';\n\nexport class Editor<T> {\n private _visible = false;\n /** 模型初始值 */\n originalModel: T = {} as T;\n model: T = {} as T;\n loading = false;\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n schema: AbstractFormGroupSchema = form(() => { });\n /** 是否在保存完之后固定抽屉 */\n pin = false;\n form?: FormGroup;\n\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n // 手动判断一下,因为双向绑定的原因,这里会被设置两次\n if (this._visible !== value) {\n if (!value) {\n this.reset(); // 关闭的时候自动重置\n }\n }\n this._visible = value;\n }\n\n /**\n * 自动控制 loading 状态\n */\n withLoading<X>() {\n this.loading = true;\n return (observable: Observable<X>) => {\n return observable.pipe(\n finalize(() => this.loading = false)\n );\n };\n }\n\n /**\n * next 时自动重置表单 或 收起编辑器\n */\n withAttach<X>() {\n return (observable: Observable<X>) => observable.pipe(\n tap(() => this.pin ? this.reset() : this.dismiss())\n );\n }\n\n /**\n * 呈现编辑器\n */\n present() {\n this.visible = true;\n }\n\n /**\n * 关闭编辑器\n */\n dismiss() {\n this.visible = false;\n }\n\n togglePin() {\n this.pin = !this.pin;\n }\n\n reset() {\n this.fill({} as T);\n }\n\n fill(model: T) {\n this.originalModel = model;\n this.model = model;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzTypographyModule } from 'ng-zorro-antd/typography';\nimport { Editor } from '../editor';\n\n@Component({\n selector: 'sun-editor-drawer',\n standalone: true,\n imports: [\n NzDrawerModule,\n NzSpinModule,\n NzIconModule,\n NzTypographyModule\n ],\n templateUrl: './editor-drawer.component.html',\n styleUrl: './editor-drawer.component.scss'\n})\nexport class SunEditorDrawer<T extends Record<string, any>> {\n @Input() editor!: Editor<T>;\n @Input() width: string | number = 600;\n @Input() primaryKey = 'id';\n}\n","<nz-drawer\n nzWrapClassName=\"sun-editor-drawer-wrapper\"\n [nzWidth]=\"width\"\n [nzClosable]=\"false\"\n [nzTitle]=\"editorTitle\"\n [nzFooter]=\"editorFooter\"\n [(nzVisible)]=\"editor.visible\"\n (nzOnClose)=\"editor.visible = false\">\n <nz-spin *nzDrawerContent [nzSpinning]=\"editor.loading\">\n <ng-content />\n </nz-spin>\n</nz-drawer>\n\n<ng-template #editorTitle>\n <div>{{ editor.model[primaryKey] ? '编辑条目' : '新增条目' }}</div>\n\n <span nz-icon nzType=\"pushpin\" [nzTheme]=\"editor.pin ? 'twotone' : 'outline'\" (click)=\"editor.togglePin()\"></span>\n</ng-template>\n\n<ng-template #editorFooter>\n <small nz-typography nzType=\"secondary\">\n 注意:标签上带有\n <span nz-typography nzType=\"danger\" style=\"font-family: SimSun, sans-serif\">*</span>\n 符号的项目为必填项\n </small>\n</ng-template>\n","import { FormGroup } from '@angular/forms';\nimport { AbstractFormGroupSchema } from '@fluent-form/core';\n\nexport class Searcher<T> {\n form?: FormGroup;\n model: Partial<T> = {};\n\n schema!: AbstractFormGroupSchema;\n\n reset() {\n this.form?.reset({});\n }\n}\n","import { inject } from '@angular/core';\nimport { MessageService } from '@solar-angular/ui-zorro/message';\nimport { finalize, Observable } from 'rxjs';\nimport { Editor } from './editor';\nimport { Searcher } from './searcher';\n\n/**\n * 增删改查页面\n * @template T Searcher 的模型类型\n * @template U Editor 的模型类型,默认为 T\n * @template V Data 的模型类型,默认为 U\n */\nexport abstract class CrudPage<T, U = T, V = U> {\n protected data: V[] = [];\n\n protected pageSize = 10;\n protected pageNo = 1;\n\n protected loading = false;\n\n protected searcher = new Searcher<T>();\n protected editor = new Editor<U>();\n\n readonly message = inject(MessageService);\n\n protected withTableLoading<X>() {\n return (observable: Observable<X>) => {\n this.loading = true;\n return observable.pipe(\n finalize(() => this.loading = false)\n );\n };\n }\n\n /**\n * {@link MessageService.withLoading()} 的快捷方式\n * @param content\n */\n protected withLoading<X>(content?: string) {\n return this.message.withLoading<X>(content);\n }\n\n /**\n * {@link MessageService.withDeleteLoading()} 的快捷方式\n * @param content\n */\n protected withDeleteLoading<X>() {\n return this.message.withDeleteLoading<X>();\n }\n\n /**\n * {@link MessageService.withSaveLoading()} 的快捷方式\n * @param content\n */\n protected withSaveLoading<X>() {\n return this.message.withSaveLoading<X>();\n }\n\n /**\n * 编辑\n * @param entity\n */\n protected edit(entity: U) {\n this.editor.fill(entity);\n this.editor.present();\n }\n}\n\n/**\n * 带分页的增删改查页面\n * @template T Searcher 的模型类型\n * @template U Editor 的模型类型,默认为 T\n * @template V Data 的模型类型,默认为 U\n */\nexport abstract class PagingCrudPage<T, U = T, V = U> extends CrudPage<T, U, V> {\n protected totalSize!: number;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Input, Output } from '@angular/core';
|
|
3
|
+
import * as i5 from 'ng-zorro-antd/avatar';
|
|
4
|
+
import { NzAvatarModule } from 'ng-zorro-antd/avatar';
|
|
5
|
+
import * as i6 from 'ng-zorro-antd/button';
|
|
6
|
+
import { NzButtonModule } from 'ng-zorro-antd/button';
|
|
7
|
+
import * as i2 from 'ng-zorro-antd/icon';
|
|
8
|
+
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
9
|
+
import * as i1 from 'ng-zorro-antd/popover';
|
|
10
|
+
import { NzPopoverModule } from 'ng-zorro-antd/popover';
|
|
11
|
+
import * as i4 from 'ng-zorro-antd/space';
|
|
12
|
+
import { NzSpaceModule } from 'ng-zorro-antd/space';
|
|
13
|
+
import * as i3 from 'ng-zorro-antd/typography';
|
|
14
|
+
import { NzTypographyModule } from 'ng-zorro-antd/typography';
|
|
15
|
+
import * as i7 from 'ng-zorro-antd/core/transition-patch';
|
|
16
|
+
import * as i8 from 'ng-zorro-antd/core/wave';
|
|
17
|
+
|
|
18
|
+
class SunFanPopover {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.trigger = 'click';
|
|
21
|
+
this.placement = 'top';
|
|
22
|
+
this.visibleChange = new EventEmitter();
|
|
23
|
+
this.unbind = new EventEmitter();
|
|
24
|
+
}
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SunFanPopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SunFanPopover, isStandalone: true, selector: "sun-fan-popover", inputs: { fan: "fan", disabled: "disabled", trigger: "trigger", placement: "placement" }, outputs: { visibleChange: "visibleChange", unbind: "unbind" }, ngImport: i0, template: "<a\n nz-typography\n nz-popover\n [nzPopoverPlacement]=\"placement\"\n [nzPopoverTrigger]=\"trigger\"\n [nzDisabled]=\"disabled\"\n [nzPopoverContent]=\"fanTemplate\"\n (nzPopoverVisibleChange)=\"visibleChange.emit($event)\"\n>\n <ng-content>\n <span nz-icon nzType=\"wechat\"></span>\n </ng-content>\n</a>\n\n<ng-template #fanTemplate>\n <nz-space nzAlign=\"center\" nzDirection=\"vertical\" [nzSize]=\"6\">\n <nz-avatar\n *nzSpaceItem\n nzIcon=\"user\"\n [nzSize]=\"48\"\n [nzSrc]=\"fan?.avatar?.thumbnailUrl || fan?.avatarUrl\"\n [style.margin-top.px]=\"2\"\n />\n <div *nzSpaceItem>{{ fan?.fullName || fan?.nickName || '\u5FAE\u4FE1\u7528\u6237' }}</div>\n <button\n *nzSpaceItem\n nz-button\n nzSize=\"small\"\n nzDanger\n nzBlock\n nzType=\"primary\"\n (click)=\"unbind.emit()\"\n >\n \u89E3\u7ED1\n </button>\n </nz-space>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: NzPopoverModule }, { kind: "directive", type: i1.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverContent", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i2.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzTypographyModule }, { kind: "component", type: i3.NzTypographyComponent, selector: " nz-typography, [nz-typography], p[nz-paragraph], span[nz-text], h1[nz-title], h2[nz-title], h3[nz-title], h4[nz-title] ", inputs: ["nzCopyable", "nzEditable", "nzDisabled", "nzExpandable", "nzEllipsis", "nzCopyTooltips", "nzCopyIcons", "nzEditTooltip", "nzEditIcon", "nzContent", "nzEllipsisRows", "nzType", "nzCopyText", "nzSuffix"], outputs: ["nzContentChange", "nzCopy", "nzExpandChange", "nzOnEllipsis"], exportAs: ["nzTypography"] }, { kind: "ngmodule", type: NzSpaceModule }, { kind: "component", type: i4.NzSpaceComponent, selector: "nz-space, [nz-space]", inputs: ["nzDirection", "nzAlign", "nzSplit", "nzWrap", "nzSize"], exportAs: ["NzSpace"] }, { kind: "directive", type: i4.NzSpaceItemDirective, selector: "[nzSpaceItem]" }, { kind: "ngmodule", type: NzAvatarModule }, { kind: "component", type: i5.NzAvatarComponent, selector: "nz-avatar", inputs: ["nzShape", "nzSize", "nzGap", "nzText", "nzSrc", "nzSrcSet", "nzAlt", "nzIcon"], outputs: ["nzError"], exportAs: ["nzAvatar"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }] }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SunFanPopover, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'sun-fan-popover', standalone: true, imports: [
|
|
31
|
+
NzPopoverModule,
|
|
32
|
+
NzIconModule,
|
|
33
|
+
NzTypographyModule,
|
|
34
|
+
NzSpaceModule,
|
|
35
|
+
NzAvatarModule,
|
|
36
|
+
NzButtonModule
|
|
37
|
+
], template: "<a\n nz-typography\n nz-popover\n [nzPopoverPlacement]=\"placement\"\n [nzPopoverTrigger]=\"trigger\"\n [nzDisabled]=\"disabled\"\n [nzPopoverContent]=\"fanTemplate\"\n (nzPopoverVisibleChange)=\"visibleChange.emit($event)\"\n>\n <ng-content>\n <span nz-icon nzType=\"wechat\"></span>\n </ng-content>\n</a>\n\n<ng-template #fanTemplate>\n <nz-space nzAlign=\"center\" nzDirection=\"vertical\" [nzSize]=\"6\">\n <nz-avatar\n *nzSpaceItem\n nzIcon=\"user\"\n [nzSize]=\"48\"\n [nzSrc]=\"fan?.avatar?.thumbnailUrl || fan?.avatarUrl\"\n [style.margin-top.px]=\"2\"\n />\n <div *nzSpaceItem>{{ fan?.fullName || fan?.nickName || '\u5FAE\u4FE1\u7528\u6237' }}</div>\n <button\n *nzSpaceItem\n nz-button\n nzSize=\"small\"\n nzDanger\n nzBlock\n nzType=\"primary\"\n (click)=\"unbind.emit()\"\n >\n \u89E3\u7ED1\n </button>\n </nz-space>\n</ng-template>\n" }]
|
|
38
|
+
}], propDecorators: { fan: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], disabled: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], trigger: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], placement: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], visibleChange: [{
|
|
47
|
+
type: Output
|
|
48
|
+
}], unbind: [{
|
|
49
|
+
type: Output
|
|
50
|
+
}] } });
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Generated bundle index. Do not edit.
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
export { SunFanPopover };
|
|
57
|
+
//# sourceMappingURL=solar-angular-ui-zorro-fan-popover.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solar-angular-ui-zorro-fan-popover.mjs","sources":["../../../packages/ui-zorro/fan-popover/fan-popover.component.ts","../../../packages/ui-zorro/fan-popover/fan-popover.component.html","../../../packages/ui-zorro/fan-popover/solar-angular-ui-zorro-fan-popover.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Fan } from '@solar-kit/planets/earth';\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\nimport { NzSpaceModule } from 'ng-zorro-antd/space';\nimport { NzTooltipTrigger } from 'ng-zorro-antd/tooltip';\nimport { NzTypographyModule } from 'ng-zorro-antd/typography';\n\n@Component({\n selector: 'sun-fan-popover',\n standalone: true,\n imports: [\n NzPopoverModule,\n NzIconModule,\n NzTypographyModule,\n NzSpaceModule,\n NzAvatarModule,\n NzButtonModule\n ],\n templateUrl: './fan-popover.component.html',\n})\nexport class SunFanPopover {\n @Input() fan?: Fan | null;\n @Input() disabled?: boolean;\n @Input() trigger: NzTooltipTrigger = 'click';\n @Input() placement: string | string[] = 'top';\n\n @Output() visibleChange = new EventEmitter<boolean>();\n @Output() unbind = new EventEmitter();\n}\n","<a\n nz-typography\n nz-popover\n [nzPopoverPlacement]=\"placement\"\n [nzPopoverTrigger]=\"trigger\"\n [nzDisabled]=\"disabled\"\n [nzPopoverContent]=\"fanTemplate\"\n (nzPopoverVisibleChange)=\"visibleChange.emit($event)\"\n>\n <ng-content>\n <span nz-icon nzType=\"wechat\"></span>\n </ng-content>\n</a>\n\n<ng-template #fanTemplate>\n <nz-space nzAlign=\"center\" nzDirection=\"vertical\" [nzSize]=\"6\">\n <nz-avatar\n *nzSpaceItem\n nzIcon=\"user\"\n [nzSize]=\"48\"\n [nzSrc]=\"fan?.avatar?.thumbnailUrl || fan?.avatarUrl\"\n [style.margin-top.px]=\"2\"\n />\n <div *nzSpaceItem>{{ fan?.fullName || fan?.nickName || '微信用户' }}</div>\n <button\n *nzSpaceItem\n nz-button\n nzSize=\"small\"\n nzDanger\n nzBlock\n nzType=\"primary\"\n (click)=\"unbind.emit()\"\n >\n 解绑\n </button>\n </nz-space>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solar-angular/ui-zorro",
|
|
3
|
-
"version": "18.0.
|
|
3
|
+
"version": "18.0.5",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@solar-angular/core": "18.0.
|
|
10
|
-
"@solar-angular/planets": "18.0.
|
|
11
|
-
"@solar-angular/platform-browser": "18.0.
|
|
9
|
+
"@solar-angular/core": "18.0.5",
|
|
10
|
+
"@solar-angular/planets": "18.0.5",
|
|
11
|
+
"@solar-angular/platform-browser": "18.0.5",
|
|
12
12
|
"tslib": "^2.3.0"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
@@ -39,6 +39,12 @@
|
|
|
39
39
|
"esm": "./esm2022/crud/solar-angular-ui-zorro-crud.mjs",
|
|
40
40
|
"default": "./fesm2022/solar-angular-ui-zorro-crud.mjs"
|
|
41
41
|
},
|
|
42
|
+
"./fan-popover": {
|
|
43
|
+
"types": "./fan-popover/index.d.ts",
|
|
44
|
+
"esm2022": "./esm2022/fan-popover/solar-angular-ui-zorro-fan-popover.mjs",
|
|
45
|
+
"esm": "./esm2022/fan-popover/solar-angular-ui-zorro-fan-popover.mjs",
|
|
46
|
+
"default": "./fesm2022/solar-angular-ui-zorro-fan-popover.mjs"
|
|
47
|
+
},
|
|
42
48
|
"./fluent-form": {
|
|
43
49
|
"types": "./fluent-form/index.d.ts",
|
|
44
50
|
"esm2022": "./esm2022/fluent-form/solar-angular-ui-zorro-fluent-form.mjs",
|