@peckadesign/pd-naja 2.9.2 → 3.1.0

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.
@@ -5,7 +5,7 @@
5
5
  * @author PeckaDesign, s.r.o <support@peckadesign.cz>
6
6
  * @license MIT
7
7
  *
8
- * @version 2.9.2
8
+ * @version 3.1.0
9
9
  */
10
10
 
11
11
  let instance = null;
@@ -22,10 +22,6 @@ class ControlManager {
22
22
  }
23
23
  return instance;
24
24
  }
25
- onLoad() {
26
- this.initialize(this.onLoadControl);
27
- this.initialize(this.onLiveControl);
28
- }
29
25
  onBeforeSnippetUpdate(event) {
30
26
  if (event.detail.operation === this.naja.snippetHandler.op.append ||
31
27
  event.detail.operation === this.naja.snippetHandler.op.prepend) {
@@ -38,7 +34,7 @@ class ControlManager {
38
34
  }
39
35
  initialize(controls, snippet) {
40
36
  controls.forEach((control) => {
41
- control.initialize(snippet || document);
37
+ control.initialize(snippet);
42
38
  });
43
39
  }
44
40
  destroy(controls, snippet) {
@@ -49,11 +45,21 @@ class ControlManager {
49
45
  });
50
46
  }
51
47
  addControlOnLoad(control) {
48
+ this.initializeControlOnLoad(control);
52
49
  this.onLoadControl.push(control);
53
50
  }
54
51
  addControlOnLive(control) {
52
+ this.initializeControlOnLoad(control);
55
53
  this.onLiveControl.push(control);
56
54
  }
55
+ initializeControlOnLoad(control) {
56
+ if (document.readyState === 'loading') {
57
+ document.addEventListener('DOMContentLoaded', () => control.initialize(document), { once: true });
58
+ }
59
+ else {
60
+ control.initialize(document);
61
+ }
62
+ }
57
63
  }
58
64
 
59
65
  function showSpinner(target, initiator = target) {
@@ -296,10 +302,7 @@ class AjaxModalExtension {
296
302
  naja.addEventListener('success', this.success.bind(this));
297
303
  naja.addEventListener('complete', this.clearRequest.bind(this));
298
304
  this.modal.onShow(this.showHandler.bind(this));
299
- this.modal.onHide(() => {
300
- this.removeModalSnippetsIds();
301
- this.abortControllers.get('modal')?.abort();
302
- });
305
+ this.modal.onHide(this.hideHandler.bind(this));
303
306
  this.modal.onHidden(this.hiddenHandler.bind(this));
304
307
  }
305
308
  checkExtensionEnabled(event) {
@@ -311,21 +314,22 @@ class AjaxModalExtension {
311
314
  if (!this.isPdModalRequest(options)) {
312
315
  return;
313
316
  }
314
- // `modalOptions` will be stored in state, therefore no `Element` is allowed. These options are also forwarded
315
- // to other Naja event handlers via `options`. We also store the element separately to be used there as well.
317
+ // `modalOptions` will be stored in the state; therefore, no `Element` is allowed. These options are also
318
+ // forwarded to other Naja event handlers via `options`. We also store the elements separately to be used there
319
+ // as well.
316
320
  this.modalOptions = this.modal.getOptions(element);
317
321
  options.modalOptions = this.modalOptions;
318
322
  options.modalOpener = element;
319
- // If the extension is enabled and modal is not opened, we detect and store history mode. History mode cannot
320
- // change when traversing ajax link inside modal, it stays the same until modal is hidden.
323
+ // If the extension is enabled and the modal is not opened, we detect and store history mode. History mode
324
+ // cannot change when traversing an ajax link inside modal, it stays the same until modal is hidden.
321
325
  if (!this.modal.isShown()) {
322
326
  this.historyDirection = element.getAttribute('data-naja-modal-history') === 'forwards' ? 'forwards' : 'backwards';
323
327
  }
324
328
  }
325
329
  onSnippetFetch(event) {
326
- // When snippet cache is off, this method is called to construct Naja request options. We retrieve modal
327
- // `options` from original state in history if necessary. Also, when closing the modal from `PopstateEvent`, we
328
- // don't need to make a new request, so we call `event.preventDefault()` in that case.
330
+ // When the snippet cache is off, this method is called to construct Naja request options. We retrieve modal
331
+ // `options` from the original state in history if necessary. Also, when closing the modal from `PopstateEvent`,
332
+ // we don't need to make a new request, so we call `event.preventDefault()` in that case.
329
333
  const { state } = event.detail;
330
334
  if (this.isPdModalState(state)) {
331
335
  event.detail.options.pdModal = true;
@@ -338,11 +342,11 @@ class AjaxModalExtension {
338
342
  }
339
343
  }
340
344
  removeModalSnippetsIds() {
341
- // When closing the modal, we don't want to update any snippets inside it, when other requests finishes. This
342
- // will ensure, that snippets that might be also outside modal (e.g. flash messages) will be redrawn outside the
343
- // modal. Therefore, we remove the id attributes, so no snippet is found.
345
+ // When closing the modal, we don't want to update any snippets inside it when other requests finishes. This
346
+ // will ensure that snippets that might be also outside the modal (e.g. flash messages) will be redrawn outside
347
+ // the modal. Therefore, we remove the id attributes, so no snippet is found.
344
348
  //
345
- // Some snippets are necessary for modal function
349
+ // Some snippets are necessary for a modal function
346
350
  this.modal.element.querySelectorAll('[id^="snippet-"]').forEach((snippet) => {
347
351
  if (!this.modal.reservedSnippetIds.includes(snippet.id)) {
348
352
  snippet.removeAttribute('id');
@@ -364,14 +368,14 @@ class AjaxModalExtension {
364
368
  }
365
369
  buildState(event) {
366
370
  const { operation, options, state } = event.detail;
367
- // Always add a `title` into state, so we can retrieve it when needed after closing the modal. See
371
+ // Always add a `title` into the state, so we can retrieve it when needed after closing the modal. See
368
372
  // `popstateHandler` below.
369
373
  if (!state.title) {
370
374
  state.title = document.title;
371
375
  }
372
376
  // If this is called from Naja's `replaceInitialState`, we don't change the state.
373
377
  //
374
- // This is a possible weakness, because this condition could be true even with actual user interaction, if
378
+ // This is a possible weakness because this condition could be true even with actual user interaction, if
375
379
  // Naja's first interaction is with an element with `data-naja-history="replace"`. In this case the condition
376
380
  // will also be true, but it is probably the desired behaviour to save this state as non-modal anyway, since
377
381
  // the initial state should (or could) never be opened in a modal.
@@ -382,9 +386,9 @@ class AjaxModalExtension {
382
386
  }
383
387
  return;
384
388
  }
385
- // Every time naja builds the state, and we have the modal opened, we extend the state with `pdModal` object
386
- // containing information about modal being opened and what history mode is in use. When `options.forceRedirect`
387
- // is set, modal might be open but the new state will be redirected outside of it.
389
+ // Every time naja builds the state, and we have the modal opened, we extend the state with a ` pdModal ` object
390
+ // containing information about the modal being opened and what history mode is in use. When
391
+ // `options.forceRedirect` is set, modal might be open but the new state will be redirected outside it.
388
392
  const isShown = this.isPdModalRequest(options) && !options.forceRedirect;
389
393
  if (isShown) {
390
394
  state.pdModal = {
@@ -421,7 +425,8 @@ class AjaxModalExtension {
421
425
  return;
422
426
  }
423
427
  const requestHistory = this.isRequestWithHistory(options);
424
- // If the history is disabled for current request, we will disable it for all ajax links / forms in modal as well.
428
+ // If the history is disabled for the current request, we will disable it for all ajax links / forms in modal as
429
+ // well.
425
430
  if (!requestHistory && event.target) {
426
431
  const ajaxified = this.modal.element.querySelectorAll(event.target.uiHandler?.selector);
427
432
  ajaxified.forEach((element) => {
@@ -456,12 +461,23 @@ class AjaxModalExtension {
456
461
  }
457
462
  }
458
463
  }
464
+ hideHandler(event) {
465
+ const opener = event.detail?.opener;
466
+ const abortable = opener
467
+ ? (opener.getAttribute('data-naja-abort') ??
468
+ opener.form?.getAttribute('data-naja-abort')) !== 'off'
469
+ : true;
470
+ this.removeModalSnippetsIds();
471
+ if (abortable) {
472
+ this.abortControllers.get(this.uniqueExtKey)?.abort();
473
+ }
474
+ }
459
475
  hiddenHandler() {
460
- // This method is called after modal has been hidden. It either pushes a new state into history (mode `forwards`)
461
- // or calls `history.back()` to start go-back procedure.
476
+ // This method is called after the modal has been hidden. It either pushes a new state into history (mode
477
+ // `forwards`) or calls `history.back()` to start go-back procedure.
462
478
  //
463
- // New state is pushed only if we are able to retrieve the state under the modal (which should have been stored
464
- // previously) and the modal is not being closed using forward / back buttons in browser.
479
+ // A new state is pushed only if we are able to retrieve the state under the modal (which should have been
480
+ // stored previously), and the modal is not being closed using forward / back buttons in the browser.
465
481
  if (!this.historyEnabled) {
466
482
  return;
467
483
  }
@@ -476,9 +492,9 @@ class AjaxModalExtension {
476
492
  const state = this.original.pop();
477
493
  this.original = [];
478
494
  if (state) {
479
- // When closing the modal using forward / back buttons in browser, the current state is the same as the
480
- // one stored in `this.original`. If that's the case, we don't push anything as it would duplicate the
481
- // state in history.
495
+ // When closing the modal using forward / back buttons in the browser, the current state is the same as
496
+ // the one stored in `this.original`. If that's the case, we don't push anything as it would duplicate
497
+ // the state in history.
482
498
  if (history.state === undefined || history.state.href !== state.location) {
483
499
  history.pushState(state.state, state.title, state.location);
484
500
  document.title = state.title;
@@ -501,12 +517,14 @@ class AjaxModalExtension {
501
517
  const isCurrentStatePdModal = this.isPdModalState(state);
502
518
  this.popstateFlag = true;
503
519
  this.shouldPreventSnippetFetch = false;
504
- // We don't know how many states we go back. So we go one by one until the new state is not modal state
520
+ // We don't know how many states we go back. So we go one by one until the new state is not a modal state
505
521
  // (`isPdModalState` is `false`).
506
522
  if (this.hidePopstateFlag) {
507
523
  // We don't want the naja popstate callback to be executed (or any other popstate handler).
508
524
  event.stopImmediatePropagation();
509
- if (isCurrentStatePdModal) {
525
+ // If the `state.cursor` is 0, the page has been refreshed, and we don't want to go back in history any
526
+ // more.
527
+ if (isCurrentStatePdModal && state.cursor !== 0) {
510
528
  window.history.back();
511
529
  return;
512
530
  }
@@ -517,19 +535,19 @@ class AjaxModalExtension {
517
535
  }
518
536
  this.hidePopstateFlag = false;
519
537
  }
520
- // We check if the state has `pdModal` object present on popstate. If so , we proceed to open the modal. Content
521
- // of the modal is restored by naja itself (either from cache or by new request).
538
+ // We check if the state has a ` pdModal ` object present on popstate. If so, we proceed to open the modal.
539
+ // Naja itself restores the content of the modal (either from cache or by new request).
522
540
  //
523
- // If the initial state is also detected as pdModal state, we returned to some pdModal state using reload. In
524
- // that case, we don't want to open the modal, because we might be missing some snippets. Effectively this means
525
- // that the modal will never be opened by forward / back button if there has been some other site loaded outside
526
- // the modal (e.g. some non-ajax link leading from modal).
541
+ // If the initial state is also detected as a pdModal state, we returned to some pdModal state using reload. In
542
+ // that case, we don't want to open the modal because we might be missing some snippets. Effectively this means
543
+ // that the modal will never be opened by the forward / back button if there has been some other site loaded
544
+ // outside the modal (e.g. some non-ajax links leading from modal).
527
545
  if (isCurrentStatePdModal && !this.isPdModalState(this.initialState)) {
528
546
  this.restoreExtensionPropertiesFromState(state);
529
547
  this.modal.show(this.getElementFromString(state.pdModal.opener), state.pdModal.options, event);
530
548
  // If there is some snippet cache, we might restore modal options. If not, options will be restored based on
531
549
  // options after the ajax request. The same applies to dispatching the load event - if the cache is on, we
532
- // dispatch the event immediately (after the restore has actually happened, see below), otherwise it is
550
+ // dispatch the event immediately (after the restore has actually happened, see below); otherwise it is
533
551
  // dispatched after the ajax request.
534
552
  if (state.snippets?.storage !== 'off') {
535
553
  this.modal.setOptions(state.pdModal.options);
@@ -544,20 +562,20 @@ class AjaxModalExtension {
544
562
  }
545
563
  }
546
564
  else {
547
- this.historyEnabled = false; // Hiding modal using forward / back button, we disable the history to prevent state duplication
548
- // Reload the page if the initial state has been inside modal. This prevents snippets loss e.g. during
565
+ this.historyEnabled = false; // Hiding modal using the forward / back button, we disable the history to prevent state duplication
566
+ // Reload the page if the initial state has been inside modal. This prevents snippet loss e.g. during
549
567
  // layout changes.
550
568
  if (this.isPdModalState(this.initialState)) {
551
569
  window.location.reload();
552
570
  }
553
571
  // Non-modal state and non-modal initial state → we just hide the current modal and prevent snippet fetch
554
- // (if snippet cache is off).
572
+ // (if the snippet cache is off).
555
573
  if (this.modal.isShown()) {
556
574
  this.modal.hide(event);
557
575
  this.shouldPreventSnippetFetch = true;
558
576
  }
559
577
  }
560
- // Keep track of current state. When `backwards` history mode is used, we eventually push this state into
578
+ // Keep track of the current state. When the ` backwards ` history mode is used, we eventually push this state into
561
579
  // `this.original`.
562
580
  this.lastState = {
563
581
  location: location.href,
@@ -1 +1 @@
1
- {"version":3,"file":"PdNaja.esm.js","sources":["../src/classes/ControlManager.ts","../src/utils.ts","../src/classes/Suggest.ts","../src/extensions/AjaxModalExtension.ts","../src/extensions/AjaxModalPreventRedrawExtension.ts","../src/extensions/AjaxOnceExtension.ts","../src/extensions/BtnSpinnerExtension.ts","../src/extensions/ConfirmExtension.ts","../src/extensions/FollowUpRequestExtension.ts","../src/extensions/ForceRedirectExtension.ts","../src/extensions/ForceReplaceExtension.ts","../src/extensions/ScrollToExtension.ts","../src/extensions/SingleSubmitExtension.ts","../src/extensions/SnippetFormPartExtension.ts","../src/extensions/SpinnerExtension.ts","../src/extensions/SuggestExtension.ts","../src/extensions/ToggleClassExtension.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PdNaja.esm.js","sources":["../src/classes/ControlManager.ts","../src/utils.ts","../src/classes/Suggest.ts","../src/extensions/AjaxModalExtension.ts","../src/extensions/AjaxModalPreventRedrawExtension.ts","../src/extensions/AjaxOnceExtension.ts","../src/extensions/BtnSpinnerExtension.ts","../src/extensions/ConfirmExtension.ts","../src/extensions/FollowUpRequestExtension.ts","../src/extensions/ForceRedirectExtension.ts","../src/extensions/ForceReplaceExtension.ts","../src/extensions/ScrollToExtension.ts","../src/extensions/SingleSubmitExtension.ts","../src/extensions/SnippetFormPartExtension.ts","../src/extensions/SpinnerExtension.ts","../src/extensions/SuggestExtension.ts","../src/extensions/ToggleClassExtension.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -2,14 +2,14 @@ import { Naja } from 'naja/dist/Naja';
2
2
  import { Control } from '../types';
3
3
  export declare class ControlManager {
4
4
  private naja;
5
- private onLoadControl;
6
- private onLiveControl;
5
+ readonly onLoadControl: Control[];
6
+ readonly onLiveControl: Control[];
7
7
  constructor(naja: Naja);
8
- onLoad(): void;
9
8
  private onBeforeSnippetUpdate;
10
9
  private onSnippetUpdate;
11
10
  private initialize;
12
- private destroy;
11
+ destroy(controls: Control[], snippet: Element): void;
13
12
  addControlOnLoad(control: Control): void;
14
13
  addControlOnLive(control: Control): void;
14
+ private initializeControlOnLoad;
15
15
  }
@@ -51,6 +51,7 @@ export declare class AjaxModalExtension implements Extension {
51
51
  private before;
52
52
  private success;
53
53
  private showHandler;
54
+ private hideHandler;
54
55
  private hiddenHandler;
55
56
  private popstateHandler;
56
57
  private cleanData;
package/dist/index.esm.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * @author PeckaDesign, s.r.o <support@peckadesign.cz>
6
6
  * @license MIT
7
7
  *
8
- * @version 2.9.2
8
+ * @version 3.1.0
9
9
  */
10
10
 
11
11
  let instance = null;
@@ -22,10 +22,6 @@ class ControlManager {
22
22
  }
23
23
  return instance;
24
24
  }
25
- onLoad() {
26
- this.initialize(this.onLoadControl);
27
- this.initialize(this.onLiveControl);
28
- }
29
25
  onBeforeSnippetUpdate(event) {
30
26
  if (event.detail.operation === this.naja.snippetHandler.op.append ||
31
27
  event.detail.operation === this.naja.snippetHandler.op.prepend) {
@@ -38,7 +34,7 @@ class ControlManager {
38
34
  }
39
35
  initialize(controls, snippet) {
40
36
  controls.forEach((control) => {
41
- control.initialize(snippet || document);
37
+ control.initialize(snippet);
42
38
  });
43
39
  }
44
40
  destroy(controls, snippet) {
@@ -49,11 +45,21 @@ class ControlManager {
49
45
  });
50
46
  }
51
47
  addControlOnLoad(control) {
48
+ this.initializeControlOnLoad(control);
52
49
  this.onLoadControl.push(control);
53
50
  }
54
51
  addControlOnLive(control) {
52
+ this.initializeControlOnLoad(control);
55
53
  this.onLiveControl.push(control);
56
54
  }
55
+ initializeControlOnLoad(control) {
56
+ if (document.readyState === 'loading') {
57
+ document.addEventListener('DOMContentLoaded', () => control.initialize(document), { once: true });
58
+ }
59
+ else {
60
+ control.initialize(document);
61
+ }
62
+ }
57
63
  }
58
64
 
59
65
  function showSpinner(target, initiator = target) {
@@ -296,10 +302,7 @@ class AjaxModalExtension {
296
302
  naja.addEventListener('success', this.success.bind(this));
297
303
  naja.addEventListener('complete', this.clearRequest.bind(this));
298
304
  this.modal.onShow(this.showHandler.bind(this));
299
- this.modal.onHide(() => {
300
- this.removeModalSnippetsIds();
301
- this.abortControllers.get('modal')?.abort();
302
- });
305
+ this.modal.onHide(this.hideHandler.bind(this));
303
306
  this.modal.onHidden(this.hiddenHandler.bind(this));
304
307
  }
305
308
  checkExtensionEnabled(event) {
@@ -311,21 +314,22 @@ class AjaxModalExtension {
311
314
  if (!this.isPdModalRequest(options)) {
312
315
  return;
313
316
  }
314
- // `modalOptions` will be stored in state, therefore no `Element` is allowed. These options are also forwarded
315
- // to other Naja event handlers via `options`. We also store the element separately to be used there as well.
317
+ // `modalOptions` will be stored in the state; therefore, no `Element` is allowed. These options are also
318
+ // forwarded to other Naja event handlers via `options`. We also store the elements separately to be used there
319
+ // as well.
316
320
  this.modalOptions = this.modal.getOptions(element);
317
321
  options.modalOptions = this.modalOptions;
318
322
  options.modalOpener = element;
319
- // If the extension is enabled and modal is not opened, we detect and store history mode. History mode cannot
320
- // change when traversing ajax link inside modal, it stays the same until modal is hidden.
323
+ // If the extension is enabled and the modal is not opened, we detect and store history mode. History mode
324
+ // cannot change when traversing an ajax link inside modal, it stays the same until modal is hidden.
321
325
  if (!this.modal.isShown()) {
322
326
  this.historyDirection = element.getAttribute('data-naja-modal-history') === 'forwards' ? 'forwards' : 'backwards';
323
327
  }
324
328
  }
325
329
  onSnippetFetch(event) {
326
- // When snippet cache is off, this method is called to construct Naja request options. We retrieve modal
327
- // `options` from original state in history if necessary. Also, when closing the modal from `PopstateEvent`, we
328
- // don't need to make a new request, so we call `event.preventDefault()` in that case.
330
+ // When the snippet cache is off, this method is called to construct Naja request options. We retrieve modal
331
+ // `options` from the original state in history if necessary. Also, when closing the modal from `PopstateEvent`,
332
+ // we don't need to make a new request, so we call `event.preventDefault()` in that case.
329
333
  const { state } = event.detail;
330
334
  if (this.isPdModalState(state)) {
331
335
  event.detail.options.pdModal = true;
@@ -338,11 +342,11 @@ class AjaxModalExtension {
338
342
  }
339
343
  }
340
344
  removeModalSnippetsIds() {
341
- // When closing the modal, we don't want to update any snippets inside it, when other requests finishes. This
342
- // will ensure, that snippets that might be also outside modal (e.g. flash messages) will be redrawn outside the
343
- // modal. Therefore, we remove the id attributes, so no snippet is found.
345
+ // When closing the modal, we don't want to update any snippets inside it when other requests finishes. This
346
+ // will ensure that snippets that might be also outside the modal (e.g. flash messages) will be redrawn outside
347
+ // the modal. Therefore, we remove the id attributes, so no snippet is found.
344
348
  //
345
- // Some snippets are necessary for modal function
349
+ // Some snippets are necessary for a modal function
346
350
  this.modal.element.querySelectorAll('[id^="snippet-"]').forEach((snippet) => {
347
351
  if (!this.modal.reservedSnippetIds.includes(snippet.id)) {
348
352
  snippet.removeAttribute('id');
@@ -364,14 +368,14 @@ class AjaxModalExtension {
364
368
  }
365
369
  buildState(event) {
366
370
  const { operation, options, state } = event.detail;
367
- // Always add a `title` into state, so we can retrieve it when needed after closing the modal. See
371
+ // Always add a `title` into the state, so we can retrieve it when needed after closing the modal. See
368
372
  // `popstateHandler` below.
369
373
  if (!state.title) {
370
374
  state.title = document.title;
371
375
  }
372
376
  // If this is called from Naja's `replaceInitialState`, we don't change the state.
373
377
  //
374
- // This is a possible weakness, because this condition could be true even with actual user interaction, if
378
+ // This is a possible weakness because this condition could be true even with actual user interaction, if
375
379
  // Naja's first interaction is with an element with `data-naja-history="replace"`. In this case the condition
376
380
  // will also be true, but it is probably the desired behaviour to save this state as non-modal anyway, since
377
381
  // the initial state should (or could) never be opened in a modal.
@@ -382,9 +386,9 @@ class AjaxModalExtension {
382
386
  }
383
387
  return;
384
388
  }
385
- // Every time naja builds the state, and we have the modal opened, we extend the state with `pdModal` object
386
- // containing information about modal being opened and what history mode is in use. When `options.forceRedirect`
387
- // is set, modal might be open but the new state will be redirected outside of it.
389
+ // Every time naja builds the state, and we have the modal opened, we extend the state with a ` pdModal ` object
390
+ // containing information about the modal being opened and what history mode is in use. When
391
+ // `options.forceRedirect` is set, modal might be open but the new state will be redirected outside it.
388
392
  const isShown = this.isPdModalRequest(options) && !options.forceRedirect;
389
393
  if (isShown) {
390
394
  state.pdModal = {
@@ -421,7 +425,8 @@ class AjaxModalExtension {
421
425
  return;
422
426
  }
423
427
  const requestHistory = this.isRequestWithHistory(options);
424
- // If the history is disabled for current request, we will disable it for all ajax links / forms in modal as well.
428
+ // If the history is disabled for the current request, we will disable it for all ajax links / forms in modal as
429
+ // well.
425
430
  if (!requestHistory && event.target) {
426
431
  const ajaxified = this.modal.element.querySelectorAll(event.target.uiHandler?.selector);
427
432
  ajaxified.forEach((element) => {
@@ -456,12 +461,23 @@ class AjaxModalExtension {
456
461
  }
457
462
  }
458
463
  }
464
+ hideHandler(event) {
465
+ const opener = event.detail?.opener;
466
+ const abortable = opener
467
+ ? (opener.getAttribute('data-naja-abort') ??
468
+ opener.form?.getAttribute('data-naja-abort')) !== 'off'
469
+ : true;
470
+ this.removeModalSnippetsIds();
471
+ if (abortable) {
472
+ this.abortControllers.get(this.uniqueExtKey)?.abort();
473
+ }
474
+ }
459
475
  hiddenHandler() {
460
- // This method is called after modal has been hidden. It either pushes a new state into history (mode `forwards`)
461
- // or calls `history.back()` to start go-back procedure.
476
+ // This method is called after the modal has been hidden. It either pushes a new state into history (mode
477
+ // `forwards`) or calls `history.back()` to start go-back procedure.
462
478
  //
463
- // New state is pushed only if we are able to retrieve the state under the modal (which should have been stored
464
- // previously) and the modal is not being closed using forward / back buttons in browser.
479
+ // A new state is pushed only if we are able to retrieve the state under the modal (which should have been
480
+ // stored previously), and the modal is not being closed using forward / back buttons in the browser.
465
481
  if (!this.historyEnabled) {
466
482
  return;
467
483
  }
@@ -476,9 +492,9 @@ class AjaxModalExtension {
476
492
  const state = this.original.pop();
477
493
  this.original = [];
478
494
  if (state) {
479
- // When closing the modal using forward / back buttons in browser, the current state is the same as the
480
- // one stored in `this.original`. If that's the case, we don't push anything as it would duplicate the
481
- // state in history.
495
+ // When closing the modal using forward / back buttons in the browser, the current state is the same as
496
+ // the one stored in `this.original`. If that's the case, we don't push anything as it would duplicate
497
+ // the state in history.
482
498
  if (history.state === undefined || history.state.href !== state.location) {
483
499
  history.pushState(state.state, state.title, state.location);
484
500
  document.title = state.title;
@@ -501,12 +517,14 @@ class AjaxModalExtension {
501
517
  const isCurrentStatePdModal = this.isPdModalState(state);
502
518
  this.popstateFlag = true;
503
519
  this.shouldPreventSnippetFetch = false;
504
- // We don't know how many states we go back. So we go one by one until the new state is not modal state
520
+ // We don't know how many states we go back. So we go one by one until the new state is not a modal state
505
521
  // (`isPdModalState` is `false`).
506
522
  if (this.hidePopstateFlag) {
507
523
  // We don't want the naja popstate callback to be executed (or any other popstate handler).
508
524
  event.stopImmediatePropagation();
509
- if (isCurrentStatePdModal) {
525
+ // If the `state.cursor` is 0, the page has been refreshed, and we don't want to go back in history any
526
+ // more.
527
+ if (isCurrentStatePdModal && state.cursor !== 0) {
510
528
  window.history.back();
511
529
  return;
512
530
  }
@@ -517,19 +535,19 @@ class AjaxModalExtension {
517
535
  }
518
536
  this.hidePopstateFlag = false;
519
537
  }
520
- // We check if the state has `pdModal` object present on popstate. If so , we proceed to open the modal. Content
521
- // of the modal is restored by naja itself (either from cache or by new request).
538
+ // We check if the state has a ` pdModal ` object present on popstate. If so, we proceed to open the modal.
539
+ // Naja itself restores the content of the modal (either from cache or by new request).
522
540
  //
523
- // If the initial state is also detected as pdModal state, we returned to some pdModal state using reload. In
524
- // that case, we don't want to open the modal, because we might be missing some snippets. Effectively this means
525
- // that the modal will never be opened by forward / back button if there has been some other site loaded outside
526
- // the modal (e.g. some non-ajax link leading from modal).
541
+ // If the initial state is also detected as a pdModal state, we returned to some pdModal state using reload. In
542
+ // that case, we don't want to open the modal because we might be missing some snippets. Effectively this means
543
+ // that the modal will never be opened by the forward / back button if there has been some other site loaded
544
+ // outside the modal (e.g. some non-ajax links leading from modal).
527
545
  if (isCurrentStatePdModal && !this.isPdModalState(this.initialState)) {
528
546
  this.restoreExtensionPropertiesFromState(state);
529
547
  this.modal.show(this.getElementFromString(state.pdModal.opener), state.pdModal.options, event);
530
548
  // If there is some snippet cache, we might restore modal options. If not, options will be restored based on
531
549
  // options after the ajax request. The same applies to dispatching the load event - if the cache is on, we
532
- // dispatch the event immediately (after the restore has actually happened, see below), otherwise it is
550
+ // dispatch the event immediately (after the restore has actually happened, see below); otherwise it is
533
551
  // dispatched after the ajax request.
534
552
  if (state.snippets?.storage !== 'off') {
535
553
  this.modal.setOptions(state.pdModal.options);
@@ -544,20 +562,20 @@ class AjaxModalExtension {
544
562
  }
545
563
  }
546
564
  else {
547
- this.historyEnabled = false; // Hiding modal using forward / back button, we disable the history to prevent state duplication
548
- // Reload the page if the initial state has been inside modal. This prevents snippets loss e.g. during
565
+ this.historyEnabled = false; // Hiding modal using the forward / back button, we disable the history to prevent state duplication
566
+ // Reload the page if the initial state has been inside modal. This prevents snippet loss e.g. during
549
567
  // layout changes.
550
568
  if (this.isPdModalState(this.initialState)) {
551
569
  window.location.reload();
552
570
  }
553
571
  // Non-modal state and non-modal initial state → we just hide the current modal and prevent snippet fetch
554
- // (if snippet cache is off).
572
+ // (if the snippet cache is off).
555
573
  if (this.modal.isShown()) {
556
574
  this.modal.hide(event);
557
575
  this.shouldPreventSnippetFetch = true;
558
576
  }
559
577
  }
560
- // Keep track of current state. When `backwards` history mode is used, we eventually push this state into
578
+ // Keep track of the current state. When the ` backwards ` history mode is used, we eventually push this state into
561
579
  // `this.original`.
562
580
  this.lastState = {
563
581
  location: location.href,
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/classes/ControlManager.ts","../src/utils.ts","../src/classes/Suggest.ts","../src/extensions/AjaxModalExtension.ts","../src/extensions/AjaxModalPreventRedrawExtension.ts","../src/extensions/AjaxOnceExtension.ts","../src/extensions/BtnSpinnerExtension.ts","../src/extensions/ConfirmExtension.ts","../src/extensions/FollowUpRequestExtension.ts","../src/extensions/ForceRedirectExtension.ts","../src/extensions/ForceReplaceExtension.ts","../src/extensions/ScrollToExtension.ts","../src/extensions/SingleSubmitExtension.ts","../src/extensions/SnippetFormPartExtension.ts","../src/extensions/SpinnerExtension.ts","../src/extensions/SuggestExtension.ts","../src/extensions/ToggleClassExtension.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/classes/ControlManager.ts","../src/utils.ts","../src/classes/Suggest.ts","../src/extensions/AjaxModalExtension.ts","../src/extensions/AjaxModalPreventRedrawExtension.ts","../src/extensions/AjaxOnceExtension.ts","../src/extensions/BtnSpinnerExtension.ts","../src/extensions/ConfirmExtension.ts","../src/extensions/FollowUpRequestExtension.ts","../src/extensions/ForceRedirectExtension.ts","../src/extensions/ForceReplaceExtension.ts","../src/extensions/ScrollToExtension.ts","../src/extensions/SingleSubmitExtension.ts","../src/extensions/SnippetFormPartExtension.ts","../src/extensions/SpinnerExtension.ts","../src/extensions/SuggestExtension.ts","../src/extensions/ToggleClassExtension.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@peckadesign/pd-naja",
3
3
  "title": "PD Naja utils & extensions",
4
- "version": "2.9.2",
4
+ "version": "3.1.0",
5
5
  "private": false,
6
6
  "description": "Utilities and extensions created for use with Naja library.",
7
7
  "main": "dist/PdNaja.esm.js",
@@ -43,7 +43,7 @@
43
43
  "eslint-config-prettier": "^8.8.0",
44
44
  "eslint-config-typescript": "^3.0.0",
45
45
  "eslint-plugin-prettier": "^4.2.1",
46
- "naja": "^2.6.0",
46
+ "naja": "^2.6.0||^3.0.0",
47
47
  "prettier": "^2.8.8",
48
48
  "rollup": "^3.21.6",
49
49
  "typescript": "^5.0.4"
@@ -6,8 +6,8 @@ let instance: ControlManager | null = null
6
6
 
7
7
  export class ControlManager {
8
8
  private naja!: Naja
9
- private onLoadControl: Control[] = []
10
- private onLiveControl: Control[] = []
9
+ public readonly onLoadControl: Control[] = []
10
+ public readonly onLiveControl: Control[] = []
11
11
 
12
12
  public constructor(naja: Naja) {
13
13
  if (instance === null) {
@@ -20,11 +20,6 @@ export class ControlManager {
20
20
  return instance
21
21
  }
22
22
 
23
- public onLoad(): void {
24
- this.initialize(this.onLoadControl)
25
- this.initialize(this.onLiveControl)
26
- }
27
-
28
23
  private onBeforeSnippetUpdate(event: BeforeUpdateEvent): void {
29
24
  if (
30
25
  event.detail.operation === this.naja.snippetHandler.op.append ||
@@ -40,13 +35,13 @@ export class ControlManager {
40
35
  this.initialize(this.onLiveControl, event.detail.snippet)
41
36
  }
42
37
 
43
- private initialize(controls: Control[], snippet?: Element | Document): void {
38
+ private initialize(controls: Control[], snippet: Element): void {
44
39
  controls.forEach((control) => {
45
- control.initialize(snippet || document)
40
+ control.initialize(snippet)
46
41
  })
47
42
  }
48
43
 
49
- private destroy(controls: Control[], snippet: Element): void {
44
+ public destroy(controls: Control[], snippet: Element): void {
50
45
  controls.forEach((control) => {
51
46
  if (control.destroy !== undefined) {
52
47
  control.destroy(snippet)
@@ -55,10 +50,20 @@ export class ControlManager {
55
50
  }
56
51
 
57
52
  public addControlOnLoad(control: Control): void {
53
+ this.initializeControlOnLoad(control)
58
54
  this.onLoadControl.push(control)
59
55
  }
60
56
 
61
57
  public addControlOnLive(control: Control): void {
58
+ this.initializeControlOnLoad(control)
62
59
  this.onLiveControl.push(control)
63
60
  }
61
+
62
+ private initializeControlOnLoad(control: Control): void {
63
+ if (document.readyState === 'loading') {
64
+ document.addEventListener('DOMContentLoaded', () => control.initialize(document), { once: true })
65
+ } else {
66
+ control.initialize(document)
67
+ }
68
+ }
64
69
  }
@@ -103,10 +103,7 @@ export class AjaxModalExtension implements Extension {
103
103
  naja.addEventListener('complete', this.clearRequest.bind(this))
104
104
 
105
105
  this.modal.onShow(this.showHandler.bind(this))
106
- this.modal.onHide(() => {
107
- this.removeModalSnippetsIds()
108
- this.abortControllers.get('modal')?.abort()
109
- })
106
+ this.modal.onHide(this.hideHandler.bind(this))
110
107
  this.modal.onHidden(this.hiddenHandler.bind(this))
111
108
  }
112
109
 
@@ -140,24 +137,25 @@ export class AjaxModalExtension implements Extension {
140
137
  return
141
138
  }
142
139
 
143
- // `modalOptions` will be stored in state, therefore no `Element` is allowed. These options are also forwarded
144
- // to other Naja event handlers via `options`. We also store the element separately to be used there as well.
140
+ // `modalOptions` will be stored in the state; therefore, no `Element` is allowed. These options are also
141
+ // forwarded to other Naja event handlers via `options`. We also store the elements separately to be used there
142
+ // as well.
145
143
  this.modalOptions = this.modal.getOptions(element)
146
144
 
147
145
  options.modalOptions = this.modalOptions
148
146
  options.modalOpener = element
149
147
 
150
- // If the extension is enabled and modal is not opened, we detect and store history mode. History mode cannot
151
- // change when traversing ajax link inside modal, it stays the same until modal is hidden.
148
+ // If the extension is enabled and the modal is not opened, we detect and store history mode. History mode
149
+ // cannot change when traversing an ajax link inside modal, it stays the same until modal is hidden.
152
150
  if (!this.modal.isShown()) {
153
151
  this.historyDirection = element.getAttribute('data-naja-modal-history') === 'forwards' ? 'forwards' : 'backwards'
154
152
  }
155
153
  }
156
154
 
157
155
  private onSnippetFetch(event: FetchEvent): void {
158
- // When snippet cache is off, this method is called to construct Naja request options. We retrieve modal
159
- // `options` from original state in history if necessary. Also, when closing the modal from `PopstateEvent`, we
160
- // don't need to make a new request, so we call `event.preventDefault()` in that case.
156
+ // When the snippet cache is off, this method is called to construct Naja request options. We retrieve modal
157
+ // `options` from the original state in history if necessary. Also, when closing the modal from `PopstateEvent`,
158
+ // we don't need to make a new request, so we call `event.preventDefault()` in that case.
161
159
  const { state } = event.detail
162
160
 
163
161
  if (this.isPdModalState(state)) {
@@ -173,11 +171,11 @@ export class AjaxModalExtension implements Extension {
173
171
  }
174
172
 
175
173
  private removeModalSnippetsIds(): void {
176
- // When closing the modal, we don't want to update any snippets inside it, when other requests finishes. This
177
- // will ensure, that snippets that might be also outside modal (e.g. flash messages) will be redrawn outside the
178
- // modal. Therefore, we remove the id attributes, so no snippet is found.
174
+ // When closing the modal, we don't want to update any snippets inside it when other requests finishes. This
175
+ // will ensure that snippets that might be also outside the modal (e.g. flash messages) will be redrawn outside
176
+ // the modal. Therefore, we remove the id attributes, so no snippet is found.
179
177
  //
180
- // Some snippets are necessary for modal function
178
+ // Some snippets are necessary for a modal function
181
179
  this.modal.element.querySelectorAll('[id^="snippet-"]').forEach((snippet) => {
182
180
  if (!this.modal.reservedSnippetIds.includes(snippet.id)) {
183
181
  snippet.removeAttribute('id')
@@ -203,7 +201,7 @@ export class AjaxModalExtension implements Extension {
203
201
  private buildState(event: BuildStateEvent): void {
204
202
  const { operation, options, state } = event.detail
205
203
 
206
- // Always add a `title` into state, so we can retrieve it when needed after closing the modal. See
204
+ // Always add a `title` into the state, so we can retrieve it when needed after closing the modal. See
207
205
  // `popstateHandler` below.
208
206
  if (!state.title) {
209
207
  state.title = document.title
@@ -211,7 +209,7 @@ export class AjaxModalExtension implements Extension {
211
209
 
212
210
  // If this is called from Naja's `replaceInitialState`, we don't change the state.
213
211
  //
214
- // This is a possible weakness, because this condition could be true even with actual user interaction, if
212
+ // This is a possible weakness because this condition could be true even with actual user interaction, if
215
213
  // Naja's first interaction is with an element with `data-naja-history="replace"`. In this case the condition
216
214
  // will also be true, but it is probably the desired behaviour to save this state as non-modal anyway, since
217
215
  // the initial state should (or could) never be opened in a modal.
@@ -224,9 +222,9 @@ export class AjaxModalExtension implements Extension {
224
222
  return
225
223
  }
226
224
 
227
- // Every time naja builds the state, and we have the modal opened, we extend the state with `pdModal` object
228
- // containing information about modal being opened and what history mode is in use. When `options.forceRedirect`
229
- // is set, modal might be open but the new state will be redirected outside of it.
225
+ // Every time naja builds the state, and we have the modal opened, we extend the state with a ` pdModal ` object
226
+ // containing information about the modal being opened and what history mode is in use. When
227
+ // `options.forceRedirect` is set, modal might be open but the new state will be redirected outside it.
230
228
  const isShown: boolean = this.isPdModalRequest(options) && !options.forceRedirect
231
229
 
232
230
  if (isShown) {
@@ -275,7 +273,8 @@ export class AjaxModalExtension implements Extension {
275
273
 
276
274
  const requestHistory = this.isRequestWithHistory(options)
277
275
 
278
- // If the history is disabled for current request, we will disable it for all ajax links / forms in modal as well.
276
+ // If the history is disabled for the current request, we will disable it for all ajax links / forms in modal as
277
+ // well.
279
278
  if (!requestHistory && event.target) {
280
279
  const ajaxified = this.modal.element.querySelectorAll<HTMLElement>((event.target as Naja).uiHandler?.selector)
281
280
 
@@ -314,12 +313,26 @@ export class AjaxModalExtension implements Extension {
314
313
  }
315
314
  }
316
315
 
317
- private hiddenHandler() {
318
- // This method is called after modal has been hidden. It either pushes a new state into history (mode `forwards`)
319
- // or calls `history.back()` to start go-back procedure.
316
+ private hideHandler(event: Event): void {
317
+ const opener = (event as CustomEvent).detail?.opener as Element | undefined
318
+ const abortable = opener
319
+ ? (opener.getAttribute('data-naja-abort') ??
320
+ (opener as HTMLInputElement).form?.getAttribute('data-naja-abort')) !== 'off'
321
+ : true
322
+
323
+ this.removeModalSnippetsIds()
324
+
325
+ if (abortable) {
326
+ this.abortControllers.get(this.uniqueExtKey)?.abort()
327
+ }
328
+ }
329
+
330
+ private hiddenHandler(): void {
331
+ // This method is called after the modal has been hidden. It either pushes a new state into history (mode
332
+ // `forwards`) or calls `history.back()` to start go-back procedure.
320
333
  //
321
- // New state is pushed only if we are able to retrieve the state under the modal (which should have been stored
322
- // previously) and the modal is not being closed using forward / back buttons in browser.
334
+ // A new state is pushed only if we are able to retrieve the state under the modal (which should have been
335
+ // stored previously), and the modal is not being closed using forward / back buttons in the browser.
323
336
  if (!this.historyEnabled) {
324
337
  return
325
338
  }
@@ -335,9 +348,9 @@ export class AjaxModalExtension implements Extension {
335
348
  this.original = []
336
349
 
337
350
  if (state) {
338
- // When closing the modal using forward / back buttons in browser, the current state is the same as the
339
- // one stored in `this.original`. If that's the case, we don't push anything as it would duplicate the
340
- // state in history.
351
+ // When closing the modal using forward / back buttons in the browser, the current state is the same as
352
+ // the one stored in `this.original`. If that's the case, we don't push anything as it would duplicate
353
+ // the state in history.
341
354
  if (history.state === undefined || history.state.href !== state.location) {
342
355
  history.pushState(state.state, state.title, state.location)
343
356
  document.title = state.title
@@ -366,13 +379,15 @@ export class AjaxModalExtension implements Extension {
366
379
  this.popstateFlag = true
367
380
  this.shouldPreventSnippetFetch = false
368
381
 
369
- // We don't know how many states we go back. So we go one by one until the new state is not modal state
382
+ // We don't know how many states we go back. So we go one by one until the new state is not a modal state
370
383
  // (`isPdModalState` is `false`).
371
384
  if (this.hidePopstateFlag) {
372
385
  // We don't want the naja popstate callback to be executed (or any other popstate handler).
373
386
  event.stopImmediatePropagation()
374
387
 
375
- if (isCurrentStatePdModal) {
388
+ // If the `state.cursor` is 0, the page has been refreshed, and we don't want to go back in history any
389
+ // more.
390
+ if (isCurrentStatePdModal && state.cursor !== 0) {
376
391
  window.history.back()
377
392
 
378
393
  return
@@ -385,13 +400,13 @@ export class AjaxModalExtension implements Extension {
385
400
  this.hidePopstateFlag = false
386
401
  }
387
402
 
388
- // We check if the state has `pdModal` object present on popstate. If so , we proceed to open the modal. Content
389
- // of the modal is restored by naja itself (either from cache or by new request).
403
+ // We check if the state has a ` pdModal ` object present on popstate. If so, we proceed to open the modal.
404
+ // Naja itself restores the content of the modal (either from cache or by new request).
390
405
  //
391
- // If the initial state is also detected as pdModal state, we returned to some pdModal state using reload. In
392
- // that case, we don't want to open the modal, because we might be missing some snippets. Effectively this means
393
- // that the modal will never be opened by forward / back button if there has been some other site loaded outside
394
- // the modal (e.g. some non-ajax link leading from modal).
406
+ // If the initial state is also detected as a pdModal state, we returned to some pdModal state using reload. In
407
+ // that case, we don't want to open the modal because we might be missing some snippets. Effectively this means
408
+ // that the modal will never be opened by the forward / back button if there has been some other site loaded
409
+ // outside the modal (e.g. some non-ajax links leading from modal).
395
410
  if (isCurrentStatePdModal && !this.isPdModalState(this.initialState)) {
396
411
  this.restoreExtensionPropertiesFromState(state)
397
412
 
@@ -399,7 +414,7 @@ export class AjaxModalExtension implements Extension {
399
414
 
400
415
  // If there is some snippet cache, we might restore modal options. If not, options will be restored based on
401
416
  // options after the ajax request. The same applies to dispatching the load event - if the cache is on, we
402
- // dispatch the event immediately (after the restore has actually happened, see below), otherwise it is
417
+ // dispatch the event immediately (after the restore has actually happened, see below); otherwise it is
403
418
  // dispatched after the ajax request.
404
419
  if (state.snippets?.storage !== 'off') {
405
420
  this.modal.setOptions(state.pdModal.options)
@@ -414,23 +429,23 @@ export class AjaxModalExtension implements Extension {
414
429
  }, 0)
415
430
  }
416
431
  } else {
417
- this.historyEnabled = false // Hiding modal using forward / back button, we disable the history to prevent state duplication
432
+ this.historyEnabled = false // Hiding modal using the forward / back button, we disable the history to prevent state duplication
418
433
 
419
- // Reload the page if the initial state has been inside modal. This prevents snippets loss e.g. during
434
+ // Reload the page if the initial state has been inside modal. This prevents snippet loss e.g. during
420
435
  // layout changes.
421
436
  if (this.isPdModalState(this.initialState)) {
422
437
  window.location.reload()
423
438
  }
424
439
 
425
440
  // Non-modal state and non-modal initial state → we just hide the current modal and prevent snippet fetch
426
- // (if snippet cache is off).
441
+ // (if the snippet cache is off).
427
442
  if (this.modal.isShown()) {
428
443
  this.modal.hide(event)
429
444
  this.shouldPreventSnippetFetch = true
430
445
  }
431
446
  }
432
447
 
433
- // Keep track of current state. When `backwards` history mode is used, we eventually push this state into
448
+ // Keep track of the current state. When the ` backwards ` history mode is used, we eventually push this state into
434
449
  // `this.original`.
435
450
  this.lastState = {
436
451
  location: location.href,