@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.
- package/package.json +2 -20
- package/src/sap/fe/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/Component-dbg.js +21 -0
- package/src/sap/fe/templates/AnalyticalListPage/Component.js +3 -18
- package/src/sap/fe/templates/AnalyticalListPage/Component.js.map +1 -0
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate-dbg.js +32 -0
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +3 -29
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js.map +1 -0
- package/src/sap/fe/templates/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/fe/templates/ListComponent-dbg.js +146 -0
- package/src/sap/fe/templates/ListComponent.js +3 -143
- package/src/sap/fe/templates/ListComponent.js.map +1 -0
- package/src/sap/fe/templates/ListReport/Component-dbg.js +77 -0
- package/src/sap/fe/templates/ListReport/Component.js +3 -74
- package/src/sap/fe/templates/ListReport/Component.js.map +1 -0
- package/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +147 -0
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js +3 -144
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js.map +1 -0
- package/src/sap/fe/templates/ListReport/LRMessageStrip-dbg.js +191 -0
- package/src/sap/fe/templates/ListReport/LRMessageStrip.js +3 -193
- package/src/sap/fe/templates/ListReport/LRMessageStrip.js.map +1 -0
- package/src/sap/fe/templates/ListReport/ListReport.view.xml +1 -0
- package/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +799 -0
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +3 -832
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js.map +1 -0
- package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +6 -24
- package/src/sap/fe/templates/ListReport/ListReportTemplating-dbg.js +40 -0
- package/src/sap/fe/templates/ListReport/ListReportTemplating.js +3 -37
- package/src/sap/fe/templates/ListReport/ListReportTemplating.js.map +1 -0
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl-dbg.js +375 -0
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +3 -378
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js.map +1 -0
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.ts +10 -3
- package/src/sap/fe/templates/ListReport/manifest.json +1 -1
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation-dbg.js +53 -0
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +3 -50
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js.map +1 -0
- package/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +109 -0
- package/src/sap/fe/templates/ListReport/overrides/Share.js +3 -107
- package/src/sap/fe/templates/ListReport/overrides/Share.js.map +1 -0
- package/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +481 -0
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js +3 -428
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js.map +1 -0
- package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +164 -32
- package/src/sap/fe/templates/ListReport/view/fragments/CustomView.fragment.xml +0 -3
- package/src/sap/fe/templates/ListReport/view/fragments/MacroChart.fragment.xml +2 -0
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode-dbg.fragment.js +123 -0
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +29 -63
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js.map +1 -0
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +2 -2
- package/src/sap/fe/templates/ObjectPage/Component-dbg.js +150 -0
- package/src/sap/fe/templates/ObjectPage/Component.js +3 -148
- package/src/sap/fe/templates/ObjectPage/Component.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/ExtendPageDefinition-dbg.js +57 -0
- package/src/sap/fe/templates/ObjectPage/ExtendPageDefinition.js +3 -61
- package/src/sap/fe/templates/ObjectPage/ExtendPageDefinition.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +222 -0
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +3 -243
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +2 -2
- package/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +1413 -0
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +3 -1534
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +11 -14
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating-dbg.js +851 -0
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +3 -851
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +14 -4
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton-dbg.js +147 -0
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.js +3 -144
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.tsx +5 -6
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +111 -0
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +3 -108
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/controls/StashableVBox-dbg.js +24 -0
- package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +3 -21
- package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock-dbg.js +79 -0
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +3 -76
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/designtime/FlexBox-dbg.designtime.js +23 -0
- package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +3 -20
- package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox-dbg.designtime.js +52 -0
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +3 -49
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox-dbg.designtime.js +38 -0
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +3 -35
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/flexibility/ScrollableHeaderContainer.flexibility-dbg.js +28 -0
- package/src/sap/fe/templates/ObjectPage/flexibility/ScrollableHeaderContainer.flexibility.js +3 -29
- package/src/sap/fe/templates/ObjectPage/flexibility/ScrollableHeaderContainer.flexibility.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility-dbg.js +19 -0
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +3 -16
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility-dbg.js +15 -0
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +3 -12
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/manifest.json +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation-dbg.js +54 -0
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +3 -51
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting-dbg.js +36 -0
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +3 -33
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler-dbg.js +16 -0
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +3 -13
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator-dbg.js +27 -0
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +3 -24
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/overrides/Share-dbg.js +276 -0
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js +3 -293
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +69 -0
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +3 -63
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js.map +1 -0
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +3 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +2 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +1 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/MacroChart.fragment.xml +2 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderContact.fragment.xml +2 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +12 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +0 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +0 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +0 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionCustomSection.fragment.xml +2 -9
- package/src/sap/fe/templates/ObjectPage/view/fragments/SideContentCustomContainer.fragment.xml +1 -2
- package/src/sap/fe/templates/TableScroller-dbg.js +49 -0
- package/src/sap/fe/templates/TableScroller.js +3 -46
- package/src/sap/fe/templates/TableScroller.js.map +1 -0
- package/src/sap/fe/templates/designtime/library-preload.designtime.js +17 -0
- package/src/sap/fe/templates/designtime/library-preload.designtime.js.map +1 -0
- package/src/sap/fe/templates/library-dbg.js +66 -0
- package/src/sap/fe/templates/library-preload.js +236 -0
- package/src/sap/fe/templates/library-preload.js.map +1 -0
- package/src/sap/fe/templates/library.js +3 -56
- package/src/sap/fe/templates/library.js.map +1 -0
- package/src/sap/fe/templates/library.ts +4 -0
- package/src/sap/fe/templates/manifest.json +109 -0
- package/src/sap/fe/templates/messagebundle_fr.properties +1 -1
|
@@ -1,381 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log",
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
|
|
9
|
-
var property = ClassSupport.property;
|
|
10
|
-
var event = ClassSupport.event;
|
|
11
|
-
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
12
|
-
var association = ClassSupport.association;
|
|
13
|
-
var aggregation = ClassSupport.aggregation;
|
|
14
|
-
function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
|
|
15
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
16
|
-
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
17
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
18
|
-
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
|
19
|
-
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
|
|
20
|
-
var BindingAction;
|
|
21
|
-
(function (BindingAction) {
|
|
22
|
-
BindingAction["Suspend"] = "suspendBinding";
|
|
23
|
-
BindingAction["Resume"] = "resumeBinding";
|
|
24
|
-
})(BindingAction || (BindingAction = {}));
|
|
25
|
-
var MultipleModeControl = (_dec = defineUI5Class("sap.fe.templates.ListReport.controls.MultipleModeControl"), _dec2 = property({
|
|
26
|
-
type: "boolean"
|
|
27
|
-
}), _dec3 = property({
|
|
28
|
-
type: "boolean",
|
|
29
|
-
defaultValue: false
|
|
30
|
-
}), _dec4 = property({
|
|
31
|
-
type: "boolean",
|
|
32
|
-
defaultValue: false
|
|
33
|
-
}), _dec5 = aggregation({
|
|
34
|
-
type: "sap.m.IconTabBar",
|
|
35
|
-
multiple: false,
|
|
36
|
-
isDefault: true
|
|
37
|
-
}), _dec6 = association({
|
|
38
|
-
type: "sap.ui.core.Control",
|
|
39
|
-
multiple: true
|
|
40
|
-
}), _dec7 = association({
|
|
41
|
-
type: "sap.fe.core.controls.FilterBar",
|
|
42
|
-
multiple: false
|
|
43
|
-
}), _dec8 = event(), _dec(_class = (_class2 = /*#__PURE__*/function (_Control) {
|
|
44
|
-
_inheritsLoose(MultipleModeControl, _Control);
|
|
45
|
-
function MultipleModeControl() {
|
|
46
|
-
var _this;
|
|
47
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
48
|
-
args[_key] = arguments[_key];
|
|
49
|
-
}
|
|
50
|
-
_this = _Control.call.apply(_Control, [this].concat(args)) || this;
|
|
51
|
-
_initializerDefineProperty(_this, "showCounts", _descriptor, _assertThisInitialized(_this));
|
|
52
|
-
_initializerDefineProperty(_this, "freezeContent", _descriptor2, _assertThisInitialized(_this));
|
|
53
|
-
_initializerDefineProperty(_this, "countsOutDated", _descriptor3, _assertThisInitialized(_this));
|
|
54
|
-
_initializerDefineProperty(_this, "content", _descriptor4, _assertThisInitialized(_this));
|
|
55
|
-
_initializerDefineProperty(_this, "innerControls", _descriptor5, _assertThisInitialized(_this));
|
|
56
|
-
_initializerDefineProperty(_this, "filterControl", _descriptor6, _assertThisInitialized(_this));
|
|
57
|
-
_initializerDefineProperty(_this, "select", _descriptor7, _assertThisInitialized(_this));
|
|
58
|
-
return _this;
|
|
59
|
-
}
|
|
60
|
-
var _proto = MultipleModeControl.prototype;
|
|
61
|
-
_proto.onBeforeRendering = function onBeforeRendering() {
|
|
62
|
-
var _this2 = this;
|
|
63
|
-
this.getTabsModel(); // Generate the model which is mandatory for some bindings
|
|
64
|
-
|
|
65
|
-
var oFilterControl = this._getFilterControl();
|
|
66
|
-
if (!oFilterControl) {
|
|
67
|
-
// In case there's no filterbar, we have to update the counts in the tabs immediately
|
|
68
|
-
this.setCountsOutDated(true);
|
|
69
|
-
}
|
|
70
|
-
var oFilterBarAPI = oFilterControl === null || oFilterControl === void 0 ? void 0 : oFilterControl.getParent();
|
|
71
|
-
this.getAllInnerControls().forEach(function (oMacroAPI) {
|
|
72
|
-
var _oMacroAPI$suspendBin;
|
|
73
|
-
if (_this2.showCounts) {
|
|
74
|
-
oMacroAPI.attachEvent("internalDataRequested", _this2._refreshTabsCount.bind(_this2));
|
|
75
|
-
}
|
|
76
|
-
(_oMacroAPI$suspendBin = oMacroAPI.suspendBinding) === null || _oMacroAPI$suspendBin === void 0 ? void 0 : _oMacroAPI$suspendBin.call(oMacroAPI);
|
|
77
|
-
});
|
|
78
|
-
if (oFilterBarAPI) {
|
|
79
|
-
oFilterBarAPI.attachEvent("internalSearch", this._onSearch.bind(this));
|
|
80
|
-
oFilterBarAPI.attachEvent("internalFilterChanged", this._onFilterChanged.bind(this));
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
_proto.onAfterRendering = function onAfterRendering() {
|
|
84
|
-
var _this$getSelectedInne, _this$getSelectedInne2;
|
|
85
|
-
(_this$getSelectedInne = this.getSelectedInnerControl()) === null || _this$getSelectedInne === void 0 ? void 0 : (_this$getSelectedInne2 = _this$getSelectedInne.resumeBinding) === null || _this$getSelectedInne2 === void 0 ? void 0 : _this$getSelectedInne2.call(_this$getSelectedInne, !this.getProperty("freezeContent"));
|
|
86
|
-
};
|
|
87
|
-
MultipleModeControl.render = function render(oRm, oControl) {
|
|
88
|
-
oRm.renderControl(oControl.content);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Gets the model containing information related to the IconTabFilters.
|
|
93
|
-
*
|
|
94
|
-
* @returns {sap.ui.model.Model | undefined} The model
|
|
95
|
-
*/;
|
|
96
|
-
_proto.getTabsModel = function getTabsModel() {
|
|
97
|
-
var sTabsModel = "tabsInternal";
|
|
98
|
-
var oContent = this.content;
|
|
99
|
-
if (!oContent) {
|
|
100
|
-
return undefined;
|
|
101
|
-
}
|
|
102
|
-
var oModel = oContent.getModel(sTabsModel);
|
|
103
|
-
if (!oModel) {
|
|
104
|
-
oModel = new JSONModel({});
|
|
105
|
-
oContent.setModel(oModel, sTabsModel);
|
|
106
|
-
}
|
|
107
|
-
return oModel;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Gets the inner control of the displayed tab.
|
|
112
|
-
*
|
|
113
|
-
* @returns {InnerControlType | undefined} The control
|
|
114
|
-
*/;
|
|
115
|
-
_proto.getSelectedInnerControl = function getSelectedInnerControl() {
|
|
116
|
-
var _this$content,
|
|
117
|
-
_this3 = this;
|
|
118
|
-
var oSelectedTab = (_this$content = this.content) === null || _this$content === void 0 ? void 0 : _this$content.getItems().find(function (oItem) {
|
|
119
|
-
return oItem.getKey() === _this3.content.getSelectedKey();
|
|
120
|
-
});
|
|
121
|
-
return oSelectedTab ? this.getAllInnerControls().find(function (oMacroAPI) {
|
|
122
|
-
return _this3._getTabFromInnerControl(oMacroAPI) === oSelectedTab;
|
|
123
|
-
}) : undefined;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Manages the binding of all inner controls when the selected IconTabFilter is changed.
|
|
128
|
-
*
|
|
129
|
-
* @param {sap.ui.base.Event} oEvent Event fired by the IconTabBar
|
|
130
|
-
*/;
|
|
131
|
-
MultipleModeControl.handleTabChange = function handleTabChange(oEvent) {
|
|
132
|
-
var _oMultiControl$_getVi, _oMultiControl$_getVi2;
|
|
133
|
-
var oIconTabBar = oEvent.getSource();
|
|
134
|
-
var oMultiControl = oIconTabBar.getParent();
|
|
135
|
-
var mParameters = oEvent.getParameters();
|
|
136
|
-
oMultiControl._setInnerBinding(true);
|
|
137
|
-
var sPreviousSelectedKey = mParameters === null || mParameters === void 0 ? void 0 : mParameters.previousKey;
|
|
138
|
-
var sSelectedKey = mParameters === null || mParameters === void 0 ? void 0 : mParameters.selectedKey;
|
|
139
|
-
if (sSelectedKey && sPreviousSelectedKey !== sSelectedKey) {
|
|
140
|
-
var oFilterBar = oMultiControl._getFilterControl();
|
|
141
|
-
if (oFilterBar && !oMultiControl.getProperty("freezeContent")) {
|
|
142
|
-
if (!oMultiControl.getSelectedInnerControl()) {
|
|
143
|
-
//custom tab
|
|
144
|
-
oMultiControl._refreshCustomView(oFilterBar.getFilterConditions(), "tabChanged");
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
ControlPersonalizationWriteAPI.add({
|
|
148
|
-
changes: [{
|
|
149
|
-
changeSpecificData: {
|
|
150
|
-
changeType: "selectIconTabBarFilter",
|
|
151
|
-
content: {
|
|
152
|
-
selectedKey: sSelectedKey,
|
|
153
|
-
previousSelectedKey: sPreviousSelectedKey
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
selectorElement: oIconTabBar
|
|
157
|
-
}]
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
(_oMultiControl$_getVi = oMultiControl._getViewController()) === null || _oMultiControl$_getVi === void 0 ? void 0 : (_oMultiControl$_getVi2 = _oMultiControl$_getVi.getExtensionAPI()) === null || _oMultiControl$_getVi2 === void 0 ? void 0 : _oMultiControl$_getVi2.updateAppState();
|
|
161
|
-
oMultiControl.fireEvent("select", {
|
|
162
|
-
iconTabBar: oIconTabBar,
|
|
163
|
-
selectedKey: sSelectedKey,
|
|
164
|
-
previousKey: sPreviousSelectedKey
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Invalidates the content of all inner controls.
|
|
170
|
-
*/;
|
|
171
|
-
_proto.invalidateContent = function invalidateContent() {
|
|
172
|
-
this.setCountsOutDated(true);
|
|
173
|
-
this.getAllInnerControls().forEach(function (oMacroAPI) {
|
|
174
|
-
var _oMacroAPI$invalidate;
|
|
175
|
-
(_oMacroAPI$invalidate = oMacroAPI.invalidateContent) === null || _oMacroAPI$invalidate === void 0 ? void 0 : _oMacroAPI$invalidate.call(oMacroAPI);
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Sets the counts to out of date or up to date
|
|
181
|
-
* If the counts are set to "out of date" and the selected IconTabFilter doesn't contain an inner control all inner controls are requested to get the new counts.
|
|
182
|
-
*
|
|
183
|
-
* @param {boolean} bValue Freeze or not the control
|
|
184
|
-
*/;
|
|
185
|
-
_proto.setCountsOutDated = function setCountsOutDated() {
|
|
186
|
-
var bValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
187
|
-
this.setProperty("countsOutDated", bValue);
|
|
188
|
-
// if the current tab is not configured with no inner Control
|
|
189
|
-
// the tab counts must be manually refreshed since no Macro API will sent event internalDataRequested
|
|
190
|
-
if (bValue && !this.getSelectedInnerControl()) {
|
|
191
|
-
this._refreshTabsCount();
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Freezes the content :
|
|
197
|
-
* - content is frozen: the binding of the inner controls are suspended.
|
|
198
|
-
* - content is unfrozen: the binding of inner control related to the selected IconTabFilter is resumed.
|
|
199
|
-
*
|
|
200
|
-
* @param {boolean} bValue Freeze or not the control
|
|
201
|
-
*/;
|
|
202
|
-
_proto.setFreezeContent = function setFreezeContent(bValue) {
|
|
203
|
-
this.setProperty("freezeContent", bValue);
|
|
204
|
-
this._setInnerBinding();
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Updates the internal model with the properties that are not applicable on each IconTabFilter (containing inner control) according to the entityType of the filter control.
|
|
209
|
-
*
|
|
210
|
-
* @param oResourceBundle
|
|
211
|
-
*/;
|
|
212
|
-
_proto._updateMultiTabNotApplicableFields = function _updateMultiTabNotApplicableFields(oResourceBundle) {
|
|
213
|
-
var _this4 = this;
|
|
214
|
-
var tabsModel = this.getTabsModel();
|
|
215
|
-
var oFilterControl = this._getFilterControl();
|
|
216
|
-
if (tabsModel && oFilterControl) {
|
|
217
|
-
var results = {};
|
|
218
|
-
this.getAllInnerControls().forEach(function (oMacroAPI) {
|
|
219
|
-
var oTab = _this4._getTabFromInnerControl(oMacroAPI);
|
|
220
|
-
if (oTab) {
|
|
221
|
-
var _oMacroAPI$refreshNot;
|
|
222
|
-
var sTabId = oTab.getKey();
|
|
223
|
-
var mIgnoredFields = ((_oMacroAPI$refreshNot = oMacroAPI.refreshNotApplicableFields) === null || _oMacroAPI$refreshNot === void 0 ? void 0 : _oMacroAPI$refreshNot.call(oMacroAPI, oFilterControl)) || [];
|
|
224
|
-
results[sTabId] = {
|
|
225
|
-
notApplicable: {
|
|
226
|
-
fields: mIgnoredFields,
|
|
227
|
-
title: _this4._setTabMessageStrip({
|
|
228
|
-
entityTypePath: oFilterControl.data("entityType"),
|
|
229
|
-
ignoredFields: mIgnoredFields,
|
|
230
|
-
resourceBundle: oResourceBundle,
|
|
231
|
-
title: oTab.getText()
|
|
232
|
-
})
|
|
233
|
-
}
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
tabsModel.setData(results);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* Gets the inner controls.
|
|
243
|
-
*
|
|
244
|
-
* @param {boolean} bOnlyForVisibleTab Should display only the visible controls
|
|
245
|
-
* @returns {InnerControlType[]} An array of controls
|
|
246
|
-
*/;
|
|
247
|
-
_proto.getAllInnerControls = function getAllInnerControls() {
|
|
248
|
-
var _this5 = this;
|
|
249
|
-
var bOnlyForVisibleTab = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
250
|
-
return this.innerControls.reduce(function (aInnerControls, sInnerControl) {
|
|
251
|
-
var oControl = Core.byId(sInnerControl);
|
|
252
|
-
if (oControl) {
|
|
253
|
-
aInnerControls.push(oControl);
|
|
254
|
-
}
|
|
255
|
-
return aInnerControls.filter(function (oInnerControl) {
|
|
256
|
-
var _this5$_getTabFromInn;
|
|
257
|
-
return !bOnlyForVisibleTab || ((_this5$_getTabFromInn = _this5._getTabFromInnerControl(oInnerControl)) === null || _this5$_getTabFromInn === void 0 ? void 0 : _this5$_getTabFromInn.getVisible());
|
|
258
|
-
});
|
|
259
|
-
}, []) || [];
|
|
260
|
-
};
|
|
261
|
-
_proto._getFilterControl = function _getFilterControl() {
|
|
262
|
-
return Core.byId(this.filterControl);
|
|
263
|
-
};
|
|
264
|
-
_proto._getTabFromInnerControl = function _getTabFromInnerControl(oControl) {
|
|
265
|
-
var sSupportedClass = IconTabFilter.getMetadata().getName();
|
|
266
|
-
var oTab = oControl;
|
|
267
|
-
if (oTab && !oTab.isA(sSupportedClass) && oTab.getParent) {
|
|
268
|
-
oTab = oControl.getParent();
|
|
269
|
-
}
|
|
270
|
-
return oTab && oTab.isA(sSupportedClass) ? oTab : undefined;
|
|
271
|
-
};
|
|
272
|
-
_proto._getViewController = function _getViewController() {
|
|
273
|
-
var oView = CommonUtils.getTargetView(this);
|
|
274
|
-
return oView && oView.getController();
|
|
275
|
-
};
|
|
276
|
-
_proto._refreshCustomView = function _refreshCustomView(oFilterConditions, sRefreshCause) {
|
|
277
|
-
var _this$_getViewControl, _this$_getViewControl2;
|
|
278
|
-
(_this$_getViewControl = this._getViewController()) === null || _this$_getViewControl === void 0 ? void 0 : (_this$_getViewControl2 = _this$_getViewControl.onViewNeedsRefresh) === null || _this$_getViewControl2 === void 0 ? void 0 : _this$_getViewControl2.call(_this$_getViewControl, {
|
|
279
|
-
filterConditions: oFilterConditions,
|
|
280
|
-
currentTabId: this.content.getSelectedKey(),
|
|
281
|
-
refreshCause: sRefreshCause
|
|
282
|
-
});
|
|
283
|
-
};
|
|
284
|
-
_proto._refreshTabsCount = function _refreshTabsCount() {
|
|
285
|
-
var _this$content2,
|
|
286
|
-
_this6 = this;
|
|
287
|
-
var sSelectedKey = (_this$content2 = this.content) === null || _this$content2 === void 0 ? void 0 : _this$content2.getSelectedKey();
|
|
288
|
-
this.getAllInnerControls(true).forEach(function (oMacroAPI) {
|
|
289
|
-
var oIconTabFilter = _this6._getTabFromInnerControl(oMacroAPI);
|
|
290
|
-
if (oMacroAPI !== null && oMacroAPI !== void 0 && oMacroAPI.getCounts && (_this6.countsOutDated || sSelectedKey === (oIconTabFilter === null || oIconTabFilter === void 0 ? void 0 : oIconTabFilter.getKey()))) {
|
|
291
|
-
if (oIconTabFilter && oIconTabFilter.setCount) {
|
|
292
|
-
oIconTabFilter.setCount("...");
|
|
293
|
-
oMacroAPI.getCounts().then(function (iCount) {
|
|
294
|
-
return oIconTabFilter.setCount(iCount || "0");
|
|
295
|
-
}).catch(function (oError) {
|
|
296
|
-
Log.error("Error while requesting Counts for Control", oError);
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
});
|
|
301
|
-
this.setCountsOutDated(false);
|
|
302
|
-
};
|
|
303
|
-
_proto._setInnerBinding = function _setInnerBinding() {
|
|
304
|
-
var _this7 = this;
|
|
305
|
-
var bRequestIfNotInitialized = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
306
|
-
if (this.content) {
|
|
307
|
-
this.getAllInnerControls().forEach(function (oMacroAPI) {
|
|
308
|
-
var _oMacroAPI$sAction;
|
|
309
|
-
var oIconTabFilter = _this7._getTabFromInnerControl(oMacroAPI);
|
|
310
|
-
var bIsSelectedKey = (oIconTabFilter === null || oIconTabFilter === void 0 ? void 0 : oIconTabFilter.getKey()) === _this7.content.getSelectedKey();
|
|
311
|
-
var sAction = bIsSelectedKey && !_this7.getProperty("freezeContent") ? BindingAction.Resume : BindingAction.Suspend;
|
|
312
|
-
(_oMacroAPI$sAction = oMacroAPI[sAction]) === null || _oMacroAPI$sAction === void 0 ? void 0 : _oMacroAPI$sAction.call(oMacroAPI, sAction === BindingAction.Resume ? bRequestIfNotInitialized && bIsSelectedKey : undefined);
|
|
313
|
-
});
|
|
314
|
-
}
|
|
315
|
-
};
|
|
316
|
-
_proto._setTabMessageStrip = function _setTabMessageStrip(properties) {
|
|
317
|
-
var sText = "";
|
|
318
|
-
var aIgnoredFields = properties.ignoredFields;
|
|
319
|
-
var oFilterControl = this._getFilterControl();
|
|
320
|
-
if (oFilterControl && Array.isArray(aIgnoredFields) && aIgnoredFields.length > 0 && properties.title) {
|
|
321
|
-
var aIgnoredLabels = MessageStrip.getLabels(aIgnoredFields, properties.entityTypePath, oFilterControl, properties.resourceBundle);
|
|
322
|
-
sText = MessageStrip.getText(aIgnoredLabels, oFilterControl, properties.title, DelegateUtil.getLocalizedText);
|
|
323
|
-
return sText;
|
|
324
|
-
}
|
|
325
|
-
};
|
|
326
|
-
_proto._onSearch = function _onSearch(oEvent) {
|
|
327
|
-
this.setCountsOutDated(true);
|
|
328
|
-
this.setFreezeContent(false);
|
|
329
|
-
if (this.getSelectedInnerControl()) {
|
|
330
|
-
var _this$_getViewControl3;
|
|
331
|
-
this._updateMultiTabNotApplicableFields((_this$_getViewControl3 = this._getViewController()) === null || _this$_getViewControl3 === void 0 ? void 0 : _this$_getViewControl3.oResourceBundle);
|
|
332
|
-
} else {
|
|
333
|
-
// custom tab
|
|
334
|
-
this._refreshCustomView(oEvent.getParameter("conditions"), "search");
|
|
335
|
-
}
|
|
336
|
-
};
|
|
337
|
-
_proto._onFilterChanged = function _onFilterChanged(oEvent) {
|
|
338
|
-
if (oEvent.getParameter("conditionsBased")) {
|
|
339
|
-
this.setFreezeContent(true);
|
|
340
|
-
}
|
|
341
|
-
};
|
|
342
|
-
return MultipleModeControl;
|
|
343
|
-
}(Control), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "showCounts", [_dec2], {
|
|
344
|
-
configurable: true,
|
|
345
|
-
enumerable: true,
|
|
346
|
-
writable: true,
|
|
347
|
-
initializer: null
|
|
348
|
-
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "freezeContent", [_dec3], {
|
|
349
|
-
configurable: true,
|
|
350
|
-
enumerable: true,
|
|
351
|
-
writable: true,
|
|
352
|
-
initializer: null
|
|
353
|
-
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "countsOutDated", [_dec4], {
|
|
354
|
-
configurable: true,
|
|
355
|
-
enumerable: true,
|
|
356
|
-
writable: true,
|
|
357
|
-
initializer: null
|
|
358
|
-
}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "content", [_dec5], {
|
|
359
|
-
configurable: true,
|
|
360
|
-
enumerable: true,
|
|
361
|
-
writable: true,
|
|
362
|
-
initializer: null
|
|
363
|
-
}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, "innerControls", [_dec6], {
|
|
364
|
-
configurable: true,
|
|
365
|
-
enumerable: true,
|
|
366
|
-
writable: true,
|
|
367
|
-
initializer: null
|
|
368
|
-
}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, "filterControl", [_dec7], {
|
|
369
|
-
configurable: true,
|
|
370
|
-
enumerable: true,
|
|
371
|
-
writable: true,
|
|
372
|
-
initializer: null
|
|
373
|
-
}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, "select", [_dec8], {
|
|
374
|
-
configurable: true,
|
|
375
|
-
enumerable: true,
|
|
376
|
-
writable: true,
|
|
377
|
-
initializer: null
|
|
378
|
-
})), _class2)) || _class);
|
|
379
|
-
return MultipleModeControl;
|
|
380
|
-
}, false);
|
|
381
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCaW5kaW5nQWN0aW9uIiwiTXVsdGlwbGVNb2RlQ29udHJvbCIsImRlZmluZVVJNUNsYXNzIiwicHJvcGVydHkiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiYWdncmVnYXRpb24iLCJtdWx0aXBsZSIsImlzRGVmYXVsdCIsImFzc29jaWF0aW9uIiwiZXZlbnQiLCJvbkJlZm9yZVJlbmRlcmluZyIsImdldFRhYnNNb2RlbCIsIm9GaWx0ZXJDb250cm9sIiwiX2dldEZpbHRlckNvbnRyb2wiLCJzZXRDb3VudHNPdXREYXRlZCIsIm9GaWx0ZXJCYXJBUEkiLCJnZXRQYXJlbnQiLCJnZXRBbGxJbm5lckNvbnRyb2xzIiwiZm9yRWFjaCIsIm9NYWNyb0FQSSIsInNob3dDb3VudHMiLCJhdHRhY2hFdmVudCIsIl9yZWZyZXNoVGFic0NvdW50IiwiYmluZCIsInN1c3BlbmRCaW5kaW5nIiwiX29uU2VhcmNoIiwiX29uRmlsdGVyQ2hhbmdlZCIsIm9uQWZ0ZXJSZW5kZXJpbmciLCJnZXRTZWxlY3RlZElubmVyQ29udHJvbCIsInJlc3VtZUJpbmRpbmciLCJnZXRQcm9wZXJ0eSIsInJlbmRlciIsIm9SbSIsIm9Db250cm9sIiwicmVuZGVyQ29udHJvbCIsImNvbnRlbnQiLCJzVGFic01vZGVsIiwib0NvbnRlbnQiLCJ1bmRlZmluZWQiLCJvTW9kZWwiLCJnZXRNb2RlbCIsIkpTT05Nb2RlbCIsInNldE1vZGVsIiwib1NlbGVjdGVkVGFiIiwiZ2V0SXRlbXMiLCJmaW5kIiwib0l0ZW0iLCJnZXRLZXkiLCJnZXRTZWxlY3RlZEtleSIsIl9nZXRUYWJGcm9tSW5uZXJDb250cm9sIiwiaGFuZGxlVGFiQ2hhbmdlIiwib0V2ZW50Iiwib0ljb25UYWJCYXIiLCJnZXRTb3VyY2UiLCJvTXVsdGlDb250cm9sIiwibVBhcmFtZXRlcnMiLCJnZXRQYXJhbWV0ZXJzIiwiX3NldElubmVyQmluZGluZyIsInNQcmV2aW91c1NlbGVjdGVkS2V5IiwicHJldmlvdXNLZXkiLCJzU2VsZWN0ZWRLZXkiLCJzZWxlY3RlZEtleSIsIm9GaWx0ZXJCYXIiLCJfcmVmcmVzaEN1c3RvbVZpZXciLCJnZXRGaWx0ZXJDb25kaXRpb25zIiwiQ29udHJvbFBlcnNvbmFsaXphdGlvbldyaXRlQVBJIiwiYWRkIiwiY2hhbmdlcyIsImNoYW5nZVNwZWNpZmljRGF0YSIsImNoYW5nZVR5cGUiLCJwcmV2aW91c1NlbGVjdGVkS2V5Iiwic2VsZWN0b3JFbGVtZW50IiwiX2dldFZpZXdDb250cm9sbGVyIiwiZ2V0RXh0ZW5zaW9uQVBJIiwidXBkYXRlQXBwU3RhdGUiLCJmaXJlRXZlbnQiLCJpY29uVGFiQmFyIiwiaW52YWxpZGF0ZUNvbnRlbnQiLCJiVmFsdWUiLCJzZXRQcm9wZXJ0eSIsInNldEZyZWV6ZUNvbnRlbnQiLCJfdXBkYXRlTXVsdGlUYWJOb3RBcHBsaWNhYmxlRmllbGRzIiwib1Jlc291cmNlQnVuZGxlIiwidGFic01vZGVsIiwicmVzdWx0cyIsIm9UYWIiLCJzVGFiSWQiLCJtSWdub3JlZEZpZWxkcyIsInJlZnJlc2hOb3RBcHBsaWNhYmxlRmllbGRzIiwibm90QXBwbGljYWJsZSIsImZpZWxkcyIsInRpdGxlIiwiX3NldFRhYk1lc3NhZ2VTdHJpcCIsImVudGl0eVR5cGVQYXRoIiwiZGF0YSIsImlnbm9yZWRGaWVsZHMiLCJyZXNvdXJjZUJ1bmRsZSIsImdldFRleHQiLCJzZXREYXRhIiwiYk9ubHlGb3JWaXNpYmxlVGFiIiwiaW5uZXJDb250cm9scyIsInJlZHVjZSIsImFJbm5lckNvbnRyb2xzIiwic0lubmVyQ29udHJvbCIsIkNvcmUiLCJieUlkIiwicHVzaCIsImZpbHRlciIsIm9Jbm5lckNvbnRyb2wiLCJnZXRWaXNpYmxlIiwiZmlsdGVyQ29udHJvbCIsInNTdXBwb3J0ZWRDbGFzcyIsIkljb25UYWJGaWx0ZXIiLCJnZXRNZXRhZGF0YSIsImdldE5hbWUiLCJpc0EiLCJvVmlldyIsIkNvbW1vblV0aWxzIiwiZ2V0VGFyZ2V0VmlldyIsImdldENvbnRyb2xsZXIiLCJvRmlsdGVyQ29uZGl0aW9ucyIsInNSZWZyZXNoQ2F1c2UiLCJvblZpZXdOZWVkc1JlZnJlc2giLCJmaWx0ZXJDb25kaXRpb25zIiwiY3VycmVudFRhYklkIiwicmVmcmVzaENhdXNlIiwib0ljb25UYWJGaWx0ZXIiLCJnZXRDb3VudHMiLCJjb3VudHNPdXREYXRlZCIsInNldENvdW50IiwidGhlbiIsImlDb3VudCIsImNhdGNoIiwib0Vycm9yIiwiTG9nIiwiZXJyb3IiLCJiUmVxdWVzdElmTm90SW5pdGlhbGl6ZWQiLCJiSXNTZWxlY3RlZEtleSIsInNBY3Rpb24iLCJSZXN1bWUiLCJTdXNwZW5kIiwicHJvcGVydGllcyIsInNUZXh0IiwiYUlnbm9yZWRGaWVsZHMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJhSWdub3JlZExhYmVscyIsIk1lc3NhZ2VTdHJpcCIsImdldExhYmVscyIsIkRlbGVnYXRlVXRpbCIsImdldExvY2FsaXplZFRleHQiLCJnZXRQYXJhbWV0ZXIiLCJDb250cm9sIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJNdWx0aXBsZU1vZGVDb250cm9sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIFJlc291cmNlQnVuZGxlIGZyb20gXCJzYXAvYmFzZS9pMThuL1Jlc291cmNlQnVuZGxlXCI7XG5pbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIEZpbHRlckJhciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbHMvRmlsdGVyQmFyXCI7XG5pbXBvcnQgeyBhZ2dyZWdhdGlvbiwgYXNzb2NpYXRpb24sIGRlZmluZVVJNUNsYXNzLCBldmVudCwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBNZXNzYWdlU3RyaXAgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTWVzc2FnZVN0cmlwXCI7XG5pbXBvcnQgRGVsZWdhdGVVdGlsIGZyb20gXCJzYXAvZmUvbWFjcm9zL0RlbGVnYXRlVXRpbFwiO1xuaW1wb3J0IE1hY3JvQVBJIGZyb20gXCJzYXAvZmUvbWFjcm9zL01hY3JvQVBJXCI7XG5pbXBvcnQgSWNvblRhYkJhciBmcm9tIFwic2FwL20vSWNvblRhYkJhclwiO1xuaW1wb3J0IEljb25UYWJGaWx0ZXIgZnJvbSBcInNhcC9tL0ljb25UYWJGaWx0ZXJcIjtcbmltcG9ydCB0eXBlIENvcmVFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgQ29yZSBmcm9tIFwic2FwL3VpL2NvcmUvQ29yZVwiO1xuaW1wb3J0IFJlbmRlck1hbmFnZXIgZnJvbSBcInNhcC91aS9jb3JlL1JlbmRlck1hbmFnZXJcIjtcbmltcG9ydCBDb250cm9sUGVyc29uYWxpemF0aW9uV3JpdGVBUEkgZnJvbSBcInNhcC91aS9mbC93cml0ZS9hcGkvQ29udHJvbFBlcnNvbmFsaXphdGlvbldyaXRlQVBJXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCBNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL01vZGVsXCI7XG5cbmV4cG9ydCB0eXBlIElubmVyQ29udHJvbFR5cGUgPSBNYWNyb0FQSSAmXG5cdFBhcnRpYWw8e1xuXHRcdHJlc3VtZUJpbmRpbmc6IEZ1bmN0aW9uO1xuXHRcdHN1c3BlbmRCaW5kaW5nOiBGdW5jdGlvbjtcblx0XHRnZXRDb3VudHM6IEZ1bmN0aW9uO1xuXHRcdHJlZnJlc2hOb3RBcHBsaWNhYmxlRmllbGRzOiBGdW5jdGlvbjtcblx0XHRpbnZhbGlkYXRlQ29udGVudDogRnVuY3Rpb247XG5cdH0+O1xuXG50eXBlIE1lc3NhZ2VTdHJpcFByb3BlcnRpZXMgPSB7XG5cdGVudGl0eVR5cGVQYXRoOiBzdHJpbmc7XG5cdGlnbm9yZWRGaWVsZHM6IGFueVtdO1xuXHRyZXNvdXJjZUJ1bmRsZTogUmVzb3VyY2VCdW5kbGU7XG5cdHRpdGxlOiBzdHJpbmc7XG59O1xuXG5lbnVtIEJpbmRpbmdBY3Rpb24ge1xuXHRTdXNwZW5kID0gXCJzdXNwZW5kQmluZGluZ1wiLFxuXHRSZXN1bWUgPSBcInJlc3VtZUJpbmRpbmdcIlxufVxuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuY29udHJvbHMuTXVsdGlwbGVNb2RlQ29udHJvbFwiKVxuY2xhc3MgTXVsdGlwbGVNb2RlQ29udHJvbCBleHRlbmRzIENvbnRyb2wge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93Q291bnRzITogYm9vbGVhbjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuXHRmcmVlemVDb250ZW50ITogYm9vbGVhbjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuXHRjb3VudHNPdXREYXRlZCE6IGJvb2xlYW47XG5cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5JY29uVGFiQmFyXCIsIG11bHRpcGxlOiBmYWxzZSwgaXNEZWZhdWx0OiB0cnVlIH0pXG5cdGNvbnRlbnQhOiBJY29uVGFiQmFyO1xuXG5cdEBhc3NvY2lhdGlvbih7IHR5cGU6IFwic2FwLnVpLmNvcmUuQ29udHJvbFwiLCBtdWx0aXBsZTogdHJ1ZSB9KVxuXHRpbm5lckNvbnRyb2xzITogc3RyaW5nW107XG5cblx0QGFzc29jaWF0aW9uKHsgdHlwZTogXCJzYXAuZmUuY29yZS5jb250cm9scy5GaWx0ZXJCYXJcIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGZpbHRlckNvbnRyb2whOiBzdHJpbmc7XG5cblx0QGV2ZW50KClcblx0c2VsZWN0ITogRnVuY3Rpb247XG5cblx0b25CZWZvcmVSZW5kZXJpbmcoKSB7XG5cdFx0dGhpcy5nZXRUYWJzTW9kZWwoKTsgLy8gR2VuZXJhdGUgdGhlIG1vZGVsIHdoaWNoIGlzIG1hbmRhdG9yeSBmb3Igc29tZSBiaW5kaW5nc1xuXG5cdFx0Y29uc3Qgb0ZpbHRlckNvbnRyb2wgPSB0aGlzLl9nZXRGaWx0ZXJDb250cm9sKCk7XG5cdFx0aWYgKCFvRmlsdGVyQ29udHJvbCkge1xuXHRcdFx0Ly8gSW4gY2FzZSB0aGVyZSdzIG5vIGZpbHRlcmJhciwgd2UgaGF2ZSB0byB1cGRhdGUgdGhlIGNvdW50cyBpbiB0aGUgdGFicyBpbW1lZGlhdGVseVxuXHRcdFx0dGhpcy5zZXRDb3VudHNPdXREYXRlZCh0cnVlKTtcblx0XHR9XG5cdFx0Y29uc3Qgb0ZpbHRlckJhckFQSSA9IG9GaWx0ZXJDb250cm9sPy5nZXRQYXJlbnQoKTtcblx0XHR0aGlzLmdldEFsbElubmVyQ29udHJvbHMoKS5mb3JFYWNoKChvTWFjcm9BUEkpID0+IHtcblx0XHRcdGlmICh0aGlzLnNob3dDb3VudHMpIHtcblx0XHRcdFx0b01hY3JvQVBJLmF0dGFjaEV2ZW50KFwiaW50ZXJuYWxEYXRhUmVxdWVzdGVkXCIsIHRoaXMuX3JlZnJlc2hUYWJzQ291bnQuYmluZCh0aGlzKSk7XG5cdFx0XHR9XG5cdFx0XHRvTWFjcm9BUEkuc3VzcGVuZEJpbmRpbmc/LigpO1xuXHRcdH0pO1xuXHRcdGlmIChvRmlsdGVyQmFyQVBJKSB7XG5cdFx0XHRvRmlsdGVyQmFyQVBJLmF0dGFjaEV2ZW50KFwiaW50ZXJuYWxTZWFyY2hcIiwgdGhpcy5fb25TZWFyY2guYmluZCh0aGlzKSk7XG5cdFx0XHRvRmlsdGVyQmFyQVBJLmF0dGFjaEV2ZW50KFwiaW50ZXJuYWxGaWx0ZXJDaGFuZ2VkXCIsIHRoaXMuX29uRmlsdGVyQ2hhbmdlZC5iaW5kKHRoaXMpKTtcblx0XHR9XG5cdH1cblxuXHRvbkFmdGVyUmVuZGVyaW5nKCkge1xuXHRcdHRoaXMuZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2woKT8ucmVzdW1lQmluZGluZz8uKCF0aGlzLmdldFByb3BlcnR5KFwiZnJlZXplQ29udGVudFwiKSk7XG5cdH1cblxuXHRzdGF0aWMgcmVuZGVyKG9SbTogUmVuZGVyTWFuYWdlciwgb0NvbnRyb2w6IE11bHRpcGxlTW9kZUNvbnRyb2wpIHtcblx0XHRvUm0ucmVuZGVyQ29udHJvbChvQ29udHJvbC5jb250ZW50KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBtb2RlbCBjb250YWluaW5nIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhlIEljb25UYWJGaWx0ZXJzLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7c2FwLnVpLm1vZGVsLk1vZGVsIHwgdW5kZWZpbmVkfSBUaGUgbW9kZWxcblx0ICovXG5cdGdldFRhYnNNb2RlbCgpOiBNb2RlbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgc1RhYnNNb2RlbCA9IFwidGFic0ludGVybmFsXCI7XG5cdFx0Y29uc3Qgb0NvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XG5cdFx0aWYgKCFvQ29udGVudCkge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0bGV0IG9Nb2RlbCA9IG9Db250ZW50LmdldE1vZGVsKHNUYWJzTW9kZWwpO1xuXHRcdGlmICghb01vZGVsKSB7XG5cdFx0XHRvTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHt9KTtcblx0XHRcdG9Db250ZW50LnNldE1vZGVsKG9Nb2RlbCwgc1RhYnNNb2RlbCk7XG5cdFx0fVxuXHRcdHJldHVybiBvTW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgaW5uZXIgY29udHJvbCBvZiB0aGUgZGlzcGxheWVkIHRhYi5cblx0ICpcblx0ICogQHJldHVybnMge0lubmVyQ29udHJvbFR5cGUgfCB1bmRlZmluZWR9IFRoZSBjb250cm9sXG5cdCAqL1xuXHRnZXRTZWxlY3RlZElubmVyQ29udHJvbCgpOiBJbm5lckNvbnRyb2xUeXBlIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBvU2VsZWN0ZWRUYWIgPSB0aGlzLmNvbnRlbnQ/LmdldEl0ZW1zKCkuZmluZCgob0l0ZW0pID0+IChvSXRlbSBhcyBJY29uVGFiRmlsdGVyKS5nZXRLZXkoKSA9PT0gdGhpcy5jb250ZW50LmdldFNlbGVjdGVkS2V5KCkpO1xuXHRcdHJldHVybiBvU2VsZWN0ZWRUYWJcblx0XHRcdD8gdGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZmluZCgob01hY3JvQVBJKSA9PiB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG9NYWNyb0FQSSkgPT09IG9TZWxlY3RlZFRhYilcblx0XHRcdDogdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1hbmFnZXMgdGhlIGJpbmRpbmcgb2YgYWxsIGlubmVyIGNvbnRyb2xzIHdoZW4gdGhlIHNlbGVjdGVkIEljb25UYWJGaWx0ZXIgaXMgY2hhbmdlZC5cblx0ICpcblx0ICogQHBhcmFtIHtzYXAudWkuYmFzZS5FdmVudH0gb0V2ZW50IEV2ZW50IGZpcmVkIGJ5IHRoZSBJY29uVGFiQmFyXG5cdCAqL1xuXHRzdGF0aWMgaGFuZGxlVGFiQ2hhbmdlKG9FdmVudDogYW55KTogdm9pZCB7XG5cdFx0Y29uc3Qgb0ljb25UYWJCYXIgPSBvRXZlbnQuZ2V0U291cmNlKCk7XG5cdFx0Y29uc3Qgb011bHRpQ29udHJvbCA9IG9JY29uVGFiQmFyLmdldFBhcmVudCgpO1xuXG5cdFx0Y29uc3QgbVBhcmFtZXRlcnMgPSBvRXZlbnQuZ2V0UGFyYW1ldGVycygpO1xuXHRcdG9NdWx0aUNvbnRyb2wuX3NldElubmVyQmluZGluZyh0cnVlKTtcblx0XHRjb25zdCBzUHJldmlvdXNTZWxlY3RlZEtleSA9IG1QYXJhbWV0ZXJzPy5wcmV2aW91c0tleTtcblx0XHRjb25zdCBzU2VsZWN0ZWRLZXkgPSBtUGFyYW1ldGVycz8uc2VsZWN0ZWRLZXk7XG5cblx0XHRpZiAoc1NlbGVjdGVkS2V5ICYmIHNQcmV2aW91c1NlbGVjdGVkS2V5ICE9PSBzU2VsZWN0ZWRLZXkpIHtcblx0XHRcdGNvbnN0IG9GaWx0ZXJCYXIgPSBvTXVsdGlDb250cm9sLl9nZXRGaWx0ZXJDb250cm9sKCk7XG5cdFx0XHRpZiAob0ZpbHRlckJhciAmJiAhb011bHRpQ29udHJvbC5nZXRQcm9wZXJ0eShcImZyZWV6ZUNvbnRlbnRcIikpIHtcblx0XHRcdFx0aWYgKCFvTXVsdGlDb250cm9sLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCkpIHtcblx0XHRcdFx0XHQvL2N1c3RvbSB0YWJcblx0XHRcdFx0XHRvTXVsdGlDb250cm9sLl9yZWZyZXNoQ3VzdG9tVmlldyhvRmlsdGVyQmFyLmdldEZpbHRlckNvbmRpdGlvbnMoKSwgXCJ0YWJDaGFuZ2VkXCIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRDb250cm9sUGVyc29uYWxpemF0aW9uV3JpdGVBUEkuYWRkKHtcblx0XHRcdFx0Y2hhbmdlczogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGNoYW5nZVNwZWNpZmljRGF0YToge1xuXHRcdFx0XHRcdFx0XHRjaGFuZ2VUeXBlOiBcInNlbGVjdEljb25UYWJCYXJGaWx0ZXJcIixcblx0XHRcdFx0XHRcdFx0Y29udGVudDoge1xuXHRcdFx0XHRcdFx0XHRcdHNlbGVjdGVkS2V5OiBzU2VsZWN0ZWRLZXksXG5cdFx0XHRcdFx0XHRcdFx0cHJldmlvdXNTZWxlY3RlZEtleTogc1ByZXZpb3VzU2VsZWN0ZWRLZXlcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHNlbGVjdG9yRWxlbWVudDogb0ljb25UYWJCYXJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdF1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdG9NdWx0aUNvbnRyb2wuX2dldFZpZXdDb250cm9sbGVyKCk/LmdldEV4dGVuc2lvbkFQSSgpPy51cGRhdGVBcHBTdGF0ZSgpO1xuXG5cdFx0b011bHRpQ29udHJvbC5maXJlRXZlbnQoXCJzZWxlY3RcIiwge1xuXHRcdFx0aWNvblRhYkJhcjogb0ljb25UYWJCYXIsXG5cdFx0XHRzZWxlY3RlZEtleTogc1NlbGVjdGVkS2V5LFxuXHRcdFx0cHJldmlvdXNLZXk6IHNQcmV2aW91c1NlbGVjdGVkS2V5XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogSW52YWxpZGF0ZXMgdGhlIGNvbnRlbnQgb2YgYWxsIGlubmVyIGNvbnRyb2xzLlxuXHQgKi9cblx0aW52YWxpZGF0ZUNvbnRlbnQoKSB7XG5cdFx0dGhpcy5zZXRDb3VudHNPdXREYXRlZCh0cnVlKTtcblx0XHR0aGlzLmdldEFsbElubmVyQ29udHJvbHMoKS5mb3JFYWNoKChvTWFjcm9BUEkpID0+IHtcblx0XHRcdG9NYWNyb0FQSS5pbnZhbGlkYXRlQ29udGVudD8uKCk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgY291bnRzIHRvIG91dCBvZiBkYXRlIG9yIHVwIHRvIGRhdGVcblx0ICogSWYgdGhlIGNvdW50cyBhcmUgc2V0IHRvIFwib3V0IG9mIGRhdGVcIiBhbmQgdGhlIHNlbGVjdGVkIEljb25UYWJGaWx0ZXIgZG9lc24ndCBjb250YWluIGFuIGlubmVyIGNvbnRyb2wgYWxsIGlubmVyIGNvbnRyb2xzIGFyZSByZXF1ZXN0ZWQgdG8gZ2V0IHRoZSBuZXcgY291bnRzLlxuXHQgKlxuXHQgKiBAcGFyYW0ge2Jvb2xlYW59IGJWYWx1ZSBGcmVlemUgb3Igbm90IHRoZSBjb250cm9sXG5cdCAqL1xuXHRzZXRDb3VudHNPdXREYXRlZChiVmFsdWUgPSB0cnVlKSB7XG5cdFx0dGhpcy5zZXRQcm9wZXJ0eShcImNvdW50c091dERhdGVkXCIsIGJWYWx1ZSk7XG5cdFx0Ly8gaWYgdGhlIGN1cnJlbnQgdGFiIGlzIG5vdCBjb25maWd1cmVkIHdpdGggbm8gaW5uZXIgQ29udHJvbFxuXHRcdC8vIHRoZSB0YWIgY291bnRzIG11c3QgYmUgbWFudWFsbHkgcmVmcmVzaGVkIHNpbmNlIG5vIE1hY3JvIEFQSSB3aWxsIHNlbnQgZXZlbnQgaW50ZXJuYWxEYXRhUmVxdWVzdGVkXG5cdFx0aWYgKGJWYWx1ZSAmJiAhdGhpcy5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpKSB7XG5cdFx0XHR0aGlzLl9yZWZyZXNoVGFic0NvdW50KCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEZyZWV6ZXMgdGhlIGNvbnRlbnQgOlxuXHQgKiAgLSBjb250ZW50IGlzIGZyb3plbjogdGhlIGJpbmRpbmcgb2YgdGhlIGlubmVyIGNvbnRyb2xzIGFyZSBzdXNwZW5kZWQuXG5cdCAqICAtIGNvbnRlbnQgaXMgdW5mcm96ZW46IHRoZSBiaW5kaW5nIG9mIGlubmVyIGNvbnRyb2wgcmVsYXRlZCB0byB0aGUgc2VsZWN0ZWQgSWNvblRhYkZpbHRlciBpcyByZXN1bWVkLlxuXHQgKlxuXHQgKiBAcGFyYW0ge2Jvb2xlYW59IGJWYWx1ZSBGcmVlemUgb3Igbm90IHRoZSBjb250cm9sXG5cdCAqL1xuXHRzZXRGcmVlemVDb250ZW50KGJWYWx1ZTogYm9vbGVhbikge1xuXHRcdHRoaXMuc2V0UHJvcGVydHkoXCJmcmVlemVDb250ZW50XCIsIGJWYWx1ZSk7XG5cdFx0dGhpcy5fc2V0SW5uZXJCaW5kaW5nKCk7XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlcyB0aGUgaW50ZXJuYWwgbW9kZWwgd2l0aCB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSBub3QgYXBwbGljYWJsZSBvbiBlYWNoIEljb25UYWJGaWx0ZXIgKGNvbnRhaW5pbmcgaW5uZXIgY29udHJvbCkgYWNjb3JkaW5nIHRvIHRoZSBlbnRpdHlUeXBlIG9mIHRoZSBmaWx0ZXIgY29udHJvbC5cblx0ICpcblx0ICogQHBhcmFtIG9SZXNvdXJjZUJ1bmRsZVxuXHQgKi9cblx0X3VwZGF0ZU11bHRpVGFiTm90QXBwbGljYWJsZUZpZWxkcyhvUmVzb3VyY2VCdW5kbGU6IFJlc291cmNlQnVuZGxlKSB7XG5cdFx0Y29uc3QgdGFic01vZGVsID0gdGhpcy5nZXRUYWJzTW9kZWwoKTtcblx0XHRjb25zdCBvRmlsdGVyQ29udHJvbCA9IHRoaXMuX2dldEZpbHRlckNvbnRyb2woKSBhcyBDb250cm9sO1xuXHRcdGlmICh0YWJzTW9kZWwgJiYgb0ZpbHRlckNvbnRyb2wpIHtcblx0XHRcdGNvbnN0IHJlc3VsdHM6IGFueSA9IHt9O1xuXHRcdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9UYWIgPSB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG9NYWNyb0FQSSk7XG5cdFx0XHRcdGlmIChvVGFiKSB7XG5cdFx0XHRcdFx0Y29uc3Qgc1RhYklkID0gb1RhYi5nZXRLZXkoKTtcblx0XHRcdFx0XHRjb25zdCBtSWdub3JlZEZpZWxkcyA9IG9NYWNyb0FQSS5yZWZyZXNoTm90QXBwbGljYWJsZUZpZWxkcz8uKG9GaWx0ZXJDb250cm9sKSB8fCBbXTtcblx0XHRcdFx0XHRyZXN1bHRzW3NUYWJJZF0gPSB7XG5cdFx0XHRcdFx0XHRub3RBcHBsaWNhYmxlOiB7XG5cdFx0XHRcdFx0XHRcdGZpZWxkczogbUlnbm9yZWRGaWVsZHMsXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiB0aGlzLl9zZXRUYWJNZXNzYWdlU3RyaXAoe1xuXHRcdFx0XHRcdFx0XHRcdGVudGl0eVR5cGVQYXRoOiBvRmlsdGVyQ29udHJvbC5kYXRhKFwiZW50aXR5VHlwZVwiKSxcblx0XHRcdFx0XHRcdFx0XHRpZ25vcmVkRmllbGRzOiBtSWdub3JlZEZpZWxkcyxcblx0XHRcdFx0XHRcdFx0XHRyZXNvdXJjZUJ1bmRsZTogb1Jlc291cmNlQnVuZGxlLFxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBvVGFiLmdldFRleHQoKVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0KHRhYnNNb2RlbCBhcyBhbnkpLnNldERhdGEocmVzdWx0cyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGlubmVyIGNvbnRyb2xzLlxuXHQgKlxuXHQgKiBAcGFyYW0ge2Jvb2xlYW59IGJPbmx5Rm9yVmlzaWJsZVRhYiBTaG91bGQgZGlzcGxheSBvbmx5IHRoZSB2aXNpYmxlIGNvbnRyb2xzXG5cdCAqIEByZXR1cm5zIHtJbm5lckNvbnRyb2xUeXBlW119IEFuIGFycmF5IG9mIGNvbnRyb2xzXG5cdCAqL1xuXHRnZXRBbGxJbm5lckNvbnRyb2xzKGJPbmx5Rm9yVmlzaWJsZVRhYiA9IGZhbHNlKTogSW5uZXJDb250cm9sVHlwZVtdIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0dGhpcy5pbm5lckNvbnRyb2xzLnJlZHVjZSgoYUlubmVyQ29udHJvbHM6IElubmVyQ29udHJvbFR5cGVbXSwgc0lubmVyQ29udHJvbDogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9Db250cm9sID0gQ29yZS5ieUlkKHNJbm5lckNvbnRyb2wpIGFzIElubmVyQ29udHJvbFR5cGU7XG5cdFx0XHRcdGlmIChvQ29udHJvbCkge1xuXHRcdFx0XHRcdGFJbm5lckNvbnRyb2xzLnB1c2gob0NvbnRyb2wpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBhSW5uZXJDb250cm9scy5maWx0ZXIoXG5cdFx0XHRcdFx0KG9Jbm5lckNvbnRyb2wpID0+ICFiT25seUZvclZpc2libGVUYWIgfHwgdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChvSW5uZXJDb250cm9sKT8uZ2V0VmlzaWJsZSgpXG5cdFx0XHRcdCk7XG5cdFx0XHR9LCBbXSkgfHwgW11cblx0XHQpO1xuXHR9XG5cblx0X2dldEZpbHRlckNvbnRyb2woKTogRmlsdGVyQmFyIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gQ29yZS5ieUlkKHRoaXMuZmlsdGVyQ29udHJvbCkgYXMgRmlsdGVyQmFyIHwgdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFRhYkZyb21Jbm5lckNvbnRyb2wob0NvbnRyb2w6IENvbnRyb2wpOiBJY29uVGFiRmlsdGVyIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBzU3VwcG9ydGVkQ2xhc3MgPSBJY29uVGFiRmlsdGVyLmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpO1xuXHRcdGxldCBvVGFiOiBhbnkgPSBvQ29udHJvbDtcblx0XHRpZiAob1RhYiAmJiAhb1RhYi5pc0Eoc1N1cHBvcnRlZENsYXNzKSAmJiBvVGFiLmdldFBhcmVudCkge1xuXHRcdFx0b1RhYiA9IG9Db250cm9sLmdldFBhcmVudCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gb1RhYiAmJiBvVGFiLmlzQShzU3VwcG9ydGVkQ2xhc3MpID8gKG9UYWIgYXMgSWNvblRhYkZpbHRlcikgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHRfZ2V0Vmlld0NvbnRyb2xsZXIoKSB7XG5cdFx0Y29uc3Qgb1ZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMpO1xuXHRcdHJldHVybiBvVmlldyAmJiBvVmlldy5nZXRDb250cm9sbGVyKCk7XG5cdH1cblxuXHRfcmVmcmVzaEN1c3RvbVZpZXcob0ZpbHRlckNvbmRpdGlvbnM6IGFueSwgc1JlZnJlc2hDYXVzZTogc3RyaW5nKSB7XG5cdFx0KHRoaXMuX2dldFZpZXdDb250cm9sbGVyKCkgYXMgYW55KT8ub25WaWV3TmVlZHNSZWZyZXNoPy4oe1xuXHRcdFx0ZmlsdGVyQ29uZGl0aW9uczogb0ZpbHRlckNvbmRpdGlvbnMsXG5cdFx0XHRjdXJyZW50VGFiSWQ6IHRoaXMuY29udGVudC5nZXRTZWxlY3RlZEtleSgpLFxuXHRcdFx0cmVmcmVzaENhdXNlOiBzUmVmcmVzaENhdXNlXG5cdFx0fSk7XG5cdH1cblxuXHRfcmVmcmVzaFRhYnNDb3VudCgpOiB2b2lkIHtcblx0XHRjb25zdCBzU2VsZWN0ZWRLZXkgPSB0aGlzLmNvbnRlbnQ/LmdldFNlbGVjdGVkS2V5KCk7XG5cdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKHRydWUpLmZvckVhY2goKG9NYWNyb0FQSSkgPT4ge1xuXHRcdFx0Y29uc3Qgb0ljb25UYWJGaWx0ZXIgPSB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG9NYWNyb0FQSSk7XG5cdFx0XHRpZiAob01hY3JvQVBJPy5nZXRDb3VudHMgJiYgKHRoaXMuY291bnRzT3V0RGF0ZWQgfHwgc1NlbGVjdGVkS2V5ID09PSBvSWNvblRhYkZpbHRlcj8uZ2V0S2V5KCkpKSB7XG5cdFx0XHRcdGlmIChvSWNvblRhYkZpbHRlciAmJiBvSWNvblRhYkZpbHRlci5zZXRDb3VudCkge1xuXHRcdFx0XHRcdG9JY29uVGFiRmlsdGVyLnNldENvdW50KFwiLi4uXCIpO1xuXHRcdFx0XHRcdG9NYWNyb0FQSVxuXHRcdFx0XHRcdFx0LmdldENvdW50cygpXG5cdFx0XHRcdFx0XHQudGhlbigoaUNvdW50OiBzdHJpbmcpID0+IG9JY29uVGFiRmlsdGVyLnNldENvdW50KGlDb3VudCB8fCBcIjBcIikpXG5cdFx0XHRcdFx0XHQuY2F0Y2goZnVuY3Rpb24gKG9FcnJvcjogYW55KSB7XG5cdFx0XHRcdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIHJlcXVlc3RpbmcgQ291bnRzIGZvciBDb250cm9sXCIsIG9FcnJvcik7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHRoaXMuc2V0Q291bnRzT3V0RGF0ZWQoZmFsc2UpO1xuXHR9XG5cblx0X3NldElubmVyQmluZGluZyhiUmVxdWVzdElmTm90SW5pdGlhbGl6ZWQgPSBmYWxzZSkge1xuXHRcdGlmICh0aGlzLmNvbnRlbnQpIHtcblx0XHRcdHRoaXMuZ2V0QWxsSW5uZXJDb250cm9scygpLmZvckVhY2goKG9NYWNyb0FQSSkgPT4ge1xuXHRcdFx0XHRjb25zdCBvSWNvblRhYkZpbHRlciA9IHRoaXMuX2dldFRhYkZyb21Jbm5lckNvbnRyb2wob01hY3JvQVBJKTtcblx0XHRcdFx0Y29uc3QgYklzU2VsZWN0ZWRLZXkgPSBvSWNvblRhYkZpbHRlcj8uZ2V0S2V5KCkgPT09IHRoaXMuY29udGVudC5nZXRTZWxlY3RlZEtleSgpO1xuXHRcdFx0XHRjb25zdCBzQWN0aW9uID0gYklzU2VsZWN0ZWRLZXkgJiYgIXRoaXMuZ2V0UHJvcGVydHkoXCJmcmVlemVDb250ZW50XCIpID8gQmluZGluZ0FjdGlvbi5SZXN1bWUgOiBCaW5kaW5nQWN0aW9uLlN1c3BlbmQ7XG5cdFx0XHRcdG9NYWNyb0FQSVtzQWN0aW9uXT8uKHNBY3Rpb24gPT09IEJpbmRpbmdBY3Rpb24uUmVzdW1lID8gYlJlcXVlc3RJZk5vdEluaXRpYWxpemVkICYmIGJJc1NlbGVjdGVkS2V5IDogdW5kZWZpbmVkKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdF9zZXRUYWJNZXNzYWdlU3RyaXAocHJvcGVydGllczogTWVzc2FnZVN0cmlwUHJvcGVydGllcykge1xuXHRcdGxldCBzVGV4dCA9IFwiXCI7XG5cdFx0Y29uc3QgYUlnbm9yZWRGaWVsZHMgPSBwcm9wZXJ0aWVzLmlnbm9yZWRGaWVsZHM7XG5cdFx0Y29uc3Qgb0ZpbHRlckNvbnRyb2wgPSB0aGlzLl9nZXRGaWx0ZXJDb250cm9sKCkgYXMgQ29udHJvbDtcblx0XHRpZiAob0ZpbHRlckNvbnRyb2wgJiYgQXJyYXkuaXNBcnJheShhSWdub3JlZEZpZWxkcykgJiYgYUlnbm9yZWRGaWVsZHMubGVuZ3RoID4gMCAmJiBwcm9wZXJ0aWVzLnRpdGxlKSB7XG5cdFx0XHRjb25zdCBhSWdub3JlZExhYmVscyA9IE1lc3NhZ2VTdHJpcC5nZXRMYWJlbHMoXG5cdFx0XHRcdGFJZ25vcmVkRmllbGRzLFxuXHRcdFx0XHRwcm9wZXJ0aWVzLmVudGl0eVR5cGVQYXRoLFxuXHRcdFx0XHRvRmlsdGVyQ29udHJvbCxcblx0XHRcdFx0cHJvcGVydGllcy5yZXNvdXJjZUJ1bmRsZVxuXHRcdFx0KTtcblx0XHRcdHNUZXh0ID0gTWVzc2FnZVN0cmlwLmdldFRleHQoYUlnbm9yZWRMYWJlbHMsIG9GaWx0ZXJDb250cm9sLCBwcm9wZXJ0aWVzLnRpdGxlLCBEZWxlZ2F0ZVV0aWwuZ2V0TG9jYWxpemVkVGV4dCk7XG5cdFx0XHRyZXR1cm4gc1RleHQ7XG5cdFx0fVxuXHR9XG5cblx0X29uU2VhcmNoKG9FdmVudDogQ29yZUV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy5zZXRDb3VudHNPdXREYXRlZCh0cnVlKTtcblx0XHR0aGlzLnNldEZyZWV6ZUNvbnRlbnQoZmFsc2UpO1xuXHRcdGlmICh0aGlzLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCkpIHtcblx0XHRcdHRoaXMuX3VwZGF0ZU11bHRpVGFiTm90QXBwbGljYWJsZUZpZWxkcygodGhpcy5fZ2V0Vmlld0NvbnRyb2xsZXIoKSBhcyBhbnkpPy5vUmVzb3VyY2VCdW5kbGUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBjdXN0b20gdGFiXG5cdFx0XHR0aGlzLl9yZWZyZXNoQ3VzdG9tVmlldyhvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiY29uZGl0aW9uc1wiKSwgXCJzZWFyY2hcIik7XG5cdFx0fVxuXHR9XG5cblx0X29uRmlsdGVyQ2hhbmdlZChvRXZlbnQ6IENvcmVFdmVudCk6IHZvaWQge1xuXHRcdGlmIChvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiY29uZGl0aW9uc0Jhc2VkXCIpKSB7XG5cdFx0XHR0aGlzLnNldEZyZWV6ZUNvbnRlbnQodHJ1ZSk7XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE11bHRpcGxlTW9kZUNvbnRyb2w7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7TUFrQ0tBLGFBQWE7RUFBQSxXQUFiQSxhQUFhO0lBQWJBLGFBQWE7SUFBYkEsYUFBYTtFQUFBLEdBQWJBLGFBQWEsS0FBYkEsYUFBYTtFQUFBLElBTVpDLG1CQUFtQixXQUR4QkMsY0FBYyxDQUFDLDBEQUEwRCxDQUFDLFVBRXpFQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLFVBRzdCRCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLFNBQVM7SUFBRUMsWUFBWSxFQUFFO0VBQU0sQ0FBQyxDQUFDLFVBR2xERixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLFNBQVM7SUFBRUMsWUFBWSxFQUFFO0VBQU0sQ0FBQyxDQUFDLFVBR2xEQyxXQUFXLENBQUM7SUFBRUYs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
|
|
5
|
+
sap.ui.define(["sap/base/Log","sap/fe/core/CommonUtils","sap/fe/core/helpers/ClassSupport","sap/fe/core/helpers/MessageStrip","sap/fe/macros/DelegateUtil","sap/m/IconTabFilter","sap/ui/core/Control","sap/ui/core/Core","sap/ui/fl/write/api/ControlPersonalizationWriteAPI","sap/ui/model/json/JSONModel"],function(e,t,n,r,i,o,l,s,a,u){"use strict";var c,d,f,g,h,p,v,C,b,y,m,_,I,T,w,F,z;var S=n.property;var P=n.event;var A=n.defineUI5Class;var O=n.association;var B=n.aggregation;function D(e,t,n,r){if(!n)return;Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function E(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function K(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;M(e,t)}function M(e,t){M=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,n){t.__proto__=n;return t};return M(e,t)}function V(e,t,n,r,i){var o={};Object.keys(r).forEach(function(e){o[e]=r[e]});o.enumerable=!!o.enumerable;o.configurable=!!o.configurable;if("value"in o||o.initializer){o.writable=true}o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o);if(i&&o.initializer!==void 0){o.value=o.initializer?o.initializer.call(i):void 0;o.initializer=undefined}if(o.initializer===void 0){Object.defineProperty(e,t,o);o=null}return o}function R(e,t){throw new Error("Decorating class property failed. Please ensure that "+"proposal-class-properties is enabled and runs after the decorators transform.")}var j;(function(e){e["Suspend"]="suspendBinding";e["Resume"]="resumeBinding"})(j||(j={}));let N=(c=A("sap.fe.templates.ListReport.controls.MultipleModeControl"),d=S({type:"boolean"}),f=S({type:"boolean",defaultValue:false}),g=S({type:"boolean",defaultValue:false}),h=B({type:"sap.m.IconTabBar",multiple:false,isDefault:true}),p=O({type:"sap.ui.core.Control",multiple:true}),v=O({type:"sap.fe.core.controls.FilterBar",multiple:false}),C=P(),c(b=(y=function(n){K(l,n);function l(){var e;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++){r[i]=arguments[i]}e=n.call(this,...r)||this;D(e,"showCounts",m,E(e));D(e,"freezeContent",_,E(e));D(e,"countsOutDated",I,E(e));D(e,"content",T,E(e));D(e,"innerControls",w,E(e));D(e,"filterControl",F,E(e));D(e,"select",z,E(e));return e}var c=l.prototype;c.onBeforeRendering=function e(){this.getTabsModel();const t=this._getFilterControl();if(!t){this.setCountsOutDated(true)}const n=t===null||t===void 0?void 0:t.getParent();this.getAllInnerControls().forEach(e=>{var t;if(this.showCounts){e.attachEvent("internalDataRequested",this._refreshTabsCount.bind(this))}(t=e.suspendBinding)===null||t===void 0?void 0:t.call(e)});if(n){n.attachEvent("internalSearch",this._onSearch.bind(this));n.attachEvent("internalFilterChanged",this._onFilterChanged.bind(this))}};c.onAfterRendering=function e(){var t,n;(t=this.getSelectedInnerControl())===null||t===void 0?void 0:(n=t.resumeBinding)===null||n===void 0?void 0:n.call(t,!this.getProperty("freezeContent"))};l.render=function e(t,n){t.renderControl(n.content)};c.getTabsModel=function e(){const t="tabsInternal";const n=this.content;if(!n){return undefined}let r=n.getModel(t);if(!r){r=new u({});n.setModel(r,t)}return r};c.getSelectedInnerControl=function e(){var t;const n=(t=this.content)===null||t===void 0?void 0:t.getItems().find(e=>e.getKey()===this.content.getSelectedKey());return n?this.getAllInnerControls().find(e=>this._getTabFromInnerControl(e)===n):undefined};l.handleTabChange=function e(t){var n,r;const i=t.getSource();const o=i.getParent();const l=t.getParameters();o._setInnerBinding(true);const s=l===null||l===void 0?void 0:l.previousKey;const u=l===null||l===void 0?void 0:l.selectedKey;if(u&&s!==u){const e=o._getFilterControl();if(e&&!o.getProperty("freezeContent")){if(!o.getSelectedInnerControl()){o._refreshCustomView(e.getFilterConditions(),"tabChanged")}}a.add({changes:[{changeSpecificData:{changeType:"selectIconTabBarFilter",content:{selectedKey:u,previousSelectedKey:s}},selectorElement:i}]})}(n=o._getViewController())===null||n===void 0?void 0:(r=n.getExtensionAPI())===null||r===void 0?void 0:r.updateAppState();o.fireEvent("select",{iconTabBar:i,selectedKey:u,previousKey:s})};c.invalidateContent=function e(){this.setCountsOutDated(true);this.getAllInnerControls().forEach(e=>{var t;(t=e.invalidateContent)===null||t===void 0?void 0:t.call(e)})};c.setCountsOutDated=function e(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;this.setProperty("countsOutDated",t);if(t&&!this.getSelectedInnerControl()){this._refreshTabsCount()}};c.setFreezeContent=function e(t){this.setProperty("freezeContent",t);this._setInnerBinding()};c._updateMultiTabNotApplicableFields=function e(t){const n=this.getTabsModel();const r=this._getFilterControl();if(n&&r){const e={};this.getAllInnerControls().forEach(n=>{const i=this._getTabFromInnerControl(n);if(i){var o;const l=i.getKey();const s=((o=n.refreshNotApplicableFields)===null||o===void 0?void 0:o.call(n,r))||[];e[l]={notApplicable:{fields:s,title:this._setTabMessageStrip({entityTypePath:r.data("entityType"),ignoredFields:s,resourceBundle:t,title:i.getText()})}}}});n.setData(e)}};c.getAllInnerControls=function e(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;return this.innerControls.reduce((e,n)=>{const r=s.byId(n);if(r){e.push(r)}return e.filter(e=>{var n;return!t||((n=this._getTabFromInnerControl(e))===null||n===void 0?void 0:n.getVisible())})},[])||[]};c._getFilterControl=function e(){return s.byId(this.filterControl)};c._getTabFromInnerControl=function e(t){const n=o.getMetadata().getName();let r=t;if(r&&!r.isA(n)&&r.getParent){r=t.getParent()}return r&&r.isA(n)?r:undefined};c._getViewController=function e(){const n=t.getTargetView(this);return n&&n.getController()};c._refreshCustomView=function e(t,n){var r,i;(r=this._getViewController())===null||r===void 0?void 0:(i=r.onViewNeedsRefresh)===null||i===void 0?void 0:i.call(r,{filterConditions:t,currentTabId:this.content.getSelectedKey(),refreshCause:n})};c._refreshTabsCount=function t(n){var r,i;const o=n===null||n===void 0?void 0:n.getSource();const l=o?(r=this._getTabFromInnerControl(o))===null||r===void 0?void 0:r.getKey():(i=this.content)===null||i===void 0?void 0:i.getSelectedKey();this.getAllInnerControls(true).forEach(t=>{const n=this._getTabFromInnerControl(t);if(t!==null&&t!==void 0&&t.getCounts&&(this.countsOutDated||l===(n===null||n===void 0?void 0:n.getKey()))){if(n&&n.setCount){n.setCount("...");t.getCounts().then(e=>n.setCount(e||"0")).catch(function(t){e.error("Error while requesting Counts for Control",t)})}}});this.setCountsOutDated(false)};c._setInnerBinding=function e(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this.content){this.getAllInnerControls().forEach(e=>{var n;const r=this._getTabFromInnerControl(e);const i=(r===null||r===void 0?void 0:r.getKey())===this.content.getSelectedKey();const o=i&&!this.getProperty("freezeContent")?j.Resume:j.Suspend;(n=e[o])===null||n===void 0?void 0:n.call(e,o===j.Resume?t&&i:undefined)})}};c._setTabMessageStrip=function e(t){let n="";const o=t.ignoredFields;const l=this._getFilterControl();if(l&&Array.isArray(o)&&o.length>0&&t.title){const e=r.getLabels(o,t.entityTypePath,l,t.resourceBundle);n=r.getText(e,l,t.title,i.getLocalizedText);return n}};c._onSearch=function e(t){this.setCountsOutDated(true);this.setFreezeContent(false);if(this.getSelectedInnerControl()){var n;this._updateMultiTabNotApplicableFields((n=this._getViewController())===null||n===void 0?void 0:n.oResourceBundle)}else{this._refreshCustomView(t.getParameter("conditions"),"search")}};c._onFilterChanged=function e(t){if(t.getParameter("conditionsBased")){this.setFreezeContent(true)}};return l}(l),m=V(y.prototype,"showCounts",[d],{configurable:true,enumerable:true,writable:true,initializer:null}),_=V(y.prototype,"freezeContent",[f],{configurable:true,enumerable:true,writable:true,initializer:null}),I=V(y.prototype,"countsOutDated",[g],{configurable:true,enumerable:true,writable:true,initializer:null}),T=V(y.prototype,"content",[h],{configurable:true,enumerable:true,writable:true,initializer:null}),w=V(y.prototype,"innerControls",[p],{configurable:true,enumerable:true,writable:true,initializer:null}),F=V(y.prototype,"filterControl",[v],{configurable:true,enumerable:true,writable:true,initializer:null}),z=V(y.prototype,"select",[C],{configurable:true,enumerable:true,writable:true,initializer:null}),y))||b);return N},false);
|
|
6
|
+
//# sourceMappingURL=MultipleModeControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultipleModeControl.js","names":["sap","ui","define","Log","CommonUtils","ClassSupport","MessageStrip","DelegateUtil","IconTabFilter","Control","Core","ControlPersonalizationWriteAPI","JSONModel","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_class","_class2","_descriptor","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","property","event","defineUI5Class","association","aggregation","_initializerDefineProperty","target","descriptor","context","Object","defineProperty","enumerable","configurable","writable","value","initializer","call","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_applyDecoratedDescriptor","decorators","desc","keys","forEach","key","slice","reverse","reduce","decorator","undefined","_initializerWarningHelper","Error","BindingAction","MultipleModeControl","type","defaultValue","multiple","isDefault","_Control","_this","_len","arguments","length","args","Array","_key","this","_proto","onBeforeRendering","getTabsModel","oFilterControl","_getFilterControl","setCountsOutDated","oFilterBarAPI","getParent","getAllInnerControls","oMacroAPI","_oMacroAPI$suspendBin","showCounts","attachEvent","_refreshTabsCount","suspendBinding","_onSearch","_onFilterChanged","onAfterRendering","_this$getSelectedInne","_this$getSelectedInne2","getSelectedInnerControl","resumeBinding","getProperty","render","oRm","oControl","renderControl","content","sTabsModel","oContent","oModel","getModel","setModel","_this$content","oSelectedTab","getItems","find","oItem","getKey","getSelectedKey","_getTabFromInnerControl","handleTabChange","oEvent","_oMultiControl$_getVi","_oMultiControl$_getVi2","oIconTabBar","getSource","oMultiControl","mParameters","getParameters","_setInnerBinding","sPreviousSelectedKey","previousKey","sSelectedKey","selectedKey","oFilterBar","_refreshCustomView","getFilterConditions","add","changes","changeSpecificData","changeType","previousSelectedKey","selectorElement","_getViewController","getExtensionAPI","updateAppState","fireEvent","iconTabBar","invalidateContent","_oMacroAPI$invalidate","bValue","setProperty","setFreezeContent","_updateMultiTabNotApplicableFields","oResourceBundle","tabsModel","results","oTab","_oMacroAPI$refreshNot","sTabId","mIgnoredFields","refreshNotApplicableFields","notApplicable","fields","title","_setTabMessageStrip","entityTypePath","data","ignoredFields","resourceBundle","getText","setData","bOnlyForVisibleTab","innerControls","aInnerControls","sInnerControl","byId","push","filter","oInnerControl","_this$_getTabFromInne","getVisible","filterControl","sSupportedClass","getMetadata","getName","isA","oView","getTargetView","getController","oFilterConditions","sRefreshCause","_this$_getViewControl","_this$_getViewControl2","onViewNeedsRefresh","filterConditions","currentTabId","refreshCause","tableEvent","_this$_getTabFromInne2","_this$content2","eventMacroAPI","targetKey","oIconTabFilter","getCounts","countsOutDated","setCount","then","iCount","catch","oError","error","bRequestIfNotInitialized","_oMacroAPI$sAction","bIsSelectedKey","sAction","Resume","Suspend","properties","sText","aIgnoredFields","isArray","aIgnoredLabels","getLabels","getLocalizedText","_this$_getViewControl3","getParameter"],"sources":["MultipleModeControl-dbg.js"],"mappings":"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"}
|
|
@@ -282,11 +282,18 @@ class MultipleModeControl extends Control {
|
|
|
282
282
|
});
|
|
283
283
|
}
|
|
284
284
|
|
|
285
|
-
_refreshTabsCount(): void {
|
|
286
|
-
|
|
285
|
+
_refreshTabsCount(tableEvent?: CoreEvent): void {
|
|
286
|
+
// If the refresh is triggered by an event (internalDataRequested)
|
|
287
|
+
// we cannot use the selected key as reference since table can be refreshed by SideEffects
|
|
288
|
+
// so the table could be into a different tab -> we use the source of the event to find the targeted tab
|
|
289
|
+
// If not triggered by an event -> refresh at least the counts of the current MacroAPI
|
|
290
|
+
// In any case if the counts are set to Outdated for the MultipleModeControl all the counts are refreshed
|
|
291
|
+
const eventMacroAPI = tableEvent?.getSource() as MacroAPI;
|
|
292
|
+
const targetKey = eventMacroAPI ? this._getTabFromInnerControl(eventMacroAPI)?.getKey() : this.content?.getSelectedKey();
|
|
293
|
+
|
|
287
294
|
this.getAllInnerControls(true).forEach((oMacroAPI) => {
|
|
288
295
|
const oIconTabFilter = this._getTabFromInnerControl(oMacroAPI);
|
|
289
|
-
if (oMacroAPI?.getCounts && (this.countsOutDated ||
|
|
296
|
+
if (oMacroAPI?.getCounts && (this.countsOutDated || targetKey === oIconTabFilter?.getKey())) {
|
|
290
297
|
if (oIconTabFilter && oIconTabFilter.setCount) {
|
|
291
298
|
oIconTabFilter.setCount("...");
|
|
292
299
|
oMacroAPI
|
|
@@ -0,0 +1,53 @@
|
|
|
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/fe/core/CommonUtils"], function (CommonUtils) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
const IntentBasedNavigationOverride = {
|
|
9
|
+
adaptNavigationContext: function (oSelectionVariant, oTargetInfo) {
|
|
10
|
+
const oView = this.getView(),
|
|
11
|
+
oController = oView.getController(),
|
|
12
|
+
oFilterBar = oController._getFilterBarControl();
|
|
13
|
+
// Adding filter bar values to the navigation does not make sense if no context has been selected.
|
|
14
|
+
// Hence only consider filter bar values when SelectionVariant is not empty
|
|
15
|
+
if (oFilterBar && !oSelectionVariant.isEmpty()) {
|
|
16
|
+
const oViewData = oView.getViewData(),
|
|
17
|
+
sRootPath = oViewData.fullContextPath;
|
|
18
|
+
let oFilterBarConditions = Object.assign({}, this.base.getView().getController().filterBarConditions);
|
|
19
|
+
let aParameters = [];
|
|
20
|
+
if (oViewData.contextPath) {
|
|
21
|
+
const oMetaModel = oView.getModel().getMetaModel(),
|
|
22
|
+
oParameterInfo = CommonUtils.getParameterInfo(oMetaModel, oViewData.contextPath),
|
|
23
|
+
oParamProperties = oParameterInfo.parameterProperties;
|
|
24
|
+
aParameters = oParamProperties && Object.keys(oParamProperties) || [];
|
|
25
|
+
}
|
|
26
|
+
oFilterBarConditions = oController._intentBasedNavigation.prepareFiltersForExternalNavigation(oFilterBarConditions, sRootPath, aParameters);
|
|
27
|
+
const oMultipleModeControl = oController._getMultiModeControl();
|
|
28
|
+
if (oMultipleModeControl) {
|
|
29
|
+
// Do we need to exclude Fields (multi tables mode with multi entity sets)?
|
|
30
|
+
const oTabsModel = oMultipleModeControl.getTabsModel();
|
|
31
|
+
if (oTabsModel) {
|
|
32
|
+
var _oMultipleModeControl;
|
|
33
|
+
const aIgnoredFieldsForTab = oTabsModel.getProperty(`/${(_oMultipleModeControl = oMultipleModeControl.content) === null || _oMultipleModeControl === void 0 ? void 0 : _oMultipleModeControl.getSelectedKey()}/notApplicable/fields`);
|
|
34
|
+
if (Array.isArray(aIgnoredFieldsForTab) && aIgnoredFieldsForTab.length > 0) {
|
|
35
|
+
aIgnoredFieldsForTab.forEach(function (sProperty) {
|
|
36
|
+
delete oFilterBarConditions.filterConditions[sProperty];
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// TODO: move this also into the intent based navigation controller extension
|
|
43
|
+
CommonUtils.addExternalStateFiltersToSelectionVariant(oSelectionVariant, oFilterBarConditions, oTargetInfo, oFilterBar);
|
|
44
|
+
delete oTargetInfo.propertiesWithoutConflict;
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
getEntitySet: function () {
|
|
48
|
+
return this.base.getCurrentEntitySet();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
return IntentBasedNavigationOverride;
|
|
52
|
+
}, false);
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbnRlbnRCYXNlZE5hdmlnYXRpb25PdmVycmlkZSIsImFkYXB0TmF2aWdhdGlvbkNvbnRleHQiLCJvU2VsZWN0aW9uVmFyaWFudCIsIm9UYXJnZXRJbmZvIiwib1ZpZXciLCJnZXRWaWV3Iiwib0NvbnRyb2xsZXIiLCJnZXRDb250cm9sbGVyIiwib0ZpbHRlckJhciIsIl9nZXRGaWx0ZXJCYXJDb250cm9sIiwiaXNFbXB0eSIsIm9WaWV3RGF0YSIsImdldFZpZXdEYXRhIiwic1Jvb3RQYXRoIiwiZnVsbENvbnRleHRQYXRoIiwib0ZpbHRlckJhckNvbmRpdGlvbnMiLCJPYmplY3QiLCJhc3NpZ24iLCJiYXNlIiwiZmlsdGVyQmFyQ29uZGl0aW9ucyIsImFQYXJhbWV0ZXJzIiwiY29udGV4dFBhdGgiLCJvTWV0YU1vZGVsIiwiZ2V0TW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJvUGFyYW1ldGVySW5mbyIsIkNvbW1vblV0aWxzIiwiZ2V0UGFyYW1ldGVySW5mbyIsIm9QYXJhbVByb3BlcnRpZXMiLCJwYXJhbWV0ZXJQcm9wZXJ0aWVzIiwia2V5cyIsIl9pbnRlbnRCYXNlZE5hdmlnYXRpb24iLCJwcmVwYXJlRmlsdGVyc0ZvckV4dGVybmFsTmF2aWdhdGlvbiIsIm9NdWx0aXBsZU1vZGVDb250cm9sIiwiX2dldE11bHRpTW9kZUNvbnRyb2wiLCJvVGFic01vZGVsIiwiZ2V0VGFic01vZGVsIiwiYUlnbm9yZWRGaWVsZHNGb3JUYWIiLCJnZXRQcm9wZXJ0eSIsImNvbnRlbnQiLCJnZXRTZWxlY3RlZEtleSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImZvckVhY2giLCJzUHJvcGVydHkiLCJmaWx0ZXJDb25kaXRpb25zIiwiYWRkRXh0ZXJuYWxTdGF0ZUZpbHRlcnNUb1NlbGVjdGlvblZhcmlhbnQiLCJwcm9wZXJ0aWVzV2l0aG91dENvbmZsaWN0IiwiZ2V0RW50aXR5U2V0IiwiZ2V0Q3VycmVudEVudGl0eVNldCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiSW50ZW50QmFzZWROYXZpZ2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIEludGVudEJhc2VkTmF2aWdhdGlvbiBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZW50QmFzZWROYXZpZ2F0aW9uXCI7XG5pbXBvcnQgdHlwZSBMaXN0UmVwb3J0Q29udHJvbGxlciBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9MaXN0UmVwb3J0L0xpc3RSZXBvcnRDb250cm9sbGVyLmNvbnRyb2xsZXJcIjtcbmltcG9ydCBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5cbmNvbnN0IEludGVudEJhc2VkTmF2aWdhdGlvbk92ZXJyaWRlID0ge1xuXHRhZGFwdE5hdmlnYXRpb25Db250ZXh0OiBmdW5jdGlvbiAodGhpczogSW50ZW50QmFzZWROYXZpZ2F0aW9uLCBvU2VsZWN0aW9uVmFyaWFudDogYW55LCBvVGFyZ2V0SW5mbzogYW55KSB7XG5cdFx0Y29uc3Qgb1ZpZXcgPSB0aGlzLmdldFZpZXcoKSxcblx0XHRcdG9Db250cm9sbGVyID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpIGFzIExpc3RSZXBvcnRDb250cm9sbGVyLFxuXHRcdFx0b0ZpbHRlckJhciA9IG9Db250cm9sbGVyLl9nZXRGaWx0ZXJCYXJDb250cm9sKCk7XG5cdFx0Ly8gQWRkaW5nIGZpbHRlciBiYXIgdmFsdWVzIHRvIHRoZSBuYXZpZ2F0aW9uIGRvZXMgbm90IG1ha2Ugc2Vuc2UgaWYgbm8gY29udGV4dCBoYXMgYmVlbiBzZWxlY3RlZC5cblx0XHQvLyBIZW5jZSBvbmx5IGNvbnNpZGVyIGZpbHRlciBiYXIgdmFsdWVzIHdoZW4gU2VsZWN0aW9uVmFyaWFudCBpcyBub3QgZW1wdHlcblx0XHRpZiAob0ZpbHRlckJhciAmJiAhb1NlbGVjdGlvblZhcmlhbnQuaXNFbXB0eSgpKSB7XG5cdFx0XHRjb25zdCBvVmlld0RhdGEgPSBvVmlldy5nZXRWaWV3RGF0YSgpIGFzIGFueSxcblx0XHRcdFx0c1Jvb3RQYXRoID0gb1ZpZXdEYXRhLmZ1bGxDb250ZXh0UGF0aDtcblx0XHRcdGxldCBvRmlsdGVyQmFyQ29uZGl0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sICh0aGlzLmJhc2UuZ2V0VmlldygpLmdldENvbnRyb2xsZXIoKSBhcyBhbnkpLmZpbHRlckJhckNvbmRpdGlvbnMpO1xuXHRcdFx0bGV0IGFQYXJhbWV0ZXJzOiBhbnlbXSA9IFtdO1xuXG5cdFx0XHRpZiAob1ZpZXdEYXRhLmNvbnRleHRQYXRoKSB7XG5cdFx0XHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvVmlldy5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsLFxuXHRcdFx0XHRcdG9QYXJhbWV0ZXJJbmZvID0gQ29tbW9uVXRpbHMuZ2V0UGFyYW1ldGVySW5mbyhvTWV0YU1vZGVsLCBvVmlld0RhdGEuY29udGV4dFBhdGgpLFxuXHRcdFx0XHRcdG9QYXJhbVByb3BlcnRpZXMgPSBvUGFyYW1ldGVySW5mby5wYXJhbWV0ZXJQcm9wZXJ0aWVzO1xuXHRcdFx0XHRhUGFyYW1ldGVycyA9IChvUGFyYW1Qcm9wZXJ0aWVzICYmIE9iamVjdC5rZXlzKG9QYXJhbVByb3BlcnRpZXMpKSB8fCBbXTtcblx0XHRcdH1cblxuXHRcdFx0b0ZpbHRlckJhckNvbmRpdGlvbnMgPSBvQ29udHJvbGxlci5faW50ZW50QmFzZWROYXZpZ2F0aW9uLnByZXBhcmVGaWx0ZXJzRm9yRXh0ZXJuYWxOYXZpZ2F0aW9uKFxuXHRcdFx0XHRvRmlsdGVyQmFyQ29uZGl0aW9ucyxcblx0XHRcdFx0c1Jvb3RQYXRoLFxuXHRcdFx0XHRhUGFyYW1ldGVyc1xuXHRcdFx0KTtcblxuXHRcdFx0Y29uc3Qgb011bHRpcGxlTW9kZUNvbnRyb2wgPSBvQ29udHJvbGxlci5fZ2V0TXVsdGlNb2RlQ29udHJvbCgpO1xuXHRcdFx0aWYgKG9NdWx0aXBsZU1vZGVDb250cm9sKSB7XG5cdFx0XHRcdC8vIERvIHdlIG5lZWQgdG8gZXhjbHVkZSBGaWVsZHMgKG11bHRpIHRhYmxlcyBtb2RlIHdpdGggbXVsdGkgZW50aXR5IHNldHMpP1xuXHRcdFx0XHRjb25zdCBvVGFic01vZGVsID0gb011bHRpcGxlTW9kZUNvbnRyb2wuZ2V0VGFic01vZGVsKCk7XG5cdFx0XHRcdGlmIChvVGFic01vZGVsKSB7XG5cdFx0XHRcdFx0Y29uc3QgYUlnbm9yZWRGaWVsZHNGb3JUYWIgPSBvVGFic01vZGVsLmdldFByb3BlcnR5KFxuXHRcdFx0XHRcdFx0YC8ke29NdWx0aXBsZU1vZGVDb250cm9sLmNvbnRlbnQ/LmdldFNlbGVjdGVkS2V5KCl9L25vdEFwcGxpY2FibGUvZmllbGRzYFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoYUlnbm9yZWRGaWVsZHNGb3JUYWIpICYmIGFJZ25vcmVkRmllbGRzRm9yVGFiLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdGFJZ25vcmVkRmllbGRzRm9yVGFiLmZvckVhY2goZnVuY3Rpb24gKHNQcm9wZXJ0eTogYW55KSB7XG5cdFx0XHRcdFx0XHRcdGRlbGV0ZSBvRmlsdGVyQmFyQ29uZGl0aW9ucy5maWx0ZXJDb25kaXRpb25zW3NQcm9wZXJ0eV07XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gVE9ETzogbW92ZSB0aGlzIGFsc28gaW50byB0aGUgaW50ZW50IGJhc2VkIG5hdmlnYXRpb24gY29udHJvbGxlciBleHRlbnNpb25cblx0XHRcdENvbW1vblV0aWxzLmFkZEV4dGVybmFsU3RhdGVGaWx0ZXJzVG9TZWxlY3Rpb25WYXJpYW50KG9TZWxlY3Rpb25WYXJpYW50LCBvRmlsdGVyQmFyQ29uZGl0aW9ucywgb1RhcmdldEluZm8sIG9GaWx0ZXJCYXIpO1xuXHRcdFx0ZGVsZXRlIG9UYXJnZXRJbmZvLnByb3BlcnRpZXNXaXRob3V0Q29uZmxpY3Q7XG5cdFx0fVxuXHR9LFxuXHRnZXRFbnRpdHlTZXQ6IGZ1bmN0aW9uICh0aGlzOiBJbnRlbnRCYXNlZE5hdmlnYXRpb24pIHtcblx0XHRyZXR1cm4gKHRoaXMuYmFzZSBhcyBhbnkpLmdldEN1cnJlbnRFbnRpdHlTZXQoKTtcblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW50ZW50QmFzZWROYXZpZ2F0aW9uT3ZlcnJpZGU7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7RUFLQSxNQUFNQSw2QkFBNkIsR0FBRztJQUNyQ0Msc0JBQXNCLEVBQUUsVUFBdUNDLGlCQUFzQixFQUFFQyxXQUFnQixFQUFFO01BQ3hHLE1BQU1DLEtBQUssR0FBRyxJQUFJLENBQUNDLE9BQU8sRUFBRTtRQUMzQkMsV0FBVyxHQUFHRixLQUFLLENBQUNHLGFBQWEsRUFBMEI7UUFDM0RDLFVBQVUsR0FBR0YsV0FBVyxDQUFDRyxvQkFBb0IsRUFBRTtNQUNoRDtNQUNBO01BQ0EsSUFBSUQsVUFBVSxJQUFJLENBQUNOLGlCQUFpQixDQUFDUSxPQUFPLEVBQUUsRUFBRTtRQUMvQyxNQUFNQyxTQUFTLEdBQUdQLEtBQUssQ0FBQ1EsV0FBVyxFQUFTO1VBQzNDQyxTQUFTLEdBQUdGLFNBQVMsQ0FBQ0csZUFBZTtRQUN0QyxJQUFJQyxvQkFBb0IsR0FBR0MsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUcsSUFBSSxDQUFDQyxJQUFJLENBQUNiLE9BQU8sRUFBRSxDQUFDRSxhQUFhLEVBQUUsQ0FBU1ksbUJBQW1CLENBQUM7UUFDOUcsSUFBSUMsV0FBa0IsR0FBRyxFQUFFO1FBRTNCLElBQUlULFNBQVMsQ0FBQ1UsV0FBVyxFQUFFO1VBQzFCLE1BQU1DLFVBQVUsR0FBR2xCLEtBQUssQ0FBQ21CLFFBQVEsRUFBRSxDQUFDQyxZQUFZLEVBQW9CO1lBQ25FQyxjQUFjLEdBQUdDLFdBQVcsQ0FBQ0MsZ0JBQWdCLENBQUNMLFVBQVUsRUFBRVgsU0FBUyxDQUFDVSxXQUFXLENBQUM7WUFDaEZPLGdCQUFnQixHQUFHSCxjQUFjLENBQUNJLG1CQUFtQjtVQUN0RFQsV0FBVyxHQUFJUSxnQkFBZ0IsSUFBSVosTUFBTSxDQUFDYyxJQUFJLENBQUNGLGdCQUFnQixDQUFDLElBQUssRUFBRTtRQUN4RTtRQUVBYixvQkFBb0IsR0FBR1QsV0FBVyxDQUFDeUIsc0JBQXNCLENBQUNDLG1DQUFtQyxDQUM1RmpCLG9CQUFvQixFQUNwQkYsU0FBUyxFQUNUTyxXQUFXLENBQ1g7UUFFRCxNQUFNYSxvQkFBb0IsR0FBRzNCLFdBQVcsQ0FBQzRCLG9CQUFvQixFQUFFO1FBQy9ELElBQUlELG9CQUFvQixFQUFFO1VBQ3pCO1VBQ0EsTUFBTUUsVUFBVSxHQUFHRixvQkFBb0IsQ0FBQ0csWUFBWSxFQUFFO1VBQ3RELElBQUlELFVBQVUsRUFBRTtZQUFBO1lBQ2YsTUFBTUUsb0JBQW9CLEdBQUdGLFVBQVUsQ0FBQ0csV0FBVyxDQUNqRCxJQUFDLHlCQUFFTCxvQkFBb0IsQ0FBQ00sT0FBTywwREFBNUIsc0JBQThCQyxjQUFjLEVBQUcsdUJBQXNCLENBQ3pFO1lBQ0QsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNMLG9CQUFvQixDQUFDLElBQUlBLG9CQUFvQixDQUFDTSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2NBQzNFTixvQkFBb0IsQ0FBQ08sT0FBTyxDQUFDLFVBQVVDLFNBQWMsRUFBRTtnQkFDdEQsT0FBTzlCLG9CQUFvQixDQUFDK0IsZ0JBQWdCLENBQUNELFNBQVMsQ0FBQztjQUN4RCxDQUFDLENBQUM7WUFDSDtVQUNEO1FBQ0Q7O1FBRUE7UUFDQW5CLFdBQVcsQ0FBQ3FCLHlDQUF5QyxDQUFDN0MsaUJBQWlCLEVBQUVhLG9CQUFvQixFQUFFWixXQUFXLEVBQUVLLFVBQVUsQ0FBQztRQUN2SCxPQUFPTCxXQUFXLENBQUM2Qyx5QkFBeUI7TUFDN0M7SUFDRCxDQUFDO0lBQ0RDLFlBQVksRUFBRSxZQUF1QztNQUNwRCxPQUFRLElBQUksQ0FBQy9CLElBQUksQ0FBU2dDLG1CQUFtQixFQUFFO0lBQ2hEO0VBQ0QsQ0FBQztFQUFDLE9BRWFsRCw2QkFBNkI7QUFBQSJ9
|