imm-element-ui 1.4.1 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,32 @@
1
+ import { Injectable, signal } from '@angular/core';
2
+ import { debounceTime, filter, pairwise, Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class LoadingService {
5
+ constructor() {
6
+ this.loading = signal(false);
7
+ this.loading$ = new Subject();
8
+ this.loading$
9
+ .pipe(pairwise(), filter(([prev, curr]) => prev === true && curr === false), debounceTime(300))
10
+ .subscribe((loading) => {
11
+ this.loading.set(loading[1]);
12
+ });
13
+ this.loading$
14
+ .pipe(pairwise(), filter(([prev, curr]) => prev === false && curr === true))
15
+ .subscribe((loading) => {
16
+ this.loading.set(loading[1]);
17
+ });
18
+ }
19
+ setLoading(loading) {
20
+ this.loading$.next(loading);
21
+ }
22
+ getLoading() {
23
+ return this.loading();
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
26
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingService, providedIn: 'root' }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingService, decorators: [{
29
+ type: Injectable,
30
+ args: [{ providedIn: 'root' }]
31
+ }], ctorParameters: () => [] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9zZXJ2aWNlL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvRCxNQUFNLE9BQU8sY0FBYztJQUcxQjtRQUZBLFlBQU8sR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDakMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFakMsSUFBSSxDQUFDLFFBQVE7YUFDWCxJQUFJLENBQ0osUUFBUSxFQUFFLEVBQ1YsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUN6RCxZQUFZLENBQUMsR0FBRyxDQUFDLENBQ2pCO2FBQ0EsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUTthQUNaLElBQUksQ0FDSixRQUFRLEVBQUUsRUFDVixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLENBQ3pEO2FBQ0EsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWdCO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0E5QlcsY0FBYzttSEFBZCxjQUFjLGNBREQsTUFBTTs7NEZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgcGFpcndpc2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU2VydmljZSB7XG5cdGxvYWRpbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXHRsb2FkaW5nJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMubG9hZGluZyRcblx0XHRcdC5waXBlKFxuXHRcdFx0XHRwYWlyd2lzZSgpLFxuXHRcdFx0XHRmaWx0ZXIoKFtwcmV2LCBjdXJyXSkgPT4gcHJldiA9PT0gdHJ1ZSAmJiBjdXJyID09PSBmYWxzZSksXG5cdFx0XHRcdGRlYm91bmNlVGltZSgzMDApLFxuXHRcdFx0KVxuXHRcdFx0LnN1YnNjcmliZSgobG9hZGluZykgPT4ge1xuXHRcdFx0XHR0aGlzLmxvYWRpbmcuc2V0KGxvYWRpbmdbMV0pO1xuXHRcdFx0fSk7XG5cdFx0XHRcblx0XHRcdHRoaXMubG9hZGluZyRcblx0XHRcdC5waXBlKFxuXHRcdFx0XHRwYWlyd2lzZSgpLFxuXHRcdFx0XHRmaWx0ZXIoKFtwcmV2LCBjdXJyXSkgPT4gcHJldiA9PT0gZmFsc2UgJiYgY3VyciA9PT0gdHJ1ZSksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKChsb2FkaW5nKSA9PiB7XG5cdFx0XHRcdHRoaXMubG9hZGluZy5zZXQobG9hZGluZ1sxXSk7XG5cdFx0XHR9KTtcblx0fVxuXG5cdHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuXHRcdHRoaXMubG9hZGluZyQubmV4dChsb2FkaW5nKTtcblx0fVxuXG5cdGdldExvYWRpbmcoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubG9hZGluZygpO1xuXHR9XG59XG4iXX0=
@@ -17,11 +17,13 @@ export * from './lib/import/import.component';
17
17
  export * from './lib/log/log.component';
18
18
  export * from './lib/row-selector/row-selector.component';
19
19
  export * from './lib/share/utils';
20
+ export * from './lib/service/loading.service';
20
21
  export * from './lib/service/action.service';
21
22
  export * from './lib/service/i18n.service';
22
23
  export * from './lib/service/themeConfig.service';
23
24
  export * from './lib/page-form/page-form.component';
24
25
  export * from './lib/page-grid-list/page-grid-list.component';
26
+ export * from './lib/loading/loading.component';
25
27
  export * from './lib/steps/steps.component';
26
28
  export * from './lib/row-selector/row-selector.component';
27
29
  export * from './lib/search/search/search.component';
@@ -35,4 +37,4 @@ export * from './lib/row-selector/row-selector.component';
35
37
  export * from './lib/href-btn-list/href-btn-list.component';
36
38
  // export * from './styles/styles.d.ts'
37
39
  // export * from './lib/styles/styles.scss'
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyx1QkFBdUIsQ0FBQTtBQUVyQyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQTtBQUV6RCxjQUFjLGtDQUFrQyxDQUFBO0FBRWhELGNBQWMsZ0NBQWdDLENBQUE7QUFFOUMsY0FBYyw0QkFBNEIsQ0FBQTtBQUUxQyxjQUFjLHVCQUF1QixDQUFBO0FBRXJDLGNBQWMsb0NBQW9DLENBQUE7QUFFbEQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUVyRCxjQUFjLHNDQUFzQyxDQUFBO0FBRXBELGNBQWMsMkJBQTJCLENBQUE7QUFFekMsY0FBZSwrQkFBK0IsQ0FBQTtBQUU5QyxjQUFjLHlCQUF5QixDQUFBO0FBRXZDLGNBQWMsMkNBQTJDLENBQUE7QUFFekQsY0FBYyxtQkFBbUIsQ0FBQTtBQUVqQyxjQUFjLDhCQUE4QixDQUFBO0FBRTVDLGNBQWMsNEJBQTRCLENBQUE7QUFFMUMsY0FBYyxtQ0FBbUMsQ0FBQTtBQUVqRCxjQUFjLHFDQUFxQyxDQUFBO0FBRW5ELGNBQWMsK0NBQStDLENBQUE7QUFFN0QsY0FBYyw2QkFBNkIsQ0FBQTtBQUUzQyxjQUFjLDJDQUEyQyxDQUFBO0FBRXpELGNBQWMsc0NBQXNDLENBQUE7QUFFcEQsY0FBYyxxQ0FBcUMsQ0FBQTtBQUVuRCxjQUFjLG1DQUFtQyxDQUFBO0FBRWpELGNBQWMsMENBQTBDLENBQUE7QUFFeEQsY0FBYyx5QkFBeUIsQ0FBQTtBQUV2QyxjQUFjLCtCQUErQixDQUFBO0FBRTdDLGNBQWMsNkJBQTZCLENBQUE7QUFFM0MsY0FBYywyQ0FBMkMsQ0FBQTtBQUV6RCxjQUFjLDZDQUE2QyxDQUFBO0FBRTNELHVDQUF1QztBQUV2QywyQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYW0tZnJvbnQtdWlcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FtL2FtLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0vZm9ybS9mb3JtLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5pbnRlcmZhY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NydW1iLWFjdGlvbi9jcnVtYi1hY3Rpb24uY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZC9wYWdlci9wYWdlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkL2NlbGwtZWRpdC9pbmRleCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWQvZ3JpZC11dGlscydcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWQvY2VsbC1yZW5kZXIvbGluay1yZW5kZXInXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkL2NlbGwtcmVuZGVyL2FzeW5jLXJlbmRlcmVyJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZC9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZC9oZWFkLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gICcuL2xpYi9pbXBvcnQvaW1wb3J0LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvZy9sb2cuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcm93LXNlbGVjdG9yL3Jvdy1zZWxlY3Rvci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZS91dGlscydcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2kxOG4uc2VydmljZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvdGhlbWVDb25maWcuc2VydmljZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2UtZm9ybS9wYWdlLWZvcm0uY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZS1ncmlkLWxpc3QvcGFnZS1ncmlkLWxpc3QuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHMvc3RlcHMuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcm93LXNlbGVjdG9yL3Jvdy1zZWxlY3Rvci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlLWZvcm0vcGFnZS1mb3JtLmludGVyZmFjZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvdXNlckhpc3Rvcnkuc2VydmljZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RoZW1lLWNvbmZpZy90aGVtZS1jb25maWcuY29tcG9lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2cvbG9nLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltcG9ydC9pbXBvcnQuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHMvc3RlcHMuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcm93LXNlbGVjdG9yL3Jvdy1zZWxlY3Rvci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ocmVmLWJ0bi1saXN0L2hyZWYtYnRuLWxpc3QuY29tcG9uZW50J1xyXG5cclxuLy8gZXhwb3J0ICogZnJvbSAnLi9zdHlsZXMvc3R5bGVzLmQudHMnXHJcblxyXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9zdHlsZXMvc3R5bGVzLnNjc3MnIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyx1QkFBdUIsQ0FBQTtBQUVyQyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQTtBQUV6RCxjQUFjLGtDQUFrQyxDQUFBO0FBRWhELGNBQWMsZ0NBQWdDLENBQUE7QUFFOUMsY0FBYyw0QkFBNEIsQ0FBQTtBQUUxQyxjQUFjLHVCQUF1QixDQUFBO0FBRXJDLGNBQWMsb0NBQW9DLENBQUE7QUFFbEQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUVyRCxjQUFjLHNDQUFzQyxDQUFBO0FBRXBELGNBQWMsMkJBQTJCLENBQUE7QUFFekMsY0FBZSwrQkFBK0IsQ0FBQTtBQUU5QyxjQUFjLHlCQUF5QixDQUFBO0FBRXZDLGNBQWMsMkNBQTJDLENBQUE7QUFFekQsY0FBYyxtQkFBbUIsQ0FBQTtBQUVqQyxjQUFjLCtCQUErQixDQUFBO0FBRTdDLGNBQWMsOEJBQThCLENBQUE7QUFFNUMsY0FBYyw0QkFBNEIsQ0FBQTtBQUUxQyxjQUFjLG1DQUFtQyxDQUFBO0FBRWpELGNBQWMscUNBQXFDLENBQUE7QUFFbkQsY0FBYywrQ0FBK0MsQ0FBQTtBQUU3RCxjQUFjLGlDQUFpQyxDQUFBO0FBRS9DLGNBQWMsNkJBQTZCLENBQUE7QUFFM0MsY0FBYywyQ0FBMkMsQ0FBQTtBQUV6RCxjQUFjLHNDQUFzQyxDQUFBO0FBRXBELGNBQWMscUNBQXFDLENBQUE7QUFFbkQsY0FBYyxtQ0FBbUMsQ0FBQTtBQUVqRCxjQUFjLDBDQUEwQyxDQUFBO0FBRXhELGNBQWMseUJBQXlCLENBQUE7QUFFdkMsY0FBYywrQkFBK0IsQ0FBQTtBQUU3QyxjQUFjLDZCQUE2QixDQUFBO0FBRTNDLGNBQWMsMkNBQTJDLENBQUE7QUFFekQsY0FBYyw2Q0FBNkMsQ0FBQTtBQUUzRCx1Q0FBdUM7QUFFdkMsMkNBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbS1mcm9udC11aVxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbS9hbS5jb21wb25lbnQnXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0vZm9ybS9mb3JtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2UtZm9ybS9wYWdlLWZvcm0uaW50ZXJmYWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY3J1bWItYWN0aW9uL2NydW1iLWFjdGlvbi5jb21wb25lbnQnXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWQvcGFnZXIvcGFnZXIuY29tcG9uZW50J1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQnXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWQvY2VsbC1lZGl0L2luZGV4J1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkL2dyaWQtdXRpbHMnXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWQvY2VsbC1yZW5kZXIvbGluay1yZW5kZXInXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWQvY2VsbC1yZW5kZXIvYXN5bmMtcmVuZGVyZXInXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWQvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudCdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZC9oZWFkLmNvbXBvbmVudCdcblxuZXhwb3J0ICogZnJvbSAgJy4vbGliL2ltcG9ydC9pbXBvcnQuY29tcG9uZW50J1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2cvbG9nLmNvbXBvbmVudCdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcm93LXNlbGVjdG9yL3Jvdy1zZWxlY3Rvci5jb21wb25lbnQnXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlL3V0aWxzJ1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2xvYWRpbmcuc2VydmljZSdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9hY3Rpb24uc2VydmljZSdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9pMThuLnNlcnZpY2UnXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvdGhlbWVDb25maWcuc2VydmljZSdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5jb21wb25lbnQnXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2UtZ3JpZC1saXN0L3BhZ2UtZ3JpZC1saXN0LmNvbXBvbmVudCdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHMvc3RlcHMuY29tcG9uZW50J1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yb3ctc2VsZWN0b3Ivcm93LXNlbGVjdG9yLmNvbXBvbmVudCdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VhcmNoL3NlYXJjaC9zZWFyY2guY29tcG9uZW50J1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlLWZvcm0vcGFnZS1mb3JtLmludGVyZmFjZSdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS91c2VySGlzdG9yeS5zZXJ2aWNlJ1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aGVtZS1jb25maWcvdGhlbWUtY29uZmlnLmNvbXBvZW50J1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2cvbG9nLmNvbXBvbmVudCdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1wb3J0L2ltcG9ydC5jb21wb25lbnQnXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBzL3N0ZXBzLmNvbXBvbmVudCdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcm93LXNlbGVjdG9yL3Jvdy1zZWxlY3Rvci5jb21wb25lbnQnXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2hyZWYtYnRuLWxpc3QvaHJlZi1idG4tbGlzdC5jb21wb25lbnQnXG5cbi8vIGV4cG9ydCAqIGZyb20gJy4vc3R5bGVzL3N0eWxlcy5kLnRzJ1xuXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9zdHlsZXMvc3R5bGVzLnNjc3MnIl19
@@ -1,18 +1,18 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, inject, Component, Injectable, untracked, input, ViewContainerRef, Directive, ViewChild, HostListener, effect, ElementRef, PLATFORM_ID, computed, InjectionToken, Renderer2, output, NgZone, ChangeDetectorRef, EventEmitter, Output, model, ViewChildren, ContentChild, isDevMode, ViewEncapsulation } from '@angular/core';
2
+ import { signal, Injectable, inject, Component, untracked, input, ViewContainerRef, Directive, ViewChild, HostListener, effect, ElementRef, PLATFORM_ID, computed, InjectionToken, Renderer2, output, NgZone, ChangeDetectorRef, EventEmitter, Output, model, ViewChildren, ContentChild, isDevMode, ViewEncapsulation } from '@angular/core';
3
3
  import * as i1$3 from '@angular/common/http';
4
4
  import { HttpClient, HttpRequest, HttpEventType, HttpResponse } from '@angular/common/http';
5
- import { map, finalize, debounceTime, filter as filter$1 } from 'rxjs/operators';
5
+ import { map, finalize, debounceTime as debounceTime$1, filter as filter$1 } from 'rxjs/operators';
6
6
  import * as FileSaver from 'file-saver';
7
7
  import * as i1$8 from 'primeng/api';
8
8
  import { MessageService, ConfirmationService } from 'primeng/api';
9
9
  import * as i1 from '@angular/router';
10
10
  import { ActivatedRoute, Router, NavigationEnd } from '@angular/router';
11
+ import { Subject, pairwise, filter, debounceTime, BehaviorSubject, isObservable, tap, fromEvent, forkJoin, Observable, of, shareReplay, pipe, lastValueFrom, map as map$1 } from 'rxjs';
11
12
  import * as i1$2 from '@angular/common';
12
13
  import { DatePipe, DOCUMENT, isPlatformBrowser, AsyncPipe, CommonModule, PlatformLocation } from '@angular/common';
13
14
  import * as i2$1 from '@angular/forms';
14
15
  import { FormControl, ReactiveFormsModule, FormGroup, FormsModule, Validators } from '@angular/forms';
15
- import { BehaviorSubject, isObservable, tap, fromEvent, forkJoin, filter, Observable, of, shareReplay, pipe, lastValueFrom, map as map$1 } from 'rxjs';
16
16
  import { ContextMenu } from 'primeng/contextmenu';
17
17
  import * as i1$1 from '@angular/cdk/clipboard';
18
18
  import * as i1$4 from '@ngx-translate/core';
@@ -77,9 +77,40 @@ import * as i3$2 from 'primeng/tabs';
77
77
  import { TabsModule } from 'primeng/tabs';
78
78
  import * as i1$a from 'primeng/styleclass';
79
79
  import { StyleClassModule } from 'primeng/styleclass';
80
+ import * as i2$a from 'primeng/progressspinner';
81
+ import { ProgressSpinnerModule } from 'primeng/progressspinner';
80
82
  import Aura from '@primeng/themes/aura';
81
83
 
82
- const apiPath = "";
84
+ class LoadingService {
85
+ constructor() {
86
+ this.loading = signal(false);
87
+ this.loading$ = new Subject();
88
+ this.loading$
89
+ .pipe(pairwise(), filter(([prev, curr]) => prev === true && curr === false), debounceTime(300))
90
+ .subscribe((loading) => {
91
+ this.loading.set(loading[1]);
92
+ });
93
+ this.loading$
94
+ .pipe(pairwise(), filter(([prev, curr]) => prev === false && curr === true))
95
+ .subscribe((loading) => {
96
+ this.loading.set(loading[1]);
97
+ });
98
+ }
99
+ setLoading(loading) {
100
+ this.loading$.next(loading);
101
+ }
102
+ getLoading() {
103
+ return this.loading();
104
+ }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
106
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingService, providedIn: 'root' }); }
107
+ }
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingService, decorators: [{
109
+ type: Injectable,
110
+ args: [{ providedIn: 'root' }]
111
+ }], ctorParameters: () => [] });
112
+
113
+ const apiPath = '';
83
114
  class AmComponent {
84
115
  constructor() {
85
116
  //是否提交日志
@@ -113,53 +144,44 @@ class AmComponent {
113
144
  this.searchPrm = {};
114
145
  this.exportPrm = {};
115
146
  this.tamplate = {};
116
- // 表示是否正在加载用户数据的Signal,初始值为 false
117
- this.isLoading = signal(false);
118
147
  this.http = inject(HttpClient);
119
148
  this.messageService = inject(MessageService);
120
149
  this.confirmationService = inject(ConfirmationService);
150
+ this.loadingService = inject(LoadingService);
121
151
  this.route = inject(ActivatedRoute);
122
152
  this.router = inject(Router);
123
153
  }
124
154
  rfd(prm) {
125
- return this.http.post(apiPath + "RFD", prm)
126
- .pipe(map((response) => {
155
+ return this.http.post(apiPath + 'RFD', prm).pipe(map((response) => {
127
156
  return response;
128
157
  }), finalize(() => {
129
- // 无论请求成功与否,都将加载中状态设置为 false
130
- this.isLoading.set(false);
158
+ this.loadingService.setLoading(false);
131
159
  }));
132
160
  }
133
161
  webget(param) {
134
- return this.http.post(apiPath + "/goam/api/webget", param)
135
- .pipe(map((response) => {
162
+ return this.http.post(apiPath + '/goam/api/webget', param).pipe(map((response) => {
136
163
  return response;
137
164
  }), finalize(() => {
138
- // 无论请求成功与否,都将加载中状态设置为 false
139
- this.isLoading.set(false);
165
+ this.loadingService.setLoading(false);
140
166
  }));
141
167
  }
142
168
  websave(param) {
143
- return this.http.post(apiPath + "/goam/api/websave", param)
144
- .pipe(map((response) => {
169
+ return this.http.post(apiPath + '/goam/api/websave', param).pipe(map((response) => {
145
170
  return response;
146
171
  }), finalize(() => {
147
- // 无论请求成功与否,都将加载中状态设置为 false
148
- this.isLoading.set(false);
172
+ this.loadingService.setLoading(false);
149
173
  }));
150
174
  }
151
175
  webdel(param) {
152
- return this.http.post(apiPath + "webdel", param)
153
- .pipe(map((response) => {
176
+ return this.http.post(apiPath + 'webdel', param).pipe(map((response) => {
154
177
  return response;
155
178
  }), finalize(() => {
156
- // 无论请求成功与否,都将加载中状态设置为 false
157
- this.isLoading.set(false);
179
+ this.loadingService.setLoading(false);
158
180
  }));
159
181
  }
160
182
  upsert(prm, cb) {
161
183
  if (prm) {
162
- this.web_upsert(prm).subscribe(res => {
184
+ this.web_upsert(prm).subscribe((res) => {
163
185
  cb && cb(res);
164
186
  this.resetPrm('upsert');
165
187
  });
@@ -167,7 +189,7 @@ class AmComponent {
167
189
  else {
168
190
  // const pm: Upsert = this.upserts()
169
191
  // console.log('1====',pm)
170
- this.web_upsert(this.upsertPrm).subscribe(res => {
192
+ this.web_upsert(this.upsertPrm).subscribe((res) => {
171
193
  cb && cb(res);
172
194
  this.resetPrm('upsert');
173
195
  });
@@ -175,7 +197,7 @@ class AmComponent {
175
197
  }
176
198
  //全部创建或更新,根据ID判断
177
199
  web_upsert(param) {
178
- this.isLoading.set(true);
200
+ this.loadingService.setLoading(true);
179
201
  if (!param.modelName) {
180
202
  param = { modelName: this.modelName, ...param };
181
203
  }
@@ -201,7 +223,7 @@ class AmComponent {
201
223
  }
202
224
  else {
203
225
  let lg = '';
204
- param.subsert?.forEach(v => {
226
+ param.subsert?.forEach((v) => {
205
227
  v.logtmp?.forEach((v, k) => {
206
228
  if (v.id === 0) {
207
229
  lg += '新建: -> ' + v.newValue + ';';
@@ -214,15 +236,13 @@ class AmComponent {
214
236
  param = { ...param, log: { ...param.log, subContent: lg } };
215
237
  }
216
238
  console.log('param====', param);
217
- return this.http.post(apiPath + "upsert", param)
218
- .pipe(map((response) => {
239
+ return this.http.post(apiPath + 'upsert', param).pipe(map((response) => {
219
240
  if (param.log) {
220
241
  delete param.log;
221
242
  }
222
243
  return response;
223
244
  }), finalize(() => {
224
- // 无论请求成功与否,都将加载中状态设置为 false
225
- this.isLoading.set(false);
245
+ this.loadingService.setLoading(false);
226
246
  }));
227
247
  }
228
248
  //自处理逻辑
@@ -235,14 +255,12 @@ class AmComponent {
235
255
  }
236
256
  }
237
257
  web_deal(param) {
238
- this.isLoading.set(true);
239
- return this.http.post(apiPath + "deal", param)
240
- .pipe(map((response) => {
258
+ this.loadingService.setLoading(true);
259
+ return this.http.post(apiPath + 'deal', param).pipe(map((response) => {
241
260
  this.dealPrm = { data: response, ...this.dealPrm };
242
261
  return response;
243
262
  }), finalize(() => {
244
- // 无论请求成功与否,都将加载中状态设置为 false
245
- this.isLoading.set(false);
263
+ this.loadingService.setLoading(false);
246
264
  }));
247
265
  }
248
266
  //传入map,根据ID,更新map数据
@@ -255,19 +273,17 @@ class AmComponent {
255
273
  }
256
274
  }
257
275
  web_write(param) {
258
- this.isLoading.set(true);
276
+ this.loadingService.setLoading(true);
259
277
  if (!param.modelName) {
260
278
  param = { modelName: this.modelName, ...param };
261
279
  }
262
- return this.http.post(apiPath + "write", param)
263
- .pipe(map((response) => {
280
+ return this.http.post(apiPath + 'write', param).pipe(map((response) => {
264
281
  if (param.log) {
265
282
  delete param.log;
266
283
  }
267
284
  return response;
268
285
  }), finalize(() => {
269
- // 无论请求成功与否,都将加载中状态设置为 false
270
- this.isLoading.set(false);
286
+ this.loadingService.setLoading(false);
271
287
  }));
272
288
  }
273
289
  //根据ID删除
@@ -280,16 +296,14 @@ class AmComponent {
280
296
  }
281
297
  }
282
298
  web_remove(param) {
283
- this.isLoading.set(true);
284
- return this.http.post(apiPath + "remove", param)
285
- .pipe(map((response) => {
299
+ this.loadingService.setLoading(true);
300
+ return this.http.post(apiPath + 'remove', param).pipe(map((response) => {
286
301
  if (param.log) {
287
302
  delete param.log;
288
303
  }
289
304
  return response;
290
305
  }), finalize(() => {
291
- // 无论请求成功与否,都将加载中状态设置为 false
292
- this.isLoading.set(false);
306
+ this.loadingService.setLoading(false);
293
307
  }));
294
308
  }
295
309
  //根据ID获取一条数据
@@ -305,9 +319,8 @@ class AmComponent {
305
319
  if (!param.hasOwnProperty('modelName')) {
306
320
  param.modelName = this.modelName;
307
321
  }
308
- this.isLoading.set(true);
309
- return this.http.post(apiPath + "get", param)
310
- .pipe(map((response) => {
322
+ this.loadingService.setLoading(true);
323
+ return this.http.post(apiPath + 'get', param).pipe(map((response) => {
311
324
  this.getPrm.data = response;
312
325
  if (response.id === 0 && param.hasOwnProperty('foreignKey')) {
313
326
  this.upsertPrm.addData[param.foreignKey] = param[param.foreignKey];
@@ -315,8 +328,7 @@ class AmComponent {
315
328
  this.id = response?.id;
316
329
  return response;
317
330
  }), finalize(() => {
318
- // 无论请求成功与否,都将加载中状态设置为 false
319
- this.isLoading.set(false);
331
+ this.loadingService.setLoading(false);
320
332
  }));
321
333
  }
322
334
  //获取多条数据,根据传入的条件自动组织sql
@@ -329,15 +341,13 @@ class AmComponent {
329
341
  }
330
342
  }
331
343
  web_search(param) {
332
- this.isLoading.set(true);
333
- return this.http.post(apiPath + "search", param)
334
- .pipe(map((response) => {
344
+ this.loadingService.setLoading(true);
345
+ return this.http.post(apiPath + 'search', param).pipe(map((response) => {
335
346
  this.searchPrm = { ...response };
336
347
  console.log('upsey-----', this.upsertPrm);
337
348
  return response;
338
349
  }), finalize(() => {
339
- // 无论请求成功与否,都将加载中状态设置为 false
340
- this.isLoading.set(false);
350
+ this.loadingService.setLoading(false);
341
351
  }));
342
352
  }
343
353
  searchmap(prm) {
@@ -349,15 +359,13 @@ class AmComponent {
349
359
  }
350
360
  }
351
361
  web_searchmap(param) {
352
- this.isLoading.set(true);
353
- return this.http.post(apiPath + "searchMap", param)
354
- .pipe(map((response) => {
362
+ this.loadingService.setLoading(true);
363
+ return this.http.post(apiPath + 'searchMap', param).pipe(map((response) => {
355
364
  this.searchPrm = { ...response };
356
365
  console.log('upsey-----', this.upsertPrm);
357
366
  return response;
358
367
  }), finalize(() => {
359
- // 无论请求成功与否,都将加载中状态设置为 false
360
- this.isLoading.set(false);
368
+ this.loadingService.setLoading(false);
361
369
  }));
362
370
  }
363
371
  //获取多条数据,根据传入的条件自动组织sql
@@ -370,14 +378,12 @@ class AmComponent {
370
378
  }
371
379
  }
372
380
  web_searchCount(param) {
373
- this.isLoading.set(true);
374
- return this.http.post(apiPath + "searchCount", param)
375
- .pipe(map((response) => {
381
+ this.loadingService.setLoading(true);
382
+ return this.http.post(apiPath + 'searchCount', param).pipe(map((response) => {
376
383
  this.searchPrm = { ...response };
377
384
  return response;
378
385
  }), finalize(() => {
379
- // 无论请求成功与否,都将加载中状态设置为 false
380
- this.isLoading.set(false);
386
+ this.loadingService.setLoading(false);
381
387
  }));
382
388
  }
383
389
  //excel导入
@@ -415,16 +421,16 @@ class AmComponent {
415
421
  if (!param.modelName) {
416
422
  param = { modelName: this.modelName, ...param };
417
423
  }
418
- this.isLoading.set(true);
419
- return this.http.post(apiPath + "export", param, { responseType: 'blob' })
420
- .pipe(map((response) => {
421
- const data = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8' });
424
+ this.loadingService.setLoading(true);
425
+ return this.http.post(apiPath + 'export', param, { responseType: 'blob' }).pipe(map((response) => {
426
+ const data = new Blob([response], {
427
+ type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8',
428
+ });
422
429
  const fileName = param.modelName + '.xlsx';
423
430
  FileSaver.saveAs(data, fileName);
424
431
  return response;
425
432
  }), finalize(() => {
426
- // 无论请求成功与否,都将加载中状态设置为 false
427
- this.isLoading.set(false);
433
+ this.loadingService.setLoading(false);
428
434
  }));
429
435
  }
430
436
  //人工处理导入
@@ -440,16 +446,16 @@ class AmComponent {
440
446
  if (!param.modelName) {
441
447
  param = { modelName: this.modelName, ...param };
442
448
  }
443
- this.isLoading.set(true);
444
- return this.http.post(apiPath + "dealExport", param, { responseType: 'blob' })
445
- .pipe(map((response) => {
446
- const data = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8' });
449
+ this.loadingService.setLoading(true);
450
+ return this.http.post(apiPath + 'dealExport', param, { responseType: 'blob' }).pipe(map((response) => {
451
+ const data = new Blob([response], {
452
+ type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8',
453
+ });
447
454
  const fileName = param.modelName + '.xlsx';
448
455
  FileSaver.saveAs(data, fileName);
449
456
  return response;
450
457
  }), finalize(() => {
451
- // 无论请求成功与否,都将加载中状态设置为 false
452
- this.isLoading.set(false);
458
+ this.loadingService.setLoading(false);
453
459
  }));
454
460
  }
455
461
  //下载导入的模板
@@ -462,16 +468,16 @@ class AmComponent {
462
468
  }
463
469
  }
464
470
  web_downloadTemplate(param) {
465
- this.isLoading.set(true);
466
- return this.http.post(apiPath + "download", param, { responseType: 'blob' })
467
- .pipe(map((response) => {
468
- const data = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8' });
471
+ this.loadingService.setLoading(true);
472
+ return this.http.post(apiPath + 'download', param, { responseType: 'blob' }).pipe(map((response) => {
473
+ const data = new Blob([response], {
474
+ type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8',
475
+ });
469
476
  const fileName = param.modelName + '模板.xlsx';
470
477
  FileSaver.saveAs(data, fileName);
471
478
  return response;
472
479
  }), finalize(() => {
473
- // 无论请求成功与否,都将加载中状态设置为 false
474
- this.isLoading.set(false);
480
+ this.loadingService.setLoading(false);
475
481
  }));
476
482
  }
477
483
  //删除图片
@@ -484,14 +490,12 @@ class AmComponent {
484
490
  }
485
491
  }
486
492
  web_imageDelete(fid) {
487
- this.isLoading.set(true);
488
- return this.http.post(apiPath + "imageDelete", fid)
489
- .pipe(map((response) => {
493
+ this.loadingService.setLoading(true);
494
+ return this.http.post(apiPath + 'imageDelete', fid).pipe(map((response) => {
490
495
  this.messageService.add({ severity: 'success', summary: 'Success', detail: response });
491
496
  return response;
492
497
  }), finalize(() => {
493
- // 无论请求成功与否,都将加载中状态设置为 false
494
- this.isLoading.set(false);
498
+ this.loadingService.setLoading(false);
495
499
  }));
496
500
  }
497
501
  //删除图片
@@ -504,25 +508,21 @@ class AmComponent {
504
508
  }
505
509
  }
506
510
  web_filerDelete(fid) {
507
- this.isLoading.set(true);
508
- return this.http.post(apiPath + "imageDelete", fid)
509
- .pipe(map((response) => {
511
+ this.loadingService.setLoading(true);
512
+ return this.http.post(apiPath + 'imageDelete', fid).pipe(map((response) => {
510
513
  this.messageService.add({ severity: 'success', summary: 'Success', detail: response });
511
514
  return response;
512
515
  }), finalize(() => {
513
- // 无论请求成功与否,都将加载中状态设置为 false
514
- this.isLoading.set(false);
516
+ this.loadingService.setLoading(false);
515
517
  }));
516
518
  }
517
519
  //刷新token
518
520
  refreshToken(param) {
519
- return this.http.post(apiPath + "refreshToken", param)
520
- .pipe(map((response) => {
521
+ return this.http.post(apiPath + 'refreshToken', param).pipe(map((response) => {
521
522
  this.dealPrm = { data: response, ...this.dealPrm };
522
523
  return response;
523
524
  }), finalize(() => {
524
- // 无论请求成功与否,都将加载中状态设置为 false
525
- this.isLoading.set(false);
525
+ this.loadingService.setLoading(false);
526
526
  }));
527
527
  }
528
528
  //创建表
@@ -535,14 +535,12 @@ class AmComponent {
535
535
  }
536
536
  }
537
537
  web_createTable(param) {
538
- this.isLoading.set(true);
539
- return this.http.post(apiPath + "createTable", param)
540
- .pipe(map((response) => {
538
+ this.loadingService.setLoading(true);
539
+ return this.http.post(apiPath + 'createTable', param).pipe(map((response) => {
541
540
  // this.messageService.add({severity: 'success',summary: 'Success',detail: response})
542
541
  return response;
543
542
  }), finalize(() => {
544
- // 无论请求成功与否,都将加载中状态设置为 false
545
- this.isLoading.set(false);
543
+ this.loadingService.setLoading(false);
546
544
  }));
547
545
  }
548
546
  // 暂无确定是否重置其他公共变量
@@ -552,7 +550,7 @@ class AmComponent {
552
550
  this.upsertPrm.addData = {};
553
551
  this.upsertPrm.updData = {};
554
552
  this.upsertPrm.log = {};
555
- this.upsertPrm.subsert?.forEach(v => {
553
+ this.upsertPrm.subsert?.forEach((v) => {
556
554
  v.logtmp = new Map();
557
555
  v.maptmp = new Map();
558
556
  v.subData = [];
@@ -572,14 +570,12 @@ class AmComponent {
572
570
  }
573
571
  }
574
572
  webDealQuery(param) {
575
- this.isLoading.set(true);
576
- return this.http.post(apiPath + "dealQuery", param)
577
- .pipe(map((response) => {
573
+ this.loadingService.setLoading(true);
574
+ return this.http.post(apiPath + 'dealQuery', param).pipe(map((response) => {
578
575
  this.dealPrm = { data: response, ...this.dealPrm };
579
576
  return response;
580
577
  }), finalize(() => {
581
- // 无论请求成功与否,都将加载中状态设置为 false
582
- this.isLoading.set(false);
578
+ this.loadingService.setLoading(false);
583
579
  }));
584
580
  }
585
581
  dealCustom(prm) {
@@ -591,14 +587,12 @@ class AmComponent {
591
587
  }
592
588
  }
593
589
  webDealCustom(param) {
594
- this.isLoading.set(true);
595
- return this.http.post(apiPath + "dealCustom", param)
596
- .pipe(map((response) => {
590
+ this.loadingService.setLoading(true);
591
+ return this.http.post(apiPath + 'dealCustom', param).pipe(map((response) => {
597
592
  this.dealPrm = { data: response, ...this.dealPrm };
598
593
  return response;
599
594
  }), finalize(() => {
600
- // 无论请求成功与否,都将加载中状态设置为 false
601
- this.isLoading.set(false);
595
+ this.loadingService.setLoading(false);
602
596
  }));
603
597
  }
604
598
  dealSubmit(prm) {
@@ -610,14 +604,12 @@ class AmComponent {
610
604
  }
611
605
  }
612
606
  webDealSubmit(param) {
613
- this.isLoading.set(true);
614
- return this.http.post(apiPath + "dealSubmit", param)
615
- .pipe(map((response) => {
607
+ this.loadingService.setLoading(true);
608
+ return this.http.post(apiPath + 'dealSubmit', param).pipe(map((response) => {
616
609
  this.dealPrm = { data: response, ...this.dealPrm };
617
610
  return response;
618
611
  }), finalize(() => {
619
- // 无论请求成功与否,都将加载中状态设置为 false
620
- this.isLoading.set(false);
612
+ this.loadingService.setLoading(false);
621
613
  }));
622
614
  }
623
615
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -630,7 +622,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
630
622
  standalone: true,
631
623
  imports: [],
632
624
  template: '',
633
- providers: [MessageService, ConfirmationService]
625
+ providers: [MessageService, ConfirmationService],
634
626
  }]
635
627
  }], ctorParameters: () => [] });
636
628
 
@@ -842,7 +834,6 @@ class PageActionService {
842
834
  }
843
835
  searchMonitor(modelName) {
844
836
  const searchName = this.modelNameForSearch();
845
- console.log('search00000', searchName);
846
837
  if (searchName === undefined)
847
838
  return true;
848
839
  if (String(searchName) === modelName)
@@ -2858,7 +2849,7 @@ class RadioComponent {
2858
2849
  return;
2859
2850
  }
2860
2851
  fromEvent(element, 'mouseenter')
2861
- .pipe(debounceTime(100))
2852
+ .pipe(debounceTime$1(100))
2862
2853
  .subscribe(() => {
2863
2854
  this.ngZone.run(() => {
2864
2855
  if (this.field()?.fieldControl?.disabled)
@@ -2867,7 +2858,7 @@ class RadioComponent {
2867
2858
  });
2868
2859
  });
2869
2860
  fromEvent(element, 'mouseleave')
2870
- .pipe(debounceTime(100))
2861
+ .pipe(debounceTime$1(100))
2871
2862
  .subscribe(() => {
2872
2863
  this.ngZone.run(() => {
2873
2864
  this.isEnter = false;
@@ -5744,7 +5735,7 @@ class GridComponent {
5744
5735
  }
5745
5736
  getData() {
5746
5737
  untracked(() => {
5747
- if (!this.searchPrm().modelName)
5738
+ if (!this.toOptions().modelName)
5748
5739
  return;
5749
5740
  this.cancelSelect();
5750
5741
  const search = this.action.getSearch(this.toOptions().modelName);
@@ -9190,6 +9181,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9190
9181
  args: ['customGrid']
9191
9182
  }] } });
9192
9183
 
9184
+ class LoadingComponent {
9185
+ constructor(loadingService) {
9186
+ this.loadingService = loadingService;
9187
+ this.visible = computed(() => {
9188
+ console.log('---------------computed', this.loadingService.getLoading());
9189
+ return this.loadingService.getLoading();
9190
+ });
9191
+ }
9192
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingComponent, deps: [{ token: LoadingService }], target: i0.ɵɵFactoryTarget.Component }); }
9193
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LoadingComponent, isStandalone: true, selector: "custom-loading", ngImport: i0, template: "@if (visible()) {\n\t<div class=\"mask\"></div>\n\t<div class=\"progress\">\n\t\t<p-progressSpinner\n\t\t\t[style]=\"{ width: '50px', height: '50px' }\"\n\t\t\tstyleClass=\"custom-spinner\"\n\t\t\tstrokeWidth=\"6\"\n\t\t\tanimationDuration=\"1s\"></p-progressSpinner>\n\t</div>\n}\n", styles: [".mask{position:fixed;top:0;left:0;height:100vh;width:100vw;z-index:9998}.progress{position:fixed;top:35vh;left:50vw;height:5rem;width:5rem;border-radius:.5rem;display:flex;justify-content:center;align-items:center;z-index:9999}:host ::ng-deep .custom-spinner .p-progress-spinner-circle{animation:custom-progress-spinner-dash 3s ease-in-out infinite,custom-progress-spinner-color 12s ease-in-out infinite}@keyframes custom-progress-spinner-color{to,0%{stroke:#fff}}\n"], dependencies: [{ kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i2$a.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }] }); }
9194
+ }
9195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingComponent, decorators: [{
9196
+ type: Component,
9197
+ args: [{ selector: 'custom-loading', standalone: true, imports: [ProgressSpinnerModule], template: "@if (visible()) {\n\t<div class=\"mask\"></div>\n\t<div class=\"progress\">\n\t\t<p-progressSpinner\n\t\t\t[style]=\"{ width: '50px', height: '50px' }\"\n\t\t\tstyleClass=\"custom-spinner\"\n\t\t\tstrokeWidth=\"6\"\n\t\t\tanimationDuration=\"1s\"></p-progressSpinner>\n\t</div>\n}\n", styles: [".mask{position:fixed;top:0;left:0;height:100vh;width:100vw;z-index:9998}.progress{position:fixed;top:35vh;left:50vw;height:5rem;width:5rem;border-radius:.5rem;display:flex;justify-content:center;align-items:center;z-index:9999}:host ::ng-deep .custom-spinner .p-progress-spinner-circle{animation:custom-progress-spinner-dash 3s ease-in-out infinite,custom-progress-spinner-color 12s ease-in-out infinite}@keyframes custom-progress-spinner-color{to,0%{stroke:#fff}}\n"] }]
9198
+ }], ctorParameters: () => [{ type: LoadingService }] });
9199
+
9193
9200
  const presets = {
9194
9201
  Aura
9195
9202
  };
@@ -9370,5 +9377,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9370
9377
  * Generated bundle index. Do not edit.
9371
9378
  */
9372
9379
 
9373
- export { ActionService, ActionsComponent, AmComponent, AsyncRenderer, CellEditAutoCompleteComponent, CellEditDatePickerComponent, CellEditInputDateComponent, CellEditInputNumberCompoent, CellEditInputTextCompoent, CellEditSelectComponent, CrumbActionComponent, FormComponent, GridComponent, HeadComponent, HrefBtnListComponent, I18N_Token, I18nService, ImportComponent, LANGS, LinkRenderer, LogComponent, PageActionService, PageFormComponent, PageGridListComponent, PagerComponent, PopActionService, RowSelectorComponent$1 as RowSelectorComponent, SearchComponent, StepsComponent, ThemeConfigComponent, ThemeConfigService, UserHistoryService, calcRowSpan, changeContent, clearLocal, compileTsToJs, convertAct, convertCol, convertForm, convertGrid, createCircularIterator, filterObjectByKeys, formTypeToProps, generateUniqueId, gridOptionsHooker, gridUtils, isJSONParsable, pageListGridOptions, parseFunctions, toPascalCase };
9380
+ export { ActionService, ActionsComponent, AmComponent, AsyncRenderer, CellEditAutoCompleteComponent, CellEditDatePickerComponent, CellEditInputDateComponent, CellEditInputNumberCompoent, CellEditInputTextCompoent, CellEditSelectComponent, CrumbActionComponent, FormComponent, GridComponent, HeadComponent, HrefBtnListComponent, I18N_Token, I18nService, ImportComponent, LANGS, LinkRenderer, LoadingComponent, LoadingService, LogComponent, PageActionService, PageFormComponent, PageGridListComponent, PagerComponent, PopActionService, RowSelectorComponent$1 as RowSelectorComponent, SearchComponent, StepsComponent, ThemeConfigComponent, ThemeConfigService, UserHistoryService, calcRowSpan, changeContent, clearLocal, compileTsToJs, convertAct, convertCol, convertForm, convertGrid, createCircularIterator, filterObjectByKeys, formTypeToProps, generateUniqueId, gridOptionsHooker, gridUtils, isJSONParsable, pageListGridOptions, parseFunctions, toPascalCase };
9374
9381
  //# sourceMappingURL=imm-element-ui.mjs.map