jsf.js_next_gen 4.0.1-beta.9 → 4.0.2-beta.10
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/dist/docs/assets/main.js +3 -3
- package/dist/docs/assets/search.js +1 -1
- package/dist/docs/assets/style.css +450 -362
- package/dist/docs/functions/faces.ajax.addOnError.html +41 -32
- package/dist/docs/functions/faces.ajax.addOnEvent.html +41 -32
- package/dist/docs/functions/faces.ajax.request.html +41 -32
- package/dist/docs/functions/faces.ajax.response.html +42 -32
- package/dist/docs/functions/faces.getClientWindow.html +32 -34
- package/dist/docs/functions/faces.getProjectStage.html +31 -34
- package/dist/docs/functions/faces.getViewState.html +33 -35
- package/dist/docs/functions/faces.push.close.html +40 -31
- package/dist/docs/functions/faces.push.init.html +62 -45
- package/dist/docs/functions/faces.push.open.html +40 -31
- package/dist/docs/functions/faces.util.chain.html +39 -31
- package/dist/docs/functions/myfaces.ab.html +40 -39
- package/dist/docs/functions/myfaces.onDomReady.html +25 -29
- package/dist/docs/index.html +45 -72
- package/dist/docs/modules/faces.ajax.html +36 -29
- package/dist/docs/modules/faces.html +35 -38
- package/dist/docs/modules/faces.push.html +34 -27
- package/dist/docs/modules/faces.util.html +30 -23
- package/dist/docs/modules/myfaces.html +21 -27
- package/dist/docs/modules.html +15 -23
- package/dist/docs/variables/faces.contextpath.html +28 -30
- package/dist/docs/variables/faces.implversion.html +29 -31
- package/dist/docs/variables/faces.separatorchar.html +28 -30
- package/dist/docs/variables/faces.specversion.html +29 -31
- package/dist/docs/variables/myfaces.oam.html +21 -26
- package/dist/window/faces-development.js +167 -61
- package/dist/window/faces-development.js.map +1 -1
- package/dist/window/faces.js +1 -1
- package/dist/window/faces.js.map +1 -1
- package/dist/window/jsf-development.js +167 -61
- package/dist/window/jsf-development.js.map +1 -1
- package/dist/window/jsf.js +1 -1
- package/dist/window/jsf.js.map +1 -1
- package/faulty_response.html +167 -0
- package/package.json +17 -18
- package/src/main/typescript/impl/AjaxImpl.ts +22 -19
- package/src/main/typescript/impl/PushImpl.ts +1 -1
- package/src/main/typescript/impl/util/FileUtils.ts +3 -2
- package/src/main/typescript/impl/util/HiddenInputBuilder.ts +2 -2
- package/src/main/typescript/impl/xhrCore/XhrRequest.ts +30 -1
- package/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.ts +50 -0
- package/src/main/typescript/test/impl/ImplTest.spec.ts +85 -0
- package/src/main/typescript/test/xhrCore/RequestParamsTest.spec.ts +301 -2
- package/src/main/typescript/test/xhrCore/RequestTest.spec.ts +245 -1
- package/src/main/typescript/test/xhrCore/ResponseTest.spec.ts +3 -3
- package/target/api/_api.js +2 -2
- package/target/api/_api.js.map +1 -1
- package/target/impl/AjaxImpl.js +22 -20
- package/target/impl/AjaxImpl.js.map +1 -1
- package/target/impl/PushImpl.js +4 -4
- package/target/impl/PushImpl.js.map +1 -1
- package/target/impl/util/Assertions.js +1 -1
- package/target/impl/util/Assertions.js.map +1 -1
- package/target/impl/util/FileUtils.js +3 -2
- package/target/impl/util/FileUtils.js.map +1 -1
- package/target/impl/util/HiddenInputBuilder.js +2 -2
- package/target/impl/util/HiddenInputBuilder.js.map +1 -1
- package/target/impl/util/Lang.js +1 -1
- package/target/impl/util/Lang.js.map +1 -1
- package/target/impl/xhrCore/ErrorData.js +1 -1
- package/target/impl/xhrCore/ErrorData.js.map +1 -1
- package/target/impl/xhrCore/Response.js +1 -1
- package/target/impl/xhrCore/Response.js.map +1 -1
- package/target/impl/xhrCore/XhrRequest.js +26 -0
- package/target/impl/xhrCore/XhrRequest.js.map +1 -1
- package/target/myfaces/OamSubmit.js +1 -1
- package/target/myfaces/OamSubmit.js.map +1 -1
- package/target/test/frameworkBase/_ext/shared/StandardInits.js +47 -1
- package/target/test/frameworkBase/_ext/shared/StandardInits.js.map +1 -1
- package/target/test/frameworkBase/_ext/shared/XmlResponses.js +1 -1
- package/target/test/frameworkBase/_ext/shared/XmlResponses.js.map +1 -1
- package/target/test/impl/ImplTest.spec.js +64 -0
- package/target/test/impl/ImplTest.spec.js.map +1 -1
- package/target/test/xhrCore/RequestParamsTest.spec.js +285 -1
- package/target/test/xhrCore/RequestParamsTest.spec.js.map +1 -1
- package/target/test/xhrCore/RequestTest.spec.js +212 -0
- package/target/test/xhrCore/RequestTest.spec.js.map +1 -1
- package/target/test/xhrCore/ResponseTest.spec.js +3 -3
- package/webpack.config.ts +1 -23
- package/dist/window/faces-development.js.br +0 -0
- package/dist/window/faces-development.js.gz +0 -0
- package/dist/window/faces.js.br +0 -0
- package/dist/window/faces.js.gz +0 -0
- package/dist/window/jsf-development.js.br +0 -0
- package/dist/window/jsf-development.js.gz +0 -0
- package/dist/window/jsf.js.br +0 -0
- package/dist/window/jsf.js.gz +0 -0
- package/target/AssocArray.js +0 -281
- package/target/AssocArray.js.map +0 -1
- package/target/Config.js +0 -235
- package/target/Config.js.map +0 -1
- package/target/CryptoExtensions.js +0 -112
- package/target/CryptoExtensions.js.map +0 -1
- package/target/DomQuery.js +0 -1963
- package/target/DomQuery.js.map +0 -1
- package/target/Es2019Array.js +0 -117
- package/target/Es2019Array.js.map +0 -1
- package/target/Global.js +0 -38
- package/target/Global.js.map +0 -1
- package/target/IDomQuery.js +0 -3
- package/target/IDomQuery.js.map +0 -1
- package/target/Lang.js +0 -183
- package/target/Lang.js.map +0 -1
- package/target/Messaging.js +0 -645
- package/target/Messaging.js.map +0 -1
- package/target/Monad.js +0 -330
- package/target/Monad.js.map +0 -1
- package/target/Promise.js +0 -296
- package/target/Promise.js.map +0 -1
- package/target/PromiseShim.js +0 -30
- package/target/PromiseShim.js.map +0 -1
- package/target/SourcesCollectors.js +0 -444
- package/target/SourcesCollectors.js.map +0 -1
- package/target/Stream.js +0 -562
- package/target/Stream.js.map +0 -1
- package/target/TagBuilder.js +0 -178
- package/target/TagBuilder.js.map +0 -1
- package/target/XmlQuery.js +0 -84
- package/target/XmlQuery.js.map +0 -1
- package/target/impl/core/Context.js +0 -10
- package/target/impl/core/Context.js.map +0 -1
- package/target/impl/util/AsyncQueue.js +0 -109
- package/target/impl/util/AsyncQueue.js.map +0 -1
- package/target/impl/util/HiddenElementBuilder.js +0 -7
- package/target/impl/util/HiddenElementBuilder.js.map +0 -1
- package/target/impl/util/IAsyncRunnable.js +0 -27
- package/target/impl/util/IAsyncRunnable.js.map +0 -1
- package/target/impl/util/URLCodec.js +0 -77
- package/target/impl/util/URLCodec.js.map +0 -1
- package/target/impl/xhrCore/RequestContext.js +0 -11
- package/target/impl/xhrCore/RequestContext.js.map +0 -1
- package/target/impl/xhrCore/XhrQueHandler.js +0 -11
- package/target/impl/xhrCore/XhrQueHandler.js.map +0 -1
- package/target/impl/xhrCore/XhrQueueController.js +0 -62
- package/target/impl/xhrCore/XhrQueueController.js.map +0 -1
- package/target/index.js +0 -80
- package/target/index.js.map +0 -1
- package/target/index_core.js +0 -76
- package/target/index_core.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/ExtendedArrayTest.spec.js +0 -76
- package/target/test/frameworkBase/_ext/monadish/ExtendedArrayTest.spec.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/StreamTest.spec.js +0 -178
- package/target/test/frameworkBase/_ext/monadish/StreamTest.spec.js.map +0 -1
- package/target/test/myfaces/OnLoadSpec.js +0 -57
- package/target/test/myfaces/OnLoadSpec.js.map +0 -1
- package/target/types/main/typescript/AssocArray.d.ts +0 -86
- package/target/types/main/typescript/Config.d.ts +0 -94
- package/target/types/main/typescript/CryptoExtensions.d.ts +0 -87
- package/target/types/main/typescript/DomQuery.d.ts +0 -587
- package/target/types/main/typescript/Es2019Array.d.ts +0 -30
- package/target/types/main/typescript/Global.d.ts +0 -23
- package/target/types/main/typescript/IDomQuery.d.ts +0 -480
- package/target/types/main/typescript/Lang.d.ts +0 -97
- package/target/types/main/typescript/Messaging.d.ts +0 -285
- package/target/types/main/typescript/Monad.d.ts +0 -161
- package/target/types/main/typescript/Promise.d.ts +0 -58
- package/target/types/main/typescript/PromiseShim.d.ts +0 -22
- package/target/types/main/typescript/SourcesCollectors.d.ts +0 -280
- package/target/types/main/typescript/Stream.d.ts +0 -284
- package/target/types/main/typescript/TagBuilder.d.ts +0 -50
- package/target/types/main/typescript/XmlQuery.d.ts +0 -31
- package/target/types/main/typescript/api/_api.d.ts +0 -182
- package/target/types/main/typescript/api/faces.d.ts +0 -17
- package/target/types/main/typescript/api/jsf.d.ts +0 -17
- package/target/types/main/typescript/impl/AjaxImpl.d.ts +0 -164
- package/target/types/main/typescript/impl/PushImpl.d.ts +0 -38
- package/target/types/main/typescript/impl/core/Const.d.ts +0 -138
- package/target/types/main/typescript/impl/core/ImplTypes.d.ts +0 -16
- package/target/types/main/typescript/impl/i18n/Messages.d.ts +0 -102
- package/target/types/main/typescript/impl/util/Assertions.d.ts +0 -46
- package/target/types/main/typescript/impl/util/AsyncRunnable.d.ts +0 -112
- package/target/types/main/typescript/impl/util/ExtDomQuery.d.ts +0 -100
- package/target/types/main/typescript/impl/util/FileUtils.d.ts +0 -25
- package/target/types/main/typescript/impl/util/HiddenInputBuilder.d.ts +0 -37
- package/target/types/main/typescript/impl/util/IListener.d.ts +0 -18
- package/target/types/main/typescript/impl/util/Lang.d.ts +0 -138
- package/target/types/main/typescript/impl/util/XhrQueueController.d.ts +0 -51
- package/target/types/main/typescript/impl/xhrCore/ErrorData.d.ts +0 -37
- package/target/types/main/typescript/impl/xhrCore/EventData.d.ts +0 -25
- package/target/types/main/typescript/impl/xhrCore/IResponseProcessor.d.ts +0 -136
- package/target/types/main/typescript/impl/xhrCore/RequestDataResolver.d.ts +0 -84
- package/target/types/main/typescript/impl/xhrCore/ResonseDataResolver.d.ts +0 -60
- package/target/types/main/typescript/impl/xhrCore/Response.d.ts +0 -29
- package/target/types/main/typescript/impl/xhrCore/ResponseProcessor.d.ts +0 -208
- package/target/types/main/typescript/impl/xhrCore/XhrFormData.d.ts +0 -83
- package/target/types/main/typescript/impl/xhrCore/XhrRequest.d.ts +0 -102
- package/target/types/main/typescript/index.d.ts +0 -34
- package/target/types/main/typescript/index_core.d.ts +0 -29
- package/target/types/main/typescript/myfaces/OamSubmit.d.ts +0 -53
- package/target/types/main/typescript/test/frameworkBase/LangTest.spec.d.ts +0 -1
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.d.ts +0 -1
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/LangTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/MappingProbes.d.ts +0 -39
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/MappingTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/MonadTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.d.ts +0 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.d.ts +0 -1
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.d.ts +0 -1
- package/target/types/main/typescript/test/frameworkBase/_ext/shared/StandardInits.d.ts +0 -63
- package/target/types/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.d.ts +0 -23
- package/target/types/main/typescript/test/impl/ImplTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/impl/ImplTest_23.spec.d.ts +0 -16
- package/target/types/main/typescript/test/impl/SeparatorCharsTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/myfaces/OamSubmit.spec.d.ts +0 -16
- package/target/types/main/typescript/test/myfaces/OnLoad.spec.d.ts +0 -16
- package/target/types/main/typescript/test/queue/AsynchronousProbe.d.ts +0 -38
- package/target/types/main/typescript/test/queue/AsynchronousQueueTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/xhrCore/ClientWindow.spec.d.ts +0 -1
- package/target/types/main/typescript/test/xhrCore/ErrorChainTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/xhrCore/EventTests.spec.d.ts +0 -16
- package/target/types/main/typescript/test/xhrCore/FakeWebsocket.d.ts +0 -24
- package/target/types/main/typescript/test/xhrCore/FileUploadTest.spec.d.ts +0 -1
- package/target/types/main/typescript/test/xhrCore/NamespacesRequestTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/xhrCore/OamSubmitTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/xhrCore/RequestParamsTest.spec.d.ts +0 -1
- package/target/types/main/typescript/test/xhrCore/RequestTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/xhrCore/RequestTest_23.spec.d.ts +0 -16
- package/target/types/main/typescript/test/xhrCore/ResponseTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/xhrCore/ResponseTest23.spec.d.ts +0 -16
- package/target/types/main/typescript/test/xhrCore/ShadowDomTest.spec.d.ts +0 -16
- package/target/types/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.d.ts +0 -1
- package/target/types/main/typescript/test/xhrCore/WebsocketTest.d.ts +0 -1
- package/target/types/main/typescript/test/xhrCore/XhrFormDataTest.spec.d.ts +0 -16
- package/target/types/test/typescript/AssocArrayTest.spec.d.ts +0 -1
- package/target/types/test/typescript/DomQueryTest.spec.d.ts +0 -1
- package/target/types/test/typescript/ExtendedArrayTest.spec.d.ts +0 -1
- package/target/types/test/typescript/LangTest.spec.d.ts +0 -1
- package/target/types/test/typescript/MappingProbes.d.ts +0 -24
- package/target/types/test/typescript/MappingTest.spec.d.ts +0 -1
- package/target/types/test/typescript/MessagingTest.spec.d.ts +0 -1
- package/target/types/test/typescript/MonadTest.spec.d.ts +0 -16
- package/target/types/test/typescript/PromiseTest.spec.d.ts +0 -1
- package/target/types/test/typescript/StreamTest.spec.d.ts +0 -1
- package/target/types/test/typescript/XmlQueryTest.spec.d.ts +0 -1
- package/target/types/test/typescript/markups/tobago-with-header.d.ts +0 -1
- package/target/types/test/typescript/markups/tobago-without-header.d.ts +0 -1
- package/webpack.config.js +0 -71
- package/webpack.config.js.map +0 -1
|
@@ -68,7 +68,8 @@ describe("test for proper request param patterns identical to the old implementa
|
|
|
68
68
|
"jakarta.faces.partial.ajax": "true",
|
|
69
69
|
"jakarta.faces.partial.execute": "cmd_update_insert2",
|
|
70
70
|
"form1": "form1",
|
|
71
|
-
"jakarta.faces.ViewState": "blubbblubblubb"
|
|
71
|
+
"jakarta.faces.ViewState": "blubbblubblubb",
|
|
72
|
+
"cmd_update_insert2": "update insert second protocol path"
|
|
72
73
|
}
|
|
73
74
|
/**
|
|
74
75
|
* matches two maps for absolute identicality
|
|
@@ -264,4 +265,302 @@ describe("test for proper request param patterns identical to the old implementa
|
|
|
264
265
|
done();
|
|
265
266
|
});
|
|
266
267
|
|
|
267
|
-
|
|
268
|
+
/**
|
|
269
|
+
* This test is based on Tobago 6.0.0 (Jakarte EE 10).
|
|
270
|
+
*/
|
|
271
|
+
it("tobago tree select", function (done) {
|
|
272
|
+
window.document.body.innerHTML = `
|
|
273
|
+
<tobago-page locale='de' class='container-fluid' id='page' focus-on-error='true' wait-overlay-delay-full='1000' wait-overlay-delay-ajax='1000'>
|
|
274
|
+
<form action='/content/090-tree/01-select/Tree_Select.xhtml' id='page::form' method='post' accept-charset='UTF-8' data-tobago-context-path=''>
|
|
275
|
+
<input type='hidden' name='jakarta.faces.source' id='jakarta.faces.source' disabled='disabled'>
|
|
276
|
+
<tobago-focus id='page::lastFocusId'>
|
|
277
|
+
<input type='hidden' name='page::lastFocusId' id='page::lastFocusId::field'>
|
|
278
|
+
</tobago-focus>
|
|
279
|
+
<input type='hidden' name='org.apache.myfaces.tobago.webapp.Secret' id='org.apache.myfaces.tobago.webapp.Secret' value='secretValue'>
|
|
280
|
+
<div class='tobago-page-menuStore'>
|
|
281
|
+
</div>
|
|
282
|
+
<div class='tobago-page-toastStore'>
|
|
283
|
+
</div>
|
|
284
|
+
<span id='page::faces-state-container'><input type='hidden' name='jakarta.faces.ViewState' id='j_id__v_0:jakarta.faces.ViewState:1' value='viewStateValue' autocomplete='off'><input type='hidden' name='jakarta.faces.RenderKitId' value='tobago'><input type='hidden' id='j_id__v_0:jakarta.faces.ClientWindow:1' name='jakarta.faces.ClientWindow' value='clientWindowValue'></span>
|
|
285
|
+
<tobago-tree id='page:categoriesTree' data-tobago-selectable='multi' selectable='multi'>
|
|
286
|
+
<tobago-tree-node id='page:categoriesTree:0:j_id_3' class='tobago-folder tobago-expanded' expandable='expandable' index='0' data-tobago-level='0'>
|
|
287
|
+
<span id='page:categoriesTree:0:j_id_4' class='tobago-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
|
|
288
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
289
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:0:select' value='page:categoriesTree:0:select' id='page:categoriesTree:0:select'>
|
|
290
|
+
<label class='form-check-label' for='page:categoriesTree:0:select'>Category</label>
|
|
291
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:0:select' execute='page:categoriesTree:0:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
292
|
+
</tobago-tree-select>
|
|
293
|
+
</tobago-tree-node>
|
|
294
|
+
<tobago-tree-node id='page:categoriesTree:1:j_id_3' index='1' data-tobago-tree-parent='page:categoriesTree:0:j_id_3' parent='page:categoriesTree:0:j_id_3' data-tobago-level='1'>
|
|
295
|
+
<span id='page:categoriesTree:1:j_id_4' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
|
|
296
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
297
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:1:select' value='page:categoriesTree:1:select' id='page:categoriesTree:1:select'>
|
|
298
|
+
<label class='form-check-label' for='page:categoriesTree:1:select'>Sports</label>
|
|
299
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:1:select' execute='page:categoriesTree:1:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
300
|
+
</tobago-tree-select>
|
|
301
|
+
</tobago-tree-node>
|
|
302
|
+
<tobago-tree-node id='page:categoriesTree:2:j_id_3' index='2' data-tobago-tree-parent='page:categoriesTree:0:j_id_3' parent='page:categoriesTree:0:j_id_3' data-tobago-level='1'>
|
|
303
|
+
<span id='page:categoriesTree:2:j_id_4' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
|
|
304
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
305
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:2:select' value='page:categoriesTree:2:select' id='page:categoriesTree:2:select'>
|
|
306
|
+
<label class='form-check-label' for='page:categoriesTree:2:select'>Movies</label>
|
|
307
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:2:select' execute='page:categoriesTree:2:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
308
|
+
</tobago-tree-select>
|
|
309
|
+
</tobago-tree-node>
|
|
310
|
+
<tobago-tree-node id='page:categoriesTree:3:j_id_3' class='tobago-selected tobago-folder tobago-expanded' selected='selected' expandable='expandable' index='3' data-tobago-tree-parent='page:categoriesTree:0:j_id_3' parent='page:categoriesTree:0:j_id_3' data-tobago-level='1'>
|
|
311
|
+
<span id='page:categoriesTree:3:j_id_4' class='tobago-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
|
|
312
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
313
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:3:select' value='page:categoriesTree:3:select' id='page:categoriesTree:3:select' checked='checked'>
|
|
314
|
+
<label class='form-check-label' for='page:categoriesTree:3:select'>Music</label>
|
|
315
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:3:select' execute='page:categoriesTree:3:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
316
|
+
</tobago-tree-select>
|
|
317
|
+
</tobago-tree-node>
|
|
318
|
+
<tobago-tree-node id='page:categoriesTree:4:j_id_3' index='4' data-tobago-tree-parent='page:categoriesTree:3:j_id_3' parent='page:categoriesTree:3:j_id_3' data-tobago-level='2'>
|
|
319
|
+
<span id='page:categoriesTree:4:j_id_4' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
|
|
320
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
321
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:4:select' value='page:categoriesTree:4:select' id='page:categoriesTree:4:select'>
|
|
322
|
+
<label class='form-check-label' for='page:categoriesTree:4:select'>Classic</label>
|
|
323
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:4:select' execute='page:categoriesTree:4:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
324
|
+
</tobago-tree-select>
|
|
325
|
+
</tobago-tree-node>
|
|
326
|
+
<tobago-tree-node id='page:categoriesTree:5:j_id_3' index='5' data-tobago-tree-parent='page:categoriesTree:3:j_id_3' parent='page:categoriesTree:3:j_id_3' data-tobago-level='2'>
|
|
327
|
+
<span id='page:categoriesTree:5:j_id_4' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
|
|
328
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
329
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:5:select' value='page:categoriesTree:5:select' id='page:categoriesTree:5:select'>
|
|
330
|
+
<label class='form-check-label' for='page:categoriesTree:5:select'>Pop</label>
|
|
331
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:5:select' execute='page:categoriesTree:5:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
332
|
+
</tobago-tree-select>
|
|
333
|
+
</tobago-tree-node>
|
|
334
|
+
<tobago-tree-node id='page:categoriesTree:6:j_id_3' class='tobago-folder' expandable='expandable' index='6' data-tobago-tree-parent='page:categoriesTree:3:j_id_3' parent='page:categoriesTree:3:j_id_3' data-tobago-level='2'>
|
|
335
|
+
<span id='page:categoriesTree:6:j_id_4' class='tobago-toggle'><i class='bi-plus-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
|
|
336
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
337
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:6:select' value='page:categoriesTree:6:select' id='page:categoriesTree:6:select'>
|
|
338
|
+
<label class='form-check-label' for='page:categoriesTree:6:select'>World</label>
|
|
339
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:6:select' execute='page:categoriesTree:6:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
340
|
+
</tobago-tree-select>
|
|
341
|
+
</tobago-tree-node>
|
|
342
|
+
<tobago-tree-node id='page:categoriesTree:7:j_id_3' index='7' data-tobago-tree-parent='page:categoriesTree:0:j_id_3' parent='page:categoriesTree:0:j_id_3' data-tobago-level='1'>
|
|
343
|
+
<span id='page:categoriesTree:7:j_id_4' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
|
|
344
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
345
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:7:select' value='page:categoriesTree:7:select' id='page:categoriesTree:7:select'>
|
|
346
|
+
<label class='form-check-label' for='page:categoriesTree:7:select'>Games</label>
|
|
347
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:7:select' execute='page:categoriesTree:7:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
348
|
+
</tobago-tree-select>
|
|
349
|
+
</tobago-tree-node>
|
|
350
|
+
<tobago-tree-node id='page:categoriesTree:8:j_id_3' class='tobago-folder tobago-expanded' expandable='expandable' index='8' data-tobago-tree-parent='page:categoriesTree:0:j_id_3' parent='page:categoriesTree:0:j_id_3' data-tobago-level='1'>
|
|
351
|
+
<span id='page:categoriesTree:8:j_id_4' class='tobago-toggle'><i class='bi-dash-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
|
|
352
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
353
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:8:select' value='page:categoriesTree:8:select' id='page:categoriesTree:8:select'>
|
|
354
|
+
<label class='form-check-label' for='page:categoriesTree:8:select'>Science</label>
|
|
355
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:8:select' execute='page:categoriesTree:8:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
356
|
+
</tobago-tree-select>
|
|
357
|
+
</tobago-tree-node>
|
|
358
|
+
<tobago-tree-node id='page:categoriesTree:9:j_id_3' class='tobago-folder' expandable='expandable' index='9' data-tobago-tree-parent='page:categoriesTree:8:j_id_3' parent='page:categoriesTree:8:j_id_3' data-tobago-level='2'>
|
|
359
|
+
<span id='page:categoriesTree:9:j_id_4' class='tobago-toggle'><i class='bi-plus-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
|
|
360
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
361
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:9:select' value='page:categoriesTree:9:select' id='page:categoriesTree:9:select'>
|
|
362
|
+
<label class='form-check-label' for='page:categoriesTree:9:select'>Mathematics</label>
|
|
363
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:9:select' execute='page:categoriesTree:9:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
364
|
+
</tobago-tree-select>
|
|
365
|
+
</tobago-tree-node>
|
|
366
|
+
<tobago-tree-node id='page:categoriesTree:10:j_id_3' index='10' data-tobago-tree-parent='page:categoriesTree:8:j_id_3' parent='page:categoriesTree:8:j_id_3' data-tobago-level='2'>
|
|
367
|
+
<span id='page:categoriesTree:10:j_id_4' class='tobago-toggle invisible'><i class='bi-square invisible'></i></span>
|
|
368
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
369
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:10:select' value='page:categoriesTree:10:select' id='page:categoriesTree:10:select'>
|
|
370
|
+
<label class='form-check-label' for='page:categoriesTree:10:select'>Geography</label>
|
|
371
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:10:select' execute='page:categoriesTree:10:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
372
|
+
</tobago-tree-select>
|
|
373
|
+
</tobago-tree-node>
|
|
374
|
+
<tobago-tree-node id='page:categoriesTree:11:j_id_3' class='tobago-folder' expandable='expandable' index='11' data-tobago-tree-parent='page:categoriesTree:8:j_id_3' parent='page:categoriesTree:8:j_id_3' data-tobago-level='2'>
|
|
375
|
+
<span id='page:categoriesTree:11:j_id_4' class='tobago-toggle'><i class='bi-plus-square' data-tobago-open='bi-dash-square' data-tobago-closed='bi-plus-square'></i></span>
|
|
376
|
+
<tobago-tree-select class='form-check-inline form-check'>
|
|
377
|
+
<input class='form-check-input' type='checkbox' name='page:categoriesTree:11:select' value='page:categoriesTree:11:select' id='page:categoriesTree:11:select'>
|
|
378
|
+
<label class='form-check-label' for='page:categoriesTree:11:select'>Astronomy</label>
|
|
379
|
+
<tobago-behavior event='change' client-id='page:categoriesTree:11:select' execute='page:categoriesTree:11:select page:categoriesTree' render='page:selectedNodesOutput page:categoriesTree'></tobago-behavior>
|
|
380
|
+
</tobago-tree-select>
|
|
381
|
+
</tobago-tree-node>
|
|
382
|
+
<input type='hidden' name='page:categoriesTree::selected' id='page:categoriesTree::selected' class='tobago-selected' value='[3]'>
|
|
383
|
+
<input type='hidden' name='page:categoriesTree::expanded' id='page:categoriesTree::expanded' class='tobago-expanded' value='[0,3,8]'>
|
|
384
|
+
<tobago-scroll>
|
|
385
|
+
<input id='page:categoriesTree::scrollPosition' name='page:categoriesTree::scrollPosition' type='hidden' value='[0,0]' data-tobago-scroll-position='true'>
|
|
386
|
+
</tobago-scroll>
|
|
387
|
+
</tobago-tree>
|
|
388
|
+
<tobago-out id='page:selectedNodesOutput' class='tobago-label-container tobago-auto-spacing'><label for='page:selectedNodesOutput' class='col-form-label'>Selected Nodes</label><span class='form-control-plaintext'>Music</span></tobago-out>
|
|
389
|
+
</form>
|
|
390
|
+
<noscript>
|
|
391
|
+
<div class='tobago-page-noscript'>Diese Seite benötigt JavaScript, allerdings ist JavaScript in Ihrem Browser derzeit deaktiviert. Um JavaScript zu aktivieren, lesen Sie ggf. die Anleitung Ihres Browsers.
|
|
392
|
+
</div>
|
|
393
|
+
</noscript>
|
|
394
|
+
</tobago-page>
|
|
395
|
+
`;
|
|
396
|
+
|
|
397
|
+
//we now run the tests here
|
|
398
|
+
try {
|
|
399
|
+
document.querySelector<HTMLInputElement>("input[name='page:categoriesTree:3:select']").checked = false;
|
|
400
|
+
|
|
401
|
+
let event = {
|
|
402
|
+
isTrusted: true,
|
|
403
|
+
type: 'change',
|
|
404
|
+
target: document.getElementById("page:categoriesTree:3:select"),
|
|
405
|
+
currentTarget: document.getElementById("page:categoriesTree:3:select")
|
|
406
|
+
};
|
|
407
|
+
global.debug2 = true;
|
|
408
|
+
faces.ajax.request(
|
|
409
|
+
document.getElementById("page:categoriesTree:3:select"),
|
|
410
|
+
event as any,
|
|
411
|
+
{
|
|
412
|
+
"jakarta.faces.behavior.event": "change",
|
|
413
|
+
execute: 'page:categoriesTree:3:select page:categoriesTree',
|
|
414
|
+
render: 'page:selectedNodesOutput page:categoriesTree'
|
|
415
|
+
});
|
|
416
|
+
} catch (err) {
|
|
417
|
+
console.error(err);
|
|
418
|
+
expect(false).to.eq(true);
|
|
419
|
+
}
|
|
420
|
+
const requestBody = this.requests[0].requestBody;
|
|
421
|
+
let arsArr = requestBody.split("&");
|
|
422
|
+
let resultsMap = {};
|
|
423
|
+
for (let val of arsArr) {
|
|
424
|
+
let keyVal = val.split("=");
|
|
425
|
+
|
|
426
|
+
if (resultsMap[keyVal[0]]) {
|
|
427
|
+
console.log("duplicated key '" + keyVal[0] + "'");
|
|
428
|
+
expect(resultsMap[keyVal[0]]).not.to.exist;
|
|
429
|
+
}
|
|
430
|
+
resultsMap[keyVal[0]] = keyVal[1];
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
expect(resultsMap[encodeURIComponent("page::lastFocusId")]).to.exist;
|
|
434
|
+
expect(resultsMap["org.apache.myfaces.tobago.webapp.Secret"]).to.eq("secretValue");
|
|
435
|
+
expect(resultsMap["jakarta.faces.ViewState"]).to.eq("viewStateValue");
|
|
436
|
+
expect(resultsMap["jakarta.faces.RenderKitId"]).to.eq("tobago");
|
|
437
|
+
expect(resultsMap["jakarta.faces.ClientWindow"]).to.eq("clientWindowValue");
|
|
438
|
+
expect(resultsMap[encodeURIComponent("page:categoriesTree::selected")]).to.eq(encodeURIComponent("[3]"));
|
|
439
|
+
expect(resultsMap[encodeURIComponent("page:categoriesTree::expanded")]).to.eq(encodeURIComponent("[0,3,8]"));
|
|
440
|
+
expect(resultsMap[encodeURIComponent("page:categoriesTree::scrollPosition")]).to.eq(encodeURIComponent("[0,0]"));
|
|
441
|
+
expect(resultsMap["jakarta.faces.behavior.event"]).to.eq("change");
|
|
442
|
+
expect(resultsMap["jakarta.faces.partial.event"]).to.eq("change");
|
|
443
|
+
expect(resultsMap["jakarta.faces.source"]).to.eq(encodeURIComponent("page:categoriesTree:3:select"));
|
|
444
|
+
expect(resultsMap["jakarta.faces.partial.ajax"]).to.eq("true");
|
|
445
|
+
expect(resultsMap[encodeURIComponent("page::form")]).to.eq(encodeURIComponent("page::form"));
|
|
446
|
+
expect(resultsMap["jakarta.faces.partial.execute"]).to.eq(encodeURIComponent("page:categoriesTree:3:select page:categoriesTree"));
|
|
447
|
+
expect(resultsMap["jakarta.faces.partial.render"]).to.eq(encodeURIComponent("page:selectedNodesOutput page:categoriesTree"));
|
|
448
|
+
expect(resultsMap[encodeURIComponent("page:categoriesTree:3:select")]).not.to.exist;
|
|
449
|
+
|
|
450
|
+
done();
|
|
451
|
+
});
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* This test is based on Tobago 6.0.0 (Jakarte EE 10).
|
|
455
|
+
*/
|
|
456
|
+
it("tobago selectManyShuttle", function (done) {
|
|
457
|
+
window.document.body.innerHTML = `
|
|
458
|
+
<tobago-page locale="de" class="container-fluid" id="page" focus-on-error="true" wait-overlay-delay-full="1000" wait-overlay-delay-ajax="1000">
|
|
459
|
+
<form action="/content/030-select/70-selectManyShuttle/Shuttle.xhtml" id="page::form" method="post" accept-charset="UTF-8" data-tobago-context-path="">
|
|
460
|
+
<input type="hidden" name="jakarta.faces.source" id="jakarta.faces.source" disabled="disabled">
|
|
461
|
+
<tobago-focus id="page::lastFocusId">
|
|
462
|
+
<input type="hidden" name="page::lastFocusId" id="page::lastFocusId::field">
|
|
463
|
+
</tobago-focus>
|
|
464
|
+
<input type="hidden" name="org.apache.myfaces.tobago.webapp.Secret" id="org.apache.myfaces.tobago.webapp.Secret" value="secretValue">
|
|
465
|
+
<div class="tobago-page-menuStore">
|
|
466
|
+
</div>
|
|
467
|
+
<div class="tobago-page-toastStore">
|
|
468
|
+
</div>
|
|
469
|
+
<span id="page::faces-state-container"><input type="hidden" name="jakarta.faces.ViewState" id="j_id__v_0:jakarta.faces.ViewState:1" value="viewStateValue" autocomplete="off"><input type="hidden" name="jakarta.faces.RenderKitId" value="tobago"><input type="hidden" id="j_id__v_0:jakarta.faces.ClientWindow:1" name="jakarta.faces.ClientWindow" value="clientWindowValue"></span>
|
|
470
|
+
<tobago-select-many-shuttle id="page:ajaxExample" class="tobago-auto-spacing">
|
|
471
|
+
<div class="tobago-body">
|
|
472
|
+
<div class="tobago-unselected-container">
|
|
473
|
+
<select id="page:ajaxExample::unselected" class="tobago-unselected form-select" multiple="multiple" size="4">
|
|
474
|
+
<option value="Proxima Centauri">Proxima Centauri
|
|
475
|
+
</option>
|
|
476
|
+
<option value="Alpha Centauri">Alpha Centauri
|
|
477
|
+
</option>
|
|
478
|
+
<option value="Wolf 359">Wolf 359
|
|
479
|
+
</option></select>
|
|
480
|
+
</div>
|
|
481
|
+
<div class="tobago-controls">
|
|
482
|
+
<div class="btn-group-vertical">
|
|
483
|
+
<button type="button" class="btn btn-secondary" id="page:ajaxExample::addAll"><i class="bi-chevron-double-right"></i></button>
|
|
484
|
+
<button type="button" class="btn btn-secondary" id="page:ajaxExample::add"><i class="bi-chevron-right"></i></button>
|
|
485
|
+
<button type="button" class="btn btn-secondary" id="page:ajaxExample::remove"><i class="bi-chevron-left"></i></button>
|
|
486
|
+
<button type="button" class="btn btn-secondary" id="page:ajaxExample::removeAll"><i class="bi-chevron-double-left"></i></button>
|
|
487
|
+
</div>
|
|
488
|
+
</div>
|
|
489
|
+
<div class="tobago-selected-container">
|
|
490
|
+
<select id="page:ajaxExample::selected" class="tobago-selected form-select" multiple="multiple" size="4">
|
|
491
|
+
<option value="Sirius">Sirius
|
|
492
|
+
</option></select>
|
|
493
|
+
</div>
|
|
494
|
+
<select class="d-none" id="page:ajaxExample::hidden" name="page:ajaxExample" multiple="multiple">
|
|
495
|
+
<option value="Proxima Centauri">Proxima Centauri
|
|
496
|
+
</option>
|
|
497
|
+
<option value="Alpha Centauri">Alpha Centauri
|
|
498
|
+
</option>
|
|
499
|
+
<option value="Wolf 359">Wolf 359
|
|
500
|
+
</option>
|
|
501
|
+
<option value="Sirius" selected="selected">Sirius
|
|
502
|
+
</option></select>
|
|
503
|
+
</div>
|
|
504
|
+
<tobago-behavior event="change" client-id="page:ajaxExample" execute="page:ajaxExample" render="page:outputStars"></tobago-behavior>
|
|
505
|
+
</tobago-select-many-shuttle>
|
|
506
|
+
<tobago-out id="page:outputStars" class="tobago-label-container tobago-auto-spacing"><label for="page:outputStars" class="col-form-label">Selected Stars</label><span class="form-control-plaintext">[Sirius]</span></tobago-out>
|
|
507
|
+
</form>
|
|
508
|
+
</tobago-page>
|
|
509
|
+
`;
|
|
510
|
+
|
|
511
|
+
//we now run the tests here
|
|
512
|
+
try {
|
|
513
|
+
let siriusOption = document.querySelector<HTMLOptionElement>(".tobago-selected option");
|
|
514
|
+
document.querySelector<HTMLSelectElement>(".tobago-unselected").add(siriusOption);
|
|
515
|
+
document.getElementById("page:ajaxExample::hidden")
|
|
516
|
+
.querySelector<HTMLOptionElement>("option[value='Sirius']").selected = false;
|
|
517
|
+
|
|
518
|
+
let event = {
|
|
519
|
+
isTrusted: true,
|
|
520
|
+
type: 'change',
|
|
521
|
+
target: document.getElementById("page:ajaxExample"),
|
|
522
|
+
currentTarget: document.getElementById("page:ajaxExample")
|
|
523
|
+
};
|
|
524
|
+
global.debug2 = true;
|
|
525
|
+
faces.ajax.request(
|
|
526
|
+
document.getElementById("page:ajaxExample"),
|
|
527
|
+
event as any,
|
|
528
|
+
{
|
|
529
|
+
"jakarta.faces.behavior.event": "change",
|
|
530
|
+
execute: 'page:ajaxExample',
|
|
531
|
+
render: 'page:outputStars'
|
|
532
|
+
});
|
|
533
|
+
} catch (err) {
|
|
534
|
+
console.error(err);
|
|
535
|
+
expect(false).to.eq(true);
|
|
536
|
+
}
|
|
537
|
+
const requestBody = this.requests[0].requestBody;
|
|
538
|
+
let arsArr = requestBody.split("&");
|
|
539
|
+
let resultsMap = {};
|
|
540
|
+
for (let val of arsArr) {
|
|
541
|
+
let keyVal = val.split("=");
|
|
542
|
+
|
|
543
|
+
if (resultsMap[keyVal[0]]) {
|
|
544
|
+
console.log("duplicated key '" + keyVal[0] + "'");
|
|
545
|
+
expect(resultsMap[keyVal[0]]).not.to.exist;
|
|
546
|
+
}
|
|
547
|
+
resultsMap[keyVal[0]] = keyVal[1];
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
expect(resultsMap[encodeURIComponent("page::lastFocusId")]).to.exist;
|
|
551
|
+
expect(resultsMap["org.apache.myfaces.tobago.webapp.Secret"]).to.eq("secretValue");
|
|
552
|
+
expect(resultsMap["jakarta.faces.ViewState"]).to.eq("viewStateValue");
|
|
553
|
+
expect(resultsMap["jakarta.faces.RenderKitId"]).to.eq("tobago");
|
|
554
|
+
expect(resultsMap["jakarta.faces.ClientWindow"]).to.eq("clientWindowValue");
|
|
555
|
+
expect(resultsMap["jakarta.faces.behavior.event"]).to.eq("change");
|
|
556
|
+
expect(resultsMap["jakarta.faces.partial.event"]).to.eq("change");
|
|
557
|
+
expect(resultsMap["jakarta.faces.source"]).to.eq(encodeURIComponent("page:ajaxExample"));
|
|
558
|
+
expect(resultsMap["jakarta.faces.partial.ajax"]).to.eq("true");
|
|
559
|
+
expect(resultsMap[encodeURIComponent("page::form")]).to.eq(encodeURIComponent("page::form"));
|
|
560
|
+
expect(resultsMap["jakarta.faces.partial.execute"]).to.eq(encodeURIComponent("page:ajaxExample"));
|
|
561
|
+
expect(resultsMap["jakarta.faces.partial.render"]).to.eq(encodeURIComponent("page:outputStars"));
|
|
562
|
+
expect(resultsMap[encodeURIComponent("page:ajaxExample")]).not.to.exist;
|
|
563
|
+
|
|
564
|
+
done();
|
|
565
|
+
});
|
|
566
|
+
});
|
|
@@ -18,7 +18,7 @@ import {describe, it} from "mocha";
|
|
|
18
18
|
import * as sinon from "sinon";
|
|
19
19
|
import {expect} from "chai";
|
|
20
20
|
import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits";
|
|
21
|
-
import {_Es2019Array, DomQuery} from "mona-dish";
|
|
21
|
+
import {_Es2019Array, DomQuery, DQ$} from "mona-dish";
|
|
22
22
|
import {
|
|
23
23
|
COMPLETE, EMPTY_STR,
|
|
24
24
|
P_AJAX,
|
|
@@ -30,7 +30,10 @@ import {
|
|
|
30
30
|
SUCCESS
|
|
31
31
|
} from "../../impl/core/Const";
|
|
32
32
|
import defaultMyFaces = StandardInits.defaultMyFaces;
|
|
33
|
+
import initVirtualElement = StandardInits.initVirtualElement;
|
|
33
34
|
import STD_XML = StandardInits.STD_XML;
|
|
35
|
+
import exp from "constants";
|
|
36
|
+
import initCheckboxForm = StandardInits.initCheckboxRadioForm;
|
|
34
37
|
|
|
35
38
|
declare var faces: any;
|
|
36
39
|
declare var Implementation: any;
|
|
@@ -638,6 +641,247 @@ describe('Tests after core when it hits response', function () {
|
|
|
638
641
|
done();
|
|
639
642
|
});
|
|
640
643
|
|
|
644
|
+
it("must handle the virtual issuing elements correctly", function() {
|
|
645
|
+
|
|
646
|
+
const waitForResult = initVirtualElement();
|
|
647
|
+
return waitForResult.then((close) => {
|
|
648
|
+
const send = sinon.spy(XMLHttpRequest.prototype, "send");
|
|
649
|
+
|
|
650
|
+
try {
|
|
651
|
+
let dqElem = DomQuery.byId("page:numbers");
|
|
652
|
+
let element = dqElem.getAsElem(0).value;
|
|
653
|
+
dqElem.querySelectorAll("input").click();
|
|
654
|
+
|
|
655
|
+
faces.ajax.request(element, null, {
|
|
656
|
+
execute: "jd_0:blarg",
|
|
657
|
+
render: "@form",
|
|
658
|
+
params: {
|
|
659
|
+
pass1: "pass1",
|
|
660
|
+
pass2: "pass2"
|
|
661
|
+
}
|
|
662
|
+
});
|
|
663
|
+
|
|
664
|
+
let argsVal: any = send.args[0][0];
|
|
665
|
+
let arsArr = argsVal.split("&");
|
|
666
|
+
let resultsMap = {};
|
|
667
|
+
let doubles = 0;
|
|
668
|
+
for (let val of arsArr) {
|
|
669
|
+
let keyVal = val.split("=");
|
|
670
|
+
if(!!resultsMap[keyVal[0]]) {
|
|
671
|
+
doubles++;
|
|
672
|
+
}
|
|
673
|
+
resultsMap[keyVal[0]] = keyVal[1];
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
expect(doubles).to.eq(2);
|
|
677
|
+
|
|
678
|
+
} finally {
|
|
679
|
+
|
|
680
|
+
send.restore();
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
return true;
|
|
684
|
+
});
|
|
685
|
+
|
|
686
|
+
});
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
* the idea is if a checkbox or radio button is the issuing element
|
|
690
|
+
* we cannot attach it if unchecked
|
|
691
|
+
*/
|
|
692
|
+
it("must handle issuing checkboxes and radio buttons with values correctly", () => {
|
|
693
|
+
const waitForResult = initCheckboxForm();
|
|
694
|
+
return waitForResult.then((close) => {
|
|
695
|
+
const send = sinon.spy(XMLHttpRequest.prototype, "send");
|
|
696
|
+
let dqElem = DomQuery.byId("page:numbers:1");
|
|
697
|
+
dqElem.removeAttribute("checked");
|
|
698
|
+
let element = dqElem.getAsElem(0).value;
|
|
699
|
+
|
|
700
|
+
faces.ajax.request(element, null, {
|
|
701
|
+
execute: "form1",
|
|
702
|
+
render: "@form",
|
|
703
|
+
params: {
|
|
704
|
+
pass1: "pass1",
|
|
705
|
+
pass2: "pass2"
|
|
706
|
+
}
|
|
707
|
+
});
|
|
708
|
+
|
|
709
|
+
let argsVal: any = send.args[0][0];
|
|
710
|
+
let arsArr = argsVal.split("&");
|
|
711
|
+
let resultsMap = {};
|
|
712
|
+
let doubles = 0;
|
|
713
|
+
for (let val of arsArr) {
|
|
714
|
+
let keyVal = val.split("=");
|
|
715
|
+
if(!!resultsMap[keyVal[0]]) {
|
|
716
|
+
doubles++;
|
|
717
|
+
}
|
|
718
|
+
resultsMap[keyVal[0]] = keyVal[1];
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
//TODO test assert here
|
|
722
|
+
expect(resultsMap["page%3Anumbers%3A1"]).to.not.exist;
|
|
723
|
+
//expect(doubles).to.eq(2);
|
|
724
|
+
|
|
725
|
+
});
|
|
726
|
+
});
|
|
727
|
+
|
|
728
|
+
/**
|
|
729
|
+
* the idea is if a checkbox or radio button is the issuing element
|
|
730
|
+
* if checked
|
|
731
|
+
*/
|
|
732
|
+
it("must handle issuing checkboxes and radio buttons with values correctly", () => {
|
|
733
|
+
const waitForResult = initCheckboxForm();
|
|
734
|
+
return waitForResult.then((close) => {
|
|
735
|
+
const send = sinon.spy(XMLHttpRequest.prototype, "send");
|
|
736
|
+
let dqElem = DomQuery.byId("page:numbers:1");
|
|
737
|
+
let element = dqElem.getAsElem(0).value;
|
|
738
|
+
|
|
739
|
+
faces.ajax.request(element, null, {
|
|
740
|
+
execute: "form1",
|
|
741
|
+
render: "@form",
|
|
742
|
+
params: {
|
|
743
|
+
pass1: "pass1",
|
|
744
|
+
pass2: "pass2"
|
|
745
|
+
}
|
|
746
|
+
});
|
|
747
|
+
|
|
748
|
+
let argsVal: any = send.args[0][0];
|
|
749
|
+
let arsArr = argsVal.split("&");
|
|
750
|
+
let resultsMap = {};
|
|
751
|
+
let doubles = 0;
|
|
752
|
+
for (let val of arsArr) {
|
|
753
|
+
let keyVal = val.split("=");
|
|
754
|
+
if(!!resultsMap[keyVal[0]]) {
|
|
755
|
+
doubles++;
|
|
756
|
+
}
|
|
757
|
+
resultsMap[keyVal[0]] = keyVal[1];
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
//TODO test assert here
|
|
761
|
+
expect(resultsMap["page%3Anumbers%3A1"]).to.eq("1");
|
|
762
|
+
//expect(doubles).to.eq(2);
|
|
763
|
+
|
|
764
|
+
});
|
|
765
|
+
});
|
|
766
|
+
|
|
767
|
+
it("must handle issuing checkboxes and radio buttons with values correctly", () => {
|
|
768
|
+
const waitForResult = initCheckboxForm();
|
|
769
|
+
return waitForResult.then((close) => {
|
|
770
|
+
const send = sinon.spy(XMLHttpRequest.prototype, "send");
|
|
771
|
+
let dqElem = DomQuery.byId("page:numbers:r:1");
|
|
772
|
+
dqElem.removeAttribute("checked");
|
|
773
|
+
let element = dqElem.getAsElem(0).value;
|
|
774
|
+
|
|
775
|
+
faces.ajax.request(element, null, {
|
|
776
|
+
execute: "form2",
|
|
777
|
+
render: "@form",
|
|
778
|
+
params: {
|
|
779
|
+
pass1: "pass1",
|
|
780
|
+
pass2: "pass2"
|
|
781
|
+
}
|
|
782
|
+
});
|
|
783
|
+
|
|
784
|
+
let argsVal: any = send.args[0][0];
|
|
785
|
+
let arsArr = argsVal.split("&");
|
|
786
|
+
let resultsMap = {};
|
|
787
|
+
let doubles = 0;
|
|
788
|
+
for (let val of arsArr) {
|
|
789
|
+
let keyVal = val.split("=");
|
|
790
|
+
if(!!resultsMap[keyVal[0]]) {
|
|
791
|
+
doubles++;
|
|
792
|
+
}
|
|
793
|
+
resultsMap[keyVal[0]] = keyVal[1];
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
//TODO test assert here
|
|
797
|
+
expect(resultsMap["page%3Anumbers%3Ar%3A1"]).to.not.exist;
|
|
798
|
+
//expect(doubles).to.eq(2);
|
|
799
|
+
|
|
800
|
+
});
|
|
801
|
+
});
|
|
802
|
+
|
|
803
|
+
it("must handle issuing checkboxes and radio buttons with values correctly with value", () => {
|
|
804
|
+
const waitForResult = initCheckboxForm();
|
|
805
|
+
return waitForResult.then((close) => {
|
|
806
|
+
const send = sinon.spy(XMLHttpRequest.prototype, "send");
|
|
807
|
+
let dqElem = DomQuery.byId("page:numbers:r:1");
|
|
808
|
+
let element = dqElem.getAsElem(0).value;
|
|
809
|
+
|
|
810
|
+
faces.ajax.request(element, null, {
|
|
811
|
+
execute: "form2",
|
|
812
|
+
render: "@form",
|
|
813
|
+
params: {
|
|
814
|
+
pass1: "pass1",
|
|
815
|
+
pass2: "pass2"
|
|
816
|
+
}
|
|
817
|
+
});
|
|
818
|
+
|
|
819
|
+
let argsVal: any = send.args[0][0];
|
|
820
|
+
let arsArr = argsVal.split("&");
|
|
821
|
+
let resultsMap = {};
|
|
822
|
+
let doubles = 0;
|
|
823
|
+
for (let val of arsArr) {
|
|
824
|
+
let keyVal = val.split("=");
|
|
825
|
+
if(!!resultsMap[keyVal[0]]) {
|
|
826
|
+
doubles++;
|
|
827
|
+
}
|
|
828
|
+
resultsMap[keyVal[0]] = keyVal[1];
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
//TODO test assert here
|
|
832
|
+
expect(resultsMap["page%3Anumbers%3Ar%3A1"]).to.exist;
|
|
833
|
+
//expect(doubles).to.eq(2);
|
|
834
|
+
|
|
835
|
+
});
|
|
836
|
+
});
|
|
837
|
+
|
|
838
|
+
/**
|
|
839
|
+
* https://issues.apache.org/jira/browse/MYFACES-4638
|
|
840
|
+
*/
|
|
841
|
+
it("must pass values with & in its value correctly", function (done) {
|
|
842
|
+
let send = sinon.spy(XMLHttpRequest.prototype, "send");
|
|
843
|
+
let globalCnt = 0;
|
|
844
|
+
let localCnt = 0;
|
|
845
|
+
DomQuery.byId("input_1").val = "aaa&bbb";
|
|
846
|
+
try {
|
|
847
|
+
let element = DomQuery.byId("input_2").getAsElem(0).value;
|
|
848
|
+
faces.ajax.addOnEvent(() => {
|
|
849
|
+
globalCnt++;
|
|
850
|
+
});
|
|
851
|
+
faces.ajax.request(element, null, {
|
|
852
|
+
execute: "input_1",
|
|
853
|
+
render: "@form",
|
|
854
|
+
params: {
|
|
855
|
+
pass1: "pass1",
|
|
856
|
+
pass2: "pass2"
|
|
857
|
+
},
|
|
858
|
+
message: "Hello World",
|
|
859
|
+
onevent: (evt: any) => {
|
|
860
|
+
localCnt++;
|
|
861
|
+
}
|
|
862
|
+
});
|
|
863
|
+
|
|
864
|
+
let xhrReq = this.requests[0];
|
|
865
|
+
let requestBody = xhrReq.requestBody.split("&");
|
|
866
|
+
|
|
867
|
+
xhrReq.respond(200, {'Content-Type': 'text/xml'}, STD_XML);
|
|
868
|
+
expect(requestBody.indexOf("input_1=aaa%26bbb")).not.to.eq(-1);
|
|
869
|
+
expect(requestBody.indexOf("pass1=pass1")).not.to.eq(-1);
|
|
870
|
+
expect(requestBody.indexOf("pass2=pass2")).not.to.eq(-1);
|
|
871
|
+
expect(requestBody.indexOf("message=Hello%20World")).not.to.eq(-1);
|
|
872
|
+
|
|
873
|
+
expect(this.jsfAjaxResponse.callCount).to.eq(1);
|
|
874
|
+
//success ommitted due to fake response
|
|
875
|
+
expect(globalCnt == 3).to.eq(true);
|
|
876
|
+
expect(localCnt == 3).to.eq(true);
|
|
877
|
+
done();
|
|
878
|
+
} catch (e) {
|
|
879
|
+
console.error(e);
|
|
880
|
+
|
|
881
|
+
} finally {
|
|
882
|
+
send.restore();
|
|
883
|
+
}
|
|
884
|
+
});
|
|
641
885
|
|
|
642
886
|
});
|
|
643
887
|
|
|
@@ -723,9 +723,9 @@ describe('Tests of the various aspects of the response protocol functionality',
|
|
|
723
723
|
expect(DQ$("#form2 [name*='jakarta.faces.ViewState']").val).to.eq("booga_after_update");
|
|
724
724
|
expect(DQ$("#form3 [name*='jakarta.faces.ViewState']").val).to.eq("booga_after_update");
|
|
725
725
|
|
|
726
|
-
expect(DQ$("#form1 [name*='jakarta.faces.ViewState']").id.value.indexOf("viewroot_1:jakarta.faces.ViewState:
|
|
727
|
-
expect(DQ$("#form2 [name*='jakarta.faces.ViewState']").id.value.indexOf("viewroot_1:jakarta.faces.ViewState:
|
|
728
|
-
expect(DQ$("#form3 [name*='jakarta.faces.ViewState']").id.value.indexOf("viewroot_1:jakarta.faces.ViewState:
|
|
726
|
+
expect(DQ$("#form1 [name*='jakarta.faces.ViewState']").id.value.indexOf("viewroot_1:jakarta.faces.ViewState:1") === 0).to.be.true;
|
|
727
|
+
expect(DQ$("#form2 [name*='jakarta.faces.ViewState']").id.value.indexOf("viewroot_1:jakarta.faces.ViewState:2") === 0).to.be.true;
|
|
728
|
+
expect(DQ$("#form3 [name*='jakarta.faces.ViewState']").id.value.indexOf("viewroot_1:jakarta.faces.ViewState:3") === 0).to.be.true;
|
|
729
729
|
|
|
730
730
|
done();
|
|
731
731
|
});
|
package/target/api/_api.js
CHANGED
|
@@ -221,7 +221,7 @@ var faces;
|
|
|
221
221
|
}
|
|
222
222
|
push.close = close;
|
|
223
223
|
})(push = faces.push || (faces.push = {}));
|
|
224
|
-
})(faces
|
|
224
|
+
})(faces || (exports.faces = faces = {}));
|
|
225
225
|
var myfaces;
|
|
226
226
|
(function (myfaces) {
|
|
227
227
|
/**
|
|
@@ -291,5 +291,5 @@ var myfaces;
|
|
|
291
291
|
* legacy oam functions
|
|
292
292
|
*/
|
|
293
293
|
myfaces.oam = OamSubmit_1.oam;
|
|
294
|
-
})(myfaces
|
|
294
|
+
})(myfaces || (exports.myfaces = myfaces = {}));
|
|
295
295
|
//# sourceMappingURL=_api.js.map
|
package/target/api/_api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_api.js","sourceRoot":"","sources":["../../src/main/typescript/api/_api.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACH,+CAAgD;AAChD,+CAA0C;AAC1C,oDAAiD;AACjD,8CAAqH;AAIrH,4EAA4E;AAC5E,yBAAyB;AACzB,IAAc,KAAK,CAsNlB;AAtND,WAAc,KAAK;IAGf;;;;;;;;;;OAUG;IACQ,iBAAW,GAAG,MAAM,CAAC;IAChC;;;;;;;OAOG;IACQ,iBAAW,GAAG,CAAC,CAAC;IAE3B;;OAEG;IACQ,mBAAa,GAAW,gBAAgB,EAAE,CAAC;IAEtD,qCAAqC;IACrC;;OAEG;IACQ,iBAAW,GAAW,oDAAoD,CAAC;IACtF,0CAA0C;IAE1C;;;;;;;;;;;;;;OAcG;IACH,SAAgB,eAAe;QAC3B,OAAO,yBAAc,CAAC,eAAe,EAAE,CAAC;IAC5C,CAAC;IAFe,qBAAe,kBAE9B,CAAA;IAED;;;;;;;OAOG;IACH,SAAgB,YAAY,CAAC,WAA6B;QACtD,OAAO,yBAAc,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAFe,kBAAY,eAE3B,CAAA;IAED;;;;OAIG;IACH,SAAgB,eAAe,CAAC,QAA2B;QACvD,OAAO,yBAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAFe,qBAAe,kBAE9B,CAAA;IAED,2BAA2B;IAC3B,SAAS,gBAAgB;QACrB,MAAM,GAAG,GAAG,8CAA8C,CAAC;QAC3D,qGAAqG;QACrG,mGAAmG;QACnG,iEAAiE;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACtH,CAAC;IAKD,IAAc,IAAI,CA8DjB;IA9DD,WAAc,IAAI;QACd,YAAY,CAAC;QAEb;;;;;;;;;;;;;;WAcG;QACH,SAAgB,OAAO,CAAC,OAAgB,EAAE,KAAa,EAAE,OAAiB;YACtE,yBAAc,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QACnD,CAAC;QAFe,YAAO,UAEtB,CAAA;QAED;;;;;WAKG;QACH,SAAgB,QAAQ,CAAC,OAAuB,EAAE,OAAiB;YAC/D,yBAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAFe,aAAQ,WAEvB,CAAA;QAED;;;;;;;;;;;;;;;;WAgBG;QACH,SAAgB,UAAU,CAAC,SAAoC;YAC3D,yBAAc,CAAC,UAAU,CAAM,SAAS,CAAC,CAAC;QAC9C,CAAC;QAFe,eAAU,aAEzB,CAAA;QAED;;;;;WAKG;QACH,SAAgB,UAAU,CAAC,SAAoC;YAC3D,yBAAc,CAAC,UAAU,CAAM,SAAS,CAAC,CAAC;QAC9C,CAAC;QAFe,eAAU,aAEzB,CAAA;IACL,CAAC,EA9Da,IAAI,GAAJ,UAAI,KAAJ,UAAI,QA8DjB;IAED,IAAc,IAAI,CAgBjB;IAhBD,WAAc,IAAI;QAEd;;;;;;;;;;WAUG;QACH,SAAgB,KAAK,CAAC,MAA4B,EAAE,KAAmB,EAAE,GAAG,KAA+B;YACvG,OAAO,yBAAc,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAI,KAAmB,CAAC,CAAC;QACxE,CAAC;QAFe,UAAK,QAEpB,CAAA;IACL,CAAC,EAhBa,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAgBjB;IAED,IAAc,IAAI,CA0CjB;IA1CD,WAAc,IAAI;QACd;;;;;;;;;;WAUG;QACH,SAAgB,IAAI,CAAC,cAAsB,EAC/B,GAAW,EACX,OAAe,EACf,MAAgB,EAChB,SAAmB,EACnB,OAAiB,EACjB,OAAiB,EACjB,SAAc,EACd,WAAoB;YAC5B,mBAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7G,CAAC;QAVe,SAAI,OAUnB,CAAA;QAED;;;;WAIG;QACH,SAAgB,IAAI,CAAC,cAAsB;YACvC,mBAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QAFe,SAAI,OAEnB,CAAA;QAED;;;;WAIG;QACH,SAAgB,KAAK,CAAC,cAAsB;YACxC,mBAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;QAFe,UAAK,QAEpB,CAAA;IAEL,CAAC,EA1Ca,IAAI,GAAJ,UAAI,KAAJ,UAAI,QA0CjB;AACL,CAAC,EAtNa,KAAK,
|
|
1
|
+
{"version":3,"file":"_api.js","sourceRoot":"","sources":["../../src/main/typescript/api/_api.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACH,+CAAgD;AAChD,+CAA0C;AAC1C,oDAAiD;AACjD,8CAAqH;AAIrH,4EAA4E;AAC5E,yBAAyB;AACzB,IAAc,KAAK,CAsNlB;AAtND,WAAc,KAAK;IAGf;;;;;;;;;;OAUG;IACQ,iBAAW,GAAG,MAAM,CAAC;IAChC;;;;;;;OAOG;IACQ,iBAAW,GAAG,CAAC,CAAC;IAE3B;;OAEG;IACQ,mBAAa,GAAW,gBAAgB,EAAE,CAAC;IAEtD,qCAAqC;IACrC;;OAEG;IACQ,iBAAW,GAAW,oDAAoD,CAAC;IACtF,0CAA0C;IAE1C;;;;;;;;;;;;;;OAcG;IACH,SAAgB,eAAe;QAC3B,OAAO,yBAAc,CAAC,eAAe,EAAE,CAAC;IAC5C,CAAC;IAFe,qBAAe,kBAE9B,CAAA;IAED;;;;;;;OAOG;IACH,SAAgB,YAAY,CAAC,WAA6B;QACtD,OAAO,yBAAc,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAFe,kBAAY,eAE3B,CAAA;IAED;;;;OAIG;IACH,SAAgB,eAAe,CAAC,QAA2B;QACvD,OAAO,yBAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAFe,qBAAe,kBAE9B,CAAA;IAED,2BAA2B;IAC3B,SAAS,gBAAgB;QACrB,MAAM,GAAG,GAAG,8CAA8C,CAAC;QAC3D,qGAAqG;QACrG,mGAAmG;QACnG,iEAAiE;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACtH,CAAC;IAKD,IAAc,IAAI,CA8DjB;IA9DD,WAAc,IAAI;QACd,YAAY,CAAC;QAEb;;;;;;;;;;;;;;WAcG;QACH,SAAgB,OAAO,CAAC,OAAgB,EAAE,KAAa,EAAE,OAAiB;YACtE,yBAAc,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QACnD,CAAC;QAFe,YAAO,UAEtB,CAAA;QAED;;;;;WAKG;QACH,SAAgB,QAAQ,CAAC,OAAuB,EAAE,OAAiB;YAC/D,yBAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAFe,aAAQ,WAEvB,CAAA;QAED;;;;;;;;;;;;;;;;WAgBG;QACH,SAAgB,UAAU,CAAC,SAAoC;YAC3D,yBAAc,CAAC,UAAU,CAAM,SAAS,CAAC,CAAC;QAC9C,CAAC;QAFe,eAAU,aAEzB,CAAA;QAED;;;;;WAKG;QACH,SAAgB,UAAU,CAAC,SAAoC;YAC3D,yBAAc,CAAC,UAAU,CAAM,SAAS,CAAC,CAAC;QAC9C,CAAC;QAFe,eAAU,aAEzB,CAAA;IACL,CAAC,EA9Da,IAAI,GAAJ,UAAI,KAAJ,UAAI,QA8DjB;IAED,IAAc,IAAI,CAgBjB;IAhBD,WAAc,IAAI;QAEd;;;;;;;;;;WAUG;QACH,SAAgB,KAAK,CAAC,MAA4B,EAAE,KAAmB,EAAE,GAAG,KAA+B;YACvG,OAAO,yBAAc,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAI,KAAmB,CAAC,CAAC;QACxE,CAAC;QAFe,UAAK,QAEpB,CAAA;IACL,CAAC,EAhBa,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAgBjB;IAED,IAAc,IAAI,CA0CjB;IA1CD,WAAc,IAAI;QACd;;;;;;;;;;WAUG;QACH,SAAgB,IAAI,CAAC,cAAsB,EAC/B,GAAW,EACX,OAAe,EACf,MAAgB,EAChB,SAAmB,EACnB,OAAiB,EACjB,OAAiB,EACjB,SAAc,EACd,WAAoB;YAC5B,mBAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7G,CAAC;QAVe,SAAI,OAUnB,CAAA;QAED;;;;WAIG;QACH,SAAgB,IAAI,CAAC,cAAsB;YACvC,mBAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QAFe,SAAI,OAEnB,CAAA;QAED;;;;WAIG;QACH,SAAgB,KAAK,CAAC,cAAsB;YACxC,mBAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;QAFe,UAAK,QAEpB,CAAA;IAEL,CAAC,EA1Ca,IAAI,GAAJ,UAAI,KAAJ,UAAI,QA0CjB;AACL,CAAC,EAtNa,KAAK,qBAAL,KAAK,QAsNlB;AAED,IAAc,OAAO,CAoEpB;AApED,WAAc,OAAO;IACjB;;;;;;;;;;;OAWG;IACH,SAAgB,EAAE,CAAC,MAAe,EAAE,KAAY,EAAE,SAAiB,EAAE,OAAe,EAAE,MAAc,EAAE,UAAmB,EAAE;;QACvH,IAAI,SAAS,EAAE;YACZ,OAAO,CAAC,0BAAkB,CAAC,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,0BAAkB,CAAC,mCAAI,EAAE,CAAC;YAClE,OAAO,CAAC,0BAAkB,CAAC,CAAC,IAAA,YAAI,EAAC,wBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC;SAClE;QACD,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,2BAAmB,CAAC,GAAG,OAAO,CAAC;SAC1C;QACD,IAAI,MAAM,EAAE;YACR,OAAO,CAAC,wBAAgB,CAAC,GAAG,MAAM,CAAC;SACtC;QAED,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAbe,UAAE,KAajB,CAAA;IAGD,MAAM,YAAY,GAAsB,EAAE,CAAC;IAC3C,IAAI,kBAAkB,GAAG,IAAI,CAAC;IAC9B,qCAAqC;IACrC;;;;;;OAMG;IACH,SAAgB,UAAU,CAAC,aAAyB;QAChD,IAAG,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;YACnC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,IAAG,CAAC,kBAAkB,EAAE;gBACpB,kBAAkB,GAAG,GAAG,EAAE;oBACtB,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;oBACnE,kBAAkB,GAAG,IAAI,CAAC;oBAC1B,IAAI;wBACA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;qBACxC;4BAAS;wBACN,mCAAmC;wBACnC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;qBAC3B;gBACL,CAAC,CAAC;gBACF,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;aACnE;SACJ;aAAM;YACH,IAAG,kBAAkB,EAAE;gBACnB,kBAAkB,EAAE,CAAC;aACxB;YACD,aAAa,EAAE,CAAC;SACnB;IAEL,CAAC;IAvBe,kBAAU,aAuBzB,CAAA;IAED;;OAEG;IACU,WAAG,GAAG,eAAI,CAAC;AAC5B,CAAC,EApEa,OAAO,uBAAP,OAAO,QAoEpB"}
|