jsf.js_next_gen 4.0.0-RC.25 → 4.0.0-RC.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/window/faces-development.js +48 -21
- package/dist/window/faces-development.js.br +0 -0
- package/dist/window/faces-development.js.gz +0 -0
- package/dist/window/faces-development.js.map +1 -1
- package/dist/window/faces.js +1 -1
- package/dist/window/faces.js.br +0 -0
- package/dist/window/faces.js.gz +0 -0
- package/dist/window/faces.js.map +1 -1
- package/dist/window/jsf-development.js +48 -21
- package/dist/window/jsf-development.js.br +0 -0
- package/dist/window/jsf-development.js.gz +0 -0
- package/dist/window/jsf-development.js.map +1 -1
- package/dist/window/jsf.js +1 -1
- package/dist/window/jsf.js.br +0 -0
- package/dist/window/jsf.js.gz +0 -0
- package/dist/window/jsf.js.map +1 -1
- package/package.json +4 -4
- package/src/main/typescript/impl/xhrCore/RequestDataResolver.ts +21 -1
- package/src/main/typescript/impl/xhrCore/XhrFormData.ts +15 -18
- package/src/main/typescript/impl/xhrCore/XhrRequest.ts +14 -3
- package/target/impl/xhrCore/RequestDataResolver.js +21 -1
- package/target/impl/xhrCore/RequestDataResolver.js.map +1 -1
- package/target/impl/xhrCore/XhrFormData.js +12 -14
- package/target/impl/xhrCore/XhrFormData.js.map +1 -1
- package/target/impl/xhrCore/XhrRequest.js +11 -2
- package/target/impl/xhrCore/XhrRequest.js.map +1 -1
|
@@ -520,10 +520,10 @@ class DomQuery {
|
|
|
520
520
|
const doc = document.implementation.createHTMLDocument("");
|
|
521
521
|
markup = trim(markup);
|
|
522
522
|
let lowerMarkup = markup.toLowerCase();
|
|
523
|
-
if (lowerMarkup.
|
|
524
|
-
lowerMarkup.
|
|
525
|
-
lowerMarkup.
|
|
526
|
-
lowerMarkup.
|
|
523
|
+
if (lowerMarkup.search(/\<\!doctypeW+/gi) != -1 ||
|
|
524
|
+
lowerMarkup.search(/\<html\w+/gi) != -1 ||
|
|
525
|
+
lowerMarkup.search(/\<head\W+/gi) != -1 ||
|
|
526
|
+
lowerMarkup.search(/\<body\W+/gi) != -1) {
|
|
527
527
|
doc.documentElement.innerHTML = markup;
|
|
528
528
|
return new DomQuery(doc.documentElement);
|
|
529
529
|
}
|
|
@@ -6531,7 +6531,7 @@ exports.EventData = EventData;
|
|
|
6531
6531
|
* limitations under the License.
|
|
6532
6532
|
*/
|
|
6533
6533
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
6534
|
-
exports.resolveDefaults = exports.getEventTarget = exports.resolveWindowId = exports.resolveDelay = exports.resolveTimeout = exports.resoveNamingContainerMapper = exports.resolveViewRootId = exports.resolveViewId = exports.resolveForm = exports.resolveFinalUrl = exports.resolveTargetUrl = exports.resolveHandlerFunc = void 0;
|
|
6534
|
+
exports.resolveDefaults = exports.getEventTarget = exports.resolveWindowId = exports.resolveDelay = exports.resolveTimeout = exports.resoveConfigNamingContainerMapper = exports.resoveNamingContainerMapper = exports.resolveViewRootId = exports.resolveViewId = exports.resolveForm = exports.resolveFinalUrl = exports.resolveTargetUrl = exports.resolveHandlerFunc = void 0;
|
|
6535
6535
|
const mona_dish_1 = __webpack_require__(/*! mona-dish */ "./node_modules/mona-dish/src/main/typescript/index_core.ts");
|
|
6536
6536
|
const Const_1 = __webpack_require__(/*! ../core/Const */ "./src/main/typescript/impl/core/Const.ts");
|
|
6537
6537
|
const Lang_1 = __webpack_require__(/*! ../util/Lang */ "./src/main/typescript/impl/util/Lang.ts");
|
|
@@ -6617,6 +6617,26 @@ function resoveNamingContainerMapper(internalContext) {
|
|
|
6617
6617
|
return (key, value) => (key.indexOf(prefix) == 0) ? [key, value] : [prefix + key, value];
|
|
6618
6618
|
}
|
|
6619
6619
|
exports.resoveNamingContainerMapper = resoveNamingContainerMapper;
|
|
6620
|
+
/**
|
|
6621
|
+
* we provide the same for configs
|
|
6622
|
+
* @param internalContext
|
|
6623
|
+
*/
|
|
6624
|
+
function resoveConfigNamingContainerMapper(internalContext) {
|
|
6625
|
+
const isNamedViewRoot = internalContext.getIf(Const_1.NAMED_VIEWROOT).isPresent();
|
|
6626
|
+
if (!isNamedViewRoot) {
|
|
6627
|
+
return;
|
|
6628
|
+
}
|
|
6629
|
+
const partialId = internalContext.getIf(Const_1.NAMING_CONTAINER_ID).value;
|
|
6630
|
+
const SEP = (0, Const_1.$faces)().separatorchar;
|
|
6631
|
+
const prefix = partialId + SEP;
|
|
6632
|
+
return (config) => {
|
|
6633
|
+
let assoc = config.stream
|
|
6634
|
+
.map(([key, data]) => (key.indexOf(prefix) == 0) ? [key, data] : [prefix + key, data])
|
|
6635
|
+
.collect(new mona_dish_1.AssocArrayCollector());
|
|
6636
|
+
return new ExtDomQuery_1.ExtConfig(assoc);
|
|
6637
|
+
};
|
|
6638
|
+
}
|
|
6639
|
+
exports.resoveConfigNamingContainerMapper = resoveConfigNamingContainerMapper;
|
|
6620
6640
|
function resolveTimeout(options) {
|
|
6621
6641
|
var _a;
|
|
6622
6642
|
let getCfg = Lang_1.ExtLang.getLocalOrGlobalConfig;
|
|
@@ -7555,9 +7575,9 @@ class XhrFormData extends mona_dish_1.Config {
|
|
|
7555
7575
|
//a call from getViewState passes the form element as datasource,
|
|
7556
7576
|
//so we have two call points
|
|
7557
7577
|
// atm we basically encode twice, to keep the code leaner
|
|
7558
|
-
// this will be later
|
|
7559
|
-
// which are already covered by an external
|
|
7560
|
-
// the encoding a second time, because they are overwritten by the
|
|
7578
|
+
// this will be later optimized, practically elements
|
|
7579
|
+
// which are already covered by an external ViewState do not need
|
|
7580
|
+
// the encoding a second time, because they are overwritten by the ViewState again
|
|
7561
7581
|
if (isString(dataSource)) {
|
|
7562
7582
|
this.assignEncodedString(this.dataSource);
|
|
7563
7583
|
}
|
|
@@ -7609,15 +7629,15 @@ class XhrFormData extends mona_dish_1.Config {
|
|
|
7609
7629
|
applyViewState(form) {
|
|
7610
7630
|
let viewStateElement = form.querySelectorAllDeep(`[name*='${(0, Const_1.$nsp)(Const_1.P_VIEWSTATE)}'`);
|
|
7611
7631
|
let viewState = viewStateElement.inputValue;
|
|
7612
|
-
|
|
7613
|
-
this.
|
|
7632
|
+
let viewStateName = viewStateElement.name.value;
|
|
7633
|
+
this.assignIf(viewState.isPresent(), viewStateName).value = [viewState.value];
|
|
7614
7634
|
}
|
|
7615
7635
|
/**
|
|
7616
7636
|
* assigns an url encoded string to this xhrFormData object
|
|
7617
7637
|
* as key value entry
|
|
7618
7638
|
* @param encoded
|
|
7619
7639
|
*/
|
|
7620
|
-
assignEncodedString(encoded) {
|
|
7640
|
+
assignEncodedString(encoded, overwrite = true) {
|
|
7621
7641
|
// this code filters out empty strings as key value pairs
|
|
7622
7642
|
let keyValueEntries = decodeURIComponent(encoded).split(/&/gi)
|
|
7623
7643
|
.filter(item => !!(item || '')
|
|
@@ -7628,7 +7648,7 @@ class XhrFormData extends mona_dish_1.Config {
|
|
|
7628
7648
|
* assign a set of key value pairs passed as array ['key=val1', 'key2=val2']
|
|
7629
7649
|
* @param keyValueEntries
|
|
7630
7650
|
*/
|
|
7631
|
-
assignString(keyValueEntries) {
|
|
7651
|
+
assignString(keyValueEntries, overwrite = true) {
|
|
7632
7652
|
let toMerge = new ExtDomQuery_1.ExtConfig({});
|
|
7633
7653
|
function splitToKeyVal(line) {
|
|
7634
7654
|
return line.split(/=(.*)/gi);
|
|
@@ -7647,7 +7667,7 @@ class XhrFormData extends mona_dish_1.Config {
|
|
|
7647
7667
|
toMerge.append(keyVal[0]).value = (_b = (_a = keyVal === null || keyVal === void 0 ? void 0 : keyVal.splice(1)) === null || _a === void 0 ? void 0 : _a.join("")) !== null && _b !== void 0 ? _b : "";
|
|
7648
7668
|
});
|
|
7649
7669
|
//merge with overwrite but no append! (aka no double entries are allowed)
|
|
7650
|
-
this.shallowMerge(toMerge);
|
|
7670
|
+
this.shallowMerge(toMerge, overwrite);
|
|
7651
7671
|
}
|
|
7652
7672
|
/**
|
|
7653
7673
|
* @param paramsMapper ... pre encode the params if needed, default is to map them 1:1
|
|
@@ -7739,20 +7759,18 @@ class XhrFormData extends mona_dish_1.Config {
|
|
|
7739
7759
|
}
|
|
7740
7760
|
//lets encode the form elements
|
|
7741
7761
|
let formElements = toEncode.deepElements.encodeFormElement();
|
|
7742
|
-
const mapped = this.
|
|
7762
|
+
const mapped = this.remapKeysForNamingContainer(formElements);
|
|
7743
7763
|
this.shallowMerge(mapped);
|
|
7744
7764
|
}
|
|
7745
|
-
|
|
7765
|
+
remapKeysForNamingContainer(formElements) {
|
|
7746
7766
|
let ret = new mona_dish_1.Config({});
|
|
7747
|
-
formElements.stream
|
|
7767
|
+
formElements.stream
|
|
7768
|
+
.map(([key, item]) => this.paramsMapper(key, item))
|
|
7748
7769
|
.each(([key, item]) => {
|
|
7749
7770
|
ret.assign(key).value = item;
|
|
7750
7771
|
});
|
|
7751
7772
|
return ret;
|
|
7752
7773
|
}
|
|
7753
|
-
remapKeyForNamingContainer(key) {
|
|
7754
|
-
return this.paramsMapper(key, "")[0];
|
|
7755
|
-
}
|
|
7756
7774
|
appendInputs(ret) {
|
|
7757
7775
|
mona_dish_1.Stream.ofAssoc(this.value)
|
|
7758
7776
|
.flatMap(([key, item]) => mona_dish_1.Stream.of(...item).map(item => {
|
|
@@ -7858,6 +7876,8 @@ class XhrRequest {
|
|
|
7858
7876
|
};
|
|
7859
7877
|
try {
|
|
7860
7878
|
let formElement = this.sourceForm.getAsElem(0).value;
|
|
7879
|
+
// by spec the viewstate must be called to provide
|
|
7880
|
+
// decorated encoding capabilities
|
|
7861
7881
|
let viewState = (0, Const_1.$faces)().getViewState(formElement);
|
|
7862
7882
|
// encoded we need to decode
|
|
7863
7883
|
// We generated a base representation of the current form
|
|
@@ -7867,8 +7887,11 @@ class XhrRequest {
|
|
|
7867
7887
|
// whatever the formData object delivers
|
|
7868
7888
|
// the partialIdsArray arr is almost deprecated legacy code where we allowed to send a separate list of partial
|
|
7869
7889
|
// ids for reduced load and server processing, this will be removed soon, we can handle the same via execute
|
|
7870
|
-
// anyway
|
|
7871
|
-
|
|
7890
|
+
// anyway
|
|
7891
|
+
// per spec every parameter sent into the request must be naming container
|
|
7892
|
+
// prefixed
|
|
7893
|
+
const namingContainerMapper = (0, RequestDataResolver_1.resoveNamingContainerMapper)(this.internalContext);
|
|
7894
|
+
let formData = new XhrFormData_1.XhrFormData(this.sourceForm, namingContainerMapper, viewState, executesArr(), this.partialIdsArray);
|
|
7872
7895
|
this.contentType = formData.isMultipartRequest ? "undefined" : this.contentType;
|
|
7873
7896
|
// next step the pass through parameters are merged in for post params
|
|
7874
7897
|
this.requestContext.$nspEnabled = false;
|
|
@@ -7879,6 +7902,10 @@ class XhrRequest {
|
|
|
7879
7902
|
// this can be used and is used in the impl to enrich the post request parameters with additional
|
|
7880
7903
|
// information
|
|
7881
7904
|
try {
|
|
7905
|
+
// per spec every param sent down needs to be remapped
|
|
7906
|
+
// and prefixed by the naming container id
|
|
7907
|
+
let configNamingContainerMapper = (0, RequestDataResolver_1.resoveConfigNamingContainerMapper)(this.internalContext);
|
|
7908
|
+
// requestPassThroughParams = configNamingContainerMapper(requestPassThroughParams);
|
|
7882
7909
|
formData.shallowMerge(requestPassThroughParams, true, true);
|
|
7883
7910
|
}
|
|
7884
7911
|
finally {
|
|
Binary file
|
|
Binary file
|