@sapui5/sap.fe.macros 1.108.1 → 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.
- package/package.json +1 -1
- package/src/sap/fe/macros/.library +1 -1
- package/src/sap/fe/macros/DelegateUtil.js +5 -3
- package/src/sap/fe/macros/DelegateUtil.ts +93 -58
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.metadata.js +2 -2
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.metadata.ts +1 -1
- package/src/sap/fe/macros/field/FieldBaseDelegate.js +15 -4
- package/src/sap/fe/macros/field/FieldBaseDelegate.ts +12 -2
- package/src/sap/fe/macros/field/FieldHelper.js +20 -2
- package/src/sap/fe/macros/field/FieldHelper.ts +20 -0
- package/src/sap/fe/macros/field/FieldRuntime.js +78 -65
- package/src/sap/fe/macros/field/FieldRuntime.ts +7 -3
- package/src/sap/fe/macros/field/QuickViewLinkDelegate.js +229 -113
- package/src/sap/fe/macros/field/QuickViewLinkDelegate.ts +277 -146
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +33 -21
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +31 -14
- package/src/sap/fe/macros/form/FormContainer.fragment.xml +25 -0
- package/src/sap/fe/macros/internal/Field.metadata.js +20 -30
- package/src/sap/fe/macros/internal/Field.metadata.ts +11 -16
- package/src/sap/fe/macros/internal/field/displayStyle/AmountWithCurrency.fragment.xml +2 -2
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +10 -3
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +9 -6
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelperNew.js +3 -3
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelperNew.ts +8 -5
- package/src/sap/fe/macros/library.js +1 -1
- package/src/sap/fe/macros/messagebundle_bg.properties +4 -4
- package/src/sap/fe/macros/messagebundle_ca.properties +3 -3
- package/src/sap/fe/macros/messagebundle_de.properties +2 -2
- package/src/sap/fe/macros/messagebundle_el.properties +6 -6
- package/src/sap/fe/macros/messagebundle_en_GB.properties +1 -1
- package/src/sap/fe/macros/messagebundle_es_MX.properties +1 -1
- package/src/sap/fe/macros/messagebundle_fi.properties +2 -2
- package/src/sap/fe/macros/messagebundle_fr_CA.properties +2 -2
- package/src/sap/fe/macros/messagebundle_hi.properties +1 -1
- package/src/sap/fe/macros/messagebundle_hr.properties +2 -2
- package/src/sap/fe/macros/messagebundle_hu.properties +2 -2
- package/src/sap/fe/macros/messagebundle_it.properties +2 -2
- package/src/sap/fe/macros/messagebundle_ja.properties +1 -1
- package/src/sap/fe/macros/messagebundle_lv.properties +1 -1
- package/src/sap/fe/macros/messagebundle_pl.properties +1 -1
- package/src/sap/fe/macros/messagebundle_ro.properties +2 -2
- package/src/sap/fe/macros/messagebundle_ru.properties +2 -2
- package/src/sap/fe/macros/messagebundle_sl.properties +5 -5
- package/src/sap/fe/macros/messagebundle_sv.properties +1 -1
- package/src/sap/fe/macros/messagebundle_th.properties +2 -2
- package/src/sap/fe/macros/messagebundle_vi.properties +5 -5
- package/src/sap/fe/macros/messagebundle_zh_CN.properties +2 -2
- package/src/sap/fe/macros/share/Share.block.js +16 -6
- package/src/sap/fe/macros/share/Share.block.tsx +11 -4
- package/src/sap/fe/macros/table/QuickFilterContainer.js +35 -26
- package/src/sap/fe/macros/table/QuickFilterContainer.ts +22 -8
- package/src/sap/fe/macros/table/Table.fragment.xml +0 -1
- package/src/sap/fe/macros/table/Table.metadata.js +6 -4
- package/src/sap/fe/macros/table/Table.metadata.ts +8 -2
- package/src/sap/fe/macros/table/TableHelper.js +7 -4
- package/src/sap/fe/macros/table/TableHelper.ts +4 -5
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +31 -23
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +33 -22
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +12 -5
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +15 -5
package/package.json
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/StableIdHelper", "sap/fe/core/templating/PropertyFormatters", "sap/fe/macros/field/FieldHelper", "sap/fe/macros/internal/valuehelp/ValueHelpTemplating"], function (Log, CommonUtils, StableIdHelper, PropertyFormatters, FieldHelper, ValueHelpTemplating) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
+
var _exports = {};
|
|
8
9
|
var generateID = ValueHelpTemplating.generateID;
|
|
9
10
|
var getRelativePropertyPath = PropertyFormatters.getRelativePropertyPath;
|
|
10
11
|
var generate = StableIdHelper.generate;
|
|
@@ -33,8 +34,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/S
|
|
|
33
34
|
}
|
|
34
35
|
};
|
|
35
36
|
|
|
36
|
-
var NS_MACRODATA = "http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
|
|
37
|
-
|
|
37
|
+
var NS_MACRODATA = "http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1";
|
|
38
|
+
var mDefaultTypeForEdmType = {
|
|
38
39
|
"Edm.Boolean": {
|
|
39
40
|
modelType: "Bool"
|
|
40
41
|
},
|
|
@@ -91,6 +92,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/S
|
|
|
91
92
|
modelType: undefined
|
|
92
93
|
}
|
|
93
94
|
};
|
|
95
|
+
_exports.mDefaultTypeForEdmType = mDefaultTypeForEdmType;
|
|
94
96
|
|
|
95
97
|
function _retrieveModel() {
|
|
96
98
|
this.control.detachModelContextChange(_retrieveModel, this);
|
|
@@ -280,4 +282,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/S
|
|
|
280
282
|
};
|
|
281
283
|
return DelegateUtil;
|
|
282
284
|
}, false);
|
|
283
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRDdXN0b21EYXRhV2l0aE1vZGlmaWVyIiwib0NvbnRyb2wiLCJzUHJvcGVydHkiLCJvTW9kaWZpZXIiLCJhQ3VzdG9tRGF0YSIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsImdldEFnZ3JlZ2F0aW9uIiwiYmluZCIsImFSZXRyaWV2ZWRDdXN0b21EYXRhIiwib1Byb21pc2UiLCJyZWR1Y2UiLCJvUHJldmlvdXNQcm9taXNlIiwib0N1c3RvbURhdGEiLCJnZXRQcm9wZXJ0eSIsInNLZXkiLCJwdXNoIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiTlNfTUFDUk9EQVRBIiwibURlZmF1bHRUeXBlRm9yRWRtVHlwZSIsIm1vZGVsVHlwZSIsIl9yZXRyaWV2ZU1vZGVsIiwiY29udHJvbCIsImRldGFjaE1vZGVsQ29udGV4dENoYW5nZSIsInNNb2RlbE5hbWUiLCJtb2RlbE5hbWUiLCJvTW9kZWwiLCJnZXRNb2RlbCIsImF0dGFjaE1vZGVsQ29udGV4dENoYW5nZSIsIkRlbGVnYXRlVXRpbCIsImdldExvY2FsaXplZFRleHQiLCJzVGV4dE9yVG9rZW4iLCJhTWF0Y2giLCJleGVjIiwib1Jlc291cmNlQnVuZGxlIiwiZ2V0UmVzb3VyY2VCdW5kbGUiLCJnZXRUZXh0IiwiZSIsIkxvZyIsImluZm8iLCJnZXRDdXN0b21EYXRhIiwid2luZG93IiwiRWxlbWVudCIsImdldEF0dHJpYnV0ZU5TIiwiZGF0YSIsIkZ1bmN0aW9uIiwic2V0Q3VzdG9tRGF0YSIsInZWYWx1ZSIsInNldEF0dHJpYnV0ZU5TIiwiZmV0Y2hQcm9wZXJ0aWVzRm9yRW50aXR5Iiwic0VudGl0eVNldCIsIm9NZXRhTW9kZWwiLCJyZXF1ZXN0T2JqZWN0IiwiZmV0Y2hBbm5vdGF0aW9uc0ZvckVudGl0eSIsImZldGNoTW9kZWwiLCJnZXREZWxlZ2F0ZSIsInBheWxvYWQiLCJvQ29udGV4dCIsImNhbGwiLCJsb2FkTWFjcm9MaWJyYXJ5Iiwic2FwIiwidWkiLCJyZXF1aXJlIiwidGVtcGxhdGVDb250cm9sRnJhZ21lbnQiLCJzRnJhZ21lbnROYW1lIiwib1ByZXByb2Nlc3NvclNldHRpbmdzIiwib09wdGlvbnMiLCJDb21tb25VdGlscyIsImRvZXNWYWx1ZUhlbHBFeGlzdCIsIm1QYXJhbWV0ZXJzIiwic1Byb3BlcnR5TmFtZSIsInNWYWx1ZUhlbHBUeXBlIiwic09yaWdpbmFsUHJvcGVydHkiLCJzQmluZGluZ1BhdGgiLCJvUHJvcGVydHlDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJzVmFsdWVIZWxwUHJvcGVydHkiLCJGaWVsZEhlbHBlciIsInZhbHVlSGVscFByb3BlcnR5IiwiYklzQWJzb2x1dGUiLCJpbmRleE9mIiwiZ2V0T2JqZWN0Iiwic0dlbmVyYXRlZElkIiwiZ2VuZXJhdGVJRCIsImZsZXhJZCIsImdlbmVyYXRlIiwiZ2V0SWQiLCJnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCIsImNvbnRleHQiLCJnZXRQYXRoIiwiYURlcGVuZGVudHMiLCJzb21lIiwib0RlcGVuZGVudCIsImlzVmFsdWVIZWxwUmVxdWlyZWQiLCJiSW5GaWx0ZXJGaWVsZCIsImJSZWFkT25seSIsImFsbCIsImFSZXN1bHRzIiwiY2F0Y2giLCJvRXJyb3IiLCJ3YXJuaW5nIiwiaXNUeXBlRmlsdGVyYWJsZSIsInNUeXBlIiwiZ2V0TW9kZWxUeXBlIiwiaXNNdWx0aVZhbHVlIiwib1Byb3BlcnR5IiwiYklzTXVsdGlWYWx1ZSIsImZpbHRlckV4cHJlc3Npb24iLCJ0eXBlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEZWxlZ2F0ZVV0aWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgUmVzb3VyY2VCdW5kbGUgZnJvbSBcInNhcC9iYXNlL2kxOG4vUmVzb3VyY2VCdW5kbGVcIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5Rm9ybWF0dGVyc1wiO1xuaW1wb3J0IEZpZWxkSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpZWxkL0ZpZWxkSGVscGVyXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZUlEIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvdmFsdWVoZWxwL1ZhbHVlSGVscFRlbXBsYXRpbmdcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIFJlc291cmNlTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9yZXNvdXJjZS9SZXNvdXJjZU1vZGVsXCI7XG5cbmNvbnN0IE5TX01BQ1JPREFUQSA9IFwiaHR0cDovL3NjaGVtYXMuc2FwLmNvbS9zYXB1aTUvZXh0ZW5zaW9uL3NhcC51aS5jb3JlLkN1c3RvbURhdGEvMVwiLFxuXHRtRGVmYXVsdFR5cGVGb3JFZG1UeXBlID0ge1xuXHRcdFwiRWRtLkJvb2xlYW5cIjoge1xuXHRcdFx0bW9kZWxUeXBlOiBcIkJvb2xcIlxuXHRcdH0sXG5cdFx0XCJFZG0uQnl0ZVwiOiB7XG5cdFx0XHRtb2RlbFR5cGU6IFwiSW50XCJcblx0XHR9LFxuXHRcdFwiRWRtLkRhdGVcIjoge1xuXHRcdFx0bW9kZWxUeXBlOiBcIkRhdGVcIlxuXHRcdH0sXG5cdFx0XCJFZG0uRGF0ZVRpbWVcIjoge1xuXHRcdFx0bW9kZWxUeXBlOiBcIkRhdGVcIlxuXHRcdH0sXG5cdFx0XCJFZG0uRGF0ZVRpbWVPZmZzZXRcIjoge1xuXHRcdFx0bW9kZWxUeXBlOiBcIkRhdGVUaW1lT2Zmc2V0XCJcblx0XHR9LFxuXHRcdFwiRWRtLkRlY2ltYWxcIjoge1xuXHRcdFx0bW9kZWxUeXBlOiBcIkRlY2ltYWxcIlxuXHRcdH0sXG5cdFx0XCJFZG0uRG91YmxlXCI6IHtcblx0XHRcdG1vZGVsVHlwZTogXCJGbG9hdFwiXG5cdFx0fSxcblx0XHRcIkVkbS5GbG9hdFwiOiB7XG5cdFx0XHRtb2RlbFR5cGU6IFwiRmxvYXRcIlxuXHRcdH0sXG5cdFx0XCJFZG0uR3VpZFwiOiB7XG5cdFx0XHRtb2RlbFR5cGU6IFwiR3VpZFwiXG5cdFx0fSxcblx0XHRcIkVkbS5JbnQxNlwiOiB7XG5cdFx0XHRtb2RlbFR5cGU6IFwiSW50XCJcblx0XHR9LFxuXHRcdFwiRWRtLkludDMyXCI6IHtcblx0XHRcdG1vZGVsVHlwZTogXCJJbnRcIlxuXHRcdH0sXG5cdFx0XCJFZG0uSW50NjRcIjoge1xuXHRcdFx0bW9kZWxUeXBlOiBcIkludFwiXG5cdFx0fSxcblx0XHRcIkVkbS5TQnl0ZVwiOiB7XG5cdFx0XHRtb2RlbFR5cGU6IFwiSW50XCJcblx0XHR9LFxuXHRcdFwiRWRtLlNpbmdsZVwiOiB7XG5cdFx0XHRtb2RlbFR5cGU6IFwiRmxvYXRcIlxuXHRcdH0sXG5cdFx0XCJFZG0uU3RyaW5nXCI6IHtcblx0XHRcdG1vZGVsVHlwZTogXCJTdHJpbmdcIlxuXHRcdH0sXG5cdFx0XCJFZG0uVGltZVwiOiB7XG5cdFx0XHRtb2RlbFR5cGU6IFwiVGltZU9mRGF5XCJcblx0XHR9LFxuXHRcdFwiRWRtLlRpbWVPZkRheVwiOiB7XG5cdFx0XHRtb2RlbFR5cGU6IFwiVGltZU9mRGF5XCJcblx0XHR9LFxuXHRcdFwiRWRtLlN0cmVhbVwiOiB7XG5cdFx0XHQvL25vIGNvcnJlc3BvbmRpbmcgbW9kZWxUeXBlIC0gaWdub3JlIGZvciBmaWx0ZXJpbmdcblx0XHRcdG1vZGVsVHlwZTogdW5kZWZpbmVkXG5cdFx0fVxuXHR9O1xuZnVuY3Rpb24gX3JldHJpZXZlTW9kZWwodGhpczogeyBtb2RlbE5hbWU6IHN0cmluZzsgY29udHJvbDogYW55OyByZXNvbHZlOiBGdW5jdGlvbiB9KSB7XG5cdHRoaXMuY29udHJvbC5kZXRhY2hNb2RlbENvbnRleHRDaGFuZ2UoX3JldHJpZXZlTW9kZWwsIHRoaXMpO1xuXHRjb25zdCBzTW9kZWxOYW1lID0gdGhpcy5tb2RlbE5hbWUsXG5cdFx0b01vZGVsID0gdGhpcy5jb250cm9sLmdldE1vZGVsKHNNb2RlbE5hbWUpO1xuXG5cdGlmIChvTW9kZWwpIHtcblx0XHR0aGlzLnJlc29sdmUob01vZGVsKTtcblx0fSBlbHNlIHtcblx0XHR0aGlzLmNvbnRyb2wuYXR0YWNoTW9kZWxDb250ZXh0Q2hhbmdlKF9yZXRyaWV2ZU1vZGVsLCB0aGlzKTtcblx0fVxufVxuYXN5bmMgZnVuY3Rpb24gZ2V0Q3VzdG9tRGF0YVdpdGhNb2RpZmllcihvQ29udHJvbDogYW55LCBzUHJvcGVydHk6IGFueSwgb01vZGlmaWVyOiBhbnkpIHtcblx0Y29uc3QgYUN1c3RvbURhdGE6IGFueVtdID0gW107XG5cblx0Y29uc3QgYVJldHJpZXZlZEN1c3RvbURhdGEgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoKS50aGVuKFxuXHRcdG9Nb2RpZmllci5nZXRBZ2dyZWdhdGlvbi5iaW5kKG9Nb2RpZmllciwgb0NvbnRyb2wsIFwiY3VzdG9tRGF0YVwiKSBhcyAoKSA9PiBhbnlbXVxuXHQpO1xuXG5cdGNvbnN0IG9Qcm9taXNlID0gYVJldHJpZXZlZEN1c3RvbURhdGEucmVkdWNlKChvUHJldmlvdXNQcm9taXNlOiBQcm9taXNlPHZvaWQ+LCBvQ3VzdG9tRGF0YSkgPT4ge1xuXHRcdHJldHVybiBvUHJldmlvdXNQcm9taXNlLnRoZW4ob01vZGlmaWVyLmdldFByb3BlcnR5LmJpbmQob01vZGlmaWVyLCBvQ3VzdG9tRGF0YSwgXCJrZXlcIikpLnRoZW4oZnVuY3Rpb24gKHNLZXk6IGFueSkge1xuXHRcdFx0aWYgKHNLZXkgPT09IHNQcm9wZXJ0eSkge1xuXHRcdFx0XHRhQ3VzdG9tRGF0YS5wdXNoKG9DdXN0b21EYXRhKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fSwgUHJvbWlzZS5yZXNvbHZlKCkpO1xuXHRhd2FpdCBvUHJvbWlzZTtcblxuXHRpZiAoYUN1c3RvbURhdGEubGVuZ3RoID09PSAxKSB7XG5cdFx0cmV0dXJuIG9Nb2RpZmllci5nZXRQcm9wZXJ0eShhQ3VzdG9tRGF0YVswXSwgXCJ2YWx1ZVwiKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG59XG5cbmNvbnN0IERlbGVnYXRlVXRpbCA9IHtcblx0Z2V0TG9jYWxpemVkVGV4dChzVGV4dE9yVG9rZW46IHN0cmluZywgb0NvbnRyb2w6IENvbnRyb2wgfCBQYWdlQ29udHJvbGxlcikge1xuXHRcdGNvbnN0IGFNYXRjaCA9IC97KFtBLVphLXowLTlfLnxAXSspPihbQS1aYS16MC05Xy58XSspfS8uZXhlYyhzVGV4dE9yVG9rZW4pO1xuXHRcdGlmIChhTWF0Y2gpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IG9SZXNvdXJjZUJ1bmRsZSA9IChvQ29udHJvbC5nZXRNb2RlbChhTWF0Y2hbMV0pIGFzIFJlc291cmNlTW9kZWwpLmdldFJlc291cmNlQnVuZGxlKCkgYXMgUmVzb3VyY2VCdW5kbGU7XG5cdFx0XHRcdHJldHVybiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChhTWF0Y2hbMl0pO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRMb2cuaW5mbyhgVW5hYmxlIHRvIHJldHJpZXZlIGxvY2FsaXplZCB0ZXh0ICR7c1RleHRPclRva2VufWApO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gc1RleHRPclRva2VuO1xuXHR9LFxuXHRnZXRDdXN0b21EYXRhKG9Db250cm9sOiBhbnksIHNQcm9wZXJ0eTogYW55LCBvTW9kaWZpZXI/OiBhbnkpIHtcblx0XHQvLyBJZiBNb2RpZmllciBpcyBnaXZlbiwgdGhlIG1ldGhvZCBtdXN0IGV4ZWN1dGUgYXN5bmNocm9ub3VzbHkgYW5kIHJldHVybiBhIFByb21pc2Vcblx0XHRpZiAob01vZGlmaWVyKSB7XG5cdFx0XHRyZXR1cm4gZ2V0Q3VzdG9tRGF0YVdpdGhNb2RpZmllcihvQ29udHJvbCwgc1Byb3BlcnR5LCBvTW9kaWZpZXIpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBEZWxlZ2F0ZSBpbnZva2VkIGZyb20gYSBub24tZmxleCBjaGFuZ2UgLSBGaWx0ZXJCYXJEZWxlZ2F0ZS5fYWRkUDEzbkl0ZW0gZm9yIE9QIHRhYmxlIGZpbHRlcmluZywgRmlsdGVyQmFyRGVsZWdhdGUuZmV0Y2hQcm9wZXJ0aWVzIGV0Yy5cblx0XHRcdGlmIChvQ29udHJvbCAmJiBzUHJvcGVydHkpIHtcblx0XHRcdFx0aWYgKG9Db250cm9sIGluc3RhbmNlb2Ygd2luZG93LkVsZW1lbnQpIHtcblx0XHRcdFx0XHRyZXR1cm4gb0NvbnRyb2wuZ2V0QXR0cmlidXRlTlMoTlNfTUFDUk9EQVRBLCBzUHJvcGVydHkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChvQ29udHJvbC5kYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcblx0XHRcdFx0XHRyZXR1cm4gb0NvbnRyb2wuZGF0YShzUHJvcGVydHkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0fSxcblx0c2V0Q3VzdG9tRGF0YShvQ29udHJvbDogYW55LCBzUHJvcGVydHk6IGFueSwgdlZhbHVlOiBhbnkpIHtcblx0XHRpZiAob0NvbnRyb2wgJiYgc1Byb3BlcnR5KSB7XG5cdFx0XHRpZiAob0NvbnRyb2wgaW5zdGFuY2VvZiB3aW5kb3cuRWxlbWVudCkge1xuXHRcdFx0XHRyZXR1cm4gb0NvbnRyb2wuc2V0QXR0cmlidXRlTlMoTlNfTUFDUk9EQVRBLCBgY3VzdG9tRGF0YToke3NQcm9wZXJ0eX1gLCB2VmFsdWUpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG9Db250cm9sLmRhdGEgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuXHRcdFx0XHRyZXR1cm4gb0NvbnRyb2wuZGF0YShzUHJvcGVydHksIHZWYWx1ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9LFxuXHRmZXRjaFByb3BlcnRpZXNGb3JFbnRpdHkoc0VudGl0eVNldDogYW55LCBvTWV0YU1vZGVsOiBhbnkpIHtcblx0XHRyZXR1cm4gb01ldGFNb2RlbC5yZXF1ZXN0T2JqZWN0KGAke3NFbnRpdHlTZXR9L2ApO1xuXHR9LFxuXHRmZXRjaEFubm90YXRpb25zRm9yRW50aXR5KHNFbnRpdHlTZXQ6IGFueSwgb01ldGFNb2RlbDogYW55KSB7XG5cdFx0cmV0dXJuIG9NZXRhTW9kZWwucmVxdWVzdE9iamVjdChgJHtzRW50aXR5U2V0fUBgKTtcblx0fSxcblx0ZmV0Y2hNb2RlbChvQ29udHJvbDogYW55KSB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cdFx0XHRjb25zdCBzTW9kZWxOYW1lID0gb0NvbnRyb2wuZ2V0RGVsZWdhdGUoKS5wYXlsb2FkICYmIG9Db250cm9sLmdldERlbGVnYXRlKCkucGF5bG9hZC5tb2RlbE5hbWUsXG5cdFx0XHRcdG9Db250ZXh0ID0geyBtb2RlbE5hbWU6IHNNb2RlbE5hbWUsIGNvbnRyb2w6IG9Db250cm9sLCByZXNvbHZlOiByZXNvbHZlIH07XG5cdFx0XHRfcmV0cmlldmVNb2RlbC5jYWxsKG9Db250ZXh0KTtcblx0XHR9KTtcblx0fSxcblx0bG9hZE1hY3JvTGlicmFyeSgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdHNhcC51aS5yZXF1aXJlKFtcInNhcC9mZS9tYWNyb3MvbWFjcm9MaWJyYXJ5XCJdLCBmdW5jdGlvbiAoLyptYWNyb0xpYnJhcnkqLykge1xuXHRcdFx0XHRyZXNvbHZlKCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fSxcblx0dGVtcGxhdGVDb250cm9sRnJhZ21lbnQoc0ZyYWdtZW50TmFtZTogYW55LCBvUHJlcHJvY2Vzc29yU2V0dGluZ3M6IGFueSwgb09wdGlvbnM6IGFueSwgb01vZGlmaWVyPzogYW55KSB7XG5cdFx0cmV0dXJuIENvbW1vblV0aWxzLnRlbXBsYXRlQ29udHJvbEZyYWdtZW50KHNGcmFnbWVudE5hbWUsIG9QcmVwcm9jZXNzb3JTZXR0aW5ncywgb09wdGlvbnMsIG9Nb2RpZmllcik7XG5cdH0sXG5cdGRvZXNWYWx1ZUhlbHBFeGlzdChtUGFyYW1ldGVyczogYW55KSB7XG5cdFx0Y29uc3Qgc1Byb3BlcnR5TmFtZSA9IG1QYXJhbWV0ZXJzLnNQcm9wZXJ0eU5hbWUgfHwgXCJcIjtcblx0XHRjb25zdCBzVmFsdWVIZWxwVHlwZSA9IG1QYXJhbWV0ZXJzLnNWYWx1ZUhlbHBUeXBlIHx8IFwiXCI7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IG1QYXJhbWV0ZXJzLm9NZXRhTW9kZWw7XG5cdFx0Y29uc3Qgb01vZGlmaWVyID0gbVBhcmFtZXRlcnMub01vZGlmaWVyO1xuXHRcdGNvbnN0IHNPcmlnaW5hbFByb3BlcnR5ID0gYCR7bVBhcmFtZXRlcnMuc0JpbmRpbmdQYXRofS8ke3NQcm9wZXJ0eU5hbWV9YDtcblx0XHRjb25zdCBvUHJvcGVydHlDb250ZXh0ID0gb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChzT3JpZ2luYWxQcm9wZXJ0eSk7XG5cdFx0bGV0IHNWYWx1ZUhlbHBQcm9wZXJ0eSA9IEZpZWxkSGVscGVyLnZhbHVlSGVscFByb3BlcnR5KG9Qcm9wZXJ0eUNvbnRleHQpO1xuXHRcdGNvbnN0IGJJc0Fic29sdXRlID0gbVBhcmFtZXRlcnMuc0JpbmRpbmdQYXRoICYmIG1QYXJhbWV0ZXJzLnNCaW5kaW5nUGF0aC5pbmRleE9mKFwiL1wiKSA9PT0gMDtcblxuXHRcdC8vIHVuaXQvY3VycmVuY3lcblx0XHRpZiAoc1ZhbHVlSGVscFByb3BlcnR5LmluZGV4T2YoXCIkUGF0aFwiKSA+IC0xKSB7XG5cdFx0XHRzVmFsdWVIZWxwUHJvcGVydHkgPSBvTWV0YU1vZGVsLmdldE9iamVjdChzVmFsdWVIZWxwUHJvcGVydHkpO1xuXHRcdH1cblx0XHRpZiAoYklzQWJzb2x1dGUgJiYgc1ZhbHVlSGVscFByb3BlcnR5LmluZGV4T2YoXCIvXCIpICE9PSAwKSB7XG5cdFx0XHRzVmFsdWVIZWxwUHJvcGVydHkgPSBgJHttUGFyYW1ldGVycy5zQmluZGluZ1BhdGh9LyR7c1ZhbHVlSGVscFByb3BlcnR5fWA7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgc0dlbmVyYXRlZElkID0gZ2VuZXJhdGVJRChcblx0XHRcdG1QYXJhbWV0ZXJzLmZsZXhJZCxcblx0XHRcdGdlbmVyYXRlKFtvTW9kaWZpZXIgPyBvTW9kaWZpZXIuZ2V0SWQobVBhcmFtZXRlcnMub0NvbnRyb2wpIDogbVBhcmFtZXRlcnMub0NvbnRyb2wuZ2V0SWQoKSwgc1ZhbHVlSGVscFR5cGVdKSxcblx0XHRcdGdldFJlbGF0aXZlUHJvcGVydHlQYXRoKG9Qcm9wZXJ0eUNvbnRleHQuZ2V0UHJvcGVydHkoc09yaWdpbmFsUHJvcGVydHkpLCB7XG5cdFx0XHRcdGNvbnRleHQ6IHtcblx0XHRcdFx0XHRnZXRNb2RlbDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIG1QYXJhbWV0ZXJzLm9NZXRhTW9kZWw7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRnZXRQYXRoOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gc09yaWdpbmFsUHJvcGVydHk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGFzIGFueVxuXHRcdFx0fSksXG5cdFx0XHRnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aChvUHJvcGVydHlDb250ZXh0LmdldFByb3BlcnR5KHNWYWx1ZUhlbHBQcm9wZXJ0eSksIHtcblx0XHRcdFx0Y29udGV4dDoge1xuXHRcdFx0XHRcdGdldE1vZGVsOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gbVBhcmFtZXRlcnMub01ldGFNb2RlbDtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGdldFBhdGg6ICgpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiBzVmFsdWVIZWxwUHJvcGVydHk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGFzIGFueVxuXHRcdFx0fSlcblx0XHQpO1xuXG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdGlmIChvTW9kaWZpZXIpIHtcblx0XHRcdFx0XHRyZXR1cm4gb01vZGlmaWVyLmdldEFnZ3JlZ2F0aW9uKG1QYXJhbWV0ZXJzLm9Db250cm9sLCBcImRlcGVuZGVudHNcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG1QYXJhbWV0ZXJzLm9Db250cm9sLmdldEFnZ3JlZ2F0aW9uKFwiZGVwZW5kZW50c1wiKTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoYURlcGVuZGVudHM6IGFueSkge1xuXHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFxuXHRcdFx0XHRcdGFEZXBlbmRlbnRzICYmXG5cdFx0XHRcdFx0XHRhRGVwZW5kZW50cy5zb21lKGZ1bmN0aW9uIChvRGVwZW5kZW50OiBhbnkpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIG9Nb2RpZmllciA/IG9Nb2RpZmllci5nZXRJZChvRGVwZW5kZW50KSA9PT0gc0dlbmVyYXRlZElkIDogb0RlcGVuZGVudC5nZXRJZCgpID09PSBzR2VuZXJhdGVkSWQ7XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpO1xuXHRcdFx0fSk7XG5cdH0sXG5cdGlzVmFsdWVIZWxwUmVxdWlyZWQobVBhcmFtZXRlcnM6IGFueSwgYkluRmlsdGVyRmllbGQ/OiBib29sZWFuKSB7XG5cdFx0Y29uc3Qgc1Byb3BlcnR5TmFtZSA9IG1QYXJhbWV0ZXJzLnNQcm9wZXJ0eU5hbWUgfHwgXCJcIixcblx0XHRcdG9NZXRhTW9kZWwgPSBtUGFyYW1ldGVycy5vTWV0YU1vZGVsLFxuXHRcdFx0c1Byb3BlcnR5ID0gYCR7bVBhcmFtZXRlcnMuc0JpbmRpbmdQYXRofS8ke3NQcm9wZXJ0eU5hbWV9YCxcblx0XHRcdG9Qcm9wZXJ0eUNvbnRleHQgPSBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNQcm9wZXJ0eSksXG5cdFx0XHRzVmFsdWVIZWxwUHJvcGVydHkgPSBGaWVsZEhlbHBlci52YWx1ZUhlbHBQcm9wZXJ0eShvUHJvcGVydHlDb250ZXh0LCBiSW5GaWx0ZXJGaWVsZCk7XG5cblx0XHRyZXR1cm4gdGhpcy5nZXRDdXN0b21EYXRhKG1QYXJhbWV0ZXJzLm9Db250cm9sLCBcImRpc3BsYXlNb2RlUHJvcGVydHlCaW5kaW5nXCIsIG1QYXJhbWV0ZXJzLm9Nb2RpZmllcilcblx0XHRcdC50aGVuKGZ1bmN0aW9uIChiUmVhZE9ubHk6IGFueSkge1xuXHRcdFx0XHQvLyBDaGVjayB3aGV0aGVyIHRoZSBjb250cm9sIGlzIHJlYWQtb25seS4gSWYgeWVzLCBubyBuZWVkIG9mIGEgdmFsdWUgaGVscC5cblx0XHRcdFx0YlJlYWRPbmx5ID0gdHlwZW9mIGJSZWFkT25seSA9PT0gXCJib29sZWFuXCIgPyBiUmVhZE9ubHkgOiBiUmVhZE9ubHkgPT09IFwidHJ1ZVwiO1xuXHRcdFx0XHRpZiAoYlJlYWRPbmx5KSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIEVsc2UsIGNoZWNrIHdoZXRoZXIgVmFsdWUgSGVscCByZWxldmFudCBhbm5vdGF0aW9uIGV4aXN0cyBmb3IgdGhlIHByb3BlcnR5LlxuXHRcdFx0XHQvLyBUT0RPIHVzZSBQcm9wZXJ0eUZvcm1hdHRlci5oYXNWYWx1ZUhlbHAgKCkgPT4gaWYgZG9pbmcgc28sIFFVbml0IHRlc3RzIGZhaWwgZHVlIHRvIG1vY2tlZCBtb2RlbCBpbXBsZW1lbnRhdGlvblxuXHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5hbGwoW1xuXHRcdFx0XHRcdG9NZXRhTW9kZWwucmVxdWVzdE9iamVjdChgJHtzVmFsdWVIZWxwUHJvcGVydHl9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5WYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXNgKSxcblx0XHRcdFx0XHRvTWV0YU1vZGVsLnJlcXVlc3RPYmplY3QoYCR7c1ZhbHVlSGVscFByb3BlcnR5fUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVmFsdWVMaXN0UmVmZXJlbmNlc2ApLFxuXHRcdFx0XHRcdG9NZXRhTW9kZWwucmVxdWVzdE9iamVjdChgJHtzVmFsdWVIZWxwUHJvcGVydHl9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5WYWx1ZUxpc3RNYXBwaW5nYCksXG5cdFx0XHRcdFx0b01ldGFNb2RlbC5yZXF1ZXN0T2JqZWN0KGAke3NWYWx1ZUhlbHBQcm9wZXJ0eX1AY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlZhbHVlTGlzdGApXG5cdFx0XHRcdF0pO1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKGZ1bmN0aW9uIChhUmVzdWx0czogYW55W10pIHtcblx0XHRcdFx0cmV0dXJuICEhYVJlc3VsdHNbMF0gfHwgISFhUmVzdWx0c1sxXSB8fCAhIWFSZXN1bHRzWzJdIHx8ICEhYVJlc3VsdHNbM107XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRMb2cud2FybmluZyhcIkVycm9yIHdoaWxlIHJldHJpZXZpbmcgY3VzdG9tIGRhdGEgLyB2YWx1ZSBsaXN0IGFubm90YXRpb24gdmFsdWVzXCIsIG9FcnJvcik7XG5cdFx0XHR9KTtcblx0fSxcblx0aXNUeXBlRmlsdGVyYWJsZShzVHlwZToga2V5b2YgdHlwZW9mIG1EZWZhdWx0VHlwZUZvckVkbVR5cGUpIHtcblx0XHRyZXR1cm4gc1R5cGUgJiYgc1R5cGUgaW4gbURlZmF1bHRUeXBlRm9yRWRtVHlwZSAmJiAhIW1EZWZhdWx0VHlwZUZvckVkbVR5cGVbc1R5cGVdLm1vZGVsVHlwZTtcblx0fSxcblx0Z2V0TW9kZWxUeXBlKHNUeXBlOiBrZXlvZiB0eXBlb2YgbURlZmF1bHRUeXBlRm9yRWRtVHlwZSkge1xuXHRcdHJldHVybiBzVHlwZSAmJiBzVHlwZSBpbiBtRGVmYXVsdFR5cGVGb3JFZG1UeXBlICYmIG1EZWZhdWx0VHlwZUZvckVkbVR5cGVbc1R5cGVdLm1vZGVsVHlwZTtcblx0fSxcblx0aXNNdWx0aVZhbHVlKG9Qcm9wZXJ0eTogYW55KSB7XG5cdFx0bGV0IGJJc011bHRpVmFsdWUgPSB0cnVlO1xuXHRcdC8vU2luZ2xlVmFsdWUgfCBNdWx0aVZhbHVlIHwgU2luZ2xlUmFuZ2UgfCBNdWx0aVJhbmdlIHwgU2VhcmNoRXhwcmVzc2lvbiB8IE11bHRpUmFuZ2VPclNlYXJjaEV4cHJlc3Npb25cblx0XHRzd2l0Y2ggKG9Qcm9wZXJ0eS5maWx0ZXJFeHByZXNzaW9uKSB7XG5cdFx0XHRjYXNlIFwiU2VhcmNoRXhwcmVzc2lvblwiOlxuXHRcdFx0Y2FzZSBcIlNpbmdsZVJhbmdlXCI6XG5cdFx0XHRjYXNlIFwiU2luZ2xlVmFsdWVcIjpcblx0XHRcdFx0YklzTXVsdGlWYWx1ZSA9IGZhbHNlO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHRpZiAob1Byb3BlcnR5LnR5cGUgJiYgb1Byb3BlcnR5LnR5cGUuaW5kZXhPZihcIkJvb2xlYW5cIikgPiAwKSB7XG5cdFx0XHRiSXNNdWx0aVZhbHVlID0gZmFsc2U7XG5cdFx0fVxuXHRcdHJldHVybiBiSXNNdWx0aVZhbHVlO1xuXHR9XG59O1xuZXhwb3J0IGRlZmF1bHQgRGVsZWdhdGVVdGlsO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7OztNQWdGZUEseUIsYUFBMEJDLFEsRUFBZUMsUyxFQUFnQkMsUztRQUFnQjtNQUN2RixJQUFNQyxXQUFrQixHQUFHLEVBQTNCO01BRHVGLHVCQUdwREMsT0FBTyxDQUFDQyxPQUFSLEdBQWtCQyxJQUFsQixDQUNsQ0osU0FBUyxDQUFDSyxjQUFWLENBQXlCQyxJQUF6QixDQUE4Qk4sU0FBOUIsRUFBeUNGLFFBQXpDLEVBQW1ELFlBQW5ELENBRGtDLENBSG9ELGlCQUdqRlMsb0JBSGlGO1FBT3ZGLElBQU1DLFFBQVEsR0FBR0Qsb0JBQW9CLENBQUNFLE1BQXJCLENBQTRCLFVBQUNDLGdCQUFE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
|
|
285
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRDdXN0b21EYXRhV2l0aE1vZGlmaWVyIiwib0NvbnRyb2wiLCJzUHJvcGVydHkiLCJvTW9kaWZpZXIiLCJhQ3VzdG9tRGF0YSIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsImdldEFnZ3JlZ2F0aW9uIiwiYmluZCIsImFSZXRyaWV2ZWRDdXN0b21EYXRhIiwib1Byb21pc2UiLCJyZWR1Y2UiLCJvUHJldmlvdXNQcm9taXNlIiwib0N1c3RvbURhdGEiLCJnZXRQcm9wZXJ0eSIsInNLZXkiLCJwdXNoIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiTlNfTUFDUk9EQVRBIiwibURlZmF1bHRUeXBlRm9yRWRtVHlwZSIsIm1vZGVsVHlwZSIsIl9yZXRyaWV2ZU1vZGVsIiwiY29udHJvbCIsImRldGFjaE1vZGVsQ29udGV4dENoYW5nZSIsInNNb2RlbE5hbWUiLCJtb2RlbE5hbWUiLCJvTW9kZWwiLCJnZXRNb2RlbCIsImF0dGFjaE1vZGVsQ29udGV4dENoYW5nZSIsIkRlbGVnYXRlVXRpbCIsImdldExvY2FsaXplZFRleHQiLCJzVGV4dE9yVG9rZW4iLCJhTWF0Y2giLCJleGVjIiwib1Jlc291cmNlQnVuZGxlIiwiZ2V0UmVzb3VyY2VCdW5kbGUiLCJnZXRUZXh0IiwiZSIsIkxvZyIsImluZm8iLCJnZXRDdXN0b21EYXRhIiwid2luZG93IiwiRWxlbWVudCIsImdldEF0dHJpYnV0ZU5TIiwiZGF0YSIsIkZ1bmN0aW9uIiwic2V0Q3VzdG9tRGF0YSIsInZWYWx1ZSIsInNldEF0dHJpYnV0ZU5TIiwiZmV0Y2hQcm9wZXJ0aWVzRm9yRW50aXR5Iiwic0VudGl0eVNldCIsIm9NZXRhTW9kZWwiLCJyZXF1ZXN0T2JqZWN0IiwiZmV0Y2hBbm5vdGF0aW9uc0ZvckVudGl0eSIsImZldGNoTW9kZWwiLCJnZXREZWxlZ2F0ZSIsInBheWxvYWQiLCJvQ29udGV4dCIsImNhbGwiLCJsb2FkTWFjcm9MaWJyYXJ5Iiwic2FwIiwidWkiLCJyZXF1aXJlIiwidGVtcGxhdGVDb250cm9sRnJhZ21lbnQiLCJzRnJhZ21lbnROYW1lIiwib1ByZXByb2Nlc3NvclNldHRpbmdzIiwib09wdGlvbnMiLCJDb21tb25VdGlscyIsImRvZXNWYWx1ZUhlbHBFeGlzdCIsIm1QYXJhbWV0ZXJzIiwic1Byb3BlcnR5TmFtZSIsInNWYWx1ZUhlbHBUeXBlIiwic09yaWdpbmFsUHJvcGVydHkiLCJzQmluZGluZ1BhdGgiLCJvUHJvcGVydHlDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJzVmFsdWVIZWxwUHJvcGVydHkiLCJGaWVsZEhlbHBlciIsInZhbHVlSGVscFByb3BlcnR5IiwiYklzQWJzb2x1dGUiLCJpbmRleE9mIiwiZ2V0T2JqZWN0Iiwic0dlbmVyYXRlZElkIiwiZ2VuZXJhdGVJRCIsImZsZXhJZCIsImdlbmVyYXRlIiwiZ2V0SWQiLCJnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCIsImNvbnRleHQiLCJnZXRQYXRoIiwiYURlcGVuZGVudHMiLCJzb21lIiwib0RlcGVuZGVudCIsImlzVmFsdWVIZWxwUmVxdWlyZWQiLCJiSW5GaWx0ZXJGaWVsZCIsImJSZWFkT25seSIsImFsbCIsImFSZXN1bHRzIiwiY2F0Y2giLCJvRXJyb3IiLCJ3YXJuaW5nIiwiaXNUeXBlRmlsdGVyYWJsZSIsInNUeXBlIiwiZ2V0TW9kZWxUeXBlIiwiaXNNdWx0aVZhbHVlIiwib1Byb3BlcnR5IiwiYklzTXVsdGlWYWx1ZSIsImZpbHRlckV4cHJlc3Npb24iLCJ0eXBlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEZWxlZ2F0ZVV0aWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgUmVzb3VyY2VCdW5kbGUgZnJvbSBcInNhcC9iYXNlL2kxOG4vUmVzb3VyY2VCdW5kbGVcIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHsgY29uZmlnVHlwZSwgZXhwb3J0U2V0dGluZ3MsIFZpc3VhbFNldHRpbmdzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL1RhYmxlXCI7XG5pbXBvcnQgeyBEaXNwbGF5TW9kZSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0Rpc3BsYXlNb2RlRm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1N0YWJsZUlkSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB7IGdldFJlbGF0aXZlUHJvcGVydHlQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvUHJvcGVydHlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgRmllbGRIZWxwZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmllbGQvRmllbGRIZWxwZXJcIjtcbmltcG9ydCB7IGdlbmVyYXRlSUQgfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVIZWxwVGVtcGxhdGluZ1wiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL3Jlc291cmNlL1Jlc291cmNlTW9kZWxcIjtcblxuY29uc3QgTlNfTUFDUk9EQVRBID0gXCJodHRwOi8vc2NoZW1hcy5zYXAuY29tL3NhcHVpNS9leHRlbnNpb24vc2FwLnVpLmNvcmUuQ3VzdG9tRGF0YS8xXCI7XG5cbmV4cG9ydCB0eXBlIFByb3BlcnR5SW5mbyA9IHtcblx0YWRkaXRpb25hbExhYmVscz86IHN0cmluZ1tdO1xuXHRjYXNlU2Vuc2l0aXZlPzogYm9vbGVhbjtcblx0ZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cdGRlc2NyaXB0aW9uUHJvcGVydHk/OiBzdHJpbmc7XG5cdGV4cG9ydFNldHRpbmdzPzogZXhwb3J0U2V0dGluZ3MgfCBudWxsO1xuXHRmaWx0ZXJhYmxlPzogYm9vbGVhbjtcblx0Z3JvdXA/OiBzdHJpbmc7XG5cdGdyb3VwYWJsZT86IGJvb2xlYW47XG5cdGdyb3VwTGFiZWw/OiBzdHJpbmc7XG5cdGtleT86IGJvb2xlYW47XG5cdGxhYmVsPzogc3RyaW5nO1xuXHRtYXhDb25kaXRpb25zPzogbnVtYmVyO1xuXHRtZXRhZGF0YVBhdGg6IHN0cmluZztcblx0bW9kZT86IERpc3BsYXlNb2RlO1xuXHRuYW1lOiBzdHJpbmc7XG5cdHBhdGg/OiBzdHJpbmc7XG5cdHByb3BlcnR5SW5mb3M/OiBzdHJpbmdbXTtcblx0cmVsYXRpdmVQYXRoPzogc3RyaW5nO1xuXHRzb3J0YWJsZT86IGJvb2xlYW47XG5cdHNvcnREaXJlY3Rpb24/OiBzdHJpbmc7XG5cdHRleHQ/OiBzdHJpbmc7XG5cdHRvb2x0aXA/OiBzdHJpbmc7XG5cdHR5cGVDb25maWc6IGNvbmZpZ1R5cGU7XG5cdHVuaXQ/OiBzdHJpbmc7XG5cdHZhbHVlUHJvcGVydHk/OiBzdHJpbmc7XG5cdHZpc2libGU6IGJvb2xlYW47XG5cdHZpc3VhbFNldHRpbmdzPzogVmlzdWFsU2V0dGluZ3M7XG5cdGV4cG9ydERhdGFQb2ludFRhcmdldFZhbHVlPzogc3RyaW5nO1xuXHRpc1BhcmFtZXRlcj86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgbURlZmF1bHRUeXBlRm9yRWRtVHlwZSA9IHtcblx0XCJFZG0uQm9vbGVhblwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkJvb2xcIlxuXHR9LFxuXHRcIkVkbS5CeXRlXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiSW50XCJcblx0fSxcblx0XCJFZG0uRGF0ZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRhdGVcIlxuXHR9LFxuXHRcIkVkbS5EYXRlVGltZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRhdGVcIlxuXHR9LFxuXHRcIkVkbS5EYXRlVGltZU9mZnNldFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRhdGVUaW1lT2Zmc2V0XCJcblx0fSxcblx0XCJFZG0uRGVjaW1hbFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRlY2ltYWxcIlxuXHR9LFxuXHRcIkVkbS5Eb3VibGVcIjoge1xuXHRcdG1vZGVsVHlwZTogXCJGbG9hdFwiXG5cdH0sXG5cdFwiRWRtLkZsb2F0XCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiRmxvYXRcIlxuXHR9LFxuXHRcIkVkbS5HdWlkXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiR3VpZFwiXG5cdH0sXG5cdFwiRWRtLkludDE2XCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiSW50XCJcblx0fSxcblx0XCJFZG0uSW50MzJcIjoge1xuXHRcdG1vZGVsVHlwZTogXCJJbnRcIlxuXHR9LFxuXHRcIkVkbS5JbnQ2NFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkludFwiXG5cdH0sXG5cdFwiRWRtLlNCeXRlXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiSW50XCJcblx0fSxcblx0XCJFZG0uU2luZ2xlXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiRmxvYXRcIlxuXHR9LFxuXHRcIkVkbS5TdHJpbmdcIjoge1xuXHRcdG1vZGVsVHlwZTogXCJTdHJpbmdcIlxuXHR9LFxuXHRcIkVkbS5UaW1lXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiVGltZU9mRGF5XCJcblx0fSxcblx0XCJFZG0uVGltZU9mRGF5XCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiVGltZU9mRGF5XCJcblx0fSxcblx0XCJFZG0uU3RyZWFtXCI6IHtcblx0XHQvL25vIGNvcnJlc3BvbmRpbmcgbW9kZWxUeXBlIC0gaWdub3JlIGZvciBmaWx0ZXJpbmdcblx0XHRtb2RlbFR5cGU6IHVuZGVmaW5lZFxuXHR9XG59O1xuZnVuY3Rpb24gX3JldHJpZXZlTW9kZWwodGhpczogeyBtb2RlbE5hbWU6IHN0cmluZzsgY29udHJvbDogYW55OyByZXNvbHZlOiBGdW5jdGlvbiB9KSB7XG5cdHRoaXMuY29udHJvbC5kZXRhY2hNb2RlbENvbnRleHRDaGFuZ2UoX3JldHJpZXZlTW9kZWwsIHRoaXMpO1xuXHRjb25zdCBzTW9kZWxOYW1lID0gdGhpcy5tb2RlbE5hbWUsXG5cdFx0b01vZGVsID0gdGhpcy5jb250cm9sLmdldE1vZGVsKHNNb2RlbE5hbWUpO1xuXG5cdGlmIChvTW9kZWwpIHtcblx0XHR0aGlzLnJlc29sdmUob01vZGVsKTtcblx0fSBlbHNlIHtcblx0XHR0aGlzLmNvbnRyb2wuYXR0YWNoTW9kZWxDb250ZXh0Q2hhbmdlKF9yZXRyaWV2ZU1vZGVsLCB0aGlzKTtcblx0fVxufVxuYXN5bmMgZnVuY3Rpb24gZ2V0Q3VzdG9tRGF0YVdpdGhNb2RpZmllcihvQ29udHJvbDogYW55LCBzUHJvcGVydHk6IGFueSwgb01vZGlmaWVyOiBhbnkpIHtcblx0Y29uc3QgYUN1c3RvbURhdGE6IGFueVtdID0gW107XG5cblx0Y29uc3QgYVJldHJpZXZlZEN1c3RvbURhdGEgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoKS50aGVuKFxuXHRcdG9Nb2RpZmllci5nZXRBZ2dyZWdhdGlvbi5iaW5kKG9Nb2RpZmllciwgb0NvbnRyb2wsIFwiY3VzdG9tRGF0YVwiKSBhcyAoKSA9PiBhbnlbXVxuXHQpO1xuXG5cdGNvbnN0IG9Qcm9taXNlID0gYVJldHJpZXZlZEN1c3RvbURhdGEucmVkdWNlKChvUHJldmlvdXNQcm9taXNlOiBQcm9taXNlPHZvaWQ+LCBvQ3VzdG9tRGF0YSkgPT4ge1xuXHRcdHJldHVybiBvUHJldmlvdXNQcm9taXNlLnRoZW4ob01vZGlmaWVyLmdldFByb3BlcnR5LmJpbmQob01vZGlmaWVyLCBvQ3VzdG9tRGF0YSwgXCJrZXlcIikpLnRoZW4oZnVuY3Rpb24gKHNLZXk6IGFueSkge1xuXHRcdFx0aWYgKHNLZXkgPT09IHNQcm9wZXJ0eSkge1xuXHRcdFx0XHRhQ3VzdG9tRGF0YS5wdXNoKG9DdXN0b21EYXRhKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fSwgUHJvbWlzZS5yZXNvbHZlKCkpO1xuXHRhd2FpdCBvUHJvbWlzZTtcblxuXHRpZiAoYUN1c3RvbURhdGEubGVuZ3RoID09PSAxKSB7XG5cdFx0cmV0dXJuIG9Nb2RpZmllci5nZXRQcm9wZXJ0eShhQ3VzdG9tRGF0YVswXSwgXCJ2YWx1ZVwiKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG59XG5cbmNvbnN0IERlbGVnYXRlVXRpbCA9IHtcblx0Z2V0TG9jYWxpemVkVGV4dChzVGV4dE9yVG9rZW46IHN0cmluZywgb0NvbnRyb2w6IENvbnRyb2wgfCBQYWdlQ29udHJvbGxlcikge1xuXHRcdGNvbnN0IGFNYXRjaCA9IC97KFtBLVphLXowLTlfLnxAXSspPihbQS1aYS16MC05Xy58XSspfS8uZXhlYyhzVGV4dE9yVG9rZW4pO1xuXHRcdGlmIChhTWF0Y2gpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IG9SZXNvdXJjZUJ1bmRsZSA9IChvQ29udHJvbC5nZXRNb2RlbChhTWF0Y2hbMV0pIGFzIFJlc291cmNlTW9kZWwpLmdldFJlc291cmNlQnVuZGxlKCkgYXMgUmVzb3VyY2VCdW5kbGU7XG5cdFx0XHRcdHJldHVybiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChhTWF0Y2hbMl0pO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRMb2cuaW5mbyhgVW5hYmxlIHRvIHJldHJpZXZlIGxvY2FsaXplZCB0ZXh0ICR7c1RleHRPclRva2VufWApO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gc1RleHRPclRva2VuO1xuXHR9LFxuXHRnZXRDdXN0b21EYXRhKG9Db250cm9sOiBhbnksIHNQcm9wZXJ0eTogYW55LCBvTW9kaWZpZXI/OiBhbnkpIHtcblx0XHQvLyBJZiBNb2RpZmllciBpcyBnaXZlbiwgdGhlIG1ldGhvZCBtdXN0IGV4ZWN1dGUgYXN5bmNocm9ub3VzbHkgYW5kIHJldHVybiBhIFByb21pc2Vcblx0XHRpZiAob01vZGlmaWVyKSB7XG5cdFx0XHRyZXR1cm4gZ2V0Q3VzdG9tRGF0YVdpdGhNb2RpZmllcihvQ29udHJvbCwgc1Byb3BlcnR5LCBvTW9kaWZpZXIpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBEZWxlZ2F0ZSBpbnZva2VkIGZyb20gYSBub24tZmxleCBjaGFuZ2UgLSBGaWx0ZXJCYXJEZWxlZ2F0ZS5fYWRkUDEzbkl0ZW0gZm9yIE9QIHRhYmxlIGZpbHRlcmluZywgRmlsdGVyQmFyRGVsZWdhdGUuZmV0Y2hQcm9wZXJ0aWVzIGV0Yy5cblx0XHRcdGlmIChvQ29udHJvbCAmJiBzUHJvcGVydHkpIHtcblx0XHRcdFx0aWYgKG9Db250cm9sIGluc3RhbmNlb2Ygd2luZG93LkVsZW1lbnQpIHtcblx0XHRcdFx0XHRyZXR1cm4gb0NvbnRyb2wuZ2V0QXR0cmlidXRlTlMoTlNfTUFDUk9EQVRBLCBzUHJvcGVydHkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChvQ29udHJvbC5kYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcblx0XHRcdFx0XHRyZXR1cm4gb0NvbnRyb2wuZGF0YShzUHJvcGVydHkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0fSxcblx0c2V0Q3VzdG9tRGF0YShvQ29udHJvbDogYW55LCBzUHJvcGVydHk6IGFueSwgdlZhbHVlOiBhbnkpIHtcblx0XHRpZiAob0NvbnRyb2wgJiYgc1Byb3BlcnR5KSB7XG5cdFx0XHRpZiAob0NvbnRyb2wgaW5zdGFuY2VvZiB3aW5kb3cuRWxlbWVudCkge1xuXHRcdFx0XHRyZXR1cm4gb0NvbnRyb2wuc2V0QXR0cmlidXRlTlMoTlNfTUFDUk9EQVRBLCBgY3VzdG9tRGF0YToke3NQcm9wZXJ0eX1gLCB2VmFsdWUpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG9Db250cm9sLmRhdGEgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuXHRcdFx0XHRyZXR1cm4gb0NvbnRyb2wuZGF0YShzUHJvcGVydHksIHZWYWx1ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9LFxuXHRmZXRjaFByb3BlcnRpZXNGb3JFbnRpdHkoc0VudGl0eVNldDogYW55LCBvTWV0YU1vZGVsOiBhbnkpIHtcblx0XHRyZXR1cm4gb01ldGFNb2RlbC5yZXF1ZXN0T2JqZWN0KGAke3NFbnRpdHlTZXR9L2ApO1xuXHR9LFxuXHRmZXRjaEFubm90YXRpb25zRm9yRW50aXR5KHNFbnRpdHlTZXQ6IGFueSwgb01ldGFNb2RlbDogYW55KSB7XG5cdFx0cmV0dXJuIG9NZXRhTW9kZWwucmVxdWVzdE9iamVjdChgJHtzRW50aXR5U2V0fUBgKTtcblx0fSxcblx0ZmV0Y2hNb2RlbChvQ29udHJvbDogYW55KSB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cdFx0XHRjb25zdCBzTW9kZWxOYW1lID0gb0NvbnRyb2wuZ2V0RGVsZWdhdGUoKS5wYXlsb2FkICYmIG9Db250cm9sLmdldERlbGVnYXRlKCkucGF5bG9hZC5tb2RlbE5hbWUsXG5cdFx0XHRcdG9Db250ZXh0ID0geyBtb2RlbE5hbWU6IHNNb2RlbE5hbWUsIGNvbnRyb2w6IG9Db250cm9sLCByZXNvbHZlOiByZXNvbHZlIH07XG5cdFx0XHRfcmV0cmlldmVNb2RlbC5jYWxsKG9Db250ZXh0KTtcblx0XHR9KTtcblx0fSxcblx0bG9hZE1hY3JvTGlicmFyeSgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdHNhcC51aS5yZXF1aXJlKFtcInNhcC9mZS9tYWNyb3MvbWFjcm9MaWJyYXJ5XCJdLCBmdW5jdGlvbiAoLyptYWNyb0xpYnJhcnkqLykge1xuXHRcdFx0XHRyZXNvbHZlKCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fSxcblx0dGVtcGxhdGVDb250cm9sRnJhZ21lbnQoc0ZyYWdtZW50TmFtZTogYW55LCBvUHJlcHJvY2Vzc29yU2V0dGluZ3M6IGFueSwgb09wdGlvbnM6IGFueSwgb01vZGlmaWVyPzogYW55KSB7XG5cdFx0cmV0dXJuIENvbW1vblV0aWxzLnRlbXBsYXRlQ29udHJvbEZyYWdtZW50KHNGcmFnbWVudE5hbWUsIG9QcmVwcm9jZXNzb3JTZXR0aW5ncywgb09wdGlvbnMsIG9Nb2RpZmllcik7XG5cdH0sXG5cdGRvZXNWYWx1ZUhlbHBFeGlzdChtUGFyYW1ldGVyczogYW55KSB7XG5cdFx0Y29uc3Qgc1Byb3BlcnR5TmFtZSA9IG1QYXJhbWV0ZXJzLnNQcm9wZXJ0eU5hbWUgfHwgXCJcIjtcblx0XHRjb25zdCBzVmFsdWVIZWxwVHlwZSA9IG1QYXJhbWV0ZXJzLnNWYWx1ZUhlbHBUeXBlIHx8IFwiXCI7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IG1QYXJhbWV0ZXJzLm9NZXRhTW9kZWw7XG5cdFx0Y29uc3Qgb01vZGlmaWVyID0gbVBhcmFtZXRlcnMub01vZGlmaWVyO1xuXHRcdGNvbnN0IHNPcmlnaW5hbFByb3BlcnR5ID0gYCR7bVBhcmFtZXRlcnMuc0JpbmRpbmdQYXRofS8ke3NQcm9wZXJ0eU5hbWV9YDtcblx0XHRjb25zdCBvUHJvcGVydHlDb250ZXh0ID0gb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChzT3JpZ2luYWxQcm9wZXJ0eSk7XG5cdFx0bGV0IHNWYWx1ZUhlbHBQcm9wZXJ0eSA9IEZpZWxkSGVscGVyLnZhbHVlSGVscFByb3BlcnR5KG9Qcm9wZXJ0eUNvbnRleHQpO1xuXHRcdGNvbnN0IGJJc0Fic29sdXRlID0gbVBhcmFtZXRlcnMuc0JpbmRpbmdQYXRoICYmIG1QYXJhbWV0ZXJzLnNCaW5kaW5nUGF0aC5pbmRleE9mKFwiL1wiKSA9PT0gMDtcblxuXHRcdC8vIHVuaXQvY3VycmVuY3lcblx0XHRpZiAoc1ZhbHVlSGVscFByb3BlcnR5LmluZGV4T2YoXCIkUGF0aFwiKSA+IC0xKSB7XG5cdFx0XHRzVmFsdWVIZWxwUHJvcGVydHkgPSBvTWV0YU1vZGVsLmdldE9iamVjdChzVmFsdWVIZWxwUHJvcGVydHkpO1xuXHRcdH1cblx0XHRpZiAoYklzQWJzb2x1dGUgJiYgc1ZhbHVlSGVscFByb3BlcnR5LmluZGV4T2YoXCIvXCIpICE9PSAwKSB7XG5cdFx0XHRzVmFsdWVIZWxwUHJvcGVydHkgPSBgJHttUGFyYW1ldGVycy5zQmluZGluZ1BhdGh9LyR7c1ZhbHVlSGVscFByb3BlcnR5fWA7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgc0dlbmVyYXRlZElkID0gZ2VuZXJhdGVJRChcblx0XHRcdG1QYXJhbWV0ZXJzLmZsZXhJZCxcblx0XHRcdGdlbmVyYXRlKFtvTW9kaWZpZXIgPyBvTW9kaWZpZXIuZ2V0SWQobVBhcmFtZXRlcnMub0NvbnRyb2wpIDogbVBhcmFtZXRlcnMub0NvbnRyb2wuZ2V0SWQoKSwgc1ZhbHVlSGVscFR5cGVdKSxcblx0XHRcdGdldFJlbGF0aXZlUHJvcGVydHlQYXRoKG9Qcm9wZXJ0eUNvbnRleHQuZ2V0UHJvcGVydHkoc09yaWdpbmFsUHJvcGVydHkpLCB7XG5cdFx0XHRcdGNvbnRleHQ6IHtcblx0XHRcdFx0XHRnZXRNb2RlbDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIG1QYXJhbWV0ZXJzLm9NZXRhTW9kZWw7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRnZXRQYXRoOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gc09yaWdpbmFsUHJvcGVydHk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGFzIGFueVxuXHRcdFx0fSksXG5cdFx0XHRnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aChvUHJvcGVydHlDb250ZXh0LmdldFByb3BlcnR5KHNWYWx1ZUhlbHBQcm9wZXJ0eSksIHtcblx0XHRcdFx0Y29udGV4dDoge1xuXHRcdFx0XHRcdGdldE1vZGVsOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gbVBhcmFtZXRlcnMub01ldGFNb2RlbDtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGdldFBhdGg6ICgpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiBzVmFsdWVIZWxwUHJvcGVydHk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGFzIGFueVxuXHRcdFx0fSlcblx0XHQpO1xuXG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdGlmIChvTW9kaWZpZXIpIHtcblx0XHRcdFx0XHRyZXR1cm4gb01vZGlmaWVyLmdldEFnZ3JlZ2F0aW9uKG1QYXJhbWV0ZXJzLm9Db250cm9sLCBcImRlcGVuZGVudHNcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG1QYXJhbWV0ZXJzLm9Db250cm9sLmdldEFnZ3JlZ2F0aW9uKFwiZGVwZW5kZW50c1wiKTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoYURlcGVuZGVudHM6IGFueSkge1xuXHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFxuXHRcdFx0XHRcdGFEZXBlbmRlbnRzICYmXG5cdFx0XHRcdFx0XHRhRGVwZW5kZW50cy5zb21lKGZ1bmN0aW9uIChvRGVwZW5kZW50OiBhbnkpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIG9Nb2RpZmllciA/IG9Nb2RpZmllci5nZXRJZChvRGVwZW5kZW50KSA9PT0gc0dlbmVyYXRlZElkIDogb0RlcGVuZGVudC5nZXRJZCgpID09PSBzR2VuZXJhdGVkSWQ7XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpO1xuXHRcdFx0fSk7XG5cdH0sXG5cdGlzVmFsdWVIZWxwUmVxdWlyZWQobVBhcmFtZXRlcnM6IGFueSwgYkluRmlsdGVyRmllbGQ/OiBib29sZWFuKSB7XG5cdFx0Y29uc3Qgc1Byb3BlcnR5TmFtZSA9IG1QYXJhbWV0ZXJzLnNQcm9wZXJ0eU5hbWUgfHwgXCJcIixcblx0XHRcdG9NZXRhTW9kZWwgPSBtUGFyYW1ldGVycy5vTWV0YU1vZGVsLFxuXHRcdFx0c1Byb3BlcnR5ID0gYCR7bVBhcmFtZXRlcnMuc0JpbmRpbmdQYXRofS8ke3NQcm9wZXJ0eU5hbWV9YCxcblx0XHRcdG9Qcm9wZXJ0eUNvbnRleHQgPSBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNQcm9wZXJ0eSksXG5cdFx0XHRzVmFsdWVIZWxwUHJvcGVydHkgPSBGaWVsZEhlbHBlci52YWx1ZUhlbHBQcm9wZXJ0eShvUHJvcGVydHlDb250ZXh0LCBiSW5GaWx0ZXJGaWVsZCk7XG5cblx0XHRyZXR1cm4gdGhpcy5nZXRDdXN0b21EYXRhKG1QYXJhbWV0ZXJzLm9Db250cm9sLCBcImRpc3BsYXlNb2RlUHJvcGVydHlCaW5kaW5nXCIsIG1QYXJhbWV0ZXJzLm9Nb2RpZmllcilcblx0XHRcdC50aGVuKGZ1bmN0aW9uIChiUmVhZE9ubHk6IGFueSkge1xuXHRcdFx0XHQvLyBDaGVjayB3aGV0aGVyIHRoZSBjb250cm9sIGlzIHJlYWQtb25seS4gSWYgeWVzLCBubyBuZWVkIG9mIGEgdmFsdWUgaGVscC5cblx0XHRcdFx0YlJlYWRPbmx5ID0gdHlwZW9mIGJSZWFkT25seSA9PT0gXCJib29sZWFuXCIgPyBiUmVhZE9ubHkgOiBiUmVhZE9ubHkgPT09IFwidHJ1ZVwiO1xuXHRcdFx0XHRpZiAoYlJlYWRPbmx5KSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIEVsc2UsIGNoZWNrIHdoZXRoZXIgVmFsdWUgSGVscCByZWxldmFudCBhbm5vdGF0aW9uIGV4aXN0cyBmb3IgdGhlIHByb3BlcnR5LlxuXHRcdFx0XHQvLyBUT0RPIHVzZSBQcm9wZXJ0eUZvcm1hdHRlci5oYXNWYWx1ZUhlbHAgKCkgPT4gaWYgZG9pbmcgc28sIFFVbml0IHRlc3RzIGZhaWwgZHVlIHRvIG1vY2tlZCBtb2RlbCBpbXBsZW1lbnRhdGlvblxuXHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5hbGwoW1xuXHRcdFx0XHRcdG9NZXRhTW9kZWwucmVxdWVzdE9iamVjdChgJHtzVmFsdWVIZWxwUHJvcGVydHl9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5WYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXNgKSxcblx0XHRcdFx0XHRvTWV0YU1vZGVsLnJlcXVlc3RPYmplY3QoYCR7c1ZhbHVlSGVscFByb3BlcnR5fUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVmFsdWVMaXN0UmVmZXJlbmNlc2ApLFxuXHRcdFx0XHRcdG9NZXRhTW9kZWwucmVxdWVzdE9iamVjdChgJHtzVmFsdWVIZWxwUHJvcGVydHl9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5WYWx1ZUxpc3RNYXBwaW5nYCksXG5cdFx0XHRcdFx0b01ldGFNb2RlbC5yZXF1ZXN0T2JqZWN0KGAke3NWYWx1ZUhlbHBQcm9wZXJ0eX1AY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlZhbHVlTGlzdGApXG5cdFx0XHRcdF0pO1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKGZ1bmN0aW9uIChhUmVzdWx0czogYW55W10pIHtcblx0XHRcdFx0cmV0dXJuICEhYVJlc3VsdHNbMF0gfHwgISFhUmVzdWx0c1sxXSB8fCAhIWFSZXN1bHRzWzJdIHx8ICEhYVJlc3VsdHNbM107XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRMb2cud2FybmluZyhcIkVycm9yIHdoaWxlIHJldHJpZXZpbmcgY3VzdG9tIGRhdGEgLyB2YWx1ZSBsaXN0IGFubm90YXRpb24gdmFsdWVzXCIsIG9FcnJvcik7XG5cdFx0XHR9KTtcblx0fSxcblx0aXNUeXBlRmlsdGVyYWJsZShzVHlwZToga2V5b2YgdHlwZW9mIG1EZWZhdWx0VHlwZUZvckVkbVR5cGUpIHtcblx0XHRyZXR1cm4gc1R5cGUgJiYgc1R5cGUgaW4gbURlZmF1bHRUeXBlRm9yRWRtVHlwZSAmJiAhIW1EZWZhdWx0VHlwZUZvckVkbVR5cGVbc1R5cGVdLm1vZGVsVHlwZTtcblx0fSxcblx0Z2V0TW9kZWxUeXBlKHNUeXBlOiBrZXlvZiB0eXBlb2YgbURlZmF1bHRUeXBlRm9yRWRtVHlwZSkge1xuXHRcdHJldHVybiBzVHlwZSAmJiBzVHlwZSBpbiBtRGVmYXVsdFR5cGVGb3JFZG1UeXBlICYmIG1EZWZhdWx0VHlwZUZvckVkbVR5cGVbc1R5cGVdLm1vZGVsVHlwZTtcblx0fSxcblx0aXNNdWx0aVZhbHVlKG9Qcm9wZXJ0eTogYW55KSB7XG5cdFx0bGV0IGJJc011bHRpVmFsdWUgPSB0cnVlO1xuXHRcdC8vU2luZ2xlVmFsdWUgfCBNdWx0aVZhbHVlIHwgU2luZ2xlUmFuZ2UgfCBNdWx0aVJhbmdlIHwgU2VhcmNoRXhwcmVzc2lvbiB8IE11bHRpUmFuZ2VPclNlYXJjaEV4cHJlc3Npb25cblx0XHRzd2l0Y2ggKG9Qcm9wZXJ0eS5maWx0ZXJFeHByZXNzaW9uKSB7XG5cdFx0XHRjYXNlIFwiU2VhcmNoRXhwcmVzc2lvblwiOlxuXHRcdFx0Y2FzZSBcIlNpbmdsZVJhbmdlXCI6XG5cdFx0XHRjYXNlIFwiU2luZ2xlVmFsdWVcIjpcblx0XHRcdFx0YklzTXVsdGlWYWx1ZSA9IGZhbHNlO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHRpZiAob1Byb3BlcnR5LnR5cGUgJiYgb1Byb3BlcnR5LnR5cGUuaW5kZXhPZihcIkJvb2xlYW5cIikgPiAwKSB7XG5cdFx0XHRiSXNNdWx0aVZhbHVlID0gZmFsc2U7XG5cdFx0fVxuXHRcdHJldHVybiBiSXNNdWx0aVZhbHVlO1xuXHR9XG59O1xuZXhwb3J0IGRlZmF1bHQgRGVsZWdhdGVVdGlsO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7TUFtSGVBLHlCLGFBQTBCQyxRLEVBQWVDLFMsRUFBZ0JDLFM7UUFBZ0I7TUFDdkYsSUFBTUMsV0FBa0IsR0FBRyxFQUEzQjtNQUR1Rix1QkFHcERDLE9BQU8sQ0FBQ0MsT0FBUixHQUFrQkMsSUFBbEIsQ0FDbENKLFNBQVMsQ0FBQ0ssY0FBVixDQUF5QkMsSUFBekIsQ0FBOEJOLFNBQTlCLEVBQXlDRixRQUF6QyxFQUFtRCxZQUFuRCxDQURrQyxDQUhvRCxpQkFHakZTLG9CQUhpRjtRQU92RixJQUFNQyxRQUFRLEdBQUdELG9CQUFvQixDQUFDRSxNQUFyQixDQUE0QixVQUFDQyxnQkFBRCxFQUFrQ0MsV0FBbEMsRUFBa0Q7VUFDOUYsT0FBT0QsZ0JB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
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type ResourceBundle from "sap/base/i18n/ResourceBundle";
|
|
2
2
|
import Log from "sap/base/Log";
|
|
3
3
|
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
4
|
+
import { configType, exportSettings, VisualSettings } from "sap/fe/core/converters/controls/Common/Table";
|
|
5
|
+
import { DisplayMode } from "sap/fe/core/templating/DisplayModeFormatter";
|
|
4
6
|
import { generate } from "sap/fe/core/helpers/StableIdHelper";
|
|
5
7
|
import type PageController from "sap/fe/core/PageController";
|
|
6
8
|
import { getRelativePropertyPath } from "sap/fe/core/templating/PropertyFormatters";
|
|
@@ -9,64 +11,97 @@ import { generateID } from "sap/fe/macros/internal/valuehelp/ValueHelpTemplating
|
|
|
9
11
|
import type Control from "sap/ui/core/Control";
|
|
10
12
|
import type ResourceModel from "sap/ui/model/resource/ResourceModel";
|
|
11
13
|
|
|
12
|
-
const NS_MACRODATA = "http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
14
|
+
const NS_MACRODATA = "http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1";
|
|
15
|
+
|
|
16
|
+
export type PropertyInfo = {
|
|
17
|
+
additionalLabels?: string[];
|
|
18
|
+
caseSensitive?: boolean;
|
|
19
|
+
description?: string;
|
|
20
|
+
descriptionProperty?: string;
|
|
21
|
+
exportSettings?: exportSettings | null;
|
|
22
|
+
filterable?: boolean;
|
|
23
|
+
group?: string;
|
|
24
|
+
groupable?: boolean;
|
|
25
|
+
groupLabel?: string;
|
|
26
|
+
key?: boolean;
|
|
27
|
+
label?: string;
|
|
28
|
+
maxConditions?: number;
|
|
29
|
+
metadataPath: string;
|
|
30
|
+
mode?: DisplayMode;
|
|
31
|
+
name: string;
|
|
32
|
+
path?: string;
|
|
33
|
+
propertyInfos?: string[];
|
|
34
|
+
relativePath?: string;
|
|
35
|
+
sortable?: boolean;
|
|
36
|
+
sortDirection?: string;
|
|
37
|
+
text?: string;
|
|
38
|
+
tooltip?: string;
|
|
39
|
+
typeConfig: configType;
|
|
40
|
+
unit?: string;
|
|
41
|
+
valueProperty?: string;
|
|
42
|
+
visible: boolean;
|
|
43
|
+
visualSettings?: VisualSettings;
|
|
44
|
+
exportDataPointTargetValue?: string;
|
|
45
|
+
isParameter?: boolean;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const mDefaultTypeForEdmType = {
|
|
49
|
+
"Edm.Boolean": {
|
|
50
|
+
modelType: "Bool"
|
|
51
|
+
},
|
|
52
|
+
"Edm.Byte": {
|
|
53
|
+
modelType: "Int"
|
|
54
|
+
},
|
|
55
|
+
"Edm.Date": {
|
|
56
|
+
modelType: "Date"
|
|
57
|
+
},
|
|
58
|
+
"Edm.DateTime": {
|
|
59
|
+
modelType: "Date"
|
|
60
|
+
},
|
|
61
|
+
"Edm.DateTimeOffset": {
|
|
62
|
+
modelType: "DateTimeOffset"
|
|
63
|
+
},
|
|
64
|
+
"Edm.Decimal": {
|
|
65
|
+
modelType: "Decimal"
|
|
66
|
+
},
|
|
67
|
+
"Edm.Double": {
|
|
68
|
+
modelType: "Float"
|
|
69
|
+
},
|
|
70
|
+
"Edm.Float": {
|
|
71
|
+
modelType: "Float"
|
|
72
|
+
},
|
|
73
|
+
"Edm.Guid": {
|
|
74
|
+
modelType: "Guid"
|
|
75
|
+
},
|
|
76
|
+
"Edm.Int16": {
|
|
77
|
+
modelType: "Int"
|
|
78
|
+
},
|
|
79
|
+
"Edm.Int32": {
|
|
80
|
+
modelType: "Int"
|
|
81
|
+
},
|
|
82
|
+
"Edm.Int64": {
|
|
83
|
+
modelType: "Int"
|
|
84
|
+
},
|
|
85
|
+
"Edm.SByte": {
|
|
86
|
+
modelType: "Int"
|
|
87
|
+
},
|
|
88
|
+
"Edm.Single": {
|
|
89
|
+
modelType: "Float"
|
|
90
|
+
},
|
|
91
|
+
"Edm.String": {
|
|
92
|
+
modelType: "String"
|
|
93
|
+
},
|
|
94
|
+
"Edm.Time": {
|
|
95
|
+
modelType: "TimeOfDay"
|
|
96
|
+
},
|
|
97
|
+
"Edm.TimeOfDay": {
|
|
98
|
+
modelType: "TimeOfDay"
|
|
99
|
+
},
|
|
100
|
+
"Edm.Stream": {
|
|
101
|
+
//no corresponding modelType - ignore for filtering
|
|
102
|
+
modelType: undefined
|
|
103
|
+
}
|
|
104
|
+
};
|
|
70
105
|
function _retrieveModel(this: { modelName: string; control: any; resolve: Function }) {
|
|
71
106
|
this.control.detachModelContextChange(_retrieveModel, this);
|
|
72
107
|
const sModelName = this.modelName,
|
|
@@ -63,7 +63,7 @@ sap.ui.define(["sap/fe/macros/MacroMetadata"], function (MacroMetadata) {
|
|
|
63
63
|
entitySet: {
|
|
64
64
|
type: "sap.ui.model.Context",
|
|
65
65
|
required: true,
|
|
66
|
-
$kind: ["EntitySet"]
|
|
66
|
+
$kind: ["EntitySet", "NavigationProperty"]
|
|
67
67
|
},
|
|
68
68
|
isDraftIndicatorVisible: {
|
|
69
69
|
type: "boolean",
|
|
@@ -81,4 +81,4 @@ sap.ui.define(["sap/fe/macros/MacroMetadata"], function (MacroMetadata) {
|
|
|
81
81
|
});
|
|
82
82
|
return DraftIndicator;
|
|
83
83
|
}, false);
|
|
84
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcmFmdEluZGljYXRvciIsIk1hY3JvTWV0YWRhdGEiLCJleHRlbmQiLCJuYW1lIiwibmFtZXNwYWNlIiwiZnJhZ21lbnQiLCJtZXRhZGF0YSIsInN0ZXJlb3R5cGUiLCJwcm9wZXJ0aWVzIiwiaWQiLCJ0eXBlIiwiYXJpYUxhYmVsbGVkQnkiLCJEcmFmdEluZGljYXRvclR5cGUiLCJyZXF1aXJlZCIsImRlZmF1bHRWYWx1ZSIsImVudGl0eVNldCIsIiRraW5kIiwiaXNEcmFmdEluZGljYXRvclZpc2libGUiLCJpbmRpY2F0b3JUeXBlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEcmFmdEluZGljYXRvci5tZXRhZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjbGFzc2Rlc2NcbiAqIE1hY3JvIGZvciBjcmVhdGluZyBhIERyYWZ0SW5kaWNhdG9yIGJhc2VkIG9uIHRoZSBtZXRhZGF0YSBwcm92aWRlZCBieSBPRGF0YSBWNC5cbiAqXG4gKlxuICogVXNhZ2UgZXhhbXBsZTpcbiAqIDxwcmU+
|
|
84
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcmFmdEluZGljYXRvciIsIk1hY3JvTWV0YWRhdGEiLCJleHRlbmQiLCJuYW1lIiwibmFtZXNwYWNlIiwiZnJhZ21lbnQiLCJtZXRhZGF0YSIsInN0ZXJlb3R5cGUiLCJwcm9wZXJ0aWVzIiwiaWQiLCJ0eXBlIiwiYXJpYUxhYmVsbGVkQnkiLCJEcmFmdEluZGljYXRvclR5cGUiLCJyZXF1aXJlZCIsImRlZmF1bHRWYWx1ZSIsImVudGl0eVNldCIsIiRraW5kIiwiaXNEcmFmdEluZGljYXRvclZpc2libGUiLCJpbmRpY2F0b3JUeXBlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEcmFmdEluZGljYXRvci5tZXRhZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjbGFzc2Rlc2NcbiAqIE1hY3JvIGZvciBjcmVhdGluZyBhIERyYWZ0SW5kaWNhdG9yIGJhc2VkIG9uIHRoZSBtZXRhZGF0YSBwcm92aWRlZCBieSBPRGF0YSBWNC5cbiAqXG4gKlxuICogVXNhZ2UgZXhhbXBsZTpcbiAqIDxwcmU+XG4gKiAmbHQ7bWFjcm86RHJhZnRJbmRpY2F0b3JcbiAqICAgaWQ9XCJTb21lSURcIlxuICogLyZndDtcbiAqIDwvcHJlPlxuICogQGNsYXNzIHNhcC5mZS5tYWNyb3MuRHJhZnRJbmRpY2F0b3JcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqIEBwcml2YXRlXG4gKi9cbmltcG9ydCBNYWNyb01ldGFkYXRhIGZyb20gXCJzYXAvZmUvbWFjcm9zL01hY3JvTWV0YWRhdGFcIjtcblxuY29uc3QgRHJhZnRJbmRpY2F0b3IgPSBNYWNyb01ldGFkYXRhLmV4dGVuZChcInNhcC5mZS5tYWNyb3MuRHJhZnRJbmRpY2F0b3JcIiwge1xuXHQvKipcblx0ICogTmFtZSBvZiB0aGUgbWFjcm8gY29udHJvbC5cblx0ICovXG5cdG5hbWU6IFwiRHJhZnRJbmRpY2F0b3JcIixcblx0LyoqXG5cdCAqIE5hbWVzcGFjZSBvZiB0aGUgbWFjcm8gY29udHJvbFxuXHQgKi9cblx0bmFtZXNwYWNlOiBcInNhcC5mZS5tYWNyb3NcIixcblx0LyoqXG5cdCAqIEZyYWdtZW50IHNvdXJjZSBvZiB0aGUgbWFjcm8gKG9wdGlvbmFsKSAtIGlmIG5vdCBzZXQsIGZyYWdtZW50IGlzIGdlbmVyYXRlZCBmcm9tIG5hbWVzcGFjZSBhbmQgbmFtZVxuXHQgKi9cblx0ZnJhZ21lbnQ6IFwic2FwLmZlLm1hY3Jvcy5kcmFmdEluZGljYXRvci5EcmFmdEluZGljYXRvclwiLFxuXG5cdC8qKlxuXHQgKiBUaGUgbWV0YWRhdGEgZGVzY3JpYmluZyB0aGUgbWFjcm8gY29udHJvbC5cblx0ICovXG5cdG1ldGFkYXRhOiB7XG5cdFx0LyoqXG5cdFx0ICogRGVmaW5lIG1hY3JvIHN0ZXJlb3R5cGUgZm9yIGRvY3VtZW50YXRpb25cblx0XHQgKi9cblx0XHRzdGVyZW90eXBlOiBcInhtbG1hY3JvXCIsXG5cdFx0LyoqXG5cdFx0ICogUHJvcGVydGllcy5cblx0XHQgKi9cblx0XHRwcm9wZXJ0aWVzOiB7XG5cdFx0XHQvKipcblx0XHRcdCAqIElEIG9mIHRoZSBEcmFmdEluZGljYXRvclxuXHRcdFx0ICovXG5cdFx0XHRpZDoge1xuXHRcdFx0XHR0eXBlOiBcInN0cmluZ1wiXG5cdFx0XHR9LFxuXHRcdFx0LyoqXG5cdFx0XHQgKiBQcm9wZXJ0eSBhZGRlZCB0byBhc3NvY2lhdGUgdGhlIGxhYmVsIHdpdGggdGhlIERyYWZ0SW5kaWNhdG9yXG5cdFx0XHQgKi9cblx0XHRcdGFyaWFMYWJlbGxlZEJ5OiB7XG5cdFx0XHRcdHR5cGU6IFwic3RyaW5nXCJcblx0XHRcdH0sXG5cdFx0XHQvKipcblx0XHRcdCAqIE1hbmFkYXRvcnkgZmllbGQgRHJhZnRJbmRpY2F0b3Jcblx0XHRcdCAqL1xuXHRcdFx0RHJhZnRJbmRpY2F0b3JUeXBlOiB7XG5cdFx0XHRcdHR5cGU6IFwic2FwLnVpLm1kYy5EcmFmdEluZGljYXRvclR5cGVcIixcblx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0XHRcdGRlZmF1bHRWYWx1ZTogXCJJY29uQW5kVGV4dFwiXG5cdFx0XHR9LFxuXHRcdFx0LyoqXG5cdFx0XHQgKiBNYW5kYXRvcnkgY29udGV4dCB0byB0aGUgRW50aXR5U2V0XG5cdFx0XHQgKi9cblx0XHRcdGVudGl0eVNldDoge1xuXHRcdFx0XHR0eXBlOiBcInNhcC51aS5tb2RlbC5Db250ZXh0XCIsXG5cdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdFx0XHQka2luZDogW1wiRW50aXR5U2V0XCIsIFwiTmF2aWdhdGlvblByb3BlcnR5XCJdXG5cdFx0XHR9LFxuXHRcdFx0aXNEcmFmdEluZGljYXRvclZpc2libGU6IHtcblx0XHRcdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdFx0XHRkZWZhdWx0VmFsdWU6IGZhbHNlXG5cdFx0XHR9LFxuXHRcdFx0aW5kaWNhdG9yVHlwZToge1xuXHRcdFx0XHR0eXBlOiBcInN0cmluZ1wiXG5cdFx0XHR9LFxuXHRcdFx0XCJjbGFzc1wiOiB7XG5cdFx0XHRcdHR5cGU6IFwic3RyaW5nXCJcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0pO1xuZXhwb3J0IGRlZmF1bHQgRHJhZnRJbmRpY2F0b3I7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7RUFpQkEsSUFBTUEsY0FBYyxHQUFHQyxhQUFhLENBQUNDLE1BQWQsQ0FBcUIsOEJBQXJCLEVBQXFEO0lBQzNFO0FBQ0Q7QUFDQTtJQUNDQyxJQUFJLEVBQUUsZ0JBSnFFOztJQUszRTtBQUNEO0FBQ0E7SUFDQ0MsU0FBUyxFQUFFLGVBUmdFOztJQVMzRTtBQUNEO0FBQ0E7SUFDQ0MsUUFBUSxFQUFFLDZDQVppRTs7SUFjM0U7QUFDRDtBQUNBO0lBQ0NDLFFBQVEsRUFBRTtNQUNUO0FBQ0Y7QUFDQTtNQUNFQyxVQUFVLEVBQUUsVUFKSDs7TUFLVDtBQUNGO0FBQ0E7TUFDRUMsVUFBVSxFQUFFO1FBQ1g7QUFDSDtBQUNBO1FBQ0dDLEVBQUUsRUFBRTtVQUNIQyxJQUFJLEVBQUU7UUFESCxDQUpPOztRQU9YO0FBQ0g7QUFDQTtRQUNHQyxjQUFjLEVBQUU7VUFDZkQsSUFBSSxFQUFFO1FBRFMsQ0FWTDs7UUFhWDtBQUNIO0FBQ0E7UUFDR0Usa0JBQWtCLEVBQUU7VUFDbkJGLElBQUksRUFBRSwrQkFEYTtVQUVuQkcsUUFBUSxFQUFFLElBRlM7VUFHbkJDLFlBQVksRUFBRTtRQUhLLENBaEJUOztRQXFCWDtBQUNIO0FBQ0E7UUFDR0MsU0FBUyxFQUFFO1VBQ1ZMLElBQUksRUFBRSxzQkFESTtVQUVWRyxRQUFRLEVBQUUsSUFGQTtVQUdWRyxLQUFLLEVBQUUsQ0FBQyxXQUFELEVBQWMsb0JBQWQ7UUFIRyxDQXhCQTtRQTZCWEMsdUJBQXVCLEVBQUU7VUFDeEJQLElBQUksRUFBRSxTQURrQjtVQUV4QkcsUUFBUSxFQUFFLElBRmM7VUFHeEJDLFlBQVksRUFBRTtRQUhVLENBN0JkO1FBa0NYSSxhQUFhLEVBQUU7VUFDZFIsSUFBSSxFQUFFO1FBRFEsQ0FsQ0o7UUFxQ1gsU0FBUztVQUNSQSxJQUFJLEVBQUU7UUFERTtNQXJDRTtJQVJIO0VBakJpRSxDQUFyRCxDQUF2QjtTQW9FZVYsYyJ9
|
|
@@ -67,7 +67,7 @@ const DraftIndicator = MacroMetadata.extend("sap.fe.macros.DraftIndicator", {
|
|
|
67
67
|
entitySet: {
|
|
68
68
|
type: "sap.ui.model.Context",
|
|
69
69
|
required: true,
|
|
70
|
-
$kind: ["EntitySet"]
|
|
70
|
+
$kind: ["EntitySet", "NavigationProperty"]
|
|
71
71
|
},
|
|
72
72
|
isDraftIndicatorVisible: {
|
|
73
73
|
type: "boolean",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/mdc/odata/v4/FieldBaseDelegate", "sap/ui/model/Filter"], function (Log, CommonUtils, FieldBaseDelegate, Filter) {
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/mdc/field/FieldBaseDelegate", "sap/ui/mdc/odata/v4/FieldBaseDelegate", "sap/ui/model/Filter"], function (Log, CommonUtils, MDCFieldBaseDelegate, FieldBaseDelegate, Filter) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function () {}; return { s: F, n: function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function (e) { throw e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function () { it = it.call(o); }, n: function () { var step = it.next(); normalCompletion = step.done; return step; }, e: function (e) { didErr = true; err = e; }, f: function () { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
@@ -43,7 +43,9 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/mdc/odata/v4/F
|
|
|
43
43
|
function _getFilter(oValueList, sPropertyName, sValueHelpProperty, vKey, vhPayload) {
|
|
44
44
|
var aFilters = [];
|
|
45
45
|
var parameters = oValueList.Parameters.filter(function (parameter) {
|
|
46
|
-
|
|
46
|
+
var _parameter$LocalDataP;
|
|
47
|
+
|
|
48
|
+
return parameter.$Type.indexOf("In") > 48 || ((_parameter$LocalDataP = parameter.LocalDataProperty) === null || _parameter$LocalDataP === void 0 ? void 0 : _parameter$LocalDataP.$PropertyPath) === sPropertyName && parameter.ValueListProperty === sValueHelpProperty;
|
|
47
49
|
});
|
|
48
50
|
|
|
49
51
|
var _iterator = _createForOfIteratorHelper(parameters),
|
|
@@ -83,6 +85,12 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/mdc/odata/v4/F
|
|
|
83
85
|
}
|
|
84
86
|
|
|
85
87
|
return Object.assign({}, FieldBaseDelegate, {
|
|
88
|
+
getItemForValue: function (oPayload, oFieldHelp, oConfig) {
|
|
89
|
+
//BCP: 2270162887 . The MDC field should not try to get the item when the field is emptied
|
|
90
|
+
if (oConfig.value !== "") {
|
|
91
|
+
return MDCFieldBaseDelegate.getItemForValue(oPayload, oFieldHelp, oConfig);
|
|
92
|
+
}
|
|
93
|
+
},
|
|
86
94
|
getDescription: function (oPayload, oFieldHelp, vKey) {
|
|
87
95
|
//JIRA: FIORITECHP1-22022 . The MDC field should not tries to determine description with the initial GET of the data.
|
|
88
96
|
// it should rely on the data we already received from the backend
|
|
@@ -126,7 +134,10 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/mdc/odata/v4/F
|
|
|
126
134
|
return Promise.reject("Text Annotation for ".concat(sValueHelpProperty, "is not defined"));
|
|
127
135
|
}
|
|
128
136
|
}).then(function (aContexts) {
|
|
129
|
-
|
|
137
|
+
var _aContexts$;
|
|
138
|
+
|
|
139
|
+
// return aContexts && aContexts[0] ? aContexts[0].getObject()[sTextProperty] : "";
|
|
140
|
+
return aContexts === null || aContexts === void 0 ? void 0 : (_aContexts$ = aContexts[0]) === null || _aContexts$ === void 0 ? void 0 : _aContexts$.getObject(sTextProperty);
|
|
130
141
|
}).catch(function (e) {
|
|
131
142
|
var sMsg = e.status && e.status === 404 ? "Metadata not found (".concat(e.status, ") for value help of property ").concat(sPropertyPath) : e.message;
|
|
132
143
|
Log.error(sMsg);
|
|
@@ -135,4 +146,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/mdc/odata/v4/F
|
|
|
135
146
|
}
|
|
136
147
|
});
|
|
137
148
|
}, false);
|
|
138
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0VmFsdWVMaXN0UGFyYW1ldGVyIiwib1ZhbHVlTGlzdCIsInNQcm9wZXJ0eU5hbWUiLCJQYXJhbWV0ZXJzIiwiZmlsdGVyIiwiZW50cnkiLCJMb2NhbERhdGFQcm9wZXJ0eSIsIiRQcm9wZXJ0eVBhdGgiLCJfZ2V0RmlsdGVyIiwic1ZhbHVlSGVscFByb3BlcnR5IiwidktleSIsInZoUGF5bG9hZCIsImFGaWx0ZXJzIiwicGFyYW1ldGVycyIsInBhcmFtZXRlciIsIiRUeXBlIiwiaW5kZXhPZiIsInB1c2giLCJGaWx0ZXIiLCJwYXRoIiwib3BlcmF0b3IiLCJ2YWx1ZTEiLCJpc0FjdGlvblBhcmFtZXRlckRpYWxvZyIsImFwZEZpZWxkUGF0aCIsImFwZEZpZWxkIiwic2FwIiwidWkiLCJnZXRDb3JlIiwiYnlJZCIsImFwZEZpZWxkVmFsdWUiLCJnZXRWYWx1ZSIsIlZhbHVlTGlzdFByb3BlcnR5IiwiT2JqZWN0IiwiYXNzaWduIiwiRmllbGRCYXNlRGVsZWdhdGUiLCJnZXREZXNjcmlwdGlvbiIsIm9QYXlsb2FkIiwib0ZpZWxkSGVscCIsInJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3QiLCJpc0ZpbHRlckZpZWxkIiwib09EYXRhTW9kZWwiLCJnZXRNb2RlbCIsIm9NZXRhTW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJDb21tb25VdGlscyIsImdldEFwcENvbXBvbmVudCIsImdldFBheWxvYWQiLCJzUHJvcGVydHlQYXRoIiwicHJvcGVydHlQYXRoIiwic1RleHRQcm9wZXJ0eSIsInJlcXVlc3RWYWx1ZUxpc3RJbmZvIiwiZ2V0QmluZGluZ0NvbnRleHQiLCJ0aGVuIiwibVZhbHVlTGlzdEluZm8iLCJnZXRPYmplY3QiLCJrZXlzIiwiYVZhbHVlSGVscFBhcmFtZXRlcnMiLCJQcm9taXNlIiwicmVqZWN0Iiwib01vZGVsIiwiJG1vZGVsIiwib1RleHRBbm5vdGF0aW9uIiwiQ29sbGVjdGlvblBhdGgiLCIkUGF0aCIsIm9MaXN0QmluZGluZyIsImJpbmRMaXN0IiwidW5kZWZpbmVkIiwicmVxdWVzdENvbnRleHRzIiwiYUNvbnRleHRzIiwiY2F0Y2giLCJlIiwic01zZyIsInN0YXR1cyIsIm1lc3NhZ2UiLCJMb2ciLCJlcnJvciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRmllbGRCYXNlRGVsZWdhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSB7IEFubm90YXRpb25WYWx1ZUxpc3RQYXJhbWV0ZXIsIFZhbHVlSGVscFBheWxvYWQgfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVMaXN0SGVscGVyTmV3XCI7XG5pbXBvcnQgRmllbGQgZnJvbSBcInNhcC91aS9tZGMvRmllbGRcIjtcbmltcG9ydCBGaWVsZEJhc2VEZWxlZ2F0ZSBmcm9tIFwic2FwL3VpL21kYy9vZGF0YS92NC9GaWVsZEJhc2VEZWxlZ2F0ZVwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IHR5cGUgT0RhdGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTW9kZWxcIjtcblxudHlwZSBWYWx1ZUxpc3QgPSB7XG5cdENvbGxlY3Rpb25QYXRoOiBzdHJpbmc7XG5cdFBhcmFtZXRlcnM6IFtBbm5vdGF0aW9uVmFsdWVMaXN0UGFyYW1ldGVyXTtcblx0JG1vZGVsOiBPRGF0YU1vZGVsO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgYWxsIHBhcmFtZXRlcnMgaW4gYSB2YWx1ZSBoZWxwIHRoYXQgdXNlIGEgc3BlY2lmaWMgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIG9WYWx1ZUxpc3QgVmFsdWUgaGVscCB0aGF0IGlzIHVzZWRcbiAqIEBwYXJhbSBzUHJvcGVydHlOYW1lIE5hbWUgb2YgdGhlIHByb3BlcnR5XG4gKiBAcmV0dXJucyBMaXN0IG9mIGFsbCBmb3VuZCBwYXJhbWV0ZXJzXG4gKi9cbmZ1bmN0aW9uIF9nZXRWYWx1ZUxpc3RQYXJhbWV0ZXIob1ZhbHVlTGlzdDogVmFsdWVMaXN0LCBzUHJvcGVydHlOYW1lOiBvYmplY3QpIHtcblx0Ly9kZXRlcm1pbmUgcGF0aCB0byB2YWx1ZSBsaXN0IHByb3BlcnR5XG5cdHJldHVybiBvVmFsdWVMaXN0LlBhcmFtZXRlcnMuZmlsdGVyKGZ1bmN0aW9uIChlbnRyeTogYW55KSB7XG5cdFx0aWYgKGVudHJ5LkxvY2FsRGF0YVByb3BlcnR5KSB7XG5cdFx0XHRyZXR1cm4gZW50cnkuTG9jYWxEYXRhUHJvcGVydHkuJFByb3BlcnR5UGF0aCA9PT0gc1Byb3BlcnR5TmFtZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fSk7XG59XG4vKipcbiAqIEJ1aWxkIGZpbHRlcnMgZm9yIGVhY2ggaW4tcGFyYW1ldGVyLlxuICpcbiAqIEBwYXJhbSBvVmFsdWVMaXN0IFZhbHVlIGhlbHAgdGhhdCBpcyB1c2VkXG4gKiBAcGFyYW0gc1Byb3BlcnR5TmFtZSBOYW1lIG9mIHRoZSBwcm9wZXJ0eVxuICogQHBhcmFtIHNWYWx1ZUhlbHBQcm9wZXJ0eSBOYW1lIG9mIHRoZSB2YWx1ZSBoZWxwIHByb3BlcnR5XG4gKiBAcGFyYW0gdktleSBWYWx1ZSBvZiB0aGUgcHJvcGVydHlcbiAqIEBwYXJhbSB2aFBheWxvYWQgUGF5bG9hZCBvZiB0aGUgdmFsdWUgaGVscFxuICogQHJldHVybnMgTGlzdCBvZiBmaWx0ZXJzXG4gKi9cbmZ1bmN0aW9uIF9nZXRGaWx0ZXIob1ZhbHVlTGlzdDogVmFsdWVMaXN0LCBzUHJvcGVydHlOYW1lOiBzdHJpbmcsIHNWYWx1ZUhlbHBQcm9wZXJ0eTogc3RyaW5nLCB2S2V5OiBzdHJpbmcsIHZoUGF5bG9hZDogVmFsdWVIZWxwUGF5bG9hZCkge1xuXHRjb25zdCBhRmlsdGVycyA9IFtdO1xuXHRjb25zdCBwYXJhbWV0ZXJzID0gb1ZhbHVlTGlzdC5QYXJhbWV0ZXJzLmZpbHRlcihmdW5jdGlvbiAocGFyYW1ldGVyOiBhbnkpIHtcblx0XHRyZXR1cm4gcGFyYW1ldGVyLiRUeXBlLmluZGV4T2YoXCJJblwiKSA+IDQ4O1xuXHR9KTtcblx0Zm9yIChjb25zdCBwYXJhbWV0ZXIgb2YgcGFyYW1ldGVycykge1xuXHRcdGlmIChwYXJhbWV0ZXIuTG9jYWxEYXRhUHJvcGVydHkuJFByb3BlcnR5UGF0aCA9PT0gc1Byb3BlcnR5TmFtZSkge1xuXHRcdFx0YUZpbHRlcnMucHVzaChuZXcgRmlsdGVyKHsgcGF0aDogc1ZhbHVlSGVscFByb3BlcnR5LCBvcGVyYXRvcjogXCJFUVwiLCB2YWx1ZTE6IHZLZXkgfSkpO1xuXHRcdH0gZWxzZSBpZiAocGFyYW1ldGVyLiRUeXBlLmluZGV4T2YoXCJJblwiKSA+IDQ4ICYmIHZoUGF5bG9hZD8uaXNBY3Rpb25QYXJhbWV0ZXJEaWFsb2cpIHtcblx0XHRcdGNvbnN0IGFwZEZpZWxkUGF0aCA9IGBBUERfOjoke3BhcmFtZXRlci5Mb2NhbERhdGFQcm9wZXJ0eS4kUHJvcGVydHlQYXRofWA7XG5cdFx0XHRjb25zdCBhcGRGaWVsZCA9IHNhcC51aS5nZXRDb3JlKCkuYnlJZChhcGRGaWVsZFBhdGgpIGFzIEZpZWxkO1xuXHRcdFx0Y29uc3QgYXBkRmllbGRWYWx1ZSA9IGFwZEZpZWxkPy5nZXRWYWx1ZSgpO1xuXHRcdFx0aWYgKGFwZEZpZWxkVmFsdWUgIT0gbnVsbCkge1xuXHRcdFx0XHRhRmlsdGVycy5wdXNoKG5ldyBGaWx0ZXIoeyBwYXRoOiBwYXJhbWV0ZXIuVmFsdWVMaXN0UHJvcGVydHksIG9wZXJhdG9yOiBcIkVRXCIsIHZhbHVlMTogYXBkRmllbGRWYWx1ZSB9KSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBhRmlsdGVycztcbn1cblxuZXhwb3J0IGRlZmF1bHQgT2JqZWN0LmFzc2lnbih7fSwgRmllbGRCYXNlRGVsZWdhdGUsIHtcblx0Z2V0RGVzY3JpcHRpb246IGZ1bmN0aW9uIChvUGF5bG9hZDogYW55LCBvRmllbGRIZWxwOiBhbnksIHZLZXk6IHN0cmluZykge1xuXHRcdC8vSklSQTogRklPUklURUNIUDEtMjIwMjIgLiBUaGUgTURDIGZpZWxkIHNob3VsZCBub3QgIHRyaWVzIHRvIGRldGVybWluZSBkZXNjcmlwdGlvbiB3aXRoIHRoZSBpbml0aWFsIEdFVCBvZiB0aGUgZGF0YS5cblx0XHQvLyBpdCBzaG91bGQgcmVseSBvbiB0aGUgZGF0YSB3ZSBhbHJlYWR5IHJlY2VpdmVkIGZyb20gdGhlIGJhY2tlbmRcblx0XHQvLyBCdXQgVGhlIGdldERlc2NyaXB0aW9uIGZ1bmN0aW9uIGlzIGFsc28gY2FsbGVkIGluIHRoZSBGaWx0ZXJGaWVsZCBjYXNlIGlmIGEgdmFyaWFudCBpcyBsb2FkZWQuXG5cdFx0Ly8gQXMgdGhlIGRlc2NyaXB0aW9uIHRleHQgY291bGQgYmUgbGFuZ3VhZ2UgZGVwZW5kZW50IGl0IGlzIG5vdCBzdG9yZWQgaW4gdGhlIHZhcmlhbnQsIHNvIGl0IG5lZWRzIHRvIGJlIHJlYWQgb24gcmVuZGVyaW5nLlxuXG5cdFx0aWYgKG9QYXlsb2FkPy5yZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0IHx8IG9QYXlsb2FkPy5pc0ZpbHRlckZpZWxkKSB7XG5cdFx0XHRjb25zdCBvT0RhdGFNb2RlbCA9IG9GaWVsZEhlbHAuZ2V0TW9kZWwoKTtcblx0XHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvT0RhdGFNb2RlbCA/IG9PRGF0YU1vZGVsLmdldE1ldGFNb2RlbCgpIDogQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KG9GaWVsZEhlbHApLmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCk7XG5cdFx0XHRjb25zdCB2aFBheWxvYWQgPSBvRmllbGRIZWxwPy5nZXRQYXlsb2FkKCk7XG5cdFx0XHRjb25zdCBzUHJvcGVydHlQYXRoID0gdmhQYXlsb2FkPy5wcm9wZXJ0eVBhdGg7XG5cdFx0XHRsZXQgc1RleHRQcm9wZXJ0eTogc3RyaW5nO1xuXHRcdFx0cmV0dXJuIG9NZXRhTW9kZWxcblx0XHRcdFx0LnJlcXVlc3RWYWx1ZUxpc3RJbmZvKHNQcm9wZXJ0eVBhdGgsIHRydWUsIG9GaWVsZEhlbHAuZ2V0QmluZGluZ0NvbnRleHQoKSlcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24gKG1WYWx1ZUxpc3RJbmZvOiBhbnkpIHtcblx0XHRcdFx0XHRjb25zdCBzUHJvcGVydHlOYW1lID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYCR7c1Byb3BlcnR5UGF0aH1Ac2FwdWkubmFtZWApO1xuXHRcdFx0XHRcdC8vIHRha2UgdGhlIGZpcnN0IHZhbHVlIGxpc3QgYW5ub3RhdGlvbiAtIGFsdGVybmF0aXZlbHkgdGFrZSB0aGUgb25lIHdpdGhvdXQgcXVhbGlmaWVyIG9yIHRoZSBmaXJzdCBvbmVcblx0XHRcdFx0XHRjb25zdCBvVmFsdWVMaXN0ID0gbVZhbHVlTGlzdEluZm9bT2JqZWN0LmtleXMobVZhbHVlTGlzdEluZm8pWzBdXTtcblx0XHRcdFx0XHRsZXQgc1ZhbHVlSGVscFByb3BlcnR5O1xuXHRcdFx0XHRcdGNvbnN0IGFWYWx1ZUhlbHBQYXJhbWV0ZXJzID0gX2dldFZhbHVlTGlzdFBhcmFtZXRlcihvVmFsdWVMaXN0LCBzUHJvcGVydHlOYW1lKTtcblx0XHRcdFx0XHRpZiAoYVZhbHVlSGVscFBhcmFtZXRlcnMgJiYgYVZhbHVlSGVscFBhcmFtZXRlcnNbMF0pIHtcblx0XHRcdFx0XHRcdHNWYWx1ZUhlbHBQcm9wZXJ0eSA9IGFWYWx1ZUhlbHBQYXJhbWV0ZXJzWzBdLlZhbHVlTGlzdFByb3BlcnR5O1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoYEluY29uc2lzdGVudCB2YWx1ZSBoZWxwIGFubm90YXRpb24gZm9yICR7c1Byb3BlcnR5TmFtZX1gKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ly8gZ2V0IHRleHQgYW5ub3RhdGlvbiBmb3IgdGhpcyB2YWx1ZSBsaXN0IHByb3BlcnR5XG5cdFx0XHRcdFx0Y29uc3Qgb01vZGVsID0gb1ZhbHVlTGlzdC4kbW9kZWw7XG5cdFx0XHRcdFx0Y29uc3Qgb1RleHRBbm5vdGF0aW9uID0gb01vZGVsXG5cdFx0XHRcdFx0XHQuZ2V0TWV0YU1vZGVsKClcblx0XHRcdFx0XHRcdC5nZXRPYmplY3QoYC8ke29WYWx1ZUxpc3QuQ29sbGVjdGlvblBhdGh9LyR7c1ZhbHVlSGVscFByb3BlcnR5fUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVGV4dGApO1xuXHRcdFx0XHRcdGlmIChvVGV4dEFubm90YXRpb24gJiYgb1RleHRBbm5vdGF0aW9uLiRQYXRoKSB7XG5cdFx0XHRcdFx0XHRzVGV4dFByb3BlcnR5ID0gb1RleHRBbm5vdGF0aW9uLiRQYXRoO1xuXHRcdFx0XHRcdFx0LyogQnVpbGQgdGhlIGZpbHRlciBmb3IgZWFjaCBpbi1wYXJhbWV0ZXIgKi9cblx0XHRcdFx0XHRcdGNvbnN0IGFGaWx0ZXJzID0gX2dldEZpbHRlcihvVmFsdWVMaXN0LCBzUHJvcGVydHlOYW1lLCBzVmFsdWVIZWxwUHJvcGVydHksIHZLZXksIHZoUGF5bG9hZCk7XG5cdFx0XHRcdFx0XHRjb25zdCBvTGlzdEJpbmRpbmcgPSBvTW9kZWwuYmluZExpc3QoYC8ke29WYWx1ZUxpc3QuQ29sbGVjdGlvblBhdGh9YCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFGaWx0ZXJzLCB7XG5cdFx0XHRcdFx0XHRcdFwiJHNlbGVjdFwiOiBzVGV4dFByb3BlcnR5XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdHJldHVybiBvTGlzdEJpbmRpbmcucmVxdWVzdENvbnRleHRzKDAsIDIpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoYFRleHQgQW5ub3RhdGlvbiBmb3IgJHtzVmFsdWVIZWxwUHJvcGVydHl9aXMgbm90IGRlZmluZWRgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uIChhQ29udGV4dHM6IGFueSkge1xuXHRcdFx0XHRcdHJldHVybiBhQ29udGV4dHMgJiYgYUNvbnRleHRzWzBdID8gYUNvbnRleHRzWzBdLmdldE9iamVjdCgpW3NUZXh0UHJvcGVydHldIDogXCJcIjtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChlOiBhbnkpIHtcblx0XHRcdFx0XHRjb25zdCBzTXNnID1cblx0XHRcdFx0XHRcdGUuc3RhdHVzICYmIGUuc3RhdHVzID09PSA0MDRcblx0XHRcdFx0XHRcdFx0PyBgTWV0YWRhdGEgbm90IGZvdW5kICgke2Uuc3RhdHVzfSkgZm9yIHZhbHVlIGhlbHAgb2YgcHJvcGVydHkgJHtzUHJvcGVydHlQYXRofWBcblx0XHRcdFx0XHRcdFx0OiBlLm1lc3NhZ2U7XG5cdFx0XHRcdFx0TG9nLmVycm9yKHNNc2cpO1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cdH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7O0VBY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQSxTQUFTQSxzQkFBVCxDQUFnQ0MsVUFBaEMsRUFBdURDLGFBQXZELEVBQThFO0lBQzdFO0lBQ0EsT0FBT0QsVUFBVSxDQUFDRSxVQUFYLENBQXNCQyxNQUF0QixDQUE2QixVQUFVQyxLQUFWLEVBQXNCO01BQ3pELElBQUlBLEtBQUssQ0FBQ0MsaUJBQVYsRUFBNkI7UUFDNUIsT0FBT0QsS0FBSyxDQUFDQyxpQkFBTixDQUF3QkMsYUFBeEIsS0FBMENMLGFBQWpEO01BQ0EsQ0FGRCxNQUVPO1FBQ04sT0FBTyxLQUFQO01BQ0E7SUFDRCxDQU5NLENBQVA7RUFPQTtFQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7RUFDQSxTQUFTTSxVQUFULENBQW9CUCxVQUFwQixFQUEyQ0MsYUFBM0MsRUFBa0VPLGtCQUFsRSxFQUE4RkMsSUFBOUYsRUFBNEdDLFNBQTVHLEVBQXlJO0lBQ3hJLElBQU1DLFFBQVEsR0FB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
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0VmFsdWVMaXN0UGFyYW1ldGVyIiwib1ZhbHVlTGlzdCIsInNQcm9wZXJ0eU5hbWUiLCJQYXJhbWV0ZXJzIiwiZmlsdGVyIiwiZW50cnkiLCJMb2NhbERhdGFQcm9wZXJ0eSIsIiRQcm9wZXJ0eVBhdGgiLCJfZ2V0RmlsdGVyIiwic1ZhbHVlSGVscFByb3BlcnR5IiwidktleSIsInZoUGF5bG9hZCIsImFGaWx0ZXJzIiwicGFyYW1ldGVycyIsInBhcmFtZXRlciIsIiRUeXBlIiwiaW5kZXhPZiIsIlZhbHVlTGlzdFByb3BlcnR5IiwicHVzaCIsIkZpbHRlciIsInBhdGgiLCJvcGVyYXRvciIsInZhbHVlMSIsImlzQWN0aW9uUGFyYW1ldGVyRGlhbG9nIiwiYXBkRmllbGRQYXRoIiwiYXBkRmllbGQiLCJzYXAiLCJ1aSIsImdldENvcmUiLCJieUlkIiwiYXBkRmllbGRWYWx1ZSIsImdldFZhbHVlIiwiT2JqZWN0IiwiYXNzaWduIiwiRmllbGRCYXNlRGVsZWdhdGUiLCJnZXRJdGVtRm9yVmFsdWUiLCJvUGF5bG9hZCIsIm9GaWVsZEhlbHAiLCJvQ29uZmlnIiwidmFsdWUiLCJNRENGaWVsZEJhc2VEZWxlZ2F0ZSIsImdldERlc2NyaXB0aW9uIiwicmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdCIsImlzRmlsdGVyRmllbGQiLCJvT0RhdGFNb2RlbCIsImdldE1vZGVsIiwib01ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0UGF5bG9hZCIsInNQcm9wZXJ0eVBhdGgiLCJwcm9wZXJ0eVBhdGgiLCJzVGV4dFByb3BlcnR5IiwicmVxdWVzdFZhbHVlTGlzdEluZm8iLCJnZXRCaW5kaW5nQ29udGV4dCIsInRoZW4iLCJtVmFsdWVMaXN0SW5mbyIsImdldE9iamVjdCIsImtleXMiLCJhVmFsdWVIZWxwUGFyYW1ldGVycyIsIlByb21pc2UiLCJyZWplY3QiLCJvTW9kZWwiLCIkbW9kZWwiLCJvVGV4dEFubm90YXRpb24iLCJDb2xsZWN0aW9uUGF0aCIsIiRQYXRoIiwib0xpc3RCaW5kaW5nIiwiYmluZExpc3QiLCJ1bmRlZmluZWQiLCJyZXF1ZXN0Q29udGV4dHMiLCJhQ29udGV4dHMiLCJjYXRjaCIsImUiLCJzTXNnIiwic3RhdHVzIiwibWVzc2FnZSIsIkxvZyIsImVycm9yIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJGaWVsZEJhc2VEZWxlZ2F0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgQW5ub3RhdGlvblZhbHVlTGlzdFBhcmFtZXRlciwgVmFsdWVIZWxwUGF5bG9hZCB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ludGVybmFsL3ZhbHVlaGVscC9WYWx1ZUxpc3RIZWxwZXJOZXdcIjtcbmltcG9ydCBGaWVsZCBmcm9tIFwic2FwL3VpL21kYy9GaWVsZFwiO1xuaW1wb3J0IE1EQ0ZpZWxkQmFzZURlbGVnYXRlIGZyb20gXCJzYXAvdWkvbWRjL2ZpZWxkL0ZpZWxkQmFzZURlbGVnYXRlXCI7XG5pbXBvcnQgRmllbGRIZWxwQmFzZSBmcm9tIFwic2FwL3VpL21kYy9maWVsZC9GaWVsZEhlbHBCYXNlXCI7XG5pbXBvcnQgRmllbGRCYXNlRGVsZWdhdGUgZnJvbSBcInNhcC91aS9tZGMvb2RhdGEvdjQvRmllbGRCYXNlRGVsZWdhdGVcIjtcbmltcG9ydCBGaWx0ZXIgZnJvbSBcInNhcC91aS9tb2RlbC9GaWx0ZXJcIjtcbmltcG9ydCB0eXBlIE9EYXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1vZGVsXCI7XG5cbnR5cGUgVmFsdWVMaXN0ID0ge1xuXHRDb2xsZWN0aW9uUGF0aDogc3RyaW5nO1xuXHRQYXJhbWV0ZXJzOiBbQW5ub3RhdGlvblZhbHVlTGlzdFBhcmFtZXRlcl07XG5cdCRtb2RlbDogT0RhdGFNb2RlbDtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lIGFsbCBwYXJhbWV0ZXJzIGluIGEgdmFsdWUgaGVscCB0aGF0IHVzZSBhIHNwZWNpZmljIHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSBvVmFsdWVMaXN0IFZhbHVlIGhlbHAgdGhhdCBpcyB1c2VkXG4gKiBAcGFyYW0gc1Byb3BlcnR5TmFtZSBOYW1lIG9mIHRoZSBwcm9wZXJ0eVxuICogQHJldHVybnMgTGlzdCBvZiBhbGwgZm91bmQgcGFyYW1ldGVyc1xuICovXG5mdW5jdGlvbiBfZ2V0VmFsdWVMaXN0UGFyYW1ldGVyKG9WYWx1ZUxpc3Q6IFZhbHVlTGlzdCwgc1Byb3BlcnR5TmFtZTogb2JqZWN0KSB7XG5cdC8vZGV0ZXJtaW5lIHBhdGggdG8gdmFsdWUgbGlzdCBwcm9wZXJ0eVxuXHRyZXR1cm4gb1ZhbHVlTGlzdC5QYXJhbWV0ZXJzLmZpbHRlcihmdW5jdGlvbiAoZW50cnk6IGFueSkge1xuXHRcdGlmIChlbnRyeS5Mb2NhbERhdGFQcm9wZXJ0eSkge1xuXHRcdFx0cmV0dXJuIGVudHJ5LkxvY2FsRGF0YVByb3BlcnR5LiRQcm9wZXJ0eVBhdGggPT09IHNQcm9wZXJ0eU5hbWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH0pO1xufVxuLyoqXG4gKiBCdWlsZCBmaWx0ZXJzIGZvciBlYWNoIGluLXBhcmFtZXRlci5cbiAqXG4gKiBAcGFyYW0gb1ZhbHVlTGlzdCBWYWx1ZSBoZWxwIHRoYXQgaXMgdXNlZFxuICogQHBhcmFtIHNQcm9wZXJ0eU5hbWUgTmFtZSBvZiB0aGUgcHJvcGVydHlcbiAqIEBwYXJhbSBzVmFsdWVIZWxwUHJvcGVydHkgTmFtZSBvZiB0aGUgdmFsdWUgaGVscCBwcm9wZXJ0eVxuICogQHBhcmFtIHZLZXkgVmFsdWUgb2YgdGhlIHByb3BlcnR5XG4gKiBAcGFyYW0gdmhQYXlsb2FkIFBheWxvYWQgb2YgdGhlIHZhbHVlIGhlbHBcbiAqIEByZXR1cm5zIExpc3Qgb2YgZmlsdGVyc1xuICovXG5mdW5jdGlvbiBfZ2V0RmlsdGVyKG9WYWx1ZUxpc3Q6IFZhbHVlTGlzdCwgc1Byb3BlcnR5TmFtZTogc3RyaW5nLCBzVmFsdWVIZWxwUHJvcGVydHk6IHN0cmluZywgdktleTogc3RyaW5nLCB2aFBheWxvYWQ6IFZhbHVlSGVscFBheWxvYWQpIHtcblx0Y29uc3QgYUZpbHRlcnMgPSBbXTtcblx0Y29uc3QgcGFyYW1ldGVycyA9IG9WYWx1ZUxpc3QuUGFyYW1ldGVycy5maWx0ZXIoZnVuY3Rpb24gKHBhcmFtZXRlcjogYW55KSB7XG5cdFx0cmV0dXJuIHBhcmFtZXRlci4kVHlwZS5pbmRleE9mKFwiSW5cIikgPiA0OCB8fFxuXHRcdChwYXJhbWV0ZXIuTG9jYWxEYXRhUHJvcGVydHk/LiRQcm9wZXJ0eVBhdGggPT09IHNQcm9wZXJ0eU5hbWUgJiYgcGFyYW1ldGVyLlZhbHVlTGlzdFByb3BlcnR5ID09PSBzVmFsdWVIZWxwUHJvcGVydHkpO1xuXHR9KTtcblx0Zm9yIChjb25zdCBwYXJhbWV0ZXIgb2YgcGFyYW1ldGVycykge1xuXHRcdGlmIChwYXJhbWV0ZXIuTG9jYWxEYXRhUHJvcGVydHkuJFByb3BlcnR5UGF0aCA9PT0gc1Byb3BlcnR5TmFtZSkge1xuXHRcdFx0YUZpbHRlcnMucHVzaChuZXcgRmlsdGVyKHsgcGF0aDogc1ZhbHVlSGVscFByb3BlcnR5LCBvcGVyYXRvcjogXCJFUVwiLCB2YWx1ZTE6IHZLZXkgfSkpO1xuXHRcdH0gZWxzZSBpZiAocGFyYW1ldGVyLiRUeXBlLmluZGV4T2YoXCJJblwiKSA+IDQ4ICYmIHZoUGF5bG9hZD8uaXNBY3Rpb25QYXJhbWV0ZXJEaWFsb2cpIHtcblx0XHRcdGNvbnN0IGFwZEZpZWxkUGF0aCA9IGBBUERfOjoke3BhcmFtZXRlci5Mb2NhbERhdGFQcm9wZXJ0eS4kUHJvcGVydHlQYXRofWA7XG5cdFx0XHRjb25zdCBhcGRGaWVsZCA9IHNhcC51aS5nZXRDb3JlKCkuYnlJZChhcGRGaWVsZFBhdGgpIGFzIEZpZWxkO1xuXHRcdFx0Y29uc3QgYXBkRmllbGRWYWx1ZSA9IGFwZEZpZWxkPy5nZXRWYWx1ZSgpO1xuXHRcdFx0aWYgKGFwZEZpZWxkVmFsdWUgIT0gbnVsbCkge1xuXHRcdFx0XHRhRmlsdGVycy5wdXNoKG5ldyBGaWx0ZXIoeyBwYXRoOiBwYXJhbWV0ZXIuVmFsdWVMaXN0UHJvcGVydHksIG9wZXJhdG9yOiBcIkVRXCIsIHZhbHVlMTogYXBkRmllbGRWYWx1ZSB9KSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBhRmlsdGVycztcbn1cblxuZXhwb3J0IGRlZmF1bHQgT2JqZWN0LmFzc2lnbih7fSwgRmllbGRCYXNlRGVsZWdhdGUsIHtcblx0Z2V0SXRlbUZvclZhbHVlOiBmdW5jdGlvbiAob1BheWxvYWQ6IG9iamVjdCwgb0ZpZWxkSGVscDogRmllbGRIZWxwQmFzZSwgb0NvbmZpZzogYW55KSB7XG5cdFx0Ly9CQ1A6IDIyNzAxNjI4ODcgLiBUaGUgTURDIGZpZWxkIHNob3VsZCBub3QgdHJ5IHRvIGdldCB0aGUgaXRlbSB3aGVuIHRoZSBmaWVsZCBpcyBlbXB0aWVkXG5cdFx0aWYgKG9Db25maWcudmFsdWUgIT09IFwiXCIpIHtcblx0XHRcdHJldHVybiBNRENGaWVsZEJhc2VEZWxlZ2F0ZS5nZXRJdGVtRm9yVmFsdWUob1BheWxvYWQsIG9GaWVsZEhlbHAsIG9Db25maWcpO1xuXHRcdH1cblx0fSxcblx0Z2V0RGVzY3JpcHRpb246IGZ1bmN0aW9uIChvUGF5bG9hZDogYW55LCBvRmllbGRIZWxwOiBhbnksIHZLZXk6IHN0cmluZykge1xuXHRcdC8vSklSQTogRklPUklURUNIUDEtMjIwMjIgLiBUaGUgTURDIGZpZWxkIHNob3VsZCBub3QgIHRyaWVzIHRvIGRldGVybWluZSBkZXNjcmlwdGlvbiB3aXRoIHRoZSBpbml0aWFsIEdFVCBvZiB0aGUgZGF0YS5cblx0XHQvLyBpdCBzaG91bGQgcmVseSBvbiB0aGUgZGF0YSB3ZSBhbHJlYWR5IHJlY2VpdmVkIGZyb20gdGhlIGJhY2tlbmRcblx0XHQvLyBCdXQgVGhlIGdldERlc2NyaXB0aW9uIGZ1bmN0aW9uIGlzIGFsc28gY2FsbGVkIGluIHRoZSBGaWx0ZXJGaWVsZCBjYXNlIGlmIGEgdmFyaWFudCBpcyBsb2FkZWQuXG5cdFx0Ly8gQXMgdGhlIGRlc2NyaXB0aW9uIHRleHQgY291bGQgYmUgbGFuZ3VhZ2UgZGVwZW5kZW50IGl0IGlzIG5vdCBzdG9yZWQgaW4gdGhlIHZhcmlhbnQsIHNvIGl0IG5lZWRzIHRvIGJlIHJlYWQgb24gcmVuZGVyaW5nLlxuXG5cdFx0aWYgKG9QYXlsb2FkPy5yZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0IHx8IG9QYXlsb2FkPy5pc0ZpbHRlckZpZWxkKSB7XG5cdFx0XHRjb25zdCBvT0RhdGFNb2RlbCA9IG9GaWVsZEhlbHAuZ2V0TW9kZWwoKTtcblx0XHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvT0RhdGFNb2RlbCA/IG9PRGF0YU1vZGVsLmdldE1ldGFNb2RlbCgpIDogQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KG9GaWVsZEhlbHApLmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCk7XG5cdFx0XHRjb25zdCB2aFBheWxvYWQgPSBvRmllbGRIZWxwPy5nZXRQYXlsb2FkKCk7XG5cdFx0XHRjb25zdCBzUHJvcGVydHlQYXRoID0gdmhQYXlsb2FkPy5wcm9wZXJ0eVBhdGg7XG5cdFx0XHRsZXQgc1RleHRQcm9wZXJ0eTogc3RyaW5nO1xuXHRcdFx0cmV0dXJuIG9NZXRhTW9kZWxcblx0XHRcdFx0LnJlcXVlc3RWYWx1ZUxpc3RJbmZvKHNQcm9wZXJ0eVBhdGgsIHRydWUsIG9GaWVsZEhlbHAuZ2V0QmluZGluZ0NvbnRleHQoKSlcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24gKG1WYWx1ZUxpc3RJbmZvOiBhbnkpIHtcblx0XHRcdFx0XHRjb25zdCBzUHJvcGVydHlOYW1lID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYCR7c1Byb3BlcnR5UGF0aH1Ac2FwdWkubmFtZWApO1xuXHRcdFx0XHRcdC8vIHRha2UgdGhlIGZpcnN0IHZhbHVlIGxpc3QgYW5ub3RhdGlvbiAtIGFsdGVybmF0aXZlbHkgdGFrZSB0aGUgb25lIHdpdGhvdXQgcXVhbGlmaWVyIG9yIHRoZSBmaXJzdCBvbmVcblx0XHRcdFx0XHRjb25zdCBvVmFsdWVMaXN0ID0gbVZhbHVlTGlzdEluZm9bT2JqZWN0LmtleXMobVZhbHVlTGlzdEluZm8pWzBdXTtcblx0XHRcdFx0XHRsZXQgc1ZhbHVlSGVscFByb3BlcnR5O1xuXHRcdFx0XHRcdGNvbnN0IGFWYWx1ZUhlbHBQYXJhbWV0ZXJzID0gX2dldFZhbHVlTGlzdFBhcmFtZXRlcihvVmFsdWVMaXN0LCBzUHJvcGVydHlOYW1lKTtcblx0XHRcdFx0XHRpZiAoYVZhbHVlSGVscFBhcmFtZXRlcnMgJiYgYVZhbHVlSGVscFBhcmFtZXRlcnNbMF0pIHtcblx0XHRcdFx0XHRcdHNWYWx1ZUhlbHBQcm9wZXJ0eSA9IGFWYWx1ZUhlbHBQYXJhbWV0ZXJzWzBdLlZhbHVlTGlzdFByb3BlcnR5O1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoYEluY29uc2lzdGVudCB2YWx1ZSBoZWxwIGFubm90YXRpb24gZm9yICR7c1Byb3BlcnR5TmFtZX1gKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ly8gZ2V0IHRleHQgYW5ub3RhdGlvbiBmb3IgdGhpcyB2YWx1ZSBsaXN0IHByb3BlcnR5XG5cdFx0XHRcdFx0Y29uc3Qgb01vZGVsID0gb1ZhbHVlTGlzdC4kbW9kZWw7XG5cdFx0XHRcdFx0Y29uc3Qgb1RleHRBbm5vdGF0aW9uID0gb01vZGVsXG5cdFx0XHRcdFx0XHQuZ2V0TWV0YU1vZGVsKClcblx0XHRcdFx0XHRcdC5nZXRPYmplY3QoYC8ke29WYWx1ZUxpc3QuQ29sbGVjdGlvblBhdGh9LyR7c1ZhbHVlSGVscFByb3BlcnR5fUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVGV4dGApO1xuXHRcdFx0XHRcdGlmIChvVGV4dEFubm90YXRpb24gJiYgb1RleHRBbm5vdGF0aW9uLiRQYXRoKSB7XG5cdFx0XHRcdFx0XHRzVGV4dFByb3BlcnR5ID0gb1RleHRBbm5vdGF0aW9uLiRQYXRoO1xuXHRcdFx0XHRcdFx0LyogQnVpbGQgdGhlIGZpbHRlciBmb3IgZWFjaCBpbi1wYXJhbWV0ZXIgKi9cblx0XHRcdFx0XHRcdGNvbnN0IGFGaWx0ZXJzID0gX2dldEZpbHRlcihvVmFsdWVMaXN0LCBzUHJvcGVydHlOYW1lLCBzVmFsdWVIZWxwUHJvcGVydHksIHZLZXksIHZoUGF5bG9hZCk7XG5cdFx0XHRcdFx0XHRjb25zdCBvTGlzdEJpbmRpbmcgPSBvTW9kZWwuYmluZExpc3QoYC8ke29WYWx1ZUxpc3QuQ29sbGVjdGlvblBhdGh9YCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFGaWx0ZXJzLCB7XG5cdFx0XHRcdFx0XHRcdFwiJHNlbGVjdFwiOiBzVGV4dFByb3BlcnR5XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdHJldHVybiBvTGlzdEJpbmRpbmcucmVxdWVzdENvbnRleHRzKDAsIDIpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoYFRleHQgQW5ub3RhdGlvbiBmb3IgJHtzVmFsdWVIZWxwUHJvcGVydHl9aXMgbm90IGRlZmluZWRgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uIChhQ29udGV4dHM6IGFueSkge1xuXHRcdFx0XHRcdC8vIHJldHVybiBhQ29udGV4dHMgJiYgYUNvbnRleHRzWzBdID8gYUNvbnRleHRzWzBdLmdldE9iamVjdCgpW3NUZXh0UHJvcGVydHldIDogXCJcIjtcblx0XHRcdFx0XHRyZXR1cm4gYUNvbnRleHRzPy5bMF0/LmdldE9iamVjdChzVGV4dFByb3BlcnR5KTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChlOiBhbnkpIHtcblx0XHRcdFx0XHRjb25zdCBzTXNnID1cblx0XHRcdFx0XHRcdGUuc3RhdHVzICYmIGUuc3RhdHVzID09PSA0MDRcblx0XHRcdFx0XHRcdFx0PyBgTWV0YWRhdGEgbm90IGZvdW5kICgke2Uuc3RhdHVzfSkgZm9yIHZhbHVlIGhlbHAgb2YgcHJvcGVydHkgJHtzUHJvcGVydHlQYXRofWBcblx0XHRcdFx0XHRcdFx0OiBlLm1lc3NhZ2U7XG5cdFx0XHRcdFx0TG9nLmVycm9yKHNNc2cpO1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cdH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7O0VBZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0EsU0FBU0Esc0JBQVQsQ0FBZ0NDLFVBQWhDLEVBQXVEQyxhQUF2RCxFQUE4RTtJQUM3RTtJQUNBLE9BQU9ELFVBQVUsQ0FBQ0UsVUFBWCxDQUFzQkMsTUFBdEIsQ0FBNkIsVUFBVUMsS0FBVixFQUFzQjtNQUN6RCxJQUFJQSxLQUFLLENBQUNDLGlCQUFWLEVBQTZCO1FBQzVCLE9BQU9ELEtBQUssQ0FBQ0MsaUJBQU4sQ0FBd0JDLGFBQXhCLEtBQTBDTCxhQUFqRDtNQUNBLENBRkQsTUFFTztRQUNOLE9BQU8sS0FBUDtNQUNBO0lBQ0QsQ0FOTSxDQUFQO0VBT0E7RUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0VBQ0EsU0FBU00sVUFBVCxDQUFvQlAsVUFBcEIsRUFBMkNDLGFBQTNDLEVBQWtFTyxrQkFBbEUsRUFBOEZDLElBQTlGLEVBQTRHQyxTQUE1RyxFQUF5STtJQUN4SSxJQUFNQyxRQUFRLEdBQUcsRUFBakI7SUFDQSxJQUFNQyxVQUFVLEdBQUdaLFVBQVUsQ0FBQ0UsVUFBWCxDQUFzQkMsTUFBdEIsQ0FBNkIsVUFBVVUsU0FBVixFQUEwQjtNQUFBOztNQUN6RSxPQUFPQSxTQUFTLENBQUNDLEtBQVYsQ0FBZ0JDLE9BQWhCLENBQXdCLElBQXhCLElBQWdDLEVBQWhDLElBQ04sMEJBQUFGLFNBQVMsQ0FBQ1IsaUJBQVYsZ0ZBQTZCQyxhQUE3QixN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
|
|
@@ -2,6 +2,8 @@ import Log from "sap/base/Log";
|
|
|
2
2
|
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
3
3
|
import type { AnnotationValueListParameter, ValueHelpPayload } from "sap/fe/macros/internal/valuehelp/ValueListHelperNew";
|
|
4
4
|
import Field from "sap/ui/mdc/Field";
|
|
5
|
+
import MDCFieldBaseDelegate from "sap/ui/mdc/field/FieldBaseDelegate";
|
|
6
|
+
import FieldHelpBase from "sap/ui/mdc/field/FieldHelpBase";
|
|
5
7
|
import FieldBaseDelegate from "sap/ui/mdc/odata/v4/FieldBaseDelegate";
|
|
6
8
|
import Filter from "sap/ui/model/Filter";
|
|
7
9
|
import type ODataModel from "sap/ui/model/odata/v4/ODataModel";
|
|
@@ -42,7 +44,8 @@ function _getValueListParameter(oValueList: ValueList, sPropertyName: object) {
|
|
|
42
44
|
function _getFilter(oValueList: ValueList, sPropertyName: string, sValueHelpProperty: string, vKey: string, vhPayload: ValueHelpPayload) {
|
|
43
45
|
const aFilters = [];
|
|
44
46
|
const parameters = oValueList.Parameters.filter(function (parameter: any) {
|
|
45
|
-
return parameter.$Type.indexOf("In") > 48
|
|
47
|
+
return parameter.$Type.indexOf("In") > 48 ||
|
|
48
|
+
(parameter.LocalDataProperty?.$PropertyPath === sPropertyName && parameter.ValueListProperty === sValueHelpProperty);
|
|
46
49
|
});
|
|
47
50
|
for (const parameter of parameters) {
|
|
48
51
|
if (parameter.LocalDataProperty.$PropertyPath === sPropertyName) {
|
|
@@ -60,6 +63,12 @@ function _getFilter(oValueList: ValueList, sPropertyName: string, sValueHelpProp
|
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
export default Object.assign({}, FieldBaseDelegate, {
|
|
66
|
+
getItemForValue: function (oPayload: object, oFieldHelp: FieldHelpBase, oConfig: any) {
|
|
67
|
+
//BCP: 2270162887 . The MDC field should not try to get the item when the field is emptied
|
|
68
|
+
if (oConfig.value !== "") {
|
|
69
|
+
return MDCFieldBaseDelegate.getItemForValue(oPayload, oFieldHelp, oConfig);
|
|
70
|
+
}
|
|
71
|
+
},
|
|
63
72
|
getDescription: function (oPayload: any, oFieldHelp: any, vKey: string) {
|
|
64
73
|
//JIRA: FIORITECHP1-22022 . The MDC field should not tries to determine description with the initial GET of the data.
|
|
65
74
|
// it should rely on the data we already received from the backend
|
|
@@ -103,7 +112,8 @@ export default Object.assign({}, FieldBaseDelegate, {
|
|
|
103
112
|
}
|
|
104
113
|
})
|
|
105
114
|
.then(function (aContexts: any) {
|
|
106
|
-
return aContexts && aContexts[0] ? aContexts[0].getObject()[sTextProperty] : "";
|
|
115
|
+
// return aContexts && aContexts[0] ? aContexts[0].getObject()[sTextProperty] : "";
|
|
116
|
+
return aContexts?.[0]?.getObject(sTextProperty);
|
|
107
117
|
})
|
|
108
118
|
.catch(function (e: any) {
|
|
109
119
|
const sMsg =
|