@provoly/dashboard 0.20.4 → 0.20.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dataset/components/dataset-detail/dataset-detail.component.d.ts +2 -1
- package/dataset/i18n/en.translations.d.ts +2 -1
- package/dataset/i18n/fr.translations.d.ts +2 -1
- package/dataset/style/_o-pry-dataset-card.scss +0 -1
- package/dataset/style/_o-pry-dataset-detail.scss +2 -53
- package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +3 -3
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +20 -4
- package/esm2022/dataset/i18n/en.translations.mjs +3 -2
- package/esm2022/dataset/i18n/fr.translations.mjs +3 -2
- package/esm2022/dataset/style/css.component.mjs +2 -2
- package/esm2022/filters/autocomplete/autocomplete.component.mjs +16 -10
- package/esm2022/lib/core/components/about/about.component.mjs +3 -3
- package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +3 -3
- package/esm2022/lib/core/components/select/select.component.mjs +42 -13
- package/esm2022/lib/core/i18n/en.translations.mjs +1 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +1 -2
- package/esm2022/lib/core/model/display-options.interface.mjs +2 -2
- package/esm2022/lib/core/store/class/class.actions.mjs +1 -4
- package/esm2022/lib/core/store/class/class.effects.mjs +1 -4
- package/esm2022/lib/core/store/class/class.interface.mjs +1 -1
- package/esm2022/lib/core/store/class/class.reducer.mjs +3 -13
- package/esm2022/lib/core/store/class/class.selectors.mjs +1 -3
- package/esm2022/lib/core/store/class/class.service.mjs +1 -9
- package/esm2022/lib/core/store/config/config.selectors.mjs +1 -3
- package/esm2022/lib/core/store/config/config.service.mjs +4 -7
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +3 -3
- package/esm2022/presentation/components/presentation.component.mjs +3 -3
- package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +11 -21
- package/esm2022/presentation/style/css.component.mjs +2 -2
- package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +3 -3
- package/esm2022/restitution/i18n/en.translations.mjs +2 -2
- package/esm2022/restitution/style/css.component.mjs +2 -2
- package/esm2022/search/i18n/en.translations.mjs +2 -1
- package/esm2022/search/i18n/fr.translations.mjs +2 -1
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +3 -7
- package/fesm2022/provoly-dashboard-admin.mjs +8 -8
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +25 -7
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +15 -9
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +14 -24
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +5 -5
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +2 -0
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +2 -6
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +54 -58
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/filters/autocomplete/autocomplete.component.d.ts +1 -0
- package/lib/core/components/select/select.component.d.ts +2 -1
- package/lib/core/i18n/en.translations.d.ts +0 -1
- package/lib/core/i18n/fr.translations.d.ts +0 -1
- package/lib/core/store/class/class.actions.d.ts +1 -12
- package/lib/core/store/class/class.effects.d.ts +0 -5
- package/lib/core/store/class/class.interface.d.ts +0 -6
- package/lib/core/store/class/class.reducer.d.ts +2 -3
- package/lib/core/store/class/class.selectors.d.ts +0 -1
- package/lib/core/store/class/class.service.d.ts +1 -5
- package/lib/core/store/config/config.selectors.d.ts +0 -1
- package/package.json +1 -7
- package/presentation/components/title-presentation/title-presentation.component.d.ts +3 -5
- package/presentation/style/_o-pry-presentation.scss +1 -48
- package/restitution/i18n/en.translations.d.ts +1 -1
- package/restitution/style/_o-restitution.scss +11 -14
- package/search/i18n/en.translations.d.ts +1 -0
- package/search/i18n/fr.translations.d.ts +1 -0
- package/styles/base/_utils.scss +4 -0
- package/styles/components/_a-tooltip.scss +25 -18
- package/styles/components/_m-info-icon.scss +16 -0
- package/styles/components/_m-presentation-title.scss +14 -0
- package/styles/components/_o-about.scss +2 -24
- package/styles/main.scss +2 -0
- package/styles-theme/components-theme/_o-pry-dataset.theme.scss +0 -8
- package/styles-theme/components-theme/_o-pry-presentation.theme.scss +1 -1
- package/styles-theme/components-theme/_o-restitution.theme.scss +10 -0
- package/esm2022/supervision/components/supervision-business-data/supervision-business-data.component.mjs +0 -34
- package/esm2022/supervision/components/supervision-flow/supervision-flow.component.mjs +0 -33
- package/esm2022/supervision/components/supervision-infrastructures/supervision-infrastructures.component.mjs +0 -51
- package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.mjs +0 -27
- package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +0 -100
- package/esm2022/supervision/components/supervision-layout/supervision-layout.component.mjs +0 -47
- package/esm2022/supervision/components/supervision-menu/supervision-menu.component.mjs +0 -32
- package/esm2022/supervision/components/supervision-title/supervision-title.component.mjs +0 -24
- package/esm2022/supervision/components/supervision.component.mjs +0 -19
- package/esm2022/supervision/i18n/en.translations.mjs +0 -58
- package/esm2022/supervision/i18n/fr.translations.mjs +0 -58
- package/esm2022/supervision/provoly-dashboard-supervision.mjs +0 -5
- package/esm2022/supervision/public-api.mjs +0 -2
- package/esm2022/supervision/store/supervision-api.model.mjs +0 -2
- package/esm2022/supervision/store/supervision.actions.mjs +0 -33
- package/esm2022/supervision/store/supervision.effects.mjs +0 -60
- package/esm2022/supervision/store/supervision.reducer.mjs +0 -111
- package/esm2022/supervision/store/supervision.selectors.mjs +0 -35
- package/esm2022/supervision/store/supervision.service.mjs +0 -54
- package/esm2022/supervision/supervision-routing.module.mjs +0 -96
- package/esm2022/supervision/supervision.module.mjs +0 -96
- package/fesm2022/provoly-dashboard-supervision.mjs +0 -861
- package/fesm2022/provoly-dashboard-supervision.mjs.map +0 -1
- package/supervision/components/supervision-business-data/supervision-business-data.component.d.ts +0 -14
- package/supervision/components/supervision-flow/supervision-flow.component.d.ts +0 -14
- package/supervision/components/supervision-infrastructures/supervision-infrastructures.component.d.ts +0 -18
- package/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.d.ts +0 -12
- package/supervision/components/supervision-integration-errors/supervision-integration-errors.component.d.ts +0 -29
- package/supervision/components/supervision-layout/supervision-layout.component.d.ts +0 -21
- package/supervision/components/supervision-menu/supervision-menu.component.d.ts +0 -13
- package/supervision/components/supervision-title/supervision-title.component.d.ts +0 -11
- package/supervision/components/supervision.component.d.ts +0 -9
- package/supervision/i18n/en.translations.d.ts +0 -57
- package/supervision/i18n/fr.translations.d.ts +0 -57
- package/supervision/index.d.ts +0 -5
- package/supervision/public-api.d.ts +0 -1
- package/supervision/store/supervision-api.model.d.ts +0 -36
- package/supervision/store/supervision.actions.d.ts +0 -121
- package/supervision/store/supervision.effects.d.ts +0 -51
- package/supervision/store/supervision.reducer.d.ts +0 -22
- package/supervision/store/supervision.selectors.d.ts +0 -18
- package/supervision/store/supervision.service.d.ts +0 -19
- package/supervision/supervision-routing.module.d.ts +0 -7
- package/supervision/supervision.module.d.ts +0 -25
|
@@ -12,6 +12,7 @@ export declare class AutocompleteComponent extends BaseFilterComponent implement
|
|
|
12
12
|
ngOnInit(): void;
|
|
13
13
|
setFilter(value: string): void;
|
|
14
14
|
updateSearch($event?: Event): void;
|
|
15
|
+
clear(): void;
|
|
15
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
|
|
16
17
|
static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "pry-autocomplete", never, {}, {}, never, never, false, never>;
|
|
17
18
|
}
|
|
@@ -2,8 +2,9 @@ import { ChangeDetectorRef, ElementRef, EventEmitter, TemplateRef, ViewContainer
|
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
4
4
|
import { Overlay, OverlayRef } from '@angular/cdk/overlay';
|
|
5
|
+
import { SubscriptionnerDirective } from '../../../dashboard/components/subscriptionner.directive';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class PrySelectComponent implements ControlValueAccessor {
|
|
7
|
+
export declare class PrySelectComponent extends SubscriptionnerDirective implements ControlValueAccessor {
|
|
7
8
|
private _cd;
|
|
8
9
|
private overlay;
|
|
9
10
|
private viewContainerRef;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Class } from './class.interface';
|
|
2
2
|
import { DatasetCount } from '../../model/dataset.interface';
|
|
3
3
|
export declare const ClassActions: {
|
|
4
4
|
load: import("@ngrx/store").ActionCreator<"[Class] Load Classes", () => import("@ngrx/store/src/models").TypedAction<"[Class] Load Classes">>;
|
|
@@ -12,17 +12,6 @@ export declare const ClassActions: {
|
|
|
12
12
|
}) => {
|
|
13
13
|
error: string;
|
|
14
14
|
} & import("@ngrx/store/src/models").TypedAction<"[Class Api] Load Classes Failure">>;
|
|
15
|
-
loadBusinessData: import("@ngrx/store").ActionCreator<"[Class Api] Load BusinessData", () => import("@ngrx/store/src/models").TypedAction<"[Class Api] Load BusinessData">>;
|
|
16
|
-
loadBusinessDataSuccess: import("@ngrx/store").ActionCreator<"[Class Api] Load BusinessData Success", (props: {
|
|
17
|
-
datas: BusinessData[];
|
|
18
|
-
}) => {
|
|
19
|
-
datas: BusinessData[];
|
|
20
|
-
} & import("@ngrx/store/src/models").TypedAction<"[Class Api] Load BusinessData Success">>;
|
|
21
|
-
loadBusinessDataFailure: import("@ngrx/store").ActionCreator<"[Class Api] Load BusinessData Failure", (props: {
|
|
22
|
-
error: any;
|
|
23
|
-
}) => {
|
|
24
|
-
error: any;
|
|
25
|
-
} & import("@ngrx/store/src/models").TypedAction<"[Class Api] Load BusinessData Failure">>;
|
|
26
15
|
loadDatasetCount: import("@ngrx/store").ActionCreator<"[Class Api] Load DatasetCount", () => import("@ngrx/store/src/models").TypedAction<"[Class Api] Load DatasetCount">>;
|
|
27
16
|
loadDatasetCountSuccess: import("@ngrx/store").ActionCreator<"[Class Api] Load DatasetCount Success", (props: {
|
|
28
17
|
datasetCounts: DatasetCount[];
|
|
@@ -9,11 +9,6 @@ export declare class ClassEffects {
|
|
|
9
9
|
} & import("@ngrx/store/src/models").TypedAction<"[Class Api] (bus) Load Classes Success">) | ({
|
|
10
10
|
error: string;
|
|
11
11
|
} & import("@ngrx/store/src/models").TypedAction<"[Class Api] Load Classes Failure">)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
12
|
-
loadBusinessData$: import("rxjs").Observable<({
|
|
13
|
-
datas: import("@provoly/dashboard").BusinessData[];
|
|
14
|
-
} & import("@ngrx/store/src/models").TypedAction<"[Class Api] Load BusinessData Success">) | ({
|
|
15
|
-
error: any;
|
|
16
|
-
} & import("@ngrx/store/src/models").TypedAction<"[Class Api] Load BusinessData Failure">)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
17
12
|
loadDatasetCount$: import("rxjs").Observable<({
|
|
18
13
|
datasetCounts: import("@provoly/dashboard").DatasetCount[];
|
|
19
14
|
} & import("@ngrx/store/src/models").TypedAction<"[Class Api] Load DatasetCount Success">) | ({
|
|
@@ -13,12 +13,6 @@ export interface Attribute {
|
|
|
13
13
|
category?: string;
|
|
14
14
|
multiValued: boolean;
|
|
15
15
|
}
|
|
16
|
-
export interface BusinessData {
|
|
17
|
-
name: string;
|
|
18
|
-
count: number;
|
|
19
|
-
date: string;
|
|
20
|
-
icon?: string;
|
|
21
|
-
}
|
|
22
16
|
export interface Associations {
|
|
23
17
|
id: string;
|
|
24
18
|
associations: [
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { EntityAdapter, EntityState } from '@ngrx/entity';
|
|
2
2
|
import { Action } from '@ngrx/store';
|
|
3
3
|
import { DatasetCount } from '../../model/dataset.interface';
|
|
4
|
-
import {
|
|
4
|
+
import { Class } from './class.interface';
|
|
5
5
|
export declare const classesFeatureKey = "@pry/model/classes";
|
|
6
6
|
export interface ClassState extends EntityState<Class> {
|
|
7
7
|
loading: boolean;
|
|
8
|
-
classDatas: BusinessData[];
|
|
9
8
|
datasetCounts: DatasetCount[];
|
|
10
9
|
}
|
|
11
10
|
export declare function sortByName(a: Class, b: Class): number;
|
|
12
11
|
export declare const adapter: EntityAdapter<Class>;
|
|
13
12
|
export declare const initialClassState: ClassState;
|
|
14
|
-
export declare const
|
|
13
|
+
export declare const selectEntities: (state: EntityState<Class>) => import("@ngrx/entity").Dictionary<Class>, selectAll: (state: EntityState<Class>) => Class[];
|
|
15
14
|
export declare function classReducer(state: ClassState, action: Action): ClassState;
|
|
@@ -87,7 +87,6 @@ export declare const ClassSelectors: {
|
|
|
87
87
|
category?: string | undefined;
|
|
88
88
|
multiValued: boolean;
|
|
89
89
|
}[]>;
|
|
90
|
-
classDatas: import("@ngrx/store").MemoizedSelector<object, import("./class.interface").BusinessData[], (s1: fromClass.ClassState) => import("./class.interface").BusinessData[]>;
|
|
91
90
|
datasetCounts: import("@ngrx/store").MemoizedSelector<object, import("@provoly/dashboard").DatasetCount[], (s1: fromClass.ClassState) => import("@provoly/dashboard").DatasetCount[]>;
|
|
92
91
|
getAttributeById: (id: string) => import("@ngrx/store").MemoizedSelector<object, {
|
|
93
92
|
technicalName: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
-
import {
|
|
4
|
+
import { Class } from './class.interface';
|
|
5
5
|
import { DatasetCount } from '../../model/dataset.interface';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class ClassService {
|
|
@@ -12,10 +12,6 @@ export declare class ClassService {
|
|
|
12
12
|
* Returns the list of business classes
|
|
13
13
|
*/
|
|
14
14
|
getClasses(): Observable<Array<Class>>;
|
|
15
|
-
/**
|
|
16
|
-
* Returns classes usage
|
|
17
|
-
*/
|
|
18
|
-
getBusinessDatas(): Observable<BusinessData[]>;
|
|
19
15
|
getDatasetCounts(): Observable<DatasetCount[]>;
|
|
20
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClassService, never>;
|
|
21
17
|
static ɵprov: i0.ɵɵInjectableDeclaration<ClassService>;
|
|
@@ -7,7 +7,6 @@ export declare const ConfigSelectors: {
|
|
|
7
7
|
refUrl: import("@ngrx/store").MemoizedSelector<object, string, (s1: string) => string>;
|
|
8
8
|
transfoUrl: import("@ngrx/store").MemoizedSelector<object, string, (s1: string) => string>;
|
|
9
9
|
wsUrl: import("@ngrx/store").MemoizedSelector<object, string, (s1: fromConfig.ConfigState) => string>;
|
|
10
|
-
monitorUrl: import("@ngrx/store").MemoizedSelector<object, string, (s1: string) => string>;
|
|
11
10
|
replayUrl: import("@ngrx/store").MemoizedSelector<object, string, (s1: string) => string>;
|
|
12
11
|
mapUrl: import("@ngrx/store").MemoizedSelector<object, string, (s1: fromConfig.ConfigState) => string>;
|
|
13
12
|
geoServerUrl: import("@ngrx/store").MemoizedSelector<object, string, (s1: fromConfig.ConfigState) => string>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@provoly/dashboard",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.5",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/cdk": "14.x || 15.x || 16.x",
|
|
@@ -126,12 +126,6 @@
|
|
|
126
126
|
"esm": "./esm2022/search/provoly-dashboard-search.mjs",
|
|
127
127
|
"default": "./fesm2022/provoly-dashboard-search.mjs"
|
|
128
128
|
},
|
|
129
|
-
"./supervision": {
|
|
130
|
-
"types": "./supervision/index.d.ts",
|
|
131
|
-
"esm2022": "./esm2022/supervision/provoly-dashboard-supervision.mjs",
|
|
132
|
-
"esm": "./esm2022/supervision/provoly-dashboard-supervision.mjs",
|
|
133
|
-
"default": "./fesm2022/provoly-dashboard-supervision.mjs"
|
|
134
|
-
},
|
|
135
129
|
"./toolbox": {
|
|
136
130
|
"types": "./toolbox/index.d.ts",
|
|
137
131
|
"esm2022": "./esm2022/toolbox/provoly-dashboard-toolbox.mjs",
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { Store } from '@ngrx/store';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { ManifestDescription
|
|
3
|
+
import { ManifestDescription } from '@provoly/dashboard';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class PryTitlePresentationComponent {
|
|
6
6
|
private store;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
presentationTitle$: Observable<string | null>;
|
|
10
|
-
constructor(store: Store, i18nService: PryI18nService);
|
|
7
|
+
currentPresentation$: Observable<ManifestDescription | undefined>;
|
|
8
|
+
constructor(store: Store);
|
|
11
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<PryTitlePresentationComponent, never>;
|
|
12
10
|
static ɵcmp: i0.ɵɵComponentDeclaration<PryTitlePresentationComponent, "pry-title-presentation", never, {}, {}, never, never, false, never>;
|
|
13
11
|
}
|
|
@@ -139,7 +139,6 @@
|
|
|
139
139
|
|
|
140
140
|
&.a-tooltip[data-tooltip]:after {
|
|
141
141
|
width: 100%;
|
|
142
|
-
white-space: normal;
|
|
143
142
|
}
|
|
144
143
|
}
|
|
145
144
|
|
|
@@ -176,53 +175,7 @@
|
|
|
176
175
|
padding: toRem(15);
|
|
177
176
|
}
|
|
178
177
|
|
|
179
|
-
.
|
|
180
|
-
transform: translateY(4rem);
|
|
181
|
-
}
|
|
182
|
-
.info-tooltip{
|
|
183
|
-
transform: translateY(8rem);
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
h1.a-presentation-title {
|
|
187
|
-
font-size: 16px;
|
|
188
|
-
padding-right: 20px;
|
|
189
|
-
color: #113B6E;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
.title-container {
|
|
193
|
-
display: flex;
|
|
194
|
-
|
|
195
|
-
.h-1 {
|
|
196
|
-
padding-top: 0;
|
|
197
|
-
padding-bottom: 0;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
.actions-list {
|
|
202
|
-
display: flex;
|
|
203
|
-
align-items: center;
|
|
204
|
-
gap: 0.9375rem;
|
|
205
|
-
flex-direction: row;
|
|
206
|
-
flex-wrap: nowrap;
|
|
207
|
-
justify-content: space-evenly;
|
|
208
|
-
list-style-type: none;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
.info-icon {
|
|
212
|
-
position: relative;
|
|
213
|
-
width: 1.5rem;
|
|
214
|
-
height: 1.5rem;
|
|
215
|
-
border-radius: 50%;
|
|
216
|
-
cursor: pointer;
|
|
217
|
-
display: inline-flex;
|
|
218
|
-
justify-content: center;
|
|
219
|
-
align-items: center;
|
|
220
|
-
align-self: center;
|
|
221
|
-
margin-right: 1rem;
|
|
222
|
-
border: 1px solid #3E546A;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
.more-actions {
|
|
178
|
+
.more-button {
|
|
226
179
|
position: absolute;
|
|
227
180
|
top: toRem(6);
|
|
228
181
|
right: toRem(10);
|
|
@@ -25,18 +25,15 @@
|
|
|
25
25
|
label {
|
|
26
26
|
border-radius: 10%;
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
position: absolute;
|
|
40
|
-
top: toRem(6);
|
|
41
|
-
right: toRem(10);
|
|
28
|
+
|
|
29
|
+
.more-button {
|
|
30
|
+
position: absolute;
|
|
31
|
+
top: toRem(6);
|
|
32
|
+
right: toRem(10);
|
|
33
|
+
|
|
34
|
+
.a-btn {
|
|
35
|
+
padding: toRem(2) 0;
|
|
36
|
+
border-radius: 50%;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
42
39
|
}
|
package/styles/base/_utils.scss
CHANGED
|
@@ -8,26 +8,21 @@
|
|
|
8
8
|
cursor: pointer;
|
|
9
9
|
|
|
10
10
|
&:after {
|
|
11
|
-
line-height: 1;
|
|
12
|
-
pointer-events: none;
|
|
13
|
-
position: absolute;
|
|
14
|
-
box-sizing: border-box;
|
|
15
11
|
display: none;
|
|
16
12
|
opacity: 0;
|
|
17
|
-
|
|
13
|
+
position: absolute;
|
|
14
|
+
z-index: 1000;
|
|
15
|
+
pointer-events: none;
|
|
18
16
|
|
|
19
|
-
&:after {
|
|
20
17
|
content: attr(data-tooltip);
|
|
21
18
|
text-align: center;
|
|
19
|
+
line-height: 1;
|
|
20
|
+
|
|
21
|
+
border-radius: toRem(5);
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
box-shadow: 0 1px 3px 0 #0000001A;
|
|
22
24
|
min-width: 3em;
|
|
23
|
-
max-width: 21em;
|
|
24
|
-
white-space: nowrap;
|
|
25
|
-
overflow: hidden;
|
|
26
|
-
text-overflow: ellipsis;
|
|
27
25
|
padding: toRem(5) toRem(10);
|
|
28
|
-
box-shadow: 0px 1px 3px 0px #0000001A;
|
|
29
|
-
border-radius: toRem(5);
|
|
30
|
-
z-index: 1000;
|
|
31
26
|
}
|
|
32
27
|
|
|
33
28
|
&:hover:after {
|
|
@@ -38,17 +33,13 @@
|
|
|
38
33
|
&:not([data-tooltip-position])::after,
|
|
39
34
|
&[data-tooltip-position="top"]::after {
|
|
40
35
|
bottom: calc(100% + 5px);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
&:not([data-tooltip-position])::after,
|
|
44
|
-
&[data-tooltip-position="top"]::after {
|
|
45
36
|
left: 50%;
|
|
46
37
|
-webkit-transform: translate(-50%, -4px);
|
|
47
38
|
transform: translate(-50%, -4px);
|
|
48
39
|
}
|
|
49
40
|
|
|
50
41
|
&[data-tooltip-position="bottom"]::after {
|
|
51
|
-
top: calc(100%);
|
|
42
|
+
top: calc(100% + 5px);
|
|
52
43
|
left: 50%;
|
|
53
44
|
-webkit-transform: translate(-50%, 8px);
|
|
54
45
|
transform: translate(-50%, 8px);
|
|
@@ -72,5 +63,21 @@
|
|
|
72
63
|
[data-tooltip=""]::after {
|
|
73
64
|
display: none;
|
|
74
65
|
}
|
|
66
|
+
|
|
67
|
+
&.-tooltip-no-wrap:after {
|
|
68
|
+
white-space: nowrap;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&.-tooltip-width-sm:after {
|
|
72
|
+
width: toRem(100);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&.-tooltip-width-md:after {
|
|
76
|
+
width: toRem(200);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&.-tooltip-width-lg:after {
|
|
80
|
+
width: toRem(300);
|
|
81
|
+
}
|
|
75
82
|
}
|
|
76
83
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@use '../abstracts' as *;
|
|
2
|
+
|
|
3
|
+
/* Molecule - info-icon */
|
|
4
|
+
|
|
5
|
+
.m-info-icon {
|
|
6
|
+
display: inline-flex;
|
|
7
|
+
justify-content: center;
|
|
8
|
+
align-items: center;
|
|
9
|
+
position: relative;
|
|
10
|
+
cursor: pointer;
|
|
11
|
+
|
|
12
|
+
width: 1.5rem;
|
|
13
|
+
height: 1.5rem;
|
|
14
|
+
border: 1px solid #3E546A;
|
|
15
|
+
border-radius: 50%;
|
|
16
|
+
}
|
|
@@ -3,11 +3,7 @@
|
|
|
3
3
|
.o-about {
|
|
4
4
|
position: relative;
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
cursor: pointer;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.description-tooltip {
|
|
6
|
+
&__tooltip {
|
|
11
7
|
position: absolute;
|
|
12
8
|
max-width: 50vw;
|
|
13
9
|
visibility: hidden;
|
|
@@ -62,30 +58,12 @@
|
|
|
62
58
|
}
|
|
63
59
|
}
|
|
64
60
|
|
|
65
|
-
.
|
|
61
|
+
.m-info-icon:hover + &__tooltip {
|
|
66
62
|
visibility: visible;
|
|
67
63
|
transition: opacity 0.2s ease;
|
|
68
64
|
opacity: 1;
|
|
69
65
|
}
|
|
70
66
|
|
|
71
|
-
.title-container {
|
|
72
|
-
display: flex;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.info-icon {
|
|
76
|
-
position: relative;
|
|
77
|
-
width: 1.5rem;
|
|
78
|
-
height: 1.5rem;
|
|
79
|
-
border-radius: 50%;
|
|
80
|
-
border: 1px solid #3E546A;
|
|
81
|
-
cursor: pointer;
|
|
82
|
-
display: inline-flex;
|
|
83
|
-
justify-content: center;
|
|
84
|
-
align-items: center;
|
|
85
|
-
align-self: center;
|
|
86
|
-
margin: 0 1rem;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
67
|
&__line {
|
|
90
68
|
display: flex;
|
|
91
69
|
flex-direction: row;
|
package/styles/main.scss
CHANGED
|
@@ -35,10 +35,12 @@
|
|
|
35
35
|
@use 'components/m-form-label-field' as *;
|
|
36
36
|
@use 'components/m-form-radio-group' as *;
|
|
37
37
|
@use 'components/m-image-selector' as *;
|
|
38
|
+
@use 'components/m-info-icon' as *;
|
|
38
39
|
@use 'components/m-metadata-tag' as *;
|
|
39
40
|
@use 'components/m-minus-plus' as *;
|
|
40
41
|
@use 'components/m-minus-plus' as *;
|
|
41
42
|
@use 'components/m-nav-links' as *;
|
|
43
|
+
@use 'components/m-presentation-title' as *;
|
|
42
44
|
@use 'components/m-snackbar' as *;
|
|
43
45
|
@use 'components/m-time-picker' as *;
|
|
44
46
|
@use 'components/m-toolbox' as *;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { ClassActions, ClassSelectors } from '@provoly/dashboard';
|
|
3
|
-
import { SupervisionActions } from '../../store/supervision.actions';
|
|
4
|
-
import { SupervisionSelectors } from '../../store/supervision.selectors';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ngrx/store";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "@provoly/dashboard";
|
|
9
|
-
export class SupervisionBusinessDataComponent {
|
|
10
|
-
constructor(store) {
|
|
11
|
-
this.store = store;
|
|
12
|
-
this.sortActive = 'name';
|
|
13
|
-
this.sortDirection = 'asc';
|
|
14
|
-
this.store.dispatch(ClassActions.loadBusinessData());
|
|
15
|
-
this.datas$ = this.store.select(ClassSelectors.classDatas);
|
|
16
|
-
this.loading$ = this.store.select(SupervisionSelectors.loading);
|
|
17
|
-
this.store.dispatch(SupervisionActions.mainActions({
|
|
18
|
-
actions: [
|
|
19
|
-
{
|
|
20
|
-
action: ClassActions.loadBusinessData(),
|
|
21
|
-
label: 'refresh',
|
|
22
|
-
icon: 'synchro'
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SupervisionBusinessDataComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SupervisionBusinessDataComponent, selector: "pry-supervision-business-data", ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.supervision.businessData.title' | i18n }}</h1>\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.supervision.businessData.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>\n <pry-icon iconSvg=\"detail\"></pry-icon>\n </th>\n <th prySortHeader=\"name\">{{ '@pry.supervision.businessData.name' | i18n }}</th>\n <th prySortHeader=\"count\">{{ '@pry.supervision.businessData.count' | i18n }}</th>\n <th prySortHeader=\"date\">{{ '@pry.supervision.businessData.date' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let data of datas$ | async | prySortData: sortActive : sortDirection\">\n <td>\n <ng-container *ngIf=\"data.icon; else noImg\">\n <img [height]=\"25\" [width]=\"25\" [src]=\"data.icon | getSecuredImage | async\" [alt]=\"data.title\" />\n </ng-container>\n <ng-template #noImg>\n <img\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"data.id | translateId: { type: 'class', output: 'icon' } | async\"\n [alt]=\"data.title\"\n />\n </ng-template>\n </td>\n <td>{{ data.name }}</td>\n <td>{{ data.count }}</td>\n <td>\n {{ !data.date ? '' : (data.date | date: ('@pry.format.datetime' | i18n)) }}\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i3.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i3.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i3.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i3.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.GetSecuredImagePipe, name: "getSecuredImage" }, { kind: "pipe", type: i3.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SupervisionBusinessDataComponent, decorators: [{
|
|
31
|
-
type: Component,
|
|
32
|
-
args: [{ selector: 'pry-supervision-business-data', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.supervision.businessData.title' | i18n }}</h1>\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.supervision.businessData.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>\n <pry-icon iconSvg=\"detail\"></pry-icon>\n </th>\n <th prySortHeader=\"name\">{{ '@pry.supervision.businessData.name' | i18n }}</th>\n <th prySortHeader=\"count\">{{ '@pry.supervision.businessData.count' | i18n }}</th>\n <th prySortHeader=\"date\">{{ '@pry.supervision.businessData.date' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let data of datas$ | async | prySortData: sortActive : sortDirection\">\n <td>\n <ng-container *ngIf=\"data.icon; else noImg\">\n <img [height]=\"25\" [width]=\"25\" [src]=\"data.icon | getSecuredImage | async\" [alt]=\"data.title\" />\n </ng-container>\n <ng-template #noImg>\n <img\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"data.id | translateId: { type: 'class', output: 'icon' } | async\"\n [alt]=\"data.title\"\n />\n </ng-template>\n </td>\n <td>{{ data.name }}</td>\n <td>{{ data.count }}</td>\n <td>\n {{ !data.date ? '' : (data.date | date: ('@pry.format.datetime' | i18n)) }}\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n" }]
|
|
33
|
-
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJ2aXNpb24tYnVzaW5lc3MtZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9zdXBlcnZpc2lvbi9jb21wb25lbnRzL3N1cGVydmlzaW9uLWJ1c2luZXNzLWRhdGEvc3VwZXJ2aXNpb24tYnVzaW5lc3MtZGF0YS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9zdXBlcnZpc2lvbi9jb21wb25lbnRzL3N1cGVydmlzaW9uLWJ1c2luZXNzLWRhdGEvc3VwZXJ2aXNpb24tYnVzaW5lc3MtZGF0YS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQU16RSxNQUFNLE9BQU8sZ0NBQWdDO0lBTzNDLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFIckMsZUFBVSxHQUFJLE1BQU0sQ0FBQztRQUNyQixrQkFBYSxHQUFJLEtBQUssQ0FBQztRQUdyQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztZQUM3QixPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsTUFBTSxFQUFFLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDdkMsS0FBSyxFQUFFLFNBQVM7b0JBQ2hCLElBQUksRUFBRSxTQUFTO2lCQUNoQjthQUNGO1NBQ0YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOytHQXRCVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyxxRUNYN0Msb3REQW1EQTs7NEZEeENhLGdDQUFnQztrQkFKNUMsU0FBUzsrQkFDRSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQnVzaW5lc3NEYXRhLCBDbGFzc0FjdGlvbnMsIENsYXNzU2VsZWN0b3JzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1cGVydmlzaW9uQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL3N1cGVydmlzaW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgU3VwZXJ2aXNpb25TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9zdXBlcnZpc2lvbi5zZWxlY3RvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc3VwZXJ2aXNpb24tYnVzaW5lc3MtZGF0YScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdXBlcnZpc2lvbi1idXNpbmVzcy1kYXRhLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTdXBlcnZpc2lvbkJ1c2luZXNzRGF0YUNvbXBvbmVudCB7XG4gIGRhdGFzJDogT2JzZXJ2YWJsZTxCdXNpbmVzc0RhdGFbXT47XG4gIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHNvcnRBY3RpdmU/ID0gJ25hbWUnO1xuICBzb3J0RGlyZWN0aW9uPyA9ICdhc2MnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENsYXNzQWN0aW9ucy5sb2FkQnVzaW5lc3NEYXRhKCkpO1xuICAgIHRoaXMuZGF0YXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoQ2xhc3NTZWxlY3RvcnMuY2xhc3NEYXRhcyk7XG4gICAgdGhpcy5sb2FkaW5nJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFN1cGVydmlzaW9uU2VsZWN0b3JzLmxvYWRpbmcpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBTdXBlcnZpc2lvbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWN0aW9uOiBDbGFzc0FjdGlvbnMubG9hZEJ1c2luZXNzRGF0YSgpLFxuICAgICAgICAgICAgbGFiZWw6ICdyZWZyZXNoJyxcbiAgICAgICAgICAgIGljb246ICdzeW5jaHJvJ1xuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1iYXNlLWNvbnRhaW5lclwiPlxuICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0Bwcnkuc3VwZXJ2aXNpb24uYnVzaW5lc3NEYXRhLnRpdGxlJyB8IGkxOG4gfX08L2gxPlxuICA8dGFibGVcbiAgICBjbGFzcz1cImEtdGFibGVcIlxuICAgIHByeVNvcnRUYWJsZVxuICAgIHByeVNvcnRBY3RpdmU9XCJuYW1lXCJcbiAgICBwcnlTb3J0RGlyZWN0aW9uPVwiYXNjXCJcbiAgICAocHJ5U29ydENoYW5nZSk9XCJzb3J0QWN0aXZlID0gJGV2ZW50LmFjdGl2ZTsgc29ydERpcmVjdGlvbiA9ICRldmVudC5kaXJlY3Rpb25cIlxuICA+XG4gICAgPGNhcHRpb24+XG4gICAgICB7e1xuICAgICAgICAnQHByeS5zdXBlcnZpc2lvbi5idXNpbmVzc0RhdGEudGl0bGUnIHwgaTE4blxuICAgICAgfX0sXG4gICAgICB7e1xuICAgICAgICAnQHByeS5hY3Rpb24uc29ydGFibGVDb2x1bW5IZWFkZXInIHwgaTE4blxuICAgICAgfX1cbiAgICA8L2NhcHRpb24+XG4gICAgPHRoZWFkPlxuICAgICAgPHRyPlxuICAgICAgICA8dGg+XG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJkZXRhaWxcIj48L3ByeS1pY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cIm5hbWVcIj57eyAnQHByeS5zdXBlcnZpc2lvbi5idXNpbmVzc0RhdGEubmFtZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgPHRoIHByeVNvcnRIZWFkZXI9XCJjb3VudFwiPnt7ICdAcHJ5LnN1cGVydmlzaW9uLmJ1c2luZXNzRGF0YS5jb3VudCcgfCBpMThuIH19PC90aD5cbiAgICAgICAgPHRoIHByeVNvcnRIZWFkZXI9XCJkYXRlXCI+e3sgJ0Bwcnkuc3VwZXJ2aXNpb24uYnVzaW5lc3NEYXRhLmRhdGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5PlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCBkYXRhIG9mIGRhdGFzJCB8IGFzeW5jIHwgcHJ5U29ydERhdGE6IHNvcnRBY3RpdmUgOiBzb3J0RGlyZWN0aW9uXCI+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5pY29uOyBlbHNlIG5vSW1nXCI+XG4gICAgICAgICAgICA8aW1nIFtoZWlnaHRdPVwiMjVcIiBbd2lkdGhdPVwiMjVcIiBbc3JjXT1cImRhdGEuaWNvbiB8IGdldFNlY3VyZWRJbWFnZSB8IGFzeW5jXCIgW2FsdF09XCJkYXRhLnRpdGxlXCIgLz5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI25vSW1nPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjI1XCJcbiAgICAgICAgICAgICAgW3dpZHRoXT1cIjI1XCJcbiAgICAgICAgICAgICAgW3NyY109XCJkYXRhLmlkIHwgdHJhbnNsYXRlSWQ6IHsgdHlwZTogJ2NsYXNzJywgb3V0cHV0OiAnaWNvbicgfSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW2FsdF09XCJkYXRhLnRpdGxlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPnt7IGRhdGEubmFtZSB9fTwvdGQ+XG4gICAgICAgIDx0ZD57eyBkYXRhLmNvdW50IH19PC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIHt7ICFkYXRhLmRhdGUgPyAnJyA6IChkYXRhLmRhdGUgfCBkYXRlOiAoJ0BwcnkuZm9ybWF0LmRhdGV0aW1lJyB8IGkxOG4pKSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { SupervisionActions } from '../../store/supervision.actions';
|
|
3
|
-
import { SupervisionSelectors } from '../../store/supervision.selectors';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@ngrx/store";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
import * as i3 from "@provoly/dashboard";
|
|
8
|
-
export class SupervisionFlowComponent {
|
|
9
|
-
constructor(store) {
|
|
10
|
-
this.store = store;
|
|
11
|
-
this.sortActive = 'name';
|
|
12
|
-
this.sortDirection = 'asc';
|
|
13
|
-
this.store.dispatch(SupervisionActions.loadFlows());
|
|
14
|
-
this.flows$ = this.store.select(SupervisionSelectors.inputFlows);
|
|
15
|
-
this.loading$ = this.store.select(SupervisionSelectors.loading);
|
|
16
|
-
this.store.dispatch(SupervisionActions.mainActions({
|
|
17
|
-
actions: [
|
|
18
|
-
{
|
|
19
|
-
action: SupervisionActions.loadFlows(),
|
|
20
|
-
label: 'refresh',
|
|
21
|
-
icon: 'synchro'
|
|
22
|
-
}
|
|
23
|
-
]
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SupervisionFlowComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SupervisionFlowComponent, selector: "pry-supervision-flow", ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.supervision.inputFlow.title' | i18n }}</h1>\n\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.supervision.inputFlow.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th prySortHeader=\"name\">{{ '@pry.supervision.inputFlow.name' | i18n }}</th>\n <th prySortHeader=\"format\">{{ '@pry.supervision.inputFlow.format' | i18n }}</th>\n <th>{{ '@pry.supervision.inputFlow.state' | i18n }}</th>\n <th prySortHeader=\"nbIntegrationOk\">{{ '@pry.supervision.inputFlow.oks' | i18n }}</th>\n <th prySortHeader=\"nbIntegrationKo\">{{ '@pry.supervision.inputFlow.kos' | i18n }}</th>\n <th prySortHeader=\"dateIntegration\">{{ '@pry.supervision.inputFlow.date' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let flow of flows$ | async | prySortData: sortActive : sortDirection\">\n <td>\n <div class=\"u-display-flex -align-center\">\n {{ flow.name }}\n <a *ngIf=\"flow.accessLink\" [href]=\"flow.accessLink\" target=\"_blank\" class=\"a-btn a-btn--icon-only\">\n <pry-icon iconSvg=\"launch\" [height]=\"15\" [width]=\"15\"></pry-icon>\n <span class=\"u-sr-only\">{{ '@pry.action.opensInNewTab' | i18n }}</span>\n </a>\n </div>\n </td>\n <td>{{ flow.format }}</td>\n <td>\n <span class=\"a-badge\" [ngClass]=\"{ '-status-ok': flow.status, '-status-inactive': !flow.status }\">\n {{ (flow.status ? '@pry.supervision.inputFlow.active' : '@pry.supervision.inputFlow.inactive') | i18n }}\n </span>\n </td>\n <td>{{ flow.nbIntegrationOk }}</td>\n <td>{{ flow.nbIntegrationKo }}</td>\n <td>{{ flow.dateIntegration | date: ('@pry.format.datetime' | i18n) }}</td>\n </tr>\n </tbody>\n </table>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i3.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i3.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i3.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i3.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SupervisionFlowComponent, decorators: [{
|
|
30
|
-
type: Component,
|
|
31
|
-
args: [{ selector: 'pry-supervision-flow', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.supervision.inputFlow.title' | i18n }}</h1>\n\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.supervision.inputFlow.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th prySortHeader=\"name\">{{ '@pry.supervision.inputFlow.name' | i18n }}</th>\n <th prySortHeader=\"format\">{{ '@pry.supervision.inputFlow.format' | i18n }}</th>\n <th>{{ '@pry.supervision.inputFlow.state' | i18n }}</th>\n <th prySortHeader=\"nbIntegrationOk\">{{ '@pry.supervision.inputFlow.oks' | i18n }}</th>\n <th prySortHeader=\"nbIntegrationKo\">{{ '@pry.supervision.inputFlow.kos' | i18n }}</th>\n <th prySortHeader=\"dateIntegration\">{{ '@pry.supervision.inputFlow.date' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let flow of flows$ | async | prySortData: sortActive : sortDirection\">\n <td>\n <div class=\"u-display-flex -align-center\">\n {{ flow.name }}\n <a *ngIf=\"flow.accessLink\" [href]=\"flow.accessLink\" target=\"_blank\" class=\"a-btn a-btn--icon-only\">\n <pry-icon iconSvg=\"launch\" [height]=\"15\" [width]=\"15\"></pry-icon>\n <span class=\"u-sr-only\">{{ '@pry.action.opensInNewTab' | i18n }}</span>\n </a>\n </div>\n </td>\n <td>{{ flow.format }}</td>\n <td>\n <span class=\"a-badge\" [ngClass]=\"{ '-status-ok': flow.status, '-status-inactive': !flow.status }\">\n {{ (flow.status ? '@pry.supervision.inputFlow.active' : '@pry.supervision.inputFlow.inactive') | i18n }}\n </span>\n </td>\n <td>{{ flow.nbIntegrationOk }}</td>\n <td>{{ flow.nbIntegrationKo }}</td>\n <td>{{ flow.dateIntegration | date: ('@pry.format.datetime' | i18n) }}</td>\n </tr>\n </tbody>\n </table>\n</div>\n" }]
|
|
32
|
-
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJ2aXNpb24tZmxvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9zdXBlcnZpc2lvbi9jb21wb25lbnRzL3N1cGVydmlzaW9uLWZsb3cvc3VwZXJ2aXNpb24tZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9zdXBlcnZpc2lvbi9jb21wb25lbnRzL3N1cGVydmlzaW9uLWZsb3cvc3VwZXJ2aXNpb24tZmxvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQU16RSxNQUFNLE9BQU8sd0JBQXdCO0lBT25DLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFIckMsZUFBVSxHQUFJLE1BQU0sQ0FBQztRQUNyQixrQkFBYSxHQUFJLEtBQUssQ0FBQztRQUdyQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsa0JBQWtCLENBQUMsV0FBVyxDQUFDO1lBQzdCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxNQUFNLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxFQUFFO29CQUN0QyxLQUFLLEVBQUUsU0FBUztvQkFDaEIsSUFBSSxFQUFFLFNBQVM7aUJBQ2hCO2FBQ0Y7U0FDRixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBdEJVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDREQ1hyQywwbkVBb0RBOzs0RkR6Q2Esd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnB1dEZsb3cgfSBmcm9tICcuLi8uLi9zdG9yZS9zdXBlcnZpc2lvbi1hcGkubW9kZWwnO1xuaW1wb3J0IHsgU3VwZXJ2aXNpb25BY3Rpb25zIH0gZnJvbSAnLi4vLi4vc3RvcmUvc3VwZXJ2aXNpb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBTdXBlcnZpc2lvblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL3N1cGVydmlzaW9uLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1zdXBlcnZpc2lvbi1mbG93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1cGVydmlzaW9uLWZsb3cuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFN1cGVydmlzaW9uRmxvd0NvbXBvbmVudCB7XG4gIGZsb3dzJDogT2JzZXJ2YWJsZTxJbnB1dEZsb3dbXT47XG4gIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHNvcnRBY3RpdmU/ID0gJ25hbWUnO1xuICBzb3J0RGlyZWN0aW9uPyA9ICdhc2MnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFN1cGVydmlzaW9uQWN0aW9ucy5sb2FkRmxvd3MoKSk7XG4gICAgdGhpcy5mbG93cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChTdXBlcnZpc2lvblNlbGVjdG9ycy5pbnB1dEZsb3dzKTtcbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5zdG9yZS5zZWxlY3QoU3VwZXJ2aXNpb25TZWxlY3RvcnMubG9hZGluZyk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFN1cGVydmlzaW9uQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhY3Rpb246IFN1cGVydmlzaW9uQWN0aW9ucy5sb2FkRmxvd3MoKSxcbiAgICAgICAgICAgIGxhYmVsOiAncmVmcmVzaCcsXG4gICAgICAgICAgICBpY29uOiAnc3luY2hybydcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tYmFzZS1jb250YWluZXJcIj5cbiAgPGgxIGNsYXNzPVwiYS1oMVwiPnt7ICdAcHJ5LnN1cGVydmlzaW9uLmlucHV0Rmxvdy50aXRsZScgfCBpMThuIH19PC9oMT5cblxuICA8dGFibGVcbiAgICBjbGFzcz1cImEtdGFibGVcIlxuICAgIHByeVNvcnRUYWJsZVxuICAgIHByeVNvcnRBY3RpdmU9XCJuYW1lXCJcbiAgICBwcnlTb3J0RGlyZWN0aW9uPVwiYXNjXCJcbiAgICAocHJ5U29ydENoYW5nZSk9XCJzb3J0QWN0aXZlID0gJGV2ZW50LmFjdGl2ZTsgc29ydERpcmVjdGlvbiA9ICRldmVudC5kaXJlY3Rpb25cIlxuICA+XG4gICAgPGNhcHRpb24+XG4gICAgICB7e1xuICAgICAgICAnQHByeS5zdXBlcnZpc2lvbi5pbnB1dEZsb3cudGl0bGUnIHwgaTE4blxuICAgICAgfX0sXG4gICAgICB7e1xuICAgICAgICAnQHByeS5hY3Rpb24uc29ydGFibGVDb2x1bW5IZWFkZXInIHwgaTE4blxuICAgICAgfX1cbiAgICA8L2NhcHRpb24+XG4gICAgPHRoZWFkPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cIm5hbWVcIj57eyAnQHByeS5zdXBlcnZpc2lvbi5pbnB1dEZsb3cubmFtZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgPHRoIHByeVNvcnRIZWFkZXI9XCJmb3JtYXRcIj57eyAnQHByeS5zdXBlcnZpc2lvbi5pbnB1dEZsb3cuZm9ybWF0JyB8IGkxOG4gfX08L3RoPlxuICAgICAgICA8dGg+e3sgJ0Bwcnkuc3VwZXJ2aXNpb24uaW5wdXRGbG93LnN0YXRlJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cIm5iSW50ZWdyYXRpb25Pa1wiPnt7ICdAcHJ5LnN1cGVydmlzaW9uLmlucHV0Rmxvdy5va3MnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgIDx0aCBwcnlTb3J0SGVhZGVyPVwibmJJbnRlZ3JhdGlvbktvXCI+e3sgJ0Bwcnkuc3VwZXJ2aXNpb24uaW5wdXRGbG93LmtvcycgfCBpMThuIH19PC90aD5cbiAgICAgICAgPHRoIHByeVNvcnRIZWFkZXI9XCJkYXRlSW50ZWdyYXRpb25cIj57eyAnQHByeS5zdXBlcnZpc2lvbi5pbnB1dEZsb3cuZGF0ZScgfCBpMThuIH19PC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHk+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IGZsb3cgb2YgZmxvd3MkIHwgYXN5bmMgfCBwcnlTb3J0RGF0YTogc29ydEFjdGl2ZSA6IHNvcnREaXJlY3Rpb25cIj5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1LWRpc3BsYXktZmxleCAtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICB7eyBmbG93Lm5hbWUgfX1cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiZmxvdy5hY2Nlc3NMaW5rXCIgW2hyZWZdPVwiZmxvdy5hY2Nlc3NMaW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCI+XG4gICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwibGF1bmNoXCIgW2hlaWdodF09XCIxNVwiIFt3aWR0aF09XCIxNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS1zci1vbmx5XCI+e3sgJ0BwcnkuYWN0aW9uLm9wZW5zSW5OZXdUYWInIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPnt7IGZsb3cuZm9ybWF0IH19PC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1iYWRnZVwiIFtuZ0NsYXNzXT1cInsgJy1zdGF0dXMtb2snOiBmbG93LnN0YXR1cywgJy1zdGF0dXMtaW5hY3RpdmUnOiAhZmxvdy5zdGF0dXMgfVwiPlxuICAgICAgICAgICAge3sgKGZsb3cuc3RhdHVzID8gJ0Bwcnkuc3VwZXJ2aXNpb24uaW5wdXRGbG93LmFjdGl2ZScgOiAnQHByeS5zdXBlcnZpc2lvbi5pbnB1dEZsb3cuaW5hY3RpdmUnKSB8IGkxOG4gfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZD57eyBmbG93Lm5iSW50ZWdyYXRpb25PayB9fTwvdGQ+XG4gICAgICAgIDx0ZD57eyBmbG93Lm5iSW50ZWdyYXRpb25LbyB9fTwvdGQ+XG4gICAgICAgIDx0ZD57eyBmbG93LmRhdGVJbnRlZ3JhdGlvbiB8IGRhdGU6ICgnQHByeS5mb3JtYXQuZGF0ZXRpbWUnIHwgaTE4bikgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
|