@sapui5/sap.fe.templates 1.113.0 → 1.114.0
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/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +3 -2
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js.map +1 -1
- package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +6 -1
- package/src/sap/fe/templates/ListReport/ListReportTemplating-dbg.js +7 -7
- package/src/sap/fe/templates/ListReport/ListReportTemplating.js.map +1 -1
- package/src/sap/fe/templates/ListReport/ListReportTemplating.ts +8 -6
- package/src/sap/fe/templates/ListReport/manifest.json +1 -1
- package/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +14 -39
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js.map +1 -1
- package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +14 -42
- package/src/sap/fe/templates/ListReport/view/fragments/MacroChart.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +19 -6
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +1 -1
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +19 -9
- package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +5 -1
- package/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +53 -66
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js.map +1 -1
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +56 -71
- package/src/sap/fe/templates/ObjectPage/manifest.json +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Share-dbg.js +7 -2
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js.map +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +5 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +3 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block-dbg.js +7 -6
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block.js +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block.js.map +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block.tsx +8 -7
- package/src/sap/fe/templates/ObjectPage/view/fragments/MacroChart.fragment.xml +1 -1
- package/src/sap/fe/templates/library-dbg.js +1 -1
- package/src/sap/fe/templates/library-preload.js +15 -15
- package/src/sap/fe/templates/library-preload.js.map +1 -1
- package/src/sap/fe/templates/library.js +1 -1
- package/src/sap/fe/templates/manifest.json +1 -1
- package/src/sap/fe/templates/messagebundle.properties +6 -0
- package/src/sap/fe/templates/messagebundle_ar.properties +2 -0
- package/src/sap/fe/templates/messagebundle_bg.properties +2 -0
- package/src/sap/fe/templates/messagebundle_ca.properties +2 -0
- package/src/sap/fe/templates/messagebundle_cs.properties +2 -0
- package/src/sap/fe/templates/messagebundle_cy.properties +2 -0
- package/src/sap/fe/templates/messagebundle_da.properties +2 -0
- package/src/sap/fe/templates/messagebundle_de.properties +3 -1
- package/src/sap/fe/templates/messagebundle_el.properties +2 -0
- package/src/sap/fe/templates/messagebundle_en.properties +2 -2
- package/src/sap/fe/templates/messagebundle_en_GB.properties +2 -0
- package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +2 -0
- package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +2 -0
- package/src/sap/fe/templates/messagebundle_es.properties +2 -0
- package/src/sap/fe/templates/messagebundle_es_MX.properties +2 -0
- package/src/sap/fe/templates/messagebundle_et.properties +2 -0
- package/src/sap/fe/templates/messagebundle_fi.properties +2 -0
- package/src/sap/fe/templates/messagebundle_fr.properties +2 -0
- package/src/sap/fe/templates/messagebundle_fr_CA.properties +2 -0
- package/src/sap/fe/templates/messagebundle_hi.properties +2 -0
- package/src/sap/fe/templates/messagebundle_hr.properties +2 -0
- package/src/sap/fe/templates/messagebundle_hu.properties +2 -0
- package/src/sap/fe/templates/messagebundle_id.properties +2 -0
- package/src/sap/fe/templates/messagebundle_it.properties +2 -0
- package/src/sap/fe/templates/messagebundle_iw.properties +2 -0
- package/src/sap/fe/templates/messagebundle_ja.properties +2 -0
- package/src/sap/fe/templates/messagebundle_kk.properties +2 -0
- package/src/sap/fe/templates/messagebundle_ko.properties +2 -0
- package/src/sap/fe/templates/messagebundle_lt.properties +2 -0
- package/src/sap/fe/templates/messagebundle_lv.properties +2 -0
- package/src/sap/fe/templates/messagebundle_ms.properties +2 -0
- package/src/sap/fe/templates/messagebundle_nl.properties +2 -0
- package/src/sap/fe/templates/messagebundle_no.properties +2 -0
- package/src/sap/fe/templates/messagebundle_pl.properties +2 -0
- package/src/sap/fe/templates/messagebundle_pt.properties +2 -0
- package/src/sap/fe/templates/messagebundle_pt_PT.properties +2 -0
- package/src/sap/fe/templates/messagebundle_ro.properties +2 -0
- package/src/sap/fe/templates/messagebundle_ru.properties +2 -0
- package/src/sap/fe/templates/messagebundle_sh.properties +2 -0
- package/src/sap/fe/templates/messagebundle_sk.properties +2 -0
- package/src/sap/fe/templates/messagebundle_sl.properties +2 -0
- package/src/sap/fe/templates/messagebundle_sv.properties +2 -0
- package/src/sap/fe/templates/messagebundle_th.properties +2 -0
- package/src/sap/fe/templates/messagebundle_tr.properties +2 -0
- package/src/sap/fe/templates/messagebundle_uk.properties +2 -0
- package/src/sap/fe/templates/messagebundle_vi.properties +2 -0
- package/src/sap/fe/templates/messagebundle_zh_CN.properties +2 -0
- package/src/sap/fe/templates/messagebundle_zh_TW.properties +2 -0
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
chartDefinition="{visualizationDefinition>}"
|
|
16
16
|
selectionMode="Multiple"
|
|
17
17
|
personalization="{visualizationDefinition>personalization}"
|
|
18
|
-
chartDelegate="{= '{name: \'sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate\', payload: { contextPath: \'' + HELPER.getCollectionName(${visualizationDefinition>collection}) + '\', parameters:{$$groupId:\'$auto.Workers\'}, selectionMode: \'Multiple\' } }' }"
|
|
18
|
+
chartDelegate="{= '{name: \'sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate\', payload: { collectionName: \'' + HELPER.getCollectionName(${visualizationDefinition>collection}) + '\', contextPath: \'' + HELPER.getCollectionName(${visualizationDefinition>collection}) + '\', parameters:{$$groupId:\'$auto.Workers\'}, selectionMode: \'Multiple\' } }' }"
|
|
19
19
|
selectionChange=".handlers.onChartSelectionChanged"
|
|
20
20
|
headerLevel="H2"
|
|
21
21
|
noDataText="{= ${visualizationDefinition>collection} !== '' ? ${sap.fe.i18n>T_TABLE_AND_CHART_NO_DATA_TEXT} : ${sap.fe.i18n>M_CHART_NO_ANNOTATION_SET_TEXT} }"
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/InvisibleMessage", "sap/ui/core/library", "sap/ui/core/message/Message"], function (Log, CommonUtils, ID, ExtensionAPI, ClassSupport, InvisibleMessage, library, Message) {
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converters/helpers/ID", "sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/RecommendationHelper", "sap/fe/core/helpers/ResourceModelHelper", "sap/ui/core/InvisibleMessage", "sap/ui/core/library", "sap/ui/core/message/Message"], function (Log, CommonUtils, ID, ExtensionAPI, ClassSupport, RecommendationHelper, ResourceModelHelper, InvisibleMessage, library, Message) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _dec, _class;
|
|
9
9
|
var MessageType = library.MessageType;
|
|
10
10
|
var InvisibleMessageMode = library.InvisibleMessageMode;
|
|
11
|
+
var recommendationHelper = RecommendationHelper.recommendationHelper;
|
|
11
12
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
12
13
|
var getSideContentLayoutID = ID.getSideContentLayoutID;
|
|
13
14
|
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
@@ -135,7 +136,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
135
136
|
*/;
|
|
136
137
|
_proto._buildOPMessage = async function _buildOPMessage(messages) {
|
|
137
138
|
const view = this._view;
|
|
138
|
-
const
|
|
139
|
+
const resourceModel = ResourceModelHelper.getResourceModel(view);
|
|
139
140
|
let message = null;
|
|
140
141
|
switch (messages.length) {
|
|
141
142
|
case 0:
|
|
@@ -167,11 +168,12 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
167
168
|
type: MessageType.Information
|
|
168
169
|
}));
|
|
169
170
|
if (messageStats.Error.count === 0 && messageStats.Warning.count === 0 && messageStats.Information.count > 0) {
|
|
170
|
-
message.setMessage(
|
|
171
|
+
message.setMessage(resourceModel.getText("OBJECTPAGESTATE_INFORMATION"));
|
|
171
172
|
} else if (messageStats.Error.count > 0 && messageStats.Warning.count > 0 || messageStats.Information.count > 0) {
|
|
172
|
-
message.setMessage(
|
|
173
|
+
message.setMessage(resourceModel.getText("OBJECTPAGESTATE_ISSUE"));
|
|
173
174
|
} else {
|
|
174
|
-
message.
|
|
175
|
+
const messageResource = message.getType() === MessageType.Error ? "OBJECTPAGESTATE_ERROR" : "OBJECTPAGESTATE_WARNING";
|
|
176
|
+
message.setMessage(resourceModel.getText(messageResource));
|
|
175
177
|
}
|
|
176
178
|
}
|
|
177
179
|
return message;
|
|
@@ -212,9 +214,20 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
212
214
|
const view = this._view;
|
|
213
215
|
const internalModelContext = view.getBindingContext("internal");
|
|
214
216
|
internalModelContext === null || internalModelContext === void 0 ? void 0 : internalModelContext.setProperty("OPMessageStripVisibility", false);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* This function will take the recommendation data details, transform it and update internal model with that.
|
|
221
|
+
*
|
|
222
|
+
* @param data Recommendation data for the app
|
|
223
|
+
* @private
|
|
224
|
+
*/;
|
|
225
|
+
_proto.setRecommendations = function setRecommendations(data) {
|
|
226
|
+
recommendationHelper.transformRecommendationsForInternalStorage(data);
|
|
227
|
+
this._view.getModel("internal").setProperty("/recommendationsData", data);
|
|
215
228
|
};
|
|
216
229
|
return ObjectPageExtensionAPI;
|
|
217
230
|
}(ExtensionAPI)) || _class);
|
|
218
231
|
return ObjectPageExtensionAPI;
|
|
219
232
|
}, false);
|
|
220
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3RQYWdlRXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwidlBhdGgiLCJvQmluZGluZ0NvbnRleHQiLCJfdmlldyIsImdldEJpbmRpbmdDb250ZXh0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJvQXBwQ29tcG9uZW50IiwiQ29tbW9uVXRpbHMiLCJnZXRBcHBDb21wb25lbnQiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlIiwiZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlIiwib01ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwib1NpZGVFZmZlY3RzIiwidGFyZ2V0UHJvcGVydGllcyIsInRhcmdldEVudGl0aWVzIiwiYVBhdGhzIiwic1BhdGgiLCJzQmFzZUVudGl0eVNldCIsInNLaW5kIiwidW5kZWZpbmVkIiwicHVzaCIsIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoIiwiQXJyYXkiLCJpc0FycmF5IiwiX2NvbnRyb2xsZXIiLCJnZXRPd25lckNvbXBvbmVudCIsImdldEVudGl0eVNldCIsImkiLCJsZW5ndGgiLCJnZXRPYmplY3QiLCJyZWplY3QiLCJyZXF1ZXN0U2lkZUVmZmVjdHMiLCJnZXRTZWxlY3RlZENvbnRleHRzIiwic1RhYmxlSWQiLCJvVGFibGUiLCJieUlkIiwiaXNBIiwiZ2V0Q29udGVudCIsInNob3dTaWRlQ29udGVudCIsInNTdWJTZWN0aW9uS2V5IiwiYlNob3ciLCJzQmxvY2tJRCIsImdldFNpZGVDb250ZW50TGF5b3V0SUQiLCJvQmxvY2siLCJiQmxvY2tTdGF0ZSIsImdldFNob3dTaWRlQ29udGVudCIsInNldFNob3dTaWRlQ29udGVudCIsIl9idWlsZE9QTWVzc2FnZSIsIm1lc3NhZ2VzIiwidmlldyIsInJlc291cmNlQnVuZGxlIiwiZ2V0UmVzb3VyY2VCdW5kbGUiLCJtZXNzYWdlIiwibWVzc2FnZVN0YXRzIiwiRXJyb3IiLCJpZCIsImNvdW50IiwiV2FybmluZyIsIkluZm9ybWF0aW9uIiwicmVkdWNlIiwiYWNjIiwiY3VycmVudFZhbHVlIiwiY3VycmVudFR5cGUiLCJnZXRUeXBlIiwic2V0VHlwZSIsIk1lc3NhZ2UiLCJ0eXBlIiwiTWVzc2FnZVR5cGUiLCJzZXRNZXNzYWdlIiwiZ2V0VGV4dCIsInNob3dNZXNzYWdlcyIsImludGVybmFsTW9kZWxDb250ZXh0Iiwic2V0UHJvcGVydHkiLCJnZXRNZXNzYWdlIiwiSW52aXNpYmxlTWVzc2FnZSIsImdldEluc3RhbmNlIiwiYW5ub3VuY2UiLCJJbnZpc2libGVNZXNzYWdlTW9kZSIsIkFzc2VydGl2ZSIsImhpZGVNZXNzYWdlIiwiZXJyIiwiTG9nIiwiZXJyb3IiLCJFeHRlbnNpb25BUEkiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IGdldFNpZGVDb250ZW50TGF5b3V0SUQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0lEXCI7XG5pbXBvcnQgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCB0eXBlIHsgRW5oYW5jZVdpdGhVSTUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBTaWRlRWZmZWN0c1RhcmdldFR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvU2lkZUVmZmVjdHNTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHR5cGUgVGFibGVBUEkgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGVBUElcIjtcbmltcG9ydCBJbnZpc2libGVNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9JbnZpc2libGVNZXNzYWdlXCI7XG5pbXBvcnQgeyBJbnZpc2libGVNZXNzYWdlTW9kZSwgTWVzc2FnZVR5cGUgfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IE1lc3NhZ2UgZnJvbSBcInNhcC91aS9jb3JlL21lc3NhZ2UvTWVzc2FnZVwiO1xuaW1wb3J0IHR5cGUgRHluYW1pY1NpZGVDb250ZW50IGZyb20gXCJzYXAvdWkvbGF5b3V0L0R5bmFtaWNTaWRlQ29udGVudFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvcmVzb3VyY2UvUmVzb3VyY2VNb2RlbFwiO1xuXG4vKipcbiAqIEV4dGVuc2lvbiBBUEkgZm9yIG9iamVjdCBwYWdlcyBvbiBTQVAgRmlvcmkgZWxlbWVudHMgZm9yIE9EYXRhIFY0LlxuICpcbiAqIFRvIGNvcnJlY3RseSBpbnRlZ3JhdGUgeW91ciBhcHAgZXh0ZW5zaW9uIGNvZGluZyB3aXRoIFNBUCBGaW9yaSBlbGVtZW50cywgdXNlIG9ubHkgdGhlIGV4dGVuc2lvbkFQSSBvZiBTQVAgRmlvcmkgZWxlbWVudHMuIERvbid0IGFjY2VzcyBvciBtYW5pcHVsYXRlIGNvbnRyb2xzLCBwcm9wZXJ0aWVzLCBtb2RlbHMsIG9yIG90aGVyIGludGVybmFsIG9iamVjdHMgY3JlYXRlZCBieSB0aGUgU0FQIEZpb3JpIGVsZW1lbnRzIGZyYW1ld29yay5cbiAqXG4gKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSVxuICogQHB1YmxpY1xuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQGZpbmFsXG4gKiBAc2luY2UgMS43OS4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUElcIilcbmNsYXNzIE9iamVjdFBhZ2VFeHRlbnNpb25BUEkgZXh0ZW5kcyBFeHRlbnNpb25BUEkge1xuXHQvKipcblx0ICogUmVmcmVzaGVzIGVpdGhlciB0aGUgd2hvbGUgb2JqZWN0IHBhZ2Ugb3Igb25seSBwYXJ0cyBvZiBpdC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjcmVmcmVzaFxuXHQgKiBAcGFyYW0gW3ZQYXRoXSBQYXRoIG9yIGFycmF5IG9mIHBhdGhzIHJlZmVycmluZyB0byBlbnRpdGllcyBvciBwcm9wZXJ0aWVzIHRvIGJlIHJlZnJlc2hlZC5cblx0ICogSWYgb21pdHRlZCwgdGhlIHdob2xlIG9iamVjdCBwYWdlIGlzIHJlZnJlc2hlZC4gVGhlIHBhdGggXCJcIiByZWZyZXNoZXMgdGhlIGVudGl0eSBhc3NpZ25lZCB0byB0aGUgb2JqZWN0IHBhZ2Vcblx0ICogd2l0aG91dCBuYXZpZ2F0aW9uc1xuXHQgKiBAcmV0dXJucyBSZXNvbHZlZCBvbmNlIHRoZSBkYXRhIGlzIHJlZnJlc2hlZCBvciByZWplY3RlZCBpZiB0aGUgcmVxdWVzdCBmYWlsZWRcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cmVmcmVzaCh2UGF0aDogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcblx0XHRjb25zdCBvQmluZGluZ0NvbnRleHQgPSB0aGlzLl92aWV3LmdldEJpbmRpbmdDb250ZXh0KCkgYXMgQ29udGV4dDtcblx0XHRpZiAoIW9CaW5kaW5nQ29udGV4dCkge1xuXHRcdFx0Ly8gbm90aGluZyB0byBiZSByZWZyZXNoZWQgLSBkbyBub3QgYmxvY2sgdGhlIGFwcCFcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0XHR9XG5cdFx0Y29uc3Qgb0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLl92aWV3KSxcblx0XHRcdG9TaWRlRWZmZWN0c1NlcnZpY2UgPSBvQXBwQ29tcG9uZW50LmdldFNpZGVFZmZlY3RzU2VydmljZSgpLFxuXHRcdFx0b01ldGFNb2RlbCA9IG9CaW5kaW5nQ29udGV4dC5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0b1NpZGVFZmZlY3RzOiBTaWRlRWZmZWN0c1RhcmdldFR5cGUgPSB7XG5cdFx0XHRcdHRhcmdldFByb3BlcnRpZXM6IFtdLFxuXHRcdFx0XHR0YXJnZXRFbnRpdGllczogW11cblx0XHRcdH07XG5cdFx0bGV0IGFQYXRocywgc1BhdGgsIHNCYXNlRW50aXR5U2V0LCBzS2luZDtcblxuXHRcdGlmICh2UGF0aCA9PT0gdW5kZWZpbmVkIHx8IHZQYXRoID09PSBudWxsKSB7XG5cdFx0XHQvLyB3ZSBqdXN0IGFkZCBhbiBlbXB0eSBwYXRoIHdoaWNoIHNob3VsZCByZWZyZXNoIHRoZSBwYWdlIHdpdGggYWxsIGRlcGVuZGVudCBiaW5kaW5nc1xuXHRcdFx0b1NpZGVFZmZlY3RzLnRhcmdldEVudGl0aWVzLnB1c2goe1xuXHRcdFx0XHQkTmF2aWdhdGlvblByb3BlcnR5UGF0aDogXCJcIlxuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGFQYXRocyA9IEFycmF5LmlzQXJyYXkodlBhdGgpID8gdlBhdGggOiBbdlBhdGhdO1xuXHRcdFx0c0Jhc2VFbnRpdHlTZXQgPSAodGhpcy5fY29udHJvbGxlci5nZXRPd25lckNvbXBvbmVudCgpIGFzIGFueSkuZ2V0RW50aXR5U2V0KCk7XG5cblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYVBhdGhzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdHNQYXRoID0gYVBhdGhzW2ldO1xuXHRcdFx0XHRpZiAoc1BhdGggPT09IFwiXCIpIHtcblx0XHRcdFx0XHQvLyBhbiBlbXB0eSBwYXRoIHNoYWxsIHJlZnJlc2ggdGhlIGVudGl0eSB3aXRob3V0IGRlcGVuZGVuY2llcyB3aGljaCBtZWFucyAqIGZvciB0aGUgbW9kZWxcblx0XHRcdFx0XHRvU2lkZUVmZmVjdHMudGFyZ2V0UHJvcGVydGllcy5wdXNoKFwiKlwiKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzS2luZCA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAvJHtzQmFzZUVudGl0eVNldH0vJHtzUGF0aH0vJGtpbmRgKTtcblxuXHRcdFx0XHRcdGlmIChzS2luZCA9PT0gXCJOYXZpZ2F0aW9uUHJvcGVydHlcIikge1xuXHRcdFx0XHRcdFx0b1NpZGVFZmZlY3RzLnRhcmdldEVudGl0aWVzLnB1c2goe1xuXHRcdFx0XHRcdFx0XHQkTmF2aWdhdGlvblByb3BlcnR5UGF0aDogc1BhdGhcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoc0tpbmQpIHtcblx0XHRcdFx0XHRcdG9TaWRlRWZmZWN0cy50YXJnZXRQcm9wZXJ0aWVzLnB1c2goc1BhdGgpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoYCR7c1BhdGh9IGlzIG5vdCBhIHZhbGlkIHBhdGggdG8gYmUgcmVmcmVzaGVkYCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBvU2lkZUVmZmVjdHNTZXJ2aWNlLnJlcXVlc3RTaWRlRWZmZWN0cyhbLi4ub1NpZGVFZmZlY3RzLnRhcmdldEVudGl0aWVzLCAuLi5vU2lkZUVmZmVjdHMudGFyZ2V0UHJvcGVydGllc10sIG9CaW5kaW5nQ29udGV4dCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbGlzdCBlbnRyaWVzIGN1cnJlbnRseSBzZWxlY3RlZCBmb3IgdGhlIHRhYmxlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNnZXRTZWxlY3RlZENvbnRleHRzXG5cdCAqIEBwYXJhbSBzVGFibGVJZCBUaGUgSUQgaWRlbnRpZnlpbmcgdGhlIHRhYmxlIHRoZSBzZWxlY3RlZCBjb250ZXh0IGlzIHJlcXVlc3RlZCBmb3Jcblx0ICogQHJldHVybnMgQXJyYXkgY29udGFpbmluZyB0aGUgc2VsZWN0ZWQgY29udGV4dHNcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0U2VsZWN0ZWRDb250ZXh0cyhzVGFibGVJZDogc3RyaW5nKSB7XG5cdFx0bGV0IG9UYWJsZSA9IHRoaXMuX3ZpZXcuYnlJZChzVGFibGVJZCk7XG5cdFx0aWYgKG9UYWJsZSAmJiBvVGFibGUuaXNBKFwic2FwLmZlLm1hY3Jvcy50YWJsZS5UYWJsZUFQSVwiKSkge1xuXHRcdFx0b1RhYmxlID0gKG9UYWJsZSBhcyBFbmhhbmNlV2l0aFVJNTxUYWJsZUFQST4pLmdldENvbnRlbnQoKTtcblx0XHR9XG5cdFx0cmV0dXJuIChvVGFibGUgJiYgb1RhYmxlLmlzQShcInNhcC51aS5tZGMuVGFibGVcIikgJiYgKG9UYWJsZSBhcyBhbnkpLmdldFNlbGVjdGVkQ29udGV4dHMoKSkgfHwgW107XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGxheXMgb3IgaGlkZXMgdGhlIHNpZGUgY29udGVudCBvZiBhbiBvYmplY3QgcGFnZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjc2hvd1NpZGVDb250ZW50XG5cdCAqIEBwYXJhbSBzU3ViU2VjdGlvbktleSBLZXkgb2YgdGhlIHNpZGUgY29udGVudCBmcmFnbWVudCBhcyBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdC5qc29uXG5cdCAqIEBwYXJhbSBbYlNob3ddIE9wdGlvbmFsIEJvb2xlYW4gZmxhZyB0byBzaG93IG9yIGhpZGUgdGhlIHNpZGUgY29udGVudFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRzaG93U2lkZUNvbnRlbnQoc1N1YlNlY3Rpb25LZXk6IHN0cmluZywgYlNob3c6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcblx0XHRjb25zdCBzQmxvY2tJRCA9IGdldFNpZGVDb250ZW50TGF5b3V0SUQoc1N1YlNlY3Rpb25LZXkpLFxuXHRcdFx0b0Jsb2NrID0gdGhpcy5fdmlldy5ieUlkKHNCbG9ja0lEKSxcblx0XHRcdGJCbG9ja1N0YXRlID0gYlNob3cgPT09IHVuZGVmaW5lZCA/ICEob0Jsb2NrIGFzIER5bmFtaWNTaWRlQ29udGVudCkuZ2V0U2hvd1NpZGVDb250ZW50KCkgOiBiU2hvdztcblx0XHQob0Jsb2NrIGFzIER5bmFtaWNTaWRlQ29udGVudCkuc2V0U2hvd1NpZGVDb250ZW50KGJCbG9ja1N0YXRlLCBmYWxzZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgYm91bmQgY29udGV4dCBvZiB0aGUgY3VycmVudCBvYmplY3QgcGFnZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjZ2V0QmluZGluZ0NvbnRleHRcblx0ICogQHJldHVybnMgQ29udGV4dCBib3VuZCB0byB0aGUgb2JqZWN0IHBhZ2Vcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0QmluZGluZ0NvbnRleHQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZCBhIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIGJlbG93IHRoZSBhbmNob3IgYmFyLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNfYnVpbGRPUE1lc3NhZ2Vcblx0ICogQHBhcmFtIHtzYXAudWkuY29yZS5tZXNzYWdlLk1lc3NhZ2VbXX0gbWVzc2FnZXMgQXJyYXkgb2YgbWVzc2FnZXMgdXNlZCB0byBnZW5lcmF0ZWQgdGhlIG1lc3NhZ2Vcblx0ICogQHJldHVybnMge1Byb21pc2U8TWVzc2FnZT59IFByb21pc2UgY29udGFpbmluZyB0aGUgZ2VuZXJhdGVkIG1lc3NhZ2Vcblx0ICogQHByaXZhdGVcblx0ICovXG5cdGFzeW5jIF9idWlsZE9QTWVzc2FnZShtZXNzYWdlczogTWVzc2FnZVtdKTogUHJvbWlzZTxNZXNzYWdlIHwgbnVsbD4ge1xuXHRcdGNvbnN0IHZpZXcgPSB0aGlzLl92aWV3O1xuXHRcdGNvbnN0IHJlc291cmNlQnVuZGxlID0gYXdhaXQgKHZpZXcuZ2V0TW9kZWwoXCJzYXAuZmUuaTE4blwiKSBhcyBSZXNvdXJjZU1vZGVsKS5nZXRSZXNvdXJjZUJ1bmRsZSgpO1xuXHRcdGxldCBtZXNzYWdlOiBNZXNzYWdlIHwgbnVsbCA9IG51bGw7XG5cdFx0c3dpdGNoIChtZXNzYWdlcy5sZW5ndGgpIHtcblx0XHRcdGNhc2UgMDpcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIDE6XG5cdFx0XHRcdG1lc3NhZ2UgPSBtZXNzYWdlc1swXTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRjb25zdCBtZXNzYWdlU3RhdHM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7XG5cdFx0XHRcdFx0RXJyb3I6IHsgaWQ6IDIsIGNvdW50OiAwIH0sXG5cdFx0XHRcdFx0V2FybmluZzogeyBpZDogMSwgY291bnQ6IDAgfSxcblx0XHRcdFx0XHRJbmZvcm1hdGlvbjogeyBpZDogMCwgY291bnQ6IDAgfVxuXHRcdFx0XHR9O1xuXHRcdFx0XHRtZXNzYWdlID0gbWVzc2FnZXMucmVkdWNlKChhY2MsIGN1cnJlbnRWYWx1ZSkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IGN1cnJlbnRUeXBlID0gY3VycmVudFZhbHVlLmdldFR5cGUoKTtcblx0XHRcdFx0XHRhY2Muc2V0VHlwZShtZXNzYWdlU3RhdHNbY3VycmVudFR5cGVdLmlkID4gbWVzc2FnZVN0YXRzW2FjYy5nZXRUeXBlKCldLmlkID8gY3VycmVudFR5cGUgOiBhY2MuZ2V0VHlwZSgpKTtcblx0XHRcdFx0XHRtZXNzYWdlU3RhdHNbY3VycmVudFR5cGVdLmNvdW50Kys7XG5cdFx0XHRcdFx0cmV0dXJuIGFjYztcblx0XHRcdFx0fSwgbmV3IE1lc3NhZ2UoeyB0eXBlOiBNZXNzYWdlVHlwZS5JbmZvcm1hdGlvbiB9KSk7XG5cblx0XHRcdFx0aWYgKG1lc3NhZ2VTdGF0cy5FcnJvci5jb3VudCA9PT0gMCAmJiBtZXNzYWdlU3RhdHMuV2FybmluZy5jb3VudCA9PT0gMCAmJiBtZXNzYWdlU3RhdHMuSW5mb3JtYXRpb24uY291bnQgPiAwKSB7XG5cdFx0XHRcdFx0bWVzc2FnZS5zZXRNZXNzYWdlKHJlc291cmNlQnVuZGxlLmdldFRleHQoXCJPQkpFQ1RQQUdFU1RBVEVfSU5GT1JNQVRJT05cIikpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKChtZXNzYWdlU3RhdHMuRXJyb3IuY291bnQgPiAwICYmIG1lc3NhZ2VTdGF0cy5XYXJuaW5nLmNvdW50ID4gMCkgfHwgbWVzc2FnZVN0YXRzLkluZm9ybWF0aW9uLmNvdW50ID4gMCkge1xuXHRcdFx0XHRcdG1lc3NhZ2Uuc2V0TWVzc2FnZShyZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiT0JKRUNUUEFHRVNUQVRFX0lTU1VFXCIpKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRtZXNzYWdlLnNldE1lc3NhZ2UoXG5cdFx0XHRcdFx0XHRyZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFxuXHRcdFx0XHRcdFx0XHRtZXNzYWdlLmdldFR5cGUoKSA9PT0gTWVzc2FnZVR5cGUuRXJyb3IgPyBcIk9CSkVDVFBBR0VTVEFURV9FUlJPUlwiIDogXCJPQkpFQ1RQQUdFU1RBVEVfV0FSTklOR1wiXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gbWVzc2FnZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyB0aGUgbWVzc2FnZSBzdHJpcCBiZXR3ZWVuIHRoZSB0aXRsZSBhbmQgdGhlIGhlYWRlciBvZiB0aGUgT2JqZWN0UGFnZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjc2hvd01lc3NhZ2VzXG5cdCAqIEBwYXJhbSB7c2FwLnVpLmNvcmUubWVzc2FnZS5NZXNzYWdlfSBtZXNzYWdlcyBUaGUgbWVzc2FnZSB0byBiZSBkaXNwbGF5ZWRcblx0ICogQHB1YmxpY1xuXHQgKi9cblxuXHRhc3luYyBzaG93TWVzc2FnZXMobWVzc2FnZXM6IE1lc3NhZ2VbXSkge1xuXHRcdGNvbnN0IHZpZXcgPSB0aGlzLl92aWV3O1xuXHRcdGNvbnN0IGludGVybmFsTW9kZWxDb250ZXh0ID0gdmlldy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpO1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBtZXNzYWdlID0gYXdhaXQgdGhpcy5fYnVpbGRPUE1lc3NhZ2UobWVzc2FnZXMpO1xuXHRcdFx0aWYgKG1lc3NhZ2UpIHtcblx0XHRcdFx0KGludGVybmFsTW9kZWxDb250ZXh0IGFzIGFueSk/LnNldFByb3BlcnR5KFwiT1BNZXNzYWdlU3RyaXBWaXNpYmlsaXR5XCIsIHRydWUpO1xuXHRcdFx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFRleHRcIiwgbWVzc2FnZS5nZXRNZXNzYWdlKCkpO1xuXHRcdFx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFR5cGVcIiwgbWVzc2FnZS5nZXRUeXBlKCkpO1xuXHRcdFx0XHRJbnZpc2libGVNZXNzYWdlLmdldEluc3RhbmNlKCkuYW5ub3VuY2UobWVzc2FnZS5nZXRNZXNzYWdlKCksIEludmlzaWJsZU1lc3NhZ2VNb2RlLkFzc2VydGl2ZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLmhpZGVNZXNzYWdlKCk7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJDYW5ub3QgZGlzcGxheSBPYmplY3RQYWdlIG1lc3NhZ2VcIik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEhpZGVzIHRoZSBtZXNzYWdlIHN0cmlwIGJlbG93IHRoZSBhbmNob3IgYmFyLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNoaWRlTWVzc2FnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRoaWRlTWVzc2FnZSgpIHtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5fdmlldztcblx0XHRjb25zdCBpbnRlcm5hbE1vZGVsQ29udGV4dCA9IHZpZXcuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKTtcblx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFZpc2liaWxpdHlcIiwgZmFsc2UpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdFBhZ2VFeHRlbnNpb25BUEk7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0VBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQVZBLElBWU1BLHNCQUFzQixXQUQzQkMsY0FBYyxDQUFDLDBDQUEwQyxDQUFDO0lBQUE7SUFBQTtNQUFBO0lBQUE7SUFBQTtJQUUxRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQVRDLE9BVUFDLE9BQU8sR0FBUCxpQkFBUUMsS0FBb0MsRUFBRTtNQUM3QyxNQUFNQyxlQUFlLEdBQUcsSUFBSSxDQUFDQyxLQUFLLENBQUNDLGlCQUFpQixFQUFhO01BQ2pFLElBQUksQ0FBQ0YsZUFBZSxFQUFFO1FBQ3JCO1FBQ0EsT0FBT0csT0FBTyxDQUFDQyxPQUFPLEVBQUU7TUFDekI7TUFDQSxNQUFNQyxhQUFhLEdBQUdDLFdBQVcsQ0FBQ0MsZUFBZSxDQUFDLElBQUksQ0FBQ04sS0FBSyxDQUFDO1FBQzVETyxtQkFBbUIsR0FBR0gsYUFBYSxDQUFDSSxxQkFBcUIsRUFBRTtRQUMzREMsVUFBVSxHQUFHVixlQUFlLENBQUNXLFFBQVEsRUFBRSxDQUFDQyxZQUFZLEVBQUU7UUFDdERDLFlBQW1DLEdBQUc7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
|
|
233
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3RQYWdlRXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwidlBhdGgiLCJvQmluZGluZ0NvbnRleHQiLCJfdmlldyIsImdldEJpbmRpbmdDb250ZXh0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJvQXBwQ29tcG9uZW50IiwiQ29tbW9uVXRpbHMiLCJnZXRBcHBDb21wb25lbnQiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlIiwiZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlIiwib01ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwib1NpZGVFZmZlY3RzIiwidGFyZ2V0UHJvcGVydGllcyIsInRhcmdldEVudGl0aWVzIiwiYVBhdGhzIiwic1BhdGgiLCJzQmFzZUVudGl0eVNldCIsInNLaW5kIiwidW5kZWZpbmVkIiwicHVzaCIsIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoIiwiQXJyYXkiLCJpc0FycmF5IiwiX2NvbnRyb2xsZXIiLCJnZXRPd25lckNvbXBvbmVudCIsImdldEVudGl0eVNldCIsImkiLCJsZW5ndGgiLCJnZXRPYmplY3QiLCJyZWplY3QiLCJyZXF1ZXN0U2lkZUVmZmVjdHMiLCJnZXRTZWxlY3RlZENvbnRleHRzIiwic1RhYmxlSWQiLCJvVGFibGUiLCJieUlkIiwiaXNBIiwiZ2V0Q29udGVudCIsInNob3dTaWRlQ29udGVudCIsInNTdWJTZWN0aW9uS2V5IiwiYlNob3ciLCJzQmxvY2tJRCIsImdldFNpZGVDb250ZW50TGF5b3V0SUQiLCJvQmxvY2siLCJiQmxvY2tTdGF0ZSIsImdldFNob3dTaWRlQ29udGVudCIsInNldFNob3dTaWRlQ29udGVudCIsIl9idWlsZE9QTWVzc2FnZSIsIm1lc3NhZ2VzIiwidmlldyIsInJlc291cmNlTW9kZWwiLCJSZXNvdXJjZU1vZGVsSGVscGVyIiwiZ2V0UmVzb3VyY2VNb2RlbCIsIm1lc3NhZ2UiLCJtZXNzYWdlU3RhdHMiLCJFcnJvciIsImlkIiwiY291bnQiLCJXYXJuaW5nIiwiSW5mb3JtYXRpb24iLCJyZWR1Y2UiLCJhY2MiLCJjdXJyZW50VmFsdWUiLCJjdXJyZW50VHlwZSIsImdldFR5cGUiLCJzZXRUeXBlIiwiTWVzc2FnZSIsInR5cGUiLCJNZXNzYWdlVHlwZSIsInNldE1lc3NhZ2UiLCJnZXRUZXh0IiwibWVzc2FnZVJlc291cmNlIiwic2hvd01lc3NhZ2VzIiwiaW50ZXJuYWxNb2RlbENvbnRleHQiLCJzZXRQcm9wZXJ0eSIsImdldE1lc3NhZ2UiLCJJbnZpc2libGVNZXNzYWdlIiwiZ2V0SW5zdGFuY2UiLCJhbm5vdW5jZSIsIkludmlzaWJsZU1lc3NhZ2VNb2RlIiwiQXNzZXJ0aXZlIiwiaGlkZU1lc3NhZ2UiLCJlcnIiLCJMb2ciLCJlcnJvciIsInNldFJlY29tbWVuZGF0aW9ucyIsImRhdGEiLCJyZWNvbW1lbmRhdGlvbkhlbHBlciIsInRyYW5zZm9ybVJlY29tbWVuZGF0aW9uc0ZvckludGVybmFsU3RvcmFnZSIsIkV4dGVuc2lvbkFQSSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRXh0ZW5zaW9uQVBJLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHsgZ2V0U2lkZUNvbnRlbnRMYXlvdXRJRCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2hlbHBlcnMvSURcIjtcbmltcG9ydCBFeHRlbnNpb25BUEkgZnJvbSBcInNhcC9mZS9jb3JlL0V4dGVuc2lvbkFQSVwiO1xuaW1wb3J0IHR5cGUgeyBFbmhhbmNlV2l0aFVJNSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IEluQ29tcGxldGVuZXNzSW5mb1R5cGUsIHJlY29tbWVuZGF0aW9uSGVscGVyIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvUmVjb21tZW5kYXRpb25IZWxwZXJcIjtcbmltcG9ydCBSZXNvdXJjZU1vZGVsSGVscGVyIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB7IFNpZGVFZmZlY3RzVGFyZ2V0VHlwZSB9IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9TaWRlRWZmZWN0c1NlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgdHlwZSBUYWJsZUFQSSBmcm9tIFwic2FwL2ZlL21hY3Jvcy90YWJsZS9UYWJsZUFQSVwiO1xuaW1wb3J0IEludmlzaWJsZU1lc3NhZ2UgZnJvbSBcInNhcC91aS9jb3JlL0ludmlzaWJsZU1lc3NhZ2VcIjtcbmltcG9ydCB7IEludmlzaWJsZU1lc3NhZ2VNb2RlLCBNZXNzYWdlVHlwZSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgTWVzc2FnZSBmcm9tIFwic2FwL3VpL2NvcmUvbWVzc2FnZS9NZXNzYWdlXCI7XG5pbXBvcnQgdHlwZSBEeW5hbWljU2lkZUNvbnRlbnQgZnJvbSBcInNhcC91aS9sYXlvdXQvRHluYW1pY1NpZGVDb250ZW50XCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5cbi8qKlxuICogRXh0ZW5zaW9uIEFQSSBmb3Igb2JqZWN0IHBhZ2VzIG9uIFNBUCBGaW9yaSBlbGVtZW50cyBmb3IgT0RhdGEgVjQuXG4gKlxuICogVG8gY29ycmVjdGx5IGludGVncmF0ZSB5b3VyIGFwcCBleHRlbnNpb24gY29kaW5nIHdpdGggU0FQIEZpb3JpIGVsZW1lbnRzLCB1c2Ugb25seSB0aGUgZXh0ZW5zaW9uQVBJIG9mIFNBUCBGaW9yaSBlbGVtZW50cy4gRG9uJ3QgYWNjZXNzIG9yIG1hbmlwdWxhdGUgY29udHJvbHMsIHByb3BlcnRpZXMsIG1vZGVscywgb3Igb3RoZXIgaW50ZXJuYWwgb2JqZWN0cyBjcmVhdGVkIGJ5IHRoZSBTQVAgRmlvcmkgZWxlbWVudHMgZnJhbWV3b3JrLlxuICpcbiAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJXG4gKiBAcHVibGljXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAZmluYWxcbiAqIEBzaW5jZSAxLjc5LjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSVwiKVxuY2xhc3MgT2JqZWN0UGFnZUV4dGVuc2lvbkFQSSBleHRlbmRzIEV4dGVuc2lvbkFQSSB7XG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgZWl0aGVyIHRoZSB3aG9sZSBvYmplY3QgcGFnZSBvciBvbmx5IHBhcnRzIG9mIGl0LlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNyZWZyZXNoXG5cdCAqIEBwYXJhbSBbdlBhdGhdIFBhdGggb3IgYXJyYXkgb2YgcGF0aHMgcmVmZXJyaW5nIHRvIGVudGl0aWVzIG9yIHByb3BlcnRpZXMgdG8gYmUgcmVmcmVzaGVkLlxuXHQgKiBJZiBvbWl0dGVkLCB0aGUgd2hvbGUgb2JqZWN0IHBhZ2UgaXMgcmVmcmVzaGVkLiBUaGUgcGF0aCBcIlwiIHJlZnJlc2hlcyB0aGUgZW50aXR5IGFzc2lnbmVkIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiB3aXRob3V0IG5hdmlnYXRpb25zXG5cdCAqIEByZXR1cm5zIFJlc29sdmVkIG9uY2UgdGhlIGRhdGEgaXMgcmVmcmVzaGVkIG9yIHJlamVjdGVkIGlmIHRoZSByZXF1ZXN0IGZhaWxlZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRyZWZyZXNoKHZQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuX3ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdGlmICghb0JpbmRpbmdDb250ZXh0KSB7XG5cdFx0XHQvLyBub3RoaW5nIHRvIGJlIHJlZnJlc2hlZCAtIGRvIG5vdCBibG9jayB0aGUgYXBwIVxuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuX3ZpZXcpLFxuXHRcdFx0b1NpZGVFZmZlY3RzU2VydmljZSA9IG9BcHBDb21wb25lbnQuZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlKCksXG5cdFx0XHRvTWV0YU1vZGVsID0gb0JpbmRpbmdDb250ZXh0LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRvU2lkZUVmZmVjdHM6IFNpZGVFZmZlY3RzVGFyZ2V0VHlwZSA9IHtcblx0XHRcdFx0dGFyZ2V0UHJvcGVydGllczogW10sXG5cdFx0XHRcdHRhcmdldEVudGl0aWVzOiBbXVxuXHRcdFx0fTtcblx0XHRsZXQgYVBhdGhzLCBzUGF0aCwgc0Jhc2VFbnRpdHlTZXQsIHNLaW5kO1xuXG5cdFx0aWYgKHZQYXRoID09PSB1bmRlZmluZWQgfHwgdlBhdGggPT09IG51bGwpIHtcblx0XHRcdC8vIHdlIGp1c3QgYWRkIGFuIGVtcHR5IHBhdGggd2hpY2ggc2hvdWxkIHJlZnJlc2ggdGhlIHBhZ2Ugd2l0aCBhbGwgZGVwZW5kZW50IGJpbmRpbmdzXG5cdFx0XHRvU2lkZUVmZmVjdHMudGFyZ2V0RW50aXRpZXMucHVzaCh7XG5cdFx0XHRcdCROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBcIlwiXG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YVBhdGhzID0gQXJyYXkuaXNBcnJheSh2UGF0aCkgPyB2UGF0aCA6IFt2UGF0aF07XG5cdFx0XHRzQmFzZUVudGl0eVNldCA9ICh0aGlzLl9jb250cm9sbGVyLmdldE93bmVyQ29tcG9uZW50KCkgYXMgYW55KS5nZXRFbnRpdHlTZXQoKTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhUGF0aHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0c1BhdGggPSBhUGF0aHNbaV07XG5cdFx0XHRcdGlmIChzUGF0aCA9PT0gXCJcIikge1xuXHRcdFx0XHRcdC8vIGFuIGVtcHR5IHBhdGggc2hhbGwgcmVmcmVzaCB0aGUgZW50aXR5IHdpdGhvdXQgZGVwZW5kZW5jaWVzIHdoaWNoIG1lYW5zICogZm9yIHRoZSBtb2RlbFxuXHRcdFx0XHRcdG9TaWRlRWZmZWN0cy50YXJnZXRQcm9wZXJ0aWVzLnB1c2goXCIqXCIpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNLaW5kID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYC8ke3NCYXNlRW50aXR5U2V0fS8ke3NQYXRofS8ka2luZGApO1xuXG5cdFx0XHRcdFx0aWYgKHNLaW5kID09PSBcIk5hdmlnYXRpb25Qcm9wZXJ0eVwiKSB7XG5cdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHMudGFyZ2V0RW50aXRpZXMucHVzaCh7XG5cdFx0XHRcdFx0XHRcdCROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBzUGF0aFxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChzS2luZCkge1xuXHRcdFx0XHRcdFx0b1NpZGVFZmZlY3RzLnRhcmdldFByb3BlcnRpZXMucHVzaChzUGF0aCk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChgJHtzUGF0aH0gaXMgbm90IGEgdmFsaWQgcGF0aCB0byBiZSByZWZyZXNoZWRgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG9TaWRlRWZmZWN0c1NlcnZpY2UucmVxdWVzdFNpZGVFZmZlY3RzKFsuLi5vU2lkZUVmZmVjdHMudGFyZ2V0RW50aXRpZXMsIC4uLm9TaWRlRWZmZWN0cy50YXJnZXRQcm9wZXJ0aWVzXSwgb0JpbmRpbmdDb250ZXh0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsaXN0IGVudHJpZXMgY3VycmVudGx5IHNlbGVjdGVkIGZvciB0aGUgdGFibGUuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI2dldFNlbGVjdGVkQ29udGV4dHNcblx0ICogQHBhcmFtIHNUYWJsZUlkIFRoZSBJRCBpZGVudGlmeWluZyB0aGUgdGFibGUgdGhlIHNlbGVjdGVkIGNvbnRleHQgaXMgcmVxdWVzdGVkIGZvclxuXHQgKiBAcmV0dXJucyBBcnJheSBjb250YWluaW5nIHRoZSBzZWxlY3RlZCBjb250ZXh0c1xuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRTZWxlY3RlZENvbnRleHRzKHNUYWJsZUlkOiBzdHJpbmcpIHtcblx0XHRsZXQgb1RhYmxlID0gdGhpcy5fdmlldy5ieUlkKHNUYWJsZUlkKTtcblx0XHRpZiAob1RhYmxlICYmIG9UYWJsZS5pc0EoXCJzYXAuZmUubWFjcm9zLnRhYmxlLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRvVGFibGUgPSAob1RhYmxlIGFzIEVuaGFuY2VXaXRoVUk1PFRhYmxlQVBJPikuZ2V0Q29udGVudCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKG9UYWJsZSAmJiBvVGFibGUuaXNBKFwic2FwLnVpLm1kYy5UYWJsZVwiKSAmJiAob1RhYmxlIGFzIGFueSkuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyBvciBoaWRlcyB0aGUgc2lkZSBjb250ZW50IG9mIGFuIG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93U2lkZUNvbnRlbnRcblx0ICogQHBhcmFtIHNTdWJTZWN0aW9uS2V5IEtleSBvZiB0aGUgc2lkZSBjb250ZW50IGZyYWdtZW50IGFzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0Lmpzb25cblx0ICogQHBhcmFtIFtiU2hvd10gT3B0aW9uYWwgQm9vbGVhbiBmbGFnIHRvIHNob3cgb3IgaGlkZSB0aGUgc2lkZSBjb250ZW50XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHNob3dTaWRlQ29udGVudChzU3ViU2VjdGlvbktleTogc3RyaW5nLCBiU2hvdzogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IHNCbG9ja0lEID0gZ2V0U2lkZUNvbnRlbnRMYXlvdXRJRChzU3ViU2VjdGlvbktleSksXG5cdFx0XHRvQmxvY2sgPSB0aGlzLl92aWV3LmJ5SWQoc0Jsb2NrSUQpLFxuXHRcdFx0YkJsb2NrU3RhdGUgPSBiU2hvdyA9PT0gdW5kZWZpbmVkID8gIShvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5nZXRTaG93U2lkZUNvbnRlbnQoKSA6IGJTaG93O1xuXHRcdChvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5zZXRTaG93U2lkZUNvbnRlbnQoYkJsb2NrU3RhdGUsIGZhbHNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBib3VuZCBjb250ZXh0IG9mIHRoZSBjdXJyZW50IG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNnZXRCaW5kaW5nQ29udGV4dFxuXHQgKiBAcmV0dXJucyBDb250ZXh0IGJvdW5kIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRCaW5kaW5nQ29udGV4dCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkIGEgbWVzc2FnZSB0byBiZSBkaXNwbGF5ZWQgYmVsb3cgdGhlIGFuY2hvciBiYXIuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI19idWlsZE9QTWVzc2FnZVxuXHQgKiBAcGFyYW0ge3NhcC51aS5jb3JlLm1lc3NhZ2UuTWVzc2FnZVtdfSBtZXNzYWdlcyBBcnJheSBvZiBtZXNzYWdlcyB1c2VkIHRvIGdlbmVyYXRlZCB0aGUgbWVzc2FnZVxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZTxNZXNzYWdlPn0gUHJvbWlzZSBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgbWVzc2FnZVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0YXN5bmMgX2J1aWxkT1BNZXNzYWdlKG1lc3NhZ2VzOiBNZXNzYWdlW10pOiBQcm9taXNlPE1lc3NhZ2UgfCBudWxsPiB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgcmVzb3VyY2VNb2RlbCA9IFJlc291cmNlTW9kZWxIZWxwZXIuZ2V0UmVzb3VyY2VNb2RlbCh2aWV3KTtcblx0XHRsZXQgbWVzc2FnZTogTWVzc2FnZSB8IG51bGwgPSBudWxsO1xuXHRcdHN3aXRjaCAobWVzc2FnZXMubGVuZ3RoKSB7XG5cdFx0XHRjYXNlIDA6XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAxOlxuXHRcdFx0XHRtZXNzYWdlID0gbWVzc2FnZXNbMF07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0Y29uc3QgbWVzc2FnZVN0YXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuXHRcdFx0XHRcdEVycm9yOiB7IGlkOiAyLCBjb3VudDogMCB9LFxuXHRcdFx0XHRcdFdhcm5pbmc6IHsgaWQ6IDEsIGNvdW50OiAwIH0sXG5cdFx0XHRcdFx0SW5mb3JtYXRpb246IHsgaWQ6IDAsIGNvdW50OiAwIH1cblx0XHRcdFx0fTtcblx0XHRcdFx0bWVzc2FnZSA9IG1lc3NhZ2VzLnJlZHVjZSgoYWNjLCBjdXJyZW50VmFsdWUpID0+IHtcblx0XHRcdFx0XHRjb25zdCBjdXJyZW50VHlwZSA9IGN1cnJlbnRWYWx1ZS5nZXRUeXBlKCk7XG5cdFx0XHRcdFx0YWNjLnNldFR5cGUobWVzc2FnZVN0YXRzW2N1cnJlbnRUeXBlXS5pZCA+IG1lc3NhZ2VTdGF0c1thY2MuZ2V0VHlwZSgpXS5pZCA/IGN1cnJlbnRUeXBlIDogYWNjLmdldFR5cGUoKSk7XG5cdFx0XHRcdFx0bWVzc2FnZVN0YXRzW2N1cnJlbnRUeXBlXS5jb3VudCsrO1xuXHRcdFx0XHRcdHJldHVybiBhY2M7XG5cdFx0XHRcdH0sIG5ldyBNZXNzYWdlKHsgdHlwZTogTWVzc2FnZVR5cGUuSW5mb3JtYXRpb24gfSkpO1xuXG5cdFx0XHRcdGlmIChtZXNzYWdlU3RhdHMuRXJyb3IuY291bnQgPT09IDAgJiYgbWVzc2FnZVN0YXRzLldhcm5pbmcuY291bnQgPT09IDAgJiYgbWVzc2FnZVN0YXRzLkluZm9ybWF0aW9uLmNvdW50ID4gMCkge1xuXHRcdFx0XHRcdG1lc3NhZ2Uuc2V0TWVzc2FnZShyZXNvdXJjZU1vZGVsLmdldFRleHQoXCJPQkpFQ1RQQUdFU1RBVEVfSU5GT1JNQVRJT05cIikpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKChtZXNzYWdlU3RhdHMuRXJyb3IuY291bnQgPiAwICYmIG1lc3NhZ2VTdGF0cy5XYXJuaW5nLmNvdW50ID4gMCkgfHwgbWVzc2FnZVN0YXRzLkluZm9ybWF0aW9uLmNvdW50ID4gMCkge1xuXHRcdFx0XHRcdG1lc3NhZ2Uuc2V0TWVzc2FnZShyZXNvdXJjZU1vZGVsLmdldFRleHQoXCJPQkpFQ1RQQUdFU1RBVEVfSVNTVUVcIikpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnN0IG1lc3NhZ2VSZXNvdXJjZSA9IG1lc3NhZ2UuZ2V0VHlwZSgpID09PSBNZXNzYWdlVHlwZS5FcnJvciA/IFwiT0JKRUNUUEFHRVNUQVRFX0VSUk9SXCIgOiBcIk9CSkVDVFBBR0VTVEFURV9XQVJOSU5HXCI7XG5cdFx0XHRcdFx0bWVzc2FnZS5zZXRNZXNzYWdlKHJlc291cmNlTW9kZWwuZ2V0VGV4dChtZXNzYWdlUmVzb3VyY2UpKTtcblx0XHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gbWVzc2FnZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyB0aGUgbWVzc2FnZSBzdHJpcCBiZXR3ZWVuIHRoZSB0aXRsZSBhbmQgdGhlIGhlYWRlciBvZiB0aGUgT2JqZWN0UGFnZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjc2hvd01lc3NhZ2VzXG5cdCAqIEBwYXJhbSB7c2FwLnVpLmNvcmUubWVzc2FnZS5NZXNzYWdlfSBtZXNzYWdlcyBUaGUgbWVzc2FnZSB0byBiZSBkaXNwbGF5ZWRcblx0ICogQHB1YmxpY1xuXHQgKi9cblxuXHRhc3luYyBzaG93TWVzc2FnZXMobWVzc2FnZXM6IE1lc3NhZ2VbXSkge1xuXHRcdGNvbnN0IHZpZXcgPSB0aGlzLl92aWV3O1xuXHRcdGNvbnN0IGludGVybmFsTW9kZWxDb250ZXh0ID0gdmlldy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpO1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBtZXNzYWdlID0gYXdhaXQgdGhpcy5fYnVpbGRPUE1lc3NhZ2UobWVzc2FnZXMpO1xuXHRcdFx0aWYgKG1lc3NhZ2UpIHtcblx0XHRcdFx0KGludGVybmFsTW9kZWxDb250ZXh0IGFzIGFueSk/LnNldFByb3BlcnR5KFwiT1BNZXNzYWdlU3RyaXBWaXNpYmlsaXR5XCIsIHRydWUpO1xuXHRcdFx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFRleHRcIiwgbWVzc2FnZS5nZXRNZXNzYWdlKCkpO1xuXHRcdFx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFR5cGVcIiwgbWVzc2FnZS5nZXRUeXBlKCkpO1xuXHRcdFx0XHRJbnZpc2libGVNZXNzYWdlLmdldEluc3RhbmNlKCkuYW5ub3VuY2UobWVzc2FnZS5nZXRNZXNzYWdlKCksIEludmlzaWJsZU1lc3NhZ2VNb2RlLkFzc2VydGl2ZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLmhpZGVNZXNzYWdlKCk7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJDYW5ub3QgZGlzcGxheSBPYmplY3RQYWdlIG1lc3NhZ2VcIik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEhpZGVzIHRoZSBtZXNzYWdlIHN0cmlwIGJlbG93IHRoZSBhbmNob3IgYmFyLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNoaWRlTWVzc2FnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRoaWRlTWVzc2FnZSgpIHtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5fdmlldztcblx0XHRjb25zdCBpbnRlcm5hbE1vZGVsQ29udGV4dCA9IHZpZXcuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKTtcblx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFZpc2liaWxpdHlcIiwgZmFsc2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gd2lsbCB0YWtlIHRoZSByZWNvbW1lbmRhdGlvbiBkYXRhIGRldGFpbHMsIHRyYW5zZm9ybSBpdCBhbmQgdXBkYXRlIGludGVybmFsIG1vZGVsIHdpdGggdGhhdC5cblx0ICpcblx0ICogQHBhcmFtIGRhdGEgUmVjb21tZW5kYXRpb24gZGF0YSBmb3IgdGhlIGFwcFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0c2V0UmVjb21tZW5kYXRpb25zKGRhdGE6IEluQ29tcGxldGVuZXNzSW5mb1R5cGUpIHtcblx0XHRyZWNvbW1lbmRhdGlvbkhlbHBlci50cmFuc2Zvcm1SZWNvbW1lbmRhdGlvbnNGb3JJbnRlcm5hbFN0b3JhZ2UoZGF0YSk7XG5cdFx0KHRoaXMuX3ZpZXcuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKSBhcyBKU09OTW9kZWwpLnNldFByb3BlcnR5KFwiL3JlY29tbWVuZGF0aW9uc0RhdGFcIiwgZGF0YSk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgT2JqZWN0UGFnZUV4dGVuc2lvbkFQSTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O0VBaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFWQSxJQVlNQSxzQkFBc0IsV0FEM0JDLGNBQWMsQ0FBQywwQ0FBMEMsQ0FBQztJQUFBO0lBQUE7TUFBQTtJQUFBO0lBQUE7SUFFMUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFUQyxPQVVBQyxPQUFPLEdBQVAsaUJBQVFDLEtBQW9DLEVBQUU7TUFDN0MsTUFBTUMsZUFBZSxHQUFHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxpQkFBaUIsRUFBYTtNQUNqRSxJQUFJLENBQUNGLGVBQWUsRUFBRTtRQUNyQjtRQUNBLE9BQU9HLE9BQU8sQ0FBQ0MsT0FBTyxFQUFFO01BQ3pCO01BQ0EsTUFBTUMsYUFBYSxHQUFHQyxXQUFXLENBQUNDLGVBQWUsQ0FBQyxJQUFJLENBQUNOLEtBQUssQ0FBQztRQUM1RE8sbUJBQW1CLEdBQUdILGFBQWEsQ0FBQ0kscUJBQXFCLEVBQUU7UUFDM0RDLFVBQVUsR0FBR1YsZUFBZSxDQUFDVyxRQUFRLEVBQUUsQ0FBQ0MsWUFBWSxFQUFFO1FBQ3REQyxZQUFtQyxHQUFHO1VBQ3JDQyxnQkFBZ0IsRUFBRSxFQUFFO1VBQ3BCQyxjQUFjLEVBQUU7UUFDakIsQ0FBQztNQUNGLElBQUlDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxjQUFjLEVBQUVDLEtBQUs7TUFFeEMsSUFBSXBCLEtBQUssS0FBS3FCLFNBQVMsSUFBSXJCLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDMUM7UUFDQWMsWUFBWSxDQUFDRSxjQUFjLENBQUNNLElBQUks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
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log","sap/fe/core/CommonUtils","sap/fe/core/converters/helpers/ID","sap/fe/core/ExtensionAPI","sap/fe/core/helpers/ClassSupport","sap/ui/core/InvisibleMessage","sap/ui/core/library","sap/ui/core/message/Message"],function(e,t,s,
|
|
5
|
+
sap.ui.define(["sap/base/Log","sap/fe/core/CommonUtils","sap/fe/core/converters/helpers/ID","sap/fe/core/ExtensionAPI","sap/fe/core/helpers/ClassSupport","sap/fe/core/helpers/RecommendationHelper","sap/fe/core/helpers/ResourceModelHelper","sap/ui/core/InvisibleMessage","sap/ui/core/library","sap/ui/core/message/Message"],function(e,t,n,s,o,r,i,a,c,g){"use strict";var p,l;var u=c.MessageType;var d=c.InvisibleMessageMode;var f=r.recommendationHelper;var h=o.defineUI5Class;var y=n.getSideContentLayoutID;function v(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;P(e,t)}function P(e,t){P=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,n){t.__proto__=n;return t};return P(e,t)}let E=(p=h("sap.fe.templates.ObjectPage.ExtensionAPI"),p(l=function(n){v(s,n);function s(){return n.apply(this,arguments)||this}var o=s.prototype;o.refresh=function e(n){const s=this._view.getBindingContext();if(!s){return Promise.resolve()}const o=t.getAppComponent(this._view),r=o.getSideEffectsService(),i=s.getModel().getMetaModel(),a={targetProperties:[],targetEntities:[]};let c,g,p,l;if(n===undefined||n===null){a.targetEntities.push({$NavigationPropertyPath:""})}else{c=Array.isArray(n)?n:[n];p=this._controller.getOwnerComponent().getEntitySet();for(let e=0;e<c.length;e++){g=c[e];if(g===""){a.targetProperties.push("*")}else{l=i.getObject(`/${p}/${g}/$kind`);if(l==="NavigationProperty"){a.targetEntities.push({$NavigationPropertyPath:g})}else if(l){a.targetProperties.push(g)}else{return Promise.reject(`${g} is not a valid path to be refreshed`)}}}}return r.requestSideEffects([...a.targetEntities,...a.targetProperties],s)};o.getSelectedContexts=function e(t){let n=this._view.byId(t);if(n&&n.isA("sap.fe.macros.table.TableAPI")){n=n.getContent()}return n&&n.isA("sap.ui.mdc.Table")&&n.getSelectedContexts()||[]};o.showSideContent=function e(t,n){const s=y(t),o=this._view.byId(s),r=n===undefined?!o.getShowSideContent():n;o.setShowSideContent(r,false)};o.getBindingContext=function e(){return this._view.getBindingContext()};o._buildOPMessage=async function e(t){const n=this._view;const s=i.getResourceModel(n);let o=null;switch(t.length){case 0:break;case 1:o=t[0];break;default:const e={Error:{id:2,count:0},Warning:{id:1,count:0},Information:{id:0,count:0}};o=t.reduce((t,n)=>{const s=n.getType();t.setType(e[s].id>e[t.getType()].id?s:t.getType());e[s].count++;return t},new g({type:u.Information}));if(e.Error.count===0&&e.Warning.count===0&&e.Information.count>0){o.setMessage(s.getText("OBJECTPAGESTATE_INFORMATION"))}else if(e.Error.count>0&&e.Warning.count>0||e.Information.count>0){o.setMessage(s.getText("OBJECTPAGESTATE_ISSUE"))}else{const e=o.getType()===u.Error?"OBJECTPAGESTATE_ERROR":"OBJECTPAGESTATE_WARNING";o.setMessage(s.getText(e))}}return o};o.showMessages=async function t(n){const s=this._view;const o=s.getBindingContext("internal");try{const e=await this._buildOPMessage(n);if(e){o===null||o===void 0?void 0:o.setProperty("OPMessageStripVisibility",true);o===null||o===void 0?void 0:o.setProperty("OPMessageStripText",e.getMessage());o===null||o===void 0?void 0:o.setProperty("OPMessageStripType",e.getType());a.getInstance().announce(e.getMessage(),d.Assertive)}else{this.hideMessage()}}catch(t){e.error("Cannot display ObjectPage message")}};o.hideMessage=function e(){const t=this._view;const n=t.getBindingContext("internal");n===null||n===void 0?void 0:n.setProperty("OPMessageStripVisibility",false)};o.setRecommendations=function e(t){f.transformRecommendationsForInternalStorage(t);this._view.getModel("internal").setProperty("/recommendationsData",t)};return s}(s))||l);return E},false);
|
|
6
6
|
//# sourceMappingURL=ExtensionAPI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionAPI.js","names":["sap","ui","define","Log","CommonUtils","ID","ExtensionAPI","ClassSupport","InvisibleMessage","library","Message","_dec","_class","MessageType","InvisibleMessageMode","defineUI5Class","getSideContentLayoutID","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","ObjectPageExtensionAPI","_ExtensionAPI","apply","this","arguments","_proto","refresh","vPath","oBindingContext","_view","getBindingContext","Promise","resolve","oAppComponent","getAppComponent","oSideEffectsService","getSideEffectsService","oMetaModel","getModel","getMetaModel","oSideEffects","targetProperties","targetEntities","aPaths","sPath","sBaseEntitySet","sKind","undefined","push","$NavigationPropertyPath","Array","isArray","_controller","getOwnerComponent","getEntitySet","i","length","getObject","reject","requestSideEffects","getSelectedContexts","sTableId","oTable","byId","isA","getContent","showSideContent","sSubSectionKey","bShow","sBlockID","oBlock","bBlockState","getShowSideContent","setShowSideContent","_buildOPMessage","async","messages","view","
|
|
1
|
+
{"version":3,"file":"ExtensionAPI.js","names":["sap","ui","define","Log","CommonUtils","ID","ExtensionAPI","ClassSupport","RecommendationHelper","ResourceModelHelper","InvisibleMessage","library","Message","_dec","_class","MessageType","InvisibleMessageMode","recommendationHelper","defineUI5Class","getSideContentLayoutID","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","ObjectPageExtensionAPI","_ExtensionAPI","apply","this","arguments","_proto","refresh","vPath","oBindingContext","_view","getBindingContext","Promise","resolve","oAppComponent","getAppComponent","oSideEffectsService","getSideEffectsService","oMetaModel","getModel","getMetaModel","oSideEffects","targetProperties","targetEntities","aPaths","sPath","sBaseEntitySet","sKind","undefined","push","$NavigationPropertyPath","Array","isArray","_controller","getOwnerComponent","getEntitySet","i","length","getObject","reject","requestSideEffects","getSelectedContexts","sTableId","oTable","byId","isA","getContent","showSideContent","sSubSectionKey","bShow","sBlockID","oBlock","bBlockState","getShowSideContent","setShowSideContent","_buildOPMessage","async","messages","view","resourceModel","getResourceModel","message","messageStats","Error","id","count","Warning","Information","reduce","acc","currentValue","currentType","getType","setType","type","setMessage","getText","messageResource","showMessages","internalModelContext","setProperty","getMessage","getInstance","announce","Assertive","hideMessage","err","error","setRecommendations","data","transformRecommendationsForInternalStorage"],"sources":["ExtensionAPI-dbg.js"],"mappings":"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"}
|
|
@@ -4,14 +4,16 @@ import { getSideContentLayoutID } from "sap/fe/core/converters/helpers/ID";
|
|
|
4
4
|
import ExtensionAPI from "sap/fe/core/ExtensionAPI";
|
|
5
5
|
import type { EnhanceWithUI5 } from "sap/fe/core/helpers/ClassSupport";
|
|
6
6
|
import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
|
|
7
|
+
import { InCompletenessInfoType, recommendationHelper } from "sap/fe/core/helpers/RecommendationHelper";
|
|
8
|
+
import ResourceModelHelper from "sap/fe/core/helpers/ResourceModelHelper";
|
|
7
9
|
import { SideEffectsTargetType } from "sap/fe/core/services/SideEffectsServiceFactory";
|
|
8
10
|
import type TableAPI from "sap/fe/macros/table/TableAPI";
|
|
9
11
|
import InvisibleMessage from "sap/ui/core/InvisibleMessage";
|
|
10
12
|
import { InvisibleMessageMode, MessageType } from "sap/ui/core/library";
|
|
11
13
|
import Message from "sap/ui/core/message/Message";
|
|
12
14
|
import type DynamicSideContent from "sap/ui/layout/DynamicSideContent";
|
|
15
|
+
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
13
16
|
import type Context from "sap/ui/model/odata/v4/Context";
|
|
14
|
-
import ResourceModel from "sap/ui/model/resource/ResourceModel";
|
|
15
17
|
|
|
16
18
|
/**
|
|
17
19
|
* Extension API for object pages on SAP Fiori elements for OData V4.
|
|
@@ -135,7 +137,7 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
135
137
|
*/
|
|
136
138
|
async _buildOPMessage(messages: Message[]): Promise<Message | null> {
|
|
137
139
|
const view = this._view;
|
|
138
|
-
const
|
|
140
|
+
const resourceModel = ResourceModelHelper.getResourceModel(view);
|
|
139
141
|
let message: Message | null = null;
|
|
140
142
|
switch (messages.length) {
|
|
141
143
|
case 0:
|
|
@@ -157,15 +159,12 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
157
159
|
}, new Message({ type: MessageType.Information }));
|
|
158
160
|
|
|
159
161
|
if (messageStats.Error.count === 0 && messageStats.Warning.count === 0 && messageStats.Information.count > 0) {
|
|
160
|
-
message.setMessage(
|
|
162
|
+
message.setMessage(resourceModel.getText("OBJECTPAGESTATE_INFORMATION"));
|
|
161
163
|
} else if ((messageStats.Error.count > 0 && messageStats.Warning.count > 0) || messageStats.Information.count > 0) {
|
|
162
|
-
message.setMessage(
|
|
164
|
+
message.setMessage(resourceModel.getText("OBJECTPAGESTATE_ISSUE"));
|
|
163
165
|
} else {
|
|
164
|
-
message.
|
|
165
|
-
|
|
166
|
-
message.getType() === MessageType.Error ? "OBJECTPAGESTATE_ERROR" : "OBJECTPAGESTATE_WARNING"
|
|
167
|
-
)
|
|
168
|
-
);
|
|
166
|
+
const messageResource = message.getType() === MessageType.Error ? "OBJECTPAGESTATE_ERROR" : "OBJECTPAGESTATE_WARNING";
|
|
167
|
+
message.setMessage(resourceModel.getText(messageResource));
|
|
169
168
|
}
|
|
170
169
|
}
|
|
171
170
|
return message;
|
|
@@ -208,6 +207,17 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
208
207
|
const internalModelContext = view.getBindingContext("internal");
|
|
209
208
|
(internalModelContext as any)?.setProperty("OPMessageStripVisibility", false);
|
|
210
209
|
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* This function will take the recommendation data details, transform it and update internal model with that.
|
|
213
|
+
*
|
|
214
|
+
* @param data Recommendation data for the app
|
|
215
|
+
* @private
|
|
216
|
+
*/
|
|
217
|
+
setRecommendations(data: InCompletenessInfoType) {
|
|
218
|
+
recommendationHelper.transformRecommendationsForInternalStorage(data);
|
|
219
|
+
(this._view.getModel("internal") as JSONModel).setProperty("/recommendationsData", data);
|
|
220
|
+
}
|
|
211
221
|
}
|
|
212
222
|
|
|
213
223
|
export default ObjectPageExtensionAPI;
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
>
|
|
27
27
|
<template:with path="entitySet>./" var="entityType">
|
|
28
28
|
<template:with path="entityType>@com.sap.vocabularies.UI.v1.HeaderInfo" var="headerInfo">
|
|
29
|
-
<!-- OPLayout binding contains explicit $select for SAP__Messages or the path from
|
|
29
|
+
<!-- OPLayout binding contains explicit $select for SAP__Messages or the path from
|
|
30
|
+
@Common.Messages until model provides an alternative.
|
|
30
31
|
This is to enable side effects to request messages. -->
|
|
31
32
|
<uxap:ObjectPageLayout
|
|
32
33
|
id="fe::ObjectPage"
|
|
@@ -47,6 +48,9 @@
|
|
|
47
48
|
enableLazyLoading="true"
|
|
48
49
|
navigate=".handlers.onNavigateChange"
|
|
49
50
|
>
|
|
51
|
+
<uxap:landmarkInfo>
|
|
52
|
+
<uxap:ObjectPageAccessibleLandmarkInfo footerLabel="{sap.fe.i18n>T_COMMON_OBJECT_PAGE_FOOTER}" />
|
|
53
|
+
</uxap:landmarkInfo>
|
|
50
54
|
<uxap:dependents>
|
|
51
55
|
<control:CommandExecution execute="_executeTabShortCut" command="NextTab" />
|
|
52
56
|
<control:CommandExecution execute="_executeTabShortCut" command="PreviousTab" />
|