jsf.js_next_gen 4.0.0-beta-11 → 4.0.0-beta-13

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 (146) hide show
  1. package/dist/window/faces-development.js +165 -49
  2. package/dist/window/faces-development.js.br +0 -0
  3. package/dist/window/faces-development.js.gz +0 -0
  4. package/dist/window/faces-development.js.map +1 -1
  5. package/dist/window/faces.js +1 -1
  6. package/dist/window/faces.js.br +0 -0
  7. package/dist/window/faces.js.gz +0 -0
  8. package/dist/window/faces.js.map +1 -1
  9. package/dist/window/jsf-development.js +165 -49
  10. package/dist/window/jsf-development.js.br +0 -0
  11. package/dist/window/jsf-development.js.gz +0 -0
  12. package/dist/window/jsf-development.js.map +1 -1
  13. package/dist/window/jsf.js +1 -1
  14. package/dist/window/jsf.js.br +0 -0
  15. package/dist/window/jsf.js.gz +0 -0
  16. package/dist/window/jsf.js.map +1 -1
  17. package/package.json +3 -3
  18. package/pom.xml +14 -0
  19. package/src/main/java/com/example/jsfs_js_ts/DecoratedFacesJS.java +80 -0
  20. package/src/main/java/com/example/jsfs_js_ts/DecoratingResourceHandlerWrapper.java +54 -0
  21. package/src/main/typescript/impl/util/ExtDomQuery.ts +10 -6
  22. package/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.ts +0 -2
  23. package/target/api/{Jsf.js → jsf.js} +0 -0
  24. package/target/api/{Jsf.js.map → jsf.js.map} +0 -0
  25. package/target/impl/util/ExtDomQuery.js +10 -6
  26. package/target/impl/util/ExtDomQuery.js.map +1 -1
  27. package/target/test/frameworkBase/_ext/shared/StandardInits.js +0 -2
  28. package/target/test/frameworkBase/_ext/shared/StandardInits.js.map +1 -1
  29. package/src/main/java/com/example/jsfs_js_ts/JsfsJsTsApplication.java +0 -12
  30. package/target/api/_faces.js +0 -251
  31. package/target/api/_faces.js.map +0 -1
  32. package/target/classes/com/example/jsfs_js_ts/JsfsJsTsApplication.class +0 -0
  33. package/target/impl/util/ListenerQueue.js +0 -3
  34. package/target/impl/util/ListenerQueue.js.map +0 -1
  35. package/target/main/typescript/api/Jsf.js +0 -258
  36. package/target/main/typescript/api/Jsf.js.map +0 -1
  37. package/target/main/typescript/impl/AjaxImpl.js +0 -569
  38. package/target/main/typescript/impl/AjaxImpl.js.map +0 -1
  39. package/target/main/typescript/impl/PushImpl.js +0 -215
  40. package/target/main/typescript/impl/PushImpl.js.map +0 -1
  41. package/target/main/typescript/impl/core/Const.js +0 -135
  42. package/target/main/typescript/impl/core/Const.js.map +0 -1
  43. package/target/main/typescript/impl/core/ImplTypes.js +0 -43
  44. package/target/main/typescript/impl/core/ImplTypes.js.map +0 -1
  45. package/target/main/typescript/impl/i18n/Messages.js +0 -114
  46. package/target/main/typescript/impl/i18n/Messages.js.map +0 -1
  47. package/target/main/typescript/impl/util/Assertions.js +0 -90
  48. package/target/main/typescript/impl/util/Assertions.js.map +0 -1
  49. package/target/main/typescript/impl/util/AsyncQueue.js +0 -104
  50. package/target/main/typescript/impl/util/AsyncQueue.js.map +0 -1
  51. package/target/main/typescript/impl/util/AsyncRunnable.js +0 -18
  52. package/target/main/typescript/impl/util/AsyncRunnable.js.map +0 -1
  53. package/target/main/typescript/impl/util/ExtDomQuery.js +0 -129
  54. package/target/main/typescript/impl/util/ExtDomQuery.js.map +0 -1
  55. package/target/main/typescript/impl/util/Lang.js +0 -215
  56. package/target/main/typescript/impl/util/Lang.js.map +0 -1
  57. package/target/main/typescript/impl/util/ListenerQueue.js +0 -3
  58. package/target/main/typescript/impl/util/ListenerQueue.js.map +0 -1
  59. package/target/main/typescript/impl/xhrCore/ErrorData.js +0 -89
  60. package/target/main/typescript/impl/xhrCore/ErrorData.js.map +0 -1
  61. package/target/main/typescript/impl/xhrCore/EventData.js +0 -30
  62. package/target/main/typescript/impl/xhrCore/EventData.js.map +0 -1
  63. package/target/main/typescript/impl/xhrCore/IResponseProcessor.js +0 -3
  64. package/target/main/typescript/impl/xhrCore/IResponseProcessor.js.map +0 -1
  65. package/target/main/typescript/impl/xhrCore/RequestDataResolver.js +0 -143
  66. package/target/main/typescript/impl/xhrCore/RequestDataResolver.js.map +0 -1
  67. package/target/main/typescript/impl/xhrCore/ResonseDataResolver.js +0 -103
  68. package/target/main/typescript/impl/xhrCore/ResonseDataResolver.js.map +0 -1
  69. package/target/main/typescript/impl/xhrCore/Response.js +0 -167
  70. package/target/main/typescript/impl/xhrCore/Response.js.map +0 -1
  71. package/target/main/typescript/impl/xhrCore/ResponseProcessor.js +0 -368
  72. package/target/main/typescript/impl/xhrCore/ResponseProcessor.js.map +0 -1
  73. package/target/main/typescript/impl/xhrCore/XhrFormData.js +0 -272
  74. package/target/main/typescript/impl/xhrCore/XhrFormData.js.map +0 -1
  75. package/target/main/typescript/impl/xhrCore/XhrRequest.js +0 -281
  76. package/target/main/typescript/impl/xhrCore/XhrRequest.js.map +0 -1
  77. package/target/test/frameworkBase/_ext/monadish/DomQueryTest.js +0 -293
  78. package/target/test/frameworkBase/_ext/monadish/DomQueryTest.js.map +0 -1
  79. package/target/test/frameworkBase/_ext/monadish/LangTest.js +0 -89
  80. package/target/test/frameworkBase/_ext/monadish/LangTest.js.map +0 -1
  81. package/target/test/frameworkBase/_ext/monadish/MappingTest.js +0 -39
  82. package/target/test/frameworkBase/_ext/monadish/MappingTest.js.map +0 -1
  83. package/target/test/frameworkBase/_ext/monadish/MonadTest.js +0 -155
  84. package/target/test/frameworkBase/_ext/monadish/MonadTest.js.map +0 -1
  85. package/target/test/frameworkBase/_ext/monadish/StreamTest.js +0 -176
  86. package/target/test/frameworkBase/_ext/monadish/StreamTest.js.map +0 -1
  87. package/target/test/frameworkBase/_ext/monadish/XmlQueryTest.js +0 -1
  88. package/target/test/frameworkBase/_ext/monadish/XmlQueryTest.js.map +0 -1
  89. package/target/test/impl/ImplTest_23.spec_.js +0 -165
  90. package/target/test/impl/ImplTest_23.spec_.js.map +0 -1
  91. package/target/test/typescript/frameworkBase/LangTest.js +0 -112
  92. package/target/test/typescript/frameworkBase/LangTest.js.map +0 -1
  93. package/target/test/typescript/frameworkBase/_ext/monadish/DomQueryTest.js +0 -293
  94. package/target/test/typescript/frameworkBase/_ext/monadish/DomQueryTest.js.map +0 -1
  95. package/target/test/typescript/frameworkBase/_ext/monadish/LangTest.js +0 -89
  96. package/target/test/typescript/frameworkBase/_ext/monadish/LangTest.js.map +0 -1
  97. package/target/test/typescript/frameworkBase/_ext/monadish/MappingProbes.js +0 -115
  98. package/target/test/typescript/frameworkBase/_ext/monadish/MappingProbes.js.map +0 -1
  99. package/target/test/typescript/frameworkBase/_ext/monadish/MappingTest.js +0 -39
  100. package/target/test/typescript/frameworkBase/_ext/monadish/MappingTest.js.map +0 -1
  101. package/target/test/typescript/frameworkBase/_ext/monadish/MonadTest.js +0 -155
  102. package/target/test/typescript/frameworkBase/_ext/monadish/MonadTest.js.map +0 -1
  103. package/target/test/typescript/frameworkBase/_ext/monadish/StreamTest.js +0 -176
  104. package/target/test/typescript/frameworkBase/_ext/monadish/StreamTest.js.map +0 -1
  105. package/target/test/typescript/frameworkBase/_ext/monadish/XmlQueryTest.js +0 -1
  106. package/target/test/typescript/frameworkBase/_ext/monadish/XmlQueryTest.js.map +0 -1
  107. package/target/test/typescript/frameworkBase/_ext/shared/StandardInits.js +0 -264
  108. package/target/test/typescript/frameworkBase/_ext/shared/StandardInits.js.map +0 -1
  109. package/target/test/typescript/frameworkBase/_ext/shared/XmlResponses.js +0 -23
  110. package/target/test/typescript/frameworkBase/_ext/shared/XmlResponses.js.map +0 -1
  111. package/target/test/typescript/impl/ImplTest.js +0 -98
  112. package/target/test/typescript/impl/ImplTest.js.map +0 -1
  113. package/target/test/typescript/impl/SeparatorCharsTest.js +0 -72
  114. package/target/test/typescript/impl/SeparatorCharsTest.js.map +0 -1
  115. package/target/test/typescript/queue/AsynchronousProbe.js +0 -99
  116. package/target/test/typescript/queue/AsynchronousProbe.js.map +0 -1
  117. package/target/test/typescript/queue/AsynchronousQueueTest.js +0 -130
  118. package/target/test/typescript/queue/AsynchronousQueueTest.js.map +0 -1
  119. package/target/test/typescript/xhrCore/EventTests.js +0 -155
  120. package/target/test/typescript/xhrCore/EventTests.js.map +0 -1
  121. package/target/test/typescript/xhrCore/FakeWebsocket.js +0 -25
  122. package/target/test/typescript/xhrCore/FakeWebsocket.js.map +0 -1
  123. package/target/test/typescript/xhrCore/FileUploadTest.js +0 -166
  124. package/target/test/typescript/xhrCore/FileUploadTest.js.map +0 -1
  125. package/target/test/typescript/xhrCore/RequestParamsTest.js +0 -151
  126. package/target/test/typescript/xhrCore/RequestParamsTest.js.map +0 -1
  127. package/target/test/typescript/xhrCore/RequestTest.js +0 -318
  128. package/target/test/typescript/xhrCore/RequestTest.js.map +0 -1
  129. package/target/test/typescript/xhrCore/ResponseTest.js +0 -257
  130. package/target/test/typescript/xhrCore/ResponseTest.js.map +0 -1
  131. package/target/test/typescript/xhrCore/ShadowDomTest.js +0 -122
  132. package/target/test/typescript/xhrCore/ShadowDomTest.js.map +0 -1
  133. package/target/test/typescript/xhrCore/WebsocketTest.js +0 -182
  134. package/target/test/typescript/xhrCore/WebsocketTest.js.map +0 -1
  135. package/target/test/typescript/xhrCore/XhrFormDataTest.js +0 -58
  136. package/target/test/typescript/xhrCore/XhrFormDataTest.js.map +0 -1
  137. package/target/test-classes/.gz +0 -0
  138. package/target/test-classes/com/example/jsfs_js_ts/JsfsJsTsApplicationTests.class +0 -0
  139. package/target/test-classes/fileuploadtest.html +0 -24
  140. package/target/test-classes/jsf-development.js +0 -6781
  141. package/target/test-classes/jsf-development.js.br +0 -0
  142. package/target/test-classes/jsf-development.js.gz +0 -0
  143. package/target/test-classes/jsf-development.js.map +0 -1
  144. package/target/test-classes/jsf.js +0 -3
  145. package/target/test-classes/jsf.js.br +0 -0
  146. package/target/test-classes/jsf.js.gz +0 -0
@@ -1,569 +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.Implementation = void 0;
19
- var Response_1 = require("./xhrCore/Response");
20
- var XhrRequest_1 = require("./xhrCore/XhrRequest");
21
- var AsyncQueue_1 = require("./util/AsyncQueue");
22
- var mona_dish_1 = require("mona-dish");
23
- var Assertions_1 = require("./util/Assertions");
24
- var XhrFormData_1 = require("./xhrCore/XhrFormData");
25
- var ExtDomQuery_1 = require("./util/ExtDomQuery");
26
- var ErrorData_1 = require("./xhrCore/ErrorData");
27
- var Lang_1 = require("./util/Lang");
28
- var Const_1 = require("./core/Const");
29
- var RequestDataResolver_1 = require("./xhrCore/RequestDataResolver");
30
- /*
31
- * allowed project stages
32
- */
33
- var ProjectStages;
34
- (function (ProjectStages) {
35
- ProjectStages["Production"] = "Production";
36
- ProjectStages["Development"] = "Development";
37
- ProjectStages["SystemTest"] = "SystemTest";
38
- ProjectStages["UnitTest"] = "UnitTest";
39
- })(ProjectStages || (ProjectStages = {}));
40
- /*
41
- * blockfilter for the passthrough filtering; the attributes given here
42
- * will not be transmitted from the options into the passthrough
43
- */
44
- var BlockFilter;
45
- (function (BlockFilter) {
46
- BlockFilter["onerror"] = "onerror";
47
- BlockFilter["onevent"] = "onevent";
48
- BlockFilter["render"] = "render";
49
- BlockFilter["execute"] = "execute";
50
- BlockFilter["myfaces"] = "myfaces";
51
- BlockFilter["delay"] = "delay";
52
- BlockFilter["timeout"] = "timeout";
53
- BlockFilter["windowId"] = "windowId";
54
- })(BlockFilter || (BlockFilter = {}));
55
- /**
56
- * Core Implementation
57
- * to distinct between api and impl
58
- *
59
- * The original idea was to make the implementation pluggable
60
- * but this is pointless, you always can overwrite the thin api layer
61
- * however a dedicated api makes sense for readability reasons
62
- */
63
- var Implementation;
64
- (function (Implementation) {
65
- var trim = mona_dish_1.Lang.trim;
66
- var getMessage = Lang_1.ExtLang.getMessage;
67
- var getGlobalConfig = Lang_1.ExtLang.getGlobalConfig;
68
- var assert = Assertions_1.Assertions.assert;
69
- var projectStage = null;
70
- var separator = null;
71
- var eventQueue = [];
72
- var errorQueue = [];
73
- Implementation.requestQueue = null;
74
- /*error reporting threshold*/
75
- var threshold = "ERROR";
76
- /**
77
- * fetches the separator char from the given script tags
78
- *
79
- * @return {char} the separator char for the given script tags
80
- */
81
- function getSeparatorChar() {
82
- var _a, _b, _c;
83
- return (_c = (_b = (_a = resolveGlobalConfig()) === null || _a === void 0 ? void 0 : _a.separator) !== null && _b !== void 0 ? _b : this === null || this === void 0 ? void 0 : this.separator) !== null && _c !== void 0 ? _c : (separator = ExtDomQuery_1.ExtDomquery.searchJsfJsFor(/separator=([^&;]*)/).orElse(":").value);
84
- }
85
- Implementation.getSeparatorChar = getSeparatorChar;
86
- /**
87
- * this is for testing purposes only, since AjaxImpl is a module
88
- * we need to reset for every unit test its internal states
89
- */
90
- function reset() {
91
- projectStage = null;
92
- separator = null;
93
- eventQueue = [];
94
- errorQueue = [];
95
- Implementation.requestQueue = null;
96
- }
97
- Implementation.reset = reset;
98
- /**
99
- * @return the project stage also emitted by the server:
100
- * it cannot be cached and must be delivered over the server
101
- * The value for it comes from the requestInternal parameter of the jsf.js script called "stage".
102
- */
103
- function getProjectStage() {
104
- var _a, _b, _c;
105
- return (_c = (_b = (_a = resolveGlobalConfig()) === null || _a === void 0 ? void 0 : _a.projectStage) !== null && _b !== void 0 ? _b : this === null || this === void 0 ? void 0 : this.projectStage) !== null && _c !== void 0 ? _c : (projectStage = resolveProjectStateFromURL());
106
- }
107
- Implementation.getProjectStage = getProjectStage;
108
- /**
109
- * resolves the project stage as url parameter
110
- * @return the project stage or null
111
- */
112
- function resolveProjectStateFromURL() {
113
- /* run through all script tags and try to find the one that includes jsf.js */
114
- var foundStage = ExtDomQuery_1.ExtDomquery.searchJsfJsFor(/stage=([^&;]*)/).value;
115
- return (foundStage in ProjectStages) ? foundStage : null;
116
- }
117
- Implementation.resolveProjectStateFromURL = resolveProjectStateFromURL;
118
- /**
119
- * implementation of the jsf.util.chain functionality
120
- *
121
- * @param source
122
- * @param event
123
- * @param funcs
124
- */
125
- function chain(source, event) {
126
- var funcs = [];
127
- for (var _i = 2; _i < arguments.length; _i++) {
128
- funcs[_i - 2] = arguments[_i];
129
- }
130
- var ret = true;
131
- var resolveAndExecute = function (func) {
132
- if ("string" != typeof func) {
133
- //function is passed down as chain parameter, can be executed as is
134
- return (ret = ret && (func.call(source, event) !== false));
135
- }
136
- else {
137
- //either a function or a string can be passed in case of a string we have to wrap it into another function
138
- //it it is not a plain executable code but a definition
139
- var sourceCode = trim(func);
140
- if (sourceCode.indexOf("function ") == 0) {
141
- sourceCode = "return ".concat(sourceCode, " (event)");
142
- }
143
- return (ret = ret && (new Function("event", sourceCode).call(source, event) !== false));
144
- }
145
- };
146
- //we can use our stream each functionality to run our chain here..
147
- //the no return value == false stop stream functionality is handled by our resolveAndExecute
148
- mona_dish_1.Stream.of.apply(mona_dish_1.Stream, funcs).each(function (func) { return resolveAndExecute(func); });
149
- return ret;
150
- }
151
- Implementation.chain = chain;
152
- /**
153
- * this function has to send the ajax requests
154
- *
155
- * following request conditions must be met:
156
- * <ul>
157
- * <li> the request must be sent asynchronously! </li>
158
- * <li> the request must be a POST!!! request </li>
159
- * <li> the request url must be the form action attribute </li>
160
- * <li> all requests must be queued with a client side request queue to ensure the request ordering!</li>
161
- * </ul>
162
- *
163
- * @param el any dom element no matter being it html or jsf, from which the event is emitted
164
- * @param event any javascript event supported by that object
165
- * @param opts map of options being pushed into the ajax cycle
166
- *
167
- * a) transformArguments out of the function
168
- * b) passThrough handling with a map copy with a filter map block map
169
- */
170
- function request(el, event, opts) {
171
- var _a, _b, _c;
172
- var _d = (0, RequestDataResolver_1.resolveDefaults)(event, opts, el), resolvedEvent = _d.resolvedEvent, options = _d.options, elem = _d.elem, elementId = _d.elementId, requestCtx = _d.requestCtx, internalCtx = _d.internalCtx, windowId = _d.windowId, isResetValues = _d.isResetValues;
173
- Assertions_1.Assertions.assertRequestIntegrity(options, elem);
174
- requestCtx.assignIf(!!windowId, Const_1.P_WINDOW_ID).value = windowId;
175
- requestCtx.assign(Const_1.CTX_PARAM_PASS_THR).value = filterPassthroughValues(options.value);
176
- requestCtx.assignIf(!!resolvedEvent, Const_1.CTX_PARAM_PASS_THR, Const_1.P_EVT).value = resolvedEvent === null || resolvedEvent === void 0 ? void 0 : resolvedEvent.type;
177
- /**
178
- * ajax pass through context with the source
179
- * onresolvedEvent and onerror
180
- */
181
- requestCtx.assign(Const_1.SOURCE).value = elementId.value;
182
- /**
183
- * on resolvedEvent and onError...
184
- * those values will be traversed later on
185
- * also into the response context
186
- */
187
- requestCtx.assign(Const_1.ON_EVENT).value = (_a = options.value) === null || _a === void 0 ? void 0 : _a.onevent;
188
- requestCtx.assign(Const_1.ON_ERROR).value = (_b = options.value) === null || _b === void 0 ? void 0 : _b.onerror;
189
- /**
190
- * lets drag the myfaces config params also in
191
- */
192
- requestCtx.assign(Const_1.MYFACES).value = (_c = options.value) === null || _c === void 0 ? void 0 : _c.myfaces;
193
- /**
194
- * fetch the parent form
195
- *
196
- * note we also add an override possibility here
197
- * so that people can use dummy forms and work
198
- * with detached objects
199
- */
200
- var form = (0, RequestDataResolver_1.resolveForm)(requestCtx, elem, resolvedEvent);
201
- /**
202
- * binding contract the javax.faces.source must be set
203
- */
204
- requestCtx.assign(Const_1.CTX_PARAM_PASS_THR, Const_1.P_PARTIAL_SOURCE).value = elementId.value;
205
- /**
206
- * javax.faces.partial.ajax must be set to true
207
- */
208
- requestCtx.assign(Const_1.CTX_PARAM_PASS_THR, Const_1.P_AJAX).value = true;
209
- /**
210
- * binding contract the javax.faces.source must be set
211
- */
212
- requestCtx.assign(Const_1.CTX_PARAM_PASS_THR, Const_1.P_PARTIAL_SOURCE).value = elementId.value;
213
- /**
214
- * if resetValues is set to true
215
- * then we have to set javax.faces.resetValues as well
216
- * as pass through parameter
217
- * the value has to be explicitly true, according to
218
- * the specs jsdoc
219
- */
220
- requestCtx.assignIf(isResetValues, Const_1.CTX_PARAM_PASS_THR, Const_1.P_RESET_VALUES).value = true;
221
- //additional meta information to speed things up, note internal non jsf
222
- //pass through options are stored under _mfInternal in the context
223
- internalCtx.assign(Const_1.CTX_PARAM_SRC_FRM_ID).value = form.id.value;
224
- internalCtx.assign(Const_1.CTX_PARAM_SRC_CTL_ID).value = elementId.value;
225
- internalCtx.assign(Const_1.CTX_PARAM_TR_TYPE).value = Const_1.REQ_TYPE_POST;
226
- //mojarra compatibility, mojarra is sending the form id as well
227
- //this is not documented behavior but can be determined by running
228
- //mojarra under blackbox conditions
229
- //i assume it does the same as our formId_submit=1 so leaving it out
230
- //wont hurt but for the sake of compatibility we are going to add it
231
- requestCtx.assign(Const_1.CTX_PARAM_PASS_THR, form.id.value).value = form.id.value;
232
- assignClientWindowId(form, requestCtx);
233
- assignExecute(options, requestCtx, form, elementId.value);
234
- assignRender(options, requestCtx, form, elementId.value);
235
- var delay = (0, RequestDataResolver_1.resolveDelay)(options);
236
- var timeout = (0, RequestDataResolver_1.resolveTimeout)(options);
237
- //now we enqueue the request as asynchronous runnable into our request
238
- //queue and let the queue take over the rest
239
- Implementation.queueHandler.addRequestToQueue(elem, form, requestCtx, internalCtx, delay, timeout);
240
- }
241
- Implementation.request = request;
242
- /**
243
- * Spec. 13.3.3
244
- * Examining the response markup and updating the DOM tree
245
- * @param {XMLHttpRequest} request - the ajax request
246
- * @param {Object} context - the ajax context
247
- */
248
- function response(request, context) {
249
- Response_1.Response.processResponse(request, context);
250
- }
251
- Implementation.response = response;
252
- /**
253
- * adds an error handler to the error queue
254
- *
255
- * @param errorListener the error listener handler
256
- */
257
- function addOnError(errorListener) {
258
- /*error handling already done in the assert of the queue*/
259
- errorQueue.push(errorListener);
260
- }
261
- Implementation.addOnError = addOnError;
262
- /**
263
- * adds an event handler to the event queue
264
- *
265
- * @param eventListener the event listener handler
266
- */
267
- function addOnEvent(eventListener) {
268
- /*error handling already done in the assert of the queue*/
269
- eventQueue.push(eventListener);
270
- }
271
- Implementation.addOnEvent = addOnEvent;
272
- // noinspection JSUnusedLocalSymbols
273
- /**
274
- * sends an event to the event handlers
275
- *
276
- * @param data the event data object hosting the event data according to the spec @see EventData for what is reachable
277
- * @param localHandler an optional event handler, which is processed before the event handler chain
278
- */
279
- function sendEvent(data, localHandler) {
280
- if (localHandler === void 0) { localHandler = function (data) {
281
- }; }
282
- /*now we serve the queue as well*/
283
- localHandler(data);
284
- eventQueue.forEach(function (fn) { return fn(data); });
285
- }
286
- Implementation.sendEvent = sendEvent;
287
- /**
288
- * error handler behavior called internally
289
- * and only into the impl it takes care of the
290
- * internal message transformation to a myfaces internal error
291
- * and then uses the standard send error mechanisms
292
- * also a double error logging prevention is done as well
293
- *
294
- * @param request the request currently being processed
295
- * @param context the context affected by this error
296
- * @param exception the exception being thrown
297
- * @param clearRequestQueue if set to true, clears the request queue of all pending requests
298
- */
299
- function stdErrorHandler(request, context, exception, clearRequestQueue) {
300
- if (clearRequestQueue === void 0) { clearRequestQueue = false; }
301
- //newer browsers do not allow to hold additional values on native objects like exceptions
302
- //we hence capsule it into the request, which is gced automatically
303
- //on ie as well, since the stdErrorHandler usually is called between requests
304
- //this is a valid approach
305
- try {
306
- if (threshold == "ERROR") {
307
- var errorData = ErrorData_1.ErrorData.fromClient(exception);
308
- sendError(errorData);
309
- }
310
- }
311
- finally {
312
- if (clearRequestQueue) {
313
- Implementation.requestQueue.cleanup();
314
- }
315
- }
316
- }
317
- Implementation.stdErrorHandler = stdErrorHandler;
318
- // noinspection JSUnusedLocalSymbols
319
- /**
320
- * implementation triggering the error chain
321
- *
322
- *
323
- *
324
- * handles the errors, in case of an onError exists within the context the onError is called as local error handler
325
- * the registered error handlers in the queue receiv an error message to be dealt with
326
- * and if the projectStage is at development an alert box is displayed
327
- *
328
- * note: we have additional functionality here, via the global config myfaces.config.defaultErrorOutput a function can be provided
329
- * which changes the default output behavior from alert to something else
330
- *
331
- * @param errorData the error data to be displayed
332
- * @param localHandler an optional local error handler which has to be processed before the error handler queue
333
- */
334
- function sendError(errorData, localHandler) {
335
- if (localHandler === void 0) { localHandler = function (data) {
336
- }; }
337
- localHandler(errorData);
338
- errorQueue.forEach(function (errorCallback) {
339
- errorCallback(errorData);
340
- });
341
- var displayError = getGlobalConfig("defaultErrorOutput", (console ? console.error : alert));
342
- displayError(errorData);
343
- }
344
- Implementation.sendError = sendError;
345
- /**
346
- * @node optional element or id defining a rootnode where an element with the id "javax.faces.windowId" is hosted
347
- * @return the client window id of the current window, if one is given if none is found, null is returned
348
- */
349
- function getClientWindow(node) {
350
- var ALTERED = "___mf_id_altered__";
351
- var INIT = "___init____";
352
- /**
353
- * the search root for the dom element search
354
- */
355
- var searchRoot = new mona_dish_1.DQ(node || document.body).querySelectorAll("form input [name='".concat(Const_1.P_CLIENT_WINDOW, "']"));
356
- /**
357
- * lazy helper to fetch the window id from the window url
358
- */
359
- var fetchWindowIdFromUrl = function () { return ExtDomQuery_1.ExtDomquery.searchJsfJsFor(/jfwid=([^&;]*)/).orElse(null).value; };
360
- /**
361
- * functional double check based on stream reduction
362
- * the values should be identical or on INIT value which is a premise to
363
- * skip the first check
364
- *
365
- * @param value1
366
- * @param value2
367
- */
368
- var differenceCheck = function (value1, value2) {
369
- if (value1 == INIT) {
370
- return value2;
371
- }
372
- else if (value1 == ALTERED || value1 != value2) {
373
- return ALTERED;
374
- }
375
- return value2;
376
- };
377
- /**
378
- * helper for cleaner code, maps the value from an item
379
- *
380
- * @param item
381
- */
382
- var getValue = function (item) { return item.attr("value").value; };
383
- /**
384
- * fetch the window id from the forms
385
- * window ids must be present in all forms
386
- * or non existent. If they exist all of them must be the same
387
- */
388
- var formWindowId = searchRoot.stream.map(getValue).reduce(differenceCheck, INIT);
389
- //if the resulting window id is set on altered then we have an unresolvable problem
390
- assert(ALTERED != formWindowId.value, "Multiple different windowIds found in document");
391
- /**
392
- * return the window id or null
393
- * prio, forms under node/document and if not given then from the url
394
- */
395
- return formWindowId.value != INIT ? formWindowId.value : fetchWindowIdFromUrl();
396
- }
397
- Implementation.getClientWindow = getClientWindow;
398
- /**
399
- * collect and encode data for a given form element (must be of type form)
400
- * find the javax.faces.ViewState element and encode its value as well!
401
- * @return a concatenated string of the encoded values!
402
- *
403
- * @throws Error in case of the given element not being of type form!
404
- * https://issues.apache.org/jira/browse/MYFACES-2110
405
- */
406
- function getViewState(form) {
407
- /**
408
- * typecheck assert!, we opt for strong typing here
409
- * because it makes it easier to detect bugs
410
- */
411
- var element = mona_dish_1.DQ.byId(form, true);
412
- if (!element.isTag(Const_1.TAG_FORM)) {
413
- throw new Error(getMessage("ERR_VIEWSTATE"));
414
- }
415
- var formData = new XhrFormData_1.XhrFormData(element);
416
- return formData.toString();
417
- }
418
- Implementation.getViewState = getViewState;
419
- /**
420
- * this at the first sight looks like a weird construct, but we need to do it this way
421
- * for testing, we cannot proxy addRequestToQueue from the testing frameworks directly
422
- * but we need to keep it under unit tests.
423
- */
424
- Implementation.queueHandler = {
425
- /**
426
- * public to make it shimmable for tests
427
- *
428
- * adds a new request to our queue for further processing
429
- */
430
- addRequestToQueue: function (elem, form, reqCtx, respPassThr, delay, timeout) {
431
- if (delay === void 0) { delay = 0; }
432
- if (timeout === void 0) { timeout = 0; }
433
- Implementation.requestQueue = Implementation.requestQueue !== null && Implementation.requestQueue !== void 0 ? Implementation.requestQueue : new AsyncQueue_1.AsynchronouseQueue();
434
- Implementation.requestQueue.enqueue(new XhrRequest_1.XhrRequest(elem, form, reqCtx, respPassThr, [], timeout), delay);
435
- }
436
- };
437
- //----------------------------------------------- Methods ---------------------------------------------------------------------
438
- /**
439
- * the idea is to replace some placeholder parameters with their respective values
440
- * placeholder params like @all, @none, @form, @this need to be replaced by
441
- * the values defined by the specification
442
- *
443
- * This function does it for the render parameters
444
- *
445
- * @param requestOptions the source options coming in as options object from jsf.ajax.request (options parameter)
446
- * @param targetContext the receiving target context
447
- * @param issuingForm the issuing form
448
- * @param sourceElementId the executing element triggering the jsf.ajax.request (id of it)
449
- */
450
- function assignRender(requestOptions, targetContext, issuingForm, sourceElementId) {
451
- if (requestOptions.getIf(Const_1.RENDER).isPresent()) {
452
- remapDefaultConstants(targetContext.getIf(Const_1.CTX_PARAM_PASS_THR).get({}), Const_1.P_RENDER, requestOptions.getIf(Const_1.RENDER).value, issuingForm, sourceElementId);
453
- }
454
- }
455
- /**
456
- * the idea is to replace some placeholder parameters with their respective values
457
- * placeholder params like @all, @none, @form, @this need to be replaced by
458
- * the values defined by the specification
459
- *
460
- * This function does it for the execute parameters
461
- *
462
- * @param requestOptions the source options coming in as options object from jsf.ajax.request (options parameter)
463
- * @param targetContext the receiving target context
464
- * @param issuingForm the issuing form
465
- * @param sourceElementId the executing element triggering the jsf.ajax.request (id of it)
466
- */
467
- function assignExecute(requestOptions, targetContext, issuingForm, sourceElementId) {
468
- if (requestOptions.getIf(Const_1.CTX_PARAM_EXECUTE).isPresent()) {
469
- /*the options must be a blank delimited list of strings*/
470
- /*compliance with Mojarra which automatically adds @this to an execute
471
- * the spec rev 2.0a however states, if none is issued nothing at all should be sent down
472
- */
473
- requestOptions.assign(Const_1.CTX_PARAM_EXECUTE).value = [requestOptions.getIf(Const_1.CTX_PARAM_EXECUTE).value, Const_1.IDENT_THIS].join(" ");
474
- remapDefaultConstants(targetContext.getIf(Const_1.CTX_PARAM_PASS_THR).get({}), Const_1.P_EXECUTE, requestOptions.getIf(Const_1.CTX_PARAM_EXECUTE).value, issuingForm, sourceElementId);
475
- }
476
- else {
477
- targetContext.assign(Const_1.CTX_PARAM_PASS_THR, Const_1.P_EXECUTE).value = sourceElementId;
478
- }
479
- }
480
- /**
481
- * apply the browser tab where the request was originating from
482
- *
483
- * @param form the form hosting the client window id
484
- * @param targetContext the target context receiving the value
485
- */
486
- function assignClientWindowId(form, targetContext) {
487
- var clientWindow = jsf.getClientWindow(form.getAsElem(0).value);
488
- if (clientWindow) {
489
- targetContext.assign(Const_1.CTX_PARAM_PASS_THR, Const_1.P_CLIENT_WINDOW).value = clientWindow;
490
- }
491
- }
492
- /**
493
- * transforms the user values to the expected one
494
- * with the proper none all form and this handling
495
- * (note we also could use a simple string replace but then
496
- * we would have had double entries under some circumstances)
497
- *
498
- * there are several standardized constants which need a special treatment
499
- * like @all, @none, @form, @this
500
- *
501
- * @param targetConfig the target configuration receiving the final values
502
- * @param targetKey the target key
503
- * @param userValues the passed user values (aka input string which needs to be transformed)
504
- * @param issuingForm the form where the issuing element originates
505
- * @param issuingElementId the issuing element
506
- */
507
- function remapDefaultConstants(targetConfig, targetKey, userValues, issuingForm, issuingElementId) {
508
- //a cleaner implementation of the transform list method
509
- var iterValues = (userValues) ? trim(userValues).split(/\s+/gi) : [];
510
- var ret = [];
511
- var processed = {};
512
- //the idea is simply to loop over all values and then replace
513
- //their generic values and filter out doubles
514
- //this is more readable than the old indexed based solution
515
- //and not really slower because we had to build up the index in our old solution
516
- //anyway
517
- for (var cnt = 0; cnt < iterValues.length; cnt++) {
518
- //avoid doubles
519
- if (iterValues[cnt] in processed) {
520
- continue;
521
- }
522
- switch (iterValues[cnt]) {
523
- //@none no values should be sent
524
- case Const_1.IDENT_NONE:
525
- return targetConfig.delete(targetKey);
526
- //@all is a pass through case according to the spec
527
- case Const_1.IDENT_ALL:
528
- targetConfig.assign(targetKey).value = Const_1.IDENT_ALL;
529
- return targetConfig;
530
- //@form pushes the issuing form id into our list
531
- case Const_1.IDENT_FORM:
532
- ret.push(issuingForm.id.value);
533
- processed[issuingForm.id.value] = true;
534
- break;
535
- //@this is replaced with the current issuing element id
536
- case Const_1.IDENT_THIS:
537
- if (!(issuingElementId in processed)) {
538
- ret.push(issuingElementId);
539
- processed[issuingElementId] = true;
540
- }
541
- break;
542
- default:
543
- ret.push(iterValues[cnt]);
544
- processed[iterValues[cnt]] = true;
545
- }
546
- }
547
- //We now add the target as joined list
548
- targetConfig.assign(targetKey).value = ret.join(" ");
549
- return targetConfig;
550
- }
551
- /**
552
- * filter the options given with a blacklist so that only
553
- * the values required for passthough land in the ajax request
554
- *
555
- * @param {Context} mappedOpts the options to be filtered
556
- */
557
- function filterPassthroughValues(mappedOpts) {
558
- //we now can use the full code reduction given by our stream api
559
- //to filter
560
- return mona_dish_1.Stream.ofAssoc(mappedOpts)
561
- .filter(function (item) { return !(item[0] in BlockFilter); })
562
- .collect(new mona_dish_1.AssocArrayCollector());
563
- }
564
- function resolveGlobalConfig() {
565
- var _a, _b;
566
- return (_b = (_a = window === null || window === void 0 ? void 0 : window[Const_1.MYFACES]) === null || _a === void 0 ? void 0 : _a.config) !== null && _b !== void 0 ? _b : {};
567
- }
568
- })(Implementation = exports.Implementation || (exports.Implementation = {}));
569
- //# sourceMappingURL=AjaxImpl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AjaxImpl.js","sourceRoot":"","sources":["../../../../src/main/typescript/impl/AjaxImpl.ts"],"names":[],"mappings":"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"}