jsf.js_next_gen 4.0.0-RC.10 → 4.0.0-RC.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 (37) hide show
  1. package/dist/window/faces-development.js +58 -15
  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 +58 -15
  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 +2 -2
  18. package/src/main/test.xml +23 -0
  19. package/src/main/typescript/impl/core/Const.ts +2 -0
  20. package/src/main/typescript/impl/util/Lang.ts +3 -3
  21. package/src/main/typescript/impl/xhrCore/ResonseDataResolver.ts +1 -1
  22. package/src/main/typescript/impl/xhrCore/ResponseProcessor.ts +15 -8
  23. package/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts +1 -1
  24. package/src/main/typescript/test/xhrCore/ResponseTest.spec.ts +135 -2
  25. package/target/impl/core/Const.js +5 -3
  26. package/target/impl/core/Const.js.map +1 -1
  27. package/target/impl/util/Lang.js +3 -3
  28. package/target/impl/util/Lang.js.map +1 -1
  29. package/target/impl/xhrCore/ResonseDataResolver.js +1 -1
  30. package/target/impl/xhrCore/ResonseDataResolver.js.map +1 -1
  31. package/target/impl/xhrCore/ResponseProcessor.js +14 -6
  32. package/target/impl/xhrCore/ResponseProcessor.js.map +1 -1
  33. package/target/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js +1 -1
  34. package/target/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js.map +1 -1
  35. package/target/test/xhrCore/ResponseTest.spec.js +123 -2
  36. package/target/test/xhrCore/ResponseTest.spec.js.map +1 -1
  37. package/tmp.xml +36 -0
@@ -1082,7 +1082,40 @@ class DomQuery {
1082
1082
  return new DomQuery(func());
1083
1083
  }
1084
1084
  }
1085
- parents(selector) {
1085
+ /**
1086
+ * find all parents in the hierarchy for which the selector matches
1087
+ * @param selector
1088
+ */
1089
+ allParents(selector) {
1090
+ let parent = this.parent();
1091
+ let ret = [];
1092
+ while (parent.isPresent()) {
1093
+ if (parent.matchesSelector(selector)) {
1094
+ ret.push(parent);
1095
+ }
1096
+ parent = parent.parent();
1097
+ }
1098
+ return new DomQuery(...ret);
1099
+ }
1100
+ /**
1101
+ * finds the first parent in the hierarchy for which the selector matches
1102
+ * @param selector
1103
+ */
1104
+ firstParent(selector) {
1105
+ let parent = this.parent();
1106
+ while (parent.isPresent()) {
1107
+ if (parent.matchesSelector(selector)) {
1108
+ return parent;
1109
+ }
1110
+ parent = parent.parent();
1111
+ }
1112
+ return DomQuery.absent;
1113
+ }
1114
+ /**
1115
+ * fetches all parents as long as the filter criterium matches
1116
+ * @param selector
1117
+ */
1118
+ parentsWhileMatch(selector) {
1086
1119
  const retArr = [];
1087
1120
  let parent = this.parent().filter(item => item.matchesSelector(selector));
1088
1121
  while (parent.isPresent()) {
@@ -1094,7 +1127,7 @@ class DomQuery {
1094
1127
  parent() {
1095
1128
  let ret = [];
1096
1129
  this.eachElem((item) => {
1097
- let parent = item.parentNode || item.host;
1130
+ let parent = item.parentNode || item.host || item.shadowRoot;
1098
1131
  if (parent && ret.indexOf(parent) == -1) {
1099
1132
  ret.push(parent);
1100
1133
  }
@@ -4991,9 +5024,9 @@ var PushImpl;
4991
5024
  * limitations under the License.
4992
5025
  */
4993
5026
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4994
- exports.CTX_PARAM_PASS_THR = exports.CTX_PARAM_TR_TYPE = exports.CTX_PARAM_SRC_CTL_ID = exports.CTX_PARAM_SRC_FRM_ID = exports.CTX_PARAM_MF_INTERNAL = exports.TIMEOUT_EVENT = exports.CLIENT_ERROR = exports.SERVER_ERROR = exports.MALFORMEDXML = exports.EMPTY_RESPONSE = exports.HTTPERROR = exports.RESPONSE_XML = exports.RESPONSE_TEXT = exports.ERROR_MESSAGE = exports.ERROR_NAME = exports.STATUS = exports.SOURCE = exports.SUCCESS = exports.COMPLETE = exports.BEGIN = exports.ON_EVENT = exports.ON_ERROR = exports.EVENT = exports.ERROR = exports.WINDOW_ID = exports.CTX_PARAM_RENDER = exports.P_BEHAVIOR_EVENT = exports.P_WINDOW_ID = exports.P_RESET_VALUES = exports.P_EVT = exports.P_RENDER = exports.P_EXECUTE = exports.P_AJAX = exports.IDENT_FORM = exports.IDENT_THIS = exports.IDENT_NONE = exports.IDENT_ALL = exports.HTML_CLIENT_WINDOW = exports.HTML_VIEWSTATE = exports.EMPTY_MAP = exports.EMPTY_STR = exports.EMPTY_FUNC = exports.P_RESOURCE = exports.P_VIEWBODY = exports.P_VIEWHEAD = exports.P_VIEWROOT = exports.P_CLIENT_WINDOW = exports.P_VIEWSTATE = exports.PARTIAL_ID = exports.P_PARTIAL_SOURCE = void 0;
4995
- exports.SEL_SCRIPTS_STYLES = exports.MYFACES = exports.DEFERRED_HEAD_INSERTS = exports.UPDATE_ELEMS = exports.UPDATE_FORMS = exports.CMD_REDIRECT = exports.CMD_EXTENSION = exports.CMD_ATTRIBUTES = exports.CMD_ERROR = exports.CMD_EVAL = exports.CMD_INSERT = exports.CMD_DELETE = exports.CMD_UPDATE = exports.CMD_CHANGES = exports.RESP_PARTIAL = exports.ATTR_ID = exports.ATTR_VALUE = exports.ATTR_NAME = exports.ATTR_URL = exports.ERR_NO_PARTIAL_RESPONSE = exports.PHASE_PROCESS_RESPONSE = exports.SEL_RESPONSE_XML = exports.SEL_CLIENT_WINDOW_ELEM = exports.SEL_VIEWSTATE_ELEM = exports.TAG_ATTR = exports.TAG_AFTER = exports.TAG_BEFORE = exports.TAG_BODY = exports.TAG_FORM = exports.TAG_HEAD = exports.STD_ACCEPT = exports.NO_TIMEOUT = exports.MULTIPART = exports.URL_ENCODED = exports.STATE_EVT_COMPLETE = exports.STATE_EVT_TIMEOUT = exports.STATE_EVT_BEGIN = exports.REQ_TYPE_POST = exports.REQ_TYPE_GET = exports.ENCODED_URL = exports.VAL_AJAX = exports.REQ_ACCEPT = exports.HEAD_FACES_REQ = exports.CONTENT_TYPE = exports.STAGE_DEVELOPMENT = exports.CTX_PARAM_EXECUTE = exports.CTX_PARAM_RST = exports.CTX_PARAM_TIMEOUT = exports.CTX_PARAM_DELAY = exports.CTX_PARAM_SPEC_PARAMS = void 0;
4996
- exports.$nsp = exports.UNKNOWN = exports.MAX_RECONNECT_ATTEMPTS = exports.RECONNECT_INTERVAL = exports.APPLIED_CLIENT_WINDOW = exports.APPLIED_VST = exports.REASON_EXPIRED = exports.MF_NONE = void 0;
5027
+ exports.CTX_PARAM_TR_TYPE = exports.CTX_PARAM_SRC_CTL_ID = exports.CTX_PARAM_SRC_FRM_ID = exports.CTX_PARAM_MF_INTERNAL = exports.TIMEOUT_EVENT = exports.CLIENT_ERROR = exports.SERVER_ERROR = exports.MALFORMEDXML = exports.EMPTY_RESPONSE = exports.HTTPERROR = exports.RESPONSE_XML = exports.RESPONSE_TEXT = exports.ERROR_MESSAGE = exports.ERROR_NAME = exports.STATUS = exports.SOURCE = exports.SUCCESS = exports.COMPLETE = exports.BEGIN = exports.ON_EVENT = exports.ON_ERROR = exports.EVENT = exports.ERROR = exports.WINDOW_ID = exports.CTX_PARAM_RENDER = exports.P_BEHAVIOR_EVENT = exports.P_WINDOW_ID = exports.P_RESET_VALUES = exports.P_EVT = exports.P_RENDER_OVERRIDE = exports.P_RENDER = exports.P_EXECUTE = exports.P_AJAX = exports.IDENT_FORM = exports.IDENT_THIS = exports.IDENT_NONE = exports.IDENT_ALL = exports.HTML_CLIENT_WINDOW = exports.HTML_VIEWSTATE = exports.EMPTY_MAP = exports.EMPTY_STR = exports.EMPTY_FUNC = exports.P_RESOURCE = exports.P_VIEWBODY = exports.P_VIEWHEAD = exports.P_VIEWROOT = exports.P_CLIENT_WINDOW = exports.P_VIEWSTATE = exports.PARTIAL_ID = exports.P_PARTIAL_SOURCE = void 0;
5028
+ exports.MYFACES = exports.DEFERRED_HEAD_INSERTS = exports.UPDATE_ELEMS = exports.UPDATE_FORMS = exports.CMD_REDIRECT = exports.CMD_EXTENSION = exports.CMD_ATTRIBUTES = exports.CMD_ERROR = exports.CMD_EVAL = exports.CMD_INSERT = exports.CMD_DELETE = exports.CMD_UPDATE = exports.CMD_CHANGES = exports.RESP_PARTIAL = exports.ATTR_ID = exports.ATTR_VALUE = exports.ATTR_NAME = exports.ATTR_URL = exports.ERR_NO_PARTIAL_RESPONSE = exports.PHASE_PROCESS_RESPONSE = exports.SEL_RESPONSE_XML = exports.SEL_CLIENT_WINDOW_ELEM = exports.SEL_VIEWSTATE_ELEM = exports.TAG_ATTR = exports.TAG_AFTER = exports.TAG_BEFORE = exports.TAG_BODY = exports.TAG_FORM = exports.TAG_HEAD = exports.STD_ACCEPT = exports.NO_TIMEOUT = exports.MULTIPART = exports.URL_ENCODED = exports.STATE_EVT_COMPLETE = exports.STATE_EVT_TIMEOUT = exports.STATE_EVT_BEGIN = exports.REQ_TYPE_POST = exports.REQ_TYPE_GET = exports.ENCODED_URL = exports.VAL_AJAX = exports.REQ_ACCEPT = exports.HEAD_FACES_REQ = exports.CONTENT_TYPE = exports.STAGE_DEVELOPMENT = exports.CTX_PARAM_EXECUTE = exports.CTX_PARAM_RST = exports.CTX_PARAM_TIMEOUT = exports.CTX_PARAM_DELAY = exports.CTX_PARAM_SPEC_PARAMS = exports.CTX_PARAM_PASS_THR = void 0;
5029
+ exports.$nsp = exports.UNKNOWN = exports.MAX_RECONNECT_ATTEMPTS = exports.RECONNECT_INTERVAL = exports.APPLIED_CLIENT_WINDOW = exports.APPLIED_VST = exports.REASON_EXPIRED = exports.MF_NONE = exports.SEL_SCRIPTS_STYLES = void 0;
4997
5030
  /*
4998
5031
  * [export const] constants
4999
5032
  */
@@ -5020,6 +5053,8 @@ exports.IDENT_FORM = "@form";
5020
5053
  exports.P_AJAX = "jakarta.faces.partial.ajax";
5021
5054
  exports.P_EXECUTE = "jakarta.faces.partial.execute";
5022
5055
  exports.P_RENDER = "jakarta.faces.partial.render";
5056
+ /*render override for viewbody or viewroot, in both cases an all is performed*/
5057
+ exports.P_RENDER_OVERRIDE = "_myfaces.rendeOverride";
5023
5058
  exports.P_EVT = "jakarta.faces.partial.event";
5024
5059
  exports.P_RESET_VALUES = "jakarta.faces.partial.resetValues";
5025
5060
  exports.P_WINDOW_ID = "jakarta.faces.windowId";
@@ -6002,7 +6037,7 @@ var ExtLang;
6002
6037
  */
6003
6038
  function getForm(elem, event) {
6004
6039
  let queryElem = new mona_dish_1.DQ(elem);
6005
- let eventTarget = new mona_dish_1.DQ((0, RequestDataResolver_1.getEventTarget)(event));
6040
+ let eventTarget = (event) ? new mona_dish_1.DQ((0, RequestDataResolver_1.getEventTarget)(event)) : mona_dish_1.DomQuery.absent;
6006
6041
  if (queryElem.isTag(Const_1.TAG_FORM)) {
6007
6042
  return queryElem;
6008
6043
  }
@@ -6014,9 +6049,9 @@ var ExtLang;
6014
6049
  return foundForm;
6015
6050
  }
6016
6051
  }
6017
- let form = queryElem.parents(Const_1.TAG_FORM)
6052
+ let form = queryElem.firstParent(Const_1.TAG_FORM)
6018
6053
  .orElseLazy(() => queryElem.byTagName(Const_1.TAG_FORM, true))
6019
- .orElseLazy(() => eventTarget.parents(Const_1.TAG_FORM))
6054
+ .orElseLazy(() => eventTarget.firstParent(Const_1.TAG_FORM))
6020
6055
  .orElseLazy(() => eventTarget.byTagName(Const_1.TAG_FORM))
6021
6056
  .first();
6022
6057
  assertFormExists(form);
@@ -6455,7 +6490,7 @@ exports.resolveSourceElement = resolveSourceElement;
6455
6490
  function resolveSourceForm(internalContext, elem) {
6456
6491
  let sourceFormId = internalContext.getIf(Const_1.CTX_PARAM_SRC_FRM_ID);
6457
6492
  let sourceForm = new mona_dish_2.DQ(sourceFormId.isPresent() ? document.forms[sourceFormId.value] : null);
6458
- sourceForm = sourceForm.orElseLazy(() => elem.parents(Const_1.TAG_FORM))
6493
+ sourceForm = sourceForm.orElseLazy(() => elem.firstParent(Const_1.TAG_FORM))
6459
6494
  .orElseLazy(() => elem.querySelectorAll(Const_1.TAG_FORM))
6460
6495
  .orElseLazy(() => mona_dish_2.DQ.querySelectorAll(Const_1.TAG_FORM));
6461
6496
  return sourceForm;
@@ -6753,6 +6788,7 @@ class ResponseProcessor {
6753
6788
  // we need a separate step for post-processing the incoming
6754
6789
  // attributes, like classes, styles etc...
6755
6790
  resultingBody.copyAttrs(shadowBody);
6791
+ this.externalContext.assign((0, Const_1.$nsp)(Const_1.P_RENDER_OVERRIDE)).value = "@all";
6756
6792
  this.storeForPostProcessing(updateForms, resultingBody);
6757
6793
  }
6758
6794
  /**
@@ -6810,7 +6846,7 @@ class ResponseProcessor {
6810
6846
  */
6811
6847
  update(node, cdataBlock) {
6812
6848
  let result = ExtDomQuery_1.ExtDomQuery.byId(node.id.value, true).outerHTML(cdataBlock, false, false);
6813
- let sourceForm = result === null || result === void 0 ? void 0 : result.parents(Const_1.TAG_FORM).orElseLazy(() => result.byTagName(Const_1.TAG_FORM, true));
6849
+ let sourceForm = result === null || result === void 0 ? void 0 : result.firstParent(Const_1.TAG_FORM).orElseLazy(() => result.byTagName(Const_1.TAG_FORM, true));
6814
6850
  if (sourceForm) {
6815
6851
  this.storeForPostProcessing(sourceForm, result);
6816
6852
  }
@@ -7072,16 +7108,18 @@ class ResponseProcessor {
7072
7108
  ((_g = (_f = node === null || node === void 0 ? void 0 : node.id) === null || _f === void 0 ? void 0 : _f.value) === null || _g === void 0 ? void 0 : _g.indexOf([(0, Const_1.$nsp)(Const_1.P_CLIENT_WINDOW), separatorChar].join(Const_1.EMPTY_STR))) != -1);
7073
7109
  }
7074
7110
  triggerOnError(errorData) {
7075
- this.externalContext.getIf(Const_1.ON_ERROR).orElse(this.internalContext.getIf(Const_1.ON_ERROR).value).orElse(Const_1.EMPTY_FUNC).value(errorData);
7111
+ this.externalContext.getIf(Const_1.ON_ERROR).orElseLazy(() => this.internalContext.getIf(Const_1.ON_ERROR).value).orElse(Const_1.EMPTY_FUNC).value(errorData);
7076
7112
  }
7077
7113
  /**
7078
- * filters the forms according to being in the execute or render cycle
7114
+ * filters the forms according to being member of the "execute" or "render" cycle
7079
7115
  * @param affectedForm
7080
7116
  * @private
7081
7117
  */
7082
7118
  executeOrRenderFilter(affectedForm) {
7083
7119
  let executes = this.externalContext.getIf((0, Const_1.$nsp)(Const_1.P_EXECUTE)).orElse("@none").value.split(/\s+/gi);
7084
- let renders = this.externalContext.getIf((0, Const_1.$nsp)(Const_1.P_RENDER)).orElse("@none").value.split(/\s+/gi);
7120
+ let renders = this.externalContext.getIf(Const_1.P_RENDER_OVERRIDE)
7121
+ .orElseLazy(() => this.externalContext.getIf((0, Const_1.$nsp)(Const_1.P_RENDER)).value)
7122
+ .orElse("@none").value.split(/\s+/gi);
7085
7123
  let executeAndRenders = executes.concat(...renders);
7086
7124
  return mona_dish_1.LazyStream.of(...executeAndRenders).filter(nameOrId => {
7087
7125
  if (nameOrId == "@all") {
@@ -7094,7 +7132,7 @@ class ResponseProcessor {
7094
7132
  //either the form directly is in execute or render or one of its children or one of its parents
7095
7133
  return affectedForm.matchesSelector(nameOrIdSelector) ||
7096
7134
  affectedForm.querySelectorAll(nameOrIdSelector).isPresent() ||
7097
- affectedForm.parents(nameOrIdSelector).isPresent();
7135
+ affectedForm.firstParent(nameOrIdSelector).isPresent();
7098
7136
  }).first().isPresent();
7099
7137
  }
7100
7138
  /**
@@ -7105,7 +7143,12 @@ class ResponseProcessor {
7105
7143
  getContainerForms(namingContainerId) {
7106
7144
  if (namingContainerId.isPresent()) {
7107
7145
  //naming container mode, all forms under naming container id must be processed
7108
- return mona_dish_1.DQ.byId(namingContainerId.value).orElse((0, mona_dish_1.DQ$)(`form[name='${namingContainerId.value}']`)).byTagName(Const_1.TAG_FORM, true);
7146
+ return mona_dish_1.DQ.byId(namingContainerId.value)
7147
+ .orElse((0, mona_dish_1.DQ$)(`form[id='${namingContainerId.value}'], form[name='${namingContainerId.value}']`))
7148
+ // missing condition if the naming container is not present we have to
7149
+ // use the body as fallback
7150
+ .orElse(mona_dish_1.DQ.byTagName(Const_1.TAG_BODY))
7151
+ .byTagName(Const_1.TAG_FORM, true);
7109
7152
  }
7110
7153
  else {
7111
7154
  return mona_dish_1.DQ.byTagName(Const_1.TAG_FORM);
Binary file
Binary file