@peckadesign/pd-naja 2.0.1 → 2.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.
package/README.md CHANGED
@@ -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.1.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();
@@ -832,7 +839,7 @@ class SpinnerExtension {
832
839
  this.spinner = spinner;
833
840
  this.getSpinnerProps = getSpinnerProps;
834
841
  this.ajaxSpinnerWrapSelector = ajaxSpinnerWrapSelector;
835
- this.ajaxSpinnerPlaceholderSelector = ajaxSpinnerPlaceholderSelector;
842
+ this.ajaxSpinnerTargetSelector = ajaxSpinnerPlaceholderSelector;
836
843
  }
837
844
  initialize(naja) {
838
845
  naja.uiHandler.addEventListener('interaction', this.getSpinnerInitiator.bind(this));
@@ -848,7 +855,7 @@ class SpinnerExtension {
848
855
  return;
849
856
  }
850
857
  const spinnerInitiator = options.spinnerInitiator;
851
- const placeholders = this.getPlaceholders(spinnerInitiator);
858
+ const placeholders = this.getTargets(spinnerInitiator);
852
859
  if (placeholders.length === 0) {
853
860
  return;
854
861
  }
@@ -866,7 +873,7 @@ class SpinnerExtension {
866
873
  }
867
874
  options.spinnerQueue?.forEach((spinner) => hideSpinner(spinner));
868
875
  }
869
- getPlaceholders(element) {
876
+ getTargets(element) {
870
877
  if (!element) {
871
878
  return [];
872
879
  }
@@ -875,30 +882,32 @@ class SpinnerExtension {
875
882
  if (spinner === 'off' || spinner === 'false' || spinner === 'btn') {
876
883
  return [];
877
884
  }
878
- placeholders = this.getPlaceholdersByQuerySelector(spinner);
879
- return placeholders.length ? placeholders : this.getPlaceholdersByDOM(element);
885
+ placeholders = this.getTargetsByQuerySelector(spinner);
886
+ return placeholders.length ? placeholders : this.getTargetsByDOM(element);
880
887
  }
881
- getPlaceholdersByQuerySelector(selector) {
888
+ getTargetsByQuerySelector(selector) {
882
889
  return selector ? Array.from(document.querySelectorAll(selector)) : [];
883
890
  }
884
- getPlaceholdersByDOM(element) {
891
+ getTargetsByDOM(element) {
885
892
  const wrap = element.closest(this.ajaxSpinnerWrapSelector);
886
893
  if (wrap === null) {
887
894
  return [];
888
895
  }
889
- const placeholders = wrap.querySelectorAll(this.ajaxSpinnerPlaceholderSelector);
896
+ const placeholders = wrap.querySelectorAll(this.ajaxSpinnerTargetSelector);
890
897
  return placeholders.length ? Array.from(placeholders) : [wrap];
891
898
  }
892
899
  }
893
900
 
894
901
  class SuggestExtension {
895
- constructor(spinner = undefined, getSpinnerProps = undefined) {
902
+ constructor(spinnerExtension = undefined, spinner = undefined, getSpinnerProps = undefined) {
896
903
  this.requestQueue = new Set();
904
+ this.spinnerExtension = spinnerExtension;
897
905
  this.spinner = spinner;
898
906
  this.getSpinnerProps = getSpinnerProps;
899
907
  const forms = document.querySelectorAll(`.${Suggest.className}`);
900
908
  forms.forEach((form) => {
901
- new Suggest(form, {}, spinner, getSpinnerProps);
909
+ const options = JSON.parse(form.dataset.suggest || '{}');
910
+ new Suggest(form, options, spinnerExtension, spinner, getSpinnerProps);
902
911
  });
903
912
  }
904
913
  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 {};
@@ -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.1.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();
@@ -832,7 +839,7 @@ class SpinnerExtension {
832
839
  this.spinner = spinner;
833
840
  this.getSpinnerProps = getSpinnerProps;
834
841
  this.ajaxSpinnerWrapSelector = ajaxSpinnerWrapSelector;
835
- this.ajaxSpinnerPlaceholderSelector = ajaxSpinnerPlaceholderSelector;
842
+ this.ajaxSpinnerTargetSelector = ajaxSpinnerPlaceholderSelector;
836
843
  }
837
844
  initialize(naja) {
838
845
  naja.uiHandler.addEventListener('interaction', this.getSpinnerInitiator.bind(this));
@@ -848,7 +855,7 @@ class SpinnerExtension {
848
855
  return;
849
856
  }
850
857
  const spinnerInitiator = options.spinnerInitiator;
851
- const placeholders = this.getPlaceholders(spinnerInitiator);
858
+ const placeholders = this.getTargets(spinnerInitiator);
852
859
  if (placeholders.length === 0) {
853
860
  return;
854
861
  }
@@ -866,7 +873,7 @@ class SpinnerExtension {
866
873
  }
867
874
  options.spinnerQueue?.forEach((spinner) => hideSpinner(spinner));
868
875
  }
869
- getPlaceholders(element) {
876
+ getTargets(element) {
870
877
  if (!element) {
871
878
  return [];
872
879
  }
@@ -875,30 +882,32 @@ class SpinnerExtension {
875
882
  if (spinner === 'off' || spinner === 'false' || spinner === 'btn') {
876
883
  return [];
877
884
  }
878
- placeholders = this.getPlaceholdersByQuerySelector(spinner);
879
- return placeholders.length ? placeholders : this.getPlaceholdersByDOM(element);
885
+ placeholders = this.getTargetsByQuerySelector(spinner);
886
+ return placeholders.length ? placeholders : this.getTargetsByDOM(element);
880
887
  }
881
- getPlaceholdersByQuerySelector(selector) {
888
+ getTargetsByQuerySelector(selector) {
882
889
  return selector ? Array.from(document.querySelectorAll(selector)) : [];
883
890
  }
884
- getPlaceholdersByDOM(element) {
891
+ getTargetsByDOM(element) {
885
892
  const wrap = element.closest(this.ajaxSpinnerWrapSelector);
886
893
  if (wrap === null) {
887
894
  return [];
888
895
  }
889
- const placeholders = wrap.querySelectorAll(this.ajaxSpinnerPlaceholderSelector);
896
+ const placeholders = wrap.querySelectorAll(this.ajaxSpinnerTargetSelector);
890
897
  return placeholders.length ? Array.from(placeholders) : [wrap];
891
898
  }
892
899
  }
893
900
 
894
901
  class SuggestExtension {
895
- constructor(spinner = undefined, getSpinnerProps = undefined) {
902
+ constructor(spinnerExtension = undefined, spinner = undefined, getSpinnerProps = undefined) {
896
903
  this.requestQueue = new Set();
904
+ this.spinnerExtension = spinnerExtension;
897
905
  this.spinner = spinner;
898
906
  this.getSpinnerProps = getSpinnerProps;
899
907
  const forms = document.querySelectorAll(`.${Suggest.className}`);
900
908
  forms.forEach((form) => {
901
- new Suggest(form, {}, spinner, getSpinnerProps);
909
+ const options = JSON.parse(form.dataset.suggest || '{}');
910
+ new Suggest(form, options, spinnerExtension, spinner, getSpinnerProps);
902
911
  });
903
912
  }
904
913
  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.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.5.0",
46
+ "naja": "^2.5.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
 
@@ -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