@memberjunction/ng-entity-viewer 6.1.4 → 6.2.0-edge.1
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/dist/lib/aggregate-panel/aggregate-panel.component.d.ts +18 -2
- package/dist/lib/aggregate-panel/aggregate-panel.component.d.ts.map +1 -1
- package/dist/lib/aggregate-panel/aggregate-panel.component.js +47 -18
- package/dist/lib/aggregate-panel/aggregate-panel.component.js.map +1 -1
- package/dist/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.d.ts +22 -0
- package/dist/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.d.ts.map +1 -1
- package/dist/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.js +57 -13
- package/dist/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.js.map +1 -1
- package/dist/lib/entity-cards/entity-cards.component.d.ts +68 -5
- package/dist/lib/entity-cards/entity-cards.component.d.ts.map +1 -1
- package/dist/lib/entity-cards/entity-cards.component.js +213 -73
- package/dist/lib/entity-cards/entity-cards.component.js.map +1 -1
- package/dist/lib/entity-data-grid/entity-data-grid.component.d.ts +156 -14
- package/dist/lib/entity-data-grid/entity-data-grid.component.d.ts.map +1 -1
- package/dist/lib/entity-data-grid/entity-data-grid.component.js +432 -138
- package/dist/lib/entity-data-grid/entity-data-grid.component.js.map +1 -1
- package/dist/lib/entity-data-grid/events/grid-events.js +67 -67
- package/dist/lib/entity-data-grid/events/grid-events.js.map +1 -1
- package/dist/lib/entity-record-detail-panel/entity-record-detail-panel.component.d.ts +112 -8
- package/dist/lib/entity-record-detail-panel/entity-record-detail-panel.component.d.ts.map +1 -1
- package/dist/lib/entity-record-detail-panel/entity-record-detail-panel.component.js +255 -69
- package/dist/lib/entity-record-detail-panel/entity-record-detail-panel.component.js.map +1 -1
- package/dist/lib/entity-viewer/entity-viewer.component.d.ts +11 -0
- package/dist/lib/entity-viewer/entity-viewer.component.d.ts.map +1 -1
- package/dist/lib/entity-viewer/entity-viewer.component.js +45 -8
- package/dist/lib/entity-viewer/entity-viewer.component.js.map +1 -1
- package/dist/lib/pill/pill.component.d.ts +13 -3
- package/dist/lib/pill/pill.component.d.ts.map +1 -1
- package/dist/lib/pill/pill.component.js +34 -10
- package/dist/lib/pill/pill.component.js.map +1 -1
- package/dist/lib/quick-save-dialog/quick-save-dialog.component.d.ts +29 -3
- package/dist/lib/quick-save-dialog/quick-save-dialog.component.d.ts.map +1 -1
- package/dist/lib/quick-save-dialog/quick-save-dialog.component.js +173 -114
- package/dist/lib/quick-save-dialog/quick-save-dialog.component.js.map +1 -1
- package/dist/lib/recycle-bin/recycle-bin.component.d.ts +4 -0
- package/dist/lib/recycle-bin/recycle-bin.component.d.ts.map +1 -1
- package/dist/lib/recycle-bin/recycle-bin.component.js +10 -2
- package/dist/lib/recycle-bin/recycle-bin.component.js.map +1 -1
- package/dist/lib/utils/aggregate-field.util.d.ts +21 -0
- package/dist/lib/utils/aggregate-field.util.d.ts.map +1 -0
- package/dist/lib/utils/aggregate-field.util.js +40 -0
- package/dist/lib/utils/aggregate-field.util.js.map +1 -0
- package/dist/lib/utils/highlight.util.d.ts +6 -0
- package/dist/lib/utils/highlight.util.d.ts.map +1 -1
- package/dist/lib/utils/highlight.util.js +23 -11
- package/dist/lib/utils/highlight.util.js.map +1 -1
- package/dist/lib/utils/record.util.d.ts +10 -0
- package/dist/lib/utils/record.util.d.ts.map +1 -1
- package/dist/lib/utils/record.util.js +20 -4
- package/dist/lib/utils/record.util.js.map +1 -1
- package/dist/lib/view-config-panel/view-config-panel.component.d.ts +22 -2
- package/dist/lib/view-config-panel/view-config-panel.component.d.ts.map +1 -1
- package/dist/lib/view-config-panel/view-config-panel.component.js +54 -14
- package/dist/lib/view-config-panel/view-config-panel.component.js.map +1 -1
- package/dist/lib/view-selector/view-selector.component.js +2 -2
- package/dist/lib/view-types/renderers/cards-view-renderer.component.d.ts +15 -3
- package/dist/lib/view-types/renderers/cards-view-renderer.component.d.ts.map +1 -1
- package/dist/lib/view-types/renderers/cards-view-renderer.component.js +33 -5
- package/dist/lib/view-types/renderers/cards-view-renderer.component.js.map +1 -1
- package/dist/lib/view-types/renderers/grid-view-renderer.component.d.ts +160 -5
- package/dist/lib/view-types/renderers/grid-view-renderer.component.d.ts.map +1 -1
- package/dist/lib/view-types/renderers/grid-view-renderer.component.js +576 -36
- package/dist/lib/view-types/renderers/grid-view-renderer.component.js.map +1 -1
- package/dist/lib/view-types/renderers/map-view-renderer.component.d.ts +16 -2
- package/dist/lib/view-types/renderers/map-view-renderer.component.d.ts.map +1 -1
- package/dist/lib/view-types/renderers/map-view-renderer.component.js +37 -9
- package/dist/lib/view-types/renderers/map-view-renderer.component.js.map +1 -1
- package/dist/lib/view-types/view-type.contracts.js.map +1 -1
- package/dist/lib/view-workspace/view-workspace.component.d.ts +235 -24
- package/dist/lib/view-workspace/view-workspace.component.d.ts.map +1 -1
- package/dist/lib/view-workspace/view-workspace.component.js +600 -174
- package/dist/lib/view-workspace/view-workspace.component.js.map +1 -1
- package/dist/module.d.ts +5 -4
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +8 -1
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +21 -20
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { EntityInfo, RunViewParams } from '@memberjunction/core';
|
|
1
|
+
import { EventEmitter, OnDestroy } from '@angular/core';
|
|
2
|
+
import { EntityInfo, RunViewParams, CompositeKey } from '@memberjunction/core';
|
|
3
3
|
import { ExportColumn } from '@memberjunction/export-engine';
|
|
4
|
+
import { type FieldComparison, type MergeConfig, type MergeConfirmedEvent } from '@memberjunction/ng-record-merge';
|
|
4
5
|
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
5
6
|
import { PageChangeEvent } from '@memberjunction/ng-pagination';
|
|
6
7
|
import { ListManagementDialogConfig, ListManagementResult } from '@memberjunction/ng-list-management';
|
|
@@ -102,7 +103,7 @@ export interface GridViewConfig {
|
|
|
102
103
|
* by those exact names via `setInput`), rather than MJ's usual PascalCase for public members —
|
|
103
104
|
* mirroring the Cards and Cluster renderers.
|
|
104
105
|
*/
|
|
105
|
-
export declare class GridViewRendererComponent extends BaseAngularComponent implements IViewRenderer<GridViewConfig
|
|
106
|
+
export declare class GridViewRendererComponent extends BaseAngularComponent implements IViewRenderer<GridViewConfig>, OnDestroy {
|
|
106
107
|
/** Change detection ref used to flush dialog visibility toggles driven by grid events. */
|
|
107
108
|
private cdr;
|
|
108
109
|
/** The entity whose records are being rendered. Used to build default params + resolve selection. */
|
|
@@ -113,7 +114,11 @@ export declare class GridViewRendererComponent extends BaseAngularComponent impl
|
|
|
113
114
|
* Optional full-result-set fetcher supplied by the host, forwarded to the grid's ExportDataProvider
|
|
114
115
|
* so exports cover every matching row rather than just the loaded page (bug C1).
|
|
115
116
|
*/
|
|
116
|
-
|
|
117
|
+
ExportDataProvider: (() => Promise<Record<string, unknown>[]>) | null;
|
|
118
|
+
/** @deprecated Use {@link ExportDataProvider}. */
|
|
119
|
+
set exportDataProvider(value: (() => Promise<Record<string, unknown>[]>) | null);
|
|
120
|
+
/** @deprecated Use {@link ExportDataProvider}. */
|
|
121
|
+
get exportDataProvider(): (() => Promise<Record<string, unknown>[]>) | null;
|
|
117
122
|
/** Primary-key string of the currently selected record, if any. */
|
|
118
123
|
selectedRecordId: string | null;
|
|
119
124
|
/** Active filter text — passed through for the grid's cell highlighting. */
|
|
@@ -184,32 +189,50 @@ export declare class GridViewRendererComponent extends BaseAngularComponent impl
|
|
|
184
189
|
/** Dynamic message for the delete-confirmation dialog (reflects the staged record count). */
|
|
185
190
|
protected deleteConfirmMessage: string;
|
|
186
191
|
/** Effective toolbar visibility — defaults to `true` when not set in config. */
|
|
192
|
+
get EffectiveShowToolbar(): boolean;
|
|
193
|
+
/** @deprecated Use {@link EffectiveShowToolbar}. */
|
|
187
194
|
get effectiveShowToolbar(): boolean;
|
|
188
195
|
/**
|
|
189
196
|
* Grid search defaults OFF when hosted in entity-viewer. The container already owns
|
|
190
197
|
* `filterText` ("Filter records..."). Opt in with `toolbarConfig.showSearch: true`.
|
|
191
198
|
*/
|
|
199
|
+
get EffectiveShowSearch(): boolean;
|
|
200
|
+
/** @deprecated Use {@link EffectiveShowSearch}. */
|
|
192
201
|
get effectiveShowSearch(): boolean;
|
|
193
202
|
/** Effective selection mode — defaults to `'checkbox'` when not set in config. */
|
|
203
|
+
get EffectiveSelectionMode(): GridSelectionMode;
|
|
204
|
+
/** @deprecated Use {@link EffectiveSelectionMode}. */
|
|
194
205
|
get effectiveSelectionMode(): GridSelectionMode;
|
|
195
206
|
/** Effective add-to-list button visibility — defaults to `true` when not set in config. */
|
|
207
|
+
get EffectiveShowAddToListButton(): boolean;
|
|
208
|
+
/** @deprecated Use {@link EffectiveShowAddToListButton}. */
|
|
196
209
|
get effectiveShowAddToListButton(): boolean;
|
|
197
210
|
/** Effective pager visibility — defaults to `true` when not set in config. */
|
|
211
|
+
get EffectiveShowPager(): boolean;
|
|
212
|
+
/** @deprecated Use {@link EffectiveShowPager}. */
|
|
198
213
|
get effectiveShowPager(): boolean;
|
|
199
214
|
/** Effective page size — config wins, else the generic `pageSize` input, else the grid's own default. */
|
|
215
|
+
get EffectivePageSize(): number;
|
|
216
|
+
/** @deprecated Use {@link EffectivePageSize}. */
|
|
200
217
|
get effectivePageSize(): number;
|
|
201
218
|
/**
|
|
202
219
|
* Effective RunViewParams for the grid. Uses `config.params` when supplied; otherwise builds a
|
|
203
220
|
* minimal dynamic-view params object from {@link entity}. Returns `null` when no entity is known
|
|
204
221
|
* yet (the grid renders empty until the host provides one).
|
|
205
222
|
*/
|
|
223
|
+
get EffectiveParams(): RunViewParams | null;
|
|
224
|
+
/** @deprecated Use {@link EffectiveParams}. */
|
|
206
225
|
get effectiveParams(): RunViewParams | null;
|
|
207
226
|
/**
|
|
208
227
|
* Row single-click → {@link recordSelected}. Extracts the raw record (`event.row`) so the host
|
|
209
228
|
* builds the composite key itself, matching the other renderers.
|
|
210
229
|
*/
|
|
230
|
+
OnAfterRowClick(event: AfterRowClickEventArgs): void;
|
|
231
|
+
/** @deprecated Use {@link OnAfterRowClick}. */
|
|
211
232
|
onAfterRowClick(event: AfterRowClickEventArgs): void;
|
|
212
233
|
/** Row double-click → {@link recordOpened} (NAVIGATION), emitting the raw record object. */
|
|
234
|
+
OnAfterRowDoubleClick(event: AfterRowDoubleClickEventArgs): void;
|
|
235
|
+
/** @deprecated Use {@link OnAfterRowDoubleClick}. */
|
|
213
236
|
onAfterRowDoubleClick(event: AfterRowDoubleClickEventArgs): void;
|
|
214
237
|
/**
|
|
215
238
|
* Sort change → both generic coordination channels:
|
|
@@ -217,17 +240,23 @@ export declare class GridViewRendererComponent extends BaseAngularComponent impl
|
|
|
217
240
|
* 2. persists the sort into `config.gridState.sortSettings` and emits {@link configChanged} so
|
|
218
241
|
* the grid's sort survives view reloads via the opaque config channel.
|
|
219
242
|
*/
|
|
243
|
+
OnAfterSort(event: AfterSortEventArgs): void;
|
|
244
|
+
/** @deprecated Use {@link OnAfterSort}. */
|
|
220
245
|
onAfterSort(event: AfterSortEventArgs): void;
|
|
221
246
|
/**
|
|
222
247
|
* Generic grid-state change (column resize / reorder / visibility) → merge the grid's updated
|
|
223
248
|
* {@link ViewGridState} into the opaque config and emit {@link configChanged}; the host persists
|
|
224
249
|
* the blob verbatim. No `dataRequest` here — column changes don't alter the loaded record set.
|
|
225
250
|
*/
|
|
251
|
+
OnGridStateChanged(event: GridStateChangedEvent): void;
|
|
252
|
+
/** @deprecated Use {@link OnGridStateChanged}. */
|
|
226
253
|
onGridStateChanged(event: GridStateChangedEvent): void;
|
|
227
254
|
/**
|
|
228
255
|
* Selection change → kept INTERNAL. The grid drives its own add-to-list from the selection, so the
|
|
229
256
|
* wrapper has no need to surface it. We intentionally do not bubble selection anywhere.
|
|
230
257
|
*/
|
|
258
|
+
OnSelectionChange(_selectedKeys: string[]): void;
|
|
259
|
+
/** @deprecated Use {@link OnSelectionChange}. */
|
|
231
260
|
onSelectionChange(_selectedKeys: string[]): void;
|
|
232
261
|
/**
|
|
233
262
|
* Foreign-key link click → {@link openRelatedRecordRequested} (NAVIGATION). Maps the grid's
|
|
@@ -235,20 +264,28 @@ export declare class GridViewRendererComponent extends BaseAngularComponent impl
|
|
|
235
264
|
* {@link ViewRelatedRecordNavigation} the container forwards to the outer app for routing. The
|
|
236
265
|
* related entity name is taken from the event when present, else resolved from the metadata by ID.
|
|
237
266
|
*/
|
|
267
|
+
OnForeignKeyClick(event: ForeignKeyClickEvent): void;
|
|
268
|
+
/** @deprecated Use {@link OnForeignKeyClick}. */
|
|
238
269
|
onForeignKeyClick(event: ForeignKeyClickEvent): void;
|
|
239
270
|
/** New button → {@link createRecordRequested} (NAVIGATION) — opening the create form is routing. */
|
|
271
|
+
OnNewButtonClick(): void;
|
|
272
|
+
/** @deprecated Use {@link OnNewButtonClick}. */
|
|
240
273
|
onNewButtonClick(): void;
|
|
241
274
|
/**
|
|
242
275
|
* Pager navigation → generic {@link dataRequest}. Maps the grid's {@link PageChangeEvent}
|
|
243
276
|
* (`PageNumber` is already 1-based, `PageSize`) onto the generic `{ page, pageSize }` shape the
|
|
244
277
|
* host honors against its own RunView.
|
|
245
278
|
*/
|
|
279
|
+
OnPageChange(event: PageChangeEvent): void;
|
|
280
|
+
/** @deprecated Use {@link OnPageChange}. */
|
|
246
281
|
onPageChange(event: PageChangeEvent): void;
|
|
247
282
|
/**
|
|
248
283
|
* Refresh button → re-emit {@link dataRequest} so the host reloads the current page. This is
|
|
249
284
|
* generic container ↔ plug-in coordination (a data-access request), NOT a feature event surfaced
|
|
250
285
|
* to the outer app.
|
|
251
286
|
*/
|
|
287
|
+
OnRefreshButtonClick(): void;
|
|
288
|
+
/** @deprecated Use {@link OnRefreshButtonClick}. */
|
|
252
289
|
onRefreshButtonClick(): void;
|
|
253
290
|
/**
|
|
254
291
|
* Add-to-list button → build a {@link ListManagementDialogConfig} from the entity + the records the
|
|
@@ -256,14 +293,24 @@ export declare class GridViewRendererComponent extends BaseAngularComponent impl
|
|
|
256
293
|
* changes itself — nothing bubbles up. Mirrors the config construction the legacy host did in
|
|
257
294
|
* `data-explorer-dashboard`'s `onAddToListRequested()`.
|
|
258
295
|
*/
|
|
296
|
+
OnAddToListRequested(event: {
|
|
297
|
+
entityInfo: EntityInfo;
|
|
298
|
+
records: Record<string, unknown>[];
|
|
299
|
+
recordIds: string[];
|
|
300
|
+
}): void;
|
|
301
|
+
/** @deprecated Use {@link OnAddToListRequested}. */
|
|
259
302
|
onAddToListRequested(event: {
|
|
260
303
|
entityInfo: EntityInfo;
|
|
261
304
|
records: Record<string, unknown>[];
|
|
262
305
|
recordIds: string[];
|
|
263
306
|
}): void;
|
|
264
307
|
/** List-management dialog completed (membership changes applied) → tear down state. */
|
|
308
|
+
OnListManagementComplete(_result: ListManagementResult): void;
|
|
309
|
+
/** @deprecated Use {@link OnListManagementComplete}. */
|
|
265
310
|
onListManagementComplete(_result: ListManagementResult): void;
|
|
266
311
|
/** List-management dialog cancelled → tear down state. */
|
|
312
|
+
OnListManagementCancel(): void;
|
|
313
|
+
/** @deprecated Use {@link OnListManagementCancel}. */
|
|
267
314
|
onListManagementCancel(): void;
|
|
268
315
|
/**
|
|
269
316
|
* Resolve a human-friendly display name for a record using the entity's NameField, falling back to
|
|
@@ -281,6 +328,8 @@ export declare class GridViewRendererComponent extends BaseAngularComponent impl
|
|
|
281
328
|
* Delete button → stage the records and open the Generic confirm dialog. The actual delete happens
|
|
282
329
|
* in {@link onDeleteConfirmed} after the user confirms — nothing bubbles up.
|
|
283
330
|
*/
|
|
331
|
+
OnDeleteButtonClick(records: Record<string, unknown>[]): void;
|
|
332
|
+
/** @deprecated Use {@link OnDeleteButtonClick}. */
|
|
284
333
|
onDeleteButtonClick(records: Record<string, unknown>[]): void;
|
|
285
334
|
/**
|
|
286
335
|
* Delete confirmed → delete each staged record through the MJ entity layer
|
|
@@ -288,9 +337,115 @@ export declare class GridViewRendererComponent extends BaseAngularComponent impl
|
|
|
288
337
|
* result and surfacing failures via {@link LogError}. After deletion, re-request the current page
|
|
289
338
|
* so the host reloads. Self-contained — no feature event leaves the wrapper.
|
|
290
339
|
*/
|
|
340
|
+
OnDeleteConfirmed(): Promise<void>;
|
|
341
|
+
/** @deprecated Use {@link OnDeleteConfirmed}. */
|
|
291
342
|
onDeleteConfirmed(): Promise<void>;
|
|
292
343
|
/** Delete cancelled → discard the staged records and close the confirm dialog. */
|
|
344
|
+
OnDeleteCancelled(): void;
|
|
345
|
+
/** @deprecated Use {@link OnDeleteCancelled}. */
|
|
293
346
|
onDeleteCancelled(): void;
|
|
347
|
+
/**
|
|
348
|
+
* The in-flight merge, or null when the panel is closed. Holds everything the panel needs
|
|
349
|
+
* plus the dependency preview, so the panel itself stays a pure presentation component.
|
|
350
|
+
*/
|
|
351
|
+
protected mergeState: {
|
|
352
|
+
Config: MergeConfig;
|
|
353
|
+
Fields: FieldComparison[];
|
|
354
|
+
IsMerging: boolean;
|
|
355
|
+
DependencyNote: string | null;
|
|
356
|
+
/** The entity and the two records' real keys — the Config only carries their serialized form. */
|
|
357
|
+
Entity: EntityInfo;
|
|
358
|
+
Keys: [CompositeKey, CompositeKey];
|
|
359
|
+
} | null;
|
|
360
|
+
/** A one-line status shown under the grid — why a merge was refused, or how one ended. */
|
|
361
|
+
protected mergeNotice: string | null;
|
|
362
|
+
/** Auto-dismiss timer for {@link mergeNotice}; cleared whenever the notice is replaced. */
|
|
363
|
+
private mergeNoticeTimer;
|
|
364
|
+
/**
|
|
365
|
+
* How long a merge notice stays up before dismissing itself. The banner is fixed-position over
|
|
366
|
+
* the whole application, so leaving it until the next merge pins it across navigation and every
|
|
367
|
+
* other record the user visits afterwards.
|
|
368
|
+
*/
|
|
369
|
+
private static readonly MERGE_NOTICE_TIMEOUT_MS;
|
|
370
|
+
private readonly comparison;
|
|
371
|
+
ngOnDestroy(): void;
|
|
372
|
+
/** Dismiss the merge notice from its own close button. */
|
|
373
|
+
OnDismissMergeNotice(): void;
|
|
374
|
+
/** @deprecated Use {@link OnDismissMergeNotice}. */
|
|
375
|
+
onDismissMergeNotice(): void;
|
|
376
|
+
/**
|
|
377
|
+
* Set (or clear) the merge notice, replacing any pending auto-dismiss. Every write to
|
|
378
|
+
* `mergeNotice` goes through here so a notice cannot outlive its timer or strand an old one.
|
|
379
|
+
*/
|
|
380
|
+
private setMergeNotice;
|
|
381
|
+
/**
|
|
382
|
+
* Show the Merge button only where merging can actually succeed: the entity opts in and the
|
|
383
|
+
* user can both update the survivor and delete the loser.
|
|
384
|
+
*/
|
|
385
|
+
protected get effectiveShowMergeButton(): boolean;
|
|
386
|
+
/** The record that will be deleted, named so the user sees the choice before confirming. */
|
|
387
|
+
protected get mergeLoserLabel(): string;
|
|
388
|
+
/**
|
|
389
|
+
* The grid asked to merge the selected rows. Compare them, preview what will move, and open
|
|
390
|
+
* the panel — nothing is written until the user confirms.
|
|
391
|
+
*/
|
|
392
|
+
OnMergeRequested(event: {
|
|
393
|
+
entityInfo: EntityInfo;
|
|
394
|
+
records: Record<string, unknown>[];
|
|
395
|
+
}): Promise<void>;
|
|
396
|
+
/** @deprecated Use {@link OnMergeRequested}. */
|
|
397
|
+
onMergeRequested(event: {
|
|
398
|
+
entityInfo: EntityInfo;
|
|
399
|
+
records: Record<string, unknown>[];
|
|
400
|
+
}): Promise<void>;
|
|
401
|
+
/** The user chose which record survives; differing fields default to that record's values. */
|
|
402
|
+
OnSurvivorChange(side: 'left' | 'right'): void;
|
|
403
|
+
/** @deprecated Use {@link OnSurvivorChange}. */
|
|
404
|
+
onSurvivorChange(side: 'left' | 'right'): void;
|
|
405
|
+
private prepareMerge;
|
|
406
|
+
/** The user confirmed: merge, then reload the page so the loser disappears from the grid. */
|
|
407
|
+
OnMergeConfirmed(event: MergeConfirmedEvent): Promise<void>;
|
|
408
|
+
/** @deprecated Use {@link OnMergeConfirmed}. */
|
|
409
|
+
onMergeConfirmed(event: MergeConfirmedEvent): Promise<void>;
|
|
410
|
+
/** Merge cancelled → close the panel, write nothing. */
|
|
411
|
+
OnMergeCancelled(): void;
|
|
412
|
+
/** @deprecated Use {@link OnMergeCancelled}. */
|
|
413
|
+
onMergeCancelled(): void;
|
|
414
|
+
/**
|
|
415
|
+
* Fields whose resolution has to travel, and only those: the survivor already holds the value
|
|
416
|
+
* for any field resolved to its own side.
|
|
417
|
+
*
|
|
418
|
+
* The distinction that matters is "the user did not change this" versus "the user chose the
|
|
419
|
+
* blank side". Both arrive as an absent value, so deciding from the value alone drops a real
|
|
420
|
+
* resolution — the survivor silently keeps its old value on the one operation where someone is
|
|
421
|
+
* reconciling two records field by field, and the loser is gone afterwards. So the skip is
|
|
422
|
+
* decided from WHICH SIDE was chosen, and a chosen blank is written through as null.
|
|
423
|
+
*/
|
|
424
|
+
private buildFieldMap;
|
|
425
|
+
/**
|
|
426
|
+
* True when any of these records has a row in an IS-A child entity, null when that could not be
|
|
427
|
+
* determined (a child view the user cannot read answers `Success: false`, which must not pass
|
|
428
|
+
* for "no rows"). `MergeRecords` has no subtype handling: the child rows share the parent's key,
|
|
429
|
+
* so merging would collide. Refuse rather than half-merge.
|
|
430
|
+
*/
|
|
431
|
+
private hasIsAChildRows;
|
|
432
|
+
/**
|
|
433
|
+
* `(childPk = v1) OR (childPk = v2)` against one child entity, built from the parent's key
|
|
434
|
+
* VALUES and the child's own key COLUMN NAMES, paired positionally because an IS-A child shares
|
|
435
|
+
* its parent's key by design. Null when the child's key arity differs, which means it does not
|
|
436
|
+
* share the key and cannot hold a subtype row for these records.
|
|
437
|
+
*/
|
|
438
|
+
private buildChildKeyFilter;
|
|
439
|
+
/**
|
|
440
|
+
* How many linked records will move to the survivor — the thing users most want to know.
|
|
441
|
+
*
|
|
442
|
+
* Indexes `counts[0]` / `counts[1]` directly: `onMergeRequested` refuses anything other than
|
|
443
|
+
* exactly two records before reaching here, and the merge panel's config is two-sided by
|
|
444
|
+
* construction, so this is only ever called with a pair. Widen both together.
|
|
445
|
+
*/
|
|
446
|
+
private describeDependencies;
|
|
447
|
+
/** A human label for a row — its name field when it has one, else its key. */
|
|
448
|
+
private labelFor;
|
|
294
449
|
/** Build a {@link ViewDataRequest} that re-requests the host's current page/pageSize, if known. */
|
|
295
450
|
private currentPageDataRequest;
|
|
296
451
|
/**
|
|
@@ -299,7 +454,7 @@ export declare class GridViewRendererComponent extends BaseAngularComponent impl
|
|
|
299
454
|
*/
|
|
300
455
|
private resolveEntityNameById;
|
|
301
456
|
static ɵfac: i0.ɵɵFactoryDeclaration<GridViewRendererComponent, never>;
|
|
302
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GridViewRendererComponent, "mj-grid-view-renderer", never, { "entity": { "alias": "entity"; "required": false; }; "records": { "alias": "records"; "required": false; }; "exportDataProvider": { "alias": "exportDataProvider"; "required": false; }; "selectedRecordId": { "alias": "selectedRecordId"; "required": false; }; "filterText": { "alias": "filterText"; "required": false; }; "config": { "alias": "config"; "required": false; }; "AutoLoadEntityActions": { "alias": "AutoLoadEntityActions"; "required": false; }; "totalRecordCount": { "alias": "totalRecordCount"; "required": false; }; "page": { "alias": "page"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; }, { "recordSelected": "recordSelected"; "recordOpened": "recordOpened"; "configChanged": "configChanged"; "dataRequest": "dataRequest"; "configureRequested": "configureRequested"; "openRelatedRecordRequested": "openRelatedRecordRequested"; "createRecordRequested": "createRecordRequested"; }, never, never, false, never>;
|
|
457
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GridViewRendererComponent, "mj-grid-view-renderer", never, { "entity": { "alias": "entity"; "required": false; }; "records": { "alias": "records"; "required": false; }; "ExportDataProvider": { "alias": "ExportDataProvider"; "required": false; }; "exportDataProvider": { "alias": "exportDataProvider"; "required": false; }; "selectedRecordId": { "alias": "selectedRecordId"; "required": false; }; "filterText": { "alias": "filterText"; "required": false; }; "config": { "alias": "config"; "required": false; }; "AutoLoadEntityActions": { "alias": "AutoLoadEntityActions"; "required": false; }; "totalRecordCount": { "alias": "totalRecordCount"; "required": false; }; "page": { "alias": "page"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; }, { "recordSelected": "recordSelected"; "recordOpened": "recordOpened"; "configChanged": "configChanged"; "dataRequest": "dataRequest"; "configureRequested": "configureRequested"; "openRelatedRecordRequested": "openRelatedRecordRequested"; "createRecordRequested": "createRecordRequested"; }, never, never, false, never>;
|
|
303
458
|
}
|
|
304
459
|
/**
|
|
305
460
|
* Tree-shaking guard. Force-references this renderer so bundlers (ESBuild/Vite) don't drop the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-view-renderer.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/view-types/renderers/grid-view-renderer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,
|
|
1
|
+
{"version":3,"file":"grid-view-renderer.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/view-types/renderers/grid-view-renderer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAmD,SAAS,EAAU,MAAM,eAAe,CAAC;AAC3I,OAAO,EAAE,UAAU,EAAE,aAAa,EAAY,YAAY,EAA+B,MAAM,sBAAsB,CAAC;AACtH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AACtH,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACrI,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;;AAE5F;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kEAAkE;IAClE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,gEAAgE;IAChE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,qBA+Ka,yBAA0B,SAAQ,oBAAqB,YAAW,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACrH,0FAA0F;IAC1F,OAAO,CAAC,GAAG,CAA6B;IAIxC,qGAAqG;IAC5F,MAAM,EAAE,UAAU,GAAG,IAAI,CAAQ;IAE1C,gGAAgG;IACvF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IAEjD;;;OAGG;IACM,kBAAkB,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAQ;IAEtF,kDAAkD;IAClD,IAAa,kBAAkB,CAAC,KAAK,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAEvF;IACD,kDAAkD;IAClD,IAAI,kBAAkB,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAE1E;IAED,mEAAmE;IAC1D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEhD,4EAA4E;IACnE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE1C,oGAAoG;IAC3F,MAAM,EAAE,cAAc,CAAM;IAErC;;;;OAIG;IACM,qBAAqB,UAAQ;IAItC,6FAA6F;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC,kGAAkG;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,+EAA+E;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,oGAAoG;IAC3F,SAAS,CAAC,EAAE,OAAO,CAAC;IAI7B,qGAAqG;IAC3F,cAAc,wBAA+B;IAEvD,qGAAqG;IAC3F,YAAY,wBAA+B;IAErD,oGAAoG;IAC1F,aAAa,+BAAsC;IAE7D,uFAAuF;IAC7E,WAAW,gCAAuC;IAE5D;;;;;OAKG;IACO,kBAAkB,qBAA4B;IAExD;;;OAGG;IACO,0BAA0B,4CAAmD;IAEvF,yGAAyG;IAC/F,qBAAqB,qBAA4B;IAE3D;;;OAGG;IACgB,SAAS,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAE5D;;;;;;;;OAQG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQxE,4GAA4G;IAC5G,gBAAgB,IAAI,YAAY,EAAE;IASlC,qGAAqG;IACrG,SAAS,CAAC,wBAAwB,UAAS;IAE3C,+FAA+F;IAC/F,SAAS,CAAC,oBAAoB,EAAE,0BAA0B,GAAG,IAAI,CAAQ;IAEzE,4GAA4G;IAC5G,SAAS,CAAC,iBAAiB,UAAS;IAEpC,oEAAoE;IACpE,OAAO,CAAC,oBAAoB,CAAiC;IAE7D,6FAA6F;IAC7F,SAAS,CAAC,oBAAoB,SAA2D;IAMzF,gFAAgF;IAChF,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,oDAAoD;IACpD,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED;;;OAGG;IACH,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,mDAAmD;IACnD,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,kFAAkF;IAClF,IAAI,sBAAsB,IAAI,iBAAiB,CAE9C;IAED,sDAAsD;IACtD,IAAI,sBAAsB,IAAI,iBAAiB,CAE9C;IAED,2FAA2F;IAC3F,IAAI,4BAA4B,IAAI,OAAO,CAE1C;IAED,4DAA4D;IAC5D,IAAI,4BAA4B,IAAI,OAAO,CAE1C;IAED,8EAA8E;IAC9E,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,kDAAkD;IAClD,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,yGAAyG;IACzG,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,iDAAiD;IACjD,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;;;OAIG;IACH,IAAI,eAAe,IAAI,aAAa,GAAG,IAAI,CAQ1C;IAED,+CAA+C;IAC/C,IAAI,eAAe,IAAI,aAAa,GAAG,IAAI,CAE1C;IAMD;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAMpD,+CAA+C;IAC/C,eAAe,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAIpD,4FAA4F;IAC5F,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,GAAG,IAAI;IAMhE,qDAAqD;IACrD,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,GAAG,IAAI;IAIhE;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAU5C,2CAA2C;IAC3C,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAI5C;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAKtD,kDAAkD;IAClD,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAItD;;;OAGG;IACH,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI;IAIhD,iDAAiD;IACjD,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI;IAIhD;;;;;OAKG;IACH,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAQpD,iDAAiD;IACjD,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAIpD,oGAAoG;IACpG,gBAAgB,IAAI,IAAI;IAIxB,gDAAgD;IAChD,gBAAgB,IAAI,IAAI;IAIxB;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAI1C,4CAA4C;IAC5C,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAQ1C;;;;OAIG;IACH,oBAAoB,IAAI,IAAI;IAI5B,oDAAoD;IACpD,oBAAoB,IAAI,IAAI;IAc5B;;;;;OAKG;IACH,oBAAoB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IA8BtH,oDAAoD;IACpD,oBAAoB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAItH,uFAAuF;IACvF,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAM7D,wDAAwD;IACxD,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI7D,0DAA0D;IAC1D,sBAAsB,IAAI,IAAI;IAM9B,sDAAsD;IACtD,sBAAsB,IAAI,IAAI;IAI9B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IAW7D,mDAAmD;IACnD,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IAI7D;;;;;OAKG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCxC,iDAAiD;IAC3C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC,kFAAkF;IAClF,iBAAiB,IAAI,IAAI;IAMzB,iDAAiD;IACjD,iBAAiB,IAAI,IAAI;IAQzB;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE;QACpB,MAAM,EAAE,WAAW,CAAC;QACpB,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1B,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,iGAAiG;QACjG,MAAM,EAAE,UAAU,CAAC;QACnB,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;KACpC,GAAG,IAAI,CAAQ;IAEhB,0FAA0F;IAC1F,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5C,2FAA2F;IAC3F,OAAO,CAAC,gBAAgB,CAA8C;IAEtE;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAEvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAE9D,WAAW,IAAI,IAAI;IASnB,0DAA0D;IAC1D,oBAAoB,IAAI,IAAI;IAK5B,oDAAoD;IACpD,oBAAoB,IAAI,IAAI;IAI5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAetB;;;OAGG;IACH,SAAS,KAAK,wBAAwB,IAAI,OAAO,CAMhD;IAED,4FAA4F;IAC5F,SAAS,KAAK,eAAe,IAAI,MAAM,CAItC;IAED;;;OAGG;IACG,gBAAgB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5G,gDAAgD;IAC1C,gBAAgB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5G,8FAA8F;IAC9F,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAS9C,gDAAgD;IAChD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;YAIhC,YAAY;IAuF1B,6FAA6F;IACvF,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BjE,gDAAgD;IAC1C,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,wDAAwD;IACxD,gBAAgB,IAAI,IAAI;IAKxB,gDAAgD;IAChD,gBAAgB,IAAI,IAAI;IAIxB;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAiBrB;;;;;OAKG;YACW,eAAe;IA4B7B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;OAMG;YACW,oBAAoB;IAYlC,8EAA8E;IAC9E,OAAO,CAAC,QAAQ;IAUhB,mGAAmG;IACnG,OAAO,CAAC,sBAAsB;IAY9B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;yCA36BlB,yBAAyB;2CAAzB,yBAAyB;CAk7BrC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|