@sapui5/sap.fe.templates 1.110.0 → 1.111.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.
Files changed (142) hide show
  1. package/package.json +2 -20
  2. package/src/sap/fe/templates/.library +1 -1
  3. package/src/sap/fe/templates/AnalyticalListPage/Component-dbg.js +21 -0
  4. package/src/sap/fe/templates/AnalyticalListPage/Component.js +3 -18
  5. package/src/sap/fe/templates/AnalyticalListPage/Component.js.map +1 -0
  6. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate-dbg.js +32 -0
  7. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +3 -29
  8. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js.map +1 -0
  9. package/src/sap/fe/templates/AnalyticalListPage/manifest.json +1 -1
  10. package/src/sap/fe/templates/ListComponent-dbg.js +146 -0
  11. package/src/sap/fe/templates/ListComponent.js +3 -143
  12. package/src/sap/fe/templates/ListComponent.js.map +1 -0
  13. package/src/sap/fe/templates/ListReport/Component-dbg.js +77 -0
  14. package/src/sap/fe/templates/ListReport/Component.js +3 -74
  15. package/src/sap/fe/templates/ListReport/Component.js.map +1 -0
  16. package/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +147 -0
  17. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +3 -144
  18. package/src/sap/fe/templates/ListReport/ExtensionAPI.js.map +1 -0
  19. package/src/sap/fe/templates/ListReport/LRMessageStrip-dbg.js +191 -0
  20. package/src/sap/fe/templates/ListReport/LRMessageStrip.js +3 -193
  21. package/src/sap/fe/templates/ListReport/LRMessageStrip.js.map +1 -0
  22. package/src/sap/fe/templates/ListReport/ListReport.view.xml +1 -0
  23. package/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +799 -0
  24. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +3 -832
  25. package/src/sap/fe/templates/ListReport/ListReportController.controller.js.map +1 -0
  26. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +6 -24
  27. package/src/sap/fe/templates/ListReport/ListReportTemplating-dbg.js +40 -0
  28. package/src/sap/fe/templates/ListReport/ListReportTemplating.js +3 -37
  29. package/src/sap/fe/templates/ListReport/ListReportTemplating.js.map +1 -0
  30. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl-dbg.js +375 -0
  31. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +3 -378
  32. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js.map +1 -0
  33. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.ts +10 -3
  34. package/src/sap/fe/templates/ListReport/manifest.json +1 -1
  35. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation-dbg.js +53 -0
  36. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +3 -50
  37. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js.map +1 -0
  38. package/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +109 -0
  39. package/src/sap/fe/templates/ListReport/overrides/Share.js +3 -107
  40. package/src/sap/fe/templates/ListReport/overrides/Share.js.map +1 -0
  41. package/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +481 -0
  42. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +3 -428
  43. package/src/sap/fe/templates/ListReport/overrides/ViewState.js.map +1 -0
  44. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +164 -32
  45. package/src/sap/fe/templates/ListReport/view/fragments/CustomView.fragment.xml +0 -3
  46. package/src/sap/fe/templates/ListReport/view/fragments/MacroChart.fragment.xml +2 -0
  47. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode-dbg.fragment.js +123 -0
  48. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +29 -63
  49. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js.map +1 -0
  50. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +2 -2
  51. package/src/sap/fe/templates/ObjectPage/Component-dbg.js +150 -0
  52. package/src/sap/fe/templates/ObjectPage/Component.js +3 -148
  53. package/src/sap/fe/templates/ObjectPage/Component.js.map +1 -0
  54. package/src/sap/fe/templates/ObjectPage/ExtendPageDefinition-dbg.js +57 -0
  55. package/src/sap/fe/templates/ObjectPage/ExtendPageDefinition.js +3 -61
  56. package/src/sap/fe/templates/ObjectPage/ExtendPageDefinition.js.map +1 -0
  57. package/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +222 -0
  58. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +3 -243
  59. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js.map +1 -0
  60. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +2 -2
  61. package/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +1413 -0
  62. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +3 -1534
  63. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js.map +1 -0
  64. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +11 -14
  65. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating-dbg.js +851 -0
  66. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +3 -851
  67. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js.map +1 -0
  68. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +14 -4
  69. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton-dbg.js +147 -0
  70. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.js +3 -144
  71. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.js.map +1 -0
  72. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.tsx +5 -6
  73. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +111 -0
  74. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +3 -108
  75. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js.map +1 -0
  76. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox-dbg.js +24 -0
  77. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +3 -21
  78. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js.map +1 -0
  79. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock-dbg.js +79 -0
  80. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +3 -76
  81. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js.map +1 -0
  82. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox-dbg.designtime.js +23 -0
  83. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +3 -20
  84. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js.map +1 -0
  85. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox-dbg.designtime.js +52 -0
  86. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +3 -49
  87. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js.map +1 -0
  88. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox-dbg.designtime.js +38 -0
  89. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +3 -35
  90. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js.map +1 -0
  91. package/src/sap/fe/templates/ObjectPage/flexibility/ScrollableHeaderContainer.flexibility-dbg.js +28 -0
  92. package/src/sap/fe/templates/ObjectPage/flexibility/ScrollableHeaderContainer.flexibility.js +3 -29
  93. package/src/sap/fe/templates/ObjectPage/flexibility/ScrollableHeaderContainer.flexibility.js.map +1 -0
  94. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility-dbg.js +19 -0
  95. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +3 -16
  96. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js.map +1 -0
  97. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility-dbg.js +15 -0
  98. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +3 -12
  99. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js.map +1 -0
  100. package/src/sap/fe/templates/ObjectPage/manifest.json +1 -1
  101. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation-dbg.js +54 -0
  102. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +3 -51
  103. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js.map +1 -0
  104. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting-dbg.js +36 -0
  105. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +3 -33
  106. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js.map +1 -0
  107. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler-dbg.js +16 -0
  108. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +3 -13
  109. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js.map +1 -0
  110. package/src/sap/fe/templates/ObjectPage/overrides/Paginator-dbg.js +27 -0
  111. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +3 -24
  112. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js.map +1 -0
  113. package/src/sap/fe/templates/ObjectPage/overrides/Share-dbg.js +276 -0
  114. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +3 -293
  115. package/src/sap/fe/templates/ObjectPage/overrides/Share.js.map +1 -0
  116. package/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +69 -0
  117. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +3 -63
  118. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js.map +1 -0
  119. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +3 -0
  120. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +2 -2
  121. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +1 -2
  122. package/src/sap/fe/templates/ObjectPage/view/fragments/MacroChart.fragment.xml +2 -0
  123. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderContact.fragment.xml +2 -2
  124. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +12 -1
  125. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +0 -2
  126. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +0 -2
  127. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +0 -2
  128. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionCustomSection.fragment.xml +2 -9
  129. package/src/sap/fe/templates/ObjectPage/view/fragments/SideContentCustomContainer.fragment.xml +1 -2
  130. package/src/sap/fe/templates/TableScroller-dbg.js +49 -0
  131. package/src/sap/fe/templates/TableScroller.js +3 -46
  132. package/src/sap/fe/templates/TableScroller.js.map +1 -0
  133. package/src/sap/fe/templates/designtime/library-preload.designtime.js +17 -0
  134. package/src/sap/fe/templates/designtime/library-preload.designtime.js.map +1 -0
  135. package/src/sap/fe/templates/library-dbg.js +66 -0
  136. package/src/sap/fe/templates/library-preload.js +236 -0
  137. package/src/sap/fe/templates/library-preload.js.map +1 -0
  138. package/src/sap/fe/templates/library.js +3 -56
  139. package/src/sap/fe/templates/library.js.map +1 -0
  140. package/src/sap/fe/templates/library.ts +4 -0
  141. package/src/sap/fe/templates/manifest.json +109 -0
  142. package/src/sap/fe/templates/messagebundle_fr.properties +1 -1
@@ -0,0 +1,191 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/ui/core/Core", "sap/ui/core/message/Message"], function (Core, Message) {
6
+ "use strict";
7
+
8
+ var _exports = {};
9
+ let LRMessageStrip = /*#__PURE__*/function () {
10
+ function LRMessageStrip() {
11
+ const messageManager = Core.getMessageManager();
12
+ this.customMessageInfo = {
13
+ messageManagerDataBinding: messageManager.getMessageModel().bindList("/"),
14
+ multiModeControlMessagesMap: {}
15
+ };
16
+ }
17
+ _exports.LRMessageStrip = LRMessageStrip;
18
+ var _proto = LRMessageStrip.prototype;
19
+ _proto.getCustomMessageInfo = function getCustomMessageInfo() {
20
+ return this.customMessageInfo;
21
+ };
22
+ _proto.destroy = function destroy() {
23
+ this.customMessageInfo.messageManagerDataBinding.detachChange(this._eventHandlerCustomMessage, this);
24
+ };
25
+ _proto._getMessagesWithSameTargetThanCustomMessage = function _getMessagesWithSameTargetThanCustomMessage() {
26
+ const messageManager = Core.getMessageManager();
27
+ return messageManager.getMessageModel().getData().filter(msg => {
28
+ var _this$customMessageIn;
29
+ return msg.getTargets()[0] === ((_this$customMessageIn = this.customMessageInfo.currentMessage) === null || _this$customMessageIn === void 0 ? void 0 : _this$customMessageIn.getTargets()[0]) && msg !== this.customMessageInfo.currentMessage;
30
+ });
31
+ }
32
+
33
+ /**
34
+ * MessageManager Event Handler responsible to add or remove the current customMessage.
35
+ *
36
+ * @alias sap.fe.core.helpers.LRMessageStrip#_eventHandlerCustomMessage
37
+ * @private
38
+ */;
39
+ _proto._eventHandlerCustomMessage = function _eventHandlerCustomMessage() {
40
+ const messageManager = Core.getMessageManager();
41
+ if (this.customMessageInfo.currentMessage) {
42
+ const aMessageWithSameTargetThanCustomMessage = this._getMessagesWithSameTargetThanCustomMessage();
43
+ const isCustomMessageInMessageManager = !!messageManager.getMessageModel().getData().find(msg => msg === this.customMessageInfo.currentMessage);
44
+ if (aMessageWithSameTargetThanCustomMessage.length > 0 && isCustomMessageInMessageManager) {
45
+ var _this$customMessageIn2;
46
+ //if there are other messages with the same message on the MessageManager and the customMessage
47
+ //then we need to remove the customeMessage from the MessageManager
48
+ messageManager.removeMessages([(_this$customMessageIn2 = this.customMessageInfo) === null || _this$customMessageIn2 === void 0 ? void 0 : _this$customMessageIn2.currentMessage]);
49
+ } else if (aMessageWithSameTargetThanCustomMessage.length === 0 && !isCustomMessageInMessageManager) {
50
+ messageManager.addMessages([this.customMessageInfo.currentMessage]);
51
+ }
52
+ }
53
+ }
54
+
55
+ /**
56
+ * This function manages the lifecycle of the custom message (populates the customMessageInfo object, attaches an event to the message manager and inserts a message).
57
+ *
58
+ * @param event Event object (optional).
59
+ * @param oData Parameters
60
+ * @param oData.message The LRCustomMessage to be used to generate the message object
61
+ * @param oData.table The table targeted by the message
62
+ * @param oData.skipMessageManagerUpdate Should skip to insert the message in the MessageManager
63
+ * @alias sap.fe.core.helpers.LRMessageStrip#createCustomMessage
64
+ * @private
65
+ */;
66
+ _proto.createCustomMessage = function createCustomMessage(event, oData) {
67
+ var _table$getRowBinding, _customMessageMap$tab;
68
+ const message = oData.message;
69
+ const table = oData.table;
70
+ const skipMessageManagerUpdate = oData.skipMessageManagerUpdate;
71
+ const rowBindingPath = (_table$getRowBinding = table.getRowBinding()) === null || _table$getRowBinding === void 0 ? void 0 : _table$getRowBinding.getPath();
72
+ const messageManager = Core.getMessageManager();
73
+ const customMessageMap = this.customMessageInfo.multiModeControlMessagesMap;
74
+ customMessageMap[table.getId()] = message;
75
+ if (!rowBindingPath) {
76
+ table.attachEventOnce("bindingUpdated", oData, this.createCustomMessage, this);
77
+ return;
78
+ }
79
+ if ((_customMessageMap$tab = customMessageMap[table.getId()]) !== null && _customMessageMap$tab !== void 0 && _customMessageMap$tab.onClose) {
80
+ var _customMessageMap$tab2;
81
+ table.getDataStateIndicator().detachEvent("close", (_customMessageMap$tab2 = customMessageMap[table.getId()]) === null || _customMessageMap$tab2 === void 0 ? void 0 : _customMessageMap$tab2.onClose, this);
82
+ }
83
+ const processor = table.getModel();
84
+ const oMessage = message ? new Message({
85
+ message: message.message,
86
+ type: message.type,
87
+ target: [rowBindingPath],
88
+ persistent: true,
89
+ processor
90
+ }) : null;
91
+ this.customMessageInfo.messageManagerDataBinding.detachChange(this._eventHandlerCustomMessage, this);
92
+ if (!skipMessageManagerUpdate) {
93
+ if (this.customMessageInfo.currentMessage) {
94
+ messageManager.removeMessages([this.customMessageInfo.currentMessage]);
95
+ }
96
+ if (oMessage) {
97
+ this.customMessageInfo.currentMessage = oMessage;
98
+ } else {
99
+ delete this.customMessageInfo.currentMessage;
100
+ }
101
+ if (oMessage && this._getMessagesWithSameTargetThanCustomMessage().length === 0) {
102
+ messageManager.addMessages([oMessage]);
103
+ }
104
+ }
105
+ this.customMessageInfo.messageManagerDataBinding.attachChange(this._eventHandlerCustomMessage, this);
106
+ this.attachDataStateIndicatorCloseEvent(table, customMessageMap, message === null || message === void 0 ? void 0 : message.onClose);
107
+ }
108
+
109
+ /**
110
+ * This function attaches the onClose event function to the dataStateIndicator.
111
+ *
112
+ * @param table The table associated with the dataStateIndicator
113
+ * @param customMessageMap The CustomMessageMap object
114
+ * @param fnOnClose A function to be attached to the "close" event
115
+ * @alias sap.fe.core.helpers.LRMessageStrip#attachDataStateIndicatorCloseEvent
116
+ * @private
117
+ */;
118
+ _proto.attachDataStateIndicatorCloseEvent = function attachDataStateIndicatorCloseEvent(table, customMessageMap, fnOnClose) {
119
+ if (fnOnClose) {
120
+ table.getDataStateIndicator().attachEventOnce("close", fnOnClose, this);
121
+ }
122
+ //When closing the the messageStrip, the associated message is removed
123
+ table.getDataStateIndicator().attachEventOnce("close", () => {
124
+ delete customMessageMap[table.getId()];
125
+ });
126
+ }
127
+
128
+ /**
129
+ * MultipleModeControl Event handler responsible for displaying the correct custom message when a specific tab is selected.
130
+ *
131
+ * @alias sap.fe.core.helpers.LRMessageStrip#onSelectMultipleModeControl
132
+ * @private
133
+ */;
134
+ _proto.onSelectMultipleModeControl = function onSelectMultipleModeControl(event, controller) {
135
+ const table = controller._getTable();
136
+ const message = this.customMessageInfo.multiModeControlMessagesMap[table.getId()];
137
+ this.createCustomMessage(null, {
138
+ message,
139
+ table
140
+ });
141
+ }
142
+
143
+ /**
144
+ * Provide an option for showing a custom message in the message bar above the list report table.
145
+ *
146
+ * @param {object} [message] Custom message along with the message type to be set on the table.
147
+ * @param {string} [message.message] Message string to be displayed.
148
+ * @param {sap.ui.core.MessageType} [message.type] Indicates the type of message.
149
+ * @param {ListReportController} [controller] Controller of the current view.
150
+ * @param {string[]|string} [tabKey] The entitySet identifying the table in which to display the custom message.
151
+ * @param {Function} [onClose] A function that is called when the user closes the message bar.
152
+ * @private
153
+ */;
154
+ _proto.showCustomMessage = function showCustomMessage(message, controller, tabKey, onClose) {
155
+ const _tabKey = Array.isArray(tabKey) ? tabKey : [tabKey];
156
+ const isMultiMode = controller._isMultiMode();
157
+ let table;
158
+ if (message) {
159
+ message.onClose = onClose;
160
+ }
161
+ if (isMultiMode) {
162
+ const multipleModeControl = controller._getMultiModeControl();
163
+ //we fisrt need to detach the select event to prevent multiple attachments.
164
+ multipleModeControl.detachEvent("select", this.onSelectMultipleModeControl, this);
165
+ multipleModeControl.attachEvent("select", controller, this.onSelectMultipleModeControl, this);
166
+ multipleModeControl.getAllInnerControls(true).forEach((innerControl, index) => {
167
+ if (innerControl.isA("sap.fe.macros.table.TableAPI")) {
168
+ if (!tabKey || _tabKey.indexOf(index.toString()) !== -1) {
169
+ table = innerControl.getContent();
170
+ this.createCustomMessage(null, {
171
+ message,
172
+ table,
173
+ skipMessageManagerUpdate: multipleModeControl.getSelectedInnerControl() !== innerControl
174
+ });
175
+ }
176
+ }
177
+ });
178
+ return;
179
+ }
180
+ table = controller._getTable();
181
+ this.createCustomMessage(null, {
182
+ message,
183
+ table
184
+ });
185
+ };
186
+ return LRMessageStrip;
187
+ }();
188
+ _exports.LRMessageStrip = LRMessageStrip;
189
+ return _exports;
190
+ }, false);
191
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMUk1lc3NhZ2VTdHJpcCIsIm1lc3NhZ2VNYW5hZ2VyIiwiQ29yZSIsImdldE1lc3NhZ2VNYW5hZ2VyIiwiY3VzdG9tTWVzc2FnZUluZm8iLCJtZXNzYWdlTWFuYWdlckRhdGFCaW5kaW5nIiwiZ2V0TWVzc2FnZU1vZGVsIiwiYmluZExpc3QiLCJtdWx0aU1vZGVDb250cm9sTWVzc2FnZXNNYXAiLCJnZXRDdXN0b21NZXNzYWdlSW5mbyIsImRlc3Ryb3kiLCJkZXRhY2hDaGFuZ2UiLCJfZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZSIsIl9nZXRNZXNzYWdlc1dpdGhTYW1lVGFyZ2V0VGhhbkN1c3RvbU1lc3NhZ2UiLCJnZXREYXRhIiwiZmlsdGVyIiwibXNnIiwiZ2V0VGFyZ2V0cyIsImN1cnJlbnRNZXNzYWdlIiwiYU1lc3NhZ2VXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlIiwiaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlciIsImZpbmQiLCJsZW5ndGgiLCJyZW1vdmVNZXNzYWdlcyIsImFkZE1lc3NhZ2VzIiwiY3JlYXRlQ3VzdG9tTWVzc2FnZSIsImV2ZW50Iiwib0RhdGEiLCJtZXNzYWdlIiwidGFibGUiLCJza2lwTWVzc2FnZU1hbmFnZXJVcGRhdGUiLCJyb3dCaW5kaW5nUGF0aCIsImdldFJvd0JpbmRpbmciLCJnZXRQYXRoIiwiY3VzdG9tTWVzc2FnZU1hcCIsImdldElkIiwiYXR0YWNoRXZlbnRPbmNlIiwib25DbG9zZSIsImdldERhdGFTdGF0ZUluZGljYXRvciIsImRldGFjaEV2ZW50IiwicHJvY2Vzc29yIiwiZ2V0TW9kZWwiLCJvTWVzc2FnZSIsIk1lc3NhZ2UiLCJ0eXBlIiwidGFyZ2V0IiwicGVyc2lzdGVudCIsImF0dGFjaENoYW5nZSIsImF0dGFjaERhdGFTdGF0ZUluZGljYXRvckNsb3NlRXZlbnQiLCJmbk9uQ2xvc2UiLCJvblNlbGVjdE11bHRpcGxlTW9kZUNvbnRyb2wiLCJjb250cm9sbGVyIiwiX2dldFRhYmxlIiwic2hvd0N1c3RvbU1lc3NhZ2UiLCJ0YWJLZXkiLCJfdGFiS2V5IiwiQXJyYXkiLCJpc0FycmF5IiwiaXNNdWx0aU1vZGUiLCJfaXNNdWx0aU1vZGUiLCJtdWx0aXBsZU1vZGVDb250cm9sIiwiX2dldE11bHRpTW9kZUNvbnRyb2wiLCJhdHRhY2hFdmVudCIsImdldEFsbElubmVyQ29udHJvbHMiLCJmb3JFYWNoIiwiaW5uZXJDb250cm9sIiwiaW5kZXgiLCJpc0EiLCJpbmRleE9mIiwidG9TdHJpbmciLCJnZXRDb250ZW50IiwiZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2wiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkxSTWVzc2FnZVN0cmlwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5uZXJDb250cm9sVHlwZSB9IGZyb20gXCJzYXAvZmUvdGVtcGxhdGVzL0xpc3RSZXBvcnQvY29udHJvbHMvTXVsdGlwbGVNb2RlQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgTGlzdFJlcG9ydENvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvTGlzdFJlcG9ydC9MaXN0UmVwb3J0Q29udHJvbGxlci5jb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCBDb3JlIGZyb20gXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCBNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VcIjtcbmltcG9ydCBNRENUYWJsZSBmcm9tIFwic2FwL3VpL21kYy9UYWJsZVwiO1xuaW1wb3J0IHR5cGUgTGlzdEJpbmRpbmcgZnJvbSBcInNhcC91aS9tb2RlbC9MaXN0QmluZGluZ1wiO1xuXG5leHBvcnQgdHlwZSBMUkN1c3RvbU1lc3NhZ2UgPSB7XG5cdG1lc3NhZ2U6IHN0cmluZztcblx0dHlwZT86IE1lc3NhZ2VUeXBlO1xuXHRvbkNsb3NlPzogRnVuY3Rpb247XG59O1xuXG5leHBvcnQgY2xhc3MgTFJNZXNzYWdlU3RyaXAge1xuXHRjdXN0b21NZXNzYWdlSW5mbyE6IHtcblx0XHRtZXNzYWdlTWFuYWdlckRhdGFCaW5kaW5nOiBMaXN0QmluZGluZztcblx0XHRjdXJyZW50TWVzc2FnZT86IE1lc3NhZ2U7XG5cdFx0bXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwOiB7IFtrZXk6IHN0cmluZ106IExSQ3VzdG9tTWVzc2FnZSB8IHVuZGVmaW5lZCB9O1xuXHR9O1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBtZXNzYWdlTWFuYWdlciA9IENvcmUuZ2V0TWVzc2FnZU1hbmFnZXIoKTtcblx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvID0ge1xuXHRcdFx0bWVzc2FnZU1hbmFnZXJEYXRhQmluZGluZzogbWVzc2FnZU1hbmFnZXIuZ2V0TWVzc2FnZU1vZGVsKCkuYmluZExpc3QoXCIvXCIpLFxuXHRcdFx0bXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwOiB7fVxuXHRcdH07XG5cdH1cblx0Z2V0Q3VzdG9tTWVzc2FnZUluZm8oKSB7XG5cdFx0cmV0dXJuIHRoaXMuY3VzdG9tTWVzc2FnZUluZm87XG5cdH1cblx0ZGVzdHJveSgpIHtcblx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLm1lc3NhZ2VNYW5hZ2VyRGF0YUJpbmRpbmcuZGV0YWNoQ2hhbmdlKHRoaXMuX2V2ZW50SGFuZGxlckN1c3RvbU1lc3NhZ2UsIHRoaXMpO1xuXHR9XG5cdF9nZXRNZXNzYWdlc1dpdGhTYW1lVGFyZ2V0VGhhbkN1c3RvbU1lc3NhZ2UoKSB7XG5cdFx0Y29uc3QgbWVzc2FnZU1hbmFnZXIgPSBDb3JlLmdldE1lc3NhZ2VNYW5hZ2VyKCk7XG5cdFx0cmV0dXJuIG1lc3NhZ2VNYW5hZ2VyXG5cdFx0XHQuZ2V0TWVzc2FnZU1vZGVsKClcblx0XHRcdC5nZXREYXRhKClcblx0XHRcdC5maWx0ZXIoXG5cdFx0XHRcdChtc2c6IE1lc3NhZ2UpID0+XG5cdFx0XHRcdFx0bXNnLmdldFRhcmdldHMoKVswXSA9PT0gdGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZT8uZ2V0VGFyZ2V0cygpWzBdICYmXG5cdFx0XHRcdFx0bXNnICE9PSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlXG5cdFx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1lc3NhZ2VNYW5hZ2VyIEV2ZW50IEhhbmRsZXIgcmVzcG9uc2libGUgdG8gYWRkIG9yIHJlbW92ZSB0aGUgY3VycmVudCBjdXN0b21NZXNzYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuaGVscGVycy5MUk1lc3NhZ2VTdHJpcCNfZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X2V2ZW50SGFuZGxlckN1c3RvbU1lc3NhZ2UoKSB7XG5cdFx0Y29uc3QgbWVzc2FnZU1hbmFnZXIgPSBDb3JlLmdldE1lc3NhZ2VNYW5hZ2VyKCk7XG5cdFx0aWYgKHRoaXMuY3VzdG9tTWVzc2FnZUluZm8uY3VycmVudE1lc3NhZ2UpIHtcblx0XHRcdGNvbnN0IGFNZXNzYWdlV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZSA9IHRoaXMuX2dldE1lc3NhZ2VzV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZSgpO1xuXHRcdFx0Y29uc3QgaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlciA9ICEhbWVzc2FnZU1hbmFnZXJcblx0XHRcdFx0LmdldE1lc3NhZ2VNb2RlbCgpXG5cdFx0XHRcdC5nZXREYXRhKClcblx0XHRcdFx0LmZpbmQoKG1zZzogTWVzc2FnZSkgPT4gbXNnID09PSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlKTtcblxuXHRcdFx0aWYgKGFNZXNzYWdlV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZS5sZW5ndGggPiAwICYmIGlzQ3VzdG9tTWVzc2FnZUluTWVzc2FnZU1hbmFnZXIpIHtcblx0XHRcdFx0Ly9pZiB0aGVyZSBhcmUgb3RoZXIgbWVzc2FnZXMgd2l0aCB0aGUgc2FtZSBtZXNzYWdlIG9uIHRoZSBNZXNzYWdlTWFuYWdlciBhbmQgdGhlIGN1c3RvbU1lc3NhZ2Vcblx0XHRcdFx0Ly90aGVuIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBjdXN0b21lTWVzc2FnZSBmcm9tIHRoZSBNZXNzYWdlTWFuYWdlclxuXHRcdFx0XHRtZXNzYWdlTWFuYWdlci5yZW1vdmVNZXNzYWdlcyhbdGhpcy5jdXN0b21NZXNzYWdlSW5mbz8uY3VycmVudE1lc3NhZ2VdKTtcblx0XHRcdH0gZWxzZSBpZiAoYU1lc3NhZ2VXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlLmxlbmd0aCA9PT0gMCAmJiAhaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlcikge1xuXHRcdFx0XHRtZXNzYWdlTWFuYWdlci5hZGRNZXNzYWdlcyhbdGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZV0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIG1hbmFnZXMgdGhlIGxpZmVjeWNsZSBvZiB0aGUgY3VzdG9tIG1lc3NhZ2UgKHBvcHVsYXRlcyB0aGUgY3VzdG9tTWVzc2FnZUluZm8gb2JqZWN0LCBhdHRhY2hlcyBhbiBldmVudCB0byB0aGUgbWVzc2FnZSBtYW5hZ2VyIGFuZCBpbnNlcnRzIGEgbWVzc2FnZSkuXG5cdCAqXG5cdCAqIEBwYXJhbSBldmVudCBFdmVudCBvYmplY3QgKG9wdGlvbmFsKS5cblx0ICogQHBhcmFtIG9EYXRhIFBhcmFtZXRlcnNcblx0ICogQHBhcmFtIG9EYXRhLm1lc3NhZ2UgVGhlIExSQ3VzdG9tTWVzc2FnZSB0byBiZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBtZXNzYWdlIG9iamVjdFxuXHQgKiBAcGFyYW0gb0RhdGEudGFibGUgVGhlIHRhYmxlIHRhcmdldGVkIGJ5IHRoZSBtZXNzYWdlXG5cdCAqIEBwYXJhbSBvRGF0YS5za2lwTWVzc2FnZU1hbmFnZXJVcGRhdGUgU2hvdWxkIHNraXAgdG8gaW5zZXJ0IHRoZSBtZXNzYWdlIGluIHRoZSBNZXNzYWdlTWFuYWdlclxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuaGVscGVycy5MUk1lc3NhZ2VTdHJpcCNjcmVhdGVDdXN0b21NZXNzYWdlXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRjcmVhdGVDdXN0b21NZXNzYWdlKFxuXHRcdGV2ZW50OiBFdmVudCB8IG51bGwsXG5cdFx0b0RhdGE6IHsgbWVzc2FnZTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkOyB0YWJsZTogTURDVGFibGU7IHNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZT86IGJvb2xlYW4gfVxuXHQpIHtcblx0XHRjb25zdCBtZXNzYWdlID0gb0RhdGEubWVzc2FnZTtcblx0XHRjb25zdCB0YWJsZSA9IG9EYXRhLnRhYmxlO1xuXHRcdGNvbnN0IHNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZSA9IG9EYXRhLnNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZTtcblx0XHRjb25zdCByb3dCaW5kaW5nUGF0aCA9IHRhYmxlLmdldFJvd0JpbmRpbmcoKT8uZ2V0UGF0aCgpO1xuXHRcdGNvbnN0IG1lc3NhZ2VNYW5hZ2VyID0gQ29yZS5nZXRNZXNzYWdlTWFuYWdlcigpO1xuXHRcdGNvbnN0IGN1c3RvbU1lc3NhZ2VNYXAgPSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLm11bHRpTW9kZUNvbnRyb2xNZXNzYWdlc01hcDtcblx0XHRjdXN0b21NZXNzYWdlTWFwW3RhYmxlLmdldElkKCldID0gbWVzc2FnZTtcblx0XHRpZiAoIXJvd0JpbmRpbmdQYXRoKSB7XG5cdFx0XHR0YWJsZS5hdHRhY2hFdmVudE9uY2UoXCJiaW5kaW5nVXBkYXRlZFwiLCBvRGF0YSwgdGhpcy5jcmVhdGVDdXN0b21NZXNzYWdlLCB0aGlzKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAoY3VzdG9tTWVzc2FnZU1hcFt0YWJsZS5nZXRJZCgpXT8ub25DbG9zZSkge1xuXHRcdFx0dGFibGUuZ2V0RGF0YVN0YXRlSW5kaWNhdG9yKCkuZGV0YWNoRXZlbnQoXCJjbG9zZVwiLCBjdXN0b21NZXNzYWdlTWFwW3RhYmxlLmdldElkKCldPy5vbkNsb3NlIGFzIEZ1bmN0aW9uLCB0aGlzKTtcblx0XHR9XG5cblx0XHRjb25zdCBwcm9jZXNzb3IgPSB0YWJsZS5nZXRNb2RlbCgpO1xuXHRcdGNvbnN0IG9NZXNzYWdlID0gbWVzc2FnZVxuXHRcdFx0PyBuZXcgTWVzc2FnZSh7XG5cdFx0XHRcdFx0bWVzc2FnZTogbWVzc2FnZS5tZXNzYWdlLFxuXHRcdFx0XHRcdHR5cGU6IG1lc3NhZ2UudHlwZSxcblx0XHRcdFx0XHR0YXJnZXQ6IFtyb3dCaW5kaW5nUGF0aF0sXG5cdFx0XHRcdFx0cGVyc2lzdGVudDogdHJ1ZSxcblx0XHRcdFx0XHRwcm9jZXNzb3Jcblx0XHRcdCAgfSlcblx0XHRcdDogbnVsbDtcblxuXHRcdHRoaXMuY3VzdG9tTWVzc2FnZUluZm8ubWVzc2FnZU1hbmFnZXJEYXRhQmluZGluZy5kZXRhY2hDaGFuZ2UodGhpcy5fZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZSwgdGhpcyk7XG5cdFx0aWYgKCFza2lwTWVzc2FnZU1hbmFnZXJVcGRhdGUpIHtcblx0XHRcdGlmICh0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlKSB7XG5cdFx0XHRcdG1lc3NhZ2VNYW5hZ2VyLnJlbW92ZU1lc3NhZ2VzKFt0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlXSk7XG5cdFx0XHR9XG5cdFx0XHRpZiAob01lc3NhZ2UpIHtcblx0XHRcdFx0dGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZSA9IG9NZXNzYWdlO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0ZGVsZXRlIHRoaXMuY3VzdG9tTWVzc2FnZUluZm8uY3VycmVudE1lc3NhZ2U7XG5cdFx0XHR9XG5cdFx0XHRpZiAob01lc3NhZ2UgJiYgdGhpcy5fZ2V0TWVzc2FnZXNXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlKCkubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdG1lc3NhZ2VNYW5hZ2VyLmFkZE1lc3NhZ2VzKFtvTWVzc2FnZV0pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLm1lc3NhZ2VNYW5hZ2VyRGF0YUJpbmRpbmcuYXR0YWNoQ2hhbmdlKHRoaXMuX2V2ZW50SGFuZGxlckN1c3RvbU1lc3NhZ2UsIHRoaXMpO1xuXG5cdFx0dGhpcy5hdHRhY2hEYXRhU3RhdGVJbmRpY2F0b3JDbG9zZUV2ZW50KHRhYmxlLCBjdXN0b21NZXNzYWdlTWFwLCBtZXNzYWdlPy5vbkNsb3NlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGF0dGFjaGVzIHRoZSBvbkNsb3NlIGV2ZW50IGZ1bmN0aW9uIHRvIHRoZSBkYXRhU3RhdGVJbmRpY2F0b3IuXG5cdCAqXG5cdCAqIEBwYXJhbSB0YWJsZSBUaGUgdGFibGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhU3RhdGVJbmRpY2F0b3Jcblx0ICogQHBhcmFtIGN1c3RvbU1lc3NhZ2VNYXAgVGhlIEN1c3RvbU1lc3NhZ2VNYXAgb2JqZWN0XG5cdCAqIEBwYXJhbSBmbk9uQ2xvc2UgQSBmdW5jdGlvbiB0byBiZSBhdHRhY2hlZCB0byB0aGUgXCJjbG9zZVwiIGV2ZW50XG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5oZWxwZXJzLkxSTWVzc2FnZVN0cmlwI2F0dGFjaERhdGFTdGF0ZUluZGljYXRvckNsb3NlRXZlbnRcblx0ICogQHByaXZhdGVcblx0ICovXG5cdGF0dGFjaERhdGFTdGF0ZUluZGljYXRvckNsb3NlRXZlbnQoXG5cdFx0dGFibGU6IE1EQ1RhYmxlLFxuXHRcdGN1c3RvbU1lc3NhZ2VNYXA6IHsgW2tleTogc3RyaW5nXTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkIH0sXG5cdFx0Zm5PbkNsb3NlPzogRnVuY3Rpb25cblx0KSB7XG5cdFx0aWYgKGZuT25DbG9zZSkge1xuXHRcdFx0dGFibGUuZ2V0RGF0YVN0YXRlSW5kaWNhdG9yKCkuYXR0YWNoRXZlbnRPbmNlKFwiY2xvc2VcIiwgZm5PbkNsb3NlLCB0aGlzKTtcblx0XHR9XG5cdFx0Ly9XaGVuIGNsb3NpbmcgdGhlIHRoZSBtZXNzYWdlU3RyaXAsIHRoZSBhc3NvY2lhdGVkIG1lc3NhZ2UgaXMgcmVtb3ZlZFxuXHRcdHRhYmxlLmdldERhdGFTdGF0ZUluZGljYXRvcigpLmF0dGFjaEV2ZW50T25jZShcImNsb3NlXCIsICgpID0+IHtcblx0XHRcdGRlbGV0ZSBjdXN0b21NZXNzYWdlTWFwW3RhYmxlLmdldElkKCldO1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIE11bHRpcGxlTW9kZUNvbnRyb2wgRXZlbnQgaGFuZGxlciByZXNwb25zaWJsZSBmb3IgZGlzcGxheWluZyB0aGUgY29ycmVjdCBjdXN0b20gbWVzc2FnZSB3aGVuIGEgc3BlY2lmaWMgdGFiIGlzIHNlbGVjdGVkLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuaGVscGVycy5MUk1lc3NhZ2VTdHJpcCNvblNlbGVjdE11bHRpcGxlTW9kZUNvbnRyb2xcblx0ICogQHByaXZhdGVcblx0ICovXG5cblx0b25TZWxlY3RNdWx0aXBsZU1vZGVDb250cm9sKGV2ZW50OiBFdmVudCwgY29udHJvbGxlcjogTGlzdFJlcG9ydENvbnRyb2xsZXIpIHtcblx0XHRjb25zdCB0YWJsZSA9IGNvbnRyb2xsZXIuX2dldFRhYmxlKCkgYXMgTURDVGFibGU7XG5cdFx0Y29uc3QgbWVzc2FnZSA9IHRoaXMuY3VzdG9tTWVzc2FnZUluZm8ubXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwW3RhYmxlLmdldElkKCldO1xuXHRcdHRoaXMuY3JlYXRlQ3VzdG9tTWVzc2FnZShudWxsLCB7IG1lc3NhZ2UsIHRhYmxlIH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFByb3ZpZGUgYW4gb3B0aW9uIGZvciBzaG93aW5nIGEgY3VzdG9tIG1lc3NhZ2UgaW4gdGhlIG1lc3NhZ2UgYmFyIGFib3ZlIHRoZSBsaXN0IHJlcG9ydCB0YWJsZS5cblx0ICpcblx0ICogQHBhcmFtIHtvYmplY3R9IFttZXNzYWdlXSBDdXN0b20gbWVzc2FnZSBhbG9uZyB3aXRoIHRoZSBtZXNzYWdlIHR5cGUgdG8gYmUgc2V0IG9uIHRoZSB0YWJsZS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlLm1lc3NhZ2VdIE1lc3NhZ2Ugc3RyaW5nIHRvIGJlIGRpc3BsYXllZC5cblx0ICogQHBhcmFtIHtzYXAudWkuY29yZS5NZXNzYWdlVHlwZX0gW21lc3NhZ2UudHlwZV0gSW5kaWNhdGVzIHRoZSB0eXBlIG9mIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7TGlzdFJlcG9ydENvbnRyb2xsZXJ9IFtjb250cm9sbGVyXSBDb250cm9sbGVyIG9mIHRoZSBjdXJyZW50IHZpZXcuXG5cdCAqIEBwYXJhbSB7c3RyaW5nW118c3RyaW5nfSBbdGFiS2V5XSBUaGUgZW50aXR5U2V0IGlkZW50aWZ5aW5nIHRoZSB0YWJsZSBpbiB3aGljaCB0byBkaXNwbGF5IHRoZSBjdXN0b20gbWVzc2FnZS5cblx0ICogQHBhcmFtIHtGdW5jdGlvbn0gW29uQ2xvc2VdIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbG9zZXMgdGhlIG1lc3NhZ2UgYmFyLlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0c2hvd0N1c3RvbU1lc3NhZ2UoXG5cdFx0bWVzc2FnZTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkLFxuXHRcdGNvbnRyb2xsZXI6IExpc3RSZXBvcnRDb250cm9sbGVyLFxuXHRcdHRhYktleT86IHN0cmluZ1tdIHwgc3RyaW5nIHwgbnVsbCxcblx0XHRvbkNsb3NlPzogRnVuY3Rpb25cblx0KSB7XG5cdFx0Y29uc3QgX3RhYktleSA9IEFycmF5LmlzQXJyYXkodGFiS2V5KSA/IHRhYktleSA6IFt0YWJLZXldO1xuXHRcdGNvbnN0IGlzTXVsdGlNb2RlID0gY29udHJvbGxlci5faXNNdWx0aU1vZGUoKTtcblx0XHRsZXQgdGFibGU6IE1EQ1RhYmxlO1xuXHRcdGlmIChtZXNzYWdlKSB7XG5cdFx0XHRtZXNzYWdlLm9uQ2xvc2UgPSBvbkNsb3NlO1xuXHRcdH1cblx0XHRpZiAoaXNNdWx0aU1vZGUpIHtcblx0XHRcdGNvbnN0IG11bHRpcGxlTW9kZUNvbnRyb2wgPSBjb250cm9sbGVyLl9nZXRNdWx0aU1vZGVDb250cm9sKCk7XG5cdFx0XHQvL3dlIGZpc3J0IG5lZWQgdG8gZGV0YWNoIHRoZSBzZWxlY3QgZXZlbnQgdG8gcHJldmVudCBtdWx0aXBsZSBhdHRhY2htZW50cy5cblx0XHRcdG11bHRpcGxlTW9kZUNvbnRyb2wuZGV0YWNoRXZlbnQoXCJzZWxlY3RcIiwgdGhpcy5vblNlbGVjdE11bHRpcGxlTW9kZUNvbnRyb2wsIHRoaXMpO1xuXHRcdFx0bXVsdGlwbGVNb2RlQ29udHJvbC5hdHRhY2hFdmVudChcInNlbGVjdFwiLCBjb250cm9sbGVyLCB0aGlzLm9uU2VsZWN0TXVsdGlwbGVNb2RlQ29udHJvbCwgdGhpcyk7XG5cblx0XHRcdG11bHRpcGxlTW9kZUNvbnRyb2wuZ2V0QWxsSW5uZXJDb250cm9scyh0cnVlKS5mb3JFYWNoKChpbm5lckNvbnRyb2w6IElubmVyQ29udHJvbFR5cGUsIGluZGV4OiBudW1iZXIpID0+IHtcblx0XHRcdFx0aWYgKGlubmVyQ29udHJvbC5pc0EoXCJzYXAuZmUubWFjcm9zLnRhYmxlLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRcdFx0aWYgKCF0YWJLZXkgfHwgX3RhYktleS5pbmRleE9mKGluZGV4LnRvU3RyaW5nKCkpICE9PSAtMSkge1xuXHRcdFx0XHRcdFx0dGFibGUgPSAoaW5uZXJDb250cm9sIGFzIGFueSkuZ2V0Q29udGVudCgpO1xuXHRcdFx0XHRcdFx0dGhpcy5jcmVhdGVDdXN0b21NZXNzYWdlKG51bGwsIHtcblx0XHRcdFx0XHRcdFx0bWVzc2FnZSxcblx0XHRcdFx0XHRcdFx0dGFibGUsXG5cdFx0XHRcdFx0XHRcdHNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZTogbXVsdGlwbGVNb2RlQ29udHJvbC5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpICE9PSBpbm5lckNvbnRyb2xcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGFibGUgPSBjb250cm9sbGVyLl9nZXRUYWJsZSgpIGFzIE1EQ1RhYmxlO1xuXHRcdHRoaXMuY3JlYXRlQ3VzdG9tTWVzc2FnZShudWxsLCB7IG1lc3NhZ2UsIHRhYmxlIH0pO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7O01BZWFBLGNBQWM7SUFNMUIsMEJBQWM7TUFDYixNQUFNQyxjQUFjLEdBQUdDLElBQUksQ0FBQ0MsaUJBQWlCLEVBQUU7TUFDL0MsSUFBSSxDQUFDQyxpQkFBaUIsR0FBRztRQUN4QkMseUJBQXlCLEVBQUVKLGNBQWMsQ0FBQ0ssZUFBZSxFQUFFLENBQUNDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDekVDLDJCQUEyQixFQUFFLENBQUM7TUFDL0IsQ0FBQztJQUNGO0lBQUM7SUFBQTtJQUFBLE9BQ0RDLG9CQUFvQixHQUFwQixnQ0FBdUI7TUFDdEIsT0FBTyxJQUFJLENBQUNMLGlCQUFpQjtJQUM5QixDQUFDO0lBQUEsT0FDRE0sT0FBTyxHQUFQLG1CQUFVO01BQ1QsSUFBSSxDQUFDTixpQkFBaUIsQ0FBQ0MseUJBQXlCLENBQUNNLFlBQVksQ0FBQyxJQUFJLENBQUNDLDBCQUEwQixFQUFFLElBQUksQ0FBQztJQUNyRyxDQUFDO0lBQUEsT0FDREMsMkNBQTJDLEdBQTNDLHVEQUE4QztNQUM3QyxNQUFNWixjQUFjLEdBQUdDLElBQUksQ0FBQ0MsaUJBQWlCLEVBQUU7TUFDL0MsT0FBT0YsY0FBYyxDQUNuQkssZUFBZSxFQUFFLENBQ2pCUSxPQUFPLEVBQUUsQ0FDVEMsTUFBTSxDQUNMQyxH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
@@ -1,196 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/ui/core/Core", "sap/ui/core/message/Message"], function (Core, Message) {
6
- "use strict";
7
-
8
- var _exports = {};
9
- var LRMessageStrip = /*#__PURE__*/function () {
10
- function LRMessageStrip() {
11
- var messageManager = Core.getMessageManager();
12
- this.customMessageInfo = {
13
- messageManagerDataBinding: messageManager.getMessageModel().bindList("/"),
14
- multiModeControlMessagesMap: {}
15
- };
16
- }
17
- _exports.LRMessageStrip = LRMessageStrip;
18
- var _proto = LRMessageStrip.prototype;
19
- _proto.getCustomMessageInfo = function getCustomMessageInfo() {
20
- return this.customMessageInfo;
21
- };
22
- _proto.destroy = function destroy() {
23
- this.customMessageInfo.messageManagerDataBinding.detachChange(this._eventHandlerCustomMessage, this);
24
- };
25
- _proto._getMessagesWithSameTargetThanCustomMessage = function _getMessagesWithSameTargetThanCustomMessage() {
26
- var _this = this;
27
- var messageManager = Core.getMessageManager();
28
- return messageManager.getMessageModel().getData().filter(function (msg) {
29
- var _this$customMessageIn;
30
- return msg.getTargets()[0] === ((_this$customMessageIn = _this.customMessageInfo.currentMessage) === null || _this$customMessageIn === void 0 ? void 0 : _this$customMessageIn.getTargets()[0]) && msg !== _this.customMessageInfo.currentMessage;
31
- });
32
- }
33
-
34
- /**
35
- * MessageManager Event Handler responsible to add or remove the current customMessage.
36
- *
37
- * @alias sap.fe.core.helpers.LRMessageStrip#_eventHandlerCustomMessage
38
- * @private
39
- */;
40
- _proto._eventHandlerCustomMessage = function _eventHandlerCustomMessage() {
41
- var _this2 = this;
42
- var messageManager = Core.getMessageManager();
43
- if (this.customMessageInfo.currentMessage) {
44
- var aMessageWithSameTargetThanCustomMessage = this._getMessagesWithSameTargetThanCustomMessage();
45
- var isCustomMessageInMessageManager = !!messageManager.getMessageModel().getData().find(function (msg) {
46
- return msg === _this2.customMessageInfo.currentMessage;
47
- });
48
- if (aMessageWithSameTargetThanCustomMessage.length > 0 && isCustomMessageInMessageManager) {
49
- var _this$customMessageIn2;
50
- //if there are other messages with the same message on the MessageManager and the customMessage
51
- //then we need to remove the customeMessage from the MessageManager
52
- messageManager.removeMessages([(_this$customMessageIn2 = this.customMessageInfo) === null || _this$customMessageIn2 === void 0 ? void 0 : _this$customMessageIn2.currentMessage]);
53
- } else if (aMessageWithSameTargetThanCustomMessage.length === 0 && !isCustomMessageInMessageManager) {
54
- messageManager.addMessages([this.customMessageInfo.currentMessage]);
55
- }
56
- }
57
- }
58
-
59
- /**
60
- * This function manages the lifecycle of the custom message (populates the customMessageInfo object, attaches an event to the message manager and inserts a message).
61
- *
62
- * @param event Event object (optional).
63
- * @param oData Parameters
64
- * @param oData.message The LRCustomMessage to be used to generate the message object
65
- * @param oData.table The table targeted by the message
66
- * @param oData.skipMessageManagerUpdate Should skip to insert the message in the MessageManager
67
- * @alias sap.fe.core.helpers.LRMessageStrip#createCustomMessage
68
- * @private
69
- */;
70
- _proto.createCustomMessage = function createCustomMessage(event, oData) {
71
- var _table$getRowBinding, _customMessageMap$tab;
72
- var message = oData.message;
73
- var table = oData.table;
74
- var skipMessageManagerUpdate = oData.skipMessageManagerUpdate;
75
- var rowBindingPath = (_table$getRowBinding = table.getRowBinding()) === null || _table$getRowBinding === void 0 ? void 0 : _table$getRowBinding.getPath();
76
- var messageManager = Core.getMessageManager();
77
- var customMessageMap = this.customMessageInfo.multiModeControlMessagesMap;
78
- customMessageMap[table.getId()] = message;
79
- if (!rowBindingPath) {
80
- table.attachEventOnce("bindingUpdated", oData, this.createCustomMessage, this);
81
- return;
82
- }
83
- if ((_customMessageMap$tab = customMessageMap[table.getId()]) !== null && _customMessageMap$tab !== void 0 && _customMessageMap$tab.onClose) {
84
- var _customMessageMap$tab2;
85
- table.getDataStateIndicator().detachEvent("close", (_customMessageMap$tab2 = customMessageMap[table.getId()]) === null || _customMessageMap$tab2 === void 0 ? void 0 : _customMessageMap$tab2.onClose, this);
86
- }
87
- var processor = table.getModel();
88
- var oMessage = message ? new Message({
89
- message: message.message,
90
- type: message.type,
91
- target: [rowBindingPath],
92
- persistent: true,
93
- processor: processor
94
- }) : null;
95
- this.customMessageInfo.messageManagerDataBinding.detachChange(this._eventHandlerCustomMessage, this);
96
- if (!skipMessageManagerUpdate) {
97
- if (this.customMessageInfo.currentMessage) {
98
- messageManager.removeMessages([this.customMessageInfo.currentMessage]);
99
- }
100
- if (oMessage) {
101
- this.customMessageInfo.currentMessage = oMessage;
102
- } else {
103
- delete this.customMessageInfo.currentMessage;
104
- }
105
- if (oMessage && this._getMessagesWithSameTargetThanCustomMessage().length === 0) {
106
- messageManager.addMessages([oMessage]);
107
- }
108
- }
109
- this.customMessageInfo.messageManagerDataBinding.attachChange(this._eventHandlerCustomMessage, this);
110
- this.attachDataStateIndicatorCloseEvent(table, customMessageMap, message === null || message === void 0 ? void 0 : message.onClose);
111
- }
112
-
113
- /**
114
- * This function attaches the onClose event function to the dataStateIndicator.
115
- *
116
- * @param table The table associated with the dataStateIndicator
117
- * @param customMessageMap The CustomMessageMap object
118
- * @param fnOnClose A function to be attached to the "close" event
119
- * @alias sap.fe.core.helpers.LRMessageStrip#attachDataStateIndicatorCloseEvent
120
- * @private
121
- */;
122
- _proto.attachDataStateIndicatorCloseEvent = function attachDataStateIndicatorCloseEvent(table, customMessageMap, fnOnClose) {
123
- if (fnOnClose) {
124
- table.getDataStateIndicator().attachEventOnce("close", fnOnClose, this);
125
- }
126
- //When closing the the messageStrip, the associated message is removed
127
- table.getDataStateIndicator().attachEventOnce("close", function () {
128
- delete customMessageMap[table.getId()];
129
- });
130
- }
131
-
132
- /**
133
- * MultipleModeControl Event handler responsible for displaying the correct custom message when a specific tab is selected.
134
- *
135
- * @alias sap.fe.core.helpers.LRMessageStrip#onSelectMultipleModeControl
136
- * @private
137
- */;
138
- _proto.onSelectMultipleModeControl = function onSelectMultipleModeControl(event, controller) {
139
- var table = controller._getTable();
140
- var message = this.customMessageInfo.multiModeControlMessagesMap[table.getId()];
141
- this.createCustomMessage(null, {
142
- message: message,
143
- table: table
144
- });
145
- }
146
-
147
- /**
148
- * Provide an option for showing a custom message in the message bar above the list report table.
149
- *
150
- * @param {object} [message] Custom message along with the message type to be set on the table.
151
- * @param {string} [message.message] Message string to be displayed.
152
- * @param {sap.ui.core.MessageType} [message.type] Indicates the type of message.
153
- * @param {ListReportController} [controller] Controller of the current view.
154
- * @param {string[]|string} [tabKey] The entitySet identifying the table in which to display the custom message.
155
- * @param {Function} [onClose] A function that is called when the user closes the message bar.
156
- * @private
157
- */;
158
- _proto.showCustomMessage = function showCustomMessage(message, controller, tabKey, onClose) {
159
- var _this3 = this;
160
- var _tabKey = Array.isArray(tabKey) ? tabKey : [tabKey];
161
- var isMultiMode = controller._isMultiMode();
162
- var table;
163
- if (message) {
164
- message.onClose = onClose;
165
- }
166
- if (isMultiMode) {
167
- var multipleModeControl = controller._getMultiModeControl();
168
- //we fisrt need to detach the select event to prevent multiple attachments.
169
- multipleModeControl.detachEvent("select", this.onSelectMultipleModeControl, this);
170
- multipleModeControl.attachEvent("select", controller, this.onSelectMultipleModeControl, this);
171
- multipleModeControl.getAllInnerControls(true).forEach(function (innerControl, index) {
172
- if (innerControl.isA("sap.fe.macros.table.TableAPI")) {
173
- if (!tabKey || _tabKey.indexOf(index.toString()) !== -1) {
174
- table = innerControl.getContent();
175
- _this3.createCustomMessage(null, {
176
- message: message,
177
- table: table,
178
- skipMessageManagerUpdate: multipleModeControl.getSelectedInnerControl() !== innerControl
179
- });
180
- }
181
- }
182
- });
183
- return;
184
- }
185
- table = controller._getTable();
186
- this.createCustomMessage(null, {
187
- message: message,
188
- table: table
189
- });
190
- };
191
- return LRMessageStrip;
192
- }();
193
- _exports.LRMessageStrip = LRMessageStrip;
194
- return _exports;
195
- }, false);
196
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMUk1lc3NhZ2VTdHJpcCIsIm1lc3NhZ2VNYW5hZ2VyIiwiQ29yZSIsImdldE1lc3NhZ2VNYW5hZ2VyIiwiY3VzdG9tTWVzc2FnZUluZm8iLCJtZXNzYWdlTWFuYWdlckRhdGFCaW5kaW5nIiwiZ2V0TWVzc2FnZU1vZGVsIiwiYmluZExpc3QiLCJtdWx0aU1vZGVDb250cm9sTWVzc2FnZXNNYXAiLCJnZXRDdXN0b21NZXNzYWdlSW5mbyIsImRlc3Ryb3kiLCJkZXRhY2hDaGFuZ2UiLCJfZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZSIsIl9nZXRNZXNzYWdlc1dpdGhTYW1lVGFyZ2V0VGhhbkN1c3RvbU1lc3NhZ2UiLCJnZXREYXRhIiwiZmlsdGVyIiwibXNnIiwiZ2V0VGFyZ2V0cyIsImN1cnJlbnRNZXNzYWdlIiwiYU1lc3NhZ2VXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlIiwiaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlciIsImZpbmQiLCJsZW5ndGgiLCJyZW1vdmVNZXNzYWdlcyIsImFkZE1lc3NhZ2VzIiwiY3JlYXRlQ3VzdG9tTWVzc2FnZSIsImV2ZW50Iiwib0RhdGEiLCJtZXNzYWdlIiwidGFibGUiLCJza2lwTWVzc2FnZU1hbmFnZXJVcGRhdGUiLCJyb3dCaW5kaW5nUGF0aCIsImdldFJvd0JpbmRpbmciLCJnZXRQYXRoIiwiY3VzdG9tTWVzc2FnZU1hcCIsImdldElkIiwiYXR0YWNoRXZlbnRPbmNlIiwib25DbG9zZSIsImdldERhdGFTdGF0ZUluZGljYXRvciIsImRldGFjaEV2ZW50IiwicHJvY2Vzc29yIiwiZ2V0TW9kZWwiLCJvTWVzc2FnZSIsIk1lc3NhZ2UiLCJ0eXBlIiwidGFyZ2V0IiwicGVyc2lzdGVudCIsImF0dGFjaENoYW5nZSIsImF0dGFjaERhdGFTdGF0ZUluZGljYXRvckNsb3NlRXZlbnQiLCJmbk9uQ2xvc2UiLCJvblNlbGVjdE11bHRpcGxlTW9kZUNvbnRyb2wiLCJjb250cm9sbGVyIiwiX2dldFRhYmxlIiwic2hvd0N1c3RvbU1lc3NhZ2UiLCJ0YWJLZXkiLCJfdGFiS2V5IiwiQXJyYXkiLCJpc0FycmF5IiwiaXNNdWx0aU1vZGUiLCJfaXNNdWx0aU1vZGUiLCJtdWx0aXBsZU1vZGVDb250cm9sIiwiX2dldE11bHRpTW9kZUNvbnRyb2wiLCJhdHRhY2hFdmVudCIsImdldEFsbElubmVyQ29udHJvbHMiLCJmb3JFYWNoIiwiaW5uZXJDb250cm9sIiwiaW5kZXgiLCJpc0EiLCJpbmRleE9mIiwidG9TdHJpbmciLCJnZXRDb250ZW50IiwiZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2wiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkxSTWVzc2FnZVN0cmlwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5uZXJDb250cm9sVHlwZSB9IGZyb20gXCJzYXAvZmUvdGVtcGxhdGVzL0xpc3RSZXBvcnQvY29udHJvbHMvTXVsdGlwbGVNb2RlQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgTGlzdFJlcG9ydENvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvTGlzdFJlcG9ydC9MaXN0UmVwb3J0Q29udHJvbGxlci5jb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCBDb3JlIGZyb20gXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCBNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VcIjtcbmltcG9ydCBNRENUYWJsZSBmcm9tIFwic2FwL3VpL21kYy9UYWJsZVwiO1xuaW1wb3J0IHR5cGUgTGlzdEJpbmRpbmcgZnJvbSBcInNhcC91aS9tb2RlbC9MaXN0QmluZGluZ1wiO1xuXG5leHBvcnQgdHlwZSBMUkN1c3RvbU1lc3NhZ2UgPSB7XG5cdG1lc3NhZ2U6IHN0cmluZztcblx0dHlwZT86IE1lc3NhZ2VUeXBlO1xuXHRvbkNsb3NlPzogRnVuY3Rpb247XG59O1xuXG5leHBvcnQgY2xhc3MgTFJNZXNzYWdlU3RyaXAge1xuXHRjdXN0b21NZXNzYWdlSW5mbyE6IHtcblx0XHRtZXNzYWdlTWFuYWdlckRhdGFCaW5kaW5nOiBMaXN0QmluZGluZztcblx0XHRjdXJyZW50TWVzc2FnZT86IE1lc3NhZ2U7XG5cdFx0bXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwOiB7IFtrZXk6IHN0cmluZ106IExSQ3VzdG9tTWVzc2FnZSB8IHVuZGVmaW5lZCB9O1xuXHR9O1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBtZXNzYWdlTWFuYWdlciA9IENvcmUuZ2V0TWVzc2FnZU1hbmFnZXIoKTtcblx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvID0ge1xuXHRcdFx0bWVzc2FnZU1hbmFnZXJEYXRhQmluZGluZzogbWVzc2FnZU1hbmFnZXIuZ2V0TWVzc2FnZU1vZGVsKCkuYmluZExpc3QoXCIvXCIpLFxuXHRcdFx0bXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwOiB7fVxuXHRcdH07XG5cdH1cblx0Z2V0Q3VzdG9tTWVzc2FnZUluZm8oKSB7XG5cdFx0cmV0dXJuIHRoaXMuY3VzdG9tTWVzc2FnZUluZm87XG5cdH1cblx0ZGVzdHJveSgpIHtcblx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLm1lc3NhZ2VNYW5hZ2VyRGF0YUJpbmRpbmcuZGV0YWNoQ2hhbmdlKHRoaXMuX2V2ZW50SGFuZGxlckN1c3RvbU1lc3NhZ2UsIHRoaXMpO1xuXHR9XG5cdF9nZXRNZXNzYWdlc1dpdGhTYW1lVGFyZ2V0VGhhbkN1c3RvbU1lc3NhZ2UoKSB7XG5cdFx0Y29uc3QgbWVzc2FnZU1hbmFnZXIgPSBDb3JlLmdldE1lc3NhZ2VNYW5hZ2VyKCk7XG5cdFx0cmV0dXJuIG1lc3NhZ2VNYW5hZ2VyXG5cdFx0XHQuZ2V0TWVzc2FnZU1vZGVsKClcblx0XHRcdC5nZXREYXRhKClcblx0XHRcdC5maWx0ZXIoXG5cdFx0XHRcdChtc2c6IE1lc3NhZ2UpID0+XG5cdFx0XHRcdFx0bXNnLmdldFRhcmdldHMoKVswXSA9PT0gdGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZT8uZ2V0VGFyZ2V0cygpWzBdICYmXG5cdFx0XHRcdFx0bXNnICE9PSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlXG5cdFx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1lc3NhZ2VNYW5hZ2VyIEV2ZW50IEhhbmRsZXIgcmVzcG9uc2libGUgdG8gYWRkIG9yIHJlbW92ZSB0aGUgY3VycmVudCBjdXN0b21NZXNzYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuaGVscGVycy5MUk1lc3NhZ2VTdHJpcCNfZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X2V2ZW50SGFuZGxlckN1c3RvbU1lc3NhZ2UoKSB7XG5cdFx0Y29uc3QgbWVzc2FnZU1hbmFnZXIgPSBDb3JlLmdldE1lc3NhZ2VNYW5hZ2VyKCk7XG5cdFx0aWYgKHRoaXMuY3VzdG9tTWVzc2FnZUluZm8uY3VycmVudE1lc3NhZ2UpIHtcblx0XHRcdGNvbnN0IGFNZXNzYWdlV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZSA9IHRoaXMuX2dldE1lc3NhZ2VzV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZSgpO1xuXHRcdFx0Y29uc3QgaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlciA9ICEhbWVzc2FnZU1hbmFnZXJcblx0XHRcdFx0LmdldE1lc3NhZ2VNb2RlbCgpXG5cdFx0XHRcdC5nZXREYXRhKClcblx0XHRcdFx0LmZpbmQoKG1zZzogTWVzc2FnZSkgPT4gbXNnID09PSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlKTtcblxuXHRcdFx0aWYgKGFNZXNzYWdlV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZS5sZW5ndGggPiAwICYmIGlzQ3VzdG9tTWVzc2FnZUluTWVzc2FnZU1hbmFnZXIpIHtcblx0XHRcdFx0Ly9pZiB0aGVyZSBhcmUgb3RoZXIgbWVzc2FnZXMgd2l0aCB0aGUgc2FtZSBtZXNzYWdlIG9uIHRoZSBNZXNzYWdlTWFuYWdlciBhbmQgdGhlIGN1c3RvbU1lc3NhZ2Vcblx0XHRcdFx0Ly90aGVuIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBjdXN0b21lTWVzc2FnZSBmcm9tIHRoZSBNZXNzYWdlTWFuYWdlclxuXHRcdFx0XHRtZXNzYWdlTWFuYWdlci5yZW1vdmVNZXNzYWdlcyhbdGhpcy5jdXN0b21NZXNzYWdlSW5mbz8uY3VycmVudE1lc3NhZ2VdKTtcblx0XHRcdH0gZWxzZSBpZiAoYU1lc3NhZ2VXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlLmxlbmd0aCA9PT0gMCAmJiAhaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlcikge1xuXHRcdFx0XHRtZXNzYWdlTWFuYWdlci5hZGRNZXNzYWdlcyhbdGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZV0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIG1hbmFnZXMgdGhlIGxpZmVjeWNsZSBvZiB0aGUgY3VzdG9tIG1lc3NhZ2UgKHBvcHVsYXRlcyB0aGUgY3VzdG9tTWVzc2FnZUluZm8gb2JqZWN0LCBhdHRhY2hlcyBhbiBldmVudCB0byB0aGUgbWVzc2FnZSBtYW5hZ2VyIGFuZCBpbnNlcnRzIGEgbWVzc2FnZSkuXG5cdCAqXG5cdCAqIEBwYXJhbSBldmVudCBFdmVudCBvYmplY3QgKG9wdGlvbmFsKS5cblx0ICogQHBhcmFtIG9EYXRhIFBhcmFtZXRlcnNcblx0ICogQHBhcmFtIG9EYXRhLm1lc3NhZ2UgVGhlIExSQ3VzdG9tTWVzc2FnZSB0byBiZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBtZXNzYWdlIG9iamVjdFxuXHQgKiBAcGFyYW0gb0RhdGEudGFibGUgVGhlIHRhYmxlIHRhcmdldGVkIGJ5IHRoZSBtZXNzYWdlXG5cdCAqIEBwYXJhbSBvRGF0YS5za2lwTWVzc2FnZU1hbmFnZXJVcGRhdGUgU2hvdWxkIHNraXAgdG8gaW5zZXJ0IHRoZSBtZXNzYWdlIGluIHRoZSBNZXNzYWdlTWFuYWdlclxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuaGVscGVycy5MUk1lc3NhZ2VTdHJpcCNjcmVhdGVDdXN0b21NZXNzYWdlXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRjcmVhdGVDdXN0b21NZXNzYWdlKFxuXHRcdGV2ZW50OiBFdmVudCB8IG51bGwsXG5cdFx0b0RhdGE6IHsgbWVzc2FnZTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkOyB0YWJsZTogTURDVGFibGU7IHNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZT86IGJvb2xlYW4gfVxuXHQpIHtcblx0XHRjb25zdCBtZXNzYWdlID0gb0RhdGEubWVzc2FnZTtcblx0XHRjb25zdCB0YWJsZSA9IG9EYXRhLnRhYmxlO1xuXHRcdGNvbnN0IHNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZSA9IG9EYXRhLnNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZTtcblx0XHRjb25zdCByb3dCaW5kaW5nUGF0aCA9IHRhYmxlLmdldFJvd0JpbmRpbmcoKT8uZ2V0UGF0aCgpO1xuXHRcdGNvbnN0IG1lc3NhZ2VNYW5hZ2VyID0gQ29yZS5nZXRNZXNzYWdlTWFuYWdlcigpO1xuXHRcdGNvbnN0IGN1c3RvbU1lc3NhZ2VNYXAgPSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLm11bHRpTW9kZUNvbnRyb2xNZXNzYWdlc01hcDtcblx0XHRjdXN0b21NZXNzYWdlTWFwW3RhYmxlLmdldElkKCldID0gbWVzc2FnZTtcblx0XHRpZiAoIXJvd0JpbmRpbmdQYXRoKSB7XG5cdFx0XHR0YWJsZS5hdHRhY2hFdmVudE9uY2UoXCJiaW5kaW5nVXBkYXRlZFwiLCBvRGF0YSwgdGhpcy5jcmVhdGVDdXN0b21NZXNzYWdlLCB0aGlzKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAoY3VzdG9tTWVzc2FnZU1hcFt0YWJsZS5nZXRJZCgpXT8ub25DbG9zZSkge1xuXHRcdFx0dGFibGUuZ2V0RGF0YVN0YXRlSW5kaWNhdG9yKCkuZGV0YWNoRXZlbnQoXCJjbG9zZVwiLCBjdXN0b21NZXNzYWdlTWFwW3RhYmxlLmdldElkKCldPy5vbkNsb3NlIGFzIEZ1bmN0aW9uLCB0aGlzKTtcblx0XHR9XG5cblx0XHRjb25zdCBwcm9jZXNzb3IgPSB0YWJsZS5nZXRNb2RlbCgpO1xuXHRcdGNvbnN0IG9NZXNzYWdlID0gbWVzc2FnZVxuXHRcdFx0PyBuZXcgTWVzc2FnZSh7XG5cdFx0XHRcdFx0bWVzc2FnZTogbWVzc2FnZS5tZXNzYWdlLFxuXHRcdFx0XHRcdHR5cGU6IG1lc3NhZ2UudHlwZSxcblx0XHRcdFx0XHR0YXJnZXQ6IFtyb3dCaW5kaW5nUGF0aF0sXG5cdFx0XHRcdFx0cGVyc2lzdGVudDogdHJ1ZSxcblx0XHRcdFx0XHRwcm9jZXNzb3Jcblx0XHRcdCAgfSlcblx0XHRcdDogbnVsbDtcblxuXHRcdHRoaXMuY3VzdG9tTWVzc2FnZUluZm8ubWVzc2FnZU1hbmFnZXJEYXRhQmluZGluZy5kZXRhY2hDaGFuZ2UodGhpcy5fZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZSwgdGhpcyk7XG5cdFx0aWYgKCFza2lwTWVzc2FnZU1hbmFnZXJVcGRhdGUpIHtcblx0XHRcdGlmICh0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlKSB7XG5cdFx0XHRcdG1lc3NhZ2VNYW5hZ2VyLnJlbW92ZU1lc3NhZ2VzKFt0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlXSk7XG5cdFx0XHR9XG5cdFx0XHRpZiAob01lc3NhZ2UpIHtcblx0XHRcdFx0dGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZSA9IG9NZXNzYWdlO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0ZGVsZXRlIHRoaXMuY3VzdG9tTWVzc2FnZUluZm8uY3VycmVudE1lc3NhZ2U7XG5cdFx0XHR9XG5cdFx0XHRpZiAob01lc3NhZ2UgJiYgdGhpcy5fZ2V0TWVzc2FnZXNXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlKCkubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdG1lc3NhZ2VNYW5hZ2VyLmFkZE1lc3NhZ2VzKFtvTWVzc2FnZV0pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLm1lc3NhZ2VNYW5hZ2VyRGF0YUJpbmRpbmcuYXR0YWNoQ2hhbmdlKHRoaXMuX2V2ZW50SGFuZGxlckN1c3RvbU1lc3NhZ2UsIHRoaXMpO1xuXG5cdFx0dGhpcy5hdHRhY2hEYXRhU3RhdGVJbmRpY2F0b3JDbG9zZUV2ZW50KHRhYmxlLCBjdXN0b21NZXNzYWdlTWFwLCBtZXNzYWdlPy5vbkNsb3NlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGF0dGFjaGVzIHRoZSBvbkNsb3NlIGV2ZW50IGZ1bmN0aW9uIHRvIHRoZSBkYXRhU3RhdGVJbmRpY2F0b3IuXG5cdCAqXG5cdCAqIEBwYXJhbSB0YWJsZSBUaGUgdGFibGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhU3RhdGVJbmRpY2F0b3Jcblx0ICogQHBhcmFtIGN1c3RvbU1lc3NhZ2VNYXAgVGhlIEN1c3RvbU1lc3NhZ2VNYXAgb2JqZWN0XG5cdCAqIEBwYXJhbSBmbk9uQ2xvc2UgQSBmdW5jdGlvbiB0byBiZSBhdHRhY2hlZCB0byB0aGUgXCJjbG9zZVwiIGV2ZW50XG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5oZWxwZXJzLkxSTWVzc2FnZVN0cmlwI2F0dGFjaERhdGFTdGF0ZUluZGljYXRvckNsb3NlRXZlbnRcblx0ICogQHByaXZhdGVcblx0ICovXG5cdGF0dGFjaERhdGFTdGF0ZUluZGljYXRvckNsb3NlRXZlbnQoXG5cdFx0dGFibGU6IE1EQ1RhYmxlLFxuXHRcdGN1c3RvbU1lc3NhZ2VNYXA6IHsgW2tleTogc3RyaW5nXTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkIH0sXG5cdFx0Zm5PbkNsb3NlPzogRnVuY3Rpb25cblx0KSB7XG5cdFx0aWYgKGZuT25DbG9zZSkge1xuXHRcdFx0dGFibGUuZ2V0RGF0YVN0YXRlSW5kaWNhdG9yKCkuYXR0YWNoRXZlbnRPbmNlKFwiY2xvc2VcIiwgZm5PbkNsb3NlLCB0aGlzKTtcblx0XHR9XG5cdFx0Ly9XaGVuIGNsb3NpbmcgdGhlIHRoZSBtZXNzYWdlU3RyaXAsIHRoZSBhc3NvY2lhdGVkIG1lc3NhZ2UgaXMgcmVtb3ZlZFxuXHRcdHRhYmxlLmdldERhdGFTdGF0ZUluZGljYXRvcigpLmF0dGFjaEV2ZW50T25jZShcImNsb3NlXCIsICgpID0+IHtcblx0XHRcdGRlbGV0ZSBjdXN0b21NZXNzYWdlTWFwW3RhYmxlLmdldElkKCldO1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIE11bHRpcGxlTW9kZUNvbnRyb2wgRXZlbnQgaGFuZGxlciByZXNwb25zaWJsZSBmb3IgZGlzcGxheWluZyB0aGUgY29ycmVjdCBjdXN0b20gbWVzc2FnZSB3aGVuIGEgc3BlY2lmaWMgdGFiIGlzIHNlbGVjdGVkLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuaGVscGVycy5MUk1lc3NhZ2VTdHJpcCNvblNlbGVjdE11bHRpcGxlTW9kZUNvbnRyb2xcblx0ICogQHByaXZhdGVcblx0ICovXG5cblx0b25TZWxlY3RNdWx0aXBsZU1vZGVDb250cm9sKGV2ZW50OiBFdmVudCwgY29udHJvbGxlcjogTGlzdFJlcG9ydENvbnRyb2xsZXIpIHtcblx0XHRjb25zdCB0YWJsZSA9IGNvbnRyb2xsZXIuX2dldFRhYmxlKCkgYXMgTURDVGFibGU7XG5cdFx0Y29uc3QgbWVzc2FnZSA9IHRoaXMuY3VzdG9tTWVzc2FnZUluZm8ubXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwW3RhYmxlLmdldElkKCldO1xuXHRcdHRoaXMuY3JlYXRlQ3VzdG9tTWVzc2FnZShudWxsLCB7IG1lc3NhZ2UsIHRhYmxlIH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFByb3ZpZGUgYW4gb3B0aW9uIGZvciBzaG93aW5nIGEgY3VzdG9tIG1lc3NhZ2UgaW4gdGhlIG1lc3NhZ2UgYmFyIGFib3ZlIHRoZSBsaXN0IHJlcG9ydCB0YWJsZS5cblx0ICpcblx0ICogQHBhcmFtIHtvYmplY3R9IFttZXNzYWdlXSBDdXN0b20gbWVzc2FnZSBhbG9uZyB3aXRoIHRoZSBtZXNzYWdlIHR5cGUgdG8gYmUgc2V0IG9uIHRoZSB0YWJsZS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlLm1lc3NhZ2VdIE1lc3NhZ2Ugc3RyaW5nIHRvIGJlIGRpc3BsYXllZC5cblx0ICogQHBhcmFtIHtzYXAudWkuY29yZS5NZXNzYWdlVHlwZX0gW21lc3NhZ2UudHlwZV0gSW5kaWNhdGVzIHRoZSB0eXBlIG9mIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7TGlzdFJlcG9ydENvbnRyb2xsZXJ9IFtjb250cm9sbGVyXSBDb250cm9sbGVyIG9mIHRoZSBjdXJyZW50IHZpZXcuXG5cdCAqIEBwYXJhbSB7c3RyaW5nW118c3RyaW5nfSBbdGFiS2V5XSBUaGUgZW50aXR5U2V0IGlkZW50aWZ5aW5nIHRoZSB0YWJsZSBpbiB3aGljaCB0byBkaXNwbGF5IHRoZSBjdXN0b20gbWVzc2FnZS5cblx0ICogQHBhcmFtIHtGdW5jdGlvbn0gW29uQ2xvc2VdIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbG9zZXMgdGhlIG1lc3NhZ2UgYmFyLlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0c2hvd0N1c3RvbU1lc3NhZ2UoXG5cdFx0bWVzc2FnZTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkLFxuXHRcdGNvbnRyb2xsZXI6IExpc3RSZXBvcnRDb250cm9sbGVyLFxuXHRcdHRhYktleT86IHN0cmluZ1tdIHwgc3RyaW5nIHwgbnVsbCxcblx0XHRvbkNsb3NlPzogRnVuY3Rpb25cblx0KSB7XG5cdFx0Y29uc3QgX3RhYktleSA9IEFycmF5LmlzQXJyYXkodGFiS2V5KSA/IHRhYktleSA6IFt0YWJLZXldO1xuXHRcdGNvbnN0IGlzTXVsdGlNb2RlID0gY29udHJvbGxlci5faXNNdWx0aU1vZGUoKTtcblx0XHRsZXQgdGFibGU6IE1EQ1RhYmxlO1xuXHRcdGlmIChtZXNzYWdlKSB7XG5cdFx0XHRtZXNzYWdlLm9uQ2xvc2UgPSBvbkNsb3NlO1xuXHRcdH1cblx0XHRpZiAoaXNNdWx0aU1vZGUpIHtcblx0XHRcdGNvbnN0IG11bHRpcGxlTW9kZUNvbnRyb2wgPSBjb250cm9sbGVyLl9nZXRNdWx0aU1vZGVDb250cm9sKCk7XG5cdFx0XHQvL3dlIGZpc3J0IG5lZWQgdG8gZGV0YWNoIHRoZSBzZWxlY3QgZXZlbnQgdG8gcHJldmVudCBtdWx0aXBsZSBhdHRhY2htZW50cy5cblx0XHRcdG11bHRpcGxlTW9kZUNvbnRyb2wuZGV0YWNoRXZlbnQoXCJzZWxlY3RcIiwgdGhpcy5vblNlbGVjdE11bHRpcGxlTW9kZUNvbnRyb2wsIHRoaXMpO1xuXHRcdFx0bXVsdGlwbGVNb2RlQ29udHJvbC5hdHRhY2hFdmVudChcInNlbGVjdFwiLCBjb250cm9sbGVyLCB0aGlzLm9uU2VsZWN0TXVsdGlwbGVNb2RlQ29udHJvbCwgdGhpcyk7XG5cblx0XHRcdG11bHRpcGxlTW9kZUNvbnRyb2wuZ2V0QWxsSW5uZXJDb250cm9scyh0cnVlKS5mb3JFYWNoKChpbm5lckNvbnRyb2w6IElubmVyQ29udHJvbFR5cGUsIGluZGV4OiBudW1iZXIpID0+IHtcblx0XHRcdFx0aWYgKGlubmVyQ29udHJvbC5pc0EoXCJzYXAuZmUubWFjcm9zLnRhYmxlLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRcdFx0aWYgKCF0YWJLZXkgfHwgX3RhYktleS5pbmRleE9mKGluZGV4LnRvU3RyaW5nKCkpICE9PSAtMSkge1xuXHRcdFx0XHRcdFx0dGFibGUgPSAoaW5uZXJDb250cm9sIGFzIGFueSkuZ2V0Q29udGVudCgpO1xuXHRcdFx0XHRcdFx0dGhpcy5jcmVhdGVDdXN0b21NZXNzYWdlKG51bGwsIHtcblx0XHRcdFx0XHRcdFx0bWVzc2FnZSxcblx0XHRcdFx0XHRcdFx0dGFibGUsXG5cdFx0XHRcdFx0XHRcdHNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZTogbXVsdGlwbGVNb2RlQ29udHJvbC5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpICE9PSBpbm5lckNvbnRyb2xcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGFibGUgPSBjb250cm9sbGVyLl9nZXRUYWJsZSgpIGFzIE1EQ1RhYmxlO1xuXHRcdHRoaXMuY3JlYXRlQ3VzdG9tTWVzc2FnZShudWxsLCB7IG1lc3NhZ2UsIHRhYmxlIH0pO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7O01BZWFBLGNBQWM7SUFNMUIsMEJBQWM7TUFDYixJQUFNQyxjQUFjLEdBQUdDLElBQUksQ0FBQ0MsaUJBQWlCLEVBQUU7TUFDL0MsSUFBSSxDQUFDQyxpQkFBaUIsR0FBRztRQUN4QkMseUJBQXlCLEVBQUVKLGNBQWMsQ0FBQ0ssZUFBZSxFQUFFLENBQUNDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDekVDLDJCQUEyQixFQUFFLENBQUM7TUFDL0IsQ0FBQztJQUNGO0lBQUM7SUFBQTtJQUFBLE9BQ0RDLG9CQUFvQixHQUFwQixnQ0FBdUI7TUFDdEIsT0FBTyxJQUFJLENBQUNMLGlCQUFpQjtJQUM5QixDQUFDO0lBQUEsT0FDRE0sT0FBTyxHQUFQLG1CQUFVO01BQ1QsSUFBSSxDQUFDTixpQkFBaUIsQ0FBQ0MseUJBQXlCLENBQUNNLFlBQVksQ0FBQyxJQUFJLENBQUNDLDBCQUEwQixFQUFFLElBQUksQ0FBQztJQUNyRyxDQUFDO0lBQUEsT0FDREMsMkNBQTJDLEdBQTNDLHVEQUE4QztNQUFBO01BQzdDLElBQU1aLGNBQWMsR0FBR0MsSUFBSSxDQUFDQyxpQkFBaUIsRUFBRTtNQUMvQyxPQUFPRixjQUFjLENBQ25CSyxlQUFlLEVBQUUsQ0FDakJRLE9BQU8sRUFBRSxDQUNUQyxNQUFNLENB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
5
+ sap.ui.define(["sap/ui/core/Core","sap/ui/core/message/Message"],function(e,s){"use strict";var t={};let a=function(){function a(){const s=e.getMessageManager();this.customMessageInfo={messageManagerDataBinding:s.getMessageModel().bindList("/"),multiModeControlMessagesMap:{}}}t.LRMessageStrip=a;var n=a.prototype;n.getCustomMessageInfo=function e(){return this.customMessageInfo};n.destroy=function e(){this.customMessageInfo.messageManagerDataBinding.detachChange(this._eventHandlerCustomMessage,this)};n._getMessagesWithSameTargetThanCustomMessage=function s(){const t=e.getMessageManager();return t.getMessageModel().getData().filter(e=>{var s;return e.getTargets()[0]===((s=this.customMessageInfo.currentMessage)===null||s===void 0?void 0:s.getTargets()[0])&&e!==this.customMessageInfo.currentMessage})};n._eventHandlerCustomMessage=function s(){const t=e.getMessageManager();if(this.customMessageInfo.currentMessage){const e=this._getMessagesWithSameTargetThanCustomMessage();const s=!!t.getMessageModel().getData().find(e=>e===this.customMessageInfo.currentMessage);if(e.length>0&&s){var a;t.removeMessages([(a=this.customMessageInfo)===null||a===void 0?void 0:a.currentMessage])}else if(e.length===0&&!s){t.addMessages([this.customMessageInfo.currentMessage])}}};n.createCustomMessage=function t(a,n){var o,g;const i=n.message;const r=n.table;const c=n.skipMessageManagerUpdate;const M=(o=r.getRowBinding())===null||o===void 0?void 0:o.getPath();const l=e.getMessageManager();const u=this.customMessageInfo.multiModeControlMessagesMap;u[r.getId()]=i;if(!M){r.attachEventOnce("bindingUpdated",n,this.createCustomMessage,this);return}if((g=u[r.getId()])!==null&&g!==void 0&&g.onClose){var d;r.getDataStateIndicator().detachEvent("close",(d=u[r.getId()])===null||d===void 0?void 0:d.onClose,this)}const h=r.getModel();const m=i?new s({message:i.message,type:i.type,target:[M],persistent:true,processor:h}):null;this.customMessageInfo.messageManagerDataBinding.detachChange(this._eventHandlerCustomMessage,this);if(!c){if(this.customMessageInfo.currentMessage){l.removeMessages([this.customMessageInfo.currentMessage])}if(m){this.customMessageInfo.currentMessage=m}else{delete this.customMessageInfo.currentMessage}if(m&&this._getMessagesWithSameTargetThanCustomMessage().length===0){l.addMessages([m])}}this.customMessageInfo.messageManagerDataBinding.attachChange(this._eventHandlerCustomMessage,this);this.attachDataStateIndicatorCloseEvent(r,u,i===null||i===void 0?void 0:i.onClose)};n.attachDataStateIndicatorCloseEvent=function e(s,t,a){if(a){s.getDataStateIndicator().attachEventOnce("close",a,this)}s.getDataStateIndicator().attachEventOnce("close",()=>{delete t[s.getId()]})};n.onSelectMultipleModeControl=function e(s,t){const a=t._getTable();const n=this.customMessageInfo.multiModeControlMessagesMap[a.getId()];this.createCustomMessage(null,{message:n,table:a})};n.showCustomMessage=function e(s,t,a,n){const o=Array.isArray(a)?a:[a];const g=t._isMultiMode();let i;if(s){s.onClose=n}if(g){const e=t._getMultiModeControl();e.detachEvent("select",this.onSelectMultipleModeControl,this);e.attachEvent("select",t,this.onSelectMultipleModeControl,this);e.getAllInnerControls(true).forEach((t,n)=>{if(t.isA("sap.fe.macros.table.TableAPI")){if(!a||o.indexOf(n.toString())!==-1){i=t.getContent();this.createCustomMessage(null,{message:s,table:i,skipMessageManagerUpdate:e.getSelectedInnerControl()!==t})}}});return}i=t._getTable();this.createCustomMessage(null,{message:s,table:i})};return a}();t.LRMessageStrip=a;return t},false);
6
+ //# sourceMappingURL=LRMessageStrip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LRMessageStrip.js","names":["sap","ui","define","Core","Message","_exports","LRMessageStrip","messageManager","getMessageManager","this","customMessageInfo","messageManagerDataBinding","getMessageModel","bindList","multiModeControlMessagesMap","_proto","prototype","getCustomMessageInfo","destroy","detachChange","_eventHandlerCustomMessage","_getMessagesWithSameTargetThanCustomMessage","getData","filter","msg","_this$customMessageIn","getTargets","currentMessage","aMessageWithSameTargetThanCustomMessage","isCustomMessageInMessageManager","find","length","_this$customMessageIn2","removeMessages","addMessages","createCustomMessage","event","oData","_table$getRowBinding","_customMessageMap$tab","message","table","skipMessageManagerUpdate","rowBindingPath","getRowBinding","getPath","customMessageMap","getId","attachEventOnce","onClose","_customMessageMap$tab2","getDataStateIndicator","detachEvent","processor","getModel","oMessage","type","target","persistent","attachChange","attachDataStateIndicatorCloseEvent","fnOnClose","onSelectMultipleModeControl","controller","_getTable","showCustomMessage","tabKey","_tabKey","Array","isArray","isMultiMode","_isMultiMode","multipleModeControl","_getMultiModeControl","attachEvent","getAllInnerControls","forEach","innerControl","index","isA","indexOf","toString","getContent","getSelectedInnerControl"],"sources":["LRMessageStrip-dbg.js"],"mappings":"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"}
@@ -66,6 +66,7 @@
66
66
  <macro:KPITag
67
67
  id="{kpi>id}"
68
68
  metaPath="{datapoint>annotationPath}"
69
+ kpiModelName="kpiModel"
69
70
  hasUnit="{= ${datapoint>unit} !== undefined}"
70
71
  />
71
72
  </template:with>