@dflat-core/web 1.7.2076 → 1.7.2078

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.
@@ -364,6 +364,7 @@ export declare class PresentationProfileDataService extends EntityDataService<Pr
364
364
  getUserViews(request: PresentationViewRequest): Observable<PresentationViews>;
365
365
  linkCardView(request: PresentationViewRequest): Observable<SaveResult>;
366
366
  renameView(request: PresentationViewRequest): Observable<SaveResult>;
367
+ saveGridCard(model: PresentationContext): Observable<SaveResult>;
367
368
  savePresentationProfile(model: PresentationContext): Observable<SaveResult>;
368
369
  selectView(request: PresentationViewRequest): Observable<SaveResult>;
369
370
  static ɵfac: i0.ɵɵFactoryDeclaration<PresentationProfileDataService, never>;
@@ -1601,10 +1601,12 @@ export interface PresentationViews {
1601
1601
  Views?: PresentationProfile[];
1602
1602
  }
1603
1603
  export interface PresentationViewRequest {
1604
+ FilterQuery?: string;
1604
1605
  Label?: string;
1605
1606
  MetaEntityKey?: string;
1606
1607
  PresentationProfileId?: number;
1607
1608
  PresentationProfilePurpose?: number;
1609
+ SortQuery?: string;
1608
1610
  }
1609
1611
  export interface PresentationProfileItemFilterViewModel extends EntityFilterViewModel<PresentationProfileItemView> {
1610
1612
  ColumnKey?: string;
@@ -1629,6 +1631,7 @@ export interface PresentationProfileFilterViewModel extends EntityFilterViewMode
1629
1631
  export interface PresentationContext {
1630
1632
  Catalog?: PresentationProfileItem[];
1631
1633
  DefaultProfile?: PresentationProfile;
1634
+ GridViewId?: number;
1632
1635
  IsUserProfile?: boolean;
1633
1636
  Profile?: PresentationProfile;
1634
1637
  Resolved?: PresentationProfileItem[];
@@ -1,11 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
- import { AfterViewInit, DoCheck, ElementRef, EventEmitter, InjectionToken, Injector, ModuleWithProviders, OnDestroy, OnInit, Renderer2, Type, ViewContainerRef } from "@angular/core";
2
+ import { AfterViewInit, DoCheck, ElementRef, EventEmitter, InjectionToken, Injector, ModuleWithProviders, OnDestroy, OnInit, Renderer2, TemplateRef, Type, ViewContainerRef } from "@angular/core";
3
3
  import * as i6 from "@dflat-core/web/core";
4
4
  import { EnsureModuleLoadedOnceGuard, EnvironmentBase } from "@dflat-core/web/core";
5
5
  import * as i125 from "@angular/router";
6
6
  import { ActivatedRoute, Router, Routes } from "@angular/router";
7
7
  import * as i114 from "@dflat-core/web/core-ux";
8
- import { Action, ActionService, ActionsComponent, AlertService, ApplicationService, BaseComponent, BaseEditorComponent, BaseEntityEditor, DefaultLayoutComponent, DflatModalService, DynamicFormComponent, EntityFacade, EntitySection, EntitySectionProvider, EntitySelector, FacadeModalService, FilterEditorColumn, FilterEditorSort, GridColumnChoice, GridViewList, IActionComponent, IIsCancel, IPpService, ISectionConfig, ImageService, LayoutPreferences, ModalService, NewEditorComponent, OrderableModalService, PpCardView, PpCardViews, PpGridConfig, PpViewQueries, SelectorMapperServiceBase, ValidationService, ViewFilterGroup } from "@dflat-core/web/core-ux";
8
+ import { Action, ActionService, ActionsComponent, AlertService, ApplicationService, BaseComponent, BaseEditorComponent, BaseEntityEditor, DefaultLayoutComponent, DflatModalService, DynamicFormComponent, EntityFacade, EntitySection, EntitySectionProvider, EntitySelector, FacadeModalService, FilterEditorColumn, FilterEditorSort, GridColumnChoice, GridViewList, IActionComponent, IIsCancel, IPpService, ISectionConfig, ImageService, LayoutPreferences, ModalService, NewEditorComponent, OrderableModalService, PpCardView, PpGridConfig, PpViewQueries, SelectorMapperServiceBase, ValidationService, ViewFilterGroup } from "@dflat-core/web/core-ux";
9
9
  import * as i117 from "@dflat-core/web/system-model";
10
10
  import { ActivationResults, AddressView, AddressViewFilterViewModel, ChangePasswordViewModel, ColumnDisplayTypes, CompanyFilterViewModel, CompanyView, Country, CountryFilterViewModel, Currency, CurrencyFilterViewModel, CustomFieldFilterViewModel, CustomFieldGroup, CustomFieldGroupEntityFilterViewModel, CustomFieldGroupEntityView, CustomFieldGroupFilterViewModel, CustomFieldGroupItemFilterViewModel, CustomFieldGroupItemView, CustomFieldOptionsFilterViewModel, CustomFieldOptionsView, CustomFieldValueFilterViewModel, CustomFieldValueView, CustomFieldView, DayInfo, DayInfoFilterViewModel, EntityFiles, EntityFilesFilterViewModel, ErrorCategory, ErrorCategoryFilterViewModel, ExchangeRateFilterViewModel, ExchangeRateView, FieldFilterTypes, FileDescriptor, FileTypes, FilesFilterViewModel, FilesView, FormEditorContext, ImageUploadEvent, Keyword, KeywordFilterViewModel, MetaEntity, MetaEntityField, MetaEntityFieldFilterViewModel, MetaEntityFilterViewModel, MetaEntityFormFieldFilterViewModel, MetaEntityFormFieldView, MetaEntityFormFilterViewModel, MetaEntityFormSectionFilterViewModel, MetaEntityFormSectionView, MetaEntityFormView, MetaEntityKeyword, MetaEntityKeywordFilterViewModel, MetaEntityRelation, MetaEntityRelationDefinition, MetaEntityRelationDefinitionFilterViewModel, MetaEntityRelationFilterViewModel, MetaEntityTranslation, MetaEntityTranslationFilterViewModel, MetaEntityViewField, MetaEntityViewFieldFilterViewModel, News, NewsFilterViewModel, ParameterSection, ParameterSectionFilterViewModel, ParameterValueView, ParameterValueViewFilterViewModel, ParameterView, ParameterViewFilterViewModel, Permission, PermissionFilterViewModel, PermissionView, PresentationContext, PresentationProfile, PresentationProfileFilterViewModel, PresentationProfileItem, PresentationProfileItemFilterViewModel, PresentationProfileItemView, PresentationProfilePurposes, PresentationProfileView, RatingFilterViewModel, RatingSummary, RatingSummaryFilterViewModel, RatingView, RequestEntity, RequestEntityFilterViewModel, RequestFilterViewModel, RequestResultFilterViewModel, RequestResultView, RequestType, RequestTypeFilterViewModel, RequestView, ResourceKey, ResourceKeyFilterViewModel, ResourceLanguage, ResourceLanguageFilterViewModel, ResourceTranslationFilterViewModel, ResourceTranslationView, RoleFilterViewModel, RolePermission, RolePermissionFilterViewModel, RoleView, SubcompanyFilterViewModel, SupplierCompany, SupplierCompanyFilterViewModel, SupplierFilterViewModel, SupplierView, SynchronizedCompanyView, SynchronizedCompanyViewFilterViewModel, TvaRateFilterViewModel, TvaRateView, UploadFileResult, UserAccount, UserAccountCompanyFilterViewModel, UserAccountCompanyView, UserAccountFilterViewModel, UserAccountLoginFilterViewModel, UserAccountLoginView, UserAccountNews, UserAccountNewsFilterViewModel, UserAccountRoleFilterViewModel, UserAccountRoleView, UserAccountToken, UserAccountTokenFilterViewModel, UserFavorite, UserFavoriteFilterViewModel, UserGroup, UserGroupDefinitionFilterViewModel, UserGroupDefinitionView, UserGroupFilterViewModel, UserHistory, UserHistoryFilterViewModel, UserPermissionView, UserPermissionViewFilterViewModel, UserProfileViewModel, UserSession, UserSessionFilterViewModel, Version, VersionFilterViewModel } from "@dflat-core/web/system-model";
11
11
  import * as i113 from "@dflat-core/web/core-model";
@@ -1451,6 +1451,8 @@ export declare abstract class BaseSubcompanyComponent extends BaseComponent<Subc
1451
1451
  getPath(): string;
1452
1452
  getEntityKey(): string;
1453
1453
  get PermissionKey(): string;
1454
+ /** Clé des profils de présentation de l'écran (metadata/05-presentations, menu « Colonnes » des grilles). */
1455
+ protected getPpMetaEntityKey(): string | null;
1454
1456
  constructor(app: ApplicationService, route: ActivatedRoute);
1455
1457
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseSubcompanyComponent, never>;
1456
1458
  static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSubcompanyComponent, never, never, {}, {}, never, never, true, never>;
@@ -3502,8 +3504,31 @@ declare namespace presentation_profile_editor_component_d_exports {
3502
3504
  export declare class PresentationProfileEditorComponent extends BaseEntityEditor<PresentationProfileView> implements OnInit, DoCheck {
3503
3505
  private itemData;
3504
3506
  private modalService;
3505
- /** Onglet affiché : 0 « Propriétés », 1 « Colonnes », 2 « Tri », 3 « Filtres ». */
3507
+ /** Onglet affiché : 0 « Propriétés », 1 « Colonnes », 2 « Tri », 3 « Filtres », 4 « Carte ». */
3506
3508
  activeTab: number;
3509
+ /**
3510
+ * Contenu de l'onglet « Carte » (carte de la vue Grille), donné par la fenêtre des vues d'une grille,
3511
+ * qui l'enregistre avec la vue ; sans contenu, pas d'onglet « Carte ».
3512
+ */
3513
+ cardTemplate: TemplateRef<unknown> | null;
3514
+ /**
3515
+ * Champs du FilterPanel de la grille (fenêtre des vues d'une grille) : leurs valeurs s'enregistrent
3516
+ * avec le filtre de la vue (onglet « Filtres ») ; sans eux, les valeurs enregistrées sont gardées.
3517
+ */
3518
+ panelFields: FilterEditorColumn[];
3519
+ /** Onglets affichés, dans l'ordre (numéros d'activeTab). */
3520
+ get visibleTabs(): number[];
3521
+ /** Onglet choisi par son rang parmi les onglets affichés. */
3522
+ selectTab(index: number): void;
3523
+ /** Onglet affiché, ou « Colonnes » si l'onglet choisi n'est plus proposé (« Filtres » d'une vue par défaut). */
3524
+ get shownTab(): number;
3525
+ /**
3526
+ * Onglet « Propriétés » affiché : masqué dans la fenêtre des vues d'une grille, où la table, la finalité
3527
+ * et la portée sont celles de la grille et la vue se choisit dans la liste de gauche.
3528
+ */
3529
+ set showProperties(value: boolean);
3530
+ get showProperties(): boolean;
3531
+ private _showProperties;
3507
3532
  /** Tri de la vue (onglet « Tri »), modifié en place par l'éditeur des filtres. */
3508
3533
  viewSort: FilterEditorSort[];
3509
3534
  /** Filtre de la vue (onglet « Filtres »), modifié en place par l'éditeur des filtres. */
@@ -3537,6 +3562,8 @@ export declare class PresentationProfileEditorComponent extends BaseEntityEditor
3537
3562
  private load$;
3538
3563
  get isPerimeter(): boolean;
3539
3564
  get selectedCount(): number;
3565
+ /** Vue par défaut (portée Default) : pas d'onglet « Filtres », son filtre s'appliquerait à tous les utilisateurs. */
3566
+ get isDefaultView(): boolean;
3540
3567
  /** Dernier état du profil en cours d'édition : modifications non enregistrées comprises. */
3541
3568
  private get current();
3542
3569
  constructor(app: ApplicationService, validationService: ValidationService, itemData: PresentationProfileItemDataService, modalService: DflatModalService);
@@ -3592,7 +3619,20 @@ export declare class PresentationProfileEditorComponent extends BaseEntityEditor
3592
3619
  removeFromSelection(item: PresentationProfileItem): void;
3593
3620
  onDrop(event: CdkDragDrop<PresentationProfileItem[]>): void;
3594
3621
  static ɵfac: i0.ɵɵFactoryDeclaration<PresentationProfileEditorComponent, never>;
3595
- static ɵcmp: i0.ɵɵComponentDeclaration<PresentationProfileEditorComponent, "alg-presentation-profile-editor", never, {}, {}, never, never, false, never>;
3622
+ static ɵcmp: i0.ɵɵComponentDeclaration<PresentationProfileEditorComponent, "alg-presentation-profile-editor", never, {
3623
+ "cardTemplate": {
3624
+ "alias": "cardTemplate";
3625
+ "required": false;
3626
+ };
3627
+ "panelFields": {
3628
+ "alias": "panelFields";
3629
+ "required": false;
3630
+ };
3631
+ "showProperties": {
3632
+ "alias": "showProperties";
3633
+ "required": false;
3634
+ };
3635
+ }, {}, never, never, false, never>;
3596
3636
  }
3597
3637
  /**
3598
3638
  * Recherche et édition des PresentationProfileView (partie générée) : titre, lien, clé d'entité et
@@ -3655,6 +3695,10 @@ export interface PpConfig {
3655
3695
  tab?: 'columns' | 'filters';
3656
3696
  /** Colonnes de la grille, pour le filtre (types et valeurs des types énumérés). */
3657
3697
  filterColumns?: FilterEditorColumn[];
3698
+ /** Champs du FilterPanel de la grille, dont les valeurs s'enregistrent avec la vue (onglet « Filtres »). */
3699
+ panelFields?: FilterEditorColumn[];
3700
+ /** Tri et filtre en cours dans la grille (FilterPanel compris) : ceux d'une nouvelle vue copiée de la vue affichée. */
3701
+ gridQueries?: PpViewQueries;
3658
3702
  }
3659
3703
  export interface PpGroup {
3660
3704
  id: string;
@@ -3698,6 +3742,16 @@ export declare class PresentationProfileTransformer {
3698
3742
  /** Split selected items into standard column keys and custom-field ids (for export payloads). */
3699
3743
  static splitForExport(items: PresentationProfileItem[]): PpExportSplit;
3700
3744
  }
3745
+ /** Colonne proposée pour un emplacement de la carte. */
3746
+ interface CardColumnOption {
3747
+ key: string;
3748
+ label: string;
3749
+ }
3750
+ /** Emplacements d'une carte, dans l'ordre d'EnumCardSlots. */
3751
+ declare const CardSlotNames: readonly ["title", "text", "detail", "badge", "image"];
3752
+ type CardSlotName = typeof CardSlotNames[number];
3753
+ /** Clé de l'image par défaut de l'élément (EnumColumnSourceTypes.EntityImage). */
3754
+ declare const EntityImageKey = "@EntityImage";
3701
3755
  export interface PpResolverConfig {
3702
3756
  metaEntityKey: string;
3703
3757
  purpose?: number;
@@ -3785,6 +3839,38 @@ declare class PresentationProfileService implements OnDestroy {
3785
3839
  private loadQueries;
3786
3840
  /** Colonnes du filtre : type d'après l'affichage du catalogue, à défaut celui de la grille. */
3787
3841
  private buildFilterColumns;
3842
+ /** Emplacements de la carte, dans l'ordre d'EnumCardSlots. */
3843
+ readonly cardSlotList: {
3844
+ name: CardSlotName;
3845
+ label: string;
3846
+ }[];
3847
+ /** Colonnes proposées aux emplacements : libellé suivi du nom technique, par ordre alphabétique. */
3848
+ cardOptions: CardColumnOption[];
3849
+ /** Images proposées : image de l'élément, colonnes image et icônes des types énumérés. */
3850
+ cardImageOptions: CardColumnOption[];
3851
+ /** Colonne de chaque emplacement de la carte de la vue choisie (vide : rien). */
3852
+ cardSlots: Record<CardSlotName, string>;
3853
+ /** Emplacements à leur chargement (repère des changements). */
3854
+ private loadedCardSlots;
3855
+ /** La vue choisie affiche la carte par défaut de la table (pas de carte propre). */
3856
+ usesDefaultCard: boolean;
3857
+ /** Libellé de la carte affichée par la vue choisie. */
3858
+ cardLabel: string;
3859
+ get hasCardChanges(): boolean;
3860
+ private static emptySlots;
3861
+ /** Colonnes proposées aux emplacements de la carte, d'après le catalogue de la table. */
3862
+ private buildCardOptions;
3863
+ /** Carte de la vue choisie : la sienne, à défaut la carte par défaut de la table. */
3864
+ private loadCard;
3865
+ /** « Carte par défaut » : plus de carte propre, la vue affichera la carte par défaut de la table. */
3866
+ resetCard(): void;
3867
+ /** Colonnes de la carte, avec leur emplacement. */
3868
+ private cardItems;
3869
+ /**
3870
+ * Carte modifiée : enregistrée pour la vue Grille donnée (une vue par défaut en lecture seule est
3871
+ * copiée par le serveur en une vue personnelle). Renvoie la vue Grille à afficher.
3872
+ */
3873
+ private saveCard;
3788
3874
  readonly confirmed$: Subject<PpResult>;
3789
3875
  readonly cancelled$: Subject<void>;
3790
3876
  private destroy$;
@@ -3811,6 +3897,14 @@ declare class PresentationProfileService implements OnDestroy {
3811
3897
  /** Choisit une vue : ses colonnes, dans leur ordre, passent à droite. */
3812
3898
  selectView(view: PpView): void;
3813
3899
  private setSelection;
3900
+ /**
3901
+ * « + » : nouvelle vue de l'utilisateur, copie de la vue choisie (à défaut de la vue par défaut), qui
3902
+ * devient la vue choisie. Copie de la vue affichée par la grille : avec le tri et le filtre en cours
3903
+ * dans la grille (tri, FilterPanel et filtre additionnel).
3904
+ */
3905
+ createView(): void;
3906
+ /** Libellé proposé pour une nouvelle vue (numéroté par le serveur s'il est pris). */
3907
+ private static readonly NewViewLabel;
3814
3908
  /** Duplique la vue en une nouvelle vue de l'utilisateur, qui devient la vue choisie. */
3815
3909
  duplicateView(view: PpView): void;
3816
3910
  /** Supprime une vue de l'utilisateur ; la vue choisie redevient la vue affichée. */
@@ -3852,9 +3946,10 @@ declare namespace presentation_profile_component_d_exports {
3852
3946
  }
3853
3947
  /**
3854
3948
  * Fenêtre des vues personnalisées d'une grille : à gauche les vues de la table (vue par défaut, vues de
3855
- * l'utilisateur : renommer, dupliquer, supprimer), à droite l'éditeur standard de la vue choisie, celui
3856
- * de l'écran « Vues personnalisées » (onglets Propriétés, Colonnes, Tri et Filtres), sur une façade
3857
- * propre à la fenêtre. « Appliquer » reprend la vue modifiée dans l'éditeur, l'enregistre (une vue par
3949
+ * l'utilisateur : nouvelle vue « + », renommer, dupliquer, supprimer), à droite l'éditeur standard de la
3950
+ * vue choisie, celui de l'écran « Vues personnalisées » (onglets Colonnes, Tri et Filtres), sur une façade
3951
+ * propre à la fenêtre, avec un onglet « Carte » : la carte de la vue, à défaut la carte par défaut de la
3952
+ * table. « Appliquer » reprend la vue modifiée dans l'éditeur, l'enregistre avec sa carte (une vue par
3858
3953
  * défaut en lecture seule donne une nouvelle vue de l'utilisateur) et l'affiche dans la grille.
3859
3954
  */
3860
3955
  export declare class PresentationProfileComponent implements OnInit, DoCheck, OnDestroy {
@@ -3865,6 +3960,8 @@ export declare class PresentationProfileComponent implements OnInit, DoCheck, On
3865
3960
  readonly cancelled: EventEmitter<void>;
3866
3961
  /** Emplacement de l'éditeur standard de la vue choisie. */
3867
3962
  editorHost: ViewContainerRef;
3963
+ /** Contenu de l'onglet « Carte » de l'éditeur. */
3964
+ cardTab: TemplateRef<unknown>;
3868
3965
  /** Façade propre à la fenêtre : la vue choisie y est la ligne sélectionnée de l'éditeur. */
3869
3966
  private readonly guid;
3870
3967
  private editor?;
@@ -3967,6 +4064,8 @@ export declare class PpFacadeService implements IPpService {
3967
4064
  viewId?: number | null;
3968
4065
  tab?: 'columns' | 'filters';
3969
4066
  filterColumns?: any[];
4067
+ panelFields?: any[];
4068
+ gridQueries?: PpViewQueries;
3970
4069
  }): void;
3971
4070
  openProfileEditor(config: {
3972
4071
  title: string;
@@ -3984,6 +4083,12 @@ export declare class PpFacadeService implements IPpService {
3984
4083
  saveColumnOrder(config: PpGridConfig & {
3985
4084
  title: string;
3986
4085
  }, columnOrder: string[], queries?: PpViewQueries): void;
4086
+ confirmLeaveView(config: PpGridConfig & {
4087
+ title: string;
4088
+ }, columnOrder: string[], queries?: PpViewQueries): Observable<boolean>;
4089
+ saveViewFilter(config: PpGridConfig & {
4090
+ title: string;
4091
+ }, columnOrder: string[], queries: PpViewQueries): Observable<boolean>;
3987
4092
  saveCurrentColumnOrder(config: PpGridConfig & {
3988
4093
  title: string;
3989
4094
  }, columnOrder: string[], queries?: PpViewQueries): Observable<boolean>;
@@ -3993,15 +4098,8 @@ export declare class PpFacadeService implements IPpService {
3993
4098
  * ou Échap répondent non.
3994
4099
  */
3995
4100
  private askSaveView;
3996
- createView(config: PpGridConfig): Observable<boolean>;
4101
+ createView(config: PpGridConfig, queries?: PpViewQueries): Observable<boolean>;
3997
4102
  loadCardView(config: PpGridConfig): Observable<PpCardView | null>;
3998
- loadCardViews(config: PpGridConfig): Observable<PpCardViews>;
3999
- linkCardView(config: PpGridConfig, cardId: number | null): Observable<boolean>;
4000
- editCardView(config: PpGridConfig & {
4001
- title: string;
4002
- }): Observable<boolean>;
4003
- /** Libellé proposé pour une carte créée par la personnalisation (numéroté par le serveur s'il est pris). */
4004
- private static readonly NewCardLabel;
4005
4103
  loadViewColumns(config: PpGridConfig): Observable<GridColumnChoice[]>;
4006
4104
  /** Libellé proposé pour une vue créée par « Nouvelle vue » (numéroté par le serveur s'il est pris). */
4007
4105
  private static readonly NewViewLabel;