@sapui5/sap.fe.core 1.108.2 → 1.108.3

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 (71) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +2 -2
  4. package/src/sap/fe/core/ActionRuntime.ts +1 -1
  5. package/src/sap/fe/core/CommonUtils.js +7 -3
  6. package/src/sap/fe/core/CommonUtils.ts +2 -2
  7. package/src/sap/fe/core/TemplateModel.js +16 -2
  8. package/src/sap/fe/core/TemplateModel.ts +15 -1
  9. package/src/sap/fe/core/controllerextensions/EditFlow.js +2 -1
  10. package/src/sap/fe/core/controllerextensions/EditFlow.ts +1 -0
  11. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +386 -357
  12. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +260 -224
  13. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +1 -0
  14. package/src/sap/fe/core/converters/controls/Common/Action.js +4 -2
  15. package/src/sap/fe/core/converters/controls/Common/Action.ts +1 -1
  16. package/src/sap/fe/core/converters/controls/Common/Table.js +7 -10
  17. package/src/sap/fe/core/converters/controls/Common/Table.ts +6 -6
  18. package/src/sap/fe/core/helpers/BindingToolkit.js +2 -2
  19. package/src/sap/fe/core/helpers/BindingToolkit.ts +1 -1
  20. package/src/sap/fe/core/helpers/ModelHelper.js +2 -2
  21. package/src/sap/fe/core/helpers/ModelHelper.ts +1 -1
  22. package/src/sap/fe/core/library.js +1 -1
  23. package/src/sap/fe/core/messagebundle_ar.properties +18 -18
  24. package/src/sap/fe/core/messagebundle_bg.properties +17 -17
  25. package/src/sap/fe/core/messagebundle_ca.properties +18 -18
  26. package/src/sap/fe/core/messagebundle_cs.properties +18 -18
  27. package/src/sap/fe/core/messagebundle_cy.properties +18 -18
  28. package/src/sap/fe/core/messagebundle_da.properties +18 -18
  29. package/src/sap/fe/core/messagebundle_el.properties +17 -17
  30. package/src/sap/fe/core/messagebundle_en_GB.properties +18 -18
  31. package/src/sap/fe/core/messagebundle_es.properties +9 -9
  32. package/src/sap/fe/core/messagebundle_es_MX.properties +17 -17
  33. package/src/sap/fe/core/messagebundle_et.properties +18 -18
  34. package/src/sap/fe/core/messagebundle_fi.properties +18 -18
  35. package/src/sap/fe/core/messagebundle_fr.properties +17 -17
  36. package/src/sap/fe/core/messagebundle_fr_CA.properties +18 -18
  37. package/src/sap/fe/core/messagebundle_hi.properties +18 -18
  38. package/src/sap/fe/core/messagebundle_hr.properties +18 -18
  39. package/src/sap/fe/core/messagebundle_hu.properties +17 -17
  40. package/src/sap/fe/core/messagebundle_id.properties +18 -18
  41. package/src/sap/fe/core/messagebundle_it.properties +17 -17
  42. package/src/sap/fe/core/messagebundle_iw.properties +18 -18
  43. package/src/sap/fe/core/messagebundle_ja.properties +21 -21
  44. package/src/sap/fe/core/messagebundle_kk.properties +18 -18
  45. package/src/sap/fe/core/messagebundle_ko.properties +18 -18
  46. package/src/sap/fe/core/messagebundle_lt.properties +17 -17
  47. package/src/sap/fe/core/messagebundle_lv.properties +18 -18
  48. package/src/sap/fe/core/messagebundle_ms.properties +18 -18
  49. package/src/sap/fe/core/messagebundle_nl.properties +18 -18
  50. package/src/sap/fe/core/messagebundle_no.properties +17 -17
  51. package/src/sap/fe/core/messagebundle_pl.properties +17 -17
  52. package/src/sap/fe/core/messagebundle_pt.properties +18 -18
  53. package/src/sap/fe/core/messagebundle_pt_PT.properties +18 -18
  54. package/src/sap/fe/core/messagebundle_ro.properties +17 -17
  55. package/src/sap/fe/core/messagebundle_ru.properties +18 -18
  56. package/src/sap/fe/core/messagebundle_sh.properties +17 -17
  57. package/src/sap/fe/core/messagebundle_sk.properties +17 -17
  58. package/src/sap/fe/core/messagebundle_sl.properties +18 -18
  59. package/src/sap/fe/core/messagebundle_sv.properties +17 -17
  60. package/src/sap/fe/core/messagebundle_th.properties +17 -17
  61. package/src/sap/fe/core/messagebundle_tr.properties +18 -18
  62. package/src/sap/fe/core/messagebundle_uk.properties +18 -18
  63. package/src/sap/fe/core/messagebundle_vi.properties +18 -18
  64. package/src/sap/fe/core/messagebundle_zh_CN.properties +17 -17
  65. package/src/sap/fe/core/messagebundle_zh_TW.properties +17 -17
  66. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +28 -53
  67. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +36 -67
  68. package/src/sap/fe/core/templating/PropertyHelper.js +23 -2
  69. package/src/sap/fe/core/templating/PropertyHelper.ts +17 -0
  70. package/src/sap/fe/core/templating/SemanticObjectHelper.js +56 -0
  71. package/src/sap/fe/core/templating/SemanticObjectHelper.ts +34 -0
@@ -1855,7 +1855,7 @@ function setUserDefaults(
1855
1855
  aParameters.forEach(function (oParameter: any) {
1856
1856
  const sPropertyName = bIsAction
1857
1857
  ? `/${oParameter.$Name}`
1858
- : oParameter.getPath().slice(oParameter.getPath().lastIndexOf("/") + 1);
1858
+ : (oParameter.getPath?.().slice(oParameter.getPath().lastIndexOf("/") + 1) as string);
1859
1859
  const sParameterName = bIsAction ? sPropertyName.slice(1) : sPropertyName;
1860
1860
  if (oActionDefaultValues && bIsCreate) {
1861
1861
  if (oActionDefaultValues[sParameterName]) {
@@ -1873,7 +1873,7 @@ function setUserDefaults(
1873
1873
  aParameters.forEach(function (oParameter: any) {
1874
1874
  const sPropertyName = bIsAction
1875
1875
  ? `/${oParameter.$Name}`
1876
- : oParameter.getPath().slice(oParameter.getPath().lastIndexOf("/") + 1);
1876
+ : (oParameter.getPath?.().slice(oParameter.getPath().lastIndexOf("/") + 1) as string);
1877
1877
  const sParameterName = bIsAction ? sPropertyName.slice(1) : sPropertyName;
1878
1878
  if (oActionDefaultValues && bIsCreate) {
1879
1879
  if (oActionDefaultValues[sParameterName]) {
@@ -37,7 +37,6 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/base/Object", "sap/ui
37
37
  _this.oConfigModel._getObject = function (sPath, oContext) {
38
38
  if (!that.bConfigLoaded) {
39
39
  this.setData(pageConfig());
40
- that.bConfigLoaded = true;
41
40
  }
42
41
 
43
42
  return fnGetObject(sPath, oContext);
@@ -48,12 +47,27 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/base/Object", "sap/ui
48
47
 
49
48
  _this.fnCreateMetaBindingContext = _this.oMetaModel.createBindingContext.bind(_this.oMetaModel);
50
49
  _this.fnCreateConfigBindingContext = _this.oConfigModel.createBindingContext.bind(_this.oConfigModel);
50
+ _this.fnSetData = _this.oConfigModel.setData.bind(_this.oConfigModel);
51
51
  _this.oConfigModel.createBindingContext = _this.createBindingContext.bind(_assertThisInitialized(_this));
52
+ _this.oConfigModel.setData = _this.setData.bind(_assertThisInitialized(_this)); // eslint-disable-next-line @typescript-eslint/ban-ts-comment
53
+ // @ts-ignore
54
+
52
55
  return _this.oConfigModel || _assertThisInitialized(_this);
53
56
  }
57
+ /**
58
+ * Overwrite the standard setData to keep track whether the external configuration has been loaded or not.
59
+ *
60
+ * @param dataToSet The data to set to the json model containing the configuration
61
+ */
62
+
54
63
 
55
64
  var _proto = TemplateModel.prototype;
56
65
 
66
+ _proto.setData = function setData(dataToSet) {
67
+ this.fnSetData(dataToSet);
68
+ this.bConfigLoaded = true;
69
+ };
70
+
57
71
  _proto.createBindingContext = function createBindingContext(sPath, oContext, mParameters, fnCallBack) {
58
72
  var _oBindingContext;
59
73
 
@@ -78,4 +92,4 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/base/Object", "sap/ui
78
92
  }(BaseObject)) || _class);
79
93
  return TemplateModel;
80
94
  }, false);
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZU1vZGVsIiwiZGVmaW5lVUk1Q2xhc3MiLCJwYWdlQ29uZmlnIiwib01ldGFNb2RlbCIsIm9Db25maWdNb2RlbCIsIkpTT05Nb2RlbCIsInNldFNpemVMaW1pdCIsIk51bWJlciIsIk1BWF9WQUxVRSIsImJDb25maWdMb2FkZWQiLCJ0aGF0IiwiZm5HZXRPYmplY3QiLCJfZ2V0T2JqZWN0IiwiYmluZCIsInNQYXRoIiwib0NvbnRleHQiLCJzZXREYXRhIiwiZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQiLCJtUGFyYW1ldGVycyIsImZuQ2FsbEJhY2siLCJvQmluZGluZ0NvbnRleHQiLCJiTm9SZXNvbHZlIiwibm9SZXNvbHZlIiwic1Jlc29sdmVkUGF0aCIsImdldE9iamVjdCIsImRlc3Ryb3kiLCJwcm90b3R5cGUiLCJhcHBseSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBCYXNlT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9PYmplY3RcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5UZW1wbGF0ZU1vZGVsXCIpXG5jbGFzcyBUZW1wbGF0ZU1vZGVsIGV4dGVuZHMgQmFzZU9iamVjdCB7XG5cdHB1YmxpYyBvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbDtcblx0cHVibGljIG9Db25maWdNb2RlbDogYW55O1xuXHRwdWJsaWMgYkNvbmZpZ0xvYWRlZDogYm9vbGVhbjtcblx0cHVibGljIGZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0OiBGdW5jdGlvbjtcblx0cHVibGljIGZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQ6IEZ1bmN0aW9uO1xuXG5cdGNvbnN0cnVjdG9yKHBhZ2VDb25maWc6IGFueSwgb01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMub01ldGFNb2RlbCA9IG9NZXRhTW9kZWw7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwgPSBuZXcgSlNPTk1vZGVsKCk7XG5cdFx0Ly8gZG9uJ3QgbGltaXQgYWdncmVnYXRpb24gYmluZGluZ3Ncblx0XHR0aGlzLm9Db25maWdNb2RlbC5zZXRTaXplTGltaXQoTnVtYmVyLk1BWF9WQUxVRSk7XG5cdFx0dGhpcy5iQ29uZmlnTG9hZGVkID0gZmFsc2U7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cblx0XHRpZiAodHlwZW9mIHBhZ2VDb25maWcgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0Y29uc3QgZm5HZXRPYmplY3QgPSB0aGlzLm9Db25maWdNb2RlbC5fZ2V0T2JqZWN0LmJpbmQodGhpcy5vQ29uZmlnTW9kZWwpO1xuXHRcdFx0dGhpcy5vQ29uZmlnTW9kZWwuX2dldE9iamVjdCA9IGZ1bmN0aW9uIChzUGF0aDogYW55LCBvQ29udGV4dDogYW55KSB7XG5cdFx0XHRcdGlmICghdGhhdC5iQ29uZmlnTG9hZGVkKSB7XG5cdFx0XHRcdFx0dGhpcy5zZXREYXRhKHBhZ2VDb25maWcoKSk7XG5cdFx0XHRcdFx0dGhhdC5iQ29uZmlnTG9hZGVkID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZm5HZXRPYmplY3Qoc1BhdGgsIG9Db250ZXh0KTtcblx0XHRcdH07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMub0NvbmZpZ01vZGVsLnNldERhdGEocGFnZUNvbmZpZyk7XG5cdFx0fVxuXG5cdFx0dGhpcy5mbkNyZWF0ZU1ldGFCaW5kaW5nQ29udGV4dCA9IHRoaXMub01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dC5iaW5kKHRoaXMub01ldGFNb2RlbCk7XG5cdFx0dGhpcy5mbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0ID0gdGhpcy5vQ29uZmlnTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzLm9Db25maWdNb2RlbCk7XG5cblx0XHR0aGlzLm9Db25maWdNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCA9IHRoaXMuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzKTtcblx0XHRyZXR1cm4gdGhpcy5vQ29uZmlnTW9kZWw7XG5cdH1cblxuXHRjcmVhdGVCaW5kaW5nQ29udGV4dChzUGF0aDogYW55LCBvQ29udGV4dD86IGFueSwgbVBhcmFtZXRlcnM/OiBhbnksIGZuQ2FsbEJhY2s/OiBhbnkpIHtcblx0XHRsZXQgb0JpbmRpbmdDb250ZXh0O1xuXHRcdGNvbnN0IGJOb1Jlc29sdmUgPSBtUGFyYW1ldGVycyAmJiBtUGFyYW1ldGVycy5ub1Jlc29sdmU7XG5cblx0XHRvQmluZGluZ0NvbnRleHQgPSB0aGlzLmZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQoc1BhdGgsIG9Db250ZXh0LCBtUGFyYW1ldGVycywgZm5DYWxsQmFjayk7XG5cdFx0Y29uc3Qgc1Jlc29sdmVkUGF0aCA9ICFiTm9SZXNvbHZlICYmIG9CaW5kaW5nQ29udGV4dD8uZ2V0T2JqZWN0KCk7XG5cdFx0aWYgKHNSZXNvbHZlZFBhdGggJiYgdHlwZW9mIHNSZXNvbHZlZFBhdGggPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQoc1Jlc29sdmVkUGF0aCwgb0NvbnRleHQsIG1QYXJhbWV0ZXJzLCBmbkNhbGxCYWNrKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gb0JpbmRpbmdDb250ZXh0O1xuXHR9XG5cblx0ZGVzdHJveSgpIHtcblx0XHR0aGlzLm9Db25maWdNb2RlbC5kZXN0cm95KCk7XG5cdFx0SlNPTk1vZGVsLnByb3RvdHlwZS5kZXN0cm95LmFwcGx5KHRoaXMpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRlbXBsYXRlTW9kZWw7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7O01BTU1BLGEsV0FETEMsY0FBYyxDQUFDLDJCQUFELEM7OztJQVFkLHVCQUFZQyxVQUFaLEVBQTZCQyxVQUE3QixFQUF5RDtNQUFBOztNQUN4RDtNQUNBLE1BQUtBLFVBQUwsR0FBa0JBLFVBQWxCO01BQ0EsTUFBS0MsWUFBTCxHQUFvQixJQUFJQyxTQUFKLEVBQXBCLENBSHdELENBSXhEOztNQUNBLE1BQUtELFlBQUwsQ0FBa0JFLFlBQWxCLENBQStCQyxNQUFNLENBQUNDLFNBQXRDOztNQUNBLE1BQUtDLGFBQUwsR0FBcUIsS0FBckIsQ0FOd0QsQ0FPeEQ7O01BQ0EsSUFBTUMsSUFBSSxnQ0FBVjs7TUFFQSxJQUFJLE9BQU9SLFVBQVAsS0FBc0IsVUFBMUIsRUFBc0M7UUFDckMsSUFBTVMsV0FBVyxHQUFHLE1BQUtQLFlBQUwsQ0FBa0JRLFVBQWxCLENBQTZCQyxJQUE3QixDQUFrQyxNQUFLVCxZQUF2QyxDQUFwQjs7UUFDQSxNQUFLQSxZQUFMLENBQWtCUSxVQUFsQixHQUErQixVQUFVRSxLQUFWLEVBQXNCQyxRQUF0QixFQUFxQztVQUNuRSxJQUFJLENBQUNMLElBQUksQ0FBQ0QsYUFBVixFQUF5QjtZQUN4QixLQUFLTyxPQUFMLENBQWFkLFVBQVUsRUFBdkI7WUFDQVEsSUFBSSxDQUFDRCxhQUFMLEdBQXFCLElBQXJCO1VBQ0E7O1VBQ0QsT0FBT0UsV0FBVyxDQUFDRyxLQUFELEVBQVFDLFFBQVIsQ0FBbEI7UUFDQSxDQU5EO01BT0EsQ0FURCxNQVNPO1FBQ04sTUFBS1gsWUFBTCxDQUFrQlksT0FBbEIsQ0FBMEJkLFVBQTFCO01BQ0E7O01BRUQsTUFBS2UsMEJBQUwsR0FBa0MsTUFBS2QsVUFBTCxDQUFnQmUsb0JBQWhCLENBQXFDTCxJQUFyQyxDQUEwQyxNQUFLVixVQUEvQyxDQUFsQztNQUNBLE1BQUtnQiw0QkFBTCxHQUFvQyxNQUFLZixZQUFMLENBQWtCYyxvQkFBbEIsQ0FBdUNMLElBQXZDLENBQTRDLE1BQUtULFlBQWpELENBQXBDO01BRUEsTUFBS0EsWUFBTCxDQUFrQmMsb0JBQWxCLEdBQXlDLE1BQUtBLG9CQUFMLENBQTBCTCxJQUExQiwrQkFBekM7TUFDQSxPQUFPLE1BQUtULFlBQVo7SUFDQTs7OztXQUVEYyxvQixHQUFBLDhCQUFxQkosS0FBckIsRUFBaUNDLFFBQWpDLEVBQWlESyxXQUFqRCxFQUFvRUMsVUFBcEUsRUFBc0Y7TUFBQTs7TUFDckYsSUFBSUMsZUFBSjtNQUNBLElBQU1DLFVBQVUsR0FBR0gsV0FBVyxJQUFJQSxXQUFXLENBQUNJLFNBQTlDO01BRUFGLGVBQWUsR0FBRyxLQUFLSCw0QkFBTCxDQUFrQ0wsS0FBbEMsRUFBeUNDLFFBQXpDLEVBQW1ESyxXQUFuRCxFQUFnRUMsVUFBaEUsQ0FBbEI7TUFDQSxJQUFNSSxhQUFhLEdBQUcsQ0FBQ0YsVUFBRCx5QkFBZUQsZUFBZixxREFBZSxpQkFBaUJJLFNBQWpCLEVBQWYsQ0FBdEI7O01BQ0EsSUFBSUQsYUFBYSxJQUFJLE9BQU9BLGFBQVAsS0FBeUIsUUFBOUMsRUFBd0Q7UUFDdkRILGVBQWUsR0FBRyxLQUFLTCwwQkFBTCxDQUFnQ1EsYUFBaEMsRUFBK0NWLFFBQS9DLEVBQXlESyxXQUF6RCxFQUFzRUMsVUFBdEUsQ0FBbEI7TUFDQTs7TUFFRCxPQUFPQyxlQUFQO0lBQ0EsQzs7V0FFREssTyxHQUFBLG1CQUFVO01BQ1QsS0FBS3ZCLFlBQUwsQ0FBa0J1QixPQUFsQjtNQUNBdEIsU0FBUyxDQUFDdUIsU0FBVixDQUFvQkQsT0FBcEIsQ0FBNEJFLEtBQTVCLENBQWtDLElBQWxDO0lBQ0EsQzs7O0lBckQwQkMsVTtTQXdEYjlCLGEifQ==
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZU1vZGVsIiwiZGVmaW5lVUk1Q2xhc3MiLCJwYWdlQ29uZmlnIiwib01ldGFNb2RlbCIsIm9Db25maWdNb2RlbCIsIkpTT05Nb2RlbCIsInNldFNpemVMaW1pdCIsIk51bWJlciIsIk1BWF9WQUxVRSIsImJDb25maWdMb2FkZWQiLCJ0aGF0IiwiZm5HZXRPYmplY3QiLCJfZ2V0T2JqZWN0IiwiYmluZCIsInNQYXRoIiwib0NvbnRleHQiLCJzZXREYXRhIiwiZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQiLCJmblNldERhdGEiLCJkYXRhVG9TZXQiLCJtUGFyYW1ldGVycyIsImZuQ2FsbEJhY2siLCJvQmluZGluZ0NvbnRleHQiLCJiTm9SZXNvbHZlIiwibm9SZXNvbHZlIiwic1Jlc29sdmVkUGF0aCIsImdldE9iamVjdCIsImRlc3Ryb3kiLCJwcm90b3R5cGUiLCJhcHBseSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBCYXNlT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9PYmplY3RcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5UZW1wbGF0ZU1vZGVsXCIpXG5jbGFzcyBUZW1wbGF0ZU1vZGVsIGV4dGVuZHMgQmFzZU9iamVjdCB7XG5cdHB1YmxpYyBvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbDtcblx0cHVibGljIG9Db25maWdNb2RlbDogYW55O1xuXHRwdWJsaWMgYkNvbmZpZ0xvYWRlZDogYm9vbGVhbjtcblx0cHVibGljIGZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0OiBGdW5jdGlvbjtcblx0cHVibGljIGZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQ6IEZ1bmN0aW9uO1xuXHRwdWJsaWMgZm5TZXREYXRhOiBGdW5jdGlvbjtcblxuXHRjb25zdHJ1Y3RvcihwYWdlQ29uZmlnOiBhbnksIG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsKSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLm9NZXRhTW9kZWwgPSBvTWV0YU1vZGVsO1xuXHRcdHRoaXMub0NvbmZpZ01vZGVsID0gbmV3IEpTT05Nb2RlbCgpO1xuXHRcdC8vIGRvbid0IGxpbWl0IGFnZ3JlZ2F0aW9uIGJpbmRpbmdzXG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuc2V0U2l6ZUxpbWl0KE51bWJlci5NQVhfVkFMVUUpO1xuXHRcdHRoaXMuYkNvbmZpZ0xvYWRlZCA9IGZhbHNlO1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuXHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXG5cdFx0aWYgKHR5cGVvZiBwYWdlQ29uZmlnID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdGNvbnN0IGZuR2V0T2JqZWN0ID0gdGhpcy5vQ29uZmlnTW9kZWwuX2dldE9iamVjdC5iaW5kKHRoaXMub0NvbmZpZ01vZGVsKTtcblx0XHRcdHRoaXMub0NvbmZpZ01vZGVsLl9nZXRPYmplY3QgPSBmdW5jdGlvbiAoc1BhdGg6IGFueSwgb0NvbnRleHQ6IGFueSkge1xuXHRcdFx0XHRpZiAoIXRoYXQuYkNvbmZpZ0xvYWRlZCkge1xuXHRcdFx0XHRcdHRoaXMuc2V0RGF0YShwYWdlQ29uZmlnKCkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBmbkdldE9iamVjdChzUGF0aCwgb0NvbnRleHQpO1xuXHRcdFx0fTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5vQ29uZmlnTW9kZWwuc2V0RGF0YShwYWdlQ29uZmlnKTtcblx0XHR9XG5cblx0XHR0aGlzLmZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0ID0gdGhpcy5vTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0LmJpbmQodGhpcy5vTWV0YU1vZGVsKTtcblx0XHR0aGlzLmZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQgPSB0aGlzLm9Db25maWdNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dC5iaW5kKHRoaXMub0NvbmZpZ01vZGVsKTtcblx0XHR0aGlzLmZuU2V0RGF0YSA9IHRoaXMub0NvbmZpZ01vZGVsLnNldERhdGEuYmluZCh0aGlzLm9Db25maWdNb2RlbCk7XG5cblx0XHR0aGlzLm9Db25maWdNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCA9IHRoaXMuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzKTtcblx0XHR0aGlzLm9Db25maWdNb2RlbC5zZXREYXRhID0gdGhpcy5zZXREYXRhLmJpbmQodGhpcyk7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRyZXR1cm4gdGhpcy5vQ29uZmlnTW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogT3ZlcndyaXRlIHRoZSBzdGFuZGFyZCBzZXREYXRhIHRvIGtlZXAgdHJhY2sgd2hldGhlciB0aGUgZXh0ZXJuYWwgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBsb2FkZWQgb3Igbm90LlxuXHQgKlxuXHQgKiBAcGFyYW0gZGF0YVRvU2V0IFRoZSBkYXRhIHRvIHNldCB0byB0aGUganNvbiBtb2RlbCBjb250YWluaW5nIHRoZSBjb25maWd1cmF0aW9uXG5cdCAqL1xuXHRzZXREYXRhKGRhdGFUb1NldDogb2JqZWN0KSB7XG5cdFx0dGhpcy5mblNldERhdGEoZGF0YVRvU2V0KTtcblx0XHR0aGlzLmJDb25maWdMb2FkZWQgPSB0cnVlO1xuXHR9XG5cblx0Y3JlYXRlQmluZGluZ0NvbnRleHQoc1BhdGg6IGFueSwgb0NvbnRleHQ/OiBhbnksIG1QYXJhbWV0ZXJzPzogYW55LCBmbkNhbGxCYWNrPzogYW55KSB7XG5cdFx0bGV0IG9CaW5kaW5nQ29udGV4dDtcblx0XHRjb25zdCBiTm9SZXNvbHZlID0gbVBhcmFtZXRlcnMgJiYgbVBhcmFtZXRlcnMubm9SZXNvbHZlO1xuXG5cdFx0b0JpbmRpbmdDb250ZXh0ID0gdGhpcy5mbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0KHNQYXRoLCBvQ29udGV4dCwgbVBhcmFtZXRlcnMsIGZuQ2FsbEJhY2spO1xuXHRcdGNvbnN0IHNSZXNvbHZlZFBhdGggPSAhYk5vUmVzb2x2ZSAmJiBvQmluZGluZ0NvbnRleHQ/LmdldE9iamVjdCgpO1xuXHRcdGlmIChzUmVzb2x2ZWRQYXRoICYmIHR5cGVvZiBzUmVzb2x2ZWRQYXRoID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRvQmluZGluZ0NvbnRleHQgPSB0aGlzLmZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0KHNSZXNvbHZlZFBhdGgsIG9Db250ZXh0LCBtUGFyYW1ldGVycywgZm5DYWxsQmFjayk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9CaW5kaW5nQ29udGV4dDtcblx0fVxuXG5cdGRlc3Ryb3koKSB7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuZGVzdHJveSgpO1xuXHRcdEpTT05Nb2RlbC5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZU1vZGVsO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7OztNQU1NQSxhLFdBRExDLGNBQWMsQ0FBQywyQkFBRCxDOzs7SUFTZCx1QkFBWUMsVUFBWixFQUE2QkMsVUFBN0IsRUFBeUQ7TUFBQTs7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
@@ -10,6 +10,7 @@ class TemplateModel extends BaseObject {
10
10
  public bConfigLoaded: boolean;
11
11
  public fnCreateMetaBindingContext: Function;
12
12
  public fnCreateConfigBindingContext: Function;
13
+ public fnSetData: Function;
13
14
 
14
15
  constructor(pageConfig: any, oMetaModel: ODataMetaModel) {
15
16
  super();
@@ -26,7 +27,6 @@ class TemplateModel extends BaseObject {
26
27
  this.oConfigModel._getObject = function (sPath: any, oContext: any) {
27
28
  if (!that.bConfigLoaded) {
28
29
  this.setData(pageConfig());
29
- that.bConfigLoaded = true;
30
30
  }
31
31
  return fnGetObject(sPath, oContext);
32
32
  };
@@ -36,11 +36,25 @@ class TemplateModel extends BaseObject {
36
36
 
37
37
  this.fnCreateMetaBindingContext = this.oMetaModel.createBindingContext.bind(this.oMetaModel);
38
38
  this.fnCreateConfigBindingContext = this.oConfigModel.createBindingContext.bind(this.oConfigModel);
39
+ this.fnSetData = this.oConfigModel.setData.bind(this.oConfigModel);
39
40
 
40
41
  this.oConfigModel.createBindingContext = this.createBindingContext.bind(this);
42
+ this.oConfigModel.setData = this.setData.bind(this);
43
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
44
+ // @ts-ignore
41
45
  return this.oConfigModel;
42
46
  }
43
47
 
48
+ /**
49
+ * Overwrite the standard setData to keep track whether the external configuration has been loaded or not.
50
+ *
51
+ * @param dataToSet The data to set to the json model containing the configuration
52
+ */
53
+ setData(dataToSet: object) {
54
+ this.fnSetData(dataToSet);
55
+ this.bConfigLoaded = true;
56
+ }
57
+
44
58
  createBindingContext(sPath: any, oContext?: any, mParameters?: any, fnCallBack?: any) {
45
59
  let oBindingContext;
46
60
  const bNoResolve = mParameters && mParameters.noResolve;