@sapui5/sap.fe.templates 1.111.1 → 1.112.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/ListComponent-dbg.js +1 -1
- package/src/sap/fe/templates/ListComponent.ts +2 -0
- package/src/sap/fe/templates/ListReport/Component-dbg.js +1 -1
- package/src/sap/fe/templates/ListReport/Component.ts +2 -0
- package/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +2 -1
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +3 -0
- package/src/sap/fe/templates/ListReport/LRMessageStrip-dbg.js +1 -1
- package/src/sap/fe/templates/ListReport/LRMessageStrip.ts +4 -0
- package/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +37 -32
- 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 +58 -52
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl-dbg.js +32 -8
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +1 -1
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js.map +1 -1
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.ts +38 -7
- package/src/sap/fe/templates/ListReport/manifest.json +1 -1
- package/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +47 -7
- 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 +49 -6
- package/src/sap/fe/templates/ListReport/view/fragments/MacroChart.fragment.xml +1 -1
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.block-dbg.js +122 -0
- package/src/sap/fe/templates/ListReport/view/fragments/{MultipleMode.fragment.js → MultipleMode.block.js} +3 -3
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.block.js.map +1 -0
- package/src/sap/fe/templates/ListReport/view/fragments/{MultipleMode.fragment.ts → MultipleMode.block.ts} +14 -15
- package/src/sap/fe/templates/ObjectPage/Component-dbg.js +11 -2
- package/src/sap/fe/templates/ObjectPage/Component.js +1 -1
- package/src/sap/fe/templates/ObjectPage/Component.js.map +1 -1
- package/src/sap/fe/templates/ObjectPage/Component.ts +12 -0
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +8 -12
- 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 +9 -12
- package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +3 -2
- package/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +38 -90
- 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 +65 -104
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating-dbg.js +44 -146
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +1 -1
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js.map +1 -1
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +60 -185
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.block-dbg.js +145 -0
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.block.js +6 -0
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.block.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/components/{DraftHandlerButton.tsx → DraftHandlerButton.block.tsx} +15 -12
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +1 -1
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.ts +1 -0
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock-dbg.js +2 -1
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js.map +1 -1
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +5 -0
- package/src/sap/fe/templates/ObjectPage/manifest.json +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js.map +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +4 -3
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block-dbg.js +257 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block.js +6 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block.tsx +280 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +8 -33
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +144 -112
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionEmbeddedComponent.fragment.xml +24 -0
- package/src/sap/fe/templates/library-dbg.js +6 -5
- package/src/sap/fe/templates/library-preload.js +26 -22
- 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/library.js.map +1 -1
- package/src/sap/fe/templates/library.ts +6 -4
- package/src/sap/fe/templates/manifest.json +1 -1
- package/src/sap/fe/templates/messagebundle.properties +5 -0
- package/src/sap/fe/templates/messagebundle_ar.properties +3 -0
- package/src/sap/fe/templates/messagebundle_bg.properties +3 -0
- package/src/sap/fe/templates/messagebundle_ca.properties +3 -0
- package/src/sap/fe/templates/messagebundle_cs.properties +3 -0
- package/src/sap/fe/templates/messagebundle_cy.properties +3 -0
- package/src/sap/fe/templates/messagebundle_da.properties +3 -0
- package/src/sap/fe/templates/messagebundle_de.properties +3 -0
- package/src/sap/fe/templates/messagebundle_el.properties +3 -0
- package/src/sap/fe/templates/messagebundle_en.properties +5 -0
- package/src/sap/fe/templates/messagebundle_en_GB.properties +3 -0
- package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +3 -0
- package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +3 -0
- package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +3 -0
- package/src/sap/fe/templates/messagebundle_es.properties +5 -2
- package/src/sap/fe/templates/messagebundle_es_MX.properties +3 -0
- package/src/sap/fe/templates/messagebundle_et.properties +5 -2
- package/src/sap/fe/templates/messagebundle_fi.properties +3 -0
- package/src/sap/fe/templates/messagebundle_fr.properties +3 -0
- package/src/sap/fe/templates/messagebundle_fr_CA.properties +3 -0
- package/src/sap/fe/templates/messagebundle_hi.properties +3 -0
- package/src/sap/fe/templates/messagebundle_hr.properties +3 -0
- package/src/sap/fe/templates/messagebundle_hu.properties +3 -0
- package/src/sap/fe/templates/messagebundle_id.properties +3 -0
- package/src/sap/fe/templates/messagebundle_it.properties +3 -0
- package/src/sap/fe/templates/messagebundle_iw.properties +3 -0
- package/src/sap/fe/templates/messagebundle_ja.properties +3 -0
- package/src/sap/fe/templates/messagebundle_kk.properties +3 -0
- package/src/sap/fe/templates/messagebundle_ko.properties +3 -0
- package/src/sap/fe/templates/messagebundle_lt.properties +3 -0
- package/src/sap/fe/templates/messagebundle_lv.properties +3 -0
- package/src/sap/fe/templates/messagebundle_ms.properties +3 -0
- package/src/sap/fe/templates/messagebundle_nl.properties +3 -0
- package/src/sap/fe/templates/messagebundle_no.properties +3 -0
- package/src/sap/fe/templates/messagebundle_pl.properties +3 -0
- package/src/sap/fe/templates/messagebundle_pt.properties +3 -0
- package/src/sap/fe/templates/messagebundle_pt_PT.properties +3 -0
- package/src/sap/fe/templates/messagebundle_ro.properties +5 -2
- package/src/sap/fe/templates/messagebundle_ru.properties +3 -0
- package/src/sap/fe/templates/messagebundle_sh.properties +5 -2
- package/src/sap/fe/templates/messagebundle_sk.properties +3 -0
- package/src/sap/fe/templates/messagebundle_sl.properties +3 -0
- package/src/sap/fe/templates/messagebundle_sv.properties +3 -0
- package/src/sap/fe/templates/messagebundle_th.properties +5 -2
- package/src/sap/fe/templates/messagebundle_tr.properties +3 -0
- package/src/sap/fe/templates/messagebundle_uk.properties +3 -0
- package/src/sap/fe/templates/messagebundle_vi.properties +5 -2
- package/src/sap/fe/templates/messagebundle_zh_CN.properties +5 -2
- package/src/sap/fe/templates/messagebundle_zh_TW.properties +3 -0
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode-dbg.fragment.js +0 -123
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js.map +0 -1
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton-dbg.js +0 -147
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.js +0 -6
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.js.map +0 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +0 -125
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +0 -199
|
@@ -47,13 +47,13 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
47
47
|
oSideEffectsService = oAppComponent.getSideEffectsService(),
|
|
48
48
|
oMetaModel = oBindingContext.getModel().getMetaModel(),
|
|
49
49
|
oSideEffects = {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
targetProperties: [],
|
|
51
|
+
targetEntities: []
|
|
52
52
|
};
|
|
53
53
|
let aPaths, sPath, sBaseEntitySet, sKind;
|
|
54
54
|
if (vPath === undefined || vPath === null) {
|
|
55
55
|
// we just add an empty path which should refresh the page with all dependent bindings
|
|
56
|
-
oSideEffects.
|
|
56
|
+
oSideEffects.targetEntities.push({
|
|
57
57
|
$NavigationPropertyPath: ""
|
|
58
58
|
});
|
|
59
59
|
} else {
|
|
@@ -63,26 +63,22 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
63
63
|
sPath = aPaths[i];
|
|
64
64
|
if (sPath === "") {
|
|
65
65
|
// an empty path shall refresh the entity without dependencies which means * for the model
|
|
66
|
-
oSideEffects.
|
|
67
|
-
$PropertyPath: "*"
|
|
68
|
-
});
|
|
66
|
+
oSideEffects.targetProperties.push("*");
|
|
69
67
|
} else {
|
|
70
68
|
sKind = oMetaModel.getObject(`/${sBaseEntitySet}/${sPath}/$kind`);
|
|
71
69
|
if (sKind === "NavigationProperty") {
|
|
72
|
-
oSideEffects.
|
|
70
|
+
oSideEffects.targetEntities.push({
|
|
73
71
|
$NavigationPropertyPath: sPath
|
|
74
72
|
});
|
|
75
73
|
} else if (sKind) {
|
|
76
|
-
oSideEffects.
|
|
77
|
-
$PropertyPath: sPath
|
|
78
|
-
});
|
|
74
|
+
oSideEffects.targetProperties.push(sPath);
|
|
79
75
|
} else {
|
|
80
76
|
return Promise.reject(`${sPath} is not a valid path to be refreshed`);
|
|
81
77
|
}
|
|
82
78
|
}
|
|
83
79
|
}
|
|
84
80
|
}
|
|
85
|
-
return oSideEffectsService.requestSideEffects(oSideEffects.
|
|
81
|
+
return oSideEffectsService.requestSideEffects([...oSideEffects.targetEntities, ...oSideEffects.targetProperties], oBindingContext);
|
|
86
82
|
}
|
|
87
83
|
|
|
88
84
|
/**
|
|
@@ -219,4 +215,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
219
215
|
}(ExtensionAPI)) || _class);
|
|
220
216
|
return ObjectPageExtensionAPI;
|
|
221
217
|
}, false);
|
|
222
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3RQYWdlRXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwidlBhdGgiLCJvQmluZGluZ0NvbnRleHQiLCJfdmlldyIsImdldEJpbmRpbmdDb250ZXh0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJvQXBwQ29tcG9uZW50IiwiQ29tbW9uVXRpbHMiLCJnZXRBcHBDb21wb25lbnQiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlIiwiZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlIiwib01ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwib1NpZGVFZmZlY3RzIiwiVGFyZ2V0UHJvcGVydGllcyIsIlRhcmdldEVudGl0aWVzIiwiYVBhdGhzIiwic1BhdGgiLCJzQmFzZUVudGl0eVNldCIsInNLaW5kIiwidW5kZWZpbmVkIiwicHVzaCIsIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoIiwiQXJyYXkiLCJpc0FycmF5IiwiX2NvbnRyb2xsZXIiLCJnZXRPd25lckNvbXBvbmVudCIsImdldEVudGl0eVNldCIsImkiLCJsZW5ndGgiLCIkUHJvcGVydHlQYXRoIiwiZ2V0T2JqZWN0IiwicmVqZWN0IiwicmVxdWVzdFNpZGVFZmZlY3RzIiwiY29uY2F0IiwiZ2V0U2VsZWN0ZWRDb250ZXh0cyIsInNUYWJsZUlkIiwib1RhYmxlIiwiYnlJZCIsImlzQSIsImdldENvbnRlbnQiLCJzaG93U2lkZUNvbnRlbnQiLCJzU3ViU2VjdGlvbktleSIsImJTaG93Iiwic0Jsb2NrSUQiLCJnZXRTaWRlQ29udGVudExheW91dElEIiwib0Jsb2NrIiwiYkJsb2NrU3RhdGUiLCJnZXRTaG93U2lkZUNvbnRlbnQiLCJzZXRTaG93U2lkZUNvbnRlbnQiLCJfYnVpbGRPUE1lc3NhZ2UiLCJtZXNzYWdlcyIsInZpZXciLCJyZXNvdXJjZUJ1bmRsZSIsImdldFJlc291cmNlQnVuZGxlIiwibWVzc2FnZSIsIm1lc3NhZ2VTdGF0cyIsIkVycm9yIiwiaWQiLCJjb3VudCIsIldhcm5pbmciLCJJbmZvcm1hdGlvbiIsInJlZHVjZSIsImFjYyIsImN1cnJlbnRWYWx1ZSIsImN1cnJlbnRUeXBlIiwiZ2V0VHlwZSIsInNldFR5cGUiLCJNZXNzYWdlIiwidHlwZSIsIk1lc3NhZ2VUeXBlIiwic2V0TWVzc2FnZSIsImdldFRleHQiLCJzaG93TWVzc2FnZXMiLCJpbnRlcm5hbE1vZGVsQ29udGV4dCIsInNldFByb3BlcnR5IiwiZ2V0TWVzc2FnZSIsIkludmlzaWJsZU1lc3NhZ2UiLCJnZXRJbnN0YW5jZSIsImFubm91bmNlIiwiSW52aXNpYmxlTWVzc2FnZU1vZGUiLCJBc3NlcnRpdmUiLCJoaWRlTWVzc2FnZSIsImVyciIsIkxvZyIsImVycm9yIiwiRXh0ZW5zaW9uQVBJIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJFeHRlbnNpb25BUEkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBnZXRTaWRlQ29udGVudExheW91dElEIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvaGVscGVycy9JRFwiO1xuaW1wb3J0IEV4dGVuc2lvbkFQSSBmcm9tIFwic2FwL2ZlL2NvcmUvRXh0ZW5zaW9uQVBJXCI7XG5pbXBvcnQgdHlwZSB7IEVuaGFuY2VXaXRoVUk1IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgVGFibGVBUEkgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGVBUElcIjtcbmltcG9ydCBJbnZpc2libGVNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9JbnZpc2libGVNZXNzYWdlXCI7XG5pbXBvcnQgeyBJbnZpc2libGVNZXNzYWdlTW9kZSwgTWVzc2FnZVR5cGUgfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IE1lc3NhZ2UgZnJvbSBcInNhcC91aS9jb3JlL21lc3NhZ2UvTWVzc2FnZVwiO1xuaW1wb3J0IHR5cGUgRHluYW1pY1NpZGVDb250ZW50IGZyb20gXCJzYXAvdWkvbGF5b3V0L0R5bmFtaWNTaWRlQ29udGVudFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvcmVzb3VyY2UvUmVzb3VyY2VNb2RlbFwiO1xuXG4vKipcbiAqIEV4dGVuc2lvbiBBUEkgZm9yIG9iamVjdCBwYWdlcyBvbiBTQVAgRmlvcmkgZWxlbWVudHMgZm9yIE9EYXRhIFY0LlxuICpcbiAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJXG4gKiBAcHVibGljXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAZmluYWxcbiAqIEBzaW5jZSAxLjc5LjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSVwiKVxuY2xhc3MgT2JqZWN0UGFnZUV4dGVuc2lvbkFQSSBleHRlbmRzIEV4dGVuc2lvbkFQSSB7XG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgZWl0aGVyIHRoZSB3aG9sZSBvYmplY3QgcGFnZSBvciBvbmx5IHBhcnRzIG9mIGl0LlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNyZWZyZXNoXG5cdCAqIEBwYXJhbSBbdlBhdGhdIFBhdGggb3IgYXJyYXkgb2YgcGF0aHMgcmVmZXJyaW5nIHRvIGVudGl0aWVzIG9yIHByb3BlcnRpZXMgdG8gYmUgcmVmcmVzaGVkLlxuXHQgKiBJZiBvbWl0dGVkLCB0aGUgd2hvbGUgb2JqZWN0IHBhZ2UgaXMgcmVmcmVzaGVkLiBUaGUgcGF0aCBcIlwiIHJlZnJlc2hlcyB0aGUgZW50aXR5IGFzc2lnbmVkIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiB3aXRob3V0IG5hdmlnYXRpb25zXG5cdCAqIEByZXR1cm5zIFJlc29sdmVkIG9uY2UgdGhlIGRhdGEgaXMgcmVmcmVzaGVkIG9yIHJlamVjdGVkIGlmIHRoZSByZXF1ZXN0IGZhaWxlZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRyZWZyZXNoKHZQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuX3ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdGlmICghb0JpbmRpbmdDb250ZXh0KSB7XG5cdFx0XHQvLyBub3RoaW5nIHRvIGJlIHJlZnJlc2hlZCAtIGRvIG5vdCBibG9jayB0aGUgYXBwIVxuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuX3ZpZXcpLFxuXHRcdFx0b1NpZGVFZmZlY3RzU2VydmljZSA9IG9BcHBDb21wb25lbnQuZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlKCksXG5cdFx0XHRvTWV0YU1vZGVsID0gb0JpbmRpbmdDb250ZXh0LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRvU2lkZUVmZmVjdHM6IGFueSA9IHtcblx0XHRcdFx0VGFyZ2V0UHJvcGVydGllczogW10sXG5cdFx0XHRcdFRhcmdldEVudGl0aWVzOiBbXVxuXHRcdFx0fTtcblx0XHRsZXQgYVBhdGhzLCBzUGF0aCwgc0Jhc2VFbnRpdHlTZXQsIHNLaW5kO1xuXG5cdFx0aWYgKHZQYXRoID09PSB1bmRlZmluZWQgfHwgdlBhdGggPT09IG51bGwpIHtcblx0XHRcdC8vIHdlIGp1c3QgYWRkIGFuIGVtcHR5IHBhdGggd2hpY2ggc2hvdWxkIHJlZnJlc2ggdGhlIHBhZ2Ugd2l0aCBhbGwgZGVwZW5kZW50IGJpbmRpbmdzXG5cdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0RW50aXRpZXMucHVzaCh7XG5cdFx0XHRcdCROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBcIlwiXG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YVBhdGhzID0gQXJyYXkuaXNBcnJheSh2UGF0aCkgPyB2UGF0aCA6IFt2UGF0aF07XG5cdFx0XHRzQmFzZUVudGl0eVNldCA9ICh0aGlzLl9jb250cm9sbGVyLmdldE93bmVyQ29tcG9uZW50KCkgYXMgYW55KS5nZXRFbnRpdHlTZXQoKTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhUGF0aHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0c1BhdGggPSBhUGF0aHNbaV07XG5cdFx0XHRcdGlmIChzUGF0aCA9PT0gXCJcIikge1xuXHRcdFx0XHRcdC8vIGFuIGVtcHR5IHBhdGggc2hhbGwgcmVmcmVzaCB0aGUgZW50aXR5IHdpdGhvdXQgZGVwZW5kZW5jaWVzIHdoaWNoIG1lYW5zICogZm9yIHRoZSBtb2RlbFxuXHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRQcm9wZXJ0aWVzLnB1c2goe1xuXHRcdFx0XHRcdFx0JFByb3BlcnR5UGF0aDogXCIqXCJcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzS2luZCA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAvJHtzQmFzZUVudGl0eVNldH0vJHtzUGF0aH0vJGtpbmRgKTtcblxuXHRcdFx0XHRcdGlmIChzS2luZCA9PT0gXCJOYXZpZ2F0aW9uUHJvcGVydHlcIikge1xuXHRcdFx0XHRcdFx0b1NpZGVFZmZlY3RzLlRhcmdldEVudGl0aWVzLnB1c2goe1xuXHRcdFx0XHRcdFx0XHQkTmF2aWdhdGlvblByb3BlcnR5UGF0aDogc1BhdGhcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoc0tpbmQpIHtcblx0XHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRQcm9wZXJ0aWVzLnB1c2goe1xuXHRcdFx0XHRcdFx0XHQkUHJvcGVydHlQYXRoOiBzUGF0aFxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChgJHtzUGF0aH0gaXMgbm90IGEgdmFsaWQgcGF0aCB0byBiZSByZWZyZXNoZWRgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG9TaWRlRWZmZWN0c1NlcnZpY2UucmVxdWVzdFNpZGVFZmZlY3RzKG9TaWRlRWZmZWN0cy5UYXJnZXRFbnRpdGllcy5jb25jYXQob1NpZGVFZmZlY3RzLlRhcmdldFByb3BlcnRpZXMpLCBvQmluZGluZ0NvbnRleHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGxpc3QgZW50cmllcyBjdXJyZW50bHkgc2VsZWN0ZWQgZm9yIHRoZSB0YWJsZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjZ2V0U2VsZWN0ZWRDb250ZXh0c1xuXHQgKiBAcGFyYW0gc1RhYmxlSWQgVGhlIElEIGlkZW50aWZ5aW5nIHRoZSB0YWJsZSB0aGUgc2VsZWN0ZWQgY29udGV4dCBpcyByZXF1ZXN0ZWQgZm9yXG5cdCAqIEByZXR1cm5zIEFycmF5IGNvbnRhaW5pbmcgdGhlIHNlbGVjdGVkIGNvbnRleHRzXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGdldFNlbGVjdGVkQ29udGV4dHMoc1RhYmxlSWQ6IHN0cmluZykge1xuXHRcdGxldCBvVGFibGUgPSB0aGlzLl92aWV3LmJ5SWQoc1RhYmxlSWQpO1xuXHRcdGlmIChvVGFibGUgJiYgb1RhYmxlLmlzQShcInNhcC5mZS5tYWNyb3MudGFibGUuVGFibGVBUElcIikpIHtcblx0XHRcdG9UYWJsZSA9IChvVGFibGUgYXMgRW5oYW5jZVdpdGhVSTU8VGFibGVBUEk+KS5nZXRDb250ZW50KCk7XG5cdFx0fVxuXHRcdHJldHVybiAob1RhYmxlICYmIG9UYWJsZS5pc0EoXCJzYXAudWkubWRjLlRhYmxlXCIpICYmIChvVGFibGUgYXMgYW55KS5nZXRTZWxlY3RlZENvbnRleHRzKCkpIHx8IFtdO1xuXHR9XG5cblx0LyoqXG5cdCAqIERpc3BsYXlzIG9yIGhpZGVzIHRoZSBzaWRlIGNvbnRlbnQgb2YgYW4gb2JqZWN0IHBhZ2UuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI3Nob3dTaWRlQ29udGVudFxuXHQgKiBAcGFyYW0gc1N1YlNlY3Rpb25LZXkgS2V5IG9mIHRoZSBzaWRlIGNvbnRlbnQgZnJhZ21lbnQgYXMgZGVmaW5lZCBpbiB0aGUgbWFuaWZlc3QuanNvblxuXHQgKiBAcGFyYW0gW2JTaG93XSBPcHRpb25hbCBCb29sZWFuIGZsYWcgdG8gc2hvdyBvciBoaWRlIHRoZSBzaWRlIGNvbnRlbnRcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0c2hvd1NpZGVDb250ZW50KHNTdWJTZWN0aW9uS2V5OiBzdHJpbmcsIGJTaG93OiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG5cdFx0Y29uc3Qgc0Jsb2NrSUQgPSBnZXRTaWRlQ29udGVudExheW91dElEKHNTdWJTZWN0aW9uS2V5KSxcblx0XHRcdG9CbG9jayA9IHRoaXMuX3ZpZXcuYnlJZChzQmxvY2tJRCksXG5cdFx0XHRiQmxvY2tTdGF0ZSA9IGJTaG93ID09PSB1bmRlZmluZWQgPyAhKG9CbG9jayBhcyBEeW5hbWljU2lkZUNvbnRlbnQpLmdldFNob3dTaWRlQ29udGVudCgpIDogYlNob3c7XG5cdFx0KG9CbG9jayBhcyBEeW5hbWljU2lkZUNvbnRlbnQpLnNldFNob3dTaWRlQ29udGVudChiQmxvY2tTdGF0ZSwgZmFsc2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGJvdW5kIGNvbnRleHQgb2YgdGhlIGN1cnJlbnQgb2JqZWN0IHBhZ2UuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI2dldEJpbmRpbmdDb250ZXh0XG5cdCAqIEByZXR1cm5zIENvbnRleHQgYm91bmQgdG8gdGhlIG9iamVjdCBwYWdlXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGdldEJpbmRpbmdDb250ZXh0KCkge1xuXHRcdHJldHVybiB0aGlzLl92aWV3LmdldEJpbmRpbmdDb250ZXh0KCk7XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGQgYSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZCBiZWxvdyB0aGUgYW5jaG9yIGJhci5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjX2J1aWxkT1BNZXNzYWdlXG5cdCAqIEBwYXJhbSB7c2FwLnVpLmNvcmUubWVzc2FnZS5NZXNzYWdlW119IG1lc3NhZ2VzIEFycmF5IG9mIG1lc3NhZ2VzIHVzZWQgdG8gZ2VuZXJhdGVkIHRoZSBtZXNzYWdlXG5cdCAqIEByZXR1cm5zIHtQcm9taXNlPE1lc3NhZ2U+fSBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBtZXNzYWdlXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRhc3luYyBfYnVpbGRPUE1lc3NhZ2UobWVzc2FnZXM6IE1lc3NhZ2VbXSk6IFByb21pc2U8TWVzc2FnZSB8IG51bGw+IHtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5fdmlldztcblx0XHRjb25zdCByZXNvdXJjZUJ1bmRsZSA9IGF3YWl0ICh2aWV3LmdldE1vZGVsKFwic2FwLmZlLmkxOG5cIikgYXMgUmVzb3VyY2VNb2RlbCkuZ2V0UmVzb3VyY2VCdW5kbGUoKTtcblx0XHRsZXQgbWVzc2FnZTogTWVzc2FnZSB8IG51bGwgPSBudWxsO1xuXHRcdHN3aXRjaCAobWVzc2FnZXMubGVuZ3RoKSB7XG5cdFx0XHRjYXNlIDA6XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAxOlxuXHRcdFx0XHRtZXNzYWdlID0gbWVzc2FnZXNbMF07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0Y29uc3QgbWVzc2FnZVN0YXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuXHRcdFx0XHRcdEVycm9yOiB7IGlkOiAyLCBjb3VudDogMCB9LFxuXHRcdFx0XHRcdFdhcm5pbmc6IHsgaWQ6IDEsIGNvdW50OiAwIH0sXG5cdFx0XHRcdFx0SW5mb3JtYXRpb246IHsgaWQ6IDAsIGNvdW50OiAwIH1cblx0XHRcdFx0fTtcblx0XHRcdFx0bWVzc2FnZSA9IG1lc3NhZ2VzLnJlZHVjZSgoYWNjLCBjdXJyZW50VmFsdWUpID0+IHtcblx0XHRcdFx0XHRjb25zdCBjdXJyZW50VHlwZSA9IGN1cnJlbnRWYWx1ZS5nZXRUeXBlKCk7XG5cdFx0XHRcdFx0YWNjLnNldFR5cGUobWVzc2FnZVN0YXRzW2N1cnJlbnRUeXBlXS5pZCA+IG1lc3NhZ2VTdGF0c1thY2MuZ2V0VHlwZSgpXS5pZCA/IGN1cnJlbnRUeXBlIDogYWNjLmdldFR5cGUoKSk7XG5cdFx0XHRcdFx0bWVzc2FnZVN0YXRzW2N1cnJlbnRUeXBlXS5jb3VudCsrO1xuXHRcdFx0XHRcdHJldHVybiBhY2M7XG5cdFx0XHRcdH0sIG5ldyBNZXNzYWdlKHsgdHlwZTogTWVzc2FnZVR5cGUuSW5mb3JtYXRpb24gfSkpO1xuXG5cdFx0XHRcdGlmIChtZXNzYWdlU3RhdHMuRXJyb3IuY291bnQgPT09IDAgJiYgbWVzc2FnZVN0YXRzLldhcm5pbmcuY291bnQgPT09IDAgJiYgbWVzc2FnZVN0YXRzLkluZm9ybWF0aW9uLmNvdW50ID4gMCkge1xuXHRcdFx0XHRcdG1lc3NhZ2Uuc2V0TWVzc2FnZShyZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiT0JKRUNUUEFHRVNUQVRFX0lORk9STUFUSU9OXCIpKTtcblx0XHRcdFx0fSBlbHNlIGlmICgobWVzc2FnZVN0YXRzLkVycm9yLmNvdW50ID4gMCAmJiBtZXNzYWdlU3RhdHMuV2FybmluZy5jb3VudCA+IDApIHx8IG1lc3NhZ2VTdGF0cy5JbmZvcm1hdGlvbi5jb3VudCA+IDApIHtcblx0XHRcdFx0XHRtZXNzYWdlLnNldE1lc3NhZ2UocmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk9CSkVDVFBBR0VTVEFURV9JU1NVRVwiKSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0bWVzc2FnZS5zZXRNZXNzYWdlKFxuXHRcdFx0XHRcdFx0cmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcblx0XHRcdFx0XHRcdFx0bWVzc2FnZS5nZXRUeXBlKCkgPT09IE1lc3NhZ2VUeXBlLkVycm9yID8gXCJPQkpFQ1RQQUdFU1RBVEVfRVJST1JcIiA6IFwiT0JKRUNUUEFHRVNUQVRFX1dBUk5JTkdcIlxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG1lc3NhZ2U7XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGxheXMgdGhlIG1lc3NhZ2Ugc3RyaXAgYmV0d2VlbiB0aGUgdGl0bGUgYW5kIHRoZSBoZWFkZXIgb2YgdGhlIE9iamVjdFBhZ2UuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI3Nob3dNZXNzYWdlc1xuXHQgKiBAcGFyYW0ge3NhcC51aS5jb3JlLm1lc3NhZ2UuTWVzc2FnZX0gbWVzc2FnZXMgVGhlIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cblx0YXN5bmMgc2hvd01lc3NhZ2VzKG1lc3NhZ2VzOiBNZXNzYWdlW10pIHtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5fdmlldztcblx0XHRjb25zdCBpbnRlcm5hbE1vZGVsQ29udGV4dCA9IHZpZXcuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKTtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGF3YWl0IHRoaXMuX2J1aWxkT1BNZXNzYWdlKG1lc3NhZ2VzKTtcblx0XHRcdGlmIChtZXNzYWdlKSB7XG5cdFx0XHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVmlzaWJpbGl0eVwiLCB0cnVlKTtcblx0XHRcdFx0KGludGVybmFsTW9kZWxDb250ZXh0IGFzIGFueSk/LnNldFByb3BlcnR5KFwiT1BNZXNzYWdlU3RyaXBUZXh0XCIsIG1lc3NhZ2UuZ2V0TWVzc2FnZSgpKTtcblx0XHRcdFx0KGludGVybmFsTW9kZWxDb250ZXh0IGFzIGFueSk/LnNldFByb3BlcnR5KFwiT1BNZXNzYWdlU3RyaXBUeXBlXCIsIG1lc3NhZ2UuZ2V0VHlwZSgpKTtcblx0XHRcdFx0SW52aXNpYmxlTWVzc2FnZS5nZXRJbnN0YW5jZSgpLmFubm91bmNlKG1lc3NhZ2UuZ2V0TWVzc2FnZSgpLCBJbnZpc2libGVNZXNzYWdlTW9kZS5Bc3NlcnRpdmUpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5oaWRlTWVzc2FnZSgpO1xuXHRcdFx0fVxuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0TG9nLmVycm9yKFwiQ2Fubm90IGRpc3BsYXkgT2JqZWN0UGFnZSBtZXNzYWdlXCIpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBIaWRlcyB0aGUgbWVzc2FnZSBzdHJpcCBiZWxvdyB0aGUgYW5jaG9yIGJhci5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjaGlkZU1lc3NhZ2Vcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0aGlkZU1lc3NhZ2UoKSB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgaW50ZXJuYWxNb2RlbENvbnRleHQgPSB2aWV3LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIik7XG5cdFx0KGludGVybmFsTW9kZWxDb250ZXh0IGFzIGFueSk/LnNldFByb3BlcnR5KFwiT1BNZXNzYWdlU3RyaXBWaXNpYmlsaXR5XCIsIGZhbHNlKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBPYmplY3RQYWdlRXh0ZW5zaW9uQVBJO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztFQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQVJBLElBVU1BLHNCQUFzQixXQUQzQkMsY0FBYyxDQUFDLDBDQUEwQyxDQUFDO0lBQUE7SUFBQTtNQUFBO0lBQUE7SUFBQTtJQUUxRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQVRDLE9BVUFDLE9BQU8sR0FBUCxpQkFBUUMsS0FBb0MsRUFBRTtNQUM3QyxNQUFNQyxlQUFlLEdBQUcsSUFBSSxDQUFDQyxLQUFLLENBQUNDLGlCQUFpQixFQUFhO01BQ2pFLElBQUksQ0FBQ0YsZUFBZSxFQUFFO1FBQ3JCO1FBQ0EsT0FBT0csT0FBTyxDQUFDQyxPQUFPLEVBQUU7TUFDekI7TUFDQSxNQUFNQyxhQUFhLEdBQUdDLFdBQVcsQ0FBQ0MsZUFBZSxDQUFDLElBQUksQ0FBQ04sS0FBSyxDQUFDO1FBQzVETyxtQkFBbUIsR0FBR0gsYUFBYSxDQUFDSSxxQkFBcUIsRUFBRTtRQUMzREMsVUFBVSxHQUFHVixlQUFlLENBQUNXLFFBQVEsRUFBRSxDQUFDQyxZQUFZLEVBQUU7UUFDdERDLFlBQWlCLEdBQUc7VUFDbkJDLGdCQUFnQixFQUFFLEVBQUU7VUFDcEJDLGNBQWMsRUFBRTtRQUNqQixDQUFDO01BQ0YsSUFBSUMsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLGNBQWMsRUFBRUMsS0FBSztNQUV4QyxJQUFJcEIsS0FBSyxLQUFLcUIsU0FBUyxJQUFJckIsS0FBSyxLQUFLLElBQUksRUFBRTtRQUMxQztRQUNBYyxZQUFZLENBQUNFLGNBQWMsQ0FBQ00sSUFBSSxDQUFDO1VBQ2hDQyx1QkFBdUIsRUFBRTtRQUMxQixDQUFDLENBQUM7TUFDSCxDQUFDLE1BQU07UUFDTk4sTUFBTSxH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
|
|
218
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3RQYWdlRXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwidlBhdGgiLCJvQmluZGluZ0NvbnRleHQiLCJfdmlldyIsImdldEJpbmRpbmdDb250ZXh0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJvQXBwQ29tcG9uZW50IiwiQ29tbW9uVXRpbHMiLCJnZXRBcHBDb21wb25lbnQiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlIiwiZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlIiwib01ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwib1NpZGVFZmZlY3RzIiwidGFyZ2V0UHJvcGVydGllcyIsInRhcmdldEVudGl0aWVzIiwiYVBhdGhzIiwic1BhdGgiLCJzQmFzZUVudGl0eVNldCIsInNLaW5kIiwidW5kZWZpbmVkIiwicHVzaCIsIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoIiwiQXJyYXkiLCJpc0FycmF5IiwiX2NvbnRyb2xsZXIiLCJnZXRPd25lckNvbXBvbmVudCIsImdldEVudGl0eVNldCIsImkiLCJsZW5ndGgiLCJnZXRPYmplY3QiLCJyZWplY3QiLCJyZXF1ZXN0U2lkZUVmZmVjdHMiLCJnZXRTZWxlY3RlZENvbnRleHRzIiwic1RhYmxlSWQiLCJvVGFibGUiLCJieUlkIiwiaXNBIiwiZ2V0Q29udGVudCIsInNob3dTaWRlQ29udGVudCIsInNTdWJTZWN0aW9uS2V5IiwiYlNob3ciLCJzQmxvY2tJRCIsImdldFNpZGVDb250ZW50TGF5b3V0SUQiLCJvQmxvY2siLCJiQmxvY2tTdGF0ZSIsImdldFNob3dTaWRlQ29udGVudCIsInNldFNob3dTaWRlQ29udGVudCIsIl9idWlsZE9QTWVzc2FnZSIsIm1lc3NhZ2VzIiwidmlldyIsInJlc291cmNlQnVuZGxlIiwiZ2V0UmVzb3VyY2VCdW5kbGUiLCJtZXNzYWdlIiwibWVzc2FnZVN0YXRzIiwiRXJyb3IiLCJpZCIsImNvdW50IiwiV2FybmluZyIsIkluZm9ybWF0aW9uIiwicmVkdWNlIiwiYWNjIiwiY3VycmVudFZhbHVlIiwiY3VycmVudFR5cGUiLCJnZXRUeXBlIiwic2V0VHlwZSIsIk1lc3NhZ2UiLCJ0eXBlIiwiTWVzc2FnZVR5cGUiLCJzZXRNZXNzYWdlIiwiZ2V0VGV4dCIsInNob3dNZXNzYWdlcyIsImludGVybmFsTW9kZWxDb250ZXh0Iiwic2V0UHJvcGVydHkiLCJnZXRNZXNzYWdlIiwiSW52aXNpYmxlTWVzc2FnZSIsImdldEluc3RhbmNlIiwiYW5ub3VuY2UiLCJJbnZpc2libGVNZXNzYWdlTW9kZSIsIkFzc2VydGl2ZSIsImhpZGVNZXNzYWdlIiwiZXJyIiwiTG9nIiwiZXJyb3IiLCJFeHRlbnNpb25BUEkiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IGdldFNpZGVDb250ZW50TGF5b3V0SUQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0lEXCI7XG5pbXBvcnQgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCB0eXBlIHsgRW5oYW5jZVdpdGhVSTUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBTaWRlRWZmZWN0c1RhcmdldFR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvU2lkZUVmZmVjdHNTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHR5cGUgVGFibGVBUEkgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGVBUElcIjtcbmltcG9ydCBJbnZpc2libGVNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9JbnZpc2libGVNZXNzYWdlXCI7XG5pbXBvcnQgeyBJbnZpc2libGVNZXNzYWdlTW9kZSwgTWVzc2FnZVR5cGUgfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IE1lc3NhZ2UgZnJvbSBcInNhcC91aS9jb3JlL21lc3NhZ2UvTWVzc2FnZVwiO1xuaW1wb3J0IHR5cGUgRHluYW1pY1NpZGVDb250ZW50IGZyb20gXCJzYXAvdWkvbGF5b3V0L0R5bmFtaWNTaWRlQ29udGVudFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvcmVzb3VyY2UvUmVzb3VyY2VNb2RlbFwiO1xuXG4vKipcbiAqIEV4dGVuc2lvbiBBUEkgZm9yIG9iamVjdCBwYWdlcyBvbiBTQVAgRmlvcmkgZWxlbWVudHMgZm9yIE9EYXRhIFY0LlxuICpcbiAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJXG4gKiBAcHVibGljXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAZmluYWxcbiAqIEBzaW5jZSAxLjc5LjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSVwiKVxuY2xhc3MgT2JqZWN0UGFnZUV4dGVuc2lvbkFQSSBleHRlbmRzIEV4dGVuc2lvbkFQSSB7XG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgZWl0aGVyIHRoZSB3aG9sZSBvYmplY3QgcGFnZSBvciBvbmx5IHBhcnRzIG9mIGl0LlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNyZWZyZXNoXG5cdCAqIEBwYXJhbSBbdlBhdGhdIFBhdGggb3IgYXJyYXkgb2YgcGF0aHMgcmVmZXJyaW5nIHRvIGVudGl0aWVzIG9yIHByb3BlcnRpZXMgdG8gYmUgcmVmcmVzaGVkLlxuXHQgKiBJZiBvbWl0dGVkLCB0aGUgd2hvbGUgb2JqZWN0IHBhZ2UgaXMgcmVmcmVzaGVkLiBUaGUgcGF0aCBcIlwiIHJlZnJlc2hlcyB0aGUgZW50aXR5IGFzc2lnbmVkIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiB3aXRob3V0IG5hdmlnYXRpb25zXG5cdCAqIEByZXR1cm5zIFJlc29sdmVkIG9uY2UgdGhlIGRhdGEgaXMgcmVmcmVzaGVkIG9yIHJlamVjdGVkIGlmIHRoZSByZXF1ZXN0IGZhaWxlZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRyZWZyZXNoKHZQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuX3ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdGlmICghb0JpbmRpbmdDb250ZXh0KSB7XG5cdFx0XHQvLyBub3RoaW5nIHRvIGJlIHJlZnJlc2hlZCAtIGRvIG5vdCBibG9jayB0aGUgYXBwIVxuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuX3ZpZXcpLFxuXHRcdFx0b1NpZGVFZmZlY3RzU2VydmljZSA9IG9BcHBDb21wb25lbnQuZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlKCksXG5cdFx0XHRvTWV0YU1vZGVsID0gb0JpbmRpbmdDb250ZXh0LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRvU2lkZUVmZmVjdHM6IFNpZGVFZmZlY3RzVGFyZ2V0VHlwZSA9IHtcblx0XHRcdFx0dGFyZ2V0UHJvcGVydGllczogW10sXG5cdFx0XHRcdHRhcmdldEVudGl0aWVzOiBbXVxuXHRcdFx0fTtcblx0XHRsZXQgYVBhdGhzLCBzUGF0aCwgc0Jhc2VFbnRpdHlTZXQsIHNLaW5kO1xuXG5cdFx0aWYgKHZQYXRoID09PSB1bmRlZmluZWQgfHwgdlBhdGggPT09IG51bGwpIHtcblx0XHRcdC8vIHdlIGp1c3QgYWRkIGFuIGVtcHR5IHBhdGggd2hpY2ggc2hvdWxkIHJlZnJlc2ggdGhlIHBhZ2Ugd2l0aCBhbGwgZGVwZW5kZW50IGJpbmRpbmdzXG5cdFx0XHRvU2lkZUVmZmVjdHMudGFyZ2V0RW50aXRpZXMucHVzaCh7XG5cdFx0XHRcdCROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBcIlwiXG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YVBhdGhzID0gQXJyYXkuaXNBcnJheSh2UGF0aCkgPyB2UGF0aCA6IFt2UGF0aF07XG5cdFx0XHRzQmFzZUVudGl0eVNldCA9ICh0aGlzLl9jb250cm9sbGVyLmdldE93bmVyQ29tcG9uZW50KCkgYXMgYW55KS5nZXRFbnRpdHlTZXQoKTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhUGF0aHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0c1BhdGggPSBhUGF0aHNbaV07XG5cdFx0XHRcdGlmIChzUGF0aCA9PT0gXCJcIikge1xuXHRcdFx0XHRcdC8vIGFuIGVtcHR5IHBhdGggc2hhbGwgcmVmcmVzaCB0aGUgZW50aXR5IHdpdGhvdXQgZGVwZW5kZW5jaWVzIHdoaWNoIG1lYW5zICogZm9yIHRoZSBtb2RlbFxuXHRcdFx0XHRcdG9TaWRlRWZmZWN0cy50YXJnZXRQcm9wZXJ0aWVzLnB1c2goXCIqXCIpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNLaW5kID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYC8ke3NCYXNlRW50aXR5U2V0fS8ke3NQYXRofS8ka2luZGApO1xuXG5cdFx0XHRcdFx0aWYgKHNLaW5kID09PSBcIk5hdmlnYXRpb25Qcm9wZXJ0eVwiKSB7XG5cdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHMudGFyZ2V0RW50aXRpZXMucHVzaCh7XG5cdFx0XHRcdFx0XHRcdCROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBzUGF0aFxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChzS2luZCkge1xuXHRcdFx0XHRcdFx0b1NpZGVFZmZlY3RzLnRhcmdldFByb3BlcnRpZXMucHVzaChzUGF0aCk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChgJHtzUGF0aH0gaXMgbm90IGEgdmFsaWQgcGF0aCB0byBiZSByZWZyZXNoZWRgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG9TaWRlRWZmZWN0c1NlcnZpY2UucmVxdWVzdFNpZGVFZmZlY3RzKFsuLi5vU2lkZUVmZmVjdHMudGFyZ2V0RW50aXRpZXMsIC4uLm9TaWRlRWZmZWN0cy50YXJnZXRQcm9wZXJ0aWVzXSwgb0JpbmRpbmdDb250ZXh0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsaXN0IGVudHJpZXMgY3VycmVudGx5IHNlbGVjdGVkIGZvciB0aGUgdGFibGUuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI2dldFNlbGVjdGVkQ29udGV4dHNcblx0ICogQHBhcmFtIHNUYWJsZUlkIFRoZSBJRCBpZGVudGlmeWluZyB0aGUgdGFibGUgdGhlIHNlbGVjdGVkIGNvbnRleHQgaXMgcmVxdWVzdGVkIGZvclxuXHQgKiBAcmV0dXJucyBBcnJheSBjb250YWluaW5nIHRoZSBzZWxlY3RlZCBjb250ZXh0c1xuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRTZWxlY3RlZENvbnRleHRzKHNUYWJsZUlkOiBzdHJpbmcpIHtcblx0XHRsZXQgb1RhYmxlID0gdGhpcy5fdmlldy5ieUlkKHNUYWJsZUlkKTtcblx0XHRpZiAob1RhYmxlICYmIG9UYWJsZS5pc0EoXCJzYXAuZmUubWFjcm9zLnRhYmxlLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRvVGFibGUgPSAob1RhYmxlIGFzIEVuaGFuY2VXaXRoVUk1PFRhYmxlQVBJPikuZ2V0Q29udGVudCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKG9UYWJsZSAmJiBvVGFibGUuaXNBKFwic2FwLnVpLm1kYy5UYWJsZVwiKSAmJiAob1RhYmxlIGFzIGFueSkuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyBvciBoaWRlcyB0aGUgc2lkZSBjb250ZW50IG9mIGFuIG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93U2lkZUNvbnRlbnRcblx0ICogQHBhcmFtIHNTdWJTZWN0aW9uS2V5IEtleSBvZiB0aGUgc2lkZSBjb250ZW50IGZyYWdtZW50IGFzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0Lmpzb25cblx0ICogQHBhcmFtIFtiU2hvd10gT3B0aW9uYWwgQm9vbGVhbiBmbGFnIHRvIHNob3cgb3IgaGlkZSB0aGUgc2lkZSBjb250ZW50XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHNob3dTaWRlQ29udGVudChzU3ViU2VjdGlvbktleTogc3RyaW5nLCBiU2hvdzogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IHNCbG9ja0lEID0gZ2V0U2lkZUNvbnRlbnRMYXlvdXRJRChzU3ViU2VjdGlvbktleSksXG5cdFx0XHRvQmxvY2sgPSB0aGlzLl92aWV3LmJ5SWQoc0Jsb2NrSUQpLFxuXHRcdFx0YkJsb2NrU3RhdGUgPSBiU2hvdyA9PT0gdW5kZWZpbmVkID8gIShvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5nZXRTaG93U2lkZUNvbnRlbnQoKSA6IGJTaG93O1xuXHRcdChvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5zZXRTaG93U2lkZUNvbnRlbnQoYkJsb2NrU3RhdGUsIGZhbHNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBib3VuZCBjb250ZXh0IG9mIHRoZSBjdXJyZW50IG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNnZXRCaW5kaW5nQ29udGV4dFxuXHQgKiBAcmV0dXJucyBDb250ZXh0IGJvdW5kIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRCaW5kaW5nQ29udGV4dCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkIGEgbWVzc2FnZSB0byBiZSBkaXNwbGF5ZWQgYmVsb3cgdGhlIGFuY2hvciBiYXIuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI19idWlsZE9QTWVzc2FnZVxuXHQgKiBAcGFyYW0ge3NhcC51aS5jb3JlLm1lc3NhZ2UuTWVzc2FnZVtdfSBtZXNzYWdlcyBBcnJheSBvZiBtZXNzYWdlcyB1c2VkIHRvIGdlbmVyYXRlZCB0aGUgbWVzc2FnZVxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZTxNZXNzYWdlPn0gUHJvbWlzZSBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgbWVzc2FnZVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0YXN5bmMgX2J1aWxkT1BNZXNzYWdlKG1lc3NhZ2VzOiBNZXNzYWdlW10pOiBQcm9taXNlPE1lc3NhZ2UgfCBudWxsPiB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgcmVzb3VyY2VCdW5kbGUgPSBhd2FpdCAodmlldy5nZXRNb2RlbChcInNhcC5mZS5pMThuXCIpIGFzIFJlc291cmNlTW9kZWwpLmdldFJlc291cmNlQnVuZGxlKCk7XG5cdFx0bGV0IG1lc3NhZ2U6IE1lc3NhZ2UgfCBudWxsID0gbnVsbDtcblx0XHRzd2l0Y2ggKG1lc3NhZ2VzLmxlbmd0aCkge1xuXHRcdFx0Y2FzZSAwOlxuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgMTpcblx0XHRcdFx0bWVzc2FnZSA9IG1lc3NhZ2VzWzBdO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGNvbnN0IG1lc3NhZ2VTdGF0czogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHtcblx0XHRcdFx0XHRFcnJvcjogeyBpZDogMiwgY291bnQ6IDAgfSxcblx0XHRcdFx0XHRXYXJuaW5nOiB7IGlkOiAxLCBjb3VudDogMCB9LFxuXHRcdFx0XHRcdEluZm9ybWF0aW9uOiB7IGlkOiAwLCBjb3VudDogMCB9XG5cdFx0XHRcdH07XG5cdFx0XHRcdG1lc3NhZ2UgPSBtZXNzYWdlcy5yZWR1Y2UoKGFjYywgY3VycmVudFZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgY3VycmVudFR5cGUgPSBjdXJyZW50VmFsdWUuZ2V0VHlwZSgpO1xuXHRcdFx0XHRcdGFjYy5zZXRUeXBlKG1lc3NhZ2VTdGF0c1tjdXJyZW50VHlwZV0uaWQgPiBtZXNzYWdlU3RhdHNbYWNjLmdldFR5cGUoKV0uaWQgPyBjdXJyZW50VHlwZSA6IGFjYy5nZXRUeXBlKCkpO1xuXHRcdFx0XHRcdG1lc3NhZ2VTdGF0c1tjdXJyZW50VHlwZV0uY291bnQrKztcblx0XHRcdFx0XHRyZXR1cm4gYWNjO1xuXHRcdFx0XHR9LCBuZXcgTWVzc2FnZSh7IHR5cGU6IE1lc3NhZ2VUeXBlLkluZm9ybWF0aW9uIH0pKTtcblxuXHRcdFx0XHRpZiAobWVzc2FnZVN0YXRzLkVycm9yLmNvdW50ID09PSAwICYmIG1lc3NhZ2VTdGF0cy5XYXJuaW5nLmNvdW50ID09PSAwICYmIG1lc3NhZ2VTdGF0cy5JbmZvcm1hdGlvbi5jb3VudCA+IDApIHtcblx0XHRcdFx0XHRtZXNzYWdlLnNldE1lc3NhZ2UocmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk9CSkVDVFBBR0VTVEFURV9JTkZPUk1BVElPTlwiKSk7XG5cdFx0XHRcdH0gZWxzZSBpZiAoKG1lc3NhZ2VTdGF0cy5FcnJvci5jb3VudCA+IDAgJiYgbWVzc2FnZVN0YXRzLldhcm5pbmcuY291bnQgPiAwKSB8fCBtZXNzYWdlU3RhdHMuSW5mb3JtYXRpb24uY291bnQgPiAwKSB7XG5cdFx0XHRcdFx0bWVzc2FnZS5zZXRNZXNzYWdlKHJlc291cmNlQnVuZGxlLmdldFRleHQoXCJPQkpFQ1RQQUdFU1RBVEVfSVNTVUVcIikpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdG1lc3NhZ2Uuc2V0TWVzc2FnZShcblx0XHRcdFx0XHRcdHJlc291cmNlQnVuZGxlLmdldFRleHQoXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2UuZ2V0VHlwZSgpID09PSBNZXNzYWdlVHlwZS5FcnJvciA/IFwiT0JKRUNUUEFHRVNUQVRFX0VSUk9SXCIgOiBcIk9CSkVDVFBBR0VTVEFURV9XQVJOSU5HXCJcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBtZXNzYWdlO1xuXHR9XG5cblx0LyoqXG5cdCAqIERpc3BsYXlzIHRoZSBtZXNzYWdlIHN0cmlwIGJldHdlZW4gdGhlIHRpdGxlIGFuZCB0aGUgaGVhZGVyIG9mIHRoZSBPYmplY3RQYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93TWVzc2FnZXNcblx0ICogQHBhcmFtIHtzYXAudWkuY29yZS5tZXNzYWdlLk1lc3NhZ2V9IG1lc3NhZ2VzIFRoZSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXG5cdGFzeW5jIHNob3dNZXNzYWdlcyhtZXNzYWdlczogTWVzc2FnZVtdKSB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgaW50ZXJuYWxNb2RlbENvbnRleHQgPSB2aWV3LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIik7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCB0aGlzLl9idWlsZE9QTWVzc2FnZShtZXNzYWdlcyk7XG5cdFx0XHRpZiAobWVzc2FnZSkge1xuXHRcdFx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFZpc2liaWxpdHlcIiwgdHJ1ZSk7XG5cdFx0XHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVGV4dFwiLCBtZXNzYWdlLmdldE1lc3NhZ2UoKSk7XG5cdFx0XHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVHlwZVwiLCBtZXNzYWdlLmdldFR5cGUoKSk7XG5cdFx0XHRcdEludmlzaWJsZU1lc3NhZ2UuZ2V0SW5zdGFuY2UoKS5hbm5vdW5jZShtZXNzYWdlLmdldE1lc3NhZ2UoKSwgSW52aXNpYmxlTWVzc2FnZU1vZGUuQXNzZXJ0aXZlKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuaGlkZU1lc3NhZ2UoKTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdExvZy5lcnJvcihcIkNhbm5vdCBkaXNwbGF5IE9iamVjdFBhZ2UgbWVzc2FnZVwiKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogSGlkZXMgdGhlIG1lc3NhZ2Ugc3RyaXAgYmVsb3cgdGhlIGFuY2hvciBiYXIuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI2hpZGVNZXNzYWdlXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGhpZGVNZXNzYWdlKCkge1xuXHRcdGNvbnN0IHZpZXcgPSB0aGlzLl92aWV3O1xuXHRcdGNvbnN0IGludGVybmFsTW9kZWxDb250ZXh0ID0gdmlldy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpO1xuXHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVmlzaWJpbGl0eVwiLCBmYWxzZSk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgT2JqZWN0UGFnZUV4dGVuc2lvbkFQSTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7RUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFSQSxJQVVNQSxzQkFBc0IsV0FEM0JDLGNBQWMsQ0FBQywwQ0FBMEMsQ0FBQztJQUFBO0lBQUE7TUFBQTtJQUFBO0lBQUE7SUFFMUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFUQyxPQVVBQyxPQUFPLEdBQVAsaUJBQVFDLEtBQW9DLEVBQUU7TUFDN0MsTUFBTUMsZUFBZSxHQUFHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxpQkFBaUIsRUFBYTtNQUNqRSxJQUFJLENBQUNGLGVBQWUsRUFBRTtRQUNyQjtRQUNBLE9BQU9HLE9BQU8sQ0FBQ0MsT0FBTyxFQUFFO01BQ3pCO01BQ0EsTUFBTUMsYUFBYSxHQUFHQyxXQUFXLENBQUNDLGVBQWUsQ0FBQyxJQUFJLENBQUNOLEtBQUssQ0FBQztRQUM1RE8sbUJBQW1CLEdBQUdILGFBQWEsQ0FBQ0kscUJBQXFCLEVBQUU7UUFDM0RDLFVBQVUsR0FBR1YsZUFBZSxDQUFDVyxRQUFRLEVBQUUsQ0FBQ0MsWUFBWSxFQUFFO1FBQ3REQyxZQUFtQyxHQUFHO1VBQ3JDQyxnQkFBZ0IsRUFBRSxFQUFFO1VBQ3BCQyxjQUFjLEVBQUU7UUFDakIsQ0FBQztNQUNGLElBQUlDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxjQUFjLEVBQUVDLEtBQUs7TUFFeEMsSUFBSXBCLEtBQUssS0FBS3FCLFNBQVMsSUFBSXJCLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDMUM7UUFDQWMsWUFBWSxDQUFDRSxjQUFjLENBQUNNLElBQUksQ0FBQztVQUNoQ0MsdUJBQXVCLEVBQUU7UUFDMUIsQ0FBQyxDQUFDO01BQ0gsQ0FBQyxNQUFNO1FBQ05OLE1BQU0sR0FBR08sS0FBSyxDQUFDQyxPQUFPLENBQUN6QixLQUFLLENBQUMsR0FBR0EsS0FBSyxHQUFHLENBQUNBLEtBQUssQ0FBQztRQUMvQ21CLGNBQWMsR0FBSSxJQUFJLENBQUNPLFdBQVcsQ0FBQ0MsaUJBQWlCLEVBQUUsQ0FBU0MsWUFBWSxFQUFFO1FBRTdFLEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHWixNQUFNLENBQUNhLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7VUFDdkNYLEtBQUssR0FBR0QsTUFBTSxDQUFDWSxDQUFDLENBQUM7VUFDakIsSUFBSVgsS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNqQjtZQUNBSixZQUFZLENBQUNDLGdCQUFnQixDQUFDTyxJQUFJLENBQUMsR0FBRyxDQUFDO1VBQ3hDLENBQUMsTUFBTTtZQUNORixLQUFLLEdBQUdULFVBQVUsQ0FBQ29CLFNBQVMsQ0FBRSxJQUFHWixjQUFlLElBQUdELEtBQU0sUUFBTyxDQUFDO1lBRWpFLElBQUlFLEtBQUssS0FBSyxvQkFBb0IsRUFBRTtjQUNuQ04sWUFBWSxDQUFDRSxjQUFjLENBQUNNLElBQUksQ0FBQztnQkFDaENDLHVCQUF1QixFQUFFTDtjQUMxQixDQUFDLENBQUM7WUFDSCxDQUFDLE1BQU0sSUFBSUUsS0FBSyxFQUFFO2NBQ2pCTixZQUFZLENBQUNDLGdCQUFnQixDQUFDTyxJQUFJLENBQUNKLEtBQUssQ0FBQztZQUMxQyxDQUFDLE1BQU07Y0FDTixPQUFPZCxPQUFPLENBQUM0QixNQUFNLENBQUUsR0FBRWQsS0FBTSxzQ0FBcUMsQ0FBQztZQUN0RTtVQUNEO1FBQ0Q7TUFDRDtNQUNBLE9BQU9ULG1CQUFtQixDQUFDd0Isa0JBQWtCLENBQUMsQ0FBQyxHQUFHbkIsWUFBWSxDQUFDRSxjQUFjLEVBQUUsR0FBR0YsWUFBWSxDQUFDQyxnQkFBZ0IsQ0FBQyxFQUFFZCxlQUFlLENBQUM7SUFDbkk7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQVBDO0lBQUEsT0FRQWlDLG1CQUFtQixHQUFuQiw2QkFBb0JDLFFBQWdCLEVBQUU7TUFDckMsSUFBSUMsTUFBTSxHQUFHLElBQUksQ0FBQ2xDLEtBQUssQ0FBQ21DLElBQUksQ0FBQ0YsUUFBUSxDQUFDO01BQ3RDLElBQUlDLE1BQU0sSUFBSUEsTUFBTSxDQUFDRSxHQUFHLENBQUMsOEJBQThCLENBQUMsRUFBRTtRQUN6REYsTUFBTSxHQUFJQSxNQUFNLENBQThCRyxVQUFVLEVBQUU7TUFDM0Q7TUFDQSxPQUFRSCxNQUFNLElBQUlBLE1BQU0sQ0FBQ0UsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUtGLE1BQU0sQ0FBU0YsbUJBQW1CLEVBQUUsSUFBSyxFQUFFO0lBQ2pHOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FQQztJQUFBLE9BUUFNLGVBQWUsR0FBZix5QkFBZ0JDLGNBQXNCLEVBQUVDLEtBQTBCLEVBQUU7TUFDbkUsTUFBTUMsUUFBUSxHQUFHQyxzQkFBc0IsQ0FBQ0gsY0FBYyxDQUFDO1FBQ3RESSxNQUFNLEdBQUcsSUFBSSxDQUFDM0MsS0FBSyxDQUFDbUMsSUFBSSxDQUFDTSxRQUFRLENBQUM7UUFDbENHLFdBQVcsR0FBR0osS0FBSyxLQUFLckIsU0FBUyxHQUFHLENBQUV3QixNQUFNLENBQXdCRSxrQkFBa0IsRUFBRSxHQUFHTCxLQUFLO01BQ2hHRyxNQUFNLENBQXdCRyxrQkFBa0IsQ0FBQ0YsV0FBVyxFQUFFLEtBQUssQ0FBQztJQUN0RTs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQU5DO0lBQUEsT0FPQTNDLGlCQUFpQixHQUFqQiw2QkFBb0I7TUFDbkIsT0FBTyxJQUFJLENBQUNELEtBQUssQ0FBQ0MsaUJBQWlCLEVBQUU7SUFDdEM7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQVBDO0lBQUEsT0FRTThDLGVBQWUsR0FBckIsK0JBQXNCQyxRQUFtQixFQUEyQjtNQUNuRSxNQUFNQyxJQUFJLEdBQUcsSUFBSSxDQUFDakQsS0FBSztNQUN2QixNQUFNa0QsY0FBYyxHQUFHLE1BQU9ELElBQUksQ0FBQ3ZDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBbUJ5QyxpQkFBaUIsRUFBRTtNQUNoRyxJQUFJQyxPQUF1QixHQUFHLElBQUk7TUFDbEMsUUFBUUosUUFBUSxDQUFDcEIsTUFBTTtRQUN0QixLQUFLLENBQUM7VUFDTDtRQUNELEtBQUssQ0FBQztVQUNMd0IsT0FBTyxHQUFHSixRQUFRLENBQUMsQ0FBQyxDQUFDO1VBQ3JCO1FBQ0Q7VUFDQyxNQUFNSyxZQUFvQyxHQUFHO1lBQzVDQyxLQUFLLEVBQUU7Y0FBRUMsRUFBRSxFQUFFLENBQUM7Y0FBRUMsS0FBSyxFQUFFO1lBQUUsQ0FBQztZQUMxQkMsT0FBTyxFQUFFO2NBQUVGLEVBQUUsRUFBRSxDQUFDO2NBQUVDLEtBQUssRUFBRTtZQUFFLENBQUM7WUFDNUJFLFdBQVcsRUFBRTtjQUFFSCxFQUFFLEVBQUUsQ0FBQztjQUFFQyxLQUFLLEVBQUU7WUFBRTtVQUNoQyxDQUFDO1VBQ0RKLE9BQU8sR0FBR0osUUFBUSxDQUFDVyxNQUFNLENBQUMsQ0FBQ0MsR0FBRyxFQUFFQyxZQUFZLEtBQUs7WUFDaEQsTUFBTUMsV0FBVyxHQUFHRCxZQUFZLENBQUNFLE9BQU8sRUFBRTtZQUMxQ0gsR0FBRyxDQUFDSSxPQUFPLENBQUNYLFlBQVksQ0FBQ1MsV0FBVyxDQUFDLENBQUNQLEVBQUUsR0FBR0YsWUFBWSxDQUFDTyxHQUFHLENBQUNHLE9BQU8sRUFBRSxDQUFDLENBQUNSLEVBQUUsR0FBR08sV0FBVyxHQUFHRixHQUFHLENBQUNHLE9BQU8sRUFBRSxDQUFDO1lBQ3hHVixZQUFZLENBQUNTLFdBQVcsQ0FBQyxDQUFDTixLQUFLLEVBQUU7WUFDakMsT0FBT0ksR0FBRztVQUNYLENBQUMsRUFBRSxJQUFJSyxPQUFPLENBQUM7WUFBRUMsSUFBSSxFQUFFQyxXQUFXLENBQUNUO1VBQVksQ0FBQyxDQUFDLENBQUM7VUFFbEQsSUFBSUwsWUFBWSxDQUFDQyxLQUFLLENBQUNFLEtBQUssS0FBSyxDQUFDLElBQUlILFlBQVksQ0FBQ0ksT0FBTyxDQUFDRCxLQUFLLEtBQUssQ0FBQyxJQUFJSCxZQUFZLENBQUNLLFdBQVcsQ0FBQ0YsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUM3R0osT0FBTyxDQUFDZ0IsVUFBVSxDQUFDbEIsY0FBYyxDQUFDbUIsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQUM7VUFDMUUsQ0FBQyxNQUFNLElBQUtoQixZQUFZLENBQUNDLEtBQUssQ0FBQ0UsS0FBSyxHQUFHLENBQUMsSUFBSUgsWUFBWSxDQUFDSSxPQUFPLENBQUNELEtBQUssR0FBRyxDQUFDLElBQUtILFlBQVksQ0FBQ0ssV0FBVyxDQUFDRixLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2xISixPQUFPLENBQUNnQixVQUFVLENBQUNsQixjQUFjLENBQUNtQixPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztVQUNwRSxDQUFDLE1BQU07WUFDTmpCLE9BQU8sQ0FBQ2dCLFVBQVUsQ0FDakJsQixjQUFjLENBQUNtQixPQUFPLENBQ3JCakIsT0FBTyxDQUFDVyxPQUFPLEVBQUUsS0FBS0ksV0FBVyxDQUFDYixLQUFLLEdBQUcsdUJBQXVCLEdBQUcseUJBQXlCLENBQzdGLENBQ0Q7VUFDRjtNQUFDO01BRUgsT0FBT0YsT0FBTztJQUNmOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BTkM7SUFBQSxPQVFNa0IsWUFBWSxHQUFsQiw0QkFBbUJ0QixRQUFtQixFQUFFO01BQ3ZDLE1BQU1DLElBQUksR0FBRyxJQUFJLENBQUNqRCxLQUFLO01BQ3ZCLE1BQU11RSxvQkFBb0IsR0FBR3RCLElBQUksQ0FBQ2hELGlCQUFpQixDQUFDLFVBQVUsQ0FBQztNQUMvRCxJQUFJO1FBQ0gsTUFBTW1ELE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQ0wsZUFBZSxDQUFDQyxRQUFRLENBQUM7UUFDcEQsSUFBSUksT0FBTyxFQUFFO1VBQ1htQixvQkFBb0IsYUFBcEJBLG9CQUFvQix1QkFBcEJBLG9CQUFvQixDQUFVQyxXQUFXLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDO1VBQzNFRCxvQkFBb0IsYUFBcEJBLG9CQUFvQix1QkFBcEJBLG9CQUFvQixDQUFVQyxXQUFXLENBQUMsb0JBQW9CLEVBQUVwQixPQUFPLENBQUNxQixVQUFVLEVBQUUsQ0FBQztVQUNyRkYsb0JBQW9CLGFBQXBCQSxvQkFBb0IsdUJBQXBCQSxvQkFBb0IsQ0FBVUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFcEIsT0FBTyxDQUFDVyxPQUFPLEVBQUUsQ0FBQztVQUNuRlcsZ0JBQWdCLENBQUNDLFdBQVcsRUFBRSxDQUFDQyxRQUFRLENBQUN4QixPQUFPLENBQUNxQixVQUFVLEVBQUUsRUFBRUksb0JBQW9CLENBQUNDLFNBQVMsQ0FBQztRQUM5RixDQUFDLE1BQU07VUFDTixJQUFJLENBQUNDLFdBQVcsRUFBRTtRQUNuQjtNQUNELENBQUMsQ0FBQyxPQUFPQyxHQUFHLEVBQUU7UUFDYkMsR0FBRyxDQUFDQyxLQUFLLENBQUMsbUNBQW1DLENBQUM7TUFDL0M7SUFDRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FMQztJQUFBLE9BTUFILFdBQVcsR0FBWCx1QkFBYztNQUNiLE1BQU05QixJQUFJLEdBQUcsSUFBSSxDQUFDakQsS0FBSztNQUN2QixNQUFNdUUsb0JBQW9CLEdBQUd0QixJQUFJLENBQUNoRCxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7TUFDOURzRSxvQkFBb0IsYUFBcEJBLG9CQUFvQix1QkFBcEJBLG9CQUFvQixDQUFVQyxXQUFXLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDO0lBQzlFLENBQUM7SUFBQTtFQUFBLEVBdExtQ1csWUFBWTtFQUFBLE9BeUxsQ3hGLHNCQUFzQjtBQUFBIn0=
|
|
@@ -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,n,
|
|
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,n,i,r,o,a){"use strict";var g,c;var p=o.MessageType;var u=o.InvisibleMessageMode;var l=i.defineUI5Class;var d=s.getSideContentLayoutID;function f(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;y(e,t)}function y(e,t){y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,s){t.__proto__=s;return t};return y(e,t)}let h=(g=l("sap.fe.templates.ObjectPage.ExtensionAPI"),g(c=function(s){f(n,s);function n(){return s.apply(this,arguments)||this}var i=n.prototype;i.refresh=function e(s){const n=this._view.getBindingContext();if(!n){return Promise.resolve()}const i=t.getAppComponent(this._view),r=i.getSideEffectsService(),o=n.getModel().getMetaModel(),a={targetProperties:[],targetEntities:[]};let g,c,p,u;if(s===undefined||s===null){a.targetEntities.push({$NavigationPropertyPath:""})}else{g=Array.isArray(s)?s:[s];p=this._controller.getOwnerComponent().getEntitySet();for(let e=0;e<g.length;e++){c=g[e];if(c===""){a.targetProperties.push("*")}else{u=o.getObject(`/${p}/${c}/$kind`);if(u==="NavigationProperty"){a.targetEntities.push({$NavigationPropertyPath:c})}else if(u){a.targetProperties.push(c)}else{return Promise.reject(`${c} is not a valid path to be refreshed`)}}}}return r.requestSideEffects([...a.targetEntities,...a.targetProperties],n)};i.getSelectedContexts=function e(t){let s=this._view.byId(t);if(s&&s.isA("sap.fe.macros.table.TableAPI")){s=s.getContent()}return s&&s.isA("sap.ui.mdc.Table")&&s.getSelectedContexts()||[]};i.showSideContent=function e(t,s){const n=d(t),i=this._view.byId(n),r=s===undefined?!i.getShowSideContent():s;i.setShowSideContent(r,false)};i.getBindingContext=function e(){return this._view.getBindingContext()};i._buildOPMessage=async function e(t){const s=this._view;const n=await s.getModel("sap.fe.i18n").getResourceBundle();let i=null;switch(t.length){case 0:break;case 1:i=t[0];break;default:const e={Error:{id:2,count:0},Warning:{id:1,count:0},Information:{id:0,count:0}};i=t.reduce((t,s)=>{const n=s.getType();t.setType(e[n].id>e[t.getType()].id?n:t.getType());e[n].count++;return t},new a({type:p.Information}));if(e.Error.count===0&&e.Warning.count===0&&e.Information.count>0){i.setMessage(n.getText("OBJECTPAGESTATE_INFORMATION"))}else if(e.Error.count>0&&e.Warning.count>0||e.Information.count>0){i.setMessage(n.getText("OBJECTPAGESTATE_ISSUE"))}else{i.setMessage(n.getText(i.getType()===p.Error?"OBJECTPAGESTATE_ERROR":"OBJECTPAGESTATE_WARNING"))}}return i};i.showMessages=async function t(s){const n=this._view;const i=n.getBindingContext("internal");try{const e=await this._buildOPMessage(s);if(e){i===null||i===void 0?void 0:i.setProperty("OPMessageStripVisibility",true);i===null||i===void 0?void 0:i.setProperty("OPMessageStripText",e.getMessage());i===null||i===void 0?void 0:i.setProperty("OPMessageStripType",e.getType());r.getInstance().announce(e.getMessage(),u.Assertive)}else{this.hideMessage()}}catch(t){e.error("Cannot display ObjectPage message")}};i.hideMessage=function e(){const t=this._view;const s=t.getBindingContext("internal");s===null||s===void 0?void 0:s.setProperty("OPMessageStripVisibility",false)};return n}(n))||c);return h},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","
|
|
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","resourceBundle","getResourceBundle","message","messageStats","Error","id","count","Warning","Information","reduce","acc","currentValue","currentType","getType","setType","type","setMessage","getText","showMessages","internalModelContext","setProperty","getMessage","getInstance","announce","Assertive","hideMessage","err","error"],"sources":["ExtensionAPI-dbg.js"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ 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 { SideEffectsTargetType } from "sap/fe/core/services/SideEffectsServiceFactory";
|
|
7
8
|
import type TableAPI from "sap/fe/macros/table/TableAPI";
|
|
8
9
|
import InvisibleMessage from "sap/ui/core/InvisibleMessage";
|
|
9
10
|
import { InvisibleMessageMode, MessageType } from "sap/ui/core/library";
|
|
@@ -42,15 +43,15 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
42
43
|
const oAppComponent = CommonUtils.getAppComponent(this._view),
|
|
43
44
|
oSideEffectsService = oAppComponent.getSideEffectsService(),
|
|
44
45
|
oMetaModel = oBindingContext.getModel().getMetaModel(),
|
|
45
|
-
oSideEffects:
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
oSideEffects: SideEffectsTargetType = {
|
|
47
|
+
targetProperties: [],
|
|
48
|
+
targetEntities: []
|
|
48
49
|
};
|
|
49
50
|
let aPaths, sPath, sBaseEntitySet, sKind;
|
|
50
51
|
|
|
51
52
|
if (vPath === undefined || vPath === null) {
|
|
52
53
|
// we just add an empty path which should refresh the page with all dependent bindings
|
|
53
|
-
oSideEffects.
|
|
54
|
+
oSideEffects.targetEntities.push({
|
|
54
55
|
$NavigationPropertyPath: ""
|
|
55
56
|
});
|
|
56
57
|
} else {
|
|
@@ -61,27 +62,23 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
|
|
|
61
62
|
sPath = aPaths[i];
|
|
62
63
|
if (sPath === "") {
|
|
63
64
|
// an empty path shall refresh the entity without dependencies which means * for the model
|
|
64
|
-
oSideEffects.
|
|
65
|
-
$PropertyPath: "*"
|
|
66
|
-
});
|
|
65
|
+
oSideEffects.targetProperties.push("*");
|
|
67
66
|
} else {
|
|
68
67
|
sKind = oMetaModel.getObject(`/${sBaseEntitySet}/${sPath}/$kind`);
|
|
69
68
|
|
|
70
69
|
if (sKind === "NavigationProperty") {
|
|
71
|
-
oSideEffects.
|
|
70
|
+
oSideEffects.targetEntities.push({
|
|
72
71
|
$NavigationPropertyPath: sPath
|
|
73
72
|
});
|
|
74
73
|
} else if (sKind) {
|
|
75
|
-
oSideEffects.
|
|
76
|
-
$PropertyPath: sPath
|
|
77
|
-
});
|
|
74
|
+
oSideEffects.targetProperties.push(sPath);
|
|
78
75
|
} else {
|
|
79
76
|
return Promise.reject(`${sPath} is not a valid path to be refreshed`);
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
80
|
}
|
|
84
|
-
return oSideEffectsService.requestSideEffects(oSideEffects.
|
|
81
|
+
return oSideEffectsService.requestSideEffects([...oSideEffects.targetEntities, ...oSideEffects.targetProperties], oBindingContext);
|
|
85
82
|
}
|
|
86
83
|
|
|
87
84
|
/**
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
xmlns:uxap="sap.uxap"
|
|
8
8
|
xmlns="sap.m"
|
|
9
9
|
xmlns:control="sap.fe.core.controls"
|
|
10
|
+
xmlns:fragments="sap.fe.templates.ObjectPage.view.fragments"
|
|
10
11
|
xmlns:fe="sap.fe.templates.controls"
|
|
11
12
|
xmlns:dt="sap.ui.dt"
|
|
12
13
|
xmlns:fl="sap.ui.fl"
|
|
@@ -112,7 +113,7 @@
|
|
|
112
113
|
>
|
|
113
114
|
<internalMacro:ActionCommand
|
|
114
115
|
action="{footerAction>}"
|
|
115
|
-
onExecuteAction="{= OP.getPressExpressionForFooterAnnotationAction(${dataField
|
|
116
|
+
onExecuteAction="{= OP.getPressExpressionForFooterAnnotationAction(${dataField>@@UI.getDataModelObjectPath}, ${entitySet>@sapui.name}, ${footerAction>}) }"
|
|
116
117
|
onExecuteIBN="{footerAction>press}"
|
|
117
118
|
onExecuteManifest="{= COMMON.buildActionWrapper(${footerAction>})}"
|
|
118
119
|
isIBNEnabled="{footerAction>enabled}"
|
|
@@ -206,7 +207,7 @@
|
|
|
206
207
|
<core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.Section" type="XML" />
|
|
207
208
|
</uxap:sections>
|
|
208
209
|
<uxap:footer>
|
|
209
|
-
<
|
|
210
|
+
<fragments:FooterContent id="fe::FooterBar" actions="{converterContext>/footerActions}" />
|
|
210
211
|
</uxap:footer>
|
|
211
212
|
</uxap:ObjectPageLayout>
|
|
212
213
|
</template:with>
|