@dflat-core/web 1.0.60 → 1.0.61
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/fesm2022/dflat-core-web-core-model.mjs +23 -1
- package/fesm2022/dflat-core-web-core-model.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-services.mjs +15 -1
- package/fesm2022/dflat-core-web-core-services.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-ux-testing.mjs +8 -0
- package/fesm2022/dflat-core-web-core-ux-testing.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-ux.mjs +154 -5
- package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-data.mjs +10 -0
- package/fesm2022/dflat-core-web-system-data.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-model.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-root.mjs +1 -21
- package/fesm2022/dflat-core-web-system-root.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-ux.mjs +2807 -1018
- package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
- package/package.json +1 -1
- package/types/dflat-core-web-core-model.d.ts +38 -0
- package/types/dflat-core-web-core-services.d.ts +7 -1
- package/types/dflat-core-web-core-ux-testing.d.ts +8 -0
- package/types/dflat-core-web-core-ux.d.ts +108 -1
- package/types/dflat-core-web-system-data.d.ts +4 -2
- package/types/dflat-core-web-system-model.d.ts +103 -73
- package/types/dflat-core-web-system-root.d.ts +0 -2
- package/types/dflat-core-web-system-ux.d.ts +498 -183
package/package.json
CHANGED
|
@@ -321,6 +321,44 @@ export declare class UserUpdatedMessage {
|
|
|
321
321
|
userKey: string;
|
|
322
322
|
constructor(userKey: string);
|
|
323
323
|
}
|
|
324
|
+
/**
|
|
325
|
+
* Message du bus : un profil de présentation partagé (par défaut, par rôle ou par fournisseur) a
|
|
326
|
+
* été modifié (signal PresentationChanged du hub, envoyé par le serveur après son enregistrement).
|
|
327
|
+
* Le cache d'initialisation de l'entité est vidé et les grilles ouvertes rechargent leurs colonnes.
|
|
328
|
+
*/
|
|
329
|
+
export declare class PresentationChangedMessage {
|
|
330
|
+
entityName: string | null;
|
|
331
|
+
stamp?: number;
|
|
332
|
+
/**
|
|
333
|
+
* @param entityName Nom de l'entité du profil (ex. Company), ou null : toutes les entités.
|
|
334
|
+
* @param stamp Nouvel horodatage du cache client annoncé par le serveur.
|
|
335
|
+
*/
|
|
336
|
+
constructor(entityName: string | null, stamp?: number);
|
|
337
|
+
/**
|
|
338
|
+
* Vrai si le message concerne l'écran de clé entityKey : même nom sans tenir compte de la
|
|
339
|
+
* casse ni du suffixe View (un écran porte sur la table ou sur sa vue principale).
|
|
340
|
+
*/
|
|
341
|
+
concerns(entityKey: string): boolean;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Message du bus : un formulaire enregistré en base a été modifié (signal FormChanged du hub,
|
|
345
|
+
* envoyé par le serveur après l'enregistrement d'un formulaire, d'une section ou d'un champ).
|
|
346
|
+
* Le cache d'initialisation de l'entité est vidé et les écrans ouverts rechargent leur formulaire.
|
|
347
|
+
*/
|
|
348
|
+
export declare class FormChangedMessage {
|
|
349
|
+
entityName: string | null;
|
|
350
|
+
stamp?: number;
|
|
351
|
+
/**
|
|
352
|
+
* @param entityName Nom de l'entité du formulaire (ex. Country), ou null : tous les formulaires.
|
|
353
|
+
* @param stamp Nouvel horodatage du cache client annoncé par le serveur.
|
|
354
|
+
*/
|
|
355
|
+
constructor(entityName: string | null, stamp?: number);
|
|
356
|
+
/**
|
|
357
|
+
* Vrai si le message concerne l'écran de clé entityKey : même nom sans tenir compte de la
|
|
358
|
+
* casse ni du suffixe View (un écran porte sur la table ou sur sa vue principale).
|
|
359
|
+
*/
|
|
360
|
+
concerns(entityKey: string): boolean;
|
|
361
|
+
}
|
|
324
362
|
export interface IUserCredential extends IIdentifiable {
|
|
325
363
|
AccessToken: string;
|
|
326
364
|
RefreshToken: string;
|
|
@@ -429,7 +429,9 @@ export declare class HubService {
|
|
|
429
429
|
*
|
|
430
430
|
* Le cache est vidé quand le jeton d'accès reçu (connexion, rafraîchissement, déconnexion)
|
|
431
431
|
* porte un autre horodatage serveur (claim "cachestamp", régénéré à chaque redémarrage de l'API
|
|
432
|
-
* ou par Config/ResetClientCache) ou un autre
|
|
432
|
+
* ou par Config/ResetClientCache, ou après la modification d'un formulaire) ou un autre
|
|
433
|
+
* utilisateur. Les entrées d'une entité sont aussi vidées dès que le hub signale que son
|
|
434
|
+
* formulaire a été modifié (FormChangedMessage).
|
|
433
435
|
*/
|
|
434
436
|
export declare class InitCacheService {
|
|
435
437
|
static readonly CACHE_STAMP = "cachestamp";
|
|
@@ -445,6 +447,10 @@ export declare class InitCacheService {
|
|
|
445
447
|
get<T>(key: string, factory: () => Observable<T>): Observable<T>;
|
|
446
448
|
/** Vide le cache, ou seulement les entrées dont la clé commence par le préfixe. */
|
|
447
449
|
clear(prefix?: string): void;
|
|
450
|
+
/** Formulaire modifié : vide les entrées de l'entité (clé « entité/... »), ou tout le cache. */
|
|
451
|
+
private onFormChanged;
|
|
452
|
+
/** Profil de présentation modifié : vide les entrées de l'entité (clé « entité/... »), ou tout le cache. */
|
|
453
|
+
private onPresentationChanged;
|
|
448
454
|
private onTokenChanged;
|
|
449
455
|
/** Identité du cache : horodatage serveur et utilisateur du jeton (null sans jeton). */
|
|
450
456
|
private readStamp;
|
|
@@ -123,6 +123,12 @@ export declare class DataServiceDouble {
|
|
|
123
123
|
entityKey: string;
|
|
124
124
|
id: number;
|
|
125
125
|
}[];
|
|
126
|
+
/** Nombre de lectures des colonnes de la grille (getViewColumns). */
|
|
127
|
+
columnCalls: number;
|
|
128
|
+
/** Entités dont le cache d'initialisation a été vidé (clearCached), dans l'ordre. */
|
|
129
|
+
readonly clearedCaches: string[];
|
|
130
|
+
/** Nombre de lectures du formulaire (getEntityViewModel). */
|
|
131
|
+
viewModelCalls: number;
|
|
126
132
|
/** Résultat renvoyé par search. */
|
|
127
133
|
searchResult: PagedList<EntityViewModel>;
|
|
128
134
|
/** Entité renvoyée par getDetails. */
|
|
@@ -141,6 +147,8 @@ export declare class DataServiceDouble {
|
|
|
141
147
|
getEmptyFilter<TFilter>(): Observable<TFilter>;
|
|
142
148
|
/** Formulaire vide, sans champ. */
|
|
143
149
|
getEntityViewModel<TData>(): Observable<EntityViewModelWithFields<TData>>;
|
|
150
|
+
/** Enregistre l'entité dont le cache d'initialisation est vidé. */
|
|
151
|
+
clearCached(entityKey?: string): void;
|
|
144
152
|
/** Actions étendues : aucune. */
|
|
145
153
|
getExtendedActions(): Observable<ActionDescriptor[]>;
|
|
146
154
|
/** Valeur d'initialisation calculée par le front : calculée à chaque appel, sans cache. */
|
|
@@ -2,7 +2,7 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
import { AfterContentInit, AfterViewChecked, AfterViewInit, ChangeDetectorRef, ComponentRef, ElementRef, EventEmitter, InjectionToken, Injector, IterableDiffers, NgZone, OnChanges, OnDestroy, OnInit, PipeTransform, QueryList, Renderer2, SimpleChanges, TemplateRef, Type, ViewContainerRef } from "@angular/core";
|
|
3
3
|
import * as i89 from "@dflat-core/web/core-model";
|
|
4
4
|
import { ActionDescriptor, AggregateFunction, AggregationValue, ColumnDescriptor, DictionnaryWrapper, EntityConfig, EntityViewModel, EntityViewModelWithFields, ExtendedProperty, FieldDescriptor, FieldEvent, FieldValidators, FilterDescriptor, FilterQuery, FilterRow, FilterType, FilterViewModel, IFilterDescriptorExtra, Notification, PagedList, PropertyEditorEvent, RunActionContext, SaveResult, SaveResults, Section, SectionError, SpecificSection, TextZoneButtonEvent, TrackRecordProperty, User } from "@dflat-core/web/core-model";
|
|
5
|
-
import { AuthService, BreadcrumbService, FilterService, HubService, LocalStoreManager, MenuItem, MenuService, NotificationMqService, UserService } from "@dflat-core/web/core-services";
|
|
5
|
+
import { AuthService, BreadcrumbService, BusMessageService, FilterService, HubService, LocalStoreManager, MenuItem, MenuService, NotificationMqService, UserService } from "@dflat-core/web/core-services";
|
|
6
6
|
import * as i90 from "@angular/forms";
|
|
7
7
|
import { AbstractControl, ControlValueAccessor, FormBuilder, FormControl, FormGroup, NgForm, UntypedFormControl, UntypedFormGroup, ValidatorFn } from "@angular/forms";
|
|
8
8
|
import { BehaviorSubject, Observable, Subject, Subscription } from "rxjs";
|
|
@@ -101,10 +101,20 @@ export declare class EntityConfigContext<TData extends EntityViewModel, TFilter
|
|
|
101
101
|
private entityKey;
|
|
102
102
|
private readonly columnSource$;
|
|
103
103
|
setColumnSource(factory: () => Observable<ColumnDescriptor[]>): void;
|
|
104
|
+
/**
|
|
105
|
+
* Recharge les colonnes de la grille par leur source courante : à appeler après avoir vidé le
|
|
106
|
+
* cache d'initialisation de l'entité, quand sa présentation par défaut a été modifiée en base.
|
|
107
|
+
*/
|
|
108
|
+
reloadColumns(): void;
|
|
104
109
|
private readonly alteredColumns$;
|
|
105
110
|
readonly columns$: Observable<ColumnDescriptor[]>;
|
|
106
111
|
private readonly viewModelSource$;
|
|
107
112
|
setviewModelSource(factory: () => Observable<EntityViewModelWithFields<TData>>): void;
|
|
113
|
+
/**
|
|
114
|
+
* Recharge le formulaire (sections et champs) par sa source courante : à appeler après avoir
|
|
115
|
+
* vidé le cache d'initialisation de l'entité, quand le formulaire a été modifié en base.
|
|
116
|
+
*/
|
|
117
|
+
reloadViewModel(): void;
|
|
108
118
|
private readonly alteredViewModel$;
|
|
109
119
|
readonly viewModel$: Observable<any>;
|
|
110
120
|
updateFieldSections(newSections: Section[]): void;
|
|
@@ -2209,6 +2219,13 @@ export declare abstract class BaseComponent<TFilter extends FilterViewModel, TDa
|
|
|
2209
2219
|
IsTheMainComponent: boolean;
|
|
2210
2220
|
actionBarSearchText: string;
|
|
2211
2221
|
newEditor: NewEditorComponent<TData>;
|
|
2222
|
+
/**
|
|
2223
|
+
* Éditeur spécifique de l'entité : composant affiché à la place du formulaire d'édition standard
|
|
2224
|
+
* (celui du contrôleur). Non renseigné, l'écran garde le formulaire standard. Le composant reçoit
|
|
2225
|
+
* `entityKey` et `guid` et partage la façade de l'écran ; il dérive en général de BaseEntityEditor,
|
|
2226
|
+
* qui suit la ligne sélectionnée et publie les modifications pour l'action « Enregistrer ».
|
|
2227
|
+
*/
|
|
2228
|
+
editorComponent: Type<any>;
|
|
2212
2229
|
actionTitle: string;
|
|
2213
2230
|
log: any;
|
|
2214
2231
|
loadDataOnInit?: boolean;
|
|
@@ -2229,6 +2246,27 @@ export declare abstract class BaseComponent<TFilter extends FilterViewModel, TDa
|
|
|
2229
2246
|
filterFn?: (selected: TData[]) => FilterViewModel;
|
|
2230
2247
|
constructor(app: ApplicationService, route: ActivatedRoute);
|
|
2231
2248
|
ngOnInit(): void;
|
|
2249
|
+
/** Bus de messages de l'application (absent dans un contexte de test minimal). */
|
|
2250
|
+
protected readonly busMessages: BusMessageService;
|
|
2251
|
+
/**
|
|
2252
|
+
* Formulaire de l'entité modifié en base (signal FormChanged du hub, relayé sur le bus) :
|
|
2253
|
+
* l'écran recharge son formulaire. S'il a des modifications en cours, l'utilisateur choisit
|
|
2254
|
+
* d'abord de les enregistrer, de les abandonner ou de continuer (le formulaire est alors
|
|
2255
|
+
* rechargé à la prochaine ouverture de l'écran).
|
|
2256
|
+
*/
|
|
2257
|
+
protected subscribeFormChanged(): void;
|
|
2258
|
+
/** Émet quand le formulaire peut être rechargé : tout de suite sans modification en cours. */
|
|
2259
|
+
protected confirmFormReload$(): Observable<boolean>;
|
|
2260
|
+
/** Relit le formulaire de l'entité sur le serveur (cache d'initialisation de l'entité vidé). */
|
|
2261
|
+
protected reloadForm(): void;
|
|
2262
|
+
/**
|
|
2263
|
+
* Présentation de l'entité modifiée en base (signal PresentationChanged du hub, relayé sur le
|
|
2264
|
+
* bus) : la grille recharge ses colonnes, sans rien demander (les données saisies ne sont pas
|
|
2265
|
+
* touchées).
|
|
2266
|
+
*/
|
|
2267
|
+
protected subscribePresentationChanged(): void;
|
|
2268
|
+
/** Relit les colonnes de la grille sur le serveur (cache d'initialisation de l'entité vidé). */
|
|
2269
|
+
protected reloadColumns(): void;
|
|
2232
2270
|
ngAfterViewInit(): void;
|
|
2233
2271
|
getIcon(): string;
|
|
2234
2272
|
subscribeEntityNotification(): void;
|
|
@@ -5686,6 +5724,75 @@ export declare abstract class TreeComponent<T extends TreeItem<TData>, TData ext
|
|
|
5686
5724
|
"onDisplayComponent": "onDisplayComponent";
|
|
5687
5725
|
}, never, never, true, never>;
|
|
5688
5726
|
}
|
|
5727
|
+
/**
|
|
5728
|
+
* Base d'un éditeur spécifique d'entité : le composant qu'un écran (BaseComponent) affiche à la place
|
|
5729
|
+
* du formulaire d'édition standard quand il renseigne `editorComponent`. L'éditeur partage la façade
|
|
5730
|
+
* de l'écran : il suit la ligne sélectionnée et publie ses modifications dans le suivi des
|
|
5731
|
+
* modifications, de sorte que les actions de l'écran (« Enregistrer », « Ajouter », « Supprimer »)
|
|
5732
|
+
* s'appliquent sans bouton propre à l'éditeur.
|
|
5733
|
+
* Les champs du formulaire par défaut de l'entité restent disponibles (`sections`, `form`,
|
|
5734
|
+
* `onPropertyChanged`) pour les afficher avec les composants des formulaires (alg-field).
|
|
5735
|
+
*/
|
|
5736
|
+
export declare abstract class BaseEntityEditor<TData extends EntityViewModel> implements OnInit, OnDestroy {
|
|
5737
|
+
protected app: ApplicationService;
|
|
5738
|
+
protected validationService: ValidationService;
|
|
5739
|
+
/** Clé de l'entité de l'écran. */
|
|
5740
|
+
entityKey: string;
|
|
5741
|
+
/** Identifiant de la façade de l'écran. */
|
|
5742
|
+
guid: Guid;
|
|
5743
|
+
/** Façade de l'écran qui affiche l'éditeur. */
|
|
5744
|
+
facade: EntityFacade<TData>;
|
|
5745
|
+
/** Entité en cours d'édition : la seule ligne sélectionnée, sinon undefined. */
|
|
5746
|
+
entity: TData;
|
|
5747
|
+
/** Sections de champs du formulaire par défaut de l'entité. */
|
|
5748
|
+
sections: Section[];
|
|
5749
|
+
/** Formulaire des champs de `sections`, tenu à jour avec l'entité en cours d'édition. */
|
|
5750
|
+
form: FormGroup;
|
|
5751
|
+
/** Indique si l'entité ne peut pas être modifiée (écran en lecture seule ou ligne non modifiable). */
|
|
5752
|
+
readonly: boolean;
|
|
5753
|
+
protected destroy$: Subject<void>;
|
|
5754
|
+
private facadeReadOnly;
|
|
5755
|
+
constructor(app: ApplicationService, validationService: ValidationService);
|
|
5756
|
+
ngOnInit(): void;
|
|
5757
|
+
ngOnDestroy(): void;
|
|
5758
|
+
/** Champs des sections, à plat. */
|
|
5759
|
+
get fields(): FieldDescriptor[];
|
|
5760
|
+
/**
|
|
5761
|
+
* Sections de champs affichées par l'éditeur : par défaut, celles du formulaire de l'entité.
|
|
5762
|
+
* À surcharger pour renommer, remplacer ou retirer un champ.
|
|
5763
|
+
*/
|
|
5764
|
+
protected alterSections(sections: Section[]): Section[];
|
|
5765
|
+
/**
|
|
5766
|
+
* Appelé quand l'entité en cours d'édition change : ligne sélectionnée, nouvelle ligne (Id négatif)
|
|
5767
|
+
* ou aucune (undefined). À surcharger pour charger ce que l'éditeur affiche en plus des champs.
|
|
5768
|
+
*/
|
|
5769
|
+
protected onEntityChanged(entity: TData): void;
|
|
5770
|
+
/** Applique la modification d'un champ (alg-field) à l'entité, comme le formulaire standard. */
|
|
5771
|
+
onPropertyChanged(event: PropertyEditorEvent): void;
|
|
5772
|
+
/**
|
|
5773
|
+
* Publie des modifications de l'entité qui ne viennent pas d'un champ : l'entité devient modifiée
|
|
5774
|
+
* et l'action « Enregistrer » de l'écran l'envoie avec ces valeurs.
|
|
5775
|
+
* @param values Valeurs modifiées de l'entité.
|
|
5776
|
+
*/
|
|
5777
|
+
protected publishChanges(values: Partial<TData>): void;
|
|
5778
|
+
private setEntity;
|
|
5779
|
+
private updateReadonly;
|
|
5780
|
+
/** Crée un contrôle par champ, avec ses règles de validation. */
|
|
5781
|
+
private initForm;
|
|
5782
|
+
/** Recopie l'entité en cours d'édition dans le formulaire. */
|
|
5783
|
+
private patchForm;
|
|
5784
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseEntityEditor<any>, never>;
|
|
5785
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseEntityEditor<any>, never, never, {
|
|
5786
|
+
"entityKey": {
|
|
5787
|
+
"alias": "entityKey";
|
|
5788
|
+
"required": false;
|
|
5789
|
+
};
|
|
5790
|
+
"guid": {
|
|
5791
|
+
"alias": "guid";
|
|
5792
|
+
"required": false;
|
|
5793
|
+
};
|
|
5794
|
+
}, {}, never, never, true, never>;
|
|
5795
|
+
}
|
|
5689
5796
|
export interface SelectorConfig {
|
|
5690
5797
|
load: (req: SelectorRequest) => Observable<any[]>;
|
|
5691
5798
|
options: InputSelectorOptions;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "@angular/common";
|
|
3
3
|
import * as i2 from "@dflat-core/web/system-model";
|
|
4
|
-
import { ActivationResults, ActivationViewModel, AddressView, AddressViewFilterViewModel, ChangePasswordViewModel, CheckSireneInfoViewModel, CompanyFilterViewModel, CompanyView, Country, CountryFilterViewModel, CreatePaymentIntentViewModel, Currency, CurrencyFilterViewModel, CustomFieldFilterViewModel, CustomFieldGroup, CustomFieldGroupEntityFilterViewModel, CustomFieldGroupEntityView, CustomFieldGroupFilterViewModel, CustomFieldGroupItemFilterViewModel, CustomFieldGroupItemView, CustomFieldOptionsFilterViewModel, CustomFieldOptionsView, CustomFieldValueFilterViewModel, CustomFieldValueView, CustomFieldView, DayInfo, DayInfoFilterViewModel, EntityFiles, EntityFilesFilterViewModel, ErrorCategory, ErrorCategoryFilterViewModel, ExchangeRateFilterViewModel, ExchangeRateView, ExecOperation, ExternalLoginProviderViewModel, ExternalLoginViewModel, FileDescriptor, FileTypes, FilesFilterViewModel, FilesView, GetFileDescriptorsViewModel, Keyword, KeywordFilterViewModel, LoginViewModel, MetaEntity, MetaEntityField, MetaEntityFieldFilterViewModel, MetaEntityFilterViewModel, MetaEntityFormFieldFilterViewModel, MetaEntityFormFieldView, MetaEntityFormFilterViewModel, MetaEntityFormSectionFilterViewModel, MetaEntityFormSectionView, MetaEntityFormView, MetaEntityKeyword, MetaEntityKeywordFilterViewModel, MetaEntityRelation, MetaEntityRelationDefinition, MetaEntityRelationDefinitionFilterViewModel, MetaEntityRelationFilterViewModel, MetaEntityTranslation, MetaEntityTranslationFilterViewModel, MetaEntityViewField, MetaEntityViewFieldFilterViewModel, News, NewsFilterViewModel, NewsView, ParameterSection, ParameterSectionFilterViewModel, ParameterValueView, ParameterValueViewFilterViewModel, ParameterView, ParameterViewFilterViewModel, PaymentIntentViewModel, Permission, PermissionFilterViewModel, PermissionView, PresentationContext,
|
|
4
|
+
import { ActivationResults, ActivationViewModel, AddressView, AddressViewFilterViewModel, ChangePasswordViewModel, CheckSireneInfoViewModel, CompanyFilterViewModel, CompanyView, Country, CountryFilterViewModel, CreatePaymentIntentViewModel, Currency, CurrencyFilterViewModel, CustomFieldFilterViewModel, CustomFieldGroup, CustomFieldGroupEntityFilterViewModel, CustomFieldGroupEntityView, CustomFieldGroupFilterViewModel, CustomFieldGroupItemFilterViewModel, CustomFieldGroupItemView, CustomFieldOptionsFilterViewModel, CustomFieldOptionsView, CustomFieldValueFilterViewModel, CustomFieldValueView, CustomFieldView, DayInfo, DayInfoFilterViewModel, EntityFiles, EntityFilesFilterViewModel, ErrorCategory, ErrorCategoryFilterViewModel, ExchangeRateFilterViewModel, ExchangeRateView, ExecOperation, ExternalLoginProviderViewModel, ExternalLoginViewModel, FileDescriptor, FileTypes, FilesFilterViewModel, FilesView, FormEditorContext, GetFileDescriptorsViewModel, Keyword, KeywordFilterViewModel, LoginViewModel, MetaEntity, MetaEntityField, MetaEntityFieldFilterViewModel, MetaEntityFilterViewModel, MetaEntityFormFieldFilterViewModel, MetaEntityFormFieldView, MetaEntityFormFilterViewModel, MetaEntityFormSectionFilterViewModel, MetaEntityFormSectionView, MetaEntityFormView, MetaEntityKeyword, MetaEntityKeywordFilterViewModel, MetaEntityRelation, MetaEntityRelationDefinition, MetaEntityRelationDefinitionFilterViewModel, MetaEntityRelationFilterViewModel, MetaEntityTranslation, MetaEntityTranslationFilterViewModel, MetaEntityViewField, MetaEntityViewFieldFilterViewModel, News, NewsFilterViewModel, NewsView, ParameterSection, ParameterSectionFilterViewModel, ParameterValueView, ParameterValueViewFilterViewModel, ParameterView, ParameterViewFilterViewModel, PaymentIntentViewModel, Permission, PermissionFilterViewModel, PermissionView, PresentationContext, PresentationProfileFilterViewModel, PresentationProfileItem, PresentationProfileItemFilterViewModel, PresentationProfileItemView, PresentationProfileView, Rating, RatingFilterViewModel, RatingSummary, RatingSummaryFilterViewModel, RatingView, RegisterViewModel, RequestEntity, RequestEntityFilterViewModel, RequestFilterViewModel, RequestResultContext, RequestResultFilterViewModel, RequestResultView, RequestType, RequestTypeFilterViewModel, RequestView, ResetPasswordViewModel, ResourceKey, ResourceKeyFilterViewModel, ResourceLanguage, ResourceLanguageFilterViewModel, ResourceTranslationFilterViewModel, ResourceTranslationView, RoleFilterViewModel, RolePermission, RolePermissionFilterViewModel, RoleView, SirenCheckResults, SubcompanyFilterViewModel, SupplierCompany, SupplierCompanyFilterViewModel, SupplierFilterViewModel, SupplierView, SynchronizedCompanyView, SynchronizedCompanyViewFilterViewModel, TvaRateFilterViewModel, TvaRateView, UploadFileResult, UserAccount, UserAccountCompanyFilterViewModel, UserAccountCompanyView, UserAccountFilterViewModel, UserAccountLoginFilterViewModel, UserAccountLoginView, UserAccountNews, UserAccountNewsFilterViewModel, UserAccountRoleFilterViewModel, UserAccountRoleView, UserAccountToken, UserAccountTokenFilterViewModel, UserCredential, UserFavorite, UserFavoriteFilterViewModel, UserGroup, UserGroupDefinitionFilterViewModel, UserGroupDefinitionView, UserGroupFilterViewModel, UserHistory, UserHistoryFilterViewModel, UserPermissionView, UserPermissionViewFilterViewModel, UserProfileViewModel, UserSession, UserSessionFilterViewModel, Version, VersionFilterViewModel } from "@dflat-core/web/system-model";
|
|
5
5
|
import * as i3 from "@dflat-core/web/core-model";
|
|
6
6
|
import { ColumnDescriptor, EntityViewModelWithFields, EntityWithSpecifics, ExportModel, ExtendedProperty, FilterDescriptor, ImageFormats, PagedList, RunActionContext, SaveResult, SaveResults, TreeItem } from "@dflat-core/web/core-model";
|
|
7
7
|
import { DataService, EntityDataService } from "@dflat-core/web/core-data";
|
|
@@ -354,7 +354,7 @@ export declare class PluginParameterValueDataService extends EntityDataService<P
|
|
|
354
354
|
static ɵfac: i0.ɵɵFactoryDeclaration<PluginParameterValueDataService, never>;
|
|
355
355
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
356
356
|
}
|
|
357
|
-
export declare class PresentationProfileDataService extends EntityDataService<
|
|
357
|
+
export declare class PresentationProfileDataService extends EntityDataService<PresentationProfileView, PresentationProfileFilterViewModel> {
|
|
358
358
|
protected dataService: DataService;
|
|
359
359
|
getEntityKey(): string;
|
|
360
360
|
constructor(dataService: DataService);
|
|
@@ -446,6 +446,8 @@ export declare class MetaEntityFormDataService extends EntityDataService<MetaEnt
|
|
|
446
446
|
protected dataService: DataService;
|
|
447
447
|
getEntityKey(): string;
|
|
448
448
|
constructor(dataService: DataService);
|
|
449
|
+
getFormEditor(id: number): Observable<FormEditorContext>;
|
|
450
|
+
saveFormEditor(model: FormEditorContext): Observable<SaveResult>;
|
|
449
451
|
static ɵfac: i0.ɵɵFactoryDeclaration<MetaEntityFormDataService, never>;
|
|
450
452
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
451
453
|
}
|
|
@@ -31,6 +31,67 @@ export interface AddressView extends EntityViewModel {
|
|
|
31
31
|
Web?: string;
|
|
32
32
|
ZipCode?: string;
|
|
33
33
|
}
|
|
34
|
+
export interface MetaEntityFormFieldView extends EntityViewModel {
|
|
35
|
+
ButtonLabel?: string;
|
|
36
|
+
CascadeDependency?: boolean;
|
|
37
|
+
CascadeDependencyProperty?: string;
|
|
38
|
+
ColumnIndex?: number;
|
|
39
|
+
ConditioningBoolValue?: boolean;
|
|
40
|
+
ConditioningMetaEntityFormFieldId?: number;
|
|
41
|
+
ConditioningMetaEntityFormFieldPropertyName?: string;
|
|
42
|
+
ConditioningValues?: string;
|
|
43
|
+
DataMetaEntityEntityName?: string;
|
|
44
|
+
DataMetaEntityId?: number;
|
|
45
|
+
Description?: string;
|
|
46
|
+
DisplayImage?: boolean;
|
|
47
|
+
DisplayMember?: string;
|
|
48
|
+
EnumMetaEntityEntityName?: string;
|
|
49
|
+
EnumMetaEntityId?: number;
|
|
50
|
+
ExportPropertyName?: string;
|
|
51
|
+
FieldColumnSpan?: number;
|
|
52
|
+
FieldConditionalResult?: number;
|
|
53
|
+
FieldFilterType?: number;
|
|
54
|
+
FilterDistinct?: boolean;
|
|
55
|
+
HideSelected?: boolean;
|
|
56
|
+
Highlight?: boolean;
|
|
57
|
+
Id?: number;
|
|
58
|
+
IncludeAllOption?: boolean;
|
|
59
|
+
InputType?: string;
|
|
60
|
+
IsClearable?: boolean;
|
|
61
|
+
IsConditional?: boolean;
|
|
62
|
+
IsConditioning?: boolean;
|
|
63
|
+
IsExtendedProperty?: boolean;
|
|
64
|
+
IsHidden?: boolean;
|
|
65
|
+
IsReadOnly?: boolean;
|
|
66
|
+
IsRequired?: boolean;
|
|
67
|
+
IsStatic?: boolean;
|
|
68
|
+
KeepPlace?: boolean;
|
|
69
|
+
Label?: string;
|
|
70
|
+
MaxLength?: number;
|
|
71
|
+
MaxValue?: number;
|
|
72
|
+
MetaEntityFieldFieldName?: string;
|
|
73
|
+
MetaEntityFieldId?: number;
|
|
74
|
+
MetaEntityFormSectionId?: number;
|
|
75
|
+
MetaEntityFormSectionName?: string;
|
|
76
|
+
MetaEntityViewFieldFieldName?: string;
|
|
77
|
+
MetaEntityViewFieldId?: number;
|
|
78
|
+
MinValue?: number;
|
|
79
|
+
ModalEntityKey?: string;
|
|
80
|
+
ModalOnly?: boolean;
|
|
81
|
+
ModalPropertyName?: string;
|
|
82
|
+
ModalPropertyValue?: string;
|
|
83
|
+
ModalTitle?: string;
|
|
84
|
+
ModalTriggerProperty?: string;
|
|
85
|
+
ModalTriggerValue?: string;
|
|
86
|
+
MultipleSelection?: boolean;
|
|
87
|
+
NotDefaultRequired?: boolean;
|
|
88
|
+
OrderNumber?: number;
|
|
89
|
+
PropertyName?: string;
|
|
90
|
+
RowVersion?: Date;
|
|
91
|
+
ToolTip?: string;
|
|
92
|
+
ValidatorTypes?: number;
|
|
93
|
+
ValueMember?: string;
|
|
94
|
+
}
|
|
34
95
|
export interface ErrorCategory extends EntityViewModel {
|
|
35
96
|
Childrens?: INode[];
|
|
36
97
|
Code?: string;
|
|
@@ -101,66 +162,21 @@ export interface Permission extends EntityViewModel {
|
|
|
101
162
|
RowVersion?: Date;
|
|
102
163
|
UniqueName?: string;
|
|
103
164
|
}
|
|
104
|
-
export interface
|
|
105
|
-
ButtonLabel?: string;
|
|
106
|
-
CascadeDependency?: boolean;
|
|
107
|
-
CascadeDependencyProperty?: string;
|
|
108
|
-
ColumnIndex?: number;
|
|
109
|
-
ConditioningBoolValue?: boolean;
|
|
110
|
-
ConditioningMetaEntityFormFieldId?: number;
|
|
111
|
-
ConditioningMetaEntityFormFieldPropertyName?: string;
|
|
112
|
-
ConditioningValues?: string;
|
|
165
|
+
export interface MetaEntityFormSectionView extends EntityViewModel {
|
|
113
166
|
DataMetaEntityEntityName?: string;
|
|
114
167
|
DataMetaEntityId?: number;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
DisplayMember?: string;
|
|
118
|
-
EnumMetaEntityEntityName?: string;
|
|
119
|
-
EnumMetaEntityId?: number;
|
|
120
|
-
ExportPropertyName?: string;
|
|
121
|
-
FieldColumnSpan?: number;
|
|
122
|
-
FieldConditionalResult?: number;
|
|
123
|
-
FieldFilterType?: number;
|
|
124
|
-
FilterDistinct?: boolean;
|
|
125
|
-
HideSelected?: boolean;
|
|
126
|
-
Highlight?: boolean;
|
|
168
|
+
FilterPropertyName?: string;
|
|
169
|
+
FormFields?: MetaEntityFormFieldView[];
|
|
127
170
|
Id?: number;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
IsClearable?: boolean;
|
|
131
|
-
IsConditional?: boolean;
|
|
132
|
-
IsConditioning?: boolean;
|
|
133
|
-
IsExtendedProperty?: boolean;
|
|
171
|
+
IsCustomFieldSection?: boolean;
|
|
172
|
+
IsFileSection?: boolean;
|
|
134
173
|
IsHidden?: boolean;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
Label?: string;
|
|
140
|
-
MaxLength?: number;
|
|
141
|
-
MaxValue?: number;
|
|
142
|
-
MetaEntityFieldFieldName?: string;
|
|
143
|
-
MetaEntityFieldId?: number;
|
|
144
|
-
MetaEntityFormSectionId?: number;
|
|
145
|
-
MetaEntityFormSectionName?: string;
|
|
146
|
-
MetaEntityViewFieldFieldName?: string;
|
|
147
|
-
MetaEntityViewFieldId?: number;
|
|
148
|
-
MinValue?: number;
|
|
149
|
-
ModalEntityKey?: string;
|
|
150
|
-
ModalOnly?: boolean;
|
|
151
|
-
ModalPropertyName?: string;
|
|
152
|
-
ModalPropertyValue?: string;
|
|
153
|
-
ModalTitle?: string;
|
|
154
|
-
ModalTriggerProperty?: string;
|
|
155
|
-
ModalTriggerValue?: string;
|
|
156
|
-
MultipleSelection?: boolean;
|
|
157
|
-
NotDefaultRequired?: boolean;
|
|
174
|
+
IsTrackRecordSection?: boolean;
|
|
175
|
+
MetaEntityFormCode?: string;
|
|
176
|
+
MetaEntityFormId?: number;
|
|
177
|
+
Name?: string;
|
|
158
178
|
OrderNumber?: number;
|
|
159
|
-
PropertyName?: string;
|
|
160
179
|
RowVersion?: Date;
|
|
161
|
-
ToolTip?: string;
|
|
162
|
-
ValidatorTypes?: number;
|
|
163
|
-
ValueMember?: string;
|
|
164
180
|
}
|
|
165
181
|
export interface CustomFieldGroupItemView extends EntityViewModel {
|
|
166
182
|
CustomFieldGroupType?: number;
|
|
@@ -488,6 +504,25 @@ export interface RatingSummary extends EntityViewModel {
|
|
|
488
504
|
TotalNote?: number;
|
|
489
505
|
VoteNumber?: number;
|
|
490
506
|
}
|
|
507
|
+
export interface PresentationProfileView extends EntityViewModel {
|
|
508
|
+
Id?: number;
|
|
509
|
+
Items?: PresentationProfileItem[];
|
|
510
|
+
Label?: string;
|
|
511
|
+
MetaEntityEntityName?: string;
|
|
512
|
+
MetaEntityKey?: string;
|
|
513
|
+
MetaEntityLabel?: string;
|
|
514
|
+
PresentationProfilePurpose?: number;
|
|
515
|
+
PresentationProfilePurposeLabel?: string;
|
|
516
|
+
PresentationProfileScope?: number;
|
|
517
|
+
PresentationProfileScopeLabel?: string;
|
|
518
|
+
RoleId?: number;
|
|
519
|
+
RoleUniqueName?: string;
|
|
520
|
+
RowVersion?: Date;
|
|
521
|
+
SupplierId?: number;
|
|
522
|
+
SupplierUniqueName?: string;
|
|
523
|
+
UserAccountId?: number;
|
|
524
|
+
UserAccountPseudo?: string;
|
|
525
|
+
}
|
|
491
526
|
export interface PresentationProfileItemView extends EntityViewModel {
|
|
492
527
|
ColumnKey?: string;
|
|
493
528
|
ColumnSourceType?: number;
|
|
@@ -509,8 +544,10 @@ export interface PresentationProfile extends EntityViewModel {
|
|
|
509
544
|
MetaEntityKey?: string;
|
|
510
545
|
PresentationProfilePurpose?: number;
|
|
511
546
|
PresentationProfileScope?: number;
|
|
547
|
+
RoleId?: number;
|
|
512
548
|
RowVersion?: Date;
|
|
513
|
-
|
|
549
|
+
SupplierId?: number;
|
|
550
|
+
UserAccountId?: number;
|
|
514
551
|
}
|
|
515
552
|
export interface PermissionView extends EntityViewModel {
|
|
516
553
|
Code?: string;
|
|
@@ -639,22 +676,7 @@ export interface MetaEntityFormView extends EntityViewModel {
|
|
|
639
676
|
MetaEntityEntityName?: string;
|
|
640
677
|
MetaEntityId?: number;
|
|
641
678
|
RowVersion?: Date;
|
|
642
|
-
|
|
643
|
-
export interface MetaEntityFormSectionView extends EntityViewModel {
|
|
644
|
-
DataMetaEntityEntityName?: string;
|
|
645
|
-
DataMetaEntityId?: number;
|
|
646
|
-
FilterPropertyName?: string;
|
|
647
|
-
FormFields?: MetaEntityFormFieldView[];
|
|
648
|
-
Id?: number;
|
|
649
|
-
IsCustomFieldSection?: boolean;
|
|
650
|
-
IsFileSection?: boolean;
|
|
651
|
-
IsHidden?: boolean;
|
|
652
|
-
IsTrackRecordSection?: boolean;
|
|
653
|
-
MetaEntityFormCode?: string;
|
|
654
|
-
MetaEntityFormId?: number;
|
|
655
|
-
Name?: string;
|
|
656
|
-
OrderNumber?: number;
|
|
657
|
-
RowVersion?: Date;
|
|
679
|
+
Sections?: MetaEntityFormSectionView[];
|
|
658
680
|
}
|
|
659
681
|
export interface MetaEntityField extends EntityViewModel {
|
|
660
682
|
ClearFieldData?: boolean;
|
|
@@ -1125,12 +1147,14 @@ export interface PresentationProfileItemFilterViewModel extends EntityFilterView
|
|
|
1125
1147
|
PresentationProfileScope?: number;
|
|
1126
1148
|
ScopeId?: number;
|
|
1127
1149
|
}
|
|
1128
|
-
export interface PresentationProfileFilterViewModel extends EntityFilterViewModel<
|
|
1150
|
+
export interface PresentationProfileFilterViewModel extends EntityFilterViewModel<PresentationProfileView> {
|
|
1129
1151
|
Label?: string;
|
|
1130
1152
|
MetaEntityKey?: string;
|
|
1131
1153
|
PresentationProfilePurpose?: number;
|
|
1132
1154
|
PresentationProfileScope?: number;
|
|
1133
|
-
|
|
1155
|
+
RoleId?: number;
|
|
1156
|
+
SupplierId?: number;
|
|
1157
|
+
UserAccountId?: number;
|
|
1134
1158
|
}
|
|
1135
1159
|
export interface PresentationContext {
|
|
1136
1160
|
Catalog?: PresentationProfileItem[];
|
|
@@ -1247,6 +1271,12 @@ export interface GetFileDescriptorsViewModel {
|
|
|
1247
1271
|
EntityKey?: string;
|
|
1248
1272
|
FileType?: FileTypes;
|
|
1249
1273
|
}
|
|
1274
|
+
export interface FormEditorContext {
|
|
1275
|
+
Catalog?: MetaEntityFormFieldView[];
|
|
1276
|
+
Entities?: MetaEntity[];
|
|
1277
|
+
Form?: MetaEntityFormView;
|
|
1278
|
+
Sections?: MetaEntityFormSectionView[];
|
|
1279
|
+
}
|
|
1250
1280
|
export interface FilesFilterViewModel extends EntityFilterViewModel<FilesView> {
|
|
1251
1281
|
EntityId?: number;
|
|
1252
1282
|
EntityIds?: number[];
|
|
@@ -460,8 +460,6 @@ export declare class BaseSystemMenuItemProvider {
|
|
|
460
460
|
*/
|
|
461
461
|
export declare class SystemMenuItemProvider extends BaseSystemMenuItemProvider {
|
|
462
462
|
static readonly configMenuItem: MenuItem;
|
|
463
|
-
static readonly gridColumnConfigMenuItem: MenuItem;
|
|
464
|
-
static readonly presentationProfileMenuItem: MenuItem;
|
|
465
463
|
}
|
|
466
464
|
/**
|
|
467
465
|
* Menu du module System, organisé par thème (menu.txt) : un élément par entité,
|