@peckadesign/pd-naja 2.0.1 → 2.2.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.
package/README.md CHANGED
@@ -119,7 +119,7 @@ This extension allows you to force redirect the page to a specific URL. When imp
119
119
  If you are using content prepending or appending on snippets, you may need to force replace their content when certain elements have been interacted with. For example, if you have an infinite pager with new items appended, you may need to clear the snippet when some sort of filtering request has been made. This extension changes the snippet operation to `replace` when enabled by using the `data-naja-snippet-force-replace attribute` on the interacted element. See [Snippet update operation](https://naja.js.org/#/snippets?id=snippet-update-operation) in the Naja docs for more information about update operations.
120
120
 
121
121
  ### `ScrollToExtension`
122
- Extension that gives you the ability to scroll with the page when the ajax request starts (or finishes). This extension takes a `defaultScrollToEvent: 'before' | 'success'` parameter in the constructor. This parameter defines on which event the scrolling will occur by default. The element to scroll to is defined using a `data-naja-scroll-to` attribute containing selector. You can also change the default value of event per request using `data-naja-scroll-to-event`. It uses the `element.scrollIntoView()` method in the background. There is currently no way to pass arguments to the call.
122
+ Extension that gives you the ability to scroll with the page when the ajax request starts (or finishes). This extension takes a `defaultScrollToEvent: 'before' | 'success'` parameter in the constructor. This parameter defines on which event the scrolling will occur by default. The element to scroll to is defined using a `data-naja-scroll-to` attribute containing selector. You can also change the default value of event per request using `data-naja-scroll-to-event`. It uses the `element.scrollIntoView()` method in the background. You can pass options to the call by defining the `data-naja-scroll-to-options` attribute on the trigger element.
123
123
 
124
124
  ### `SingleSubmitExtension`
125
125
  Most of the time it is desirable to allow only single form submissions and prevent duplicate submissions, e.g. by double-clicking a button. This extension disables all buttons within a form on submission. It also works for non-ajax forms where there is a timeout after which the buttons are re-enabled. This extension is enabled by default for all forms, but can be disabled by setting a data attribute `data-naja-single-submit="off"`.
@@ -142,26 +142,28 @@ This extension allows you to add configurable loading indicator to ajax request.
142
142
  |--------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
143
143
  | `spinner: ((props?: any) => Element) \| Element` | Mandatory parameter. It should either be function return the spinner element, or directly element. |
144
144
  | `getSpinnerProps: ((initator: Element) => any) \| undefined = undefined` | If you provide `spinner` as a function, you might also provide function to get settings from ajax initiator. Returned value is passed as a `props` to `spinner()` call. |
145
- | `ajaxSpinnerWrapSelector = '.ajax-wrap'` | See below. |
146
- |`ajaxSpinnerPlaceholderSelector = '.ajax-spinner'`| See below |
145
+ | `ajaxSpinnerWrapSelector = '.ajax-wrap'` | See below. |
146
+ | `ajaxSpinnerTargetSelector = '.ajax-spinner'` | See below |
147
147
 
148
- The logic for spinner placeholder is as follows:
148
+ The logic for spinner target is as follows:
149
149
  1. The extension can be disabled by using `data-naja-spinner="off"`.
150
150
  3. The extension is also disabled if `data-naja-spinner="btn"` is set. In this case the spinner rendering is up to [`BtnSpinnerExtension`](#btnspinnerextension), which will be enabled automatically.
151
151
  2. If there is `data-naja-spinner` with different value, this value is used as a selector for element into which the spinner element is appended.
152
152
  3. If there is no `data-naja-spinner`, closest `ajaxSpinnerWrapSelector` is being searched for and:
153
- 1. If there is `ajaxSpinnerPlaceholderSelector` inside, this element is used for placing spinner element.
153
+ 1. If there is `ajaxSpinnerTargetSelector` inside, this element is used as a target for placing spinner element.
154
154
  2. If not, the spinner element is appended into `ajaxSpinnerWrapSelector` itself.
155
155
 
156
156
 
157
157
  ### `SuggestExtensions`
158
- This extension allows you to implement a suggestion box. It uses a form element with a dedicated suggestion button to submit the form using ajax. The result of the request is expected to be the redrawing of the snippet with results. See below for a detailed description of the elements. The extension constructor takes optional spinner and getSpinnerProps parameters of the same type as described in the [`SpinnerExtensions`](#spinnerextension) and [`BtnSpinnerExtension`](#btnspinnerextension).
158
+ This extension allows you to implement a suggestion box. It uses a form element with a dedicated suggestion button to submit the form using ajax. The result of the request is expected to be the redrawing of the snippet with results. See below for a detailed description of the elements. The extension constructor takes optional an `spinnerExtension: SpinnerExtension`, `spinner` and `getSpinnerProps` parameters, the types of the latter two parameters are described in the [`SpinnerExtension`](#spinnerextension) and [`BtnSpinnerExtension`](#btnspinnerextension).
159
+
160
+ If the `spinnerExtension` is passed and the latter two are omitted, they are set by the passed extension instance. In addition, the target element for the spinner is determined as in the `SpinnerExtension` algorithm (4). The fallback target is always the form element.
159
161
 
160
162
  At a minimum, these HTML elements are expected for the extension to work:
161
163
 
162
164
  | Selector | Element type | Description |
163
165
  |----------------------|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
164
- | `.js-suggest` | `HTMLFormElement` | The form element for the suggest extension. |
166
+ | `.js-suggest` | `HTMLFormElement` | The form element for the suggest extension. The form element can have a `data-suggest` parameter with a Suggest configuration object. See the `type SuggestOptions` in `Suggest.ts` for more information. |
165
167
  | `.js-suggest__input` | `HTMLInputElement` | Input element whose value is used as a query parameter in a suggestion request. |
166
168
  | `.js-suggest__btn` | `HTMLButtonElement \| HTMLInputElement` | Button used for form submission to suggestion request. |
167
169
  | `.js-suggest__suggest` | `HTMLElement` | The snippet element where the results are displayed. If there are no children elements, the extension adds a class `js-suggest__suggest--empty`. If the element should be shown, the class `js-suggest__suggest--shown` is added. |
@@ -5,7 +5,7 @@
5
5
  * @author PeckaDesign, s.r.o <support@peckadesign.cz>
6
6
  * @license MIT
7
7
  *
8
- * @version 2.0.1
8
+ * @version 2.2.0
9
9
  */
10
10
 
11
11
  let instance = null;
@@ -82,7 +82,7 @@ const isDatasetFalsy = (element, datasetName) => {
82
82
  };
83
83
 
84
84
  class Suggest {
85
- constructor(form, options = {}, spinner = undefined, getSpinnerProps = undefined) {
85
+ constructor(form, options = {}, spinnerExtension = undefined, spinner = undefined, getSpinnerProps = undefined) {
86
86
  this.inputClassName = `${Suggest.className}__input`;
87
87
  this.buttonClassName = `${Suggest.className}__btn`;
88
88
  this.suggestClassName = `${Suggest.className}__suggest`;
@@ -92,11 +92,14 @@ class Suggest {
92
92
  this.lastSearched = '';
93
93
  this.options = {
94
94
  minLength: 2,
95
- timeout: 200
95
+ timeout: 200,
96
+ emptyOnNewQuery: true,
97
+ showSpinner: true
96
98
  };
97
99
  this.form = form;
98
- this.spinner = spinner;
99
- this.getSpinnerProps = getSpinnerProps;
100
+ this.spinnerExtension = spinnerExtension;
101
+ this.spinner = spinner || spinnerExtension?.spinner;
102
+ this.getSpinnerProps = getSpinnerProps || spinnerExtension?.getSpinnerProps;
100
103
  const input = form.querySelector(`.${this.inputClassName}`);
101
104
  const button = form.querySelector(`.${this.buttonClassName}`);
102
105
  const suggest = form.querySelector(`.${this.suggestClassName}`);
@@ -112,6 +115,8 @@ class Suggest {
112
115
  this.input.addEventListener('keydown', this.handleInputKeydown.bind(this));
113
116
  this.input.addEventListener('keyup', this.handleInputKeyup.bind(this));
114
117
  this.suggest.addEventListener('mousedown', this.handleSuggestMousedown.bind(this));
118
+ // Use the underscore to allow the `element` to be a `form` element. Without the underscore, there would be
119
+ // a failure to set a named property error.
115
120
  this.form._suggest = this;
116
121
  }
117
122
  isEmpty() {
@@ -145,8 +150,10 @@ class Suggest {
145
150
  startSuggest() {
146
151
  this.suggest.dispatchEvent(new CustomEvent('loading.suggest', { bubbles: true }));
147
152
  this.input.classList.add(`${this.inputClassName}--loading`);
148
- if (this.spinner && !this.suggestSpinner) {
149
- this.suggestSpinner = showSpinner.call(this, this.form);
153
+ if (this.options.showSpinner && this.spinner && !this.suggestSpinner) {
154
+ const targets = this.spinnerExtension?.getTargetsByDOM(this.button);
155
+ const target = targets && targets.length ? targets[0] : this.form;
156
+ this.suggestSpinner = showSpinner.call(this, target);
150
157
  }
151
158
  }
152
159
  finishSuggest() {
@@ -210,7 +217,7 @@ class Suggest {
210
217
  if (!this.isOpen) {
211
218
  // If the suggestion wasn't open and this query is different from the last query, we need to clear the
212
219
  // results because they are not relevant. This only needs to be done if the suggestion has been closed.
213
- if (query !== this.lastSearched) {
220
+ if (query !== this.lastSearched && this.options.emptyOnNewQuery) {
214
221
  this.emptySuggest();
215
222
  }
216
223
  this.showSuggest();
@@ -299,7 +306,7 @@ class AjaxModalExtension {
299
306
  }
300
307
  onSnippetFetch(event) {
301
308
  // When snippet cache is off, this method is called to construct Naja request options. We retrieve modal
302
- // `options` from original state in history if neccessary. Also, when closing the modal from `PopstateEvent`, we
309
+ // `options` from original state in history if necessary. Also, when closing the modal from `PopstateEvent`, we
303
310
  // don't need to make a new request, so we call `event.preventDefault()` in that case.
304
311
  const { state } = event.detail;
305
312
  if (this.isPdModalState(state)) {
@@ -338,15 +345,24 @@ class AjaxModalExtension {
338
345
  }
339
346
  }
340
347
  buildState(event) {
341
- const { options, state } = event.detail;
348
+ const { operation, options, state } = event.detail;
349
+ // If this is called from Naja's `replaceInitialState`, we don't change the state.
350
+ //
351
+ // This is a possible weakness, because this condition could be true even with actual user interaction, if
352
+ // Naja's first interaction is with an element with `data-naja-history="replace"`. In this case the condition
353
+ // will also be true, but it is probably the desired behaviour to save this state as non-modal anyway, since
354
+ // the initial state should (or could) never be opened in a modal.
355
+ if (operation === 'replaceState' && state.cursor === 0) {
356
+ // If there already is `pdModal` configuration in history state, we need to preserve that configuration.
357
+ if (window.history.state?.pdModal) {
358
+ state.pdModal = window.history.state.pdModal;
359
+ }
360
+ return;
361
+ }
342
362
  // Every time naja builds the state, and we have the modal opened, we extend the state with `pdModal` object
343
363
  // containing information about modal being opened and what history mode is in use. When `options.forceRedirect`
344
364
  // is set, modal might be open but the new state will be redirected outside of it.
345
- //
346
- // We must check this.modal.isShown instead of this.isPdModalRequest, because of initial replace state from
347
- // Naja - in that case, options already contains information about request to be made, but we have to build the
348
- // "previous" state yet.
349
- const isShown = this.modal.isShown() && !options.forceRedirect;
365
+ const isShown = this.isPdModalRequest(options) && !options.forceRedirect;
350
366
  if (isShown) {
351
367
  state.pdModal = {
352
368
  historyDirection: this.historyDirection,
@@ -486,13 +502,19 @@ class AjaxModalExtension {
486
502
  this.restoreExtensionPropertiesFromState(state);
487
503
  this.modal.show(this.getElementFromString(state.pdModal.opener), state.pdModal.options, event);
488
504
  // If there is some snippet cache, we might restore modal options. If not, options will be restored based on
489
- // options after the ajax request. Same applies to dispatching load event - if cache is on, we dispatch the
490
- // event immediately, otherwise it will be dispatched after ajax request.
505
+ // options after the ajax request. The same applies to dispatching the load event - if the cache is on, we
506
+ // dispatch the event immediately (after the restore has actually happened, see below), otherwise it is
507
+ // dispatched after the ajax request.
491
508
  if (state.snippets?.storage !== 'off') {
492
509
  this.modal.setOptions(state.pdModal.options);
493
- if (this.modal.dispatchLoad) {
494
- this.modal.dispatchLoad(this.modalOptions, event);
495
- }
510
+ // We need to delay the load dispatch after the naja has restored the snippets. Unfortunately, there is
511
+ // no event after the snippets have been restored, only the `restore` event, which is dispatched before
512
+ // the actual restore.
513
+ setTimeout(() => {
514
+ if (this.modal.dispatchLoad) {
515
+ this.modal.dispatchLoad(this.modalOptions, event);
516
+ }
517
+ }, 0);
496
518
  }
497
519
  }
498
520
  else {
@@ -700,7 +722,9 @@ class ScrollToExtension {
700
722
  const selector = element.getAttribute('data-naja-scroll-to');
701
723
  if (selector) {
702
724
  const event = element.getAttribute('data-naja-scroll-to-event');
725
+ const scrollOptions = element.getAttribute('data-naja-scroll-to-options');
703
726
  options.scrollToSelector = selector;
727
+ options.scrollToOptions = scrollOptions ? JSON.parse(scrollOptions) : undefined;
704
728
  options.scrollToEvent = event ?? this.defaultScrollToEvent;
705
729
  }
706
730
  }
@@ -708,7 +732,7 @@ class ScrollToExtension {
708
732
  const { options } = event.detail;
709
733
  if (options.scrollToSelector && event.type === options.scrollToEvent) {
710
734
  const scrollToElement = document.querySelector(options.scrollToSelector);
711
- scrollToElement?.scrollIntoView();
735
+ scrollToElement?.scrollIntoView(options.scrollToOptions);
712
736
  }
713
737
  }
714
738
  }
@@ -832,7 +856,7 @@ class SpinnerExtension {
832
856
  this.spinner = spinner;
833
857
  this.getSpinnerProps = getSpinnerProps;
834
858
  this.ajaxSpinnerWrapSelector = ajaxSpinnerWrapSelector;
835
- this.ajaxSpinnerPlaceholderSelector = ajaxSpinnerPlaceholderSelector;
859
+ this.ajaxSpinnerTargetSelector = ajaxSpinnerPlaceholderSelector;
836
860
  }
837
861
  initialize(naja) {
838
862
  naja.uiHandler.addEventListener('interaction', this.getSpinnerInitiator.bind(this));
@@ -848,7 +872,7 @@ class SpinnerExtension {
848
872
  return;
849
873
  }
850
874
  const spinnerInitiator = options.spinnerInitiator;
851
- const placeholders = this.getPlaceholders(spinnerInitiator);
875
+ const placeholders = this.getTargets(spinnerInitiator);
852
876
  if (placeholders.length === 0) {
853
877
  return;
854
878
  }
@@ -866,7 +890,7 @@ class SpinnerExtension {
866
890
  }
867
891
  options.spinnerQueue?.forEach((spinner) => hideSpinner(spinner));
868
892
  }
869
- getPlaceholders(element) {
893
+ getTargets(element) {
870
894
  if (!element) {
871
895
  return [];
872
896
  }
@@ -875,30 +899,32 @@ class SpinnerExtension {
875
899
  if (spinner === 'off' || spinner === 'false' || spinner === 'btn') {
876
900
  return [];
877
901
  }
878
- placeholders = this.getPlaceholdersByQuerySelector(spinner);
879
- return placeholders.length ? placeholders : this.getPlaceholdersByDOM(element);
902
+ placeholders = this.getTargetsByQuerySelector(spinner);
903
+ return placeholders.length ? placeholders : this.getTargetsByDOM(element);
880
904
  }
881
- getPlaceholdersByQuerySelector(selector) {
905
+ getTargetsByQuerySelector(selector) {
882
906
  return selector ? Array.from(document.querySelectorAll(selector)) : [];
883
907
  }
884
- getPlaceholdersByDOM(element) {
908
+ getTargetsByDOM(element) {
885
909
  const wrap = element.closest(this.ajaxSpinnerWrapSelector);
886
910
  if (wrap === null) {
887
911
  return [];
888
912
  }
889
- const placeholders = wrap.querySelectorAll(this.ajaxSpinnerPlaceholderSelector);
913
+ const placeholders = wrap.querySelectorAll(this.ajaxSpinnerTargetSelector);
890
914
  return placeholders.length ? Array.from(placeholders) : [wrap];
891
915
  }
892
916
  }
893
917
 
894
918
  class SuggestExtension {
895
- constructor(spinner = undefined, getSpinnerProps = undefined) {
919
+ constructor(spinnerExtension = undefined, spinner = undefined, getSpinnerProps = undefined) {
896
920
  this.requestQueue = new Set();
921
+ this.spinnerExtension = spinnerExtension;
897
922
  this.spinner = spinner;
898
923
  this.getSpinnerProps = getSpinnerProps;
899
924
  const forms = document.querySelectorAll(`.${Suggest.className}`);
900
925
  forms.forEach((form) => {
901
- new Suggest(form, {}, spinner, getSpinnerProps);
926
+ const options = JSON.parse(form.dataset.suggest || '{}');
927
+ new Suggest(form, options, spinnerExtension, spinner, getSpinnerProps);
902
928
  });
903
929
  }
904
930
  initialize(naja) {
@@ -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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"}
@@ -1,9 +1,13 @@
1
+ import { SpinnerExtension } from '../extensions/SpinnerExtension';
1
2
  import { SpinnerPropsFn, SpinnerType } from '../types';
2
- type SuggestOptions = {
3
+ export type SuggestOptions = {
3
4
  minLength: number;
4
5
  timeout: number;
6
+ emptyOnNewQuery: boolean;
7
+ showSpinner: boolean;
5
8
  };
6
9
  export declare class Suggest {
10
+ readonly spinnerExtension?: SpinnerExtension;
7
11
  readonly spinner?: SpinnerType;
8
12
  readonly getSpinnerProps?: SpinnerPropsFn;
9
13
  static readonly className = "js-suggest";
@@ -20,7 +24,7 @@ export declare class Suggest {
20
24
  private timer;
21
25
  private lastSearched;
22
26
  private readonly options;
23
- constructor(form: HTMLFormElement, options?: Partial<SuggestOptions>, spinner?: SpinnerType | undefined, getSpinnerProps?: SpinnerPropsFn);
27
+ constructor(form: HTMLFormElement, options?: Partial<SuggestOptions>, spinnerExtension?: SpinnerExtension | undefined, spinner?: SpinnerType | undefined, getSpinnerProps?: SpinnerPropsFn);
24
28
  private isEmpty;
25
29
  private showSuggest;
26
30
  private hideSuggest;
@@ -31,4 +35,3 @@ export declare class Suggest {
31
35
  private handleInputKeyup;
32
36
  private handleSuggestMousedown;
33
37
  }
34
- export {};
@@ -3,6 +3,7 @@ type NajaScrollToEvent = 'before' | 'success';
3
3
  declare module 'naja/dist/Naja' {
4
4
  interface Options {
5
5
  scrollToEvent?: NajaScrollToEvent;
6
+ scrollToOptions?: ScrollIntoViewOptions;
6
7
  scrollToSelector?: string;
7
8
  }
8
9
  }
@@ -22,13 +22,13 @@ export declare class SpinnerExtension implements Extension, WithSpinner {
22
22
  readonly spinner: SpinnerType;
23
23
  readonly getSpinnerProps: SpinnerPropsFn;
24
24
  readonly ajaxSpinnerWrapSelector: string;
25
- readonly ajaxSpinnerPlaceholderSelector: string;
25
+ readonly ajaxSpinnerTargetSelector: string;
26
26
  constructor(spinner: SpinnerType, getSpinnerProps?: SpinnerPropsFn, ajaxSpinnerWrapSelector?: string, ajaxSpinnerPlaceholderSelector?: string);
27
27
  initialize(naja: Naja): void;
28
28
  private getSpinnerInitiator;
29
29
  private showSpinners;
30
30
  private hideSpinners;
31
- private getPlaceholders;
32
- private getPlaceholdersByQuerySelector;
33
- private getPlaceholdersByDOM;
31
+ private getTargets;
32
+ private getTargetsByQuerySelector;
33
+ getTargetsByDOM(element: Element): Element[];
34
34
  }
@@ -1,6 +1,7 @@
1
1
  import { Extension, Naja } from 'naja/dist/Naja';
2
2
  import { Suggest } from '../classes/Suggest';
3
3
  import { SpinnerPropsFn, SpinnerType } from '../types';
4
+ import { SpinnerExtension } from './SpinnerExtension';
4
5
  declare module 'naja/dist/Naja' {
5
6
  interface Options {
6
7
  suggest?: Suggest;
@@ -8,9 +9,10 @@ declare module 'naja/dist/Naja' {
8
9
  }
9
10
  export declare class SuggestExtension implements Extension {
10
11
  private requestQueue;
12
+ readonly spinnerExtension: SpinnerExtension | undefined;
11
13
  readonly spinner: SpinnerType | undefined;
12
- readonly getSpinnerProps?: SpinnerPropsFn;
13
- constructor(spinner?: SpinnerType | undefined, getSpinnerProps?: SpinnerPropsFn);
14
+ readonly getSpinnerProps: SpinnerPropsFn | undefined;
15
+ constructor(spinnerExtension?: SpinnerExtension | undefined, spinner?: SpinnerType | undefined, getSpinnerProps?: SpinnerPropsFn);
14
16
  initialize(naja: Naja): void;
15
17
  private checkExtensionEnabled;
16
18
  private start;
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.0.1
8
+ * @version 2.2.0
9
9
  */
10
10
 
11
11
  let instance = null;
@@ -82,7 +82,7 @@ const isDatasetFalsy = (element, datasetName) => {
82
82
  };
83
83
 
84
84
  class Suggest {
85
- constructor(form, options = {}, spinner = undefined, getSpinnerProps = undefined) {
85
+ constructor(form, options = {}, spinnerExtension = undefined, spinner = undefined, getSpinnerProps = undefined) {
86
86
  this.inputClassName = `${Suggest.className}__input`;
87
87
  this.buttonClassName = `${Suggest.className}__btn`;
88
88
  this.suggestClassName = `${Suggest.className}__suggest`;
@@ -92,11 +92,14 @@ class Suggest {
92
92
  this.lastSearched = '';
93
93
  this.options = {
94
94
  minLength: 2,
95
- timeout: 200
95
+ timeout: 200,
96
+ emptyOnNewQuery: true,
97
+ showSpinner: true
96
98
  };
97
99
  this.form = form;
98
- this.spinner = spinner;
99
- this.getSpinnerProps = getSpinnerProps;
100
+ this.spinnerExtension = spinnerExtension;
101
+ this.spinner = spinner || spinnerExtension?.spinner;
102
+ this.getSpinnerProps = getSpinnerProps || spinnerExtension?.getSpinnerProps;
100
103
  const input = form.querySelector(`.${this.inputClassName}`);
101
104
  const button = form.querySelector(`.${this.buttonClassName}`);
102
105
  const suggest = form.querySelector(`.${this.suggestClassName}`);
@@ -112,6 +115,8 @@ class Suggest {
112
115
  this.input.addEventListener('keydown', this.handleInputKeydown.bind(this));
113
116
  this.input.addEventListener('keyup', this.handleInputKeyup.bind(this));
114
117
  this.suggest.addEventListener('mousedown', this.handleSuggestMousedown.bind(this));
118
+ // Use the underscore to allow the `element` to be a `form` element. Without the underscore, there would be
119
+ // a failure to set a named property error.
115
120
  this.form._suggest = this;
116
121
  }
117
122
  isEmpty() {
@@ -145,8 +150,10 @@ class Suggest {
145
150
  startSuggest() {
146
151
  this.suggest.dispatchEvent(new CustomEvent('loading.suggest', { bubbles: true }));
147
152
  this.input.classList.add(`${this.inputClassName}--loading`);
148
- if (this.spinner && !this.suggestSpinner) {
149
- this.suggestSpinner = showSpinner.call(this, this.form);
153
+ if (this.options.showSpinner && this.spinner && !this.suggestSpinner) {
154
+ const targets = this.spinnerExtension?.getTargetsByDOM(this.button);
155
+ const target = targets && targets.length ? targets[0] : this.form;
156
+ this.suggestSpinner = showSpinner.call(this, target);
150
157
  }
151
158
  }
152
159
  finishSuggest() {
@@ -210,7 +217,7 @@ class Suggest {
210
217
  if (!this.isOpen) {
211
218
  // If the suggestion wasn't open and this query is different from the last query, we need to clear the
212
219
  // results because they are not relevant. This only needs to be done if the suggestion has been closed.
213
- if (query !== this.lastSearched) {
220
+ if (query !== this.lastSearched && this.options.emptyOnNewQuery) {
214
221
  this.emptySuggest();
215
222
  }
216
223
  this.showSuggest();
@@ -299,7 +306,7 @@ class AjaxModalExtension {
299
306
  }
300
307
  onSnippetFetch(event) {
301
308
  // When snippet cache is off, this method is called to construct Naja request options. We retrieve modal
302
- // `options` from original state in history if neccessary. Also, when closing the modal from `PopstateEvent`, we
309
+ // `options` from original state in history if necessary. Also, when closing the modal from `PopstateEvent`, we
303
310
  // don't need to make a new request, so we call `event.preventDefault()` in that case.
304
311
  const { state } = event.detail;
305
312
  if (this.isPdModalState(state)) {
@@ -338,15 +345,24 @@ class AjaxModalExtension {
338
345
  }
339
346
  }
340
347
  buildState(event) {
341
- const { options, state } = event.detail;
348
+ const { operation, options, state } = event.detail;
349
+ // If this is called from Naja's `replaceInitialState`, we don't change the state.
350
+ //
351
+ // This is a possible weakness, because this condition could be true even with actual user interaction, if
352
+ // Naja's first interaction is with an element with `data-naja-history="replace"`. In this case the condition
353
+ // will also be true, but it is probably the desired behaviour to save this state as non-modal anyway, since
354
+ // the initial state should (or could) never be opened in a modal.
355
+ if (operation === 'replaceState' && state.cursor === 0) {
356
+ // If there already is `pdModal` configuration in history state, we need to preserve that configuration.
357
+ if (window.history.state?.pdModal) {
358
+ state.pdModal = window.history.state.pdModal;
359
+ }
360
+ return;
361
+ }
342
362
  // Every time naja builds the state, and we have the modal opened, we extend the state with `pdModal` object
343
363
  // containing information about modal being opened and what history mode is in use. When `options.forceRedirect`
344
364
  // is set, modal might be open but the new state will be redirected outside of it.
345
- //
346
- // We must check this.modal.isShown instead of this.isPdModalRequest, because of initial replace state from
347
- // Naja - in that case, options already contains information about request to be made, but we have to build the
348
- // "previous" state yet.
349
- const isShown = this.modal.isShown() && !options.forceRedirect;
365
+ const isShown = this.isPdModalRequest(options) && !options.forceRedirect;
350
366
  if (isShown) {
351
367
  state.pdModal = {
352
368
  historyDirection: this.historyDirection,
@@ -486,13 +502,19 @@ class AjaxModalExtension {
486
502
  this.restoreExtensionPropertiesFromState(state);
487
503
  this.modal.show(this.getElementFromString(state.pdModal.opener), state.pdModal.options, event);
488
504
  // If there is some snippet cache, we might restore modal options. If not, options will be restored based on
489
- // options after the ajax request. Same applies to dispatching load event - if cache is on, we dispatch the
490
- // event immediately, otherwise it will be dispatched after ajax request.
505
+ // options after the ajax request. The same applies to dispatching the load event - if the cache is on, we
506
+ // dispatch the event immediately (after the restore has actually happened, see below), otherwise it is
507
+ // dispatched after the ajax request.
491
508
  if (state.snippets?.storage !== 'off') {
492
509
  this.modal.setOptions(state.pdModal.options);
493
- if (this.modal.dispatchLoad) {
494
- this.modal.dispatchLoad(this.modalOptions, event);
495
- }
510
+ // We need to delay the load dispatch after the naja has restored the snippets. Unfortunately, there is
511
+ // no event after the snippets have been restored, only the `restore` event, which is dispatched before
512
+ // the actual restore.
513
+ setTimeout(() => {
514
+ if (this.modal.dispatchLoad) {
515
+ this.modal.dispatchLoad(this.modalOptions, event);
516
+ }
517
+ }, 0);
496
518
  }
497
519
  }
498
520
  else {
@@ -700,7 +722,9 @@ class ScrollToExtension {
700
722
  const selector = element.getAttribute('data-naja-scroll-to');
701
723
  if (selector) {
702
724
  const event = element.getAttribute('data-naja-scroll-to-event');
725
+ const scrollOptions = element.getAttribute('data-naja-scroll-to-options');
703
726
  options.scrollToSelector = selector;
727
+ options.scrollToOptions = scrollOptions ? JSON.parse(scrollOptions) : undefined;
704
728
  options.scrollToEvent = event ?? this.defaultScrollToEvent;
705
729
  }
706
730
  }
@@ -708,7 +732,7 @@ class ScrollToExtension {
708
732
  const { options } = event.detail;
709
733
  if (options.scrollToSelector && event.type === options.scrollToEvent) {
710
734
  const scrollToElement = document.querySelector(options.scrollToSelector);
711
- scrollToElement?.scrollIntoView();
735
+ scrollToElement?.scrollIntoView(options.scrollToOptions);
712
736
  }
713
737
  }
714
738
  }
@@ -832,7 +856,7 @@ class SpinnerExtension {
832
856
  this.spinner = spinner;
833
857
  this.getSpinnerProps = getSpinnerProps;
834
858
  this.ajaxSpinnerWrapSelector = ajaxSpinnerWrapSelector;
835
- this.ajaxSpinnerPlaceholderSelector = ajaxSpinnerPlaceholderSelector;
859
+ this.ajaxSpinnerTargetSelector = ajaxSpinnerPlaceholderSelector;
836
860
  }
837
861
  initialize(naja) {
838
862
  naja.uiHandler.addEventListener('interaction', this.getSpinnerInitiator.bind(this));
@@ -848,7 +872,7 @@ class SpinnerExtension {
848
872
  return;
849
873
  }
850
874
  const spinnerInitiator = options.spinnerInitiator;
851
- const placeholders = this.getPlaceholders(spinnerInitiator);
875
+ const placeholders = this.getTargets(spinnerInitiator);
852
876
  if (placeholders.length === 0) {
853
877
  return;
854
878
  }
@@ -866,7 +890,7 @@ class SpinnerExtension {
866
890
  }
867
891
  options.spinnerQueue?.forEach((spinner) => hideSpinner(spinner));
868
892
  }
869
- getPlaceholders(element) {
893
+ getTargets(element) {
870
894
  if (!element) {
871
895
  return [];
872
896
  }
@@ -875,30 +899,32 @@ class SpinnerExtension {
875
899
  if (spinner === 'off' || spinner === 'false' || spinner === 'btn') {
876
900
  return [];
877
901
  }
878
- placeholders = this.getPlaceholdersByQuerySelector(spinner);
879
- return placeholders.length ? placeholders : this.getPlaceholdersByDOM(element);
902
+ placeholders = this.getTargetsByQuerySelector(spinner);
903
+ return placeholders.length ? placeholders : this.getTargetsByDOM(element);
880
904
  }
881
- getPlaceholdersByQuerySelector(selector) {
905
+ getTargetsByQuerySelector(selector) {
882
906
  return selector ? Array.from(document.querySelectorAll(selector)) : [];
883
907
  }
884
- getPlaceholdersByDOM(element) {
908
+ getTargetsByDOM(element) {
885
909
  const wrap = element.closest(this.ajaxSpinnerWrapSelector);
886
910
  if (wrap === null) {
887
911
  return [];
888
912
  }
889
- const placeholders = wrap.querySelectorAll(this.ajaxSpinnerPlaceholderSelector);
913
+ const placeholders = wrap.querySelectorAll(this.ajaxSpinnerTargetSelector);
890
914
  return placeholders.length ? Array.from(placeholders) : [wrap];
891
915
  }
892
916
  }
893
917
 
894
918
  class SuggestExtension {
895
- constructor(spinner = undefined, getSpinnerProps = undefined) {
919
+ constructor(spinnerExtension = undefined, spinner = undefined, getSpinnerProps = undefined) {
896
920
  this.requestQueue = new Set();
921
+ this.spinnerExtension = spinnerExtension;
897
922
  this.spinner = spinner;
898
923
  this.getSpinnerProps = getSpinnerProps;
899
924
  const forms = document.querySelectorAll(`.${Suggest.className}`);
900
925
  forms.forEach((form) => {
901
- new Suggest(form, {}, spinner, getSpinnerProps);
926
+ const options = JSON.parse(form.dataset.suggest || '{}');
927
+ new Suggest(form, options, spinnerExtension, spinner, getSpinnerProps);
902
928
  });
903
929
  }
904
930
  initialize(naja) {
@@ -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.0.1",
4
+ "version": "2.2.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.5.0",
46
+ "naja": "^2.6.0",
47
47
  "prettier": "^2.8.8",
48
48
  "rollup": "^3.21.6",
49
49
  "typescript": "^5.0.4"
@@ -1,12 +1,16 @@
1
+ import { SpinnerExtension } from '../extensions/SpinnerExtension'
1
2
  import { SpinnerPropsFn, SpinnerType, WithSpinner } from '../types'
2
3
  import { hideSpinner, showSpinner } from '../utils'
3
4
 
4
- type SuggestOptions = {
5
+ export type SuggestOptions = {
5
6
  minLength: number
6
7
  timeout: number
8
+ emptyOnNewQuery: boolean
9
+ showSpinner: boolean
7
10
  }
8
11
 
9
12
  export class Suggest {
13
+ public readonly spinnerExtension?: SpinnerExtension
10
14
  public readonly spinner?: SpinnerType
11
15
  public readonly getSpinnerProps?: SpinnerPropsFn
12
16
 
@@ -30,18 +34,22 @@ export class Suggest {
30
34
 
31
35
  private readonly options: SuggestOptions = {
32
36
  minLength: 2,
33
- timeout: 200
37
+ timeout: 200,
38
+ emptyOnNewQuery: true,
39
+ showSpinner: true
34
40
  }
35
41
 
36
42
  public constructor(
37
43
  form: HTMLFormElement,
38
44
  options: Partial<SuggestOptions> = {},
45
+ spinnerExtension: SpinnerExtension | undefined = undefined,
39
46
  spinner: SpinnerType | undefined = undefined,
40
47
  getSpinnerProps: SpinnerPropsFn = undefined
41
48
  ) {
42
49
  this.form = form
43
- this.spinner = spinner
44
- this.getSpinnerProps = getSpinnerProps
50
+ this.spinnerExtension = spinnerExtension
51
+ this.spinner = spinner || spinnerExtension?.spinner
52
+ this.getSpinnerProps = getSpinnerProps || spinnerExtension?.getSpinnerProps
45
53
 
46
54
  const input = form.querySelector<HTMLInputElement>(`.${this.inputClassName}`)
47
55
  const button = form.querySelector<HTMLButtonElement>(`.${this.buttonClassName}`)
@@ -64,7 +72,8 @@ export class Suggest {
64
72
  this.input.addEventListener('keyup', this.handleInputKeyup.bind(this))
65
73
 
66
74
  this.suggest.addEventListener('mousedown', this.handleSuggestMousedown.bind(this))
67
-
75
+ // Use the underscore to allow the `element` to be a `form` element. Without the underscore, there would be
76
+ // a failure to set a named property error.
68
77
  this.form._suggest = this
69
78
  }
70
79
 
@@ -109,8 +118,11 @@ export class Suggest {
109
118
  this.suggest.dispatchEvent(new CustomEvent('loading.suggest', { bubbles: true }))
110
119
  this.input.classList.add(`${this.inputClassName}--loading`)
111
120
 
112
- if (this.spinner && !this.suggestSpinner) {
113
- this.suggestSpinner = showSpinner.call(this as WithSpinner, this.form)
121
+ if (this.options.showSpinner && this.spinner && !this.suggestSpinner) {
122
+ const targets = this.spinnerExtension?.getTargetsByDOM(this.button)
123
+ const target = targets && targets.length ? targets[0] : this.form
124
+
125
+ this.suggestSpinner = showSpinner.call(this as WithSpinner, target)
114
126
  }
115
127
  }
116
128
 
@@ -191,7 +203,7 @@ export class Suggest {
191
203
  if (!this.isOpen) {
192
204
  // If the suggestion wasn't open and this query is different from the last query, we need to clear the
193
205
  // results because they are not relevant. This only needs to be done if the suggestion has been closed.
194
- if (query !== this.lastSearched) {
206
+ if (query !== this.lastSearched && this.options.emptyOnNewQuery) {
195
207
  this.emptySuggest()
196
208
  }
197
209
 
@@ -156,7 +156,7 @@ export class AjaxModalExtension implements Extension {
156
156
 
157
157
  private onSnippetFetch(event: FetchEvent): void {
158
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 neccessary. Also, when closing the modal from `PopstateEvent`, we
159
+ // `options` from original state in history if necessary. Also, when closing the modal from `PopstateEvent`, we
160
160
  // don't need to make a new request, so we call `event.preventDefault()` in that case.
161
161
  const { state } = event.detail
162
162
 
@@ -201,16 +201,27 @@ export class AjaxModalExtension implements Extension {
201
201
  }
202
202
 
203
203
  private buildState(event: BuildStateEvent): void {
204
- const { options, state } = event.detail
204
+ const { operation, options, state } = event.detail
205
+
206
+ // If this is called from Naja's `replaceInitialState`, we don't change the state.
207
+ //
208
+ // This is a possible weakness, because this condition could be true even with actual user interaction, if
209
+ // Naja's first interaction is with an element with `data-naja-history="replace"`. In this case the condition
210
+ // will also be true, but it is probably the desired behaviour to save this state as non-modal anyway, since
211
+ // the initial state should (or could) never be opened in a modal.
212
+ if (operation === 'replaceState' && state.cursor === 0) {
213
+ // If there already is `pdModal` configuration in history state, we need to preserve that configuration.
214
+ if (window.history.state?.pdModal) {
215
+ state.pdModal = window.history.state.pdModal
216
+ }
217
+
218
+ return
219
+ }
205
220
 
206
221
  // Every time naja builds the state, and we have the modal opened, we extend the state with `pdModal` object
207
222
  // containing information about modal being opened and what history mode is in use. When `options.forceRedirect`
208
223
  // is set, modal might be open but the new state will be redirected outside of it.
209
- //
210
- // We must check this.modal.isShown instead of this.isPdModalRequest, because of initial replace state from
211
- // Naja - in that case, options already contains information about request to be made, but we have to build the
212
- // "previous" state yet.
213
- const isShown: boolean = this.modal.isShown() && !options.forceRedirect
224
+ const isShown: boolean = this.isPdModalRequest(options) && !options.forceRedirect
214
225
 
215
226
  if (isShown) {
216
227
  state.pdModal = {
@@ -376,14 +387,20 @@ export class AjaxModalExtension implements Extension {
376
387
  this.modal.show(this.getElementFromString(state.pdModal.opener), state.pdModal.options, event)
377
388
 
378
389
  // If there is some snippet cache, we might restore modal options. If not, options will be restored based on
379
- // options after the ajax request. Same applies to dispatching load event - if cache is on, we dispatch the
380
- // event immediately, otherwise it will be dispatched after ajax request.
390
+ // options after the ajax request. The same applies to dispatching the load event - if the cache is on, we
391
+ // dispatch the event immediately (after the restore has actually happened, see below), otherwise it is
392
+ // dispatched after the ajax request.
381
393
  if (state.snippets?.storage !== 'off') {
382
394
  this.modal.setOptions(state.pdModal.options)
383
395
 
384
- if (this.modal.dispatchLoad) {
385
- this.modal.dispatchLoad(this.modalOptions, event)
386
- }
396
+ // We need to delay the load dispatch after the naja has restored the snippets. Unfortunately, there is
397
+ // no event after the snippets have been restored, only the `restore` event, which is dispatched before
398
+ // the actual restore.
399
+ setTimeout(() => {
400
+ if (this.modal.dispatchLoad) {
401
+ this.modal.dispatchLoad(this.modalOptions, event)
402
+ }
403
+ }, 0)
387
404
  }
388
405
  } else {
389
406
  this.historyEnabled = false // Hiding modal using forward / back button, we disable the history to prevent state duplication
@@ -6,6 +6,7 @@ type NajaScrollToEvent = 'before' | 'success'
6
6
  declare module 'naja/dist/Naja' {
7
7
  interface Options {
8
8
  scrollToEvent?: NajaScrollToEvent
9
+ scrollToOptions?: ScrollIntoViewOptions
9
10
  scrollToSelector?: string
10
11
  }
11
12
  }
@@ -31,8 +32,10 @@ export class ScrollToExtension implements Extension {
31
32
 
32
33
  if (selector) {
33
34
  const event = element.getAttribute('data-naja-scroll-to-event') as NajaScrollToEvent | undefined
35
+ const scrollOptions = element.getAttribute('data-naja-scroll-to-options')
34
36
 
35
37
  options.scrollToSelector = selector
38
+ options.scrollToOptions = scrollOptions ? JSON.parse(scrollOptions) : undefined
36
39
  options.scrollToEvent = event ?? this.defaultScrollToEvent
37
40
  }
38
41
  }
@@ -41,8 +44,8 @@ export class ScrollToExtension implements Extension {
41
44
  const { options } = event.detail
42
45
 
43
46
  if (options.scrollToSelector && event.type === options.scrollToEvent) {
44
- const scrollToElement = document.querySelector(options.scrollToSelector)
45
- scrollToElement?.scrollIntoView()
47
+ const scrollToElement = document.querySelector<HTMLElement>(options.scrollToSelector)
48
+ scrollToElement?.scrollIntoView(options.scrollToOptions)
46
49
  }
47
50
  }
48
51
  }
@@ -28,7 +28,7 @@ export class SpinnerExtension implements Extension, WithSpinner {
28
28
  public readonly getSpinnerProps: SpinnerPropsFn
29
29
 
30
30
  public readonly ajaxSpinnerWrapSelector: string
31
- public readonly ajaxSpinnerPlaceholderSelector: string
31
+ public readonly ajaxSpinnerTargetSelector: string
32
32
 
33
33
  public constructor(
34
34
  spinner: SpinnerType,
@@ -40,7 +40,7 @@ export class SpinnerExtension implements Extension, WithSpinner {
40
40
  this.getSpinnerProps = getSpinnerProps
41
41
 
42
42
  this.ajaxSpinnerWrapSelector = ajaxSpinnerWrapSelector
43
- this.ajaxSpinnerPlaceholderSelector = ajaxSpinnerPlaceholderSelector
43
+ this.ajaxSpinnerTargetSelector = ajaxSpinnerPlaceholderSelector
44
44
  }
45
45
 
46
46
  public initialize(naja: Naja): void {
@@ -62,7 +62,7 @@ export class SpinnerExtension implements Extension, WithSpinner {
62
62
  }
63
63
 
64
64
  const spinnerInitiator = options.spinnerInitiator
65
- const placeholders = this.getPlaceholders(spinnerInitiator)
65
+ const placeholders = this.getTargets(spinnerInitiator)
66
66
 
67
67
  if (placeholders.length === 0) {
68
68
  return
@@ -85,7 +85,7 @@ export class SpinnerExtension implements Extension, WithSpinner {
85
85
  options.spinnerQueue?.forEach((spinner: Element) => hideSpinner(spinner))
86
86
  }
87
87
 
88
- private getPlaceholders(element: Element): Element[] {
88
+ private getTargets(element: Element): Element[] {
89
89
  if (!element) {
90
90
  return []
91
91
  }
@@ -97,23 +97,23 @@ export class SpinnerExtension implements Extension, WithSpinner {
97
97
  return []
98
98
  }
99
99
 
100
- placeholders = this.getPlaceholdersByQuerySelector(spinner)
100
+ placeholders = this.getTargetsByQuerySelector(spinner)
101
101
 
102
- return placeholders.length ? placeholders : this.getPlaceholdersByDOM(element)
102
+ return placeholders.length ? placeholders : this.getTargetsByDOM(element)
103
103
  }
104
104
 
105
- private getPlaceholdersByQuerySelector(selector: string | null): Element[] {
105
+ private getTargetsByQuerySelector(selector: string | null): Element[] {
106
106
  return selector ? Array.from(document.querySelectorAll(selector)) : []
107
107
  }
108
108
 
109
- private getPlaceholdersByDOM(element: Element): Element[] {
109
+ public getTargetsByDOM(element: Element): Element[] {
110
110
  const wrap = element.closest(this.ajaxSpinnerWrapSelector)
111
111
 
112
112
  if (wrap === null) {
113
113
  return []
114
114
  }
115
115
 
116
- const placeholders = wrap.querySelectorAll(this.ajaxSpinnerPlaceholderSelector)
116
+ const placeholders = wrap.querySelectorAll(this.ajaxSpinnerTargetSelector)
117
117
 
118
118
  return placeholders.length ? Array.from(placeholders) : [wrap]
119
119
  }
@@ -1,7 +1,8 @@
1
1
  import { InteractionEvent } from 'naja/dist/core/UIHandler'
2
2
  import { CompleteEvent, Extension, Naja, StartEvent } from 'naja/dist/Naja'
3
- import { Suggest } from '../classes/Suggest'
3
+ import { Suggest, SuggestOptions } from '../classes/Suggest'
4
4
  import { SpinnerPropsFn, SpinnerType } from '../types'
5
+ import { SpinnerExtension } from './SpinnerExtension'
5
6
 
6
7
  declare module 'naja/dist/Naja' {
7
8
  interface Options {
@@ -12,17 +13,25 @@ declare module 'naja/dist/Naja' {
12
13
  export class SuggestExtension implements Extension {
13
14
  private requestQueue: Set<Request> = new Set()
14
15
 
16
+ public readonly spinnerExtension: SpinnerExtension | undefined
15
17
  public readonly spinner: SpinnerType | undefined
16
- public readonly getSpinnerProps?: SpinnerPropsFn
18
+ public readonly getSpinnerProps: SpinnerPropsFn | undefined
17
19
 
18
- public constructor(spinner: SpinnerType | undefined = undefined, getSpinnerProps: SpinnerPropsFn = undefined) {
20
+ public constructor(
21
+ spinnerExtension: SpinnerExtension | undefined = undefined,
22
+ spinner: SpinnerType | undefined = undefined,
23
+ getSpinnerProps: SpinnerPropsFn = undefined
24
+ ) {
25
+ this.spinnerExtension = spinnerExtension
19
26
  this.spinner = spinner
20
27
  this.getSpinnerProps = getSpinnerProps
21
28
 
22
29
  const forms = document.querySelectorAll<HTMLFormElement>(`.${Suggest.className}`)
23
30
 
24
31
  forms.forEach((form) => {
25
- new Suggest(form, {}, spinner, getSpinnerProps)
32
+ const options = JSON.parse(form.dataset.suggest || '{}') as Partial<SuggestOptions>
33
+
34
+ new Suggest(form, options, spinnerExtension, spinner, getSpinnerProps)
26
35
  })
27
36
  }
28
37