@peckadesign/pd-naja 1.0.1 → 1.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 +2 -2
- package/dist/PdNaja.esm.js +73 -30
- package/dist/PdNaja.esm.js.map +1 -1
- package/dist/extensions/AjaxModalExtension.d.ts +4 -1
- package/dist/index.esm.js +73 -30
- package/dist/index.esm.js.map +1 -1
- package/dist/utils/Control.d.ts +1 -0
- package/dist/utils/ControlManager.d.ts +2 -0
- package/package.json +2 -1
- package/src/extensions/AjaxModalExtension.ts +80 -32
- package/src/utils/Control.ts +4 -0
- package/src/utils/ControlManager.ts +21 -1
package/README.md
CHANGED
|
@@ -21,13 +21,13 @@ naja.registerExtension(new ExtensionName())
|
|
|
21
21
|
```typescript
|
|
22
22
|
import { controlManager } from '@peckadesign/pd-naja'
|
|
23
23
|
import SomeControl from '@/js/Controls/SomeControl' // `SomeControl` must implement `Control` interface
|
|
24
|
-
import SomeAnotherControl from '@/js/Controls/
|
|
24
|
+
import SomeAnotherControl from '@/js/Controls/SomeAnotherControl'
|
|
25
25
|
|
|
26
26
|
// This control is only initialized on page load
|
|
27
27
|
controlManager.addControlOnLoad(SomeControl)
|
|
28
28
|
|
|
29
29
|
// This control will also get initialized after Naja requests
|
|
30
|
-
controlManager.addControlOnLive(
|
|
30
|
+
controlManager.addControlOnLive(SomeAnotherControl)
|
|
31
31
|
|
|
32
32
|
```
|
|
33
33
|
|
package/dist/PdNaja.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 1.0
|
|
8
|
+
* @version 1.2.0
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import naja from 'naja';
|
|
@@ -18,6 +18,7 @@ class ControlManager {
|
|
|
18
18
|
if (instance === null) {
|
|
19
19
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
20
20
|
instance = this;
|
|
21
|
+
naja.snippetHandler.addEventListener('beforeUpdate', this.onBeforeSnippetUpdate.bind(this));
|
|
21
22
|
naja.snippetHandler.addEventListener('afterUpdate', this.onSnippetUpdate.bind(this));
|
|
22
23
|
}
|
|
23
24
|
return instance;
|
|
@@ -26,6 +27,13 @@ class ControlManager {
|
|
|
26
27
|
this.initialize(this.onLoadControl);
|
|
27
28
|
this.initialize(this.onLiveControl);
|
|
28
29
|
}
|
|
30
|
+
onBeforeSnippetUpdate(event) {
|
|
31
|
+
if (event.detail.operation === naja.snippetHandler.op.append ||
|
|
32
|
+
event.detail.operation === naja.snippetHandler.op.prepend) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
this.destroy(this.onLiveControl, event.detail.snippet);
|
|
36
|
+
}
|
|
29
37
|
onSnippetUpdate(event) {
|
|
30
38
|
this.initialize(this.onLiveControl, event.detail.snippet);
|
|
31
39
|
}
|
|
@@ -34,6 +42,13 @@ class ControlManager {
|
|
|
34
42
|
control.initialize(snippet || document);
|
|
35
43
|
});
|
|
36
44
|
}
|
|
45
|
+
destroy(controls, snippet) {
|
|
46
|
+
controls.forEach((control) => {
|
|
47
|
+
if (control.destroy !== undefined) {
|
|
48
|
+
control.destroy(snippet);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
37
52
|
addControlOnLoad(control) {
|
|
38
53
|
this.onLoadControl.push(control);
|
|
39
54
|
}
|
|
@@ -49,6 +64,7 @@ class AjaxModalExtension {
|
|
|
49
64
|
this.hidePopstateFlag = false;
|
|
50
65
|
this.historyEnabled = false; // (dis)allows `pushState` after hiding the modal when going back in history (popstate), we don't want to push new state into history same is true also when the history is disabled for request altogether
|
|
51
66
|
this.historyDirection = 'backwards';
|
|
67
|
+
this.shouldPreventSnippetFetch = false;
|
|
52
68
|
this.modalOptions = {};
|
|
53
69
|
this.original = []; // stack of states under the modal after hiding the modal with `forwards` history mode, we need to push the previous state
|
|
54
70
|
this.lastState = null;
|
|
@@ -56,8 +72,11 @@ class AjaxModalExtension {
|
|
|
56
72
|
this.isRequestWithHistory = (options) => {
|
|
57
73
|
return options.history !== false;
|
|
58
74
|
};
|
|
75
|
+
this.isPdModalRequest = (options) => {
|
|
76
|
+
return Boolean(options.pdModal);
|
|
77
|
+
};
|
|
59
78
|
this.isPdModalState = (state) => {
|
|
60
|
-
return 'pdModal' in state
|
|
79
|
+
return 'pdModal' in state;
|
|
61
80
|
};
|
|
62
81
|
this.restoreExtensionPropertiesFromState = (state) => {
|
|
63
82
|
this.historyEnabled = true; // Called from popstateHandler means the history is enabled
|
|
@@ -91,9 +110,7 @@ class AjaxModalExtension {
|
|
|
91
110
|
this.modal.isShown() ||
|
|
92
111
|
element.hasAttribute('data-naja-modal') ||
|
|
93
112
|
element.form?.hasAttribute('data-naja-modal');
|
|
94
|
-
|
|
95
|
-
// change when traversing ajax link inside modal.
|
|
96
|
-
if (!options.pdModal) {
|
|
113
|
+
if (!this.isPdModalRequest(options)) {
|
|
97
114
|
return;
|
|
98
115
|
}
|
|
99
116
|
// `modalOptions` will be stored in state, therefore no `Element` is allowed. These options are also forwarded
|
|
@@ -101,13 +118,26 @@ class AjaxModalExtension {
|
|
|
101
118
|
this.modalOptions = this.modal.getOptions(element);
|
|
102
119
|
options.modalOptions = this.modalOptions;
|
|
103
120
|
options.modalOpener = element;
|
|
104
|
-
//
|
|
121
|
+
// If the extension is enabled and modal is not opened, we detect and store history mode. History mode cannot
|
|
122
|
+
// change when traversing ajax link inside modal, it stays the same until modal is hidden.
|
|
105
123
|
if (!this.modal.isShown()) {
|
|
106
124
|
this.historyDirection = element.getAttribute('data-naja-modal-history') === 'forwards' ? 'forwards' : 'backwards';
|
|
107
125
|
}
|
|
108
126
|
}
|
|
109
127
|
onSnippetFetch(event) {
|
|
110
|
-
|
|
128
|
+
// When snippet cache is off, this method is called to construct Naja request options. We retrieve modal
|
|
129
|
+
// `options` from original state in history if neccessary. Also, when closing the modal from `PopstateEvent`, we
|
|
130
|
+
// don't need to make a new request, so we call `event.preventDefault()` in that case.
|
|
131
|
+
const { state } = event.detail;
|
|
132
|
+
if (this.isPdModalState(state)) {
|
|
133
|
+
event.detail.options.pdModal = true;
|
|
134
|
+
event.detail.options.modalOpener = this.getElementFromString(state.pdModal.opener);
|
|
135
|
+
event.detail.options.modalOptions = state.pdModal.options;
|
|
136
|
+
}
|
|
137
|
+
if (this.shouldPreventSnippetFetch) {
|
|
138
|
+
event.preventDefault();
|
|
139
|
+
this.shouldPreventSnippetFetch = false;
|
|
140
|
+
}
|
|
111
141
|
}
|
|
112
142
|
removeModalSnippetsIds() {
|
|
113
143
|
// When closing the modal, we don't want to update any snippets inside it, when other requests finishes. This
|
|
@@ -123,7 +153,7 @@ class AjaxModalExtension {
|
|
|
123
153
|
}
|
|
124
154
|
abortPreviousRequest(event) {
|
|
125
155
|
const { abortController, options } = event.detail;
|
|
126
|
-
if (options
|
|
156
|
+
if (this.isPdModalRequest(options)) {
|
|
127
157
|
this.abortControllers.get(this.uniqueExtKey)?.abort();
|
|
128
158
|
this.abortControllers.set(this.uniqueExtKey, abortController);
|
|
129
159
|
}
|
|
@@ -136,22 +166,28 @@ class AjaxModalExtension {
|
|
|
136
166
|
}
|
|
137
167
|
buildState(event) {
|
|
138
168
|
const { options, state } = event.detail;
|
|
139
|
-
// Every time naja builds the state, we extend
|
|
140
|
-
// opened and what history mode is in use. When options.forceRedirect
|
|
141
|
-
// state will be redirected outside it.
|
|
169
|
+
// Every time naja builds the state, and we have the modal opened, we extend the state with `pdModal` object
|
|
170
|
+
// containing information about modal being opened and what history mode is in use. When `options.forceRedirect`
|
|
171
|
+
// is set, modal might be open but the new state will be redirected outside of it.
|
|
172
|
+
//
|
|
173
|
+
// We must check this.modal.isShown instead of this.isPdModalRequest, because of initial replace state from
|
|
174
|
+
// Naja - in that case, options already contains information about request to be made, but we have to build the
|
|
175
|
+
// "previous" state yet.
|
|
142
176
|
const isShown = this.modal.isShown() && !options.forceRedirect;
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
177
|
+
if (isShown) {
|
|
178
|
+
state.pdModal = {
|
|
179
|
+
historyDirection: this.historyDirection,
|
|
180
|
+
opener: options.modalOpener.outerHTML,
|
|
181
|
+
options: this.modalOptions
|
|
182
|
+
};
|
|
183
|
+
}
|
|
148
184
|
// If the state is build, the history is enabled. This information is needed inside modal callback where the
|
|
149
185
|
// options are not available, so we store this internally in extension.
|
|
150
186
|
this.historyEnabled = true;
|
|
151
187
|
}
|
|
152
188
|
before(event) {
|
|
153
189
|
const { options, request } = event.detail;
|
|
154
|
-
if (!options
|
|
190
|
+
if (!this.isPdModalRequest(options)) {
|
|
155
191
|
return;
|
|
156
192
|
}
|
|
157
193
|
this.modal.show(options.modalOpener, options.modalOptions, event);
|
|
@@ -165,7 +201,7 @@ class AjaxModalExtension {
|
|
|
165
201
|
state: history.state,
|
|
166
202
|
title: document.title
|
|
167
203
|
};
|
|
168
|
-
if (!options
|
|
204
|
+
if (!this.isPdModalRequest(options)) {
|
|
169
205
|
return;
|
|
170
206
|
}
|
|
171
207
|
const requestHistory = this.isRequestWithHistory(options);
|
|
@@ -248,6 +284,7 @@ class AjaxModalExtension {
|
|
|
248
284
|
}
|
|
249
285
|
const isCurrentStatePdModal = this.isPdModalState(state);
|
|
250
286
|
this.popstateFlag = true;
|
|
287
|
+
this.shouldPreventSnippetFetch = false;
|
|
251
288
|
// We don't know how many states we go back. So we go one by one until the new state is not modal state
|
|
252
289
|
// (`isPdModalState` is `false`).
|
|
253
290
|
if (this.hidePopstateFlag) {
|
|
@@ -265,16 +302,16 @@ class AjaxModalExtension {
|
|
|
265
302
|
}
|
|
266
303
|
this.hidePopstateFlag = false;
|
|
267
304
|
}
|
|
268
|
-
// We check if the state has pdModal object present on popstate. If so
|
|
269
|
-
//
|
|
305
|
+
// We check if the state has `pdModal` object present on popstate. If so , we proceed to open the modal. Content
|
|
306
|
+
// of the modal is restored by naja itself (either from cache or by new request).
|
|
270
307
|
//
|
|
271
|
-
// If the initial state is also detected as pdModal state, we returned to some pdModal state using reload. In
|
|
272
|
-
// case, we don't want to open the modal, because we might be missing some snippets. Effectively this means
|
|
273
|
-
// modal will never be opened by forward / back button if there has been some other site loaded outside
|
|
274
|
-
// (e.g. some non-ajax link leading from modal).
|
|
308
|
+
// If the initial state is also detected as pdModal state, we returned to some pdModal state using reload. In
|
|
309
|
+
// that case, we don't want to open the modal, because we might be missing some snippets. Effectively this means
|
|
310
|
+
// that the modal will never be opened by forward / back button if there has been some other site loaded outside
|
|
311
|
+
// the modal (e.g. some non-ajax link leading from modal).
|
|
275
312
|
if (isCurrentStatePdModal && !this.isPdModalState(this.initialState)) {
|
|
276
313
|
this.restoreExtensionPropertiesFromState(state);
|
|
277
|
-
this.modal.show(
|
|
314
|
+
this.modal.show(this.getElementFromString(state.pdModal.opener), state.pdModal.options, event);
|
|
278
315
|
// If there is some snippet cache, we might restore modal options. If not, options will be restored based on
|
|
279
316
|
// options after the ajax request. Same applies to dispatching load event - if cache is on, we dispatch the
|
|
280
317
|
// event immediately, otherwise it will be dispatched after ajax request.
|
|
@@ -287,14 +324,17 @@ class AjaxModalExtension {
|
|
|
287
324
|
}
|
|
288
325
|
else {
|
|
289
326
|
this.historyEnabled = false; // Hiding modal using forward / back button, we disable the history to prevent state duplication
|
|
290
|
-
// Reload the page if the initial state has been inside modal. This prevents snippets loss e.g. during
|
|
327
|
+
// Reload the page if the initial state has been inside modal. This prevents snippets loss e.g. during
|
|
328
|
+
// layout changes.
|
|
291
329
|
if (this.isPdModalState(this.initialState)) {
|
|
292
330
|
window.location.reload();
|
|
293
331
|
}
|
|
294
|
-
// Non-modal state and non-modal initial state
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
332
|
+
// Non-modal state and non-modal initial state → we just hide the current modal and prevent snippet fetch
|
|
333
|
+
// (if snippet cache is off).
|
|
334
|
+
if (this.modal.isShown()) {
|
|
335
|
+
this.modal.hide(event);
|
|
336
|
+
this.shouldPreventSnippetFetch = true;
|
|
337
|
+
}
|
|
298
338
|
}
|
|
299
339
|
// Keep track of current state. When `backwards` history mode is used, we eventually push this state into
|
|
300
340
|
// `this.original`.
|
|
@@ -309,6 +349,9 @@ class AjaxModalExtension {
|
|
|
309
349
|
this.historyDirection = 'backwards';
|
|
310
350
|
this.modalOptions = null;
|
|
311
351
|
}
|
|
352
|
+
getElementFromString(stringElement) {
|
|
353
|
+
return new DOMParser().parseFromString(stringElement, 'text/html').body.firstElementChild;
|
|
354
|
+
}
|
|
312
355
|
}
|
|
313
356
|
|
|
314
357
|
class SpinnerExtension {
|
package/dist/PdNaja.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdNaja.esm.js","sources":["../src/utils/ControlManager.ts","../src/extensions/AjaxModalExtension.ts","../src/extensions/SpinnerExtension.ts","../src/index.esm.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;AAIA,IAAI,QAAQ,GAA0B,IAAI,CAAA;AAE5B,MAAO,cAAc,CAAA;AAIlC,IAAA,WAAA,GAAA;QAHQ,IAAa,CAAA,aAAA,GAAc,EAAE,CAAA;QAC7B,IAAa,CAAA,aAAA,GAAc,EAAE,CAAA;QAGpC,IAAI,QAAQ,KAAK,IAAI,EAAE;;YAEtB,QAAQ,GAAG,IAAI,CAAA;AACf,YAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACpF,SAAA;AACD,QAAA,OAAO,QAAQ,CAAA;KACf;IAEM,MAAM,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AACnC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;KACnC;AAEO,IAAA,eAAe,CAAC,KAAuB,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KACzD;IAEO,UAAU,CAAC,QAAmB,EAAE,OAA4B,EAAA;AACnE,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AAC5B,YAAA,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAA;AACxC,SAAC,CAAC,CAAA;KACF;AAEM,IAAA,gBAAgB,CAAC,OAAgB,EAAA;AACvC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAChC;AAEM,IAAA,gBAAgB,CAAC,OAAgB,EAAA;AACvC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAChC;AACD;;MCOY,kBAAkB,CAAA;AAkB9B,IAAA,WAAA,CAAmB,KAAgB,EAAA;QAhBlB,IAAY,CAAA,YAAA,GAAW,OAAO,CAAA;QAEvC,IAAY,CAAA,YAAA,GAAG,KAAK,CAAA;QACpB,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAA;AAExB,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAA;QACtB,IAAgB,CAAA,gBAAA,GAAqB,WAAW,CAAA;QAEhD,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAA;AAEtB,QAAA,IAAA,CAAA,QAAQ,GAA0B,EAAE,CAAA;QACpC,IAAS,CAAA,SAAA,GAA+B,IAAI,CAAA;AAGnC,QAAA,IAAA,CAAA,gBAAgB,GAAiC,IAAI,GAAG,EAAE,CAAA;AA+BnE,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,OAAgB,KAAa;AAC5D,YAAA,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,CAAA;AACjC,SAAC,CAAA;AAEO,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,KAA2C,KAAa;YACjF,OAAO,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAA;AACpD,SAAC,CAAA;AAEO,QAAA,IAAA,CAAA,mCAAmC,GAAG,CAAC,KAAmB,KAAU;AAC3E,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAA;YACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAA;AAC1C,SAAC,CAAA;;;AAtCA,QAAA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAEpE,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAA;KACvC;AAEM,IAAA,UAAU,CAAC,IAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAErF,QAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAE9E,QAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAE3E,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACvD,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACpE,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACzD,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAE/D,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9C,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAK;YACtB,IAAI,CAAC,sBAAsB,EAAE,CAAA;YAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;AAC5C,SAAC,CAAC,CAAA;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;KAClD;AAgBO,IAAA,qBAAqB,CAAC,KAAuB,EAAA;QACpD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;AAEzC,QAAA,OAAO,CAAC,OAAO;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,gBAAA,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC;AACtC,gBAAA,OAA4B,CAAC,IAAI,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;;;AAIpE,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACrB,OAAM;AACN,SAAA;;;QAID,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AAElD,QAAA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;AACxC,QAAA,OAAO,CAAC,WAAW,GAAG,OAAO,CAAA;;AAG7B,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;AAC1B,YAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,UAAU,GAAG,UAAU,GAAG,WAAW,CAAA;AACjH,SAAA;KACD;AAEO,IAAA,cAAc,CAAC,KAAiB,EAAA;AACvC,QAAA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;KAC9D;IAEO,sBAAsB,GAAA;;;;;;AAM7B,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AAC3E,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AACxD,gBAAA,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;AAC7B,aAAA;AACF,SAAC,CAAC,CAAA;KACF;AAEO,IAAA,oBAAoB,CAAC,KAAiB,EAAA;QAC7C,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;QACjD,IAAI,OAAO,CAAC,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAA;YACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;AAC7D,SAAA;KACD;AAEO,IAAA,YAAY,CAAC,KAAoB,EAAA;AACxC,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;YAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAC/C,SAAA;KACD;AAEO,IAAA,UAAU,CAAC,KAAsB,EAAA;QACxC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;;;;AAKvC,QAAA,MAAM,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QACvE,KAAK,CAAC,OAAO,GAAG;YACf,OAAO;YACP,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI;YACxD,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI;SAC3C,CAAA;;;AAID,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;KAC1B;AAEO,IAAA,MAAM,CAAC,KAAkB,EAAA;QAChC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;AACzC,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACrB,OAAM;AACN,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;QAEjE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;KAC/E;AAEO,IAAA,OAAO,CAAC,KAAmB,EAAA;QAClC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;AAEzC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG;YAChB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACrB,CAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACrB,OAAM;AACN,SAAA;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;;AAGzD,QAAA,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,EAAE;AACpC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAe,KAAK,CAAC,MAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;AAE9G,YAAA,SAAS,CAAC,OAAO,CAAC,CAAC,OAAoB,KAAI;AAC1C,gBAAA,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;AACjD,aAAC,CAAC,CAAA;AACF,SAAA;QAED,IAAI,OAAO,CAAC,UAAU,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACtB,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAExC,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;AACjD,aAAA;AACD,SAAA;KACD;IAEO,WAAW,GAAA;QAClB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;;;AAIxC,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,EAAE;AACzC,YAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;gBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAClC,aAAA;AAAM,iBAAA;AACN,gBAAA,MAAM,KAAK,GAAwB;oBAClC,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;iBACrB,CAAA;AACD,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACzB,aAAA;AACD,SAAA;KACD;IAEO,aAAa,GAAA;;;;;;AAMpB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,OAAM;AACN,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;;;AAG1C,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;YAC5B,IAAI,CAAC,SAAS,EAAE,CAAA;AAChB,YAAA,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;AACrB,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,EAAE;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;AACjC,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;AAElB,YAAA,IAAI,KAAK,EAAE;;;;AAIV,gBAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE;AACzE,oBAAA,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC3D,oBAAA,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;AAE5B,oBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;oBACzB,IAAI,CAAC,SAAS,GAAG;wBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;qBAClB,CAAA;AACD,iBAAA;AACD,aAAA;YAED,IAAI,CAAC,SAAS,EAAE,CAAA;AAChB,SAAA;KACD;AAEO,IAAA,eAAe,CAAC,KAAoB,EAAA;QAC3C,MAAM,KAAK,GAAiB,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAA;QAE5D,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAChD,OAAM;AACN,SAAA;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;AACxD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;;;QAIxB,IAAI,IAAI,CAAC,gBAAgB,EAAE;;YAE1B,KAAK,CAAC,wBAAwB,EAAE,CAAA;AAEhC,YAAA,IAAI,qBAAqB,EAAE;AAC1B,gBAAA,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;gBAErB,OAAM;AACN,aAAA;AAAM,iBAAA;;gBAEN,IAAI,KAAK,CAAC,KAAK,EAAE;AAChB,oBAAA,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;AAC5B,iBAAA;AACD,aAAA;AAED,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;AAC7B,SAAA;;;;;;;;QASD,IAAI,qBAAqB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACrE,YAAA,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAA;AAE/C,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;;;;AAKxD,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,KAAK,EAAE;gBACtC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AAE5C,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;oBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;AACjD,iBAAA;AACD,aAAA;AACD,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;;YAG3B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AAC3C,gBAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;AACxB,aAAA;;AAGD,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;YAGtB,KAAK,CAAC,wBAAwB,EAAE,CAAA;AAChC,SAAA;;;QAID,IAAI,CAAC,SAAS,GAAG;YAChB,QAAQ,EAAE,QAAQ,CAAC,IAAI;AACvB,YAAA,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,QAAQ,CAAC,KAAK;SACrB,CAAA;KACD;IAEO,SAAS,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;AAC3B,QAAA,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAA;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;KACxB;AACD;;MC/VY,gBAAgB,CAAA;IAO5B,WACC,CAAA,OAAoB,EACpB,eAAA,GAAkC,SAAS,EAC3C,uBAAuB,GAAG,YAAY,EACtC,8BAA8B,GAAG,eAAe,EAAA;AAEhD,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;AAEtC,QAAA,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAA;AACtD,QAAA,IAAI,CAAC,8BAA8B,GAAG,8BAA8B,CAAA;KACpE;AAEM,IAAA,UAAU,CAAC,IAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAEnF,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC5D,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;KAC/D;AAEO,IAAA,mBAAmB,CAAC,KAAuB,EAAA;AAClD,QAAA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAA;KAC5D;AAEO,IAAA,YAAY,CAAC,KAAiB,EAAA;AACrC,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;AAEhC,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC9B,OAAM;AACN,SAAA;AAED,QAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;AAE3D,QAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAM;AACN,SAAA;AAAM,aAAA;YACN,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAA;AAEjD,YAAA,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,KAAI;AACpC,gBAAA,IAAI,OAAgB,CAAA;AAEpB,gBAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;oBACvC,OAAO,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;AACtG,iBAAA;AAAM,qBAAA;AACN,oBAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;AACtB,iBAAA;AAED,gBAAA,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AAChC,gBAAA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAElC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;AACrE,aAAC,CAAC,CAAA;AACF,SAAA;KACD;AAEO,IAAA,YAAY,CAAC,KAAoB,EAAA;AACxC,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;QAEhC,IAAI,OAAO,CAAC,aAAa,EAAE;YAC1B,OAAM;AACN,SAAA;QAED,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,OAAgB,KAAI;AAClD,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;AACpE,YAAA,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;AAChD,SAAC,CAAC,CAAA;KACF;AAEO,IAAA,eAAe,CAAC,OAAgB,EAAA;QACvC,IAAI,CAAC,OAAO,EAAE;AACb,YAAA,OAAO,EAAE,CAAA;AACT,SAAA;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAA;QACjE,IAAI,YAAY,GAAc,EAAE,CAAA;QAEhC,IAAI,OAAO,KAAK,KAAK,EAAE;AACtB,YAAA,OAAO,EAAE,CAAA;AACT,SAAA;AAED,QAAA,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAA;AAE3D,QAAA,OAAO,YAAY,CAAC,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;KAC9E;AAEO,IAAA,8BAA8B,CAAC,QAAuB,EAAA;AAC7D,QAAA,OAAO,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAA;KACtE;AAEO,IAAA,oBAAoB,CAAC,OAAgB,EAAA;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAE1D,IAAI,IAAI,KAAK,IAAI,EAAE;AAClB,YAAA,OAAO,EAAE,CAAA;AACT,SAAA;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;AAE/E,QAAA,OAAO,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;KAC9D;AACD;;AC9HY,MAAA,cAAc,GAAG,IAAI,cAAc;;;;"}
|
|
1
|
+
{"version":3,"file":"PdNaja.esm.js","sources":["../src/utils/ControlManager.ts","../src/extensions/AjaxModalExtension.ts","../src/extensions/SpinnerExtension.ts","../src/index.esm.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ type CallbackFn = (callback: EventListener) => void;
|
|
|
13
13
|
export interface AjaxModal {
|
|
14
14
|
element: Element;
|
|
15
15
|
reservedSnippetIds: string[];
|
|
16
|
-
show(opener: Element
|
|
16
|
+
show(opener: Element, options: any, event: BeforeEvent | PopStateEvent): void;
|
|
17
17
|
hide(event: SuccessEvent | PopStateEvent): void;
|
|
18
18
|
isShown(): boolean;
|
|
19
19
|
onShow: CallbackFn;
|
|
@@ -30,6 +30,7 @@ export declare class AjaxModalExtension implements Extension {
|
|
|
30
30
|
private hidePopstateFlag;
|
|
31
31
|
private historyEnabled;
|
|
32
32
|
private historyDirection;
|
|
33
|
+
private shouldPreventSnippetFetch;
|
|
33
34
|
private modalOptions;
|
|
34
35
|
private original;
|
|
35
36
|
private lastState;
|
|
@@ -38,6 +39,7 @@ export declare class AjaxModalExtension implements Extension {
|
|
|
38
39
|
constructor(modal: AjaxModal);
|
|
39
40
|
initialize(naja: Naja): void;
|
|
40
41
|
private isRequestWithHistory;
|
|
42
|
+
private isPdModalRequest;
|
|
41
43
|
private isPdModalState;
|
|
42
44
|
private restoreExtensionPropertiesFromState;
|
|
43
45
|
private checkExtensionEnabled;
|
|
@@ -52,5 +54,6 @@ export declare class AjaxModalExtension implements Extension {
|
|
|
52
54
|
private hiddenHandler;
|
|
53
55
|
private popstateHandler;
|
|
54
56
|
private cleanData;
|
|
57
|
+
private getElementFromString;
|
|
55
58
|
}
|
|
56
59
|
export {};
|
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 1.0
|
|
8
|
+
* @version 1.2.0
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import naja from 'naja';
|
|
@@ -18,6 +18,7 @@ class ControlManager {
|
|
|
18
18
|
if (instance === null) {
|
|
19
19
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
20
20
|
instance = this;
|
|
21
|
+
naja.snippetHandler.addEventListener('beforeUpdate', this.onBeforeSnippetUpdate.bind(this));
|
|
21
22
|
naja.snippetHandler.addEventListener('afterUpdate', this.onSnippetUpdate.bind(this));
|
|
22
23
|
}
|
|
23
24
|
return instance;
|
|
@@ -26,6 +27,13 @@ class ControlManager {
|
|
|
26
27
|
this.initialize(this.onLoadControl);
|
|
27
28
|
this.initialize(this.onLiveControl);
|
|
28
29
|
}
|
|
30
|
+
onBeforeSnippetUpdate(event) {
|
|
31
|
+
if (event.detail.operation === naja.snippetHandler.op.append ||
|
|
32
|
+
event.detail.operation === naja.snippetHandler.op.prepend) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
this.destroy(this.onLiveControl, event.detail.snippet);
|
|
36
|
+
}
|
|
29
37
|
onSnippetUpdate(event) {
|
|
30
38
|
this.initialize(this.onLiveControl, event.detail.snippet);
|
|
31
39
|
}
|
|
@@ -34,6 +42,13 @@ class ControlManager {
|
|
|
34
42
|
control.initialize(snippet || document);
|
|
35
43
|
});
|
|
36
44
|
}
|
|
45
|
+
destroy(controls, snippet) {
|
|
46
|
+
controls.forEach((control) => {
|
|
47
|
+
if (control.destroy !== undefined) {
|
|
48
|
+
control.destroy(snippet);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
37
52
|
addControlOnLoad(control) {
|
|
38
53
|
this.onLoadControl.push(control);
|
|
39
54
|
}
|
|
@@ -49,6 +64,7 @@ class AjaxModalExtension {
|
|
|
49
64
|
this.hidePopstateFlag = false;
|
|
50
65
|
this.historyEnabled = false; // (dis)allows `pushState` after hiding the modal when going back in history (popstate), we don't want to push new state into history same is true also when the history is disabled for request altogether
|
|
51
66
|
this.historyDirection = 'backwards';
|
|
67
|
+
this.shouldPreventSnippetFetch = false;
|
|
52
68
|
this.modalOptions = {};
|
|
53
69
|
this.original = []; // stack of states under the modal after hiding the modal with `forwards` history mode, we need to push the previous state
|
|
54
70
|
this.lastState = null;
|
|
@@ -56,8 +72,11 @@ class AjaxModalExtension {
|
|
|
56
72
|
this.isRequestWithHistory = (options) => {
|
|
57
73
|
return options.history !== false;
|
|
58
74
|
};
|
|
75
|
+
this.isPdModalRequest = (options) => {
|
|
76
|
+
return Boolean(options.pdModal);
|
|
77
|
+
};
|
|
59
78
|
this.isPdModalState = (state) => {
|
|
60
|
-
return 'pdModal' in state
|
|
79
|
+
return 'pdModal' in state;
|
|
61
80
|
};
|
|
62
81
|
this.restoreExtensionPropertiesFromState = (state) => {
|
|
63
82
|
this.historyEnabled = true; // Called from popstateHandler means the history is enabled
|
|
@@ -91,9 +110,7 @@ class AjaxModalExtension {
|
|
|
91
110
|
this.modal.isShown() ||
|
|
92
111
|
element.hasAttribute('data-naja-modal') ||
|
|
93
112
|
element.form?.hasAttribute('data-naja-modal');
|
|
94
|
-
|
|
95
|
-
// change when traversing ajax link inside modal.
|
|
96
|
-
if (!options.pdModal) {
|
|
113
|
+
if (!this.isPdModalRequest(options)) {
|
|
97
114
|
return;
|
|
98
115
|
}
|
|
99
116
|
// `modalOptions` will be stored in state, therefore no `Element` is allowed. These options are also forwarded
|
|
@@ -101,13 +118,26 @@ class AjaxModalExtension {
|
|
|
101
118
|
this.modalOptions = this.modal.getOptions(element);
|
|
102
119
|
options.modalOptions = this.modalOptions;
|
|
103
120
|
options.modalOpener = element;
|
|
104
|
-
//
|
|
121
|
+
// If the extension is enabled and modal is not opened, we detect and store history mode. History mode cannot
|
|
122
|
+
// change when traversing ajax link inside modal, it stays the same until modal is hidden.
|
|
105
123
|
if (!this.modal.isShown()) {
|
|
106
124
|
this.historyDirection = element.getAttribute('data-naja-modal-history') === 'forwards' ? 'forwards' : 'backwards';
|
|
107
125
|
}
|
|
108
126
|
}
|
|
109
127
|
onSnippetFetch(event) {
|
|
110
|
-
|
|
128
|
+
// When snippet cache is off, this method is called to construct Naja request options. We retrieve modal
|
|
129
|
+
// `options` from original state in history if neccessary. Also, when closing the modal from `PopstateEvent`, we
|
|
130
|
+
// don't need to make a new request, so we call `event.preventDefault()` in that case.
|
|
131
|
+
const { state } = event.detail;
|
|
132
|
+
if (this.isPdModalState(state)) {
|
|
133
|
+
event.detail.options.pdModal = true;
|
|
134
|
+
event.detail.options.modalOpener = this.getElementFromString(state.pdModal.opener);
|
|
135
|
+
event.detail.options.modalOptions = state.pdModal.options;
|
|
136
|
+
}
|
|
137
|
+
if (this.shouldPreventSnippetFetch) {
|
|
138
|
+
event.preventDefault();
|
|
139
|
+
this.shouldPreventSnippetFetch = false;
|
|
140
|
+
}
|
|
111
141
|
}
|
|
112
142
|
removeModalSnippetsIds() {
|
|
113
143
|
// When closing the modal, we don't want to update any snippets inside it, when other requests finishes. This
|
|
@@ -123,7 +153,7 @@ class AjaxModalExtension {
|
|
|
123
153
|
}
|
|
124
154
|
abortPreviousRequest(event) {
|
|
125
155
|
const { abortController, options } = event.detail;
|
|
126
|
-
if (options
|
|
156
|
+
if (this.isPdModalRequest(options)) {
|
|
127
157
|
this.abortControllers.get(this.uniqueExtKey)?.abort();
|
|
128
158
|
this.abortControllers.set(this.uniqueExtKey, abortController);
|
|
129
159
|
}
|
|
@@ -136,22 +166,28 @@ class AjaxModalExtension {
|
|
|
136
166
|
}
|
|
137
167
|
buildState(event) {
|
|
138
168
|
const { options, state } = event.detail;
|
|
139
|
-
// Every time naja builds the state, we extend
|
|
140
|
-
// opened and what history mode is in use. When options.forceRedirect
|
|
141
|
-
// state will be redirected outside it.
|
|
169
|
+
// Every time naja builds the state, and we have the modal opened, we extend the state with `pdModal` object
|
|
170
|
+
// containing information about modal being opened and what history mode is in use. When `options.forceRedirect`
|
|
171
|
+
// is set, modal might be open but the new state will be redirected outside of it.
|
|
172
|
+
//
|
|
173
|
+
// We must check this.modal.isShown instead of this.isPdModalRequest, because of initial replace state from
|
|
174
|
+
// Naja - in that case, options already contains information about request to be made, but we have to build the
|
|
175
|
+
// "previous" state yet.
|
|
142
176
|
const isShown = this.modal.isShown() && !options.forceRedirect;
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
177
|
+
if (isShown) {
|
|
178
|
+
state.pdModal = {
|
|
179
|
+
historyDirection: this.historyDirection,
|
|
180
|
+
opener: options.modalOpener.outerHTML,
|
|
181
|
+
options: this.modalOptions
|
|
182
|
+
};
|
|
183
|
+
}
|
|
148
184
|
// If the state is build, the history is enabled. This information is needed inside modal callback where the
|
|
149
185
|
// options are not available, so we store this internally in extension.
|
|
150
186
|
this.historyEnabled = true;
|
|
151
187
|
}
|
|
152
188
|
before(event) {
|
|
153
189
|
const { options, request } = event.detail;
|
|
154
|
-
if (!options
|
|
190
|
+
if (!this.isPdModalRequest(options)) {
|
|
155
191
|
return;
|
|
156
192
|
}
|
|
157
193
|
this.modal.show(options.modalOpener, options.modalOptions, event);
|
|
@@ -165,7 +201,7 @@ class AjaxModalExtension {
|
|
|
165
201
|
state: history.state,
|
|
166
202
|
title: document.title
|
|
167
203
|
};
|
|
168
|
-
if (!options
|
|
204
|
+
if (!this.isPdModalRequest(options)) {
|
|
169
205
|
return;
|
|
170
206
|
}
|
|
171
207
|
const requestHistory = this.isRequestWithHistory(options);
|
|
@@ -248,6 +284,7 @@ class AjaxModalExtension {
|
|
|
248
284
|
}
|
|
249
285
|
const isCurrentStatePdModal = this.isPdModalState(state);
|
|
250
286
|
this.popstateFlag = true;
|
|
287
|
+
this.shouldPreventSnippetFetch = false;
|
|
251
288
|
// We don't know how many states we go back. So we go one by one until the new state is not modal state
|
|
252
289
|
// (`isPdModalState` is `false`).
|
|
253
290
|
if (this.hidePopstateFlag) {
|
|
@@ -265,16 +302,16 @@ class AjaxModalExtension {
|
|
|
265
302
|
}
|
|
266
303
|
this.hidePopstateFlag = false;
|
|
267
304
|
}
|
|
268
|
-
// We check if the state has pdModal object present on popstate. If so
|
|
269
|
-
//
|
|
305
|
+
// We check if the state has `pdModal` object present on popstate. If so , we proceed to open the modal. Content
|
|
306
|
+
// of the modal is restored by naja itself (either from cache or by new request).
|
|
270
307
|
//
|
|
271
|
-
// If the initial state is also detected as pdModal state, we returned to some pdModal state using reload. In
|
|
272
|
-
// case, we don't want to open the modal, because we might be missing some snippets. Effectively this means
|
|
273
|
-
// modal will never be opened by forward / back button if there has been some other site loaded outside
|
|
274
|
-
// (e.g. some non-ajax link leading from modal).
|
|
308
|
+
// If the initial state is also detected as pdModal state, we returned to some pdModal state using reload. In
|
|
309
|
+
// that case, we don't want to open the modal, because we might be missing some snippets. Effectively this means
|
|
310
|
+
// that the modal will never be opened by forward / back button if there has been some other site loaded outside
|
|
311
|
+
// the modal (e.g. some non-ajax link leading from modal).
|
|
275
312
|
if (isCurrentStatePdModal && !this.isPdModalState(this.initialState)) {
|
|
276
313
|
this.restoreExtensionPropertiesFromState(state);
|
|
277
|
-
this.modal.show(
|
|
314
|
+
this.modal.show(this.getElementFromString(state.pdModal.opener), state.pdModal.options, event);
|
|
278
315
|
// If there is some snippet cache, we might restore modal options. If not, options will be restored based on
|
|
279
316
|
// options after the ajax request. Same applies to dispatching load event - if cache is on, we dispatch the
|
|
280
317
|
// event immediately, otherwise it will be dispatched after ajax request.
|
|
@@ -287,14 +324,17 @@ class AjaxModalExtension {
|
|
|
287
324
|
}
|
|
288
325
|
else {
|
|
289
326
|
this.historyEnabled = false; // Hiding modal using forward / back button, we disable the history to prevent state duplication
|
|
290
|
-
// Reload the page if the initial state has been inside modal. This prevents snippets loss e.g. during
|
|
327
|
+
// Reload the page if the initial state has been inside modal. This prevents snippets loss e.g. during
|
|
328
|
+
// layout changes.
|
|
291
329
|
if (this.isPdModalState(this.initialState)) {
|
|
292
330
|
window.location.reload();
|
|
293
331
|
}
|
|
294
|
-
// Non-modal state and non-modal initial state
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
332
|
+
// Non-modal state and non-modal initial state → we just hide the current modal and prevent snippet fetch
|
|
333
|
+
// (if snippet cache is off).
|
|
334
|
+
if (this.modal.isShown()) {
|
|
335
|
+
this.modal.hide(event);
|
|
336
|
+
this.shouldPreventSnippetFetch = true;
|
|
337
|
+
}
|
|
298
338
|
}
|
|
299
339
|
// Keep track of current state. When `backwards` history mode is used, we eventually push this state into
|
|
300
340
|
// `this.original`.
|
|
@@ -309,6 +349,9 @@ class AjaxModalExtension {
|
|
|
309
349
|
this.historyDirection = 'backwards';
|
|
310
350
|
this.modalOptions = null;
|
|
311
351
|
}
|
|
352
|
+
getElementFromString(stringElement) {
|
|
353
|
+
return new DOMParser().parseFromString(stringElement, 'text/html').body.firstElementChild;
|
|
354
|
+
}
|
|
312
355
|
}
|
|
313
356
|
|
|
314
357
|
class SpinnerExtension {
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/utils/ControlManager.ts","../src/extensions/AjaxModalExtension.ts","../src/extensions/SpinnerExtension.ts","../src/index.esm.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;AAIA,IAAI,QAAQ,GAA0B,IAAI,CAAA;AAE5B,MAAO,cAAc,CAAA;AAIlC,IAAA,WAAA,GAAA;QAHQ,IAAa,CAAA,aAAA,GAAc,EAAE,CAAA;QAC7B,IAAa,CAAA,aAAA,GAAc,EAAE,CAAA;QAGpC,IAAI,QAAQ,KAAK,IAAI,EAAE;;YAEtB,QAAQ,GAAG,IAAI,CAAA;AACf,YAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACpF,SAAA;AACD,QAAA,OAAO,QAAQ,CAAA;KACf;IAEM,MAAM,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AACnC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;KACnC;AAEO,IAAA,eAAe,CAAC,KAAuB,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KACzD;IAEO,UAAU,CAAC,QAAmB,EAAE,OAA4B,EAAA;AACnE,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AAC5B,YAAA,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAA;AACxC,SAAC,CAAC,CAAA;KACF;AAEM,IAAA,gBAAgB,CAAC,OAAgB,EAAA;AACvC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAChC;AAEM,IAAA,gBAAgB,CAAC,OAAgB,EAAA;AACvC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAChC;AACD;;MCOY,kBAAkB,CAAA;AAkB9B,IAAA,WAAA,CAAmB,KAAgB,EAAA;QAhBlB,IAAY,CAAA,YAAA,GAAW,OAAO,CAAA;QAEvC,IAAY,CAAA,YAAA,GAAG,KAAK,CAAA;QACpB,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAA;AAExB,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAA;QACtB,IAAgB,CAAA,gBAAA,GAAqB,WAAW,CAAA;QAEhD,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAA;AAEtB,QAAA,IAAA,CAAA,QAAQ,GAA0B,EAAE,CAAA;QACpC,IAAS,CAAA,SAAA,GAA+B,IAAI,CAAA;AAGnC,QAAA,IAAA,CAAA,gBAAgB,GAAiC,IAAI,GAAG,EAAE,CAAA;AA+BnE,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,OAAgB,KAAa;AAC5D,YAAA,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,CAAA;AACjC,SAAC,CAAA;AAEO,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,KAA2C,KAAa;YACjF,OAAO,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAA;AACpD,SAAC,CAAA;AAEO,QAAA,IAAA,CAAA,mCAAmC,GAAG,CAAC,KAAmB,KAAU;AAC3E,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAA;YACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAA;AAC1C,SAAC,CAAA;;;AAtCA,QAAA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAEpE,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAA;KACvC;AAEM,IAAA,UAAU,CAAC,IAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAErF,QAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAE9E,QAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAE3E,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACvD,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACpE,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACzD,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAE/D,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9C,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAK;YACtB,IAAI,CAAC,sBAAsB,EAAE,CAAA;YAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;AAC5C,SAAC,CAAC,CAAA;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;KAClD;AAgBO,IAAA,qBAAqB,CAAC,KAAuB,EAAA;QACpD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;AAEzC,QAAA,OAAO,CAAC,OAAO;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,gBAAA,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC;AACtC,gBAAA,OAA4B,CAAC,IAAI,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;;;AAIpE,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACrB,OAAM;AACN,SAAA;;;QAID,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AAElD,QAAA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;AACxC,QAAA,OAAO,CAAC,WAAW,GAAG,OAAO,CAAA;;AAG7B,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;AAC1B,YAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,UAAU,GAAG,UAAU,GAAG,WAAW,CAAA;AACjH,SAAA;KACD;AAEO,IAAA,cAAc,CAAC,KAAiB,EAAA;AACvC,QAAA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;KAC9D;IAEO,sBAAsB,GAAA;;;;;;AAM7B,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AAC3E,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AACxD,gBAAA,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;AAC7B,aAAA;AACF,SAAC,CAAC,CAAA;KACF;AAEO,IAAA,oBAAoB,CAAC,KAAiB,EAAA;QAC7C,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;QACjD,IAAI,OAAO,CAAC,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAA;YACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;AAC7D,SAAA;KACD;AAEO,IAAA,YAAY,CAAC,KAAoB,EAAA;AACxC,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;YAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAC/C,SAAA;KACD;AAEO,IAAA,UAAU,CAAC,KAAsB,EAAA;QACxC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;;;;AAKvC,QAAA,MAAM,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QACvE,KAAK,CAAC,OAAO,GAAG;YACf,OAAO;YACP,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI;YACxD,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI;SAC3C,CAAA;;;AAID,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;KAC1B;AAEO,IAAA,MAAM,CAAC,KAAkB,EAAA;QAChC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;AACzC,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACrB,OAAM;AACN,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;QAEjE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;KAC/E;AAEO,IAAA,OAAO,CAAC,KAAmB,EAAA;QAClC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;AAEzC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG;YAChB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACrB,CAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACrB,OAAM;AACN,SAAA;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;;AAGzD,QAAA,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,EAAE;AACpC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAe,KAAK,CAAC,MAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;AAE9G,YAAA,SAAS,CAAC,OAAO,CAAC,CAAC,OAAoB,KAAI;AAC1C,gBAAA,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;AACjD,aAAC,CAAC,CAAA;AACF,SAAA;QAED,IAAI,OAAO,CAAC,UAAU,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACtB,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAExC,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;AACjD,aAAA;AACD,SAAA;KACD;IAEO,WAAW,GAAA;QAClB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;;;AAIxC,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,EAAE;AACzC,YAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;gBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAClC,aAAA;AAAM,iBAAA;AACN,gBAAA,MAAM,KAAK,GAAwB;oBAClC,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;iBACrB,CAAA;AACD,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACzB,aAAA;AACD,SAAA;KACD;IAEO,aAAa,GAAA;;;;;;AAMpB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,OAAM;AACN,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;;;AAG1C,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;YAC5B,IAAI,CAAC,SAAS,EAAE,CAAA;AAChB,YAAA,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;AACrB,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,EAAE;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;AACjC,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;AAElB,YAAA,IAAI,KAAK,EAAE;;;;AAIV,gBAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE;AACzE,oBAAA,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC3D,oBAAA,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;AAE5B,oBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;oBACzB,IAAI,CAAC,SAAS,GAAG;wBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;qBAClB,CAAA;AACD,iBAAA;AACD,aAAA;YAED,IAAI,CAAC,SAAS,EAAE,CAAA;AAChB,SAAA;KACD;AAEO,IAAA,eAAe,CAAC,KAAoB,EAAA;QAC3C,MAAM,KAAK,GAAiB,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAA;QAE5D,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAChD,OAAM;AACN,SAAA;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;AACxD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;;;QAIxB,IAAI,IAAI,CAAC,gBAAgB,EAAE;;YAE1B,KAAK,CAAC,wBAAwB,EAAE,CAAA;AAEhC,YAAA,IAAI,qBAAqB,EAAE;AAC1B,gBAAA,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;gBAErB,OAAM;AACN,aAAA;AAAM,iBAAA;;gBAEN,IAAI,KAAK,CAAC,KAAK,EAAE;AAChB,oBAAA,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;AAC5B,iBAAA;AACD,aAAA;AAED,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;AAC7B,SAAA;;;;;;;;QASD,IAAI,qBAAqB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACrE,YAAA,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAA;AAE/C,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;;;;AAKxD,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,KAAK,EAAE;gBACtC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AAE5C,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;oBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;AACjD,iBAAA;AACD,aAAA;AACD,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;;YAG3B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AAC3C,gBAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;AACxB,aAAA;;AAGD,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;YAGtB,KAAK,CAAC,wBAAwB,EAAE,CAAA;AAChC,SAAA;;;QAID,IAAI,CAAC,SAAS,GAAG;YAChB,QAAQ,EAAE,QAAQ,CAAC,IAAI;AACvB,YAAA,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,QAAQ,CAAC,KAAK;SACrB,CAAA;KACD;IAEO,SAAS,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;AAC3B,QAAA,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAA;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;KACxB;AACD;;MC/VY,gBAAgB,CAAA;IAO5B,WACC,CAAA,OAAoB,EACpB,eAAA,GAAkC,SAAS,EAC3C,uBAAuB,GAAG,YAAY,EACtC,8BAA8B,GAAG,eAAe,EAAA;AAEhD,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;AAEtC,QAAA,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAA;AACtD,QAAA,IAAI,CAAC,8BAA8B,GAAG,8BAA8B,CAAA;KACpE;AAEM,IAAA,UAAU,CAAC,IAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAEnF,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC5D,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;KAC/D;AAEO,IAAA,mBAAmB,CAAC,KAAuB,EAAA;AAClD,QAAA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAA;KAC5D;AAEO,IAAA,YAAY,CAAC,KAAiB,EAAA;AACrC,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;AAEhC,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC9B,OAAM;AACN,SAAA;AAED,QAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;AAE3D,QAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAM;AACN,SAAA;AAAM,aAAA;YACN,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAA;AAEjD,YAAA,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,KAAI;AACpC,gBAAA,IAAI,OAAgB,CAAA;AAEpB,gBAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;oBACvC,OAAO,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;AACtG,iBAAA;AAAM,qBAAA;AACN,oBAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;AACtB,iBAAA;AAED,gBAAA,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AAChC,gBAAA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAElC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;AACrE,aAAC,CAAC,CAAA;AACF,SAAA;KACD;AAEO,IAAA,YAAY,CAAC,KAAoB,EAAA;AACxC,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;QAEhC,IAAI,OAAO,CAAC,aAAa,EAAE;YAC1B,OAAM;AACN,SAAA;QAED,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,OAAgB,KAAI;AAClD,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;AACpE,YAAA,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;AAChD,SAAC,CAAC,CAAA;KACF;AAEO,IAAA,eAAe,CAAC,OAAgB,EAAA;QACvC,IAAI,CAAC,OAAO,EAAE;AACb,YAAA,OAAO,EAAE,CAAA;AACT,SAAA;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAA;QACjE,IAAI,YAAY,GAAc,EAAE,CAAA;QAEhC,IAAI,OAAO,KAAK,KAAK,EAAE;AACtB,YAAA,OAAO,EAAE,CAAA;AACT,SAAA;AAED,QAAA,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAA;AAE3D,QAAA,OAAO,YAAY,CAAC,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;KAC9E;AAEO,IAAA,8BAA8B,CAAC,QAAuB,EAAA;AAC7D,QAAA,OAAO,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAA;KACtE;AAEO,IAAA,oBAAoB,CAAC,OAAgB,EAAA;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAE1D,IAAI,IAAI,KAAK,IAAI,EAAE;AAClB,YAAA,OAAO,EAAE,CAAA;AACT,SAAA;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;AAE/E,QAAA,OAAO,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;KAC9D;AACD;;AC9HY,MAAA,cAAc,GAAG,IAAI,cAAc;;;;"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/utils/ControlManager.ts","../src/extensions/AjaxModalExtension.ts","../src/extensions/SpinnerExtension.ts","../src/index.esm.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
|
package/dist/utils/Control.d.ts
CHANGED
|
@@ -4,8 +4,10 @@ export default class ControlManager {
|
|
|
4
4
|
private onLiveControl;
|
|
5
5
|
constructor();
|
|
6
6
|
onLoad(): void;
|
|
7
|
+
private onBeforeSnippetUpdate;
|
|
7
8
|
private onSnippetUpdate;
|
|
8
9
|
private initialize;
|
|
10
|
+
private destroy;
|
|
9
11
|
addControlOnLoad(control: Control): void;
|
|
10
12
|
addControlOnLive(control: Control): void;
|
|
11
13
|
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peckadesign/pd-naja",
|
|
3
3
|
"title": "PD Naja utils & extensions",
|
|
4
|
-
"version": "1.0
|
|
4
|
+
"version": "1.2.0",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Utilities and extensions created for use with Naja library.",
|
|
7
|
+
"main": "dist/PdNaja.esm.js",
|
|
7
8
|
"module": "dist/PdNaja.esm.js",
|
|
8
9
|
"types": "dist/index.esm.d.ts",
|
|
9
10
|
"repository": {
|
|
@@ -15,6 +15,15 @@ declare module 'naja/dist/Naja' {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
interface OptionsWithPdModal extends Options {
|
|
19
|
+
modalOpener: Element
|
|
20
|
+
modalOptions: any
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface PdModalHistoryState extends HistoryState {
|
|
24
|
+
pdModal: PdModalState
|
|
25
|
+
}
|
|
26
|
+
|
|
18
27
|
type CallbackFn = (callback: EventListener) => void
|
|
19
28
|
|
|
20
29
|
export interface AjaxModal {
|
|
@@ -24,7 +33,7 @@ export interface AjaxModal {
|
|
|
24
33
|
// id's of snippets, that are necessary for modal function
|
|
25
34
|
reservedSnippetIds: string[]
|
|
26
35
|
|
|
27
|
-
show(opener: Element
|
|
36
|
+
show(opener: Element, options: any, event: BeforeEvent | PopStateEvent): void
|
|
28
37
|
hide(event: SuccessEvent | PopStateEvent): void
|
|
29
38
|
isShown(): boolean
|
|
30
39
|
|
|
@@ -46,6 +55,12 @@ interface HistoryStateWrapper extends Record<string, any> {
|
|
|
46
55
|
|
|
47
56
|
type HistoryDirection = 'forwards' | 'backwards'
|
|
48
57
|
|
|
58
|
+
interface PdModalState {
|
|
59
|
+
historyDirection: HistoryDirection
|
|
60
|
+
opener: string // stringified Element
|
|
61
|
+
options: any
|
|
62
|
+
}
|
|
63
|
+
|
|
49
64
|
export class AjaxModalExtension implements Extension {
|
|
50
65
|
private readonly modal: AjaxModal
|
|
51
66
|
private readonly uniqueExtKey: string = 'modal'
|
|
@@ -56,6 +71,8 @@ export class AjaxModalExtension implements Extension {
|
|
|
56
71
|
private historyEnabled = false // (dis)allows `pushState` after hiding the modal when going back in history (popstate), we don't want to push new state into history same is true also when the history is disabled for request altogether
|
|
57
72
|
private historyDirection: HistoryDirection = 'backwards'
|
|
58
73
|
|
|
74
|
+
private shouldPreventSnippetFetch = false
|
|
75
|
+
|
|
59
76
|
private modalOptions: any = {}
|
|
60
77
|
|
|
61
78
|
private original: HistoryStateWrapper[] = [] // stack of states under the modal after hiding the modal with `forwards` history mode, we need to push the previous state
|
|
@@ -97,11 +114,15 @@ export class AjaxModalExtension implements Extension {
|
|
|
97
114
|
return options.history !== false
|
|
98
115
|
}
|
|
99
116
|
|
|
100
|
-
private
|
|
101
|
-
return
|
|
117
|
+
private isPdModalRequest = (options: Options): options is OptionsWithPdModal => {
|
|
118
|
+
return Boolean(options.pdModal)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
private isPdModalState = (state: HistoryState | Record<string, never>): state is PdModalHistoryState => {
|
|
122
|
+
return 'pdModal' in state
|
|
102
123
|
}
|
|
103
124
|
|
|
104
|
-
private restoreExtensionPropertiesFromState = (state:
|
|
125
|
+
private restoreExtensionPropertiesFromState = (state: PdModalHistoryState): void => {
|
|
105
126
|
this.historyEnabled = true // Called from popstateHandler means the history is enabled
|
|
106
127
|
this.historyDirection = state.pdModal.historyDirection
|
|
107
128
|
this.modalOptions = state.pdModal.options
|
|
@@ -115,9 +136,7 @@ export class AjaxModalExtension implements Extension {
|
|
|
115
136
|
element.hasAttribute('data-naja-modal') ||
|
|
116
137
|
(element as HTMLInputElement).form?.hasAttribute('data-naja-modal')
|
|
117
138
|
|
|
118
|
-
|
|
119
|
-
// change when traversing ajax link inside modal.
|
|
120
|
-
if (!options.pdModal) {
|
|
139
|
+
if (!this.isPdModalRequest(options)) {
|
|
121
140
|
return
|
|
122
141
|
}
|
|
123
142
|
|
|
@@ -128,14 +147,29 @@ export class AjaxModalExtension implements Extension {
|
|
|
128
147
|
options.modalOptions = this.modalOptions
|
|
129
148
|
options.modalOpener = element
|
|
130
149
|
|
|
131
|
-
//
|
|
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.
|
|
132
152
|
if (!this.modal.isShown()) {
|
|
133
153
|
this.historyDirection = element.getAttribute('data-naja-modal-history') === 'forwards' ? 'forwards' : 'backwards'
|
|
134
154
|
}
|
|
135
155
|
}
|
|
136
156
|
|
|
137
157
|
private onSnippetFetch(event: FetchEvent): void {
|
|
138
|
-
|
|
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
|
|
160
|
+
// don't need to make a new request, so we call `event.preventDefault()` in that case.
|
|
161
|
+
const { state } = event.detail
|
|
162
|
+
|
|
163
|
+
if (this.isPdModalState(state)) {
|
|
164
|
+
event.detail.options.pdModal = true
|
|
165
|
+
event.detail.options.modalOpener = this.getElementFromString(state.pdModal.opener)
|
|
166
|
+
event.detail.options.modalOptions = state.pdModal.options
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (this.shouldPreventSnippetFetch) {
|
|
170
|
+
event.preventDefault()
|
|
171
|
+
this.shouldPreventSnippetFetch = false
|
|
172
|
+
}
|
|
139
173
|
}
|
|
140
174
|
|
|
141
175
|
private removeModalSnippetsIds(): void {
|
|
@@ -153,7 +187,7 @@ export class AjaxModalExtension implements Extension {
|
|
|
153
187
|
|
|
154
188
|
private abortPreviousRequest(event: StartEvent): void {
|
|
155
189
|
const { abortController, options } = event.detail
|
|
156
|
-
if (options
|
|
190
|
+
if (this.isPdModalRequest(options)) {
|
|
157
191
|
this.abortControllers.get(this.uniqueExtKey)?.abort()
|
|
158
192
|
this.abortControllers.set(this.uniqueExtKey, abortController)
|
|
159
193
|
}
|
|
@@ -169,14 +203,21 @@ export class AjaxModalExtension implements Extension {
|
|
|
169
203
|
private buildState(event: BuildStateEvent): void {
|
|
170
204
|
const { options, state } = event.detail
|
|
171
205
|
|
|
172
|
-
// Every time naja builds the state, we extend
|
|
173
|
-
// opened and what history mode is in use. When options.forceRedirect
|
|
174
|
-
// state will be redirected outside it.
|
|
206
|
+
// Every time naja builds the state, and we have the modal opened, we extend the state with `pdModal` object
|
|
207
|
+
// containing information about modal being opened and what history mode is in use. When `options.forceRedirect`
|
|
208
|
+
// 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.
|
|
175
213
|
const isShown: boolean = this.modal.isShown() && !options.forceRedirect
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
214
|
+
|
|
215
|
+
if (isShown) {
|
|
216
|
+
state.pdModal = {
|
|
217
|
+
historyDirection: this.historyDirection,
|
|
218
|
+
opener: (options.modalOpener as Element).outerHTML, // if `this.modal.isShown()` is true, the `modalOpener` has been stored
|
|
219
|
+
options: this.modalOptions
|
|
220
|
+
}
|
|
180
221
|
}
|
|
181
222
|
|
|
182
223
|
// If the state is build, the history is enabled. This information is needed inside modal callback where the
|
|
@@ -186,7 +227,7 @@ export class AjaxModalExtension implements Extension {
|
|
|
186
227
|
|
|
187
228
|
private before(event: BeforeEvent) {
|
|
188
229
|
const { options, request } = event.detail
|
|
189
|
-
if (!options
|
|
230
|
+
if (!this.isPdModalRequest(options)) {
|
|
190
231
|
return
|
|
191
232
|
}
|
|
192
233
|
|
|
@@ -205,7 +246,7 @@ export class AjaxModalExtension implements Extension {
|
|
|
205
246
|
title: document.title
|
|
206
247
|
}
|
|
207
248
|
|
|
208
|
-
if (!options
|
|
249
|
+
if (!this.isPdModalRequest(options)) {
|
|
209
250
|
return
|
|
210
251
|
}
|
|
211
252
|
|
|
@@ -300,6 +341,7 @@ export class AjaxModalExtension implements Extension {
|
|
|
300
341
|
|
|
301
342
|
const isCurrentStatePdModal = this.isPdModalState(state)
|
|
302
343
|
this.popstateFlag = true
|
|
344
|
+
this.shouldPreventSnippetFetch = false
|
|
303
345
|
|
|
304
346
|
// We don't know how many states we go back. So we go one by one until the new state is not modal state
|
|
305
347
|
// (`isPdModalState` is `false`).
|
|
@@ -321,17 +363,17 @@ export class AjaxModalExtension implements Extension {
|
|
|
321
363
|
this.hidePopstateFlag = false
|
|
322
364
|
}
|
|
323
365
|
|
|
324
|
-
// We check if the state has pdModal object present on popstate. If so
|
|
325
|
-
//
|
|
366
|
+
// We check if the state has `pdModal` object present on popstate. If so , we proceed to open the modal. Content
|
|
367
|
+
// of the modal is restored by naja itself (either from cache or by new request).
|
|
326
368
|
//
|
|
327
|
-
// If the initial state is also detected as pdModal state, we returned to some pdModal state using reload. In
|
|
328
|
-
// case, we don't want to open the modal, because we might be missing some snippets. Effectively this means
|
|
329
|
-
// modal will never be opened by forward / back button if there has been some other site loaded outside
|
|
330
|
-
// (e.g. some non-ajax link leading from modal).
|
|
369
|
+
// If the initial state is also detected as pdModal state, we returned to some pdModal state using reload. In
|
|
370
|
+
// that case, we don't want to open the modal, because we might be missing some snippets. Effectively this means
|
|
371
|
+
// that the modal will never be opened by forward / back button if there has been some other site loaded outside
|
|
372
|
+
// the modal (e.g. some non-ajax link leading from modal).
|
|
331
373
|
if (isCurrentStatePdModal && !this.isPdModalState(this.initialState)) {
|
|
332
374
|
this.restoreExtensionPropertiesFromState(state)
|
|
333
375
|
|
|
334
|
-
this.modal.show(
|
|
376
|
+
this.modal.show(this.getElementFromString(state.pdModal.opener), state.pdModal.options, event)
|
|
335
377
|
|
|
336
378
|
// If there is some snippet cache, we might restore modal options. If not, options will be restored based on
|
|
337
379
|
// options after the ajax request. Same applies to dispatching load event - if cache is on, we dispatch the
|
|
@@ -346,16 +388,18 @@ export class AjaxModalExtension implements Extension {
|
|
|
346
388
|
} else {
|
|
347
389
|
this.historyEnabled = false // Hiding modal using forward / back button, we disable the history to prevent state duplication
|
|
348
390
|
|
|
349
|
-
// Reload the page if the initial state has been inside modal. This prevents snippets loss e.g. during
|
|
391
|
+
// Reload the page if the initial state has been inside modal. This prevents snippets loss e.g. during
|
|
392
|
+
// layout changes.
|
|
350
393
|
if (this.isPdModalState(this.initialState)) {
|
|
351
394
|
window.location.reload()
|
|
352
395
|
}
|
|
353
396
|
|
|
354
|
-
// Non-modal state and non-modal initial state
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
397
|
+
// Non-modal state and non-modal initial state → we just hide the current modal and prevent snippet fetch
|
|
398
|
+
// (if snippet cache is off).
|
|
399
|
+
if (this.modal.isShown()) {
|
|
400
|
+
this.modal.hide(event)
|
|
401
|
+
this.shouldPreventSnippetFetch = true
|
|
402
|
+
}
|
|
359
403
|
}
|
|
360
404
|
|
|
361
405
|
// Keep track of current state. When `backwards` history mode is used, we eventually push this state into
|
|
@@ -372,4 +416,8 @@ export class AjaxModalExtension implements Extension {
|
|
|
372
416
|
this.historyDirection = 'backwards'
|
|
373
417
|
this.modalOptions = null
|
|
374
418
|
}
|
|
419
|
+
|
|
420
|
+
private getElementFromString(stringElement: string): Element {
|
|
421
|
+
return new DOMParser().parseFromString(stringElement, 'text/html').body.firstElementChild as Element
|
|
422
|
+
}
|
|
375
423
|
}
|
package/src/utils/Control.ts
CHANGED
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
// 3. In case of `addControlOnLive` used, the `initialize` method is also called for each success ajax request. The
|
|
14
14
|
// `context` argument is equal to modified nette snippet.
|
|
15
15
|
//
|
|
16
|
+
// There is also optional method `destroy`. This method is called for each snippet before its content is being replaced.
|
|
17
|
+
// It is only called on snippets where operation is equal to naja.snippetHandler.
|
|
16
18
|
export default interface Control {
|
|
17
19
|
initialize(context: Element | Document): void
|
|
20
|
+
|
|
21
|
+
destroy?(context: Element): void
|
|
18
22
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import naja from 'naja'
|
|
2
|
-
import { AfterUpdateEvent } from 'naja/dist/core/SnippetHandler'
|
|
2
|
+
import { AfterUpdateEvent, BeforeUpdateEvent } from 'naja/dist/core/SnippetHandler'
|
|
3
3
|
import Control from './Control'
|
|
4
4
|
|
|
5
5
|
let instance: ControlManager | null = null
|
|
@@ -12,6 +12,7 @@ export default class ControlManager {
|
|
|
12
12
|
if (instance === null) {
|
|
13
13
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
14
14
|
instance = this
|
|
15
|
+
naja.snippetHandler.addEventListener('beforeUpdate', this.onBeforeSnippetUpdate.bind(this))
|
|
15
16
|
naja.snippetHandler.addEventListener('afterUpdate', this.onSnippetUpdate.bind(this))
|
|
16
17
|
}
|
|
17
18
|
return instance
|
|
@@ -22,6 +23,17 @@ export default class ControlManager {
|
|
|
22
23
|
this.initialize(this.onLiveControl)
|
|
23
24
|
}
|
|
24
25
|
|
|
26
|
+
private onBeforeSnippetUpdate(event: BeforeUpdateEvent): void {
|
|
27
|
+
if (
|
|
28
|
+
event.detail.operation === naja.snippetHandler.op.append ||
|
|
29
|
+
event.detail.operation === naja.snippetHandler.op.prepend
|
|
30
|
+
) {
|
|
31
|
+
return
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
this.destroy(this.onLiveControl, event.detail.snippet)
|
|
35
|
+
}
|
|
36
|
+
|
|
25
37
|
private onSnippetUpdate(event: AfterUpdateEvent): void {
|
|
26
38
|
this.initialize(this.onLiveControl, event.detail.snippet)
|
|
27
39
|
}
|
|
@@ -32,6 +44,14 @@ export default class ControlManager {
|
|
|
32
44
|
})
|
|
33
45
|
}
|
|
34
46
|
|
|
47
|
+
private destroy(controls: Control[], snippet: Element): void {
|
|
48
|
+
controls.forEach((control) => {
|
|
49
|
+
if (control.destroy !== undefined) {
|
|
50
|
+
control.destroy(snippet)
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
|
|
35
55
|
public addControlOnLoad(control: Control): void {
|
|
36
56
|
this.onLoadControl.push(control)
|
|
37
57
|
}
|