@dignite-ng/expand.core 0.0.3 → 0.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.
Files changed (42) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/directives/index.mjs +2 -0
  3. package/esm2022/lib/directives/keydown-prevent-default.directive.mjs +22 -0
  4. package/esm2022/lib/expand/image-preview.component.mjs +250 -0
  5. package/esm2022/lib/expand/index.mjs +2 -0
  6. package/esm2022/lib/pipes/get-now-domain.pipe.mjs +53 -0
  7. package/esm2022/lib/pipes/get-tenant-img.pipe.mjs +27 -0
  8. package/esm2022/lib/pipes/index.mjs +4 -0
  9. package/esm2022/lib/pipes/slug-normalizer.pipe.mjs +39 -0
  10. package/esm2022/lib/services/index.mjs +2 -2
  11. package/esm2022/lib/services/update-list.service.mjs +50 -0
  12. package/esm2022/lib/strategies/index.mjs +2 -0
  13. package/esm2022/lib/strategies/simple-reuse-strategy.mjs +84 -0
  14. package/esm2022/public-api.mjs +5 -4
  15. package/fesm2022/dignite-ng-expand.core.mjs +499 -98
  16. package/fesm2022/dignite-ng-expand.core.mjs.map +1 -1
  17. package/lib/directives/index.d.ts +1 -0
  18. package/lib/directives/keydown-prevent-default.directive.d.ts +7 -0
  19. package/lib/expand/image-preview.component.d.ts +40 -0
  20. package/lib/expand/index.d.ts +1 -0
  21. package/lib/pipes/get-now-domain.pipe.d.ts +19 -0
  22. package/lib/pipes/get-tenant-img.pipe.d.ts +9 -0
  23. package/lib/pipes/index.d.ts +3 -0
  24. package/lib/pipes/slug-normalizer.pipe.d.ts +8 -0
  25. package/lib/services/index.d.ts +1 -1
  26. package/lib/services/update-list.service.d.ts +37 -0
  27. package/lib/strategies/index.d.ts +1 -0
  28. package/lib/strategies/simple-reuse-strategy.d.ts +33 -0
  29. package/package.json +3 -3
  30. package/public-api.d.ts +4 -3
  31. package/esm2022/lib/constants/index.mjs +0 -2
  32. package/esm2022/lib/constants/styles.mjs +0 -24
  33. package/esm2022/lib/core.module.mjs +0 -26
  34. package/esm2022/lib/providers/appent-content.providers.mjs +0 -16
  35. package/esm2022/lib/providers/index.mjs +0 -2
  36. package/esm2022/lib/services/appent-content.service.mjs +0 -54
  37. package/lib/constants/index.d.ts +0 -1
  38. package/lib/constants/styles.d.ts +0 -2
  39. package/lib/core.module.d.ts +0 -8
  40. package/lib/providers/appent-content.providers.d.ts +0 -11
  41. package/lib/providers/index.d.ts +0 -1
  42. package/lib/services/appent-content.service.d.ts +0 -28
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # Core
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project core` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project core`.
8
- > Note: Don't forget to add `--project core` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build core` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build core`, go to the dist folder `cd dist/core` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test core` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # Core
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.1.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project core` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project core`.
8
+ > Note: Don't forget to add `--project core` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build core` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build core`, go to the dist folder `cd dist/core` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test core` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -0,0 +1,2 @@
1
+ export * from './keydown-prevent-default.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9rZXlkb3duLXByZXZlbnQtZGVmYXVsdC5kaXJlY3RpdmUnIl19
@@ -0,0 +1,22 @@
1
+ /* eslint-disable @angular-eslint/directive-selector */
2
+ import { Directive, HostListener } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class KeydownPreventDefaultDirective {
5
+ constructor() { }
6
+ onKeyDown(event) {
7
+ event.preventDefault();
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: KeydownPreventDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.5", type: KeydownPreventDefaultDirective, isStandalone: true, selector: "[KeydownPreventDefault]", host: { listeners: { "keydown.enter": "onKeyDown($event)" } }, ngImport: i0 }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: KeydownPreventDefaultDirective, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: '[KeydownPreventDefault]',
16
+ standalone: true,
17
+ }]
18
+ }], ctorParameters: () => [], propDecorators: { onKeyDown: [{
19
+ type: HostListener,
20
+ args: ['keydown.enter', ['$event']]
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5ZG93bi1wcmV2ZW50LWRlZmF1bHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMva2V5ZG93bi1wcmV2ZW50LWRlZmF1bHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNeEQsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxnQkFBZSxDQUFDO0lBR2hCLFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0FOVSw4QkFBOEI7a0dBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7d0RBS0MsU0FBUztzQkFEUixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3IgKi9cclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW0tleWRvd25QcmV2ZW50RGVmYXVsdF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLZXlkb3duUHJldmVudERlZmF1bHREaXJlY3RpdmUge1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,250 @@
1
+ /* eslint-disable @angular-eslint/component-selector */
2
+ import { PageModule } from '@abp/ng.components/page';
3
+ import { CoreModule } from '@abp/ng.core';
4
+ import { ThemeSharedModule } from '@abp/ng.theme.shared';
5
+ import { CommonModule } from '@angular/common';
6
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ng-bootstrap/ng-bootstrap";
9
+ import * as i2 from "@angular/common";
10
+ import * as i3 from "@abp/ng.core";
11
+ export class ImagePreviewComponent {
12
+ set src(v) {
13
+ this._src = v;
14
+ }
15
+ constructor(modalService) {
16
+ this.modalService = modalService;
17
+ /**图片链接 */
18
+ this._src = '';
19
+ /**是否预览 */
20
+ this.preview = true;
21
+ /**宽 */
22
+ this.width = 90;
23
+ /**高 */
24
+ this.height = 90;
25
+ this.rounded = '';
26
+ this.id = '';
27
+ /**放大倍数 */
28
+ this.zoom = 10;
29
+ /**旋转 */
30
+ this.rotate = 0;
31
+ // private modalService = inject(NgbModal);
32
+ this.deleteChange = new EventEmitter();
33
+ this.checkChange = new EventEmitter();
34
+ }
35
+ /**选择图片的事件,返回父组件是否选中 */
36
+ checkImage(event) {
37
+ this.checkChange.emit(event.target.checked);
38
+ }
39
+ /**删除图片 */
40
+ deletecoverPics() {
41
+ this.deleteChange.emit();
42
+ }
43
+ /**打开预览弹窗 */
44
+ OpenPreviewImage(content) {
45
+ this.modalRef = this.modalService.open(content, {
46
+ fullscreen: true,
47
+ modalDialogClass: 'dignite-preview',
48
+ });
49
+ this.modalRef.result.then(result => { }, reason => {
50
+ this.zoom = 10;
51
+ });
52
+ }
53
+ /**放大图像 */
54
+ zoomIn() {
55
+ let zoom = this.zoom;
56
+ if (zoom == 20)
57
+ return;
58
+ zoom++;
59
+ this.zoom = zoom;
60
+ }
61
+ /**缩小图像 */
62
+ zoomOut() {
63
+ let zoom = this.zoom;
64
+ if (zoom == 3)
65
+ return;
66
+ zoom--;
67
+ this.zoom = zoom;
68
+ }
69
+ /**右旋转 */
70
+ RotateRight() {
71
+ if (this.rotate == 360)
72
+ return (this.rotate = 0);
73
+ this.rotate += 90;
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ImagePreviewComponent, deps: [{ token: i1.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: ImagePreviewComponent, isStandalone: true, selector: "app-image-preview", inputs: { src: "src", preview: "preview", width: "width", height: "height", rounded: "rounded", id: "id" }, outputs: { deleteChange: "deleteChange", checkChange: "checkChange" }, ngImport: i0, template: `
77
+ <div
78
+ [id]="id"
79
+ *ngIf="_src"
80
+ class="image-preview imagehove border position-relative m-1 overflow-hidden "
81
+ [style]="{'width': width+'px','height': height+'px',borderRadius:rounded}" [ngClass]="{'rounded-4': !rounded}"
82
+ >
83
+ <img [src]="_src" alt="" class="w-100 h-100 object-fit-cover" />
84
+ <input
85
+ type="checkbox"
86
+ class="form-check-input position-absolute top-0 end-0 m-1"
87
+ *ngIf="checkChange.observed"
88
+ (change)="checkImage($event)"
89
+ style="z-index: 10;"
90
+ />
91
+ <div
92
+ class="w-100 h-100 text-white position-absolute top-0 start-0"
93
+ style="background-color: #00000050;"
94
+ *ngIf="preview || deleteChange.observed"
95
+ >
96
+ <i
97
+ type="button"
98
+ class="fa fa-eye p-2"
99
+ *ngIf="preview"
100
+ (click.stop)="OpenPreviewImage(content)"
101
+ ></i>
102
+ <i
103
+ type="button"
104
+ class="fa fa-times p-2"
105
+ *ngIf="deleteChange.observed"
106
+ (click.stop)="deletecoverPics()"
107
+ ></i>
108
+ </div>
109
+ </div>
110
+
111
+ <ng-template #content let-modal>
112
+ <div class="modal-header">
113
+ <div class="d-flex justify-content-end w-100 fs-3 text-white">
114
+ <i
115
+ class="mx-2 fa fa fa-repeat"
116
+ aria-hidden="true"
117
+ title="右旋转"
118
+ role="button"
119
+ (click)="RotateRight()"
120
+ ></i>
121
+ <i
122
+ class="mx-2 fa fa-search-minus"
123
+ aria-hidden="true"
124
+ title="缩小"
125
+ role="button"
126
+ (click)="zoomOut()"
127
+ ></i>
128
+ <i
129
+ class="mx-2 fa fa-search-plus"
130
+ aria-hidden="true"
131
+ title="放大"
132
+ role="button"
133
+ (click)="zoomIn()"
134
+ ></i>
135
+ <i
136
+ class="mx-2 fa fa-times"
137
+ aria-hidden="true"
138
+ role="button"
139
+ (click)="modal.dismiss('Cross click')"
140
+ ></i>
141
+ </div>
142
+ </div>
143
+ <div class="modal-body d-flex justify-content-center align-items-center ">
144
+ <img
145
+ width="400"
146
+ class="modal-body-preview"
147
+ [src]="_src"
148
+ [style.transform]="'scale(' + zoom / 10 + ') rotate(' + rotate + 'deg)'"
149
+ />
150
+ </div>
151
+ </ng-template>
152
+ `, isInline: true, styles: [".image-preview.imagehove>div{display:none}.image-preview.imagehove:hover div{display:flex;align-items:center;justify-content:center}::ng-deep .dignite-preview .modal-content{background-color:transparent!important}.object-fit-cover{object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: PageModule }] }); }
153
+ }
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ImagePreviewComponent, decorators: [{
155
+ type: Component,
156
+ args: [{ selector: 'app-image-preview', template: `
157
+ <div
158
+ [id]="id"
159
+ *ngIf="_src"
160
+ class="image-preview imagehove border position-relative m-1 overflow-hidden "
161
+ [style]="{'width': width+'px','height': height+'px',borderRadius:rounded}" [ngClass]="{'rounded-4': !rounded}"
162
+ >
163
+ <img [src]="_src" alt="" class="w-100 h-100 object-fit-cover" />
164
+ <input
165
+ type="checkbox"
166
+ class="form-check-input position-absolute top-0 end-0 m-1"
167
+ *ngIf="checkChange.observed"
168
+ (change)="checkImage($event)"
169
+ style="z-index: 10;"
170
+ />
171
+ <div
172
+ class="w-100 h-100 text-white position-absolute top-0 start-0"
173
+ style="background-color: #00000050;"
174
+ *ngIf="preview || deleteChange.observed"
175
+ >
176
+ <i
177
+ type="button"
178
+ class="fa fa-eye p-2"
179
+ *ngIf="preview"
180
+ (click.stop)="OpenPreviewImage(content)"
181
+ ></i>
182
+ <i
183
+ type="button"
184
+ class="fa fa-times p-2"
185
+ *ngIf="deleteChange.observed"
186
+ (click.stop)="deletecoverPics()"
187
+ ></i>
188
+ </div>
189
+ </div>
190
+
191
+ <ng-template #content let-modal>
192
+ <div class="modal-header">
193
+ <div class="d-flex justify-content-end w-100 fs-3 text-white">
194
+ <i
195
+ class="mx-2 fa fa fa-repeat"
196
+ aria-hidden="true"
197
+ title="右旋转"
198
+ role="button"
199
+ (click)="RotateRight()"
200
+ ></i>
201
+ <i
202
+ class="mx-2 fa fa-search-minus"
203
+ aria-hidden="true"
204
+ title="缩小"
205
+ role="button"
206
+ (click)="zoomOut()"
207
+ ></i>
208
+ <i
209
+ class="mx-2 fa fa-search-plus"
210
+ aria-hidden="true"
211
+ title="放大"
212
+ role="button"
213
+ (click)="zoomIn()"
214
+ ></i>
215
+ <i
216
+ class="mx-2 fa fa-times"
217
+ aria-hidden="true"
218
+ role="button"
219
+ (click)="modal.dismiss('Cross click')"
220
+ ></i>
221
+ </div>
222
+ </div>
223
+ <div class="modal-body d-flex justify-content-center align-items-center ">
224
+ <img
225
+ width="400"
226
+ class="modal-body-preview"
227
+ [src]="_src"
228
+ [style.transform]="'scale(' + zoom / 10 + ') rotate(' + rotate + 'deg)'"
229
+ />
230
+ </div>
231
+ </ng-template>
232
+ `, standalone: true, imports: [CoreModule, ThemeSharedModule, CommonModule, PageModule], styles: [".image-preview.imagehove>div{display:none}.image-preview.imagehove:hover div{display:flex;align-items:center;justify-content:center}::ng-deep .dignite-preview .modal-content{background-color:transparent!important}.object-fit-cover{object-fit:cover}\n"] }]
233
+ }], ctorParameters: () => [{ type: i1.NgbModal }], propDecorators: { src: [{
234
+ type: Input
235
+ }], preview: [{
236
+ type: Input
237
+ }], width: [{
238
+ type: Input
239
+ }], height: [{
240
+ type: Input
241
+ }], rounded: [{
242
+ type: Input
243
+ }], id: [{
244
+ type: Input
245
+ }], deleteChange: [{
246
+ type: Output
247
+ }], checkChange: [{
248
+ type: Output
249
+ }] } });
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvZXhwYW5kL2ltYWdlLXByZXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUF5RzVGLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsSUFDVyxHQUFHLENBQUMsQ0FBTTtRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBb0JELFlBQ1UsWUFBcUI7UUFBckIsaUJBQVksR0FBWixZQUFZLENBQVM7UUExQi9CLFVBQVU7UUFDVixTQUFJLEdBQVEsRUFBRSxDQUFDO1FBTWYsVUFBVTtRQUNELFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFeEIsT0FBTztRQUNFLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDcEIsT0FBTztRQUNFLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUtqQixVQUFVO1FBQ1YsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixRQUFRO1FBQ1IsV0FBTSxHQUFXLENBQUMsQ0FBQztRQU9uQiwyQ0FBMkM7UUFFakMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUwzQyxDQUFDO0lBT0QsdUJBQXVCO0lBQ3ZCLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFVBQVU7SUFDVixlQUFlO1FBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWTtJQUNaLGdCQUFnQixDQUFDLE9BQXlCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzlDLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGdCQUFnQixFQUFFLGlCQUFpQjtTQUNwQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3ZCLE1BQU0sQ0FBQyxFQUFFLEdBQUUsQ0FBQyxFQUNaLE1BQU0sQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBQ0QsVUFBVTtJQUNWLE1BQU07UUFDSixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JCLElBQUksSUFBSSxJQUFJLEVBQUU7WUFBRSxPQUFPO1FBQ3ZCLElBQUksRUFBRSxDQUFDO1FBQ1AsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFVBQVU7SUFDVixPQUFPO1FBQ0wsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNyQixJQUFJLElBQUksSUFBSSxDQUFDO1lBQUUsT0FBTztRQUN0QixJQUFJLEVBQUUsQ0FBQztRQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTO0lBQ1QsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxHQUFHO1lBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs4R0FoRlUscUJBQXFCO2tHQUFyQixxQkFBcUIsZ1FBcEd0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRFVCxtVUFzQlMsVUFBVSw2VUFBRSxpQkFBaUIsOEJBQUUsWUFBWSw4QkFBRSxVQUFVOzsyRkFFdEQscUJBQXFCO2tCQXRHakMsU0FBUzsrQkFDRSxtQkFBbUIsWUFDbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RVQsY0FxQlcsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxVQUFVLENBQUM7NkVBTXZELEdBQUc7c0JBRGIsS0FBSztnQkFNRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQWtCSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXHJcbmltcG9ydCB7IFBhZ2VNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvbXBvbmVudHMvcGFnZSc7XHJcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYk1vZGFsUmVmIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW1hZ2UtcHJldmlldycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXZcclxuICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgKm5nSWY9XCJfc3JjXCJcclxuICAgICAgY2xhc3M9XCJpbWFnZS1wcmV2aWV3IGltYWdlaG92ZSBib3JkZXIgIHBvc2l0aW9uLXJlbGF0aXZlICBtLTEgb3ZlcmZsb3ctaGlkZGVuIFwiXHJcbiAgICAgIFtzdHlsZV09XCJ7J3dpZHRoJzogd2lkdGgrJ3B4JywnaGVpZ2h0JzogaGVpZ2h0KydweCcsYm9yZGVyUmFkaXVzOnJvdW5kZWR9XCIgW25nQ2xhc3NdPVwieydyb3VuZGVkLTQnOiAhcm91bmRlZH1cIlxyXG4gICAgPlxyXG4gICAgICA8aW1nIFtzcmNdPVwiX3NyY1wiIGFsdD1cIlwiIGNsYXNzPVwidy0xMDAgaC0xMDAgb2JqZWN0LWZpdC1jb3ZlclwiIC8+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0ICBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtMCBlbmQtMCAgbS0xXCJcclxuICAgICAgICAqbmdJZj1cImNoZWNrQ2hhbmdlLm9ic2VydmVkXCJcclxuICAgICAgICAoY2hhbmdlKT1cImNoZWNrSW1hZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgc3R5bGU9XCJ6LWluZGV4OiAxMDtcIlxyXG4gICAgICAvPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ3LTEwMCBoLTEwMCAgdGV4dC13aGl0ZSBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtMCBzdGFydC0wXCJcclxuICAgICAgICBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA1MDtcIlxyXG4gICAgICAgICpuZ0lmPVwicHJldmlldyB8fCBkZWxldGVDaGFuZ2Uub2JzZXJ2ZWRcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGlcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJmYSBmYS1leWUgIHAtMlwiXHJcbiAgICAgICAgICAqbmdJZj1cInByZXZpZXdcIlxyXG4gICAgICAgICAgKGNsaWNrLnN0b3ApPVwiT3BlblByZXZpZXdJbWFnZShjb250ZW50KVwiXHJcbiAgICAgICAgPjwvaT5cclxuICAgICAgICA8aVxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImZhIGZhLXRpbWVzIHAtMlwiXHJcbiAgICAgICAgICAqbmdJZj1cImRlbGV0ZUNoYW5nZS5vYnNlcnZlZFwiXHJcbiAgICAgICAgICAoY2xpY2suc3RvcCk9XCJkZWxldGVjb3ZlclBpY3MoKVwiXHJcbiAgICAgICAgPjwvaT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnQgbGV0LW1vZGFsPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIHctMTAwIGZzLTMgdGV4dC13aGl0ZVwiPlxyXG4gICAgICAgICAgPGlcclxuICAgICAgICAgICAgY2xhc3M9XCJteC0yIGZhICBmYSBmYS1yZXBlYXRcIlxyXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICB0aXRsZT1cIuWPs+aXi+i9rFwiXHJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiUm90YXRlUmlnaHQoKVwiXHJcbiAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgPGlcclxuICAgICAgICAgICAgY2xhc3M9XCJteC0yIGZhICBmYS1zZWFyY2gtbWludXNcIlxyXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICB0aXRsZT1cIue8qeWwj1wiXHJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiem9vbU91dCgpXCJcclxuICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICA8aVxyXG4gICAgICAgICAgICBjbGFzcz1cIm14LTIgZmEgIGZhLXNlYXJjaC1wbHVzXCJcclxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgdGl0bGU9XCLmlL7lpKdcIlxyXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInpvb21JbigpXCJcclxuICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICA8aVxyXG4gICAgICAgICAgICBjbGFzcz1cIm14LTIgZmEgIGZhLXRpbWVzXCJcclxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKCdDcm9zcyBjbGljaycpXCJcclxuICAgICAgICAgID48L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgXCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgd2lkdGg9XCI0MDBcIlxyXG4gICAgICAgICAgY2xhc3M9XCJtb2RhbC1ib2R5LXByZXZpZXdcIlxyXG4gICAgICAgICAgW3NyY109XCJfc3JjXCJcclxuICAgICAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiJ3NjYWxlKCcgKyB6b29tIC8gMTAgKyAnKSByb3RhdGUoJyArIHJvdGF0ZSArICdkZWcpJ1wiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgXHJcbiAgICAgIC5pbWFnZS1wcmV2aWV3LmltYWdlaG92ZSA+IGRpdiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmltYWdlLXByZXZpZXcuaW1hZ2Vob3ZlOmhvdmVyIGRpdiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA6Om5nLWRlZXAuZGlnbml0ZS1wcmV2aWV3IC5tb2RhbC1jb250ZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIC5vYmplY3QtZml0LWNvdmVye1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICB9XHJcbiAgICBgLFxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgVGhlbWVTaGFyZWRNb2R1bGUsIENvbW1vbk1vZHVsZSwgUGFnZU1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZVByZXZpZXdDb21wb25lbnQge1xyXG4gIC8qKuWbvueJh+mTvuaOpSAqL1xyXG4gIF9zcmM6IGFueSA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBzcmModjogYW55KSB7XHJcbiAgICB0aGlzLl9zcmMgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoq5piv5ZCm6aKE6KeIICovXHJcbiAgQElucHV0KCkgcHJldmlldyA9IHRydWU7XHJcblxyXG4gIC8qKuWuvSAqL1xyXG4gIEBJbnB1dCgpIHdpZHRoID0gOTA7XHJcbiAgLyoq6auYICovXHJcbiAgQElucHV0KCkgaGVpZ2h0ID0gOTA7XHJcbiAgQElucHV0KCkgcm91bmRlZCA9ICcnO1xyXG4gIEBJbnB1dCgpIGlkID0gJyc7XHJcblxyXG4gIC8qKuaooeaAgeahhuWunuS+iyAqL1xyXG4gIG1vZGFsUmVmITogTmdiTW9kYWxSZWY7XHJcblxyXG4gIC8qKuaUvuWkp+WAjeaVsCAqL1xyXG4gIHpvb206IG51bWJlciA9IDEwO1xyXG5cclxuICAvKirml4vovawgKi9cclxuICByb3RhdGU6IG51bWJlciA9IDA7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTpOZ2JNb2RhbFxyXG4gICl7XHJcblxyXG4gIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBtb2RhbFNlcnZpY2UgPSBpbmplY3QoTmdiTW9kYWwpO1xyXG5cclxuICBAT3V0cHV0KCkgZGVsZXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjaGVja0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLyoq6YCJ5oup5Zu+54mH55qE5LqL5Lu277yM6L+U5Zue54i257uE5Lu25piv5ZCm6YCJ5LitICovXHJcbiAgY2hlY2tJbWFnZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNoZWNrQ2hhbmdlLmVtaXQoZXZlbnQudGFyZ2V0LmNoZWNrZWQpO1xyXG4gIH1cclxuXHJcbiAgLyoq5Yig6Zmk5Zu+54mHICovXHJcbiAgZGVsZXRlY292ZXJQaWNzKCkge1xyXG4gICAgdGhpcy5kZWxldGVDaGFuZ2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLyoq5omT5byA6aKE6KeI5by556qXICovXHJcbiAgT3BlblByZXZpZXdJbWFnZShjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICB0aGlzLm1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihjb250ZW50LCB7XHJcbiAgICAgIGZ1bGxzY3JlZW46IHRydWUsXHJcbiAgICAgIG1vZGFsRGlhbG9nQ2xhc3M6ICdkaWduaXRlLXByZXZpZXcnLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm1vZGFsUmVmLnJlc3VsdC50aGVuKFxyXG4gICAgICByZXN1bHQgPT4ge30sXHJcbiAgICAgIHJlYXNvbiA9PiB7XHJcbiAgICAgICAgdGhpcy56b29tID0gMTA7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG4gIC8qKuaUvuWkp+WbvuWDjyAqL1xyXG4gIHpvb21JbigpIHtcclxuICAgIGxldCB6b29tID0gdGhpcy56b29tO1xyXG4gICAgaWYgKHpvb20gPT0gMjApIHJldHVybjtcclxuICAgIHpvb20rKztcclxuICAgIHRoaXMuem9vbSA9IHpvb207XHJcbiAgfVxyXG5cclxuICAvKirnvKnlsI/lm77lg48gKi9cclxuICB6b29tT3V0KCkge1xyXG4gICAgbGV0IHpvb20gPSB0aGlzLnpvb207XHJcbiAgICBpZiAoem9vbSA9PSAzKSByZXR1cm47XHJcbiAgICB6b29tLS07XHJcbiAgICB0aGlzLnpvb20gPSB6b29tO1xyXG4gIH1cclxuXHJcbiAgLyoq5Y+z5peL6L2sICovXHJcbiAgUm90YXRlUmlnaHQoKSB7XHJcbiAgICBpZiAodGhpcy5yb3RhdGUgPT0gMzYwKSByZXR1cm4gKHRoaXMucm90YXRlID0gMCk7XHJcbiAgICB0aGlzLnJvdGF0ZSArPSA5MDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './image-preview.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvZXhwYW5kL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ltYWdlLXByZXZpZXcuY29tcG9uZW50JyJdfQ==
@@ -0,0 +1,53 @@
1
+ import { EnvironmentService } from '@abp/ng.core';
2
+ import { inject, Pipe } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ /**获取当前窗口域名
5
+ * 需要将environment.ts页面配置
6
+ application: {
7
+ baseUrl,
8
+ name: 'Travely',
9
+ webUrl:'https://localhost:44374',
10
+ },
11
+ *
12
+ */
13
+ export class GetNowDomainPipe {
14
+ constructor() {
15
+ this.environment = inject(EnvironmentService);
16
+ }
17
+ transform(value, ...args) {
18
+ let production = this.environment.getEnvironment()?.production;
19
+ let application = this.environment.getEnvironment()?.application;
20
+ let webUrl = application?.webUrl;
21
+ if (!production)
22
+ return webUrl + value;
23
+ return this.get(value);
24
+ }
25
+ /**获取当前域名并重定向链接 */
26
+ get(value) {
27
+ const baseUrl = (function () {
28
+ let extractDomain = (url) => {
29
+ const regex = /^(https?:\/\/)?([^\/]+)(?:[\/?].*)?$/;
30
+ const match = url.match(regex);
31
+ if (match) {
32
+ const protocol = match[1] || '';
33
+ const domain = `${protocol}${match[2]}`;
34
+ return `${domain}`;
35
+ }
36
+ return url;
37
+ };
38
+ let url = window.location.href;
39
+ return `${extractDomain(url)}` + value;
40
+ })();
41
+ return baseUrl;
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: GetNowDomainPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
44
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: GetNowDomainPipe, isStandalone: true, name: "getNowDomain" }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: GetNowDomainPipe, decorators: [{
47
+ type: Pipe,
48
+ args: [{
49
+ name: 'getNowDomain',
50
+ standalone: true
51
+ }]
52
+ }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vdy1kb21haW4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9waXBlcy9nZXQtbm93LWRvbWFpbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBQzVEOzs7Ozs7OztHQVFHO0FBS0gsTUFBTSxPQUFPLGdCQUFnQjtJQUo3QjtRQUtVLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0E2QmxEO0lBM0JDLFNBQVMsQ0FBQyxLQUFjLEVBQUUsR0FBRyxJQUFlO1FBQzFDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEVBQUUsVUFBVSxDQUFDO1FBQy9ELElBQUksV0FBVyxHQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEVBQUUsV0FBVyxDQUFDO1FBQ25FLElBQUksTUFBTSxHQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDdEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsR0FBRyxDQUFDLEtBQUs7UUFDUCxNQUFNLE9BQU8sR0FBUSxDQUFDO1lBQ3BCLElBQUksYUFBYSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzFCLE1BQU0sS0FBSyxHQUFHLHNDQUFzQyxDQUFDO2dCQUNyRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQixJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNWLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2hDLE1BQU0sTUFBTSxHQUFHLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUN4QyxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUM7Z0JBQ3JCLENBQUM7Z0JBQ0QsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLENBQUE7WUFDRCxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUMvQixPQUFPLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFBO1FBQ3hDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDSixPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDOzhHQTVCVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8qKuiOt+WPluW9k+WJjeeql+WPo+Wfn+WQjVxyXG4gKiDpnIDopoHlsIZlbnZpcm9ubWVudC50c+mhtemdoumFjee9rlxyXG4gIGFwcGxpY2F0aW9uOiB7XHJcbiAgICAgIGJhc2VVcmwsXHJcbiAgICAgIG5hbWU6ICdUcmF2ZWx5JyxcclxuICAgICAgd2ViVXJsOidodHRwczovL2xvY2FsaG9zdDo0NDM3NCcsXHJcbiAgICB9LFxyXG4gKlxyXG4gKi9cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdnZXROb3dEb21haW4nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEdldE5vd0RvbWFpblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBwcml2YXRlIGVudmlyb25tZW50ID0gaW5qZWN0KEVudmlyb25tZW50U2VydmljZSk7XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogdW5rbm93biwgLi4uYXJnczogdW5rbm93bltdKTogdW5rbm93biB7XHJcbiAgICBsZXQgcHJvZHVjdGlvbiA9IHRoaXMuZW52aXJvbm1lbnQuZ2V0RW52aXJvbm1lbnQoKT8ucHJvZHVjdGlvbjtcclxuICAgIGxldCBhcHBsaWNhdGlvbjphbnk9dGhpcy5lbnZpcm9ubWVudC5nZXRFbnZpcm9ubWVudCgpPy5hcHBsaWNhdGlvbjtcclxuICAgIGxldCB3ZWJVcmw9YXBwbGljYXRpb24/LndlYlVybDtcclxuICAgIGlmICghcHJvZHVjdGlvbikgcmV0dXJuIHdlYlVybCArIHZhbHVlXHJcbiAgICByZXR1cm4gdGhpcy5nZXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoq6I635Y+W5b2T5YmN5Z+f5ZCN5bm26YeN5a6a5ZCR6ZO+5o6lICovXHJcbiAgZ2V0KHZhbHVlKSB7XHJcbiAgICBjb25zdCBiYXNlVXJsOiBhbnkgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgICBsZXQgZXh0cmFjdERvbWFpbiA9ICh1cmwpID0+IHtcclxuICAgICAgICBjb25zdCByZWdleCA9IC9eKGh0dHBzPzpcXC9cXC8pPyhbXlxcL10rKSg/OltcXC8/XS4qKT8kLztcclxuICAgICAgICBjb25zdCBtYXRjaCA9IHVybC5tYXRjaChyZWdleCk7XHJcbiAgICAgICAgaWYgKG1hdGNoKSB7XHJcbiAgICAgICAgICBjb25zdCBwcm90b2NvbCA9IG1hdGNoWzFdIHx8ICcnO1xyXG4gICAgICAgICAgY29uc3QgZG9tYWluID0gYCR7cHJvdG9jb2x9JHttYXRjaFsyXX1gO1xyXG4gICAgICAgICAgcmV0dXJuIGAke2RvbWFpbn1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdXJsO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgICAgcmV0dXJuIGAke2V4dHJhY3REb21haW4odXJsKX1gICsgdmFsdWVcclxuICAgIH0pKClcclxuICAgIHJldHVybiBiYXNlVXJsXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,27 @@
1
+ //pipe下新建:get-tenant-img.pipe.ts,
2
+ //如何引用见:独立管道的使用
3
+ import { ConfigStateService, EnvironmentService } from '@abp/ng.core';
4
+ import { inject, Pipe } from '@angular/core';
5
+ import * as i0 from "@angular/core";
6
+ export class GetTenantImgPipe {
7
+ constructor() {
8
+ this.configState = inject(ConfigStateService);
9
+ this.environment = inject(EnvironmentService);
10
+ }
11
+ transform(value, ...args) {
12
+ let tenantId = this.configState.getDeep('currentUser.tenantId');
13
+ const environment = this.environment.getEnvironment();
14
+ let imgUrl = `${environment.apis.default.url}/api/file-explorer/files/${args}/${value}?__tenant=${tenantId}`;
15
+ return value ? imgUrl : '';
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: GetTenantImgPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
18
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: GetTenantImgPipe, isStandalone: true, name: "getTenantImg" }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: GetTenantImgPipe, decorators: [{
21
+ type: Pipe,
22
+ args: [{
23
+ name: 'getTenantImg',
24
+ standalone: true,
25
+ }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbmFudC1pbWcucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9waXBlcy9nZXQtdGVuYW50LWltZy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxlQUFlO0FBRWYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLGdCQUFnQjtJQUo3QjtRQUtVLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFDeEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtLQU9qRDtJQU5DLFNBQVMsQ0FBQyxLQUFjLEVBQUUsR0FBRyxJQUFlO1FBQzFDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFDL0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0RCxJQUFJLE1BQU0sR0FBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsNEJBQTRCLElBQUksSUFBSSxLQUFLLGFBQWEsUUFBUSxFQUFFLENBQUE7UUFDM0csT0FBTyxLQUFLLENBQUEsQ0FBQyxDQUFBLE1BQU0sQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBUlUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFVBQVUsRUFBQyxJQUFJO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbIi8vcGlwZeS4i+aWsOW7uu+8mmdldC10ZW5hbnQtaW1nLnBpcGUudHPvvIxcclxuLy/lpoLkvZXlvJXnlKjop4HvvJrni6znq4vnrqHpgZPnmoTkvb/nlKhcclxuXHJcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSwgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2dldFRlbmFudEltZycsXHJcbiAgc3RhbmRhbG9uZTp0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2V0VGVuYW50SW1nUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHByaXZhdGUgY29uZmlnU3RhdGUgPSBpbmplY3QoQ29uZmlnU3RhdGVTZXJ2aWNlKVxyXG4gIHByaXZhdGUgZW52aXJvbm1lbnQgPSBpbmplY3QoRW52aXJvbm1lbnRTZXJ2aWNlKVxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogdW5rbm93biwgLi4uYXJnczogdW5rbm93bltdKTogdW5rbm93biB7XHJcbiAgICBsZXQgdGVuYW50SWQgPSB0aGlzLmNvbmZpZ1N0YXRlLmdldERlZXAoJ2N1cnJlbnRVc2VyLnRlbmFudElkJylcclxuICAgIGNvbnN0IGVudmlyb25tZW50ID0gdGhpcy5lbnZpcm9ubWVudC5nZXRFbnZpcm9ubWVudCgpO1xyXG4gICAgbGV0IGltZ1VybCA9YCR7ZW52aXJvbm1lbnQuYXBpcy5kZWZhdWx0LnVybH0vYXBpL2ZpbGUtZXhwbG9yZXIvZmlsZXMvJHthcmdzfS8ke3ZhbHVlfT9fX3RlbmFudD0ke3RlbmFudElkfWBcclxuICAgIHJldHVybiB2YWx1ZT9pbWdVcmw6Jyc7XHJcbiAgfVxyXG59XHJcbi8v5L2/55SoXHJcbi8vIHt7J2FnZW50QXZhdGFyQmxvYk5hbWUnfGdldFRlbmFudEltZzonQXZhdGFyJ319XHJcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './get-now-domain.pipe';
2
+ export * from './get-tenant-img.pipe';
3
+ export * from './slug-normalizer.pipe';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1ub3ctZG9tYWluLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2dldC10ZW5hbnQtaW1nLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NsdWctbm9ybWFsaXplci5waXBlJztcclxuIl19
@@ -0,0 +1,39 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SlugNormalizerPipe {
4
+ transform(value, ...args) {
5
+ return this.normalize(value);
6
+ }
7
+ normalize(value) {
8
+ // Convert to lowercase
9
+ value = value.toLowerCase();
10
+ // Replace special characters with hyphen
11
+ const invalidChars = ['\\', '/', '?', '&', '=', '+', '%', '#', '@', '!', '$', '\'', '"', ':', ';', '>', '<', '*', '(', ')', '[', '],', '{', '}', '|', '^', '`', '~'];
12
+ for (let c of invalidChars) {
13
+ value = value.replaceAll(c, '-');
14
+ }
15
+ // Convert spaces to hyphens
16
+ value = value.replaceAll(" ", "-");
17
+ // Remove multiple consecutive hyphens
18
+ while (value.includes("--")) {
19
+ value = value.replaceAll("--", "-");
20
+ }
21
+ // Trim hyphens from start and end
22
+ value = value.trim('-');
23
+ // URL encode the remaining string (handles UTF-8 characters)
24
+ //部分编码-保留语义
25
+ //return encodeURI(value);
26
+ //全部编码
27
+ return encodeURIComponent(value);
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SlugNormalizerPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
30
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: SlugNormalizerPipe, isStandalone: true, name: "slugNormalizer" }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SlugNormalizerPipe, decorators: [{
33
+ type: Pipe,
34
+ args: [{
35
+ name: 'slugNormalizer',
36
+ standalone: true
37
+ }]
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2x1Zy1ub3JtYWxpemVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGlwZXMvc2x1Zy1ub3JtYWxpemVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsU0FBUyxDQUFDLEtBQWMsRUFBRSxHQUFHLElBQWU7UUFDMUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBSztRQUNiLHVCQUF1QjtRQUN2QixLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVCLHlDQUF5QztRQUN6QyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JLLEtBQUssSUFBSSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCw0QkFBNEI7UUFDNUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRW5DLHNDQUFzQztRQUN0QyxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELGtDQUFrQztRQUNsQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4Qiw2REFBNkQ7UUFDN0QsV0FBVztRQUNYLDBCQUEwQjtRQUMxQixNQUFNO1FBQ04sT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzhHQTlCVSxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NsdWdOb3JtYWxpemVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbHVnTm9ybWFsaXplclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCAuLi5hcmdzOiB1bmtub3duW10pOiB1bmtub3duIHtcclxuICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBub3JtYWxpemUodmFsdWUpIHtcclxuICAgIC8vIENvbnZlcnQgdG8gbG93ZXJjYXNlXHJcbiAgICB2YWx1ZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAvLyBSZXBsYWNlIHNwZWNpYWwgY2hhcmFjdGVycyB3aXRoIGh5cGhlblxyXG4gICAgY29uc3QgaW52YWxpZENoYXJzID0gWydcXFxcJywgJy8nLCAnPycsICcmJywgJz0nLCAnKycsICclJywgJyMnLCAnQCcsICchJywgJyQnLCAnXFwnJywgJ1wiJywgJzonLCAnOycsICc+JywgJzwnLCAnKicsICcoJywgJyknLCAnWycsICddLCcsICd7JywgJ30nLCAnfCcsICdeJywgJ2AnLCAnfiddO1xyXG4gICAgZm9yIChsZXQgYyBvZiBpbnZhbGlkQ2hhcnMpIHtcclxuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlQWxsKGMsICctJyk7XHJcbiAgICB9XHJcbiAgICAvLyBDb252ZXJ0IHNwYWNlcyB0byBoeXBoZW5zXHJcbiAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2VBbGwoXCIgXCIsIFwiLVwiKTtcclxuXHJcbiAgICAvLyBSZW1vdmUgbXVsdGlwbGUgY29uc2VjdXRpdmUgaHlwaGVuc1xyXG4gICAgd2hpbGUgKHZhbHVlLmluY2x1ZGVzKFwiLS1cIikpIHtcclxuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlQWxsKFwiLS1cIiwgXCItXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRyaW0gaHlwaGVucyBmcm9tIHN0YXJ0IGFuZCBlbmRcclxuICAgIHZhbHVlID0gdmFsdWUudHJpbSgnLScpO1xyXG4gICAgXHJcbiAgICAvLyBVUkwgZW5jb2RlIHRoZSByZW1haW5pbmcgc3RyaW5nIChoYW5kbGVzIFVURi04IGNoYXJhY3RlcnMpXHJcbiAgICAvL+mDqOWIhue8lueggS3kv53nlZnor63kuYlcclxuICAgIC8vcmV0dXJuIGVuY29kZVVSSSh2YWx1ZSk7XHJcbiAgICAvL+WFqOmDqOe8lueggVxyXG4gICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './appent-content.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwZW50LWNvbnRlbnQuc2VydmljZSciXX0=
1
+ export * from './update-list.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLWxpc3Quc2VydmljZSc7XHJcbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { EventEmitter, Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * 子页面更新父级列表服务
6
+ *
7
+ * 父页面:
8
+ *
9
+ private _UpdateListService=inject(UpdateListService)
10
+
11
+ this._UpdateListService.updateListEvent.subscribe(() => {
12
+ this.list.get()
13
+ });
14
+ *
15
+ * 子页面:
16
+ *
17
+ private _UpdateListService=inject(UpdateListService)
18
+ this._UpdateListService.updateList();
19
+ */
20
+ export class UpdateListService {
21
+ constructor() {
22
+ this.updateListEvent = new EventEmitter();
23
+ /**
24
+ * 使用发起数据
25
+ * this.dataSubject.next(res);
26
+ *
27
+ * 接收数据产生回调
28
+ this._UpdateLogoService.userInfo$.subscribe((res) => {
29
+ this.getData();
30
+ });
31
+ */
32
+ this.dataSubject = new BehaviorSubject(null);
33
+ this.data$ = this.dataSubject.asObservable();
34
+ }
35
+ updateList() {
36
+ this.updateListEvent.emit();
37
+ }
38
+ updatedata(newdata) {
39
+ this.dataSubject.next(newdata);
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UpdateListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UpdateListService, providedIn: 'root' }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UpdateListService, decorators: [{
45
+ type: Injectable,
46
+ args: [{
47
+ providedIn: 'root',
48
+ }]
49
+ }], ctorParameters: () => [] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWxpc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy91cGRhdGUtbGlzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBQ3ZDOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFHNUI7UUFGTyxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBUS9EOzs7Ozs7OztXQVFHO1FBRUssZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUNyRCxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQWpCekIsQ0FBQztJQUVoQixVQUFVO1FBQ1IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBY0QsVUFBVSxDQUFDLE9BQVk7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQzs4R0F2QlUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuLyoqXHJcbiAqIOWtkOmhtemdouabtOaWsOeItue6p+WIl+ihqOacjeWKoVxyXG4gKiBcclxuICog54i26aG16Z2i77yaXHJcbiAqIFxyXG4gICAgcHJpdmF0ZSBfVXBkYXRlTGlzdFNlcnZpY2U9aW5qZWN0KFVwZGF0ZUxpc3RTZXJ2aWNlKVxyXG5cclxuICAgIHRoaXMuX1VwZGF0ZUxpc3RTZXJ2aWNlLnVwZGF0ZUxpc3RFdmVudC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmxpc3QuZ2V0KClcclxuICAgIH0pO1xyXG4gKiBcclxuICog5a2Q6aG16Z2i77yaXHJcbiAqIFxyXG4gICAgcHJpdmF0ZSBfVXBkYXRlTGlzdFNlcnZpY2U9aW5qZWN0KFVwZGF0ZUxpc3RTZXJ2aWNlKVxyXG4gICAgdGhpcy5fVXBkYXRlTGlzdFNlcnZpY2UudXBkYXRlTGlzdCgpO1xyXG4gKi9cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGRhdGVMaXN0U2VydmljZSB7XHJcbiAgcHVibGljIHVwZGF0ZUxpc3RFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgdXBkYXRlTGlzdCgpIHtcclxuICAgIHRoaXMudXBkYXRlTGlzdEV2ZW50LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOS9v+eUqOWPkei1t+aVsOaNrlxyXG4gICAqIHRoaXMuZGF0YVN1YmplY3QubmV4dChyZXMpO1xyXG4gICAqIFxyXG4gICAqIOaOpeaUtuaVsOaNruS6p+eUn+Wbnuiwg1xyXG4gICAgdGhpcy5fVXBkYXRlTG9nb1NlcnZpY2UudXNlckluZm8kLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfSk7XHJcbiAgICovXHJcblxyXG4gIHByaXZhdGUgZGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgZGF0YSQgPSB0aGlzLmRhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHVwZGF0ZWRhdGEobmV3ZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQobmV3ZGF0YSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './simple-reuse-strategy';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc3RyYXRlZ2llcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaW1wbGUtcmV1c2Utc3RyYXRlZ3knO1xyXG4iXX0=