ag-grid-url-sync 0.5.3 → 0.5.4

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.
@@ -28,7 +28,14 @@ export const IDLE_SNAPSHOT = Object.freeze({
28
28
  function hasWindow() {
29
29
  return typeof window !== 'undefined';
30
30
  }
31
- function sameIssues(a, b) {
31
+ function writeHistory(url, replace) {
32
+ const state = window.history.state;
33
+ const kept = Object.getPrototypeOf(state ?? 0) === Object.prototype
34
+ ? Object.fromEntries(Object.entries(state).filter(([key]) => key !== '__NA' && key !== '_N'))
35
+ : state;
36
+ window.history[replace ? 'replaceState' : 'pushState'](kept, '', url);
37
+ }
38
+ export function sameIssues(a, b) {
32
39
  return (a.length === b.length &&
33
40
  a.every((issue, index) => issue.code === b[index]?.code &&
34
41
  issue.column === b[index]?.column &&
@@ -59,6 +66,7 @@ export function createSync(options, start = {}) {
59
66
  let ownSource = 'grid';
60
67
  const listensToPopstate = options.popstate ?? historyMode === 'push';
61
68
  let active = null;
69
+ let held = null;
62
70
  let viewList = NO_VIEWS;
63
71
  let snapshot = IDLE_SNAPSHOT;
64
72
  function emit(issue, source) {
@@ -69,6 +77,9 @@ export function createSync(options, start = {}) {
69
77
  reportLater(toError(error));
70
78
  }
71
79
  }
80
+ function gridWork(source) {
81
+ return start.gridSourceForGridWork ? 'grid' : source;
82
+ }
72
83
  function startCall(source, mode) {
73
84
  const issues = [];
74
85
  return {
@@ -144,7 +155,11 @@ export function createSync(options, start = {}) {
144
155
  }
145
156
  }
146
157
  }
147
- function readGrid() {
158
+ function readGrid(source = 'grid') {
159
+ for (const issue of readGridIssues())
160
+ emit(issue, gridWork(source));
161
+ }
162
+ function readGridIssues() {
148
163
  const call = startCall('grid', 'collect');
149
164
  try {
150
165
  state = getFilterModel(api, call.options);
@@ -156,11 +171,8 @@ export function createSync(options, start = {}) {
156
171
  ? generateUrl(window.location.href, state, call.options)
157
172
  : '';
158
173
  const known = new Set(readIssues.map(issueKey));
159
- for (const issue of call.issues) {
160
- if (!known.has(issueKey(issue)))
161
- emit(issue, 'grid');
162
- }
163
174
  readIssues = call.issues.length ? call.issues : NO_ISSUES;
175
+ return call.issues.filter(issue => !known.has(issueKey(issue)));
164
176
  }
165
177
  function apply(target, source, mode, onCreate) {
166
178
  const call = startCall(source, mode);
@@ -188,15 +200,16 @@ export function createSync(options, start = {}) {
188
200
  failed = !setModel(model, 'url', call);
189
201
  }
190
202
  applyIssues = call.issues.length ? call.issues : NO_ISSUES;
191
- readGrid();
203
+ readGrid(applies ? source : 'grid');
192
204
  if (filters && applies && settleUrlWrite(filters, before, failed)) {
193
- followActiveView('url');
205
+ followActiveView('url', source);
194
206
  }
195
207
  publish();
196
208
  return { issues: dataIssues(call.issues) };
197
209
  }
198
210
  function setModel(model, kind, call) {
199
211
  own = startWrite(own, kind);
212
+ held = null;
200
213
  ownSource = call.source;
201
214
  try {
202
215
  api.setFilterModel(model);
@@ -218,6 +231,8 @@ export function createSync(options, start = {}) {
218
231
  kind,
219
232
  failed: false,
220
233
  afterKey: after ? modelKey(after) : null,
234
+ after,
235
+ afterColumnUrlKeys: after ? columnUrlKeys(after) : undefined,
221
236
  before,
222
237
  beforeKey: before ? modelKey(before) : null,
223
238
  accepted,
@@ -226,9 +241,9 @@ export function createSync(options, start = {}) {
226
241
  acceptedColumnUrlKeys: columnUrlKeys(accepted)
227
242
  });
228
243
  own = settled.own;
229
- readGrid();
244
+ readGrid(call.source);
230
245
  if (settled.landed) {
231
- followActiveView(kind);
246
+ followActiveView(kind, call.source);
232
247
  writeLanding(kind, call.source);
233
248
  }
234
249
  return true;
@@ -300,7 +315,7 @@ export function createSync(options, start = {}) {
300
315
  const live = liveModel();
301
316
  return live !== null && modelKey(live) === modelKey(model);
302
317
  }
303
- function followActiveView(landing, seen = 'call', api = true) {
318
+ function followActiveView(landing, source, seen = 'call', api = true) {
304
319
  if (!active)
305
320
  return;
306
321
  if (landing === 'view' || landing === 'restore') {
@@ -320,7 +335,7 @@ export function createSync(options, start = {}) {
320
335
  return;
321
336
  const { id } = active;
322
337
  active = null;
323
- clearPointer(id, startCall('grid', 'report'));
338
+ clearPointer(id, startCall(gridWork(source), 'report'));
324
339
  }
325
340
  function clearPointer(id, call) {
326
341
  try {
@@ -345,6 +360,7 @@ export function createSync(options, start = {}) {
345
360
  kind: 'url',
346
361
  failed,
347
362
  afterKey: filtersKey(state),
363
+ after: state,
348
364
  before,
349
365
  beforeKey: before ? filtersKey(before) : null,
350
366
  accepted,
@@ -404,13 +420,10 @@ export function createSync(options, start = {}) {
404
420
  function write(source, replace) {
405
421
  try {
406
422
  if (historyMode instanceof Function) {
407
- historyMode(url);
408
- }
409
- else if (replace || historyMode === 'replace') {
410
- window.history.replaceState(window.history.state, '', url);
423
+ historyMode(url, { replace });
411
424
  }
412
425
  else {
413
- window.history.pushState(window.history.state, '', url);
426
+ writeHistory(url, replace || historyMode === 'replace');
414
427
  }
415
428
  writeIssues = NO_ISSUES;
416
429
  }
@@ -429,9 +442,9 @@ export function createSync(options, start = {}) {
429
442
  return;
430
443
  write(source, replace);
431
444
  }
432
- function writeLanding(kind, source) {
445
+ function writeLanding(kind, source, rest = false) {
433
446
  if (kind !== 'url')
434
- writeChange(source, kind === 'restore');
447
+ writeChange(source, rest || kind === 'restore');
435
448
  }
436
449
  function holdsView(target, view) {
437
450
  try {
@@ -460,13 +473,23 @@ export function createSync(options, start = {}) {
460
473
  own = key === null ? null : { phase: 'landed', kind: own.kind, key };
461
474
  return;
462
475
  }
463
- readGrid();
476
+ const found = readGridIssues();
477
+ if (showsHeld()) {
478
+ for (const issue of found)
479
+ emit(issue, gridWork('grid'));
480
+ writeChange('grid', true);
481
+ publish();
482
+ return;
483
+ }
464
484
  const result = classify(event?.source);
465
- followActiveView(result.kind === 'landing' ? result.write : null, result.kind !== 'echo' ? 'change' : result.queued ? 'queued' : 'echo', event?.source === 'api');
485
+ const source = result.kind === 'change' ? 'grid' : ownSource;
486
+ for (const issue of found)
487
+ emit(issue, gridWork(source));
488
+ followActiveView(result.kind === 'landing' ? result.write : null, source, result.kind !== 'echo' ? 'change' : result.queued ? 'queued' : 'echo', event?.source === 'api');
466
489
  if (result.kind === 'change')
467
490
  writeChange('grid', false);
468
491
  if (result.kind === 'landing' && result.write !== null) {
469
- writeLanding(result.write, ownSource);
492
+ writeLanding(result.write, ownSource, result.rest === true);
470
493
  }
471
494
  if (result.queued && shownWhilePending(own)) {
472
495
  own = { ...own, before: null, beforeKey: null };
@@ -474,6 +497,21 @@ export function createSync(options, start = {}) {
474
497
  }
475
498
  publish();
476
499
  }
500
+ function showsHeld() {
501
+ if (held === null || Object.keys(state).length === 0)
502
+ return false;
503
+ const shown = filtersKey(state) === held;
504
+ held = null;
505
+ return shown;
506
+ }
507
+ function heldKey() {
508
+ try {
509
+ return urlKey(acceptedPart(api.getState().filter?.filterModel ?? {}));
510
+ }
511
+ catch {
512
+ return null;
513
+ }
514
+ }
477
515
  function shownWhilePending(record) {
478
516
  return (record?.phase === 'pending' &&
479
517
  record.kind !== 'url' &&
@@ -674,11 +712,14 @@ export function createSync(options, start = {}) {
674
712
  }
675
713
  if (handed && start.keepApplyIssues)
676
714
  applyIssues = handed.applyIssues;
715
+ if (handed)
716
+ readIssues = handed.readIssues;
677
717
  handovers.set(sync, () => ({
678
718
  own: own?.phase === 'writing' ? null : own,
679
719
  source: ownSource,
680
720
  keys,
681
721
  applyIssues,
722
+ readIssues,
682
723
  listenerFailure
683
724
  }));
684
725
  const pointer = views?.getActiveViewId();
@@ -720,12 +761,14 @@ export function createSync(options, start = {}) {
720
761
  if (claims && pointer)
721
762
  persistPointer(null, startCall('url', 'report'));
722
763
  }
723
- if (!stored &&
724
- !hasParams &&
725
- historyMode !== 'none' &&
726
- Object.keys(state).length > 0) {
727
- write('url', true);
728
- publish();
764
+ if (!stored && !hasParams && historyMode !== 'none') {
765
+ if (Object.keys(state).length > 0) {
766
+ write('url', true);
767
+ publish();
768
+ }
769
+ else if (own === null) {
770
+ held = heldKey();
771
+ }
729
772
  }
730
773
  }
731
774
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"grid-url-sync.js","sourceRoot":"","sources":["../../src/core/grid-url-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid-url-sync.js","sourceRoot":"","sources":["../../src/core/grid-url-sync.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { FilterModel } from 'ag-grid-community';
1
+ import type { FilterModel } from './grid-integration.js';
2
2
  import type { FilterState } from './types.js';
3
3
  /** What a write is. It decides the key form and the history write at the landing. */
4
4
  export type WriteKind = 'url' | 'view' | 'restore' | 'app';
@@ -14,6 +14,9 @@ export type Columns = Readonly<FilterState> | Readonly<FilterModel>;
14
14
  * the URL form of `accepted`, because the grid can rebuild a model.
15
15
  * - `landed`: the grid shows the write with this key. An event with the same
16
16
  * key is the write's echo: one write can cause more than one event.
17
+ * `fullKey`: the grid showed only part of the write when it landed (#302).
18
+ * AG Grid can take a React custom filter's model after the call. Its own
19
+ * 'api' event with this key is then the end of the same landing.
17
20
  *
18
21
  * `waits`: the URL forms of earlier writes that were still pending when this
19
22
  * write started, oldest first. A deferred grid lands them first and in
@@ -38,6 +41,7 @@ export type OwnWrite = {
38
41
  readonly phase: 'landed';
39
42
  readonly kind: WriteKind;
40
43
  readonly key: string;
44
+ readonly fullKey?: string | undefined;
41
45
  };
42
46
  /**
43
47
  * The URL form of each column of a model, by column id. A column that the
@@ -55,6 +59,10 @@ export interface AfterCall {
55
59
  readonly failed: boolean;
56
60
  /** The key of the grid after the call. Null: the grid could not be read. */
57
61
  readonly afterKey: string | null;
62
+ /** The grid's columns after the call, in the form of `accepted` */
63
+ readonly after?: Columns | null | undefined;
64
+ /** A model write: the URL form of each column of `after` */
65
+ readonly afterColumnUrlKeys?: ColumnUrlKeys | undefined;
58
66
  readonly before: Columns | null;
59
67
  readonly beforeKey: string | null;
60
68
  readonly accepted: Columns;
@@ -77,6 +85,11 @@ export interface Classified {
77
85
  * passes through the state of that write
78
86
  */
79
87
  readonly queued?: boolean | undefined;
88
+ /**
89
+ * A landing that ends a landing in two parts (#302): the URL has the
90
+ * first part already, so the URL write replaces that entry
91
+ */
92
+ readonly rest?: boolean | undefined;
80
93
  }
81
94
  /**
82
95
  * The record of a new write, set before setFilterModel. A write that starts
@@ -136,3 +149,9 @@ export declare function modelKey(columns: Columns): string;
136
149
  * URL form is the URL form of the write's column (#223).
137
150
  */
138
151
  export declare function couldBeLanding(live: Columns, accepted: Columns, before: Columns | null, forms?: ColumnUrlForms): boolean;
152
+ /**
153
+ * Whether the grid shows only part of a write: it could be the write's
154
+ * landing, but a column of the write does not show the write's value yet
155
+ * (#302)
156
+ */
157
+ export declare function partLanding(live: Columns, accepted: Columns, before: Columns | null, forms?: ColumnUrlForms): boolean;
@@ -14,19 +14,13 @@ export function settleWrite(own, call) {
14
14
  if (call.failed)
15
15
  return { own: null, landed: false };
16
16
  if (own?.phase === 'landed') {
17
- return {
18
- own: { phase: 'landed', kind: call.kind, key: call.afterKey ?? own.key },
19
- landed: true
20
- };
17
+ return { own: landedRecord(call, call.afterKey ?? own.key), landed: true };
21
18
  }
22
19
  const waits = own?.phase === 'writing' ? own.waits : undefined;
23
20
  if (call.afterKey !== null &&
24
21
  ((waits === undefined && call.afterKey === call.acceptedKey) ||
25
22
  (call.beforeKey !== null && call.afterKey !== call.beforeKey))) {
26
- return {
27
- own: { phase: 'landed', kind: call.kind, key: call.afterKey },
28
- landed: true
29
- };
23
+ return { own: landedRecord(call, call.afterKey), landed: true };
30
24
  }
31
25
  return {
32
26
  own: {
@@ -43,10 +37,31 @@ export function settleWrite(own, call) {
43
37
  landed: false
44
38
  };
45
39
  }
40
+ function landedRecord(call, key) {
41
+ const record = { phase: 'landed', kind: call.kind, key };
42
+ const part = key !== call.acceptedKey &&
43
+ call.after &&
44
+ partLanding(call.after, call.accepted, call.before, urlForms(call.afterColumnUrlKeys, call.acceptedColumnUrlKeys));
45
+ return part ? { ...record, fullKey: call.acceptedKey } : record;
46
+ }
47
+ function urlForms(live, written) {
48
+ return live && written ? { live, written } : undefined;
49
+ }
46
50
  export function classifyEvent(own, event) {
47
51
  if (own?.phase === 'landed' && event.key === own.key) {
48
52
  return { own, kind: 'echo', write: own.kind };
49
53
  }
54
+ if (own?.phase === 'landed' &&
55
+ own.fullKey !== undefined &&
56
+ event.source === 'api' &&
57
+ event.key === own.fullKey) {
58
+ return {
59
+ own: { phase: 'landed', kind: own.kind, key: event.key },
60
+ kind: 'landing',
61
+ write: own.kind,
62
+ rest: true
63
+ };
64
+ }
50
65
  if (own?.phase === 'pending') {
51
66
  if (event.source === 'api') {
52
67
  const waited = afterWait(own, event);
@@ -58,9 +73,7 @@ export function classifyEvent(own, event) {
58
73
  if (own.beforeKey !== null && event.key === own.beforeKey) {
59
74
  return { own, kind: 'echo', write: own.kind };
60
75
  }
61
- const forms = own.acceptedColumnUrlKeys && event.columnUrlKeys
62
- ? { live: event.columnUrlKeys, written: own.acceptedColumnUrlKeys }
63
- : undefined;
76
+ const forms = urlForms(event.columnUrlKeys, own.acceptedColumnUrlKeys);
64
77
  if (event.source === 'api' &&
65
78
  (couldBeLanding(event.live, own.accepted, own.before, forms) ||
66
79
  rebuiltLanding(own, event))) {
@@ -117,17 +130,23 @@ function stableJson(value) {
117
130
  }
118
131
  export function couldBeLanding(live, accepted, before, forms) {
119
132
  const columns = Object.keys(live);
120
- const sameUrlForm = (colId) => {
121
- const written = forms?.written.get(colId);
122
- return written !== undefined && forms?.live.get(colId) === written;
123
- };
124
- const fromWrite = (colId) => Object.hasOwn(accepted, colId) &&
125
- (stableJson(live[colId]) === stableJson(accepted[colId]) ||
126
- sameUrlForm(colId));
133
+ const fromWrite = (colId) => showsWrite(live, accepted, colId, forms);
127
134
  const fromBefore = (colId) => before !== null &&
128
135
  Object.hasOwn(before, colId) &&
129
136
  stableJson(live[colId]) === stableJson(before[colId]);
130
137
  return (columns.some(fromWrite) &&
131
138
  columns.every(colId => fromWrite(colId) || fromBefore(colId)));
132
139
  }
140
+ export function partLanding(live, accepted, before, forms) {
141
+ return (couldBeLanding(live, accepted, before, forms) &&
142
+ Object.keys(accepted).some(colId => !showsWrite(live, accepted, colId, forms)));
143
+ }
144
+ function showsWrite(live, accepted, colId, forms) {
145
+ if (!Object.hasOwn(accepted, colId))
146
+ return false;
147
+ if (stableJson(live[colId]) === stableJson(accepted[colId]))
148
+ return true;
149
+ const written = forms?.written.get(colId);
150
+ return written !== undefined && forms?.live.get(colId) === written;
151
+ }
133
152
  //# sourceMappingURL=own-write.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"own-write.js","sourceRoot":"","sources":["../../src/core/own-write.ts"],"names":[],"mappings":"AAmGA,MAAM,UAAU,UAAU,CAAC,GAAoB,EAAE,IAAe;IAC9D,IAAI,GAAG,EAAE,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IAG/D,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAA;IAEzE,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QACpB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;KAC5C,CAAA;IAED,OAAO,KAAK,CAAC,MAAM;QACjB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;QACnC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAChC,CAAC;AAGD,MAAM,UAAU,WAAW,CAAC,GAAoB,EAAE,IAAe;IAE/D,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IAGpD,IAAI,GAAG,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACL,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,EAAE;YACxE,MAAM,EAAE,IAAI;SACb,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAO9D,IACE,IAAI,CAAC,QAAQ,KAAK,IAAI;QACtB,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,CAAC;YAC1D,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,EAChE,CAAC;QACD,OAAO;YACL,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;YAC7D,MAAM,EAAE,IAAI;SACb,CAAA;IACH,CAAC;IAED,OAAO;QACL,GAAG,EAAE;YACH,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,KAAK;SACN;QACD,MAAM,EAAE,KAAK;KACd,CAAA;AACH,CAAC;AAeD,MAAM,UAAU,aAAa,CAC3B,GAAoB,EACpB,KAMC;IAED,IAAI,GAAG,EAAE,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;QACrD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;IAC/C,CAAC;IAED,IAAI,GAAG,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QAG7B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAEpC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;QAC3B,CAAC;QAID,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,WAAW;YAAE,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAGjE,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;QAC/C,CAAC;QAQD,MAAM,KAAK,GACT,GAAG,CAAC,qBAAqB,IAAI,KAAK,CAAC,aAAa;YAC9C,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,CAAC,qBAAqB,EAAE;YACnE,CAAC,CAAC,SAAS,CAAA;QAEf,IACE,KAAK,CAAC,MAAM,KAAK,KAAK;YACtB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;gBAC1D,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAC7B,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACnD,CAAC;AAGD,SAAS,OAAO,CAAC,GAAY,EAAE,GAAW;IACxC,OAAO;QACL,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;QAC7C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,GAAG,CAAC,IAAI;KAChB,CAAA;AACH,CAAC;AAQD,SAAS,SAAS,CAChB,GAAY,EACZ,KAAmD;IAGnD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAA;IAC7B,MAAM,EAAE,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAE9D,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;IACtD,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAY,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAI7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACnE,CAAC;AAOD,SAAS,cAAc,CACrB,GAAY,EACZ,KAAmD;IAEnD,OAAO,CACL,GAAG,CAAC,cAAc,KAAK,SAAS;QAChC,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,cAAc;QACnC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,CAC5B,CAAA;AACH,CAAC;AAcD,MAAM,UAAU,QAAQ,CACtB,GAAa,EACb,IAAyD;IAEzD,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAEzD,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAEpE,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS;QAAE,OAAO,GAAG,CAAA;IAEpE,MAAM,KAAK,GACT,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,WAAW;QAC5B,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,CAAA;IAE1E,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1E,CAAC;AAMD,MAAM,UAAU,QAAQ,CAAC,OAAgB;IACvC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAGD,SAAS,UAAU,CAAC,KAAgC;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAC1C,IAAI,YAAY,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtE;QACH,CAAC,CAAC,IAAI,CACT,CAAA;AACH,CAAC;AAWD,MAAM,UAAU,cAAc,CAC5B,IAAa,EACb,QAAiB,EACjB,MAAsB,EACtB,KAAsB;IAEtB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAW,EAAE;QAC7C,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAEzC,OAAO,OAAO,KAAK,SAAS,IAAI,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,OAAO,CAAA;IACpE,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,KAAa,EAAW,EAAE,CAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC9B,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtD,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;IAEvB,MAAM,UAAU,GAAG,CAAC,KAAa,EAAW,EAAE,CAC5C,MAAM,KAAK,IAAI;QACf,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAC5B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAEvD,OAAO,CACL,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"own-write.js","sourceRoot":"","sources":["../../src/core/own-write.ts"],"names":[],"mappings":"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"}
@@ -483,6 +483,9 @@ export type SyncStatus = 'idle' | 'active' | 'destroyed';
483
483
  * Where the work that found an issue started. `'url'`: the sync read the
484
484
  * address bar itself (on create, or on `popstate`). `'grid'`: the sync read
485
485
  * the grid after a filter change. `'api'`: a method that the app called.
486
+ * The work that a call starts has the source of the call: the grid read
487
+ * after its write, a later landing of that write, and a stored pointer
488
+ * write (#313).
486
489
  */
487
490
  export type IssueSource = 'url' | 'grid' | 'api';
488
491
  /** The one argument of `onIssue` */
@@ -511,13 +514,28 @@ export interface GridUrlSyncSnapshot {
511
514
  /** The id of the active saved view, or null */
512
515
  readonly activeViewId: string | null;
513
516
  }
517
+ /**
518
+ * What a history function gets with the URL (#304). `replace` is true for a
519
+ * write that must not add a history entry: the create-time write of the
520
+ * grid's own filters, and the restore of a stored view. It is false for a
521
+ * user edit, a view load and `applyFilters`. So
522
+ * `replace ? router.replace(url) : router.push(url)` gives the history that
523
+ * `'push'` gives.
524
+ */
525
+ export interface HistoryWrite {
526
+ /** True when the write must replace the history entry */
527
+ readonly replace: boolean;
528
+ }
514
529
  /**
515
530
  * How the sync writes a filter change to the address bar: a user edit, a
516
531
  * view load or `applyFilters`. A URL apply writes nothing. `'none'` never
517
532
  * writes. `'replace'` and `'push'` use `window.history`. A function gets the
518
- * URL, for example `url => router.replace(url)`.
533
+ * URL and a `HistoryWrite`, for example
534
+ * `(url, { replace }) => (replace ? router.replace(url) : router.push(url))`.
535
+ * A function with one parameter also works, for example
536
+ * `url => router.replace(url)`.
519
537
  */
520
- export type HistoryMode = 'none' | 'replace' | 'push' | ((url: string) => void);
538
+ export type HistoryMode = 'none' | 'replace' | 'push' | ((url: string, write: HistoryWrite) => void);
521
539
  /** The options of `createGridUrlSync` */
522
540
  export interface GridUrlSyncOptions {
523
541
  /** The AG Grid API */
@@ -541,7 +559,9 @@ export interface GridUrlSyncOptions {
541
559
  popstate?: boolean | undefined;
542
560
  /**
543
561
  * Apply the address bar's filters when the sync is made. A URL with no
544
- * filters keeps the grid's filters.
562
+ * filters keeps the grid's filters, and with `history` they are written
563
+ * to the URL with replace. AG Grid 31 applies `initialState` filters when
564
+ * the first rows come: the sync writes them at that time.
545
565
  * @default true
546
566
  */
547
567
  applyUrlOnCreate?: boolean | undefined;
@@ -6,7 +6,9 @@ export { serializeFilters };
6
6
  * This function does not need a grid. An option that the config leaves out
7
7
  * gets its default.
8
8
  *
9
- * The host app's own params are kept, including repeated keys. Filter params
10
- * from either mode are replaced.
9
+ * The host app's own params are kept as they were in `baseUrl`: the same
10
+ * text, the same order, and repeated keys. Filter params from either mode
11
+ * are replaced, and the new ones go after the host params in both modes.
12
+ * With no filters, the URL has no filter param.
11
13
  */
12
14
  export declare function generateUrl(baseUrl: string, filterState: FilterState, config?: AGGridUrlSyncConfig): string;