@tsi-developpement/tsi-shared-ui 1.7.37 → 1.7.39
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/esm2022/lib/end-points/endpoints.mjs +5 -1
- package/esm2022/lib/interceptors/index.mjs +2 -0
- package/esm2022/lib/interceptors/request-tracker.interceptor.mjs +28 -0
- package/esm2022/lib/models/entity-info/entity-info.mjs +9 -1
- package/esm2022/lib/models/index.mjs +3 -1
- package/esm2022/lib/models/request-management/request-tracker-config.mjs +2 -0
- package/esm2022/lib/models/request-management/request-tracker-state.mjs +2 -0
- package/esm2022/lib/services/configuration/entity-configuration.service.mjs +7 -1
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/request-management/request-tracker.service.mjs +120 -0
- package/esm2022/lib/tsi-components/create-or-edit-entity-informations/create-or-edit-entity-informations.component.mjs +126 -31
- package/esm2022/lib/tsi-components/spinner/spinner.component.mjs +3 -3
- package/esm2022/lib/tsi-components/tsi-form/tsi-form.component.mjs +17 -3
- package/esm2022/lib/tsi-components/tsi-modal-footer/tsi-modal-footer.component.mjs +19 -6
- package/esm2022/lib/tsi-directives/busy.directive.mjs +6 -7
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs +306 -33
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs.map +1 -1
- package/lib/consts/app-providers.d.ts +1 -1
- package/lib/end-points/endpoints.d.ts +4 -0
- package/lib/interceptors/index.d.ts +1 -0
- package/lib/interceptors/request-tracker.interceptor.d.ts +20 -0
- package/lib/models/entity-info/entity-info.d.ts +6 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/request-management/request-tracker-config.d.ts +41 -0
- package/lib/models/request-management/request-tracker-state.d.ts +9 -0
- package/lib/providers/shared-ui-tsi.provider.d.ts +1 -1
- package/lib/services/configuration/entity-configuration.service.d.ts +4 -5
- package/lib/services/index.d.ts +1 -0
- package/lib/services/request-management/request-tracker.service.d.ts +80 -0
- package/lib/tsi-components/create-or-edit-entity-informations/create-or-edit-entity-informations.component.d.ts +23 -5
- package/lib/tsi-components/manage-reporting/add-report-popup/add-report-popup.component.d.ts +2 -0
- package/lib/tsi-components/tsi-form/tsi-form.component.d.ts +5 -0
- package/lib/tsi-components/tsi-modal-footer/tsi-modal-footer.component.d.ts +5 -0
- package/lib/tsi-directives/busy.directive.d.ts +2 -3
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -2,4 +2,4 @@ import { DynamicFormService } from "../services/dynamic-form/dynamic-form.servic
|
|
|
2
2
|
import { PresentationDesignerBaseService } from "../services/presentation-setting/presentation-designer-base.service";
|
|
3
3
|
import { GenericValidationStateService } from "../services/validation/generic-validation-state.service";
|
|
4
4
|
import { InputRegistryService } from "../services/validation/input-registry.service";
|
|
5
|
-
export declare const appProviders: (typeof
|
|
5
|
+
export declare const appProviders: (typeof GenericValidationStateService | typeof InputRegistryService | typeof PresentationDesignerBaseService | typeof DynamicFormService)[];
|
|
@@ -91,6 +91,8 @@ export declare const AdministrationSegments: {
|
|
|
91
91
|
getWorkflowEtatFormByClassName: string;
|
|
92
92
|
entityInfoController: string;
|
|
93
93
|
sqlColumns: string;
|
|
94
|
+
entityColumns: string;
|
|
95
|
+
projectFilesColumns: string;
|
|
94
96
|
getWorkflowConditionPassageOperatorEnum: string;
|
|
95
97
|
getByCodeModule: string;
|
|
96
98
|
getDescriminatorClassValues: string;
|
|
@@ -205,6 +207,8 @@ export declare const AdministrationEndpoints: {
|
|
|
205
207
|
deleteEntityInformations: (className: string) => string;
|
|
206
208
|
getClasswByNom: () => string;
|
|
207
209
|
getEntityColumns: (businessClassName: string) => string;
|
|
210
|
+
getEntitycolumnsFromModels: (businessClassName: string) => string;
|
|
211
|
+
getColumnsFromProjectDatabase: (businessClassName: string) => string;
|
|
208
212
|
getSqlColumns: (businessClassName: string) => string;
|
|
209
213
|
getWorkflowConditionPassageOperatorEnum: () => string;
|
|
210
214
|
getConnectedUsers: () => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './request-tracker.interceptor';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { RequestTrackerService } from "../services/request-management/request-tracker.service";
|
|
2
|
+
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from "@angular/common/http";
|
|
3
|
+
import { Observable } from "rxjs";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* HTTP interceptor responsible for tracking all outgoing HTTP requests.
|
|
7
|
+
*
|
|
8
|
+
* It notifies the {@link RequestTrackerService} when a request starts and when it completes,
|
|
9
|
+
* allowing the application to maintain a global "in-progress" state (e.g., for displaying a spinner).
|
|
10
|
+
*
|
|
11
|
+
* Requests that match configured ignored endpoints (see {@link RequestTrackerConfig})
|
|
12
|
+
* will be automatically excluded from tracking.
|
|
13
|
+
*/
|
|
14
|
+
export declare class RequestTrackerInterceptor implements HttpInterceptor {
|
|
15
|
+
private _requestTrackerService;
|
|
16
|
+
constructor(_requestTrackerService: RequestTrackerService);
|
|
17
|
+
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RequestTrackerInterceptor, never>;
|
|
19
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RequestTrackerInterceptor>;
|
|
20
|
+
}
|
|
@@ -35,3 +35,9 @@ export declare class UpdateEntityInfoWithRelationsRequest {
|
|
|
35
35
|
relations: EntityRelation[];
|
|
36
36
|
constructor(className: string, entity: EntityInfo, relations: EntityRelation[]);
|
|
37
37
|
}
|
|
38
|
+
export declare class EntityColumnDetailResponse {
|
|
39
|
+
name: string;
|
|
40
|
+
type: string;
|
|
41
|
+
isNullable: boolean;
|
|
42
|
+
maxLength: number | null;
|
|
43
|
+
}
|
package/lib/models/index.d.ts
CHANGED
|
@@ -35,3 +35,5 @@ export * from './journalisation-application/journalisation-application';
|
|
|
35
35
|
export * from './journalisation-application/status-history';
|
|
36
36
|
export * from './application/configuration/endpoint-infos';
|
|
37
37
|
export * from './application/configuration/entity-delete-behavior';
|
|
38
|
+
export * from './request-management/request-tracker-state';
|
|
39
|
+
export * from './request-management/request-tracker-config';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines a rule to ignore a specific endpoint.
|
|
3
|
+
*/
|
|
4
|
+
export interface IgnoredEndpoint {
|
|
5
|
+
/**
|
|
6
|
+
* Pattern used to match the request URL.
|
|
7
|
+
* Can be a string (uses `includes`) or a RegExp (uses `test`).
|
|
8
|
+
*/
|
|
9
|
+
pattern: string | RegExp;
|
|
10
|
+
/**
|
|
11
|
+
* Indicates whether string matching should be case sensitive.
|
|
12
|
+
*
|
|
13
|
+
* - Applies only when `pattern` is a string
|
|
14
|
+
* - Default: false
|
|
15
|
+
*/
|
|
16
|
+
caseSensitive?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Configuration object for the RequestTrackerService.
|
|
20
|
+
*
|
|
21
|
+
* Allows each application to customize how HTTP requests are tracked.
|
|
22
|
+
*/
|
|
23
|
+
export interface RequestTrackerConfig {
|
|
24
|
+
/**
|
|
25
|
+
* List of endpoint rules to exclude from request tracking.
|
|
26
|
+
*
|
|
27
|
+
* Each rule defines:
|
|
28
|
+
* - a pattern (string or RegExp)
|
|
29
|
+
* - optional matching options (e.g., case sensitivity)
|
|
30
|
+
*
|
|
31
|
+
* Example:
|
|
32
|
+
* ```ts
|
|
33
|
+
* ignoredEndpoints: [
|
|
34
|
+
* { pattern: '/api/notifications' },
|
|
35
|
+
* { pattern: '/api/messages', caseSensitive: true },
|
|
36
|
+
* { pattern: /\/api\/ping$/ }
|
|
37
|
+
* ]
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
ignoredEndpoints?: IgnoredEndpoint[];
|
|
41
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents the current state of HTTP requests being tracked.
|
|
3
|
+
*/
|
|
4
|
+
export interface RequestTrackerState {
|
|
5
|
+
/** The number of active (ongoing) HTTP requests */
|
|
6
|
+
readonly activeRequestCount: number;
|
|
7
|
+
/** True if at least one HTTP request is currently in progress */
|
|
8
|
+
readonly hasActiveRequest: boolean;
|
|
9
|
+
}
|
|
@@ -2,7 +2,7 @@ import { DynamicDialogConfig, DynamicDialogRef } from "primeng/dynamicdialog";
|
|
|
2
2
|
import { TabView } from "primeng/tabview";
|
|
3
3
|
import { JwtHelperService } from "@auth0/angular-jwt";
|
|
4
4
|
import { ConfirmationService, MessageService } from "primeng/api";
|
|
5
|
-
export declare const SharedUiTsiProviders: (typeof
|
|
5
|
+
export declare const SharedUiTsiProviders: (typeof DynamicDialogRef | typeof DynamicDialogConfig | typeof JwtHelperService | typeof TabView | typeof MessageService | typeof ConfirmationService | {
|
|
6
6
|
provide: import("@angular/core").InjectionToken<unknown>;
|
|
7
7
|
useValue: import("@angular/core").InjectionToken<unknown>;
|
|
8
8
|
})[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { EntityInfo, EntityInfoWithRelations, UpdateEntityInfoWithRelationsRequest } from '../../models';
|
|
3
|
+
import { EntityColumnDetailResponse, EntityInfo, EntityInfoWithRelations, UpdateEntityInfoWithRelationsRequest } from '../../models';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class EntityConfigurationService {
|
|
6
6
|
private httpClient;
|
|
@@ -21,10 +21,9 @@ export declare class EntityConfigurationService {
|
|
|
21
21
|
key: string;
|
|
22
22
|
value: string;
|
|
23
23
|
}[]>;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}[]>;
|
|
24
|
+
getEntitycolumnsFromModels(businessClassName: string): Observable<EntityColumnDetailResponse[]>;
|
|
25
|
+
getSqlColumns(businessClassName: string): Observable<EntityColumnDetailResponse[]>;
|
|
26
|
+
getColumnsFromProjectDatabase(businessClassName: string): Observable<EntityColumnDetailResponse[]>;
|
|
28
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<EntityConfigurationService, never>;
|
|
29
28
|
static ɵprov: i0.ɵɵInjectableDeclaration<EntityConfigurationService>;
|
|
30
29
|
}
|
package/lib/services/index.d.ts
CHANGED
|
@@ -40,3 +40,4 @@ export * from './status/entityStatus.service';
|
|
|
40
40
|
export * from './journalisation/journalisation-application.service';
|
|
41
41
|
export * from './journalisation/status-history.service';
|
|
42
42
|
export * from './advanced-search-component/advanced-search-component.service';
|
|
43
|
+
export * from './request-management/request-tracker.service';
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { RequestTrackerState } from '../../models/request-management/request-tracker-state';
|
|
3
|
+
import { RequestTrackerConfig } from '../../models/request-management/request-tracker-config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Service to track the status of all ongoing HTTP requests.
|
|
7
|
+
*
|
|
8
|
+
* Useful for showing global loading indicators or preventing
|
|
9
|
+
* multiple simultaneous operations in the UI.
|
|
10
|
+
*
|
|
11
|
+
* The service exposes a read-only observable `requestState$` that emits
|
|
12
|
+
* the current number of active requests and a boolean flag indicating
|
|
13
|
+
* if any request is in progress.
|
|
14
|
+
*/
|
|
15
|
+
export declare class RequestTrackerService {
|
|
16
|
+
private _requestTrackerConfig;
|
|
17
|
+
/**
|
|
18
|
+
* Cached ignored endpoint patterns.
|
|
19
|
+
*/
|
|
20
|
+
private _ignoredEndpoints;
|
|
21
|
+
/**
|
|
22
|
+
* Internal subject that keeps track of the number of active requests.
|
|
23
|
+
* Using BehaviorSubject ensures that new subscribers get the latest count immediately.
|
|
24
|
+
*/
|
|
25
|
+
private readonly _activeRequestCount$;
|
|
26
|
+
/**
|
|
27
|
+
* Observable exposing the derived request tracker state.
|
|
28
|
+
* Subscribers receive updates whenever the number of active requests changes.
|
|
29
|
+
*/
|
|
30
|
+
readonly requestState$: Observable<RequestTrackerState>;
|
|
31
|
+
/**
|
|
32
|
+
* Shortcut observable for templates/components that only need
|
|
33
|
+
* a boolean indicating if any request is in progress.
|
|
34
|
+
*/
|
|
35
|
+
readonly hasActiveRequests$: Observable<boolean>;
|
|
36
|
+
constructor();
|
|
37
|
+
/**
|
|
38
|
+
* Initializes the service with application-specific configuration.
|
|
39
|
+
*
|
|
40
|
+
* This should typically be called once during app startup (e.g., via APP_INITIALIZER).
|
|
41
|
+
*
|
|
42
|
+
* @param config Configuration object containing ignored endpoints and other options.
|
|
43
|
+
*/
|
|
44
|
+
initialize(config: RequestTrackerConfig): void;
|
|
45
|
+
/**
|
|
46
|
+
* Starts tracking an HTTP request.
|
|
47
|
+
*
|
|
48
|
+
* If the request URL matches one of the ignored endpoint patterns,
|
|
49
|
+
* it will not be counted.
|
|
50
|
+
*
|
|
51
|
+
* @param url The request URL.
|
|
52
|
+
*/
|
|
53
|
+
startRequest(url?: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* Completes tracking of an HTTP request.
|
|
56
|
+
*
|
|
57
|
+
* Ensures the active request count never goes below zero.
|
|
58
|
+
* Ignored endpoints are skipped.
|
|
59
|
+
*
|
|
60
|
+
* @param url The request URL.
|
|
61
|
+
*/
|
|
62
|
+
completeRequest(url?: string): void;
|
|
63
|
+
/**
|
|
64
|
+
* Synchronously checks whether any HTTP request is currently in progress.
|
|
65
|
+
*
|
|
66
|
+
* @returns `true` if at least one request is active; otherwise `false`.
|
|
67
|
+
*/
|
|
68
|
+
hasActiveRequests(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Determines whether a given URL should be ignored based on configured rules.
|
|
71
|
+
*
|
|
72
|
+
* Supports:
|
|
73
|
+
* - string matching (`includes`)
|
|
74
|
+
* - RegExp matching (`test`)
|
|
75
|
+
* - optional case sensitivity for string patterns
|
|
76
|
+
*/
|
|
77
|
+
private _shouldIgnore;
|
|
78
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RequestTrackerService, never>;
|
|
79
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RequestTrackerService>;
|
|
80
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { KeyValue } from '@angular/common';
|
|
2
2
|
import { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';
|
|
3
3
|
import { GridColumn } from '../../interfaces';
|
|
4
|
-
import { EntityInfoWithRelations } from '../../models';
|
|
4
|
+
import { EntityColumnDetailResponse, EntityInfoWithRelations } from '../../models';
|
|
5
5
|
import { EndpointInfos } from '../../models/application/configuration/endpoint-infos';
|
|
6
6
|
import { ApiExplorerService, EntityConfigurationService, ErrorResponseManagerService, TsiConfirmationService, TsiNotificationService } from '../../services';
|
|
7
7
|
import { TsiFormComponentBaseComponent } from '../../tsi-base/components/tsi-form-base/tsi-form-base.component';
|
|
@@ -19,10 +19,15 @@ export declare class CreateOrEditEntityInformationsComponent extends TsiFormComp
|
|
|
19
19
|
endpointInfos: EndpointInfos[];
|
|
20
20
|
componentsOptions: KeyValue<string, string>[];
|
|
21
21
|
uid?: string;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
modelColumnsData: EntityColumnDetailResponse[];
|
|
23
|
+
dbColumnsData: EntityColumnDetailResponse[];
|
|
24
|
+
sqlColumnsData: EntityColumnDetailResponse[];
|
|
25
|
+
propertiesSearchText: string;
|
|
26
|
+
propertiesFirst: number;
|
|
27
|
+
propertiesPageSize: number;
|
|
28
|
+
modelComparisonMap: Map<string, Record<string, string>>;
|
|
29
|
+
dbComparisonMap: Map<string, Record<string, string>>;
|
|
30
|
+
sqlComparisonMap: Map<string, Record<string, string>>;
|
|
26
31
|
propertiesGridColumns: Array<GridColumn>;
|
|
27
32
|
permissionsGridColumns: Array<GridColumn>;
|
|
28
33
|
entitiesRelationsColumns: Array<GridColumn>;
|
|
@@ -33,6 +38,19 @@ export declare class CreateOrEditEntityInformationsComponent extends TsiFormComp
|
|
|
33
38
|
save(): void;
|
|
34
39
|
getPropertiesData(): void;
|
|
35
40
|
onAddRelation(): void;
|
|
41
|
+
private filterColumns;
|
|
42
|
+
get filteredModelColumns(): EntityColumnDetailResponse[];
|
|
43
|
+
get filteredDbColumns(): EntityColumnDetailResponse[];
|
|
44
|
+
get filteredSqlColumns(): EntityColumnDetailResponse[];
|
|
45
|
+
get propertiesTotalRecords(): number;
|
|
46
|
+
get pagedModelColumns(): EntityColumnDetailResponse[];
|
|
47
|
+
get pagedDbColumns(): EntityColumnDetailResponse[];
|
|
48
|
+
get pagedSqlColumns(): EntityColumnDetailResponse[];
|
|
49
|
+
onPropertiesPageChange(event: any): void;
|
|
50
|
+
onPropertiesSearch(): void;
|
|
51
|
+
computeComparisons(): void;
|
|
52
|
+
private computeSourceComparison;
|
|
53
|
+
getComparisonClass(source: 'model' | 'db' | 'sql', row: EntityColumnDetailResponse, field: string): string;
|
|
36
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<CreateOrEditEntityInformationsComponent, never>;
|
|
37
55
|
static ɵcmp: i0.ɵɵComponentDeclaration<CreateOrEditEntityInformationsComponent, "app-create-or-edit-entity-informations", never, {}, {}, never, never, false, never>;
|
|
38
56
|
}
|
package/lib/tsi-components/manage-reporting/add-report-popup/add-report-popup.component.d.ts
CHANGED
|
@@ -109,6 +109,8 @@ export declare class AddReportPopupComponent extends TsiFormComponentBaseCompone
|
|
|
109
109
|
deleteEntityInformations: (className: string) => string;
|
|
110
110
|
getClasswByNom: () => string;
|
|
111
111
|
getEntityColumns: (businessClassName: string) => string;
|
|
112
|
+
getEntitycolumnsFromModels: (businessClassName: string) => string;
|
|
113
|
+
getColumnsFromProjectDatabase: (businessClassName: string) => string;
|
|
112
114
|
getSqlColumns: (businessClassName: string) => string;
|
|
113
115
|
getWorkflowConditionPassageOperatorEnum: () => string;
|
|
114
116
|
getConnectedUsers: () => string;
|
|
@@ -22,6 +22,7 @@ import { TsiModalFooterComponent } from '../tsi-modal-footer/tsi-modal-footer.co
|
|
|
22
22
|
import { TsiModalHeaderComponent } from '../tsi-modal-header/tsi-modal-header.component';
|
|
23
23
|
import { FormulaireService } from '../../services/dynamic-form/formulaire.service';
|
|
24
24
|
import { EntityConfigurationService } from '../../services/configuration/entity-configuration.service';
|
|
25
|
+
import { RequestTrackerService } from '../../services/request-management/request-tracker.service';
|
|
25
26
|
import * as i0 from "@angular/core";
|
|
26
27
|
export declare class TsiFormComponent implements OnInit, AfterViewInit, AfterContentChecked {
|
|
27
28
|
private entityStatusService;
|
|
@@ -99,9 +100,12 @@ export declare class TsiFormComponent implements OnInit, AfterViewInit, AfterCon
|
|
|
99
100
|
isBusinessClassSet: boolean;
|
|
100
101
|
isFormsInfosCalculated: boolean;
|
|
101
102
|
ignoreDescriminator: boolean;
|
|
103
|
+
hasActiveRequests: boolean;
|
|
104
|
+
private requestTrackerStateSubscription?;
|
|
102
105
|
dynamicFormService: DynamicFormService;
|
|
103
106
|
formulaireService: FormulaireService;
|
|
104
107
|
entityConfigurationService: EntityConfigurationService;
|
|
108
|
+
requestTrackerService: RequestTrackerService;
|
|
105
109
|
constructor(entityStatusService: EntityStatusService, statusColorService: StatusColorService, _fichierService: FichierService, _errorResponseManagerService: ErrorResponseManagerService, _tsiConfirmService: TsiConfirmationService, _tsiNotificationService: TsiNotificationService, _cdr: ChangeDetectorRef, _layoutHelperService: LayoutHelperService, workflowConfigurationService: WorkflowConfigurationService, _colonnePersonnaliseeService: ColonnePersonnaliseeService, ref?: DynamicDialogRef<any> | undefined, config?: DynamicDialogConfig<any> | undefined);
|
|
106
110
|
ngAfterContentChecked(): void;
|
|
107
111
|
ngOnDestroy(): void;
|
|
@@ -159,6 +163,7 @@ export declare class TsiFormComponent implements OnInit, AfterViewInit, AfterCon
|
|
|
159
163
|
private getAllFormsOfBusinessClass;
|
|
160
164
|
private recalculateFormsVisibility;
|
|
161
165
|
private calculateFormsInfos;
|
|
166
|
+
private _initializeRequestTrackerStateSubscription;
|
|
162
167
|
static ɵfac: i0.ɵɵFactoryDeclaration<TsiFormComponent, never>;
|
|
163
168
|
static ɵcmp: i0.ɵɵComponentDeclaration<TsiFormComponent, "tsi-form", never, { "class": { "alias": "class"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "optionalEndpoints": { "alias": "optionalEndpoints"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "modalSize": { "alias": "modalSize"; "required": false; }; "formEndpoint": { "alias": "formEndpoint"; "required": false; }; "formName": { "alias": "formName"; "required": false; }; "isReportingToolbarDisabled": { "alias": "isReportingToolbarDisabled"; "required": false; }; "isCreateOnly": { "alias": "isCreateOnly"; "required": false; }; }, { "onSave": "onSave"; "onSubmit": "onSubmit"; "onSubmitFormWorkflowConfiguration": "onSubmitFormWorkflowConfiguration"; "formRefChange": "formRefChange"; "onStatusChange": "onStatusChange"; }, ["modalHeaderComp", "modalFooterComp"], ["*"], false, never>;
|
|
164
169
|
}
|
|
@@ -3,6 +3,7 @@ import { ButtonType } from '../../enums/button-type.enum';
|
|
|
3
3
|
import { LocalizePipe } from '../../pipes/localize.pipe';
|
|
4
4
|
import { LayoutService } from '../../services/application/app.layout.service';
|
|
5
5
|
import { DialogDataService } from '../../services/dialog-data.service';
|
|
6
|
+
import { RequestTrackerService } from '../../services/request-management/request-tracker.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class TsiModalFooterComponent implements OnInit, OnDestroy {
|
|
8
9
|
private _injector;
|
|
@@ -29,7 +30,10 @@ export declare class TsiModalFooterComponent implements OnInit, OnDestroy {
|
|
|
29
30
|
showFiles: boolean;
|
|
30
31
|
stylePositionClass: string;
|
|
31
32
|
SaveButtonType: ButtonType;
|
|
33
|
+
hasActiveRequests: boolean;
|
|
32
34
|
private layoutDirectionSubscritpion?;
|
|
35
|
+
private requestTrackerStateSubscription?;
|
|
36
|
+
requestTrackerService: RequestTrackerService;
|
|
33
37
|
constructor(_injector: EnvironmentInjector, dialogDataService: DialogDataService, _layoutService: LayoutService, localize?: LocalizePipe | undefined);
|
|
34
38
|
ngOnDestroy(): void;
|
|
35
39
|
l(key: string): string;
|
|
@@ -40,6 +44,7 @@ export declare class TsiModalFooterComponent implements OnInit, OnDestroy {
|
|
|
40
44
|
onCancel(): void;
|
|
41
45
|
onAdditionalButton(): void;
|
|
42
46
|
onFiles(): Promise<void>;
|
|
47
|
+
private _initializeRequestTrackerStateSubscription;
|
|
43
48
|
static ɵfac: i0.ɵɵFactoryDeclaration<TsiModalFooterComponent, never>;
|
|
44
49
|
static ɵcmp: i0.ɵɵComponentDeclaration<TsiModalFooterComponent, "Tsi-Modal-Footer", never, { "cancelDisabled": { "alias": "cancelDisabled"; "required": false; }; "saveDisabled": { "alias": "saveDisabled"; "required": false; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; }; "saveLabel": { "alias": "saveLabel"; "required": false; }; "isConsult": { "alias": "isConsult"; "required": false; }; "isDuplicate": { "alias": "isDuplicate"; "required": false; }; "isOnlyCreate": { "alias": "isOnlyCreate"; "required": false; }; "additionalButtonLabel": { "alias": "additionalButtonLabel"; "required": false; }; "additionalButtonIcon": { "alias": "additionalButtonIcon"; "required": false; }; "additionalButtonDisabled": { "alias": "additionalButtonDisabled"; "required": false; }; "showAdditionalButton": { "alias": "showAdditionalButton"; "required": false; }; }, { "onCancelClick": "onCancelClick"; "onSaveClick": "onSaveClick"; "onAdditionalButtonClick": "onAdditionalButtonClick"; }, never, never, false, never>;
|
|
45
50
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class BusyDirective {
|
|
4
4
|
private view;
|
|
5
|
-
private componentFactoryResolver;
|
|
6
5
|
private template;
|
|
7
6
|
set busy(isLoading: boolean);
|
|
8
|
-
constructor(view: ViewContainerRef,
|
|
7
|
+
constructor(view: ViewContainerRef, template: TemplateRef<AnimationPlayState>);
|
|
9
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<BusyDirective, never>;
|
|
10
9
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BusyDirective, "[busy]", never, { "busy": { "alias": "busy"; "required": false; }; }, {}, never, never, false, never>;
|
|
11
10
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED