jsf.js_next_gen 4.1.0-beta.2 → 4.1.0-beta.21

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 (413) hide show
  1. package/AI_CONTRIBUTIONS.md +71 -0
  2. package/README.md +254 -78
  3. package/api-extractor.faces.json +38 -0
  4. package/dist/docs/assets/hierarchy.js +1 -1
  5. package/dist/docs/assets/navigation.js +1 -1
  6. package/dist/docs/assets/search.js +1 -1
  7. package/dist/docs/functions/faces.ajax.addOnError.html +2 -2
  8. package/dist/docs/functions/faces.ajax.addOnEvent.html +2 -2
  9. package/dist/docs/functions/faces.ajax.request.html +2 -2
  10. package/dist/docs/functions/faces.ajax.response.html +2 -2
  11. package/dist/docs/functions/faces.getClientWindow.html +2 -2
  12. package/dist/docs/functions/faces.getProjectStage.html +2 -2
  13. package/dist/docs/functions/faces.getViewState.html +1 -1
  14. package/dist/docs/functions/faces.push.close.html +1 -1
  15. package/dist/docs/functions/faces.push.init.html +6 -6
  16. package/dist/docs/functions/faces.push.open.html +1 -1
  17. package/dist/docs/functions/faces.util.chain.html +2 -2
  18. package/dist/docs/functions/myfaces.ab.html +3 -3
  19. package/dist/docs/functions/myfaces.onDomReady.html +1 -1
  20. package/dist/docs/functions/myfaces.reserveNamespace.html +1 -1
  21. package/dist/docs/hierarchy.html +1 -1
  22. package/dist/docs/index.html +292 -71
  23. package/dist/docs/interfaces/faces.AjaxData.html +6 -0
  24. package/dist/docs/interfaces/faces.AjaxError.html +18 -0
  25. package/dist/docs/interfaces/faces.AjaxEvent.html +8 -0
  26. package/dist/docs/interfaces/faces.ajax.RequestContext.html +6 -0
  27. package/dist/docs/interfaces/faces.ajax.RequestOptions.html +10 -0
  28. package/dist/docs/modules/faces.ajax.html +1 -1
  29. package/dist/docs/modules/faces.html +1 -1
  30. package/dist/docs/modules/faces.push.html +1 -1
  31. package/dist/docs/modules/faces.util.html +1 -1
  32. package/dist/docs/modules/myfaces.html +1 -1
  33. package/dist/docs/modules.html +1 -1
  34. package/dist/docs/types/faces.AjaxErrorStatus.html +2 -0
  35. package/dist/docs/types/faces.AjaxEventStatus.html +2 -0
  36. package/dist/docs/types/faces.ProjectStage.html +2 -0
  37. package/dist/docs/types/faces.ajax.OnErrorCallback.html +2 -0
  38. package/dist/docs/types/faces.ajax.OnEventCallback.html +2 -0
  39. package/dist/docs/types/faces.push.OnCloseHandler.html +2 -0
  40. package/dist/docs/types/faces.push.OnErrorHandler.html +2 -0
  41. package/dist/docs/types/faces.push.OnMessageHandler.html +2 -0
  42. package/dist/docs/types/faces.push.OnOpenHandler.html +2 -0
  43. package/dist/docs/variables/faces.contextpath.html +1 -1
  44. package/dist/docs/variables/faces.implversion.html +1 -1
  45. package/dist/docs/variables/faces.separatorchar.html +1 -1
  46. package/dist/docs/variables/faces.specversion.html +1 -1
  47. package/dist/docs/variables/myfaces.oam.html +1 -1
  48. package/dist/window/faces-development.js +1801 -499
  49. package/dist/window/faces-development.js.map +1 -1
  50. package/{target/api/_api.js → dist/window/faces.d.ts} +124 -151
  51. package/dist/window/faces.js +1 -1
  52. package/dist/window/faces.js.LICENSE.txt +0 -17
  53. package/dist/window/faces.js.map +1 -1
  54. package/dist/window/jsf-development.js +1806 -513
  55. package/dist/window/jsf-development.js.map +1 -1
  56. package/{target/src/main/typescript/api/_api.js → dist/window/jsf.d.ts} +125 -153
  57. package/dist/window/jsf.js +1 -1
  58. package/dist/window/jsf.js.LICENSE.txt +0 -17
  59. package/dist/window/jsf.js.map +1 -1
  60. package/package.json +22 -18
  61. package/scripts/build-dts.mjs +239 -0
  62. package/src/main/typescript/@types/definitions/index.d.ts +22 -122
  63. package/{target/test/frameworkBase/_ext/monadish/fixtures/test2.js → src/main/typescript/@types/definitions/modules.d.ts} +18 -2
  64. package/src/main/typescript/api/_api.ts +132 -29
  65. package/{target/test/frameworkBase/_ext/monadish/fixtures/test.js → src/main/typescript/api/_api_ae_stub.d.ts} +6 -2
  66. package/src/main/typescript/api/faces.ts +2 -2
  67. package/src/main/typescript/api/jsf.ts +15 -23
  68. package/src/main/typescript/impl/AjaxImpl.ts +15 -15
  69. package/src/main/typescript/impl/PushImpl.ts +139 -69
  70. package/src/main/typescript/impl/core/Const.ts +2 -2
  71. package/src/main/typescript/impl/i18n/Messages.ts +1 -1
  72. package/src/main/typescript/impl/util/Assertions.ts +1 -2
  73. package/src/main/typescript/impl/util/AsyncRunnable.ts +3 -4
  74. package/src/main/typescript/impl/util/ExtDomQuery.ts +19 -19
  75. package/src/main/typescript/impl/util/FileUtils.ts +30 -14
  76. package/src/main/typescript/impl/util/HiddenInputBuilder.ts +34 -34
  77. package/src/main/typescript/impl/util/Lang.ts +19 -22
  78. package/src/main/typescript/impl/util/XhrQueueController.ts +25 -3
  79. package/src/main/typescript/impl/xhrCore/ErrorData.ts +17 -12
  80. package/src/main/typescript/impl/xhrCore/EventData.ts +8 -7
  81. package/src/main/typescript/impl/xhrCore/IResponseProcessor.ts +3 -3
  82. package/src/main/typescript/impl/xhrCore/RequestDataResolver.ts +7 -6
  83. package/src/main/typescript/impl/xhrCore/Response.ts +3 -3
  84. package/src/main/typescript/impl/xhrCore/ResponseDataResolver.ts +0 -38
  85. package/src/main/typescript/impl/xhrCore/ResponseProcessor.ts +17 -15
  86. package/src/main/typescript/impl/xhrCore/XhrFormData.ts +72 -63
  87. package/src/main/typescript/impl/xhrCore/XhrRequest.ts +80 -134
  88. package/src/main/typescript/mona_dish_shim.ts +6 -2
  89. package/src/main/typescript/myfaces/OamSubmit.ts +10 -6
  90. package/src/main/typescript/test/api/JsfPushShimTest.spec.ts +126 -0
  91. package/src/main/typescript/test/api/MyFacesABTest.spec.ts +16 -0
  92. package/src/main/typescript/test/api/PushTypeCompatibility.ts +65 -0
  93. package/src/main/typescript/test/frameworkBase/LangTest.spec.ts +16 -0
  94. package/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts +1 -0
  95. package/src/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.ts +16 -0
  96. package/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.ts +16 -0
  97. package/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.ts +16 -0
  98. package/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.ts +55 -9
  99. package/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.ts +16 -0
  100. package/src/main/typescript/test/impl/AssertionsTest.spec.ts +168 -0
  101. package/src/main/typescript/test/impl/FileUtilsTest.spec.ts +126 -0
  102. package/src/main/typescript/test/impl/ImplTest.spec.ts +75 -1
  103. package/src/main/typescript/test/impl/ResponseDataResolverTest.spec.ts +62 -0
  104. package/src/main/typescript/test/impl/util/ExtDomQueryTest.spec.ts +91 -1
  105. package/src/main/typescript/test/impl/util/ExtLangTest.spec.ts +110 -0
  106. package/src/main/typescript/test/impl/util/HiddenInputBuilderTest.spec.ts +74 -0
  107. package/src/main/typescript/test/myfaces/OamSubmit.spec.ts +61 -1
  108. package/src/main/typescript/test/queue/AsynchronousQueueTest.spec.ts +191 -2
  109. package/src/main/typescript/test/xhrCore/ClientWindow.spec.ts +16 -0
  110. package/src/main/typescript/test/xhrCore/ErrorChainTest.spec.ts +14 -0
  111. package/src/main/typescript/test/xhrCore/FakeWebsocket.ts +21 -5
  112. package/src/main/typescript/test/xhrCore/RequestTest.spec.ts +363 -4
  113. package/src/main/typescript/test/xhrCore/ResponseTest.spec.ts +218 -4
  114. package/src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.ts +1 -1
  115. package/src/main/typescript/test/xhrCore/WebsocketTest.spec.ts +764 -0
  116. package/src/main/typescript/test/xhrCore/XhrFormDataTest.spec.ts +265 -62
  117. package/src/main/typescript/test/xhrCore/XhrRequestProgress.spec.ts +16 -0
  118. package/{target/src/main/typescript/test/xhrCore/FakeWebsocket.js → src/main/typescript/tsconfig.ae.json} +16 -23
  119. package/src/main/typescript/{tsconfig.json → tsconfig.dts.json} +11 -27
  120. package/src/main/typescript/tsconfig.test.json +17 -0
  121. package/tsconfig.api-extractor.json +17 -0
  122. package/.claude/settings.local.json +0 -16
  123. package/.github/workflows/codeql-analysis.yml +0 -83
  124. package/.github/workflows/nodejs.yml +0 -26
  125. package/.mocharc.json +0 -10
  126. package/.nyc_output/384344d4-4f46-455f-84c3-010f829098cb.json +0 -1
  127. package/.nyc_output/a0f90016-f4f9-4039-bb51-57f4f7050541.json +0 -1
  128. package/.nyc_output/db388b5d-0b79-4bce-afd2-001aaf6f0245.json +0 -1
  129. package/.nyc_output/processinfo/384344d4-4f46-455f-84c3-010f829098cb.json +0 -1
  130. package/.nyc_output/processinfo/a0f90016-f4f9-4039-bb51-57f4f7050541.json +0 -1
  131. package/.nyc_output/processinfo/db388b5d-0b79-4bce-afd2-001aaf6f0245.json +0 -1
  132. package/.nyc_output/processinfo/index.json +0 -1
  133. package/.nycrc +0 -6
  134. package/build.cmd +0 -1
  135. package/build.sh +0 -3
  136. package/mvnw +0 -286
  137. package/mvnw.cmd +0 -161
  138. package/plans for 4.0.1.txt +0 -8
  139. package/remap.ts +0 -51
  140. package/src/main/typescript/test/xhrCore/WebsocketTest.ts +0 -221
  141. package/target/api/_api.js.map +0 -1
  142. package/target/api/faces.js +0 -45
  143. package/target/api/faces.js.map +0 -1
  144. package/target/api/jsf.js +0 -56
  145. package/target/api/jsf.js.map +0 -1
  146. package/target/impl/AjaxImpl.js +0 -748
  147. package/target/impl/AjaxImpl.js.map +0 -1
  148. package/target/impl/PushImpl.js +0 -265
  149. package/target/impl/PushImpl.js.map +0 -1
  150. package/target/impl/core/Const.js +0 -177
  151. package/target/impl/core/Const.js.map +0 -1
  152. package/target/impl/core/ImplTypes.js +0 -38
  153. package/target/impl/core/ImplTypes.js.map +0 -1
  154. package/target/impl/i18n/Messages.js +0 -113
  155. package/target/impl/i18n/Messages.js.map +0 -1
  156. package/target/impl/util/Assertions.js +0 -101
  157. package/target/impl/util/Assertions.js.map +0 -1
  158. package/target/impl/util/AsyncRunnable.js +0 -78
  159. package/target/impl/util/AsyncRunnable.js.map +0 -1
  160. package/target/impl/util/ExtDomQuery.js +0 -306
  161. package/target/impl/util/ExtDomQuery.js.map +0 -1
  162. package/target/impl/util/FileUtils.js +0 -98
  163. package/target/impl/util/FileUtils.js.map +0 -1
  164. package/target/impl/util/HiddenInputBuilder.js +0 -83
  165. package/target/impl/util/HiddenInputBuilder.js.map +0 -1
  166. package/target/impl/util/IListener.js +0 -3
  167. package/target/impl/util/IListener.js.map +0 -1
  168. package/target/impl/util/Lang.js +0 -263
  169. package/target/impl/util/Lang.js.map +0 -1
  170. package/target/impl/util/XhrQueueController.js +0 -92
  171. package/target/impl/util/XhrQueueController.js.map +0 -1
  172. package/target/impl/xhrCore/ErrorData.js +0 -87
  173. package/target/impl/xhrCore/ErrorData.js.map +0 -1
  174. package/target/impl/xhrCore/EventData.js +0 -52
  175. package/target/impl/xhrCore/EventData.js.map +0 -1
  176. package/target/impl/xhrCore/IResponseProcessor.js +0 -3
  177. package/target/impl/xhrCore/IResponseProcessor.js.map +0 -1
  178. package/target/impl/xhrCore/RequestDataResolver.js +0 -186
  179. package/target/impl/xhrCore/RequestDataResolver.js.map +0 -1
  180. package/target/impl/xhrCore/ResonseDataResolver.js +0 -104
  181. package/target/impl/xhrCore/ResonseDataResolver.js.map +0 -1
  182. package/target/impl/xhrCore/Response.js +0 -186
  183. package/target/impl/xhrCore/Response.js.map +0 -1
  184. package/target/impl/xhrCore/ResponseDataResolver.js +0 -104
  185. package/target/impl/xhrCore/ResponseDataResolver.js.map +0 -1
  186. package/target/impl/xhrCore/ResponseProcessor.js +0 -468
  187. package/target/impl/xhrCore/ResponseProcessor.js.map +0 -1
  188. package/target/impl/xhrCore/XhrFormData.js +0 -163
  189. package/target/impl/xhrCore/XhrFormData.js.map +0 -1
  190. package/target/impl/xhrCore/XhrRequest.js +0 -433
  191. package/target/impl/xhrCore/XhrRequest.js.map +0 -1
  192. package/target/mona_dish_shim.js +0 -70
  193. package/target/mona_dish_shim.js.map +0 -1
  194. package/target/myfaces/OamSubmit.js +0 -128
  195. package/target/myfaces/OamSubmit.js.map +0 -1
  196. package/target/src/main/typescript/api/_api.js.map +0 -1
  197. package/target/src/main/typescript/api/faces.js +0 -45
  198. package/target/src/main/typescript/api/faces.js.map +0 -1
  199. package/target/src/main/typescript/api/jsf.js +0 -56
  200. package/target/src/main/typescript/api/jsf.js.map +0 -1
  201. package/target/src/main/typescript/impl/AjaxImpl.js +0 -748
  202. package/target/src/main/typescript/impl/AjaxImpl.js.map +0 -1
  203. package/target/src/main/typescript/impl/PushImpl.js +0 -265
  204. package/target/src/main/typescript/impl/PushImpl.js.map +0 -1
  205. package/target/src/main/typescript/impl/core/Const.js +0 -177
  206. package/target/src/main/typescript/impl/core/Const.js.map +0 -1
  207. package/target/src/main/typescript/impl/core/ImplTypes.js +0 -38
  208. package/target/src/main/typescript/impl/core/ImplTypes.js.map +0 -1
  209. package/target/src/main/typescript/impl/i18n/Messages.js +0 -113
  210. package/target/src/main/typescript/impl/i18n/Messages.js.map +0 -1
  211. package/target/src/main/typescript/impl/util/Assertions.js +0 -101
  212. package/target/src/main/typescript/impl/util/Assertions.js.map +0 -1
  213. package/target/src/main/typescript/impl/util/AsyncRunnable.js +0 -78
  214. package/target/src/main/typescript/impl/util/AsyncRunnable.js.map +0 -1
  215. package/target/src/main/typescript/impl/util/ExtDomQuery.js +0 -306
  216. package/target/src/main/typescript/impl/util/ExtDomQuery.js.map +0 -1
  217. package/target/src/main/typescript/impl/util/FileUtils.js +0 -98
  218. package/target/src/main/typescript/impl/util/FileUtils.js.map +0 -1
  219. package/target/src/main/typescript/impl/util/HiddenInputBuilder.js +0 -83
  220. package/target/src/main/typescript/impl/util/HiddenInputBuilder.js.map +0 -1
  221. package/target/src/main/typescript/impl/util/IListener.js +0 -3
  222. package/target/src/main/typescript/impl/util/IListener.js.map +0 -1
  223. package/target/src/main/typescript/impl/util/Lang.js +0 -263
  224. package/target/src/main/typescript/impl/util/Lang.js.map +0 -1
  225. package/target/src/main/typescript/impl/util/XhrQueueController.js +0 -92
  226. package/target/src/main/typescript/impl/util/XhrQueueController.js.map +0 -1
  227. package/target/src/main/typescript/impl/xhrCore/ErrorData.js +0 -87
  228. package/target/src/main/typescript/impl/xhrCore/ErrorData.js.map +0 -1
  229. package/target/src/main/typescript/impl/xhrCore/EventData.js +0 -52
  230. package/target/src/main/typescript/impl/xhrCore/EventData.js.map +0 -1
  231. package/target/src/main/typescript/impl/xhrCore/IResponseProcessor.js +0 -3
  232. package/target/src/main/typescript/impl/xhrCore/IResponseProcessor.js.map +0 -1
  233. package/target/src/main/typescript/impl/xhrCore/RequestDataResolver.js +0 -186
  234. package/target/src/main/typescript/impl/xhrCore/RequestDataResolver.js.map +0 -1
  235. package/target/src/main/typescript/impl/xhrCore/Response.js +0 -186
  236. package/target/src/main/typescript/impl/xhrCore/Response.js.map +0 -1
  237. package/target/src/main/typescript/impl/xhrCore/ResponseDataResolver.js +0 -104
  238. package/target/src/main/typescript/impl/xhrCore/ResponseDataResolver.js.map +0 -1
  239. package/target/src/main/typescript/impl/xhrCore/ResponseProcessor.js +0 -468
  240. package/target/src/main/typescript/impl/xhrCore/ResponseProcessor.js.map +0 -1
  241. package/target/src/main/typescript/impl/xhrCore/XhrFormData.js +0 -163
  242. package/target/src/main/typescript/impl/xhrCore/XhrFormData.js.map +0 -1
  243. package/target/src/main/typescript/impl/xhrCore/XhrRequest.js +0 -433
  244. package/target/src/main/typescript/impl/xhrCore/XhrRequest.js.map +0 -1
  245. package/target/src/main/typescript/mona_dish_shim.js +0 -70
  246. package/target/src/main/typescript/mona_dish_shim.js.map +0 -1
  247. package/target/src/main/typescript/myfaces/OamSubmit.js +0 -128
  248. package/target/src/main/typescript/myfaces/OamSubmit.js.map +0 -1
  249. package/target/src/main/typescript/test/api/MyFacesABTest.spec.js +0 -117
  250. package/target/src/main/typescript/test/api/MyFacesABTest.spec.js.map +0 -1
  251. package/target/src/main/typescript/test/frameworkBase/LangTest.spec.js +0 -123
  252. package/target/src/main/typescript/test/frameworkBase/LangTest.spec.js.map +0 -1
  253. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js +0 -657
  254. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js.map +0 -1
  255. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/LangTest.spec.js +0 -107
  256. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/LangTest.spec.js.map +0 -1
  257. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingProbes.js +0 -106
  258. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingProbes.js.map +0 -1
  259. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingTest.spec.js +0 -39
  260. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingTest.spec.js.map +0 -1
  261. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MonadTest.spec.js +0 -153
  262. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MonadTest.spec.js.map +0 -1
  263. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js +0 -2
  264. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js.map +0 -1
  265. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js +0 -925
  266. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js.map +0 -1
  267. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js +0 -112
  268. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js.map +0 -1
  269. package/target/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.js +0 -728
  270. package/target/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.js.map +0 -1
  271. package/target/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.js +0 -296
  272. package/target/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.js.map +0 -1
  273. package/target/src/main/typescript/test/impl/ImplTest.spec.js +0 -225
  274. package/target/src/main/typescript/test/impl/ImplTest.spec.js.map +0 -1
  275. package/target/src/main/typescript/test/impl/ImplTest_23.spec.js +0 -143
  276. package/target/src/main/typescript/test/impl/ImplTest_23.spec.js.map +0 -1
  277. package/target/src/main/typescript/test/impl/SeparatorCharsTest.spec.js +0 -106
  278. package/target/src/main/typescript/test/impl/SeparatorCharsTest.spec.js.map +0 -1
  279. package/target/src/main/typescript/test/impl/util/ExtDomQueryTest.spec.js +0 -77
  280. package/target/src/main/typescript/test/impl/util/ExtDomQueryTest.spec.js.map +0 -1
  281. package/target/src/main/typescript/test/myfaces/OamSubmit.spec.js +0 -118
  282. package/target/src/main/typescript/test/myfaces/OamSubmit.spec.js.map +0 -1
  283. package/target/src/main/typescript/test/myfaces/OnLoad.spec.js +0 -57
  284. package/target/src/main/typescript/test/myfaces/OnLoad.spec.js.map +0 -1
  285. package/target/src/main/typescript/test/myfaces/ReserveNamespace.spec.js +0 -60
  286. package/target/src/main/typescript/test/myfaces/ReserveNamespace.spec.js.map +0 -1
  287. package/target/src/main/typescript/test/queue/AsynchronousProbe.js +0 -93
  288. package/target/src/main/typescript/test/queue/AsynchronousProbe.js.map +0 -1
  289. package/target/src/main/typescript/test/queue/AsynchronousQueueTest.spec.js +0 -133
  290. package/target/src/main/typescript/test/queue/AsynchronousQueueTest.spec.js.map +0 -1
  291. package/target/src/main/typescript/test/xhrCore/ClientWindow.spec.js +0 -101
  292. package/target/src/main/typescript/test/xhrCore/ClientWindow.spec.js.map +0 -1
  293. package/target/src/main/typescript/test/xhrCore/ErrorChainTest.spec.js +0 -175
  294. package/target/src/main/typescript/test/xhrCore/ErrorChainTest.spec.js.map +0 -1
  295. package/target/src/main/typescript/test/xhrCore/EventTests.spec.js +0 -184
  296. package/target/src/main/typescript/test/xhrCore/EventTests.spec.js.map +0 -1
  297. package/target/src/main/typescript/test/xhrCore/FakeWebsocket.js.map +0 -1
  298. package/target/src/main/typescript/test/xhrCore/FileUploadTest.spec.js +0 -181
  299. package/target/src/main/typescript/test/xhrCore/FileUploadTest.spec.js.map +0 -1
  300. package/target/src/main/typescript/test/xhrCore/NamespacesRequestTest.spec.js +0 -226
  301. package/target/src/main/typescript/test/xhrCore/NamespacesRequestTest.spec.js.map +0 -1
  302. package/target/src/main/typescript/test/xhrCore/OamSubmitTest.spec.js +0 -199
  303. package/target/src/main/typescript/test/xhrCore/OamSubmitTest.spec.js.map +0 -1
  304. package/target/src/main/typescript/test/xhrCore/RequestParamsTest.spec.js +0 -567
  305. package/target/src/main/typescript/test/xhrCore/RequestParamsTest.spec.js.map +0 -1
  306. package/target/src/main/typescript/test/xhrCore/RequestTest.spec.js +0 -845
  307. package/target/src/main/typescript/test/xhrCore/RequestTest.spec.js.map +0 -1
  308. package/target/src/main/typescript/test/xhrCore/RequestTest_23.spec.js +0 -382
  309. package/target/src/main/typescript/test/xhrCore/RequestTest_23.spec.js.map +0 -1
  310. package/target/src/main/typescript/test/xhrCore/ResponseTest.spec.js +0 -667
  311. package/target/src/main/typescript/test/xhrCore/ResponseTest.spec.js.map +0 -1
  312. package/target/src/main/typescript/test/xhrCore/ResponseTest23.spec.js +0 -367
  313. package/target/src/main/typescript/test/xhrCore/ResponseTest23.spec.js.map +0 -1
  314. package/target/src/main/typescript/test/xhrCore/ShadowDomTest.spec.js +0 -123
  315. package/target/src/main/typescript/test/xhrCore/ShadowDomTest.spec.js.map +0 -1
  316. package/target/src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.js +0 -147
  317. package/target/src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.js.map +0 -1
  318. package/target/src/main/typescript/test/xhrCore/WebsocketTest.js +0 -207
  319. package/target/src/main/typescript/test/xhrCore/WebsocketTest.js.map +0 -1
  320. package/target/src/main/typescript/test/xhrCore/XhrFormDataTest.spec.js +0 -149
  321. package/target/src/main/typescript/test/xhrCore/XhrFormDataTest.spec.js.map +0 -1
  322. package/target/src/main/typescript/test/xhrCore/XhrRequestProgress.spec.js +0 -130
  323. package/target/src/main/typescript/test/xhrCore/XhrRequestProgress.spec.js.map +0 -1
  324. package/target/test/api/MyFacesABTest.spec.js +0 -117
  325. package/target/test/api/MyFacesABTest.spec.js.map +0 -1
  326. package/target/test/frameworkBase/LangTest.spec.js +0 -123
  327. package/target/test/frameworkBase/LangTest.spec.js.map +0 -1
  328. package/target/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js +0 -657
  329. package/target/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js.map +0 -1
  330. package/target/test/frameworkBase/_ext/monadish/LangTest.spec.js +0 -107
  331. package/target/test/frameworkBase/_ext/monadish/LangTest.spec.js.map +0 -1
  332. package/target/test/frameworkBase/_ext/monadish/MappingProbes.js +0 -106
  333. package/target/test/frameworkBase/_ext/monadish/MappingProbes.js.map +0 -1
  334. package/target/test/frameworkBase/_ext/monadish/MappingTest.spec.js +0 -39
  335. package/target/test/frameworkBase/_ext/monadish/MappingTest.spec.js.map +0 -1
  336. package/target/test/frameworkBase/_ext/monadish/MonadTest.spec.js +0 -153
  337. package/target/test/frameworkBase/_ext/monadish/MonadTest.spec.js.map +0 -1
  338. package/target/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js +0 -1
  339. package/target/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js.map +0 -1
  340. package/target/test/frameworkBase/_ext/monadish/fixtures/test.js.map +0 -1
  341. package/target/test/frameworkBase/_ext/monadish/fixtures/test2.js.map +0 -1
  342. package/target/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js +0 -925
  343. package/target/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js.map +0 -1
  344. package/target/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js +0 -112
  345. package/target/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js.map +0 -1
  346. package/target/test/frameworkBase/_ext/shared/StandardInits.js +0 -728
  347. package/target/test/frameworkBase/_ext/shared/StandardInits.js.map +0 -1
  348. package/target/test/frameworkBase/_ext/shared/XmlResponses.js +0 -296
  349. package/target/test/frameworkBase/_ext/shared/XmlResponses.js.map +0 -1
  350. package/target/test/frameworkBase/_ext/shared/fixtures/js/tobago.js +0 -16
  351. package/target/test/frameworkBase/_ext/shared/fixtures/js/tobago.js.map +0 -1
  352. package/target/test/impl/ImplTest.spec.js +0 -225
  353. package/target/test/impl/ImplTest.spec.js.map +0 -1
  354. package/target/test/impl/ImplTest_23.spec.js +0 -143
  355. package/target/test/impl/ImplTest_23.spec.js.map +0 -1
  356. package/target/test/impl/SeparatorCharsTest.spec.js +0 -106
  357. package/target/test/impl/SeparatorCharsTest.spec.js.map +0 -1
  358. package/target/test/impl/util/ExtDomQueryTest.spec.js +0 -77
  359. package/target/test/impl/util/ExtDomQueryTest.spec.js.map +0 -1
  360. package/target/test/myfaces/OamSubmit.spec.js +0 -118
  361. package/target/test/myfaces/OamSubmit.spec.js.map +0 -1
  362. package/target/test/myfaces/OnLoad.spec.js +0 -57
  363. package/target/test/myfaces/OnLoad.spec.js.map +0 -1
  364. package/target/test/myfaces/ReserveNamespace.spec.js +0 -60
  365. package/target/test/myfaces/ReserveNamespace.spec.js.map +0 -1
  366. package/target/test/queue/AsynchronousProbe.js +0 -93
  367. package/target/test/queue/AsynchronousProbe.js.map +0 -1
  368. package/target/test/queue/AsynchronousQueueTest.spec.js +0 -133
  369. package/target/test/queue/AsynchronousQueueTest.spec.js.map +0 -1
  370. package/target/test/xhrCore/ClientWindow.spec.js +0 -101
  371. package/target/test/xhrCore/ClientWindow.spec.js.map +0 -1
  372. package/target/test/xhrCore/ErrorChainTest.spec.js +0 -175
  373. package/target/test/xhrCore/ErrorChainTest.spec.js.map +0 -1
  374. package/target/test/xhrCore/EventTests.spec.js +0 -184
  375. package/target/test/xhrCore/EventTests.spec.js.map +0 -1
  376. package/target/test/xhrCore/FakeWebsocket.js +0 -38
  377. package/target/test/xhrCore/FakeWebsocket.js.map +0 -1
  378. package/target/test/xhrCore/FileUploadTest.spec.js +0 -181
  379. package/target/test/xhrCore/FileUploadTest.spec.js.map +0 -1
  380. package/target/test/xhrCore/NamespacesRequestTest.spec.js +0 -226
  381. package/target/test/xhrCore/NamespacesRequestTest.spec.js.map +0 -1
  382. package/target/test/xhrCore/OamSubmitTest.spec.js +0 -199
  383. package/target/test/xhrCore/OamSubmitTest.spec.js.map +0 -1
  384. package/target/test/xhrCore/RequestParamsTest.spec.js +0 -567
  385. package/target/test/xhrCore/RequestParamsTest.spec.js.map +0 -1
  386. package/target/test/xhrCore/RequestTest.spec.js +0 -845
  387. package/target/test/xhrCore/RequestTest.spec.js.map +0 -1
  388. package/target/test/xhrCore/RequestTest_23.spec.js +0 -382
  389. package/target/test/xhrCore/RequestTest_23.spec.js.map +0 -1
  390. package/target/test/xhrCore/ResponseTest.spec.js +0 -667
  391. package/target/test/xhrCore/ResponseTest.spec.js.map +0 -1
  392. package/target/test/xhrCore/ResponseTest23.spec.js +0 -367
  393. package/target/test/xhrCore/ResponseTest23.spec.js.map +0 -1
  394. package/target/test/xhrCore/ShadowDomTest.spec.js +0 -123
  395. package/target/test/xhrCore/ShadowDomTest.spec.js.map +0 -1
  396. package/target/test/xhrCore/TobagoFileUploadTest.spec.js +0 -147
  397. package/target/test/xhrCore/TobagoFileUploadTest.spec.js.map +0 -1
  398. package/target/test/xhrCore/WebsocketTest.js +0 -207
  399. package/target/test/xhrCore/WebsocketTest.js.map +0 -1
  400. package/target/test/xhrCore/XhrFormDataTest.spec.js +0 -149
  401. package/target/test/xhrCore/XhrFormDataTest.spec.js.map +0 -1
  402. package/target/test/xhrCore/XhrRequestProgress.spec.js +0 -130
  403. package/target/test/xhrCore/XhrRequestProgress.spec.js.map +0 -1
  404. package/target/test/xhrCore/fixtures/addedViewHead1.js +0 -17
  405. package/target/test/xhrCore/fixtures/addedViewHead1.js.map +0 -1
  406. package/target/test/xhrCore/fixtures/addedViewHead2.js +0 -17
  407. package/target/test/xhrCore/fixtures/addedViewHead2.js.map +0 -1
  408. package/target/test/xhrCore/fixtures/addedViewHead3.js +0 -17
  409. package/target/test/xhrCore/fixtures/addedViewHead3.js.map +0 -1
  410. package/target/test/xhrCore/fixtures/nonce_script.js +0 -17
  411. package/target/test/xhrCore/fixtures/nonce_script.js.map +0 -1
  412. package/tsconfig.json +0 -9
  413. package/webpack.config.ts +0 -54
@@ -1,104 +0,0 @@
1
- "use strict";
2
- /*! Licensed to the Apache Software Foundation (ASF) under one or more
3
- * contributor license agreements. See the NOTICE file distributed with
4
- * this work for additional information regarding copyright ownership.
5
- * The ASF licenses this file to you under the Apache License, Version 2.0
6
- * (the "License"); you may not use this file except in compliance with
7
- * the License. You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.resolveResponseXML = resolveResponseXML;
19
- exports.resolveContexts = resolveContexts;
20
- exports.resolveSourceElement = resolveSourceElement;
21
- exports.resolveSourceForm = resolveSourceForm;
22
- const mona_dish_1 = require("mona-dish");
23
- const Assertions_1 = require("../util/Assertions");
24
- const mona_dish_2 = require("mona-dish");
25
- const Const_1 = require("../core/Const");
26
- const ExtDomQuery_1 = require("../util/ExtDomQuery");
27
- /**
28
- * Resolver functions for various aspects of the response data
29
- *
30
- * stateless because it might be called from various
31
- * parts of the response classes
32
- */
33
- /**
34
- * fetches the response XML
35
- * as XML Query object
36
- *
37
- * @param request the request hosting the responseXML
38
- *
39
- * Throws an error in case of non-existent or wrong xml data
40
- *
41
- */
42
- function resolveResponseXML(request) {
43
- let ret = new mona_dish_1.XMLQuery((0, Const_1.$nsp)(request.getIf(Const_1.SEL_RESPONSE_XML).value));
44
- Assertions_1.Assertions.assertValidXMLResponse(ret);
45
- return ret;
46
- }
47
- /**
48
- * Splits the incoming pass-through context apart
49
- * in an internal and an external normalized context
50
- * the internal one is just for our internal processing
51
- *
52
- * @param context the root context as associative array
53
- */
54
- function resolveContexts(context) {
55
- /**
56
- * we split the context apart into the external one and
57
- * some internal values
58
- */
59
- let externalContext = ExtDomQuery_1.ExtConfig.fromNullable(context);
60
- let internalContext = externalContext.getIf(Const_1.CTX_PARAM_MF_INTERNAL);
61
- if (!internalContext.isPresent()) {
62
- internalContext = ExtDomQuery_1.ExtConfig.fromNullable({});
63
- }
64
- /**
65
- * prepare storage for some deferred operations
66
- */
67
- internalContext.assign(Const_1.DEFERRED_HEAD_INSERTS).value = [];
68
- internalContext.assign(Const_1.UPDATE_FORMS).value = [];
69
- internalContext.assign(Const_1.UPDATE_ELEMS).value = [];
70
- return { externalContext, internalContext };
71
- }
72
- /**
73
- * fetches the source element out of our contexts
74
- *
75
- * @param context the external context which should host the source id
76
- * @param internalContext internal pass-through fall back
77
- *
78
- */
79
- function resolveSourceElement(context, internalContext) {
80
- let elemId = resolveSourceElementId(context, internalContext);
81
- return mona_dish_2.DQ.byId(elemId.value, true);
82
- }
83
- /**
84
- * fetches the source form if it still exists
85
- * also embedded forms and parent forms are taken into consideration
86
- * as fallbacks
87
- *
88
- * @param internalContext
89
- * @param elem
90
- */
91
- function resolveSourceForm(internalContext, elem) {
92
- let sourceFormId = internalContext.getIf(Const_1.CTX_PARAM_SRC_FRM_ID);
93
- let sourceForm = new mona_dish_2.DQ(sourceFormId.isPresent() ? document.forms[sourceFormId.value] : null);
94
- sourceForm = sourceForm.orElseLazy(() => elem.firstParent(Const_1.HTML_TAG_FORM))
95
- .orElseLazy(() => elem.querySelectorAll(Const_1.HTML_TAG_FORM))
96
- .orElseLazy(() => mona_dish_2.DQ.querySelectorAll(Const_1.HTML_TAG_FORM));
97
- return sourceForm;
98
- }
99
- function resolveSourceElementId(context, internalContext) {
100
- //?internal context?? used to be external one
101
- return internalContext.getIf(Const_1.CTX_PARAM_SRC_CTL_ID)
102
- .orElseLazy(() => context.getIf(Const_1.SOURCE, "id").value);
103
- }
104
- //# sourceMappingURL=ResponseDataResolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResponseDataResolver.js","sourceRoot":"","sources":["../../../src/main/typescript/impl/xhrCore/ResponseDataResolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAoCH,gDAKC;AASD,0CAkBC;AASD,oDAGC;AAUD,8CASC;AAjGD,yCAAqD;AAErD,mDAA8C;AAC9C,yCAA6B;AAC7B,yCAWuB;AACvB,qDAA8C;AAE9C;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAAC,OAAe;IAC9C,IAAI,GAAG,GAAG,IAAI,oBAAQ,CAAC,IAAA,YAAI,EAAC,OAAO,CAAC,KAAK,CAAC,wBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,uBAAU,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,OAA6B;IACzD;;;OAGG;IACH,IAAI,eAAe,GAAG,uBAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,6BAAqB,CAAC,CAAC;IACnE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,CAAC;QAC/B,eAAe,GAAG,uBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAM,CAAC,6BAAqB,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IACzD,eAAe,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IAChD,eAAe,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IAChD,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,OAAe,EAAE,eAAuB;IACzE,IAAI,MAAM,GAAG,sBAAsB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC9D,OAAO,cAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAAC,eAAuB,EAAE,IAAQ;IAC/D,IAAI,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,4BAAoB,CAAC,CAAC;IAC/D,IAAI,UAAU,GAAG,IAAI,cAAE,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE9F,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAa,CAAC,CAAC;SACpE,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,qBAAa,CAAC,CAAC;SACtD,UAAU,CAAC,GAAG,EAAE,CAAC,cAAE,CAAC,gBAAgB,CAAC,qBAAa,CAAC,CAAC,CAAC;IAE1D,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe,EAAE,eAAuB;IACpE,6CAA6C;IAC7C,OAAO,eAAe,CAAC,KAAK,CAAC,4BAAoB,CAAC;SAC7C,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,cAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,468 +0,0 @@
1
- "use strict";
2
- /*! Licensed to the Apache Software Foundation (ASF) under one or more
3
- * contributor license agreements. See the NOTICE file distributed with
4
- * this work for additional information regarding copyright ownership.
5
- * The ASF licenses this file to you under the Apache License, Version 2.0
6
- * (the "License"); you may not use this file except in compliance with
7
- * the License. You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ResponseProcessor = void 0;
19
- const mona_dish_1 = require("mona-dish");
20
- const AjaxImpl_1 = require("../AjaxImpl");
21
- const Assertions_1 = require("../util/Assertions");
22
- const ErrorData_1 = require("./ErrorData");
23
- const ImplTypes_1 = require("../core/ImplTypes");
24
- const EventData_1 = require("./EventData");
25
- const Const_1 = require("../core/Const");
26
- const ExtDomQuery_1 = require("../util/ExtDomQuery");
27
- const HiddenInputBuilder_1 = require("../util/HiddenInputBuilder");
28
- const trim = mona_dish_1.Lang.trim;
29
- const Lang_1 = require("../util/Lang");
30
- const ofAssoc = Lang_1.ExtLang.ofAssoc;
31
- /**
32
- * Response processor
33
- *
34
- * Each XML tag is either a node or a leaf
35
- * or both
36
- *
37
- * the processor provides a set of operations
38
- * which are executed on a single leaf node per operation
39
- * and present the core functionality of our response
40
- *
41
- * Note the response processor is stateful hence we bundle it in a class
42
- * to reduce code we keep references tot contexts in place
43
- */
44
- class ResponseProcessor {
45
- constructor(request, externalContext, internalContext) {
46
- this.request = request;
47
- this.externalContext = externalContext;
48
- this.internalContext = internalContext;
49
- }
50
- /**
51
- * head replacement
52
- * @param shadowDocument incoming shadow head data (aka cdata as xml reference or dom element)
53
- * the data incoming must represent the html representation of the head itself one way or the other
54
- */
55
- replaceHead(shadowDocument) {
56
- const shadowHead = shadowDocument.querySelectorAll(Const_1.HTML_TAG_HEAD);
57
- if (!shadowHead.isPresent()) {
58
- return;
59
- }
60
- const head = ExtDomQuery_1.ExtDomQuery.querySelectorAll(Const_1.HTML_TAG_HEAD);
61
- // full replace we delete everything
62
- head.childNodes.delete();
63
- this.addToHead(shadowHead);
64
- //we copy the attributes as well (just in case myfaces introduces the id in head)
65
- head.copyAttrs(shadowHead);
66
- }
67
- addToHead(shadowHead) {
68
- const mappedHeadData = new ExtDomQuery_1.ExtDomQuery(shadowHead);
69
- const scriptTags = [Const_1.HTML_TAG_SCRIPT];
70
- const nonExecutables = mappedHeadData.filter(item => scriptTags.indexOf(item.tagName.orElse("").value) == -1);
71
- nonExecutables.runHeadInserts(true);
72
- //incoming either the outer head tag or its children
73
- const nodesToAdd = (shadowHead.tagName.value === "HEAD") ? shadowHead.childNodes : shadowHead;
74
- // this is stored for "post" processing
75
- // after the rest of the "physical build up", head before body
76
- const scriptElements = new mona_dish_1.DomQuery(...nodesToAdd.asArray
77
- .filter(item => scriptTags.indexOf(item.tagName.orElse("").value) != -1));
78
- this.addToHeadDeferred(scriptElements);
79
- }
80
- addToHeadDeferred(newElements) {
81
- this.internalContext.assign(Const_1.DEFERRED_HEAD_INSERTS).value.push(newElements);
82
- }
83
- /**
84
- * replaces the body in the expected manner
85
- * which means the entire body content is refreshed
86
- * however also the body attributes must be transferred
87
- * keeping event handlers etc... in place
88
- *
89
- * @param shadowDocument .. an incoming shadow document hosting the new nodes
90
- */
91
- replaceBody(shadowDocument) {
92
- const shadowBody = shadowDocument.querySelectorAll(Const_1.HTML_TAG_BODY);
93
- if (!shadowBody.isPresent()) {
94
- return;
95
- }
96
- const shadowInnerHTML = shadowBody.innerHTML;
97
- const resultingBody = ExtDomQuery_1.ExtDomQuery.querySelectorAll(Const_1.HTML_TAG_BODY);
98
- const updateForms = resultingBody.querySelectorAll(Const_1.HTML_TAG_FORM);
99
- // main difference, we cannot replace the body itself, but only its content
100
- // we need a separate step for post-processing the incoming
101
- // attributes, like classes, styles etc...
102
- resultingBody.html(shadowInnerHTML).copyAttrs(shadowBody);
103
- this.externalContext.assign((0, Const_1.$nsp)(Const_1.P_RENDER_OVERRIDE)).value = "@all";
104
- this.storeForPostProcessing(updateForms, resultingBody);
105
- }
106
- /**
107
- * Leaf Tag eval... process whatever is in the eval cdata block
108
- *
109
- * @param node the node to eval
110
- */
111
- eval(node) {
112
- ExtDomQuery_1.ExtDomQuery.globalEval(node.cDATAAsString);
113
- }
114
- /**
115
- * processes an incoming error from the response
116
- * which is hosted under the <error> tag
117
- * @param node the node hosting the error in our response xml
118
- * @param node the node in the xml hosting the error message
119
- */
120
- error(node) {
121
- /**
122
- * <error>
123
- * <error-name>String</error-name>
124
- * <error-message><![CDATA[message]]></error-message>
125
- * <error>
126
- */
127
- const mergedErrorData = new ExtDomQuery_1.ExtConfig({});
128
- mergedErrorData.assign(Const_1.SOURCE).value = this.externalContext.getIf(Const_1.P_AJAX_SOURCE).get(0).value;
129
- mergedErrorData.assign(Const_1.ERROR_NAME).value = node.querySelectorAll(Const_1.ERROR_NAME).textContent(Const_1.EMPTY_STR);
130
- mergedErrorData.assign(Const_1.ERROR_MESSAGE).value = node.querySelectorAll(Const_1.ERROR_MESSAGE).cDATAAsString;
131
- const hasResponseXML = this.internalContext.get(Const_1.RESPONSE_XML).isPresent();
132
- //we now store the response xml also in the error data for further details
133
- mergedErrorData.assignIf(hasResponseXML, Const_1.RESPONSE_XML).value = this.internalContext.getIf(Const_1.RESPONSE_XML).value.get(0).value;
134
- // error post-processing and enrichment (standard messages from keys)
135
- const errorData = ErrorData_1.ErrorData.fromServerError(mergedErrorData);
136
- // we now trigger an internally stored onError function which might be an attached to the context
137
- // either we do not have an internal on error, or an on error has been based via params from the outside.
138
- // In both cases they are attached to our contexts
139
- this.triggerOnError(errorData);
140
- AjaxImpl_1.Implementation.sendError(errorData);
141
- }
142
- /**
143
- * process the redirect operation
144
- *
145
- * @param node
146
- */
147
- redirect(node) {
148
- Assertions_1.Assertions.assertUrlExists(node);
149
- const redirectUrl = trim(node.attr(Const_1.ATTR_URL).value);
150
- if (redirectUrl != Const_1.EMPTY_STR) {
151
- window.location.href = redirectUrl;
152
- }
153
- }
154
- /**
155
- * processes the update operation and updates the node with the cdata block
156
- * @param node the xml response node hosting the update info
157
- * @param cdataBlock the cdata block with the new html code
158
- */
159
- update(node, cdataBlock) {
160
- const result = ExtDomQuery_1.ExtDomQuery.byId(node.id.value, true).outerHTML(cdataBlock, false, false);
161
- const sourceForm = result === null || result === void 0 ? void 0 : result.firstParent(Const_1.HTML_TAG_FORM).orElseLazy(() => result.byTagName(Const_1.HTML_TAG_FORM, true));
162
- if (sourceForm) {
163
- this.storeForPostProcessing(sourceForm, result);
164
- }
165
- }
166
- /**
167
- * Delete handler, simply deletes the node referenced by the xml data
168
- * @param node
169
- */
170
- delete(node) {
171
- mona_dish_1.DQ.byId(node.id.value, true).delete();
172
- }
173
- /**
174
- * attributes leaf tag... process the attributes
175
- *
176
- * @param node
177
- */
178
- attributes(node) {
179
- const elem = mona_dish_1.DQ.byId(node.id.value, true);
180
- node.byTagName(Const_1.XML_TAG_ATTR).each((item) => {
181
- elem.attr(item.attr(Const_1.ATTR_NAME).value).value = item.attr(Const_1.ATTR_VALUE).value;
182
- });
183
- }
184
- /**
185
- * @param shadowDocument a shadow document which is needed for further processing
186
- */
187
- replaceViewRoot(shadowDocument) {
188
- this.replaceHead(shadowDocument);
189
- this.replaceBody(shadowDocument);
190
- }
191
- /**
192
- * Insert handling, either before or after
193
- *
194
- * @param node
195
- */
196
- insert(node) {
197
- //let insertId = node.id; //not used atm
198
- const before = node.attr(Const_1.XML_TAG_BEFORE);
199
- const after = node.attr(Const_1.XML_TAG_AFTER);
200
- const insertNodes = mona_dish_1.DQ.fromMarkup(node.cDATAAsString);
201
- if (before.isPresent()) {
202
- mona_dish_1.DQ.byId(before.value, true).insertBefore(insertNodes);
203
- this.internalContext.assign(Const_1.UPDATE_ELEMS).value.push(insertNodes);
204
- }
205
- if (after.isPresent()) {
206
- const domQuery = mona_dish_1.DQ.byId(after.value, true);
207
- domQuery.insertAfter(insertNodes);
208
- this.internalContext.assign(Const_1.UPDATE_ELEMS).value.push(insertNodes);
209
- }
210
- }
211
- /**
212
- * Handler for the case &lt;insert <&lt; before id="...
213
- *
214
- * @param node the node hosting the insert data
215
- */
216
- insertWithSubTags(node) {
217
- const before = node.querySelectorAll(Const_1.XML_TAG_BEFORE);
218
- const after = node.querySelectorAll(Const_1.XML_TAG_AFTER);
219
- before.each(item => {
220
- const insertId = item.attr(Const_1.ATTR_ID);
221
- const insertNodes = mona_dish_1.DQ.fromMarkup(item.cDATAAsString);
222
- if (insertId.isPresent()) {
223
- mona_dish_1.DQ.byId(insertId.value, true).insertBefore(insertNodes);
224
- this.internalContext.assign(Const_1.UPDATE_ELEMS).value.push(insertNodes);
225
- }
226
- });
227
- after.each(item => {
228
- const insertId = item.attr(Const_1.ATTR_ID);
229
- const insertNodes = mona_dish_1.DQ.fromMarkup(item.cDATAAsString);
230
- if (insertId.isPresent()) {
231
- mona_dish_1.DQ.byId(insertId.value, true).insertAfter(insertNodes);
232
- this.internalContext.assign(Const_1.UPDATE_ELEMS).value.push(insertNodes);
233
- }
234
- });
235
- }
236
- /**
237
- * Process the viewState update, update the affected
238
- * forms with their respective new viewState values
239
- *
240
- */
241
- processViewState(node) {
242
- if (ResponseProcessor.isViewStateNode(node)) {
243
- const state = node.cDATAAsString;
244
- this.internalContext.assign(Const_1.APPLIED_VST, node.id.value).value = new ImplTypes_1.StateHolder((0, Const_1.$nsp)(node.id.value), state);
245
- return true;
246
- }
247
- return false;
248
- }
249
- processClientWindow(node) {
250
- if (ResponseProcessor.isClientWindowNode(node)) {
251
- const state = node.cDATAAsString;
252
- this.internalContext.assign(Const_1.APPLIED_CLIENT_WINDOW, node.id.value).value = new ImplTypes_1.StateHolder((0, Const_1.$nsp)(node.id.value), state);
253
- return true;
254
- }
255
- }
256
- /**
257
- * generic global eval which runs the embedded css and scripts
258
- */
259
- globalEval() {
260
- // phase one, if we have head inserts, we build up those before going into the script eval phase
261
- let insertHeadElems = new ExtDomQuery_1.ExtDomQuery(...this.internalContext.getIf(Const_1.DEFERRED_HEAD_INSERTS).value);
262
- insertHeadElems.runHeadInserts(true);
263
- // phase 2 we run a script eval on all updated elements in the body
264
- let updateElems = new ExtDomQuery_1.ExtDomQuery(...this.internalContext.getIf(Const_1.UPDATE_ELEMS).value);
265
- updateElems.runCss();
266
- // phase 3, we do the same for the css
267
- updateElems.runScripts();
268
- }
269
- /**
270
- * Postprocessing view state fixing
271
- * this appends basically the incoming view states to the forms.
272
- * It is called from outside after all forms have been processed basically
273
- * as last lifecycle step, before going into the next request.
274
- */
275
- fixViewStates() {
276
- ofAssoc(this.internalContext.getIf(Const_1.APPLIED_VST).orElse({}).value)
277
- .forEach(([, value]) => {
278
- const namingContainerId = this.internalContext.getIf(Const_1.NAMING_CONTAINER_ID);
279
- const namedViewRoot = !!this.internalContext.getIf(Const_1.NAMED_VIEWROOT).value;
280
- const affectedForms = this.getContainerForms(namingContainerId)
281
- .filter(affectedForm => this.isInExecuteOrRender(affectedForm));
282
- this.appendViewStateToForms(affectedForms, namedViewRoot, value.value, namingContainerId.orElse("").value);
283
- });
284
- }
285
- /**
286
- * same as with view states before applies the incoming client windows as last step after the rest of the processing
287
- * is done.
288
- */
289
- fixClientWindow() {
290
- ofAssoc(this.internalContext.getIf(Const_1.APPLIED_CLIENT_WINDOW).orElse({}).value)
291
- .forEach(([, value]) => {
292
- const namingContainerId = this.internalContext.getIf(Const_1.NAMING_CONTAINER_ID);
293
- const namedViewRoot = !!this.internalContext.getIf(Const_1.NAMED_VIEWROOT).value;
294
- const affectedForms = this.getContainerForms(namingContainerId)
295
- .filter(affectedForm => this.isInExecuteOrRender(affectedForm));
296
- this.appendClientWindowToForms(affectedForms, namedViewRoot, value.value, namingContainerId.orElse("").value);
297
- });
298
- }
299
- updateNamedViewRootState() {
300
- let partialId = this.internalContext.getIf(Const_1.NAMING_CONTAINER_ID);
301
- let namedViewRoot = this.internalContext.getIf(Const_1.NAMED_VIEWROOT);
302
- if (partialId.isPresent() &&
303
- (namedViewRoot.isAbsent() ||
304
- !namedViewRoot.value)) {
305
- const SEP = (0, Const_1.$faces)().separatorchar;
306
- this.internalContext.assign(Const_1.NAMED_VIEWROOT).value = (!!document.getElementById(partialId.value)) || (0, mona_dish_1.DQ$)(`input[name*='${(0, Const_1.$nsp)(Const_1.P_VIEWSTATE)}']`)
307
- .filter(node => node.attr("name").value.indexOf(partialId.value + SEP) == 0).length > 0;
308
- }
309
- }
310
- /**
311
- * all processing done we can close the request and send the appropriate events
312
- */
313
- done() {
314
- const eventData = EventData_1.EventData.createFromRequest(this.request.value, this.internalContext, this.externalContext, Const_1.SUCCESS);
315
- //because some frameworks might decorate them over the context in the response
316
- const eventHandler = this.externalContext.getIf(Const_1.ON_EVENT).orElseLazy(() => this.internalContext.getIf(Const_1.ON_EVENT).value).orElse(Const_1.EMPTY_FUNC).value;
317
- AjaxImpl_1.Implementation.sendEvent(eventData, eventHandler);
318
- }
319
- /**
320
- * proper viewState -> form assignment
321
- *
322
- * @param forms the forms to append the viewState to
323
- * @param viewState the final viewState
324
- * @param namingContainerId
325
- */
326
- appendViewStateToForms(forms, namedViewRoot, viewState, namingContainerId = "") {
327
- this.assignState(forms, (0, Const_1.$nsp)(Const_1.SEL_VIEWSTATE_ELEM), namedViewRoot, viewState, namingContainerId);
328
- }
329
- /**
330
- * proper clientWindow -> form assignment
331
- *
332
- * @param forms the forms to append the viewState to
333
- * @param clientWindow the final viewState
334
- * @param namingContainerId
335
- */
336
- appendClientWindowToForms(forms, namedViewRoot, clientWindow, namingContainerId = "") {
337
- this.assignState(forms, (0, Const_1.$nsp)(Const_1.SEL_CLIENT_WINDOW_ELEM), namedViewRoot, clientWindow, namingContainerId);
338
- }
339
- /**
340
- * generic append state which appends a certain state as hidden element to an existing set of forms
341
- *
342
- * @param forms the forms to append or change to
343
- * @param selector the selector for the state
344
- * @param namedViewRoot if set to true, the name is also prefixed
345
- * @param state the state itself which needs to be assigned
346
- *
347
- * @param namingContainerId
348
- * @private
349
- */
350
- assignState(forms, selector, namedViewRoot, state, namingContainerId) {
351
- /**
352
- * creates the viewState or client window id element
353
- * @param form
354
- */
355
- const createAndAppendHiddenInput = (form) => {
356
- return new HiddenInputBuilder_1.HiddenInputBuilder(selector)
357
- .withNamingContainerId(namingContainerId)
358
- .withParent(form)
359
- .withNamedViewRoot(namedViewRoot)
360
- .build();
361
- };
362
- forms.each(form => {
363
- const hiddenInput = form.querySelectorAll(selector)
364
- .orElseLazy(() => createAndAppendHiddenInput(form));
365
- hiddenInput.val = state;
366
- });
367
- }
368
- /**
369
- * Stores certain aspects of the dom for later post-processing
370
- *
371
- * @param updateForms the update forms which should receive standardized internal jsf data
372
- * @param toBeEvaluated the resulting elements which should be evaluated
373
- */
374
- storeForPostProcessing(updateForms, toBeEvaluated) {
375
- this.storeForUpdate(updateForms);
376
- this.storeForEval(toBeEvaluated);
377
- }
378
- /**
379
- * helper to store a given form for the update post-processing (viewState)
380
- *
381
- * @param updateForms the dom query object pointing to the forms which need to be updated
382
- */
383
- storeForUpdate(updateForms) {
384
- this.internalContext.assign(Const_1.UPDATE_FORMS).value.push(updateForms);
385
- }
386
- /**
387
- * same for eval (js and css)
388
- *
389
- * @param toBeEvaluated
390
- */
391
- storeForEval(toBeEvaluated) {
392
- this.internalContext.assign(Const_1.UPDATE_ELEMS).value.push(toBeEvaluated);
393
- }
394
- /**
395
- * check whether a given XMLQuery node is an explicit viewState node
396
- *
397
- * @param node the node to check
398
- * @returns if it is a viewState node
399
- */
400
- static isViewStateNode(node) {
401
- var _a, _b, _c, _d, _e, _f;
402
- const SEP = (0, Const_1.$faces)().separatorchar;
403
- return "undefined" != typeof ((_a = node === null || node === void 0 ? void 0 : node.id) === null || _a === void 0 ? void 0 : _a.value) && (((_b = node === null || node === void 0 ? void 0 : node.id) === null || _b === void 0 ? void 0 : _b.value) == (0, Const_1.$nsp)(Const_1.P_VIEWSTATE) ||
404
- ((_d = (_c = node === null || node === void 0 ? void 0 : node.id) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.indexOf([SEP, (0, Const_1.$nsp)(Const_1.P_VIEWSTATE)].join(Const_1.EMPTY_STR))) != -1 ||
405
- ((_f = (_e = node === null || node === void 0 ? void 0 : node.id) === null || _e === void 0 ? void 0 : _e.value) === null || _f === void 0 ? void 0 : _f.indexOf([(0, Const_1.$nsp)(Const_1.P_VIEWSTATE), SEP].join(Const_1.EMPTY_STR))) != -1);
406
- }
407
- /**
408
- * incoming client window node also needs special processing
409
- *
410
- * @param node the node to check
411
- * @returns true of it ii
412
- */
413
- static isClientWindowNode(node) {
414
- var _a, _b, _c, _d, _e, _f;
415
- const SEP = (0, Const_1.$faces)().separatorchar;
416
- return "undefined" != typeof ((_a = node === null || node === void 0 ? void 0 : node.id) === null || _a === void 0 ? void 0 : _a.value) && (((_b = node === null || node === void 0 ? void 0 : node.id) === null || _b === void 0 ? void 0 : _b.value) == (0, Const_1.$nsp)(Const_1.P_CLIENT_WINDOW) ||
417
- ((_d = (_c = node === null || node === void 0 ? void 0 : node.id) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.indexOf([SEP, (0, Const_1.$nsp)(Const_1.P_CLIENT_WINDOW)].join(Const_1.EMPTY_STR))) != -1 ||
418
- ((_f = (_e = node === null || node === void 0 ? void 0 : node.id) === null || _e === void 0 ? void 0 : _e.value) === null || _f === void 0 ? void 0 : _f.indexOf([(0, Const_1.$nsp)(Const_1.P_CLIENT_WINDOW), SEP].join(Const_1.EMPTY_STR))) != -1);
419
- }
420
- triggerOnError(errorData) {
421
- this.externalContext.getIf(Const_1.ON_ERROR).orElseLazy(() => this.internalContext.getIf(Const_1.ON_ERROR).value).orElse(Const_1.EMPTY_FUNC).value(errorData);
422
- }
423
- /**
424
- * filters the forms according to being member of the "execute" or "render" cycle
425
- * @param affectedForm
426
- * @private
427
- */
428
- isInExecuteOrRender(affectedForm) {
429
- const executes = this.externalContext.getIf((0, Const_1.$nsp)(Const_1.P_EXECUTE)).orElse("@none").value.split(/\s+/gi);
430
- const renders = this.externalContext.getIf(Const_1.P_RENDER_OVERRIDE)
431
- .orElseLazy(() => this.externalContext.getIf((0, Const_1.$nsp)(Const_1.P_RENDER)).value)
432
- .orElse(Const_1.IDENT_NONE).value.split(/\s+/gi);
433
- const executeAndRenders = executes.concat(...renders);
434
- return [...executeAndRenders].filter(nameOrId => {
435
- if ([Const_1.IDENT_ALL, Const_1.IDENT_NONE].indexOf(nameOrId) != -1) {
436
- return true;
437
- }
438
- const NAME_OR_ID = this.getNameOrIdSelector(nameOrId);
439
- //either the form directly is in execute or render or one of its children or one of its parents
440
- return affectedForm.matchesSelector(NAME_OR_ID) ||
441
- affectedForm.querySelectorAll(NAME_OR_ID).isPresent() ||
442
- affectedForm.firstParent(NAME_OR_ID).isPresent();
443
- }).length > 0;
444
- }
445
- /**
446
- * gets all forms under a single naming container id
447
- * @param namingContainerId
448
- * @private
449
- */
450
- getContainerForms(namingContainerId) {
451
- if (namingContainerId.isPresent()) {
452
- //naming container mode, all forms under naming container id must be processed
453
- return (0, mona_dish_1.DQ$)(this.getNameOrIdSelector(namingContainerId.value))
454
- // missing condition if the naming container is not present we have to
455
- // use the body as fallback
456
- .orElseLazy(() => mona_dish_1.DQ.byTagName(Const_1.HTML_TAG_BODY))
457
- .byTagName(Const_1.HTML_TAG_FORM, true);
458
- }
459
- else {
460
- return mona_dish_1.DQ.byTagName(Const_1.HTML_TAG_FORM);
461
- }
462
- }
463
- getNameOrIdSelector(nameOrId) {
464
- return `[id='${nameOrId}'], [name='${nameOrId}']`;
465
- }
466
- }
467
- exports.ResponseProcessor = ResponseProcessor;
468
- //# sourceMappingURL=ResponseProcessor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResponseProcessor.js","sourceRoot":"","sources":["../../../src/main/typescript/impl/xhrCore/ResponseProcessor.ts"],"names":[],"mappings":"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"}