jsf.js_next_gen 4.0.2-beta.1 → 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.
Files changed (106) hide show
  1. package/dist/docs/assets/main.js +3 -3
  2. package/dist/docs/assets/search.js +1 -1
  3. package/dist/docs/assets/style.css +450 -362
  4. package/dist/docs/functions/faces.ajax.addOnError.html +41 -32
  5. package/dist/docs/functions/faces.ajax.addOnEvent.html +41 -32
  6. package/dist/docs/functions/faces.ajax.request.html +41 -32
  7. package/dist/docs/functions/faces.ajax.response.html +42 -32
  8. package/dist/docs/functions/faces.getClientWindow.html +32 -34
  9. package/dist/docs/functions/faces.getProjectStage.html +31 -34
  10. package/dist/docs/functions/faces.getViewState.html +33 -35
  11. package/dist/docs/functions/faces.push.close.html +40 -31
  12. package/dist/docs/functions/faces.push.init.html +62 -45
  13. package/dist/docs/functions/faces.push.open.html +40 -31
  14. package/dist/docs/functions/faces.util.chain.html +39 -31
  15. package/dist/docs/functions/myfaces.ab.html +40 -39
  16. package/dist/docs/functions/myfaces.onDomReady.html +25 -29
  17. package/dist/docs/index.html +45 -72
  18. package/dist/docs/modules/faces.ajax.html +36 -29
  19. package/dist/docs/modules/faces.html +35 -38
  20. package/dist/docs/modules/faces.push.html +34 -27
  21. package/dist/docs/modules/faces.util.html +30 -23
  22. package/dist/docs/modules/myfaces.html +21 -27
  23. package/dist/docs/modules.html +15 -23
  24. package/dist/docs/variables/faces.contextpath.html +28 -30
  25. package/dist/docs/variables/faces.implversion.html +29 -31
  26. package/dist/docs/variables/faces.separatorchar.html +28 -30
  27. package/dist/docs/variables/faces.specversion.html +29 -31
  28. package/dist/docs/variables/myfaces.oam.html +21 -26
  29. package/dist/window/faces-development.js +166 -68
  30. package/dist/window/faces-development.js.map +1 -1
  31. package/dist/window/faces.js +1 -1
  32. package/dist/window/faces.js.map +1 -1
  33. package/dist/window/jsf-development.js +166 -68
  34. package/dist/window/jsf-development.js.map +1 -1
  35. package/dist/window/jsf.js +1 -1
  36. package/dist/window/jsf.js.map +1 -1
  37. package/faulty_response.html +167 -0
  38. package/package.json +17 -18
  39. package/src/main/typescript/impl/AjaxImpl.ts +22 -19
  40. package/src/main/typescript/impl/PushImpl.ts +1 -1
  41. package/src/main/typescript/impl/util/FileUtils.ts +3 -2
  42. package/src/main/typescript/impl/util/HiddenInputBuilder.ts +2 -2
  43. package/src/main/typescript/impl/xhrCore/XhrRequest.ts +28 -8
  44. package/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.ts +50 -0
  45. package/src/main/typescript/test/impl/ImplTest.spec.ts +85 -0
  46. package/src/main/typescript/test/xhrCore/RequestParamsTest.spec.ts +299 -1
  47. package/src/main/typescript/test/xhrCore/RequestTest.spec.ts +245 -1
  48. package/src/main/typescript/test/xhrCore/ResponseTest.spec.ts +3 -3
  49. package/target/api/_api.js +2 -2
  50. package/target/api/_api.js.map +1 -1
  51. package/target/classes/com/example/jsfs_js_ts/DecoratedFacesJS.class +0 -0
  52. package/target/classes/com/example/jsfs_js_ts/DecoratingResourceHandlerWrapper.class +0 -0
  53. package/target/classes/com/example/jsfs_js_ts/FacesJSMapFileResourceWrapper.class +0 -0
  54. package/target/classes/com/example/jsfs_js_ts/FacesJSMappingDecorator.class +0 -0
  55. package/target/impl/AjaxImpl.js +22 -20
  56. package/target/impl/AjaxImpl.js.map +1 -1
  57. package/target/impl/PushImpl.js +4 -4
  58. package/target/impl/PushImpl.js.map +1 -1
  59. package/target/impl/util/Assertions.js +1 -1
  60. package/target/impl/util/Assertions.js.map +1 -1
  61. package/target/impl/util/FileUtils.js +3 -2
  62. package/target/impl/util/FileUtils.js.map +1 -1
  63. package/target/impl/util/HiddenInputBuilder.js +2 -2
  64. package/target/impl/util/HiddenInputBuilder.js.map +1 -1
  65. package/target/impl/util/Lang.js +1 -1
  66. package/target/impl/util/Lang.js.map +1 -1
  67. package/target/impl/xhrCore/ErrorData.js +1 -1
  68. package/target/impl/xhrCore/ErrorData.js.map +1 -1
  69. package/target/impl/xhrCore/Response.js +1 -1
  70. package/target/impl/xhrCore/Response.js.map +1 -1
  71. package/target/impl/xhrCore/XhrRequest.js +25 -7
  72. package/target/impl/xhrCore/XhrRequest.js.map +1 -1
  73. package/target/myfaces/OamSubmit.js +1 -1
  74. package/target/myfaces/OamSubmit.js.map +1 -1
  75. package/target/test/frameworkBase/_ext/shared/StandardInits.js +47 -1
  76. package/target/test/frameworkBase/_ext/shared/StandardInits.js.map +1 -1
  77. package/target/test/frameworkBase/_ext/shared/XmlResponses.js +1 -1
  78. package/target/test/frameworkBase/_ext/shared/XmlResponses.js.map +1 -1
  79. package/target/test/impl/ImplTest.spec.js +64 -0
  80. package/target/test/impl/ImplTest.spec.js.map +1 -1
  81. package/target/test/xhrCore/RequestParamsTest.spec.js +283 -0
  82. package/target/test/xhrCore/RequestParamsTest.spec.js.map +1 -1
  83. package/target/test/xhrCore/RequestTest.spec.js +212 -0
  84. package/target/test/xhrCore/RequestTest.spec.js.map +1 -1
  85. package/target/test/xhrCore/ResponseTest.spec.js +3 -3
  86. package/target/test-classes/.gz +0 -0
  87. package/target/test-classes/com/example/jsfs_js_ts/JsfsJsTsApplicationTests.class +0 -0
  88. package/target/test-classes/fileuploadtest.html +24 -0
  89. package/target/test-classes/jsf-development.js +3559 -0
  90. package/target/test-classes/jsf-development.js.br +0 -0
  91. package/target/test-classes/jsf-development.js.gz +0 -0
  92. package/target/test-classes/jsf-development.js.map +1 -0
  93. package/target/test-classes/jsf.js +3 -0
  94. package/target/test-classes/jsf.js.br +0 -0
  95. package/target/test-classes/jsf.js.gz +0 -0
  96. package/webpack.config.ts +1 -23
  97. package/dist/window/faces-development.js.br +0 -0
  98. package/dist/window/faces-development.js.gz +0 -0
  99. package/dist/window/faces.js.br +0 -0
  100. package/dist/window/faces.js.gz +0 -0
  101. package/dist/window/jsf-development.js.br +0 -0
  102. package/dist/window/jsf-development.js.gz +0 -0
  103. package/dist/window/jsf.js.br +0 -0
  104. package/dist/window/jsf.js.gz +0 -0
  105. package/webpack.config.js +0 -71
  106. package/webpack.config.js.map +0 -1
@@ -265,4 +265,302 @@ describe("test for proper request param patterns identical to the old implementa
265
265
  done();
266
266
  });
267
267
 
268
- });
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:0") === 0).to.be.true;
727
- expect(DQ$("#form2 [name*='jakarta.faces.ViewState']").id.value.indexOf("viewroot_1:jakarta.faces.ViewState:1") === 0).to.be.true;
728
- expect(DQ$("#form3 [name*='jakarta.faces.ViewState']").id.value.indexOf("viewroot_1:jakarta.faces.ViewState:2") === 0).to.be.true;
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
  });
@@ -221,7 +221,7 @@ var faces;
221
221
  }
222
222
  push.close = close;
223
223
  })(push = faces.push || (faces.push = {}));
224
- })(faces = exports.faces || (exports.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 = exports.myfaces || (exports.myfaces = {}));
294
+ })(myfaces || (exports.myfaces = myfaces = {}));
295
295
  //# sourceMappingURL=_api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_api.js","sourceRoot":"","sources":["../../src/main/typescript/api/_api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_api.js","sourceRoot":"","sources":["../../src/main/typescript/api/_api.ts"],"names":[],"mappings":"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"}