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.
- package/AI_CONTRIBUTIONS.md +71 -0
- package/README.md +254 -78
- package/api-extractor.faces.json +38 -0
- package/dist/docs/assets/hierarchy.js +1 -1
- package/dist/docs/assets/navigation.js +1 -1
- package/dist/docs/assets/search.js +1 -1
- package/dist/docs/functions/faces.ajax.addOnError.html +2 -2
- package/dist/docs/functions/faces.ajax.addOnEvent.html +2 -2
- package/dist/docs/functions/faces.ajax.request.html +2 -2
- package/dist/docs/functions/faces.ajax.response.html +2 -2
- package/dist/docs/functions/faces.getClientWindow.html +2 -2
- package/dist/docs/functions/faces.getProjectStage.html +2 -2
- package/dist/docs/functions/faces.getViewState.html +1 -1
- package/dist/docs/functions/faces.push.close.html +1 -1
- package/dist/docs/functions/faces.push.init.html +6 -6
- package/dist/docs/functions/faces.push.open.html +1 -1
- package/dist/docs/functions/faces.util.chain.html +2 -2
- package/dist/docs/functions/myfaces.ab.html +3 -3
- package/dist/docs/functions/myfaces.onDomReady.html +1 -1
- package/dist/docs/functions/myfaces.reserveNamespace.html +1 -1
- package/dist/docs/hierarchy.html +1 -1
- package/dist/docs/index.html +292 -71
- package/dist/docs/interfaces/faces.AjaxData.html +6 -0
- package/dist/docs/interfaces/faces.AjaxError.html +18 -0
- package/dist/docs/interfaces/faces.AjaxEvent.html +8 -0
- package/dist/docs/interfaces/faces.ajax.RequestContext.html +6 -0
- package/dist/docs/interfaces/faces.ajax.RequestOptions.html +10 -0
- package/dist/docs/modules/faces.ajax.html +1 -1
- package/dist/docs/modules/faces.html +1 -1
- package/dist/docs/modules/faces.push.html +1 -1
- package/dist/docs/modules/faces.util.html +1 -1
- package/dist/docs/modules/myfaces.html +1 -1
- package/dist/docs/modules.html +1 -1
- package/dist/docs/types/faces.AjaxErrorStatus.html +2 -0
- package/dist/docs/types/faces.AjaxEventStatus.html +2 -0
- package/dist/docs/types/faces.ProjectStage.html +2 -0
- package/dist/docs/types/faces.ajax.OnErrorCallback.html +2 -0
- package/dist/docs/types/faces.ajax.OnEventCallback.html +2 -0
- package/dist/docs/types/faces.push.OnCloseHandler.html +2 -0
- package/dist/docs/types/faces.push.OnErrorHandler.html +2 -0
- package/dist/docs/types/faces.push.OnMessageHandler.html +2 -0
- package/dist/docs/types/faces.push.OnOpenHandler.html +2 -0
- package/dist/docs/variables/faces.contextpath.html +1 -1
- package/dist/docs/variables/faces.implversion.html +1 -1
- package/dist/docs/variables/faces.separatorchar.html +1 -1
- package/dist/docs/variables/faces.specversion.html +1 -1
- package/dist/docs/variables/myfaces.oam.html +1 -1
- package/dist/window/faces-development.js +1801 -499
- package/dist/window/faces-development.js.map +1 -1
- package/{target/api/_api.js → dist/window/faces.d.ts} +124 -151
- package/dist/window/faces.js +1 -1
- package/dist/window/faces.js.LICENSE.txt +0 -17
- package/dist/window/faces.js.map +1 -1
- package/dist/window/jsf-development.js +1806 -513
- package/dist/window/jsf-development.js.map +1 -1
- package/{target/src/main/typescript/api/_api.js → dist/window/jsf.d.ts} +125 -153
- package/dist/window/jsf.js +1 -1
- package/dist/window/jsf.js.LICENSE.txt +0 -17
- package/dist/window/jsf.js.map +1 -1
- package/package.json +22 -18
- package/scripts/build-dts.mjs +239 -0
- package/src/main/typescript/@types/definitions/index.d.ts +22 -122
- package/{target/test/frameworkBase/_ext/monadish/fixtures/test2.js → src/main/typescript/@types/definitions/modules.d.ts} +18 -2
- package/src/main/typescript/api/_api.ts +132 -29
- package/{target/test/frameworkBase/_ext/monadish/fixtures/test.js → src/main/typescript/api/_api_ae_stub.d.ts} +6 -2
- package/src/main/typescript/api/faces.ts +2 -2
- package/src/main/typescript/api/jsf.ts +15 -23
- package/src/main/typescript/impl/AjaxImpl.ts +15 -15
- package/src/main/typescript/impl/PushImpl.ts +139 -69
- package/src/main/typescript/impl/core/Const.ts +2 -2
- package/src/main/typescript/impl/i18n/Messages.ts +1 -1
- package/src/main/typescript/impl/util/Assertions.ts +1 -2
- package/src/main/typescript/impl/util/AsyncRunnable.ts +3 -4
- package/src/main/typescript/impl/util/ExtDomQuery.ts +19 -19
- package/src/main/typescript/impl/util/FileUtils.ts +30 -14
- package/src/main/typescript/impl/util/HiddenInputBuilder.ts +34 -34
- package/src/main/typescript/impl/util/Lang.ts +19 -22
- package/src/main/typescript/impl/util/XhrQueueController.ts +25 -3
- package/src/main/typescript/impl/xhrCore/ErrorData.ts +17 -12
- package/src/main/typescript/impl/xhrCore/EventData.ts +8 -7
- package/src/main/typescript/impl/xhrCore/IResponseProcessor.ts +3 -3
- package/src/main/typescript/impl/xhrCore/RequestDataResolver.ts +7 -6
- package/src/main/typescript/impl/xhrCore/Response.ts +3 -3
- package/src/main/typescript/impl/xhrCore/ResponseDataResolver.ts +0 -38
- package/src/main/typescript/impl/xhrCore/ResponseProcessor.ts +17 -15
- package/src/main/typescript/impl/xhrCore/XhrFormData.ts +72 -63
- package/src/main/typescript/impl/xhrCore/XhrRequest.ts +80 -134
- package/src/main/typescript/mona_dish_shim.ts +6 -2
- package/src/main/typescript/myfaces/OamSubmit.ts +10 -6
- package/src/main/typescript/test/api/JsfPushShimTest.spec.ts +126 -0
- package/src/main/typescript/test/api/MyFacesABTest.spec.ts +16 -0
- package/src/main/typescript/test/api/PushTypeCompatibility.ts +65 -0
- package/src/main/typescript/test/frameworkBase/LangTest.spec.ts +16 -0
- package/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts +1 -0
- package/src/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.ts +16 -0
- package/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.ts +16 -0
- package/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.ts +16 -0
- package/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.ts +55 -9
- package/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.ts +16 -0
- package/src/main/typescript/test/impl/AssertionsTest.spec.ts +168 -0
- package/src/main/typescript/test/impl/FileUtilsTest.spec.ts +126 -0
- package/src/main/typescript/test/impl/ImplTest.spec.ts +75 -1
- package/src/main/typescript/test/impl/ResponseDataResolverTest.spec.ts +62 -0
- package/src/main/typescript/test/impl/util/ExtDomQueryTest.spec.ts +91 -1
- package/src/main/typescript/test/impl/util/ExtLangTest.spec.ts +110 -0
- package/src/main/typescript/test/impl/util/HiddenInputBuilderTest.spec.ts +74 -0
- package/src/main/typescript/test/myfaces/OamSubmit.spec.ts +61 -1
- package/src/main/typescript/test/queue/AsynchronousQueueTest.spec.ts +191 -2
- package/src/main/typescript/test/xhrCore/ClientWindow.spec.ts +16 -0
- package/src/main/typescript/test/xhrCore/ErrorChainTest.spec.ts +14 -0
- package/src/main/typescript/test/xhrCore/FakeWebsocket.ts +21 -5
- package/src/main/typescript/test/xhrCore/RequestTest.spec.ts +363 -4
- package/src/main/typescript/test/xhrCore/ResponseTest.spec.ts +218 -4
- package/src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.ts +1 -1
- package/src/main/typescript/test/xhrCore/WebsocketTest.spec.ts +764 -0
- package/src/main/typescript/test/xhrCore/XhrFormDataTest.spec.ts +265 -62
- package/src/main/typescript/test/xhrCore/XhrRequestProgress.spec.ts +16 -0
- package/{target/src/main/typescript/test/xhrCore/FakeWebsocket.js → src/main/typescript/tsconfig.ae.json} +16 -23
- package/src/main/typescript/{tsconfig.json → tsconfig.dts.json} +11 -27
- package/src/main/typescript/tsconfig.test.json +17 -0
- package/tsconfig.api-extractor.json +17 -0
- package/.claude/settings.local.json +0 -16
- package/.github/workflows/codeql-analysis.yml +0 -83
- package/.github/workflows/nodejs.yml +0 -26
- package/.mocharc.json +0 -10
- package/.nyc_output/384344d4-4f46-455f-84c3-010f829098cb.json +0 -1
- package/.nyc_output/a0f90016-f4f9-4039-bb51-57f4f7050541.json +0 -1
- package/.nyc_output/db388b5d-0b79-4bce-afd2-001aaf6f0245.json +0 -1
- package/.nyc_output/processinfo/384344d4-4f46-455f-84c3-010f829098cb.json +0 -1
- package/.nyc_output/processinfo/a0f90016-f4f9-4039-bb51-57f4f7050541.json +0 -1
- package/.nyc_output/processinfo/db388b5d-0b79-4bce-afd2-001aaf6f0245.json +0 -1
- package/.nyc_output/processinfo/index.json +0 -1
- package/.nycrc +0 -6
- package/build.cmd +0 -1
- package/build.sh +0 -3
- package/mvnw +0 -286
- package/mvnw.cmd +0 -161
- package/plans for 4.0.1.txt +0 -8
- package/remap.ts +0 -51
- package/src/main/typescript/test/xhrCore/WebsocketTest.ts +0 -221
- package/target/api/_api.js.map +0 -1
- package/target/api/faces.js +0 -45
- package/target/api/faces.js.map +0 -1
- package/target/api/jsf.js +0 -56
- package/target/api/jsf.js.map +0 -1
- package/target/impl/AjaxImpl.js +0 -748
- package/target/impl/AjaxImpl.js.map +0 -1
- package/target/impl/PushImpl.js +0 -265
- package/target/impl/PushImpl.js.map +0 -1
- package/target/impl/core/Const.js +0 -177
- package/target/impl/core/Const.js.map +0 -1
- package/target/impl/core/ImplTypes.js +0 -38
- package/target/impl/core/ImplTypes.js.map +0 -1
- package/target/impl/i18n/Messages.js +0 -113
- package/target/impl/i18n/Messages.js.map +0 -1
- package/target/impl/util/Assertions.js +0 -101
- package/target/impl/util/Assertions.js.map +0 -1
- package/target/impl/util/AsyncRunnable.js +0 -78
- package/target/impl/util/AsyncRunnable.js.map +0 -1
- package/target/impl/util/ExtDomQuery.js +0 -306
- package/target/impl/util/ExtDomQuery.js.map +0 -1
- package/target/impl/util/FileUtils.js +0 -98
- package/target/impl/util/FileUtils.js.map +0 -1
- package/target/impl/util/HiddenInputBuilder.js +0 -83
- package/target/impl/util/HiddenInputBuilder.js.map +0 -1
- package/target/impl/util/IListener.js +0 -3
- package/target/impl/util/IListener.js.map +0 -1
- package/target/impl/util/Lang.js +0 -263
- package/target/impl/util/Lang.js.map +0 -1
- package/target/impl/util/XhrQueueController.js +0 -92
- package/target/impl/util/XhrQueueController.js.map +0 -1
- package/target/impl/xhrCore/ErrorData.js +0 -87
- package/target/impl/xhrCore/ErrorData.js.map +0 -1
- package/target/impl/xhrCore/EventData.js +0 -52
- package/target/impl/xhrCore/EventData.js.map +0 -1
- package/target/impl/xhrCore/IResponseProcessor.js +0 -3
- package/target/impl/xhrCore/IResponseProcessor.js.map +0 -1
- package/target/impl/xhrCore/RequestDataResolver.js +0 -186
- package/target/impl/xhrCore/RequestDataResolver.js.map +0 -1
- package/target/impl/xhrCore/ResonseDataResolver.js +0 -104
- package/target/impl/xhrCore/ResonseDataResolver.js.map +0 -1
- package/target/impl/xhrCore/Response.js +0 -186
- package/target/impl/xhrCore/Response.js.map +0 -1
- package/target/impl/xhrCore/ResponseDataResolver.js +0 -104
- package/target/impl/xhrCore/ResponseDataResolver.js.map +0 -1
- package/target/impl/xhrCore/ResponseProcessor.js +0 -468
- package/target/impl/xhrCore/ResponseProcessor.js.map +0 -1
- package/target/impl/xhrCore/XhrFormData.js +0 -163
- package/target/impl/xhrCore/XhrFormData.js.map +0 -1
- package/target/impl/xhrCore/XhrRequest.js +0 -433
- package/target/impl/xhrCore/XhrRequest.js.map +0 -1
- package/target/mona_dish_shim.js +0 -70
- package/target/mona_dish_shim.js.map +0 -1
- package/target/myfaces/OamSubmit.js +0 -128
- package/target/myfaces/OamSubmit.js.map +0 -1
- package/target/src/main/typescript/api/_api.js.map +0 -1
- package/target/src/main/typescript/api/faces.js +0 -45
- package/target/src/main/typescript/api/faces.js.map +0 -1
- package/target/src/main/typescript/api/jsf.js +0 -56
- package/target/src/main/typescript/api/jsf.js.map +0 -1
- package/target/src/main/typescript/impl/AjaxImpl.js +0 -748
- package/target/src/main/typescript/impl/AjaxImpl.js.map +0 -1
- package/target/src/main/typescript/impl/PushImpl.js +0 -265
- package/target/src/main/typescript/impl/PushImpl.js.map +0 -1
- package/target/src/main/typescript/impl/core/Const.js +0 -177
- package/target/src/main/typescript/impl/core/Const.js.map +0 -1
- package/target/src/main/typescript/impl/core/ImplTypes.js +0 -38
- package/target/src/main/typescript/impl/core/ImplTypes.js.map +0 -1
- package/target/src/main/typescript/impl/i18n/Messages.js +0 -113
- package/target/src/main/typescript/impl/i18n/Messages.js.map +0 -1
- package/target/src/main/typescript/impl/util/Assertions.js +0 -101
- package/target/src/main/typescript/impl/util/Assertions.js.map +0 -1
- package/target/src/main/typescript/impl/util/AsyncRunnable.js +0 -78
- package/target/src/main/typescript/impl/util/AsyncRunnable.js.map +0 -1
- package/target/src/main/typescript/impl/util/ExtDomQuery.js +0 -306
- package/target/src/main/typescript/impl/util/ExtDomQuery.js.map +0 -1
- package/target/src/main/typescript/impl/util/FileUtils.js +0 -98
- package/target/src/main/typescript/impl/util/FileUtils.js.map +0 -1
- package/target/src/main/typescript/impl/util/HiddenInputBuilder.js +0 -83
- package/target/src/main/typescript/impl/util/HiddenInputBuilder.js.map +0 -1
- package/target/src/main/typescript/impl/util/IListener.js +0 -3
- package/target/src/main/typescript/impl/util/IListener.js.map +0 -1
- package/target/src/main/typescript/impl/util/Lang.js +0 -263
- package/target/src/main/typescript/impl/util/Lang.js.map +0 -1
- package/target/src/main/typescript/impl/util/XhrQueueController.js +0 -92
- package/target/src/main/typescript/impl/util/XhrQueueController.js.map +0 -1
- package/target/src/main/typescript/impl/xhrCore/ErrorData.js +0 -87
- package/target/src/main/typescript/impl/xhrCore/ErrorData.js.map +0 -1
- package/target/src/main/typescript/impl/xhrCore/EventData.js +0 -52
- package/target/src/main/typescript/impl/xhrCore/EventData.js.map +0 -1
- package/target/src/main/typescript/impl/xhrCore/IResponseProcessor.js +0 -3
- package/target/src/main/typescript/impl/xhrCore/IResponseProcessor.js.map +0 -1
- package/target/src/main/typescript/impl/xhrCore/RequestDataResolver.js +0 -186
- package/target/src/main/typescript/impl/xhrCore/RequestDataResolver.js.map +0 -1
- package/target/src/main/typescript/impl/xhrCore/Response.js +0 -186
- package/target/src/main/typescript/impl/xhrCore/Response.js.map +0 -1
- package/target/src/main/typescript/impl/xhrCore/ResponseDataResolver.js +0 -104
- package/target/src/main/typescript/impl/xhrCore/ResponseDataResolver.js.map +0 -1
- package/target/src/main/typescript/impl/xhrCore/ResponseProcessor.js +0 -468
- package/target/src/main/typescript/impl/xhrCore/ResponseProcessor.js.map +0 -1
- package/target/src/main/typescript/impl/xhrCore/XhrFormData.js +0 -163
- package/target/src/main/typescript/impl/xhrCore/XhrFormData.js.map +0 -1
- package/target/src/main/typescript/impl/xhrCore/XhrRequest.js +0 -433
- package/target/src/main/typescript/impl/xhrCore/XhrRequest.js.map +0 -1
- package/target/src/main/typescript/mona_dish_shim.js +0 -70
- package/target/src/main/typescript/mona_dish_shim.js.map +0 -1
- package/target/src/main/typescript/myfaces/OamSubmit.js +0 -128
- package/target/src/main/typescript/myfaces/OamSubmit.js.map +0 -1
- package/target/src/main/typescript/test/api/MyFacesABTest.spec.js +0 -117
- package/target/src/main/typescript/test/api/MyFacesABTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/LangTest.spec.js +0 -123
- package/target/src/main/typescript/test/frameworkBase/LangTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js +0 -657
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/LangTest.spec.js +0 -107
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/LangTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingProbes.js +0 -106
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingProbes.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingTest.spec.js +0 -39
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MonadTest.spec.js +0 -153
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MonadTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js +0 -2
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js +0 -925
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js +0 -112
- package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.js +0 -728
- package/target/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.js.map +0 -1
- package/target/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.js +0 -296
- package/target/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.js.map +0 -1
- package/target/src/main/typescript/test/impl/ImplTest.spec.js +0 -225
- package/target/src/main/typescript/test/impl/ImplTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/impl/ImplTest_23.spec.js +0 -143
- package/target/src/main/typescript/test/impl/ImplTest_23.spec.js.map +0 -1
- package/target/src/main/typescript/test/impl/SeparatorCharsTest.spec.js +0 -106
- package/target/src/main/typescript/test/impl/SeparatorCharsTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/impl/util/ExtDomQueryTest.spec.js +0 -77
- package/target/src/main/typescript/test/impl/util/ExtDomQueryTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/myfaces/OamSubmit.spec.js +0 -118
- package/target/src/main/typescript/test/myfaces/OamSubmit.spec.js.map +0 -1
- package/target/src/main/typescript/test/myfaces/OnLoad.spec.js +0 -57
- package/target/src/main/typescript/test/myfaces/OnLoad.spec.js.map +0 -1
- package/target/src/main/typescript/test/myfaces/ReserveNamespace.spec.js +0 -60
- package/target/src/main/typescript/test/myfaces/ReserveNamespace.spec.js.map +0 -1
- package/target/src/main/typescript/test/queue/AsynchronousProbe.js +0 -93
- package/target/src/main/typescript/test/queue/AsynchronousProbe.js.map +0 -1
- package/target/src/main/typescript/test/queue/AsynchronousQueueTest.spec.js +0 -133
- package/target/src/main/typescript/test/queue/AsynchronousQueueTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/ClientWindow.spec.js +0 -101
- package/target/src/main/typescript/test/xhrCore/ClientWindow.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/ErrorChainTest.spec.js +0 -175
- package/target/src/main/typescript/test/xhrCore/ErrorChainTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/EventTests.spec.js +0 -184
- package/target/src/main/typescript/test/xhrCore/EventTests.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/FakeWebsocket.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/FileUploadTest.spec.js +0 -181
- package/target/src/main/typescript/test/xhrCore/FileUploadTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/NamespacesRequestTest.spec.js +0 -226
- package/target/src/main/typescript/test/xhrCore/NamespacesRequestTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/OamSubmitTest.spec.js +0 -199
- package/target/src/main/typescript/test/xhrCore/OamSubmitTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/RequestParamsTest.spec.js +0 -567
- package/target/src/main/typescript/test/xhrCore/RequestParamsTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/RequestTest.spec.js +0 -845
- package/target/src/main/typescript/test/xhrCore/RequestTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/RequestTest_23.spec.js +0 -382
- package/target/src/main/typescript/test/xhrCore/RequestTest_23.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/ResponseTest.spec.js +0 -667
- package/target/src/main/typescript/test/xhrCore/ResponseTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/ResponseTest23.spec.js +0 -367
- package/target/src/main/typescript/test/xhrCore/ResponseTest23.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/ShadowDomTest.spec.js +0 -123
- package/target/src/main/typescript/test/xhrCore/ShadowDomTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.js +0 -147
- package/target/src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/WebsocketTest.js +0 -207
- package/target/src/main/typescript/test/xhrCore/WebsocketTest.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/XhrFormDataTest.spec.js +0 -149
- package/target/src/main/typescript/test/xhrCore/XhrFormDataTest.spec.js.map +0 -1
- package/target/src/main/typescript/test/xhrCore/XhrRequestProgress.spec.js +0 -130
- package/target/src/main/typescript/test/xhrCore/XhrRequestProgress.spec.js.map +0 -1
- package/target/test/api/MyFacesABTest.spec.js +0 -117
- package/target/test/api/MyFacesABTest.spec.js.map +0 -1
- package/target/test/frameworkBase/LangTest.spec.js +0 -123
- package/target/test/frameworkBase/LangTest.spec.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js +0 -657
- package/target/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/LangTest.spec.js +0 -107
- package/target/test/frameworkBase/_ext/monadish/LangTest.spec.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/MappingProbes.js +0 -106
- package/target/test/frameworkBase/_ext/monadish/MappingProbes.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/MappingTest.spec.js +0 -39
- package/target/test/frameworkBase/_ext/monadish/MappingTest.spec.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/MonadTest.spec.js +0 -153
- package/target/test/frameworkBase/_ext/monadish/MonadTest.spec.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js +0 -1
- package/target/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/fixtures/test.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/fixtures/test2.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js +0 -925
- package/target/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js.map +0 -1
- package/target/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js +0 -112
- package/target/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js.map +0 -1
- package/target/test/frameworkBase/_ext/shared/StandardInits.js +0 -728
- package/target/test/frameworkBase/_ext/shared/StandardInits.js.map +0 -1
- package/target/test/frameworkBase/_ext/shared/XmlResponses.js +0 -296
- package/target/test/frameworkBase/_ext/shared/XmlResponses.js.map +0 -1
- package/target/test/frameworkBase/_ext/shared/fixtures/js/tobago.js +0 -16
- package/target/test/frameworkBase/_ext/shared/fixtures/js/tobago.js.map +0 -1
- package/target/test/impl/ImplTest.spec.js +0 -225
- package/target/test/impl/ImplTest.spec.js.map +0 -1
- package/target/test/impl/ImplTest_23.spec.js +0 -143
- package/target/test/impl/ImplTest_23.spec.js.map +0 -1
- package/target/test/impl/SeparatorCharsTest.spec.js +0 -106
- package/target/test/impl/SeparatorCharsTest.spec.js.map +0 -1
- package/target/test/impl/util/ExtDomQueryTest.spec.js +0 -77
- package/target/test/impl/util/ExtDomQueryTest.spec.js.map +0 -1
- package/target/test/myfaces/OamSubmit.spec.js +0 -118
- package/target/test/myfaces/OamSubmit.spec.js.map +0 -1
- package/target/test/myfaces/OnLoad.spec.js +0 -57
- package/target/test/myfaces/OnLoad.spec.js.map +0 -1
- package/target/test/myfaces/ReserveNamespace.spec.js +0 -60
- package/target/test/myfaces/ReserveNamespace.spec.js.map +0 -1
- package/target/test/queue/AsynchronousProbe.js +0 -93
- package/target/test/queue/AsynchronousProbe.js.map +0 -1
- package/target/test/queue/AsynchronousQueueTest.spec.js +0 -133
- package/target/test/queue/AsynchronousQueueTest.spec.js.map +0 -1
- package/target/test/xhrCore/ClientWindow.spec.js +0 -101
- package/target/test/xhrCore/ClientWindow.spec.js.map +0 -1
- package/target/test/xhrCore/ErrorChainTest.spec.js +0 -175
- package/target/test/xhrCore/ErrorChainTest.spec.js.map +0 -1
- package/target/test/xhrCore/EventTests.spec.js +0 -184
- package/target/test/xhrCore/EventTests.spec.js.map +0 -1
- package/target/test/xhrCore/FakeWebsocket.js +0 -38
- package/target/test/xhrCore/FakeWebsocket.js.map +0 -1
- package/target/test/xhrCore/FileUploadTest.spec.js +0 -181
- package/target/test/xhrCore/FileUploadTest.spec.js.map +0 -1
- package/target/test/xhrCore/NamespacesRequestTest.spec.js +0 -226
- package/target/test/xhrCore/NamespacesRequestTest.spec.js.map +0 -1
- package/target/test/xhrCore/OamSubmitTest.spec.js +0 -199
- package/target/test/xhrCore/OamSubmitTest.spec.js.map +0 -1
- package/target/test/xhrCore/RequestParamsTest.spec.js +0 -567
- package/target/test/xhrCore/RequestParamsTest.spec.js.map +0 -1
- package/target/test/xhrCore/RequestTest.spec.js +0 -845
- package/target/test/xhrCore/RequestTest.spec.js.map +0 -1
- package/target/test/xhrCore/RequestTest_23.spec.js +0 -382
- package/target/test/xhrCore/RequestTest_23.spec.js.map +0 -1
- package/target/test/xhrCore/ResponseTest.spec.js +0 -667
- package/target/test/xhrCore/ResponseTest.spec.js.map +0 -1
- package/target/test/xhrCore/ResponseTest23.spec.js +0 -367
- package/target/test/xhrCore/ResponseTest23.spec.js.map +0 -1
- package/target/test/xhrCore/ShadowDomTest.spec.js +0 -123
- package/target/test/xhrCore/ShadowDomTest.spec.js.map +0 -1
- package/target/test/xhrCore/TobagoFileUploadTest.spec.js +0 -147
- package/target/test/xhrCore/TobagoFileUploadTest.spec.js.map +0 -1
- package/target/test/xhrCore/WebsocketTest.js +0 -207
- package/target/test/xhrCore/WebsocketTest.js.map +0 -1
- package/target/test/xhrCore/XhrFormDataTest.spec.js +0 -149
- package/target/test/xhrCore/XhrFormDataTest.spec.js.map +0 -1
- package/target/test/xhrCore/XhrRequestProgress.spec.js +0 -130
- package/target/test/xhrCore/XhrRequestProgress.spec.js.map +0 -1
- package/target/test/xhrCore/fixtures/addedViewHead1.js +0 -17
- package/target/test/xhrCore/fixtures/addedViewHead1.js.map +0 -1
- package/target/test/xhrCore/fixtures/addedViewHead2.js +0 -17
- package/target/test/xhrCore/fixtures/addedViewHead2.js.map +0 -1
- package/target/test/xhrCore/fixtures/addedViewHead3.js +0 -17
- package/target/test/xhrCore/fixtures/addedViewHead3.js.map +0 -1
- package/target/test/xhrCore/fixtures/nonce_script.js +0 -17
- package/target/test/xhrCore/fixtures/nonce_script.js.map +0 -1
- package/tsconfig.json +0 -9
- package/webpack.config.ts +0 -54
|
@@ -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 <insert << 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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"}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.XhrFormData = void 0;
|
|
4
|
-
/*! Licensed to the Apache Software Foundation (ASF) under one or more
|
|
5
|
-
* contributor license agreements. See the NOTICE file distributed with
|
|
6
|
-
* this work for additional information regarding copyright ownership.
|
|
7
|
-
* The ASF licenses this file to you under the Apache License, Version 2.0
|
|
8
|
-
* (the "License"); you may not use this file except in compliance with
|
|
9
|
-
* the License. You may obtain a copy of the License at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
* See the License for the specific language governing permissions and
|
|
17
|
-
* limitations under the License.
|
|
18
|
-
*/
|
|
19
|
-
const mona_dish_1 = require("mona-dish");
|
|
20
|
-
const Const_1 = require("../core/Const");
|
|
21
|
-
const FileUtils_1 = require("../util/FileUtils");
|
|
22
|
-
const Lang_1 = require("../util/Lang");
|
|
23
|
-
const ofAssoc = Lang_1.ExtLang.ofAssoc;
|
|
24
|
-
const mona_dish_2 = require("mona-dish");
|
|
25
|
-
const defaultParamsMapper = (key, item) => [key, item];
|
|
26
|
-
/**
|
|
27
|
-
* A unified form data class
|
|
28
|
-
* which builds upon our configuration.
|
|
29
|
-
*
|
|
30
|
-
* We cannot use standard html5 forms everywhere
|
|
31
|
-
* due to api constraints on the HTML Form object in IE11
|
|
32
|
-
* and due to the url encoding constraint given by the faces.js spec
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* internal storage format
|
|
36
|
-
* every value is stored as an array
|
|
37
|
-
* even scalar ones!
|
|
38
|
-
*/
|
|
39
|
-
class XhrFormData extends mona_dish_1.Config {
|
|
40
|
-
/**
|
|
41
|
-
* data collector from a given form
|
|
42
|
-
*
|
|
43
|
-
* @param dataSource either a form as DomQuery object or an encoded url string
|
|
44
|
-
* @param paramsMapper a remapper for the params keys and values
|
|
45
|
-
* @param executes the executes id list for the elements to being processed
|
|
46
|
-
* @param partialIds partial ids to collect, to reduce the data sent down
|
|
47
|
-
*/
|
|
48
|
-
constructor(dataSource, paramsMapper = defaultParamsMapper, executes, partialIds) {
|
|
49
|
-
super({});
|
|
50
|
-
this.dataSource = dataSource;
|
|
51
|
-
this.paramsMapper = paramsMapper;
|
|
52
|
-
this.partialIds = partialIds;
|
|
53
|
-
/**
|
|
54
|
-
* Checks if the given datasource is a multipart request source
|
|
55
|
-
* multipart is only needed if one of the executes is a file input
|
|
56
|
-
* since file inputs are stateless, they fall out of the view state
|
|
57
|
-
* and need special handling. With file submits we have to send a formData object
|
|
58
|
-
* instead of an encoded string files cannot be sent that way
|
|
59
|
-
*/
|
|
60
|
-
this.isMultipartRequest = false;
|
|
61
|
-
//encode and append the issuing item if not a partial ids array of ids is passed
|
|
62
|
-
/*
|
|
63
|
-
* Spec. 13.3.1
|
|
64
|
-
* Collect and encode input elements.
|
|
65
|
-
* Additionally the hidden element jakarta.faces.ViewState
|
|
66
|
-
* Enhancement partial page submit
|
|
67
|
-
*/
|
|
68
|
-
this.resolveRequestType(this.dataSource, executes);
|
|
69
|
-
this.encodeSubmittableFields(this.dataSource, this.partialIds);
|
|
70
|
-
this.applyViewState(this.dataSource);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* @returns a Form data representation, this is needed for file submits
|
|
74
|
-
*/
|
|
75
|
-
toFormData() {
|
|
76
|
-
/*
|
|
77
|
-
* expands key: [item1, item2]
|
|
78
|
-
* to: [{key: key, value: item1}, {key: key, value: item2}]
|
|
79
|
-
*/
|
|
80
|
-
let expandValueArrays = ([key, item]) => {
|
|
81
|
-
if (Array.isArray(item)) {
|
|
82
|
-
return new mona_dish_2.Es2019Array(...item).map(value => {
|
|
83
|
-
return { key, value };
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
return [{ key, value: item }];
|
|
87
|
-
};
|
|
88
|
-
/*
|
|
89
|
-
* remaps the incoming {key, value} tuples
|
|
90
|
-
* to naming container prefixed keys and values
|
|
91
|
-
*/
|
|
92
|
-
let remapForNamingContainer = ({ key, value }) => {
|
|
93
|
-
key = this.remapKeyForNamingContainer(key);
|
|
94
|
-
return { key, value };
|
|
95
|
-
};
|
|
96
|
-
/*
|
|
97
|
-
* collects everything into a FormData object
|
|
98
|
-
*/
|
|
99
|
-
return ofAssoc(this.value)
|
|
100
|
-
.flatMap(expandValueArrays)
|
|
101
|
-
.map(remapForNamingContainer)
|
|
102
|
-
.reduce((formData, { key, value }) => {
|
|
103
|
-
formData.append(key, value);
|
|
104
|
-
return formData;
|
|
105
|
-
}, new FormData());
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* returns an encoded string representation of our xhr form data
|
|
109
|
-
*
|
|
110
|
-
* @param defaultStr optional default value if nothing is there to encode
|
|
111
|
-
*/
|
|
112
|
-
toString(defaultStr = Const_1.EMPTY_STR) {
|
|
113
|
-
return (0, FileUtils_1.encodeFormData)(this, this.paramsMapper, defaultStr);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* generic post init code, for now, this performs some post assign data post-processing
|
|
117
|
-
* @param rootElement the root element which knows the request type (usually a form)
|
|
118
|
-
* @param executes the executable dom nodes which need to be processed into the form data, which we can send
|
|
119
|
-
* in our ajax request
|
|
120
|
-
*/
|
|
121
|
-
resolveRequestType(rootElement, executes) {
|
|
122
|
-
if (!executes || executes.indexOf(Const_1.IDENT_NONE) != -1) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
this.isMultipartRequest = rootElement.isMultipartCandidate(true);
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* special case view state handling
|
|
129
|
-
*
|
|
130
|
-
* @param form the form holding the view state value
|
|
131
|
-
*/
|
|
132
|
-
applyViewState(form) {
|
|
133
|
-
if (this.getIf((0, Const_1.$nsp)(Const_1.P_VIEWSTATE)).isPresent()) {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
let viewStateElement = form.querySelectorAllDeep(`[name*='${(0, Const_1.$nsp)(Const_1.P_VIEWSTATE)}'`);
|
|
137
|
-
let viewState = viewStateElement.inputValue;
|
|
138
|
-
this.appendIf(viewState.isPresent(), this.remapKeyForNamingContainer(viewStateElement.name.value)).value = viewState.value;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* determines fields to submit
|
|
142
|
-
* @param {Node} parentItem - form element item is nested in
|
|
143
|
-
* @param {Array} partialIds - ids fo PPS
|
|
144
|
-
*/
|
|
145
|
-
encodeSubmittableFields(parentItem, partialIds = []) {
|
|
146
|
-
const mergeIntoThis = ([key, value]) => this.append(key).value = value;
|
|
147
|
-
const namingContainerRemap = ([key, value]) => this.paramsMapper(key, value);
|
|
148
|
-
const remappedPartialIds = partialIds.map(partialId => this.remapKeyForNamingContainer(partialId));
|
|
149
|
-
const partialIdsFilter = ([key, value]) => (!remappedPartialIds.length || key.indexOf("@") == 0) ? true :
|
|
150
|
-
remappedPartialIds.indexOf(key) != -1;
|
|
151
|
-
let inputs = (0, FileUtils_1.getFormInputsAsArr)(parentItem);
|
|
152
|
-
inputs
|
|
153
|
-
.map(FileUtils_1.fixEmptyParameters)
|
|
154
|
-
.map(namingContainerRemap)
|
|
155
|
-
.filter(partialIdsFilter)
|
|
156
|
-
.forEach(mergeIntoThis);
|
|
157
|
-
}
|
|
158
|
-
remapKeyForNamingContainer(key) {
|
|
159
|
-
return this.paramsMapper(key, "")[0];
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
exports.XhrFormData = XhrFormData;
|
|
163
|
-
//# sourceMappingURL=XhrFormData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XhrFormData.js","sourceRoot":"","sources":["../../../../../../src/main/typescript/impl/xhrCore/XhrFormData.ts"],"names":[],"mappings":"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"}
|