@sapui5/sap.fe.macros 1.141.0 → 1.142.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/macros/.library +1 -1
- package/src/sap/fe/macros/Breadcrumbs.js +4 -10
- package/src/sap/fe/macros/Breadcrumbs.tsx +2 -8
- package/src/sap/fe/macros/Chart.js +34 -23
- package/src/sap/fe/macros/Chart.tsx +25 -11
- package/src/sap/fe/macros/CollaborativeDraftHandler.js +48 -31
- package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +51 -26
- package/src/sap/fe/macros/CollectionBindingInfo.js +8 -2
- package/src/sap/fe/macros/CollectionBindingInfo.ts +11 -6
- package/src/sap/fe/macros/CommonHelper.js +14 -24
- package/src/sap/fe/macros/CommonHelper.ts +18 -25
- package/src/sap/fe/macros/Field.js +30 -13
- package/src/sap/fe/macros/Field.ts +60 -30
- package/src/sap/fe/macros/FooterContent.js +5 -2
- package/src/sap/fe/macros/FooterContent.tsx +6 -3
- package/src/sap/fe/macros/KPITag.js +1 -1
- package/src/sap/fe/macros/KPITag.tsx +3 -1
- package/src/sap/fe/macros/MacroAPI.js +3 -2
- package/src/sap/fe/macros/MacroAPI.ts +2 -2
- package/src/sap/fe/macros/MessageButton.js +3 -2
- package/src/sap/fe/macros/MessageButton.tsx +5 -2
- package/src/sap/fe/macros/MicroChart.js +10 -6
- package/src/sap/fe/macros/MicroChart.tsx +8 -2
- package/src/sap/fe/macros/MultiValueField.js +22 -36
- package/src/sap/fe/macros/MultiValueField.tsx +34 -66
- package/src/sap/fe/macros/RichTextEditor.js +3 -4
- package/src/sap/fe/macros/RichTextEditor.tsx +2 -3
- package/src/sap/fe/macros/Status.js +35 -8
- package/src/sap/fe/macros/Status.tsx +23 -2
- package/src/sap/fe/macros/ValueHelp.js +5 -2
- package/src/sap/fe/macros/ValueHelp.tsx +5 -0
- package/src/sap/fe/macros/ai/EasyFilterBar.js +7 -34
- package/src/sap/fe/macros/ai/EasyFilterBar.tsx +6 -35
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +31 -7
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +33 -6
- package/src/sap/fe/macros/chart/Action.js +25 -2
- package/src/sap/fe/macros/chart/Action.ts +13 -0
- package/src/sap/fe/macros/chart/ActionGroup.js +25 -2
- package/src/sap/fe/macros/chart/ActionGroup.ts +13 -0
- package/src/sap/fe/macros/chart/ChartDelegate.js +8 -8
- package/src/sap/fe/macros/chart/ChartDelegate.ts +17 -12
- package/src/sap/fe/macros/chart/MdcChartTemplate.js +54 -11
- package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +70 -11
- package/src/sap/fe/macros/chart/OverflowGroup.js +62 -0
- package/src/sap/fe/macros/chart/OverflowGroup.ts +22 -0
- package/src/sap/fe/macros/controls/FilterBar.js +39 -3
- package/src/sap/fe/macros/controls/FilterBar.ts +42 -1
- package/src/sap/fe/macros/controls/RadioButtons.js +18 -5
- package/src/sap/fe/macros/controls/RadioButtons.tsx +10 -1
- package/src/sap/fe/macros/coreUI/CreateDialog.js +2 -2
- package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +37 -9
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +45 -6
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +4 -2
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +3 -1
- package/src/sap/fe/macros/field/FieldFormatOptions.js +3 -3
- package/src/sap/fe/macros/field/FieldFormatOptions.ts +1 -1
- package/src/sap/fe/macros/field/FieldHelper.js +4 -3
- package/src/sap/fe/macros/field/FieldHelper.ts +7 -1
- package/src/sap/fe/macros/field/FieldRuntime.js +38 -8
- package/src/sap/fe/macros/field/FieldRuntime.ts +65 -7
- package/src/sap/fe/macros/field/FieldRuntimeHelper.js +3 -34
- package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +28 -53
- package/src/sap/fe/macros/field/FieldTemplating.js +5 -4
- package/src/sap/fe/macros/field/FieldTemplating.ts +6 -4
- package/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -4
- package/src/sap/fe/macros/filter/FilterFieldHelper.ts +7 -2
- package/src/sap/fe/macros/filter/FilterUtils.js +100 -36
- package/src/sap/fe/macros/filter/FilterUtils.ts +127 -39
- package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.js +2 -2
- package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.ts +1 -1
- package/src/sap/fe/macros/filterBar/FilterBar.block.js +4 -3
- package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +19 -8
- package/src/sap/fe/macros/filterBar/FilterBarAPI.js +10 -7
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +31 -16
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +4 -3
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +5 -2
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +4 -3
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +3 -2
- package/src/sap/fe/macros/form/Form.block.js +27 -2
- package/src/sap/fe/macros/form/Form.block.ts +31 -11
- package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -3
- package/src/sap/fe/macros/form/FormContainer.block.js +96 -65
- package/src/sap/fe/macros/form/FormContainer.block.ts +104 -65
- package/src/sap/fe/macros/formatters/TableFormatter.js +13 -10
- package/src/sap/fe/macros/formatters/TableFormatter.ts +11 -9
- package/src/sap/fe/macros/formatters/VisualFilterFormatter.js +6 -4
- package/src/sap/fe/macros/formatters/VisualFilterFormatter.ts +5 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.js +5 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +4 -4
- package/src/sap/fe/macros/insights/InsightsService.js +3 -2
- package/src/sap/fe/macros/insights/InsightsService.ts +2 -1
- package/src/sap/fe/macros/internal/DataPoint.js +7 -8
- package/src/sap/fe/macros/internal/DataPoint.tsx +6 -9
- package/src/sap/fe/macros/internal/field/DisplayStyle.js +8 -6
- package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +7 -8
- package/src/sap/fe/macros/internal/field/EditStyle.js +9 -20
- package/src/sap/fe/macros/internal/field/EditStyle.tsx +17 -41
- package/src/sap/fe/macros/internal/field/FieldBlockStructure.js +2 -2
- package/src/sap/fe/macros/internal/field/FieldBlockStructure.tsx +1 -1
- package/src/sap/fe/macros/internal/field/FieldStructure.js +1 -2
- package/src/sap/fe/macros/internal/field/FieldStructure.tsx +0 -2
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +7 -7
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +17 -11
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +6 -2
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +5 -1
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +9 -6
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +7 -5
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +6 -6
- package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +5 -2
- package/src/sap/fe/macros/library.js +3 -3
- package/src/sap/fe/macros/library.ts +2 -0
- package/src/sap/fe/macros/mdc/adapter/StateHelper.js +15 -5
- package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +21 -5
- package/src/sap/fe/macros/messagebundle.properties +7 -5
- package/src/sap/fe/macros/messagebundle_ar.properties +12 -3
- package/src/sap/fe/macros/messagebundle_bg.properties +13 -4
- package/src/sap/fe/macros/messagebundle_ca.properties +12 -3
- package/src/sap/fe/macros/messagebundle_cnr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_cs.properties +11 -2
- package/src/sap/fe/macros/messagebundle_cy.properties +12 -3
- package/src/sap/fe/macros/messagebundle_da.properties +12 -3
- package/src/sap/fe/macros/messagebundle_de.properties +16 -7
- package/src/sap/fe/macros/messagebundle_el.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en_GB.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_es.properties +12 -3
- package/src/sap/fe/macros/messagebundle_es_MX.properties +12 -3
- package/src/sap/fe/macros/messagebundle_et.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -3
- package/src/sap/fe/macros/messagebundle_hi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_hr.properties +13 -4
- package/src/sap/fe/macros/messagebundle_hu.properties +12 -3
- package/src/sap/fe/macros/messagebundle_id.properties +18 -9
- package/src/sap/fe/macros/messagebundle_it.properties +12 -3
- package/src/sap/fe/macros/messagebundle_iw.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ja.properties +12 -3
- package/src/sap/fe/macros/messagebundle_kk.properties +11 -2
- package/src/sap/fe/macros/messagebundle_ko.properties +13 -4
- package/src/sap/fe/macros/messagebundle_lt.properties +12 -3
- package/src/sap/fe/macros/messagebundle_lv.properties +12 -3
- package/src/sap/fe/macros/messagebundle_mk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ms.properties +12 -3
- package/src/sap/fe/macros/messagebundle_nl.properties +12 -3
- package/src/sap/fe/macros/messagebundle_no.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pl.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pt.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ro.properties +13 -4
- package/src/sap/fe/macros/messagebundle_ru.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sh.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sl.properties +13 -4
- package/src/sap/fe/macros/messagebundle_sr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sv.properties +12 -3
- package/src/sap/fe/macros/messagebundle_th.properties +11 -2
- package/src/sap/fe/macros/messagebundle_tr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_uk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_vi.properties +13 -4
- package/src/sap/fe/macros/messagebundle_zh_CN.properties +12 -3
- package/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -3
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.js +2 -2
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.ts +2 -2
- package/src/sap/fe/macros/table/Action.js +15 -2
- package/src/sap/fe/macros/table/Action.ts +11 -1
- package/src/sap/fe/macros/table/ActionGroup.js +15 -2
- package/src/sap/fe/macros/table/ActionGroup.ts +8 -0
- package/src/sap/fe/macros/table/ActionGroupOverride.js +14 -2
- package/src/sap/fe/macros/table/ActionGroupOverride.ts +7 -0
- package/src/sap/fe/macros/table/ActionOverride.js +14 -2
- package/src/sap/fe/macros/table/ActionOverride.ts +7 -0
- package/src/sap/fe/macros/table/ActionsTemplating.js +16 -2
- package/src/sap/fe/macros/table/ActionsTemplating.tsx +15 -0
- package/src/sap/fe/macros/table/MdcTableTemplate.js +91 -10
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +131 -10
- package/src/sap/fe/macros/table/OverflowGroups.js +59 -0
- package/src/sap/fe/macros/table/OverflowGroups.ts +27 -0
- package/src/sap/fe/macros/table/Table.block.js +70 -29
- package/src/sap/fe/macros/table/Table.block.tsx +65 -12
- package/src/sap/fe/macros/table/TableAPI.js +169 -131
- package/src/sap/fe/macros/table/TableAPI.ts +58 -28
- package/src/sap/fe/macros/table/TableDefinition.js +19 -2
- package/src/sap/fe/macros/table/TableDefinition.ts +17 -1
- package/src/sap/fe/macros/table/TableEventHandlerProvider.js +4 -3
- package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +8 -9
- package/src/sap/fe/macros/table/TableHelper.js +5 -2
- package/src/sap/fe/macros/table/TableHelper.ts +5 -2
- package/src/sap/fe/macros/table/TableRuntime.js +2 -2
- package/src/sap/fe/macros/table/TableRuntime.ts +4 -6
- package/src/sap/fe/macros/table/TableSizeHelper.js +4 -4
- package/src/sap/fe/macros/table/TableSizeHelper.ts +6 -11
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +67 -26
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +108 -118
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +2 -2
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +1 -1
- package/src/sap/fe/macros/table/massEdit/MassEditField.js +1 -1
- package/src/sap/fe/macros/table/massEdit/MassEditField.tsx +3 -6
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +6 -5
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +10 -4
- package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +7 -9
- package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +7 -8
- package/src/sap/fe/macros/table/mixin/TableExport.js +1 -1
- package/src/sap/fe/macros/table/mixin/TableExport.ts +3 -3
- package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +4 -4
- package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.ts +3 -3
- package/src/sap/fe/macros/visualfilters/VisualFilter.js +20 -2
- package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +28 -6
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -3
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +4 -3
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.js +3 -3
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.tsx +10 -4
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +1 -1
|
@@ -5,7 +5,6 @@ import { isConstant } from "sap/fe/base/BindingToolkit";
|
|
|
5
5
|
import type { EnhanceWithUI5 } from "sap/fe/base/ClassSupport";
|
|
6
6
|
import { aggregation, association, defineUI5Class, implementInterface, property, type PropertiesOf } from "sap/fe/base/ClassSupport";
|
|
7
7
|
import type {
|
|
8
|
-
CodeListType,
|
|
9
8
|
EasyFilterBarContainer$ShowValueHelpEvent,
|
|
10
9
|
EasyFilterPropertyMetadata,
|
|
11
10
|
TokenDefinition,
|
|
@@ -40,6 +39,7 @@ import type ManagedObject from "sap/ui/base/ManagedObject";
|
|
|
40
39
|
import type { $ControlSettings } from "sap/ui/core/Control";
|
|
41
40
|
import UI5Element from "sap/ui/core/Element";
|
|
42
41
|
import type { ConditionObject } from "sap/ui/mdc/condition/Condition";
|
|
42
|
+
import OperatorName from "sap/ui/mdc/enums/OperatorName";
|
|
43
43
|
import FilterOperator from "sap/ui/model/FilterOperator";
|
|
44
44
|
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
45
45
|
import Date1 from "sap/ui/model/odata/type/Date";
|
|
@@ -451,39 +451,6 @@ export default class EasyFilterBar extends BuildingBlock implements IViewStateCo
|
|
|
451
451
|
result = unresolvedResult(values);
|
|
452
452
|
}
|
|
453
453
|
|
|
454
|
-
// Apply maxLength filtering if defined
|
|
455
|
-
if (field.maxLength !== undefined) {
|
|
456
|
-
const filteredTokens = result
|
|
457
|
-
.map((token) => {
|
|
458
|
-
if (token.operator === FilterOperator.BT || token.operator === FilterOperator.NB) {
|
|
459
|
-
// Handle between operators - selectedValues is ValueHelpBetweenSelectedValues
|
|
460
|
-
const [a, b] = token.selectedValues;
|
|
461
|
-
|
|
462
|
-
// Check if both values exceed maxLength
|
|
463
|
-
if (String(a.value).length <= field.maxLength! && String(b.value).length <= field.maxLength!) {
|
|
464
|
-
return token; // Keep the token if both values are within limit
|
|
465
|
-
} else {
|
|
466
|
-
return null; // Remove the token if either value exceeds limit
|
|
467
|
-
}
|
|
468
|
-
} else {
|
|
469
|
-
// Handle other operators - selectedValues is CodeListType[]
|
|
470
|
-
const filtered: CodeListType[] = token.selectedValues.filter(
|
|
471
|
-
(selectedValue) => String(selectedValue.value).length <= field.maxLength!
|
|
472
|
-
);
|
|
473
|
-
|
|
474
|
-
// Only return the token if there are remaining values after filtering
|
|
475
|
-
if (filtered.length > 0) {
|
|
476
|
-
return { ...token, selectedValues: filtered };
|
|
477
|
-
} else {
|
|
478
|
-
return null; // Remove the token if no values remain
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
})
|
|
482
|
-
.filter((token): token is ValueHelpSelectedValuesDefinition => token !== null);
|
|
483
|
-
|
|
484
|
-
return filteredTokens;
|
|
485
|
-
}
|
|
486
|
-
|
|
487
454
|
// if no maxLength is defined, return unfiltered result
|
|
488
455
|
return result;
|
|
489
456
|
}
|
|
@@ -517,7 +484,11 @@ export default class EasyFilterBar extends BuildingBlock implements IViewStateCo
|
|
|
517
484
|
const field = this.filterBarMetadata.find((f) => f.name === token.key)!;
|
|
518
485
|
for (const tokenKeySpecification of token.keySpecificSelectedValues) {
|
|
519
486
|
const { operator, selectedValues } = tokenKeySpecification;
|
|
520
|
-
|
|
487
|
+
if (operator === FilterOperator.NB) {
|
|
488
|
+
await FilterUtils.addFilterValues(filterBarAPI.content, field.name, OperatorName.NOTBT, selectedValues);
|
|
489
|
+
} else {
|
|
490
|
+
await FilterUtils.addFilterValues(filterBarAPI.content, field.name, operator, selectedValues);
|
|
491
|
+
}
|
|
521
492
|
}
|
|
522
493
|
}
|
|
523
494
|
}
|
|
@@ -88,16 +88,40 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
|
|
|
88
88
|
// The key query did not return any matches, but the search query found results. Use the search results instead.
|
|
89
89
|
|
|
90
90
|
let results = valueHelpSearchQuery.value.map(mapResult);
|
|
91
|
+
let filteredResults = [];
|
|
92
|
+
let hasPostProcessingResults = false;
|
|
91
93
|
if (cleanedOperator === FilterOperator.EQ) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
// for EQ we still want to display the results even if it is empty after filtering
|
|
95
|
+
hasPostProcessingResults = true;
|
|
96
|
+
filteredResults = results.filter(result => result.description.toString().toLowerCase() === valueToMatch.toString().toLowerCase());
|
|
97
|
+
if (filteredResults.length === 0) {
|
|
98
|
+
filteredResults = results;
|
|
96
99
|
}
|
|
100
|
+
} else if (cleanedOperator === FilterOperator.StartsWith) {
|
|
101
|
+
filteredResults = results.filter(result => result.description.toString().toLowerCase().startsWith(valueToMatch.toString().toLowerCase()));
|
|
102
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
103
|
+
} else if (cleanedOperator === FilterOperator.EndsWith) {
|
|
104
|
+
filteredResults = results.filter(result => result.description.toString().toLowerCase().endsWith(valueToMatch.toString().toLowerCase()));
|
|
105
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
106
|
+
} else if (cleanedOperator === FilterOperator.Contains) {
|
|
107
|
+
filteredResults = results.filter(result => result.description.toString().toLowerCase().includes(valueToMatch.toString().toLowerCase()));
|
|
108
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
97
109
|
}
|
|
110
|
+
// If post-processing left no results, return user's original input
|
|
111
|
+
if (!hasPostProcessingResults) {
|
|
112
|
+
return {
|
|
113
|
+
operator,
|
|
114
|
+
selectedValues: [{
|
|
115
|
+
value: valueToMatch,
|
|
116
|
+
description: valueToMatch
|
|
117
|
+
}]
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
// If post-processing found results, return the filtered results
|
|
121
|
+
// Always set the operator to EQ/NE, as post-processing ensures an EQ/NE result.
|
|
98
122
|
return {
|
|
99
|
-
operator,
|
|
100
|
-
selectedValues:
|
|
123
|
+
operator: operator === cleanedOperator ? FilterOperator.EQ : FilterOperator.NE,
|
|
124
|
+
selectedValues: filteredResults
|
|
101
125
|
};
|
|
102
126
|
}
|
|
103
127
|
|
|
@@ -258,4 +282,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
|
|
|
258
282
|
_exports.getPositiveOperator = getPositiveOperator;
|
|
259
283
|
return _exports;
|
|
260
284
|
}, false);
|
|
261
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRLZXlQcm9wZXJ0eUZpbHRlciIsInZhbHVlTGlzdCIsImtleVByb3BlcnR5Iiwib3BlcmF0b3IiLCJ2YWx1ZVRvTWF0Y2giLCJmaWx0ZXJWYWx1ZSIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiSXNVcHBlckNhc2UiLCJ2YWx1ZU9mIiwidG9VcHBlckNhc2UiLCJGaWx0ZXIiLCJwYXRoIiwia2V5UGF0aCIsInZhbHVlMSIsInJlc29sdmVWYWx1ZVVzaW5nVmFsdWVMaXN0IiwibG9vc2VNYXRjaCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm1vZGVsIiwidmFsdWVMaXN0SW5mbyIsIiRtb2RlbCIsIkNvbGxlY3Rpb25QYXRoIiwiJHNlbGVjdCIsImdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyIiwiJHNlYXJjaCIsIkNvbW1vblV0aWxzIiwibm9ybWFsaXplU2VhcmNoVGVybSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInRvU3RyaW5nIiwiaXNOZWdhdGlvbiIsImlzTmVnYXRpb25PcGVyYXRvciIsImNsZWFuZWRPcGVyYXRvciIsImdldFBvc2l0aXZlT3BlcmF0b3IiLCJrZXlQcm9wZXJ0eUZpbHRlciIsImNoYXJhY3RlckxpbWl0T3ZlcmZsb3ciLCJtYXhMZW5ndGgiLCJ2YWx1ZUhlbHBLZXlRdWVyeSIsInZhbHVlSGVscFNlYXJjaFF1ZXJ5IiwiUHJvbWlzZSIsImFsbFNldHRsZWQiLCJiaW5kTGlzdCIsInJlcXVlc3RDb250ZXh0cyIsIm1hcFJlc3VsdCIsIm1hcFZhbHVlTGlzdFRvQ29kZUxpc3QiLCJzdGF0dXMiLCJ2YWx1ZSIsIkZpbHRlck9wZXJhdG9yIiwiRVEiLCJzZWxlY3RlZFZhbHVlcyIsIm1hcCIsImRlc2NyaXB0aW9uIiwicmVzdWx0cyIsImZpbHRlcmVkUmVzdWx0cyIsImZpbHRlciIsInJlc3VsdCIsInRvTG93ZXJDYXNlIiwibm9NYXRjaCIsImVuc3VyZURlc2NyaXB0aW9uIiwiY29udGV4dCIsImRhdGEiLCJnZXRPYmplY3QiLCJkZXNjcmlwdGlvblBhdGgiLCJfZXhwb3J0cyIsImluY2x1ZGVzIiwiam9pbiIsInJlc29sdmVUb2tlblZhbHVlIiwic2V0Q29udGludWVPbkVycm9yIiwidmFsdWVMaXN0TWV0YW1vZGVsIiwiY29udmVydFR5cGVzIiwiZ2V0TWV0YU1vZGVsIiwicmVzb2x2ZVBhdGgiLCJ0YXJnZXQiLCJpc1Byb3BlcnR5IiwidW5yZXNvbHZlZFJlc3VsdCIsImlzQ29tcGFyaXNvbk9wZXJhdG9yIiwiQlQiLCJOQiIsImxvd2VyQm91bmQiLCJ1cHBlckJvdW5kIiwicmVzb2x2ZWRWYWx1ZXMiLCJhbGwiLCJzZWxlY3RlZFZhbHVlIiwiZmxhdCIsInZhbHVlcyIsIl9yZWYiLCJORSIsIk5vdENvbnRhaW5zIiwiTm90U3RhcnRzV2l0aCIsIk5vdEVuZHNXaXRoIiwiR1QiLCJHRSIsIkxUIiwiTEUiLCJuZWdhdGlvbk9wZXJhdG9yIiwiQ29udGFpbnMiLCJTdGFydHNXaXRoIiwiRW5kc1dpdGgiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkVhc3lGaWx0ZXJEYXRhRmV0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENvZGVMaXN0VHlwZSxcblx0VG9rZW5TZWxlY3RlZFZhbHVlc0RlZmluaXRpb24sXG5cdFZhbHVlSGVscEJldHdlZW5TZWxlY3RlZFZhbHVlcyxcblx0VmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uXG59IGZyb20gXCJzYXAvZmUvY29udHJvbHMvZWFzeUZpbHRlci9FYXN5RmlsdGVyQmFyQ29udGFpbmVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBjb252ZXJ0VHlwZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgeyB0eXBlIFZhbHVlTGlzdEluZm8gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVMaXN0SGVscGVyXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IEZpbHRlck9wZXJhdG9yIGZyb20gXCJzYXAvdWkvbW9kZWwvRmlsdGVyT3BlcmF0b3JcIjtcbmltcG9ydCB0eXBlIHsgQ29kZUxpc3RFbnRyeSB9IGZyb20gXCJ1eC9lbmcvZmlvcmlhaS9yZXVzZS9lYXN5ZmlsdGVyL0Vhc3lGaWx0ZXJcIjtcblxudHlwZSBTY2FsYXJPcGVyYXRvciA9IEV4Y2x1ZGU8RmlsdGVyT3BlcmF0b3IsIEZpbHRlck9wZXJhdG9yLkJUIHwgRmlsdGVyT3BlcmF0b3IuTkI+O1xudHlwZSBTY2FsYXJWYWx1ZSA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBEYXRlO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGZpbHRlciBmb3IgdGhlIGtleSBwcm9wZXJ0eSBvZiBhIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uLlxuICogQHBhcmFtIGtleVByb3BlcnR5IFRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvci5cbiAqIEBwYXJhbSB2YWx1ZVRvTWF0Y2ggVGhlIHZhbHVlIHRvIG1hdGNoLlxuICogQHJldHVybnMgQSBmaWx0ZXIgZm9yIHRoZSBrZXkgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGdldEtleVByb3BlcnR5RmlsdGVyKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGtleVByb3BlcnR5OiBQcm9wZXJ0eSxcblx0b3BlcmF0b3I6IFNjYWxhck9wZXJhdG9yLFxuXHR2YWx1ZVRvTWF0Y2g6IFNjYWxhclZhbHVlXG4pOiBGaWx0ZXIge1xuXHRsZXQgZmlsdGVyVmFsdWUgPSB2YWx1ZVRvTWF0Y2g7XG5cblx0Ly8gSWYgdGhlIGtleSBwcm9wZXJ0eSBpcyBrbm93biB0byBjb250YWluIG9ubHkgdXBwZXJjYXNlIHZhbHVlcywgY29udmVydCB0aGUgZmlsdGVyIHZhbHVlIHRvIHVwcGVyY2FzZSBhcyB3ZWxsXG5cdGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09IFwic3RyaW5nXCIgJiYga2V5UHJvcGVydHkuYW5ub3RhdGlvbnMuQ29tbW9uPy5Jc1VwcGVyQ2FzZT8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0ZmlsdGVyVmFsdWUgPSBmaWx0ZXJWYWx1ZS50b1VwcGVyQ2FzZSgpO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBGaWx0ZXIoeyBwYXRoOiB2YWx1ZUxpc3Qua2V5UGF0aCwgb3BlcmF0b3IsIHZhbHVlMTogZmlsdGVyVmFsdWUgfSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBzaW5nbGUgc2NhbGFyIHZhbHVlIHVzaW5nIGEgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSB2YWx1ZUxpc3QgVGhlIHZhbHVlIGxpc3QgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0ga2V5UHJvcGVydHkgVGhlIGtleSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSBvcGVyYXRvciBUaGUgZmlsdGVyIG9wZXJhdG9yLlxuICogQHBhcmFtIHZhbHVlVG9NYXRjaCBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIGFwcGx5IGxvb3NlIG1hdGNoaW5nIG9yIG5vdFxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHNlbGVjdGVkIHZhbHVlcy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVZhbHVlVXNpbmdWYWx1ZUxpc3QoXG5cdHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyxcblx0a2V5UHJvcGVydHk6IFByb3BlcnR5LFxuXHRvcGVyYXRvcjogU2NhbGFyT3BlcmF0b3IsXG5cdHZhbHVlVG9NYXRjaDogU2NhbGFyVmFsdWUsXG5cdGxvb3NlTWF0Y2ggPSBmYWxzZVxuKTogUHJvbWlzZTxWYWx1ZUhlbHBTZWxlY3RlZFZhbHVlc0RlZmluaXRpb24+IHtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cdGNvbnN0IHBhdGggPSBgLyR7dmFsdWVMaXN0LnZhbHVlTGlzdEluZm8uQ29sbGVjdGlvblBhdGh9YDtcblx0Y29uc3QgJHNlbGVjdCA9IGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdCk7XG5cdGxldCAkc2VhcmNoID0gQ29tbW9uVXRpbHMubm9ybWFsaXplU2VhcmNoVGVybSh2YWx1ZVRvTWF0Y2ggaW5zdGFuY2VvZiBEYXRlID8gdmFsdWVUb01hdGNoLnRvSVNPU3RyaW5nKCkgOiB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKSk7XG5cblx0Ly8gSGFuZGxlIG5lZ2F0aW9uIG9wZXJhdG9ycyAoTkUsIE5vdENvbnRhaW5zLCBOb3RTdGFydHNXaXRoLCBOb3RFbmRzV2l0aClcblx0Ly8gU3RyYXRlZ3k6IFF1ZXJ5IGZvciBwb3NpdGl2ZSBjYXNlLCB0aGVuIGFwcGx5IG5lZ2F0aW9uIGNsaWVudC1zaWRlXG5cdGNvbnN0IGlzTmVnYXRpb24gPSBpc05lZ2F0aW9uT3BlcmF0b3Iob3BlcmF0b3IpO1xuXHQvLyBcImNsZWFuZWRcIiBvcGVyYXRvciBmb3IgcG9zc2libGUgbmVnYXRpb24gb3BlcmF0b3JzXG5cdGNvbnN0IGNsZWFuZWRPcGVyYXRvciA9IGlzTmVnYXRpb24gPyBnZXRQb3NpdGl2ZU9wZXJhdG9yKG9wZXJhdG9yKSA6IG9wZXJhdG9yO1xuXHRjb25zdCBrZXlQcm9wZXJ0eUZpbHRlciA9IGdldEtleVByb3BlcnR5RmlsdGVyKHZhbHVlTGlzdCwga2V5UHJvcGVydHksIGNsZWFuZWRPcGVyYXRvciwgdmFsdWVUb01hdGNoKTtcblxuXHQvLyBDaGVjayBpZiB0aGUgcXVlcnkgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGtleSBwcm9wZXJ0eVxuXHRjb25zdCBjaGFyYWN0ZXJMaW1pdE92ZXJmbG93ID0gISRzZWFyY2ggfHwgJHNlYXJjaC5sZW5ndGggPiAoa2V5UHJvcGVydHkubWF4TGVuZ3RoID8/ICRzZWFyY2gubGVuZ3RoKTtcblxuXHRpZiAoIWxvb3NlTWF0Y2gpIHtcblx0XHQkc2VhcmNoID0gYFwiJHskc2VhcmNofVwiYDsgLy8gRW5zdXJlIHRoZSBzZWFyY2ggdGVybSBpcyB0cmVhdGVkIGFzIGEgcGhyYXNlXG5cdH1cblx0Ly8gSWYgcXVlcnkgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGtleSBwcm9wZXJ0eSwgd2UgZG9uJ3QgZmlsdGVyIGF0IGFsbCwgYXMgaXQgd291bGQgZ2l2ZSBubyByZXN1bHQgYW55d2F5XG5cdGNvbnN0IFt2YWx1ZUhlbHBLZXlRdWVyeSwgdmFsdWVIZWxwU2VhcmNoUXVlcnldID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFtcblx0XHQhY2hhcmFjdGVyTGltaXRPdmVyZmxvdyA/IG1vZGVsLmJpbmRMaXN0KHBhdGgsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBrZXlQcm9wZXJ0eUZpbHRlciwgeyAkc2VsZWN0IH0pLnJlcXVlc3RDb250ZXh0cygwLCAxKSA6IFtdLCAvLyAkZmlsdGVyIG9uIHRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3Rcblx0XHRtb2RlbC5iaW5kTGlzdChwYXRoLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7ICRzZWFyY2g6ICRzZWFyY2gsICRzZWxlY3QgfSkucmVxdWVzdENvbnRleHRzKCkgLy8gJHNlYXJjaCBvbiB0aGUgdmFsdWUgbGlzdFxuXHRdKTtcblxuXHRjb25zdCBtYXBSZXN1bHQgPSBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KHZhbHVlTGlzdCwgdHJ1ZSk7XG5cblx0aWYgKHZhbHVlSGVscEtleVF1ZXJ5LnN0YXR1cyA9PT0gXCJmdWxmaWxsZWRcIiAmJiB2YWx1ZUhlbHBLZXlRdWVyeS52YWx1ZS5sZW5ndGggPiAwKSB7XG5cdFx0Ly8gVGhlcmUgaXMgYXQgbGVhc3Qgb25lIG1hdGNoIGluIHRoZSBrZXkgY29sdW1uOlxuXHRcdC8vIC0gSWYgdGhlIG9wZXJhdG9yIGlzIEVROiBUaGlzIGluZGljYXRlcyBhbiBleGFjdCBrZXkgbWF0Y2gsIHNvIHRoZSByZXR1cm5lZCBkYXRhIHdpbGwgYmUgdXNlZC5cblx0XHQvLyAtIEZvciBvdGhlciBvcGVyYXRvcnM6IE9uZSBvciBtb3JlIGtleXMgbWF0Y2ggdGhlIHZhbHVlIGJhc2VkIG9uIHRoZSBvcGVyYXRvciwgc28gdGhlIG9yaWdpbmFsIGNvbmRpdGlvbiBpcyBwcmVzZXJ2ZWQuXG5cdFx0cmV0dXJuIGNsZWFuZWRPcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuRVFcblx0XHRcdD8geyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXM6IHZhbHVlSGVscEtleVF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpIH1cblx0XHRcdDoge1xuXHRcdFx0XHRcdG9wZXJhdG9yLFxuXHRcdFx0XHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dXG5cdFx0XHQgIH07XG5cdH1cblxuXHRpZiAodmFsdWVIZWxwU2VhcmNoUXVlcnkuc3RhdHVzID09PSBcImZ1bGZpbGxlZFwiICYmIHZhbHVlSGVscFNlYXJjaFF1ZXJ5LnZhbHVlLmxlbmd0aCA+IDApIHtcblx0XHQvLyBUaGUga2V5IHF1ZXJ5IGRpZCBub3QgcmV0dXJuIGFueSBtYXRjaGVzLCBidXQgdGhlIHNlYXJjaCBxdWVyeSBmb3VuZCByZXN1bHRzLiBVc2UgdGhlIHNlYXJjaCByZXN1bHRzIGluc3RlYWQuXG5cblx0XHRsZXQgcmVzdWx0cyA9IHZhbHVlSGVscFNlYXJjaFF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpO1xuXG5cdFx0aWYgKGNsZWFuZWRPcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuRVEpIHtcblx0XHRcdGNvbnN0IGZpbHRlcmVkUmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKFxuXHRcdFx0XHQocmVzdWx0KSA9PiByZXN1bHQuZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG5cdFx0XHQpO1xuXHRcdFx0Ly8gSWYgdGhlIHNlYXJjaCBxdWVyeSBpcyBmb3VuZCBvbmNlL211bHRpcGxlIHRpbWVzIGluIHRoZSByZXN1bHQgKyBvcGVyYXRvciBpcyBFUSwgd2UgbmVlZCB0byByZXR1cm4gb25seSB0aG9zZSByZXN1bHRzXG5cdFx0XHRpZiAoZmlsdGVyZWRSZXN1bHRzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0cmVzdWx0cyA9IGZpbHRlcmVkUmVzdWx0cztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4geyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXM6IHJlc3VsdHMgfTtcblx0fVxuXG5cdC8vIE5vIG1hdGNoZXMgd2VyZSBmb3VuZCBpbiBlaXRoZXIgcXVlcnk7IHRoZSBvcmlnaW5hbCB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgYSBmYWxsYmFjay5cblxuXHRyZXR1cm4ge1xuXHRcdG9wZXJhdG9yLFxuXHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dLFxuXHRcdG5vTWF0Y2g6IHRydWVcblx0fTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBtYXBwaW5nIGZ1bmN0aW9uIGZvciBtYXBwaW5nIGEgdmFsdWUgbGlzdCBxdWVyeSByZXN1bHQgdG8gYSBjb2RlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGtleSBhbmQgZGVzY3JpcHRpb24gcHJvcGVydGllcy5cbiAqIEBwYXJhbSBlbnN1cmVEZXNjcmlwdGlvbiBXaGV0aGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBkZXNjcmlwdGlvbiBpcyBhbHdheXMgcmV0dXJuZWQuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgbWFwcyBhIHNpbmdsZSB2YWx1ZSBsaXN0IHF1ZXJ5IHJlc3VsdCB0byBhIGNvZGUgbGlzdCBlbnRyeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFZhbHVlTGlzdFRvQ29kZUxpc3QodmFsdWVMaXN0OiBWYWx1ZUxpc3RJbmZvLCBlbnN1cmVEZXNjcmlwdGlvbjogdHJ1ZSk6IChjb250ZXh0OiBDb250ZXh0KSA9PiBDb2RlTGlzdFR5cGU7XG5leHBvcnQgZnVuY3Rpb24gbWFwVmFsdWVMaXN0VG9Db2RlTGlzdCh2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sIGVuc3VyZURlc2NyaXB0aW9uPzogZmFsc2UpOiAoY29udGV4dDogQ29udGV4dCkgPT4gQ29kZUxpc3RFbnRyeTtcbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGVuc3VyZURlc2NyaXB0aW9uID0gZmFsc2Vcbik6IChjb250ZXh0OiBDb250ZXh0KSA9PiBDb2RlTGlzdEVudHJ5IHwgQ29kZUxpc3RUeXBlIHtcblx0cmV0dXJuIChjb250ZXh0OiBDb250ZXh0KTogQ29kZUxpc3RFbnRyeSA9PiB7XG5cdFx0Y29uc3QgZGF0YSA9IGNvbnRleHQuZ2V0T2JqZWN0KCk7XG5cdFx0Y29uc3QgdmFsdWUgPSBkYXRhW3ZhbHVlTGlzdC5rZXlQYXRoXTtcblx0XHRjb25zdCBkZXNjcmlwdGlvbiA9IHZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGggPyBkYXRhW3ZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGhdIDogdW5kZWZpbmVkO1xuXHRcdHJldHVybiB7IHZhbHVlLCBkZXNjcmlwdGlvbjogZW5zdXJlRGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbiA/PyB2YWx1ZSA6IGRlc2NyaXB0aW9uIH07XG5cdH07XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSAkc2VsZWN0IHBhcmFtZXRlciBmb3IgYSB2YWx1ZSBsaXN0IHF1ZXJ5LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCBpbmZvcm1hdGlvbi5cbiAqIEByZXR1cm5zIFRoZSAkc2VsZWN0IHBhcmFtZXRlciBhcyBhIHN0cmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyk6IHN0cmluZyB7XG5cdHJldHVybiBbdmFsdWVMaXN0LmtleVBhdGgsIHZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGhdLmZpbHRlcigocGF0aCkgPT4gcGF0aCAmJiAhcGF0aC5pbmNsdWRlcyhcIi9cIikpLmpvaW4oXCIsXCIpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRva2VuLWJhc2VkIGZpbHRlciB2YWx1ZXMgdXNpbmcgYSB2YWx1ZSBsaXN0LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCB1c2VkIGZvciByZXNvbHZpbmcgdmFsdWVzLlxuICogQHBhcmFtIHZhbHVlIFRoZSB0b2tlbi1iYXNlZCBmaWx0ZXIgdmFsdWVzIHRvIHJlc29sdmUuXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIHBlcmZvcm0gYSBsb29zZSBtYXRjaCBvbiB0aGUgdmFsdWVzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgcmVzb2x2ZWQgZmlsdGVyIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVUb2tlblZhbHVlKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdHZhbHVlOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbixcblx0bG9vc2VNYXRjaCA9IGZhbHNlXG4pOiBQcm9taXNlPFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdPiB7XG5cdGNvbnN0IHsgb3BlcmF0b3IsIHNlbGVjdGVkVmFsdWVzIH0gPSB2YWx1ZTtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cblx0Ly8gTWFrZSBzdXJlIGFsbCB2YWx1ZXMgYXJlIHJlc29sdmVkLCBldmVuIGlmIHNvbWUgcmVxdWVzdHMgZmFpbC4gSXQgY2FuIGhhcHBlbiB0aGF0IHRoZSBiYWNrZW5kIGNhbm5vdCBwcm9jZXNzIHRoZSAkZmlsdGVyIHF1ZXJpZXMgd2Vcblx0Ly8gcnVuIG9uIHRoZSB2YWx1ZSBsaXN0LCBidXQgd2Ugc3RpbGwgd2FudCB0byBnZXQgdGhlIGZhbGxiYWNrICRzZWFyY2ggcmVzdWx0cy5cblx0bW9kZWwuc2V0Q29udGludWVPbkVycm9yKFwiJGF1dG9cIik7XG5cblx0Y29uc3QgdmFsdWVMaXN0TWV0YW1vZGVsID0gY29udmVydFR5cGVzKG1vZGVsLmdldE1ldGFNb2RlbCgpKTtcblx0Y29uc3Qga2V5UHJvcGVydHkgPSB2YWx1ZUxpc3RNZXRhbW9kZWwucmVzb2x2ZVBhdGgoYC8ke3ZhbHVlTGlzdC52YWx1ZUxpc3RJbmZvLkNvbGxlY3Rpb25QYXRofS8ke3ZhbHVlTGlzdC5rZXlQYXRofWApPy50YXJnZXQ7XG5cblx0aWYgKCFpc1Byb3BlcnR5KGtleVByb3BlcnR5KSkge1xuXHRcdC8vIHNvbWV0aGluZyB3ZW50IHdyb25nIC0gdGhlIGtleSBwcm9wZXJ0eSBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdCBlbnRpdHlcblx0XHRyZXR1cm4gdW5yZXNvbHZlZFJlc3VsdChbdmFsdWVdKTtcblx0fVxuXG5cdC8vIEZvciBjb21wYXJpc29uIG9wZXJhdG9ycyAoR3JlYXRlclRoYW4sIExlc3NUaGFuLCBCZXR3ZWVuLCBldGMuKSwgc2tpcCBiYWNrZW5kIGNhbGxzXG5cdC8vIGFuZCByZXR1cm4gdXNlciBpbnB1dCBkaXJlY3RseSB0byBFYXN5RmlsdGVyXG5cdGlmIChpc0NvbXBhcmlzb25PcGVyYXRvcihvcGVyYXRvcikpIHtcblx0XHRpZiAob3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkJUIHx8IG9wZXJhdG9yID09PSBGaWx0ZXJPcGVyYXRvci5OQikge1xuXHRcdFx0Ly8gSGFuZGxlIEJldHdlZW4vTm90IEJldHdlZW4gb3BlcmF0b3JzIC0gdGhleSBleHBlY3QgZXhhY3RseSAyIHZhbHVlc1xuXHRcdFx0Y29uc3QgW2xvd2VyQm91bmQsIHVwcGVyQm91bmRdID0gc2VsZWN0ZWRWYWx1ZXM7XG5cdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0b3BlcmF0b3IsXG5cdFx0XHRcdFx0c2VsZWN0ZWRWYWx1ZXM6IFtcblx0XHRcdFx0XHRcdHsgdmFsdWU6IGxvd2VyQm91bmQsIGRlc2NyaXB0aW9uOiBsb3dlckJvdW5kIH0sXG5cdFx0XHRcdFx0XHR7IHZhbHVlOiB1cHBlckJvdW5kLCBkZXNjcmlwdGlvbjogdXBwZXJCb3VuZCB9XG5cdFx0XHRcdFx0XSBhcyBWYWx1ZUhlbHBCZXR3ZWVuU2VsZWN0ZWRWYWx1ZXNcblx0XHRcdFx0fVxuXHRcdFx0XTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gSGFuZGxlIG90aGVyIGNvbXBhcmlzb24gb3BlcmF0b3JzIChHVCwgR0UsIExULCBMRSlcblx0XHRcdHJldHVybiB1bnJlc29sdmVkUmVzdWx0KFt2YWx1ZV0pO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRjb25zdCByZXNvbHZlZFZhbHVlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0c2VsZWN0ZWRWYWx1ZXMubWFwKGFzeW5jIChzZWxlY3RlZFZhbHVlKSA9PlxuXHRcdFx0XHRyZXNvbHZlVmFsdWVVc2luZ1ZhbHVlTGlzdCh2YWx1ZUxpc3QsIGtleVByb3BlcnR5LCBvcGVyYXRvciBhcyBTY2FsYXJPcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZSwgbG9vc2VNYXRjaClcblx0XHRcdClcblx0XHQpO1xuXHRcdHJldHVybiByZXNvbHZlZFZhbHVlcy5mbGF0KCk7XG5cdH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB1bnJlc29sdmVkIHZhbHVlcyBpbiB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBFYXN5IEZpbHRlciBCYXIuXG4gKiBAcGFyYW0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYmUgcmVzb2x2ZWQuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiB1bnJlc29sdmVkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVucmVzb2x2ZWRSZXN1bHQodmFsdWVzOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdKTogVmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uW10ge1xuXHRyZXR1cm4gdmFsdWVzLm1hcCgoeyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXMgfSkgPT4gKHtcblx0XHRvcGVyYXRvcixcblx0XHRzZWxlY3RlZFZhbHVlczogc2VsZWN0ZWRWYWx1ZXMubWFwKCh2YWx1ZSkgPT4gKHsgdmFsdWUsIGRlc2NyaXB0aW9uOiB2YWx1ZSB9KSlcblx0fSkpIGFzIFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgb3BlcmF0b3IgaXMgYSBuZWdhdGlvbiBvcGVyYXRvciAoTkUsIE5vdENvbnRhaW5zLCBOb3RTdGFydHNXaXRoLCBOb3RFbmRzV2l0aCkuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvciB0byBjaGVjay5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG9wZXJhdG9yIGlzIGEgbmVnYXRpb24gb3BlcmF0b3IuXG4gKi9cbmZ1bmN0aW9uIGlzTmVnYXRpb25PcGVyYXRvcihvcGVyYXRvcjogRmlsdGVyT3BlcmF0b3IpOiBib29sZWFuIHtcblx0cmV0dXJuIFtGaWx0ZXJPcGVyYXRvci5ORSwgRmlsdGVyT3BlcmF0b3IuTm90Q29udGFpbnMsIEZpbHRlck9wZXJhdG9yLk5vdFN0YXJ0c1dpdGgsIEZpbHRlck9wZXJhdG9yLk5vdEVuZHNXaXRoXS5pbmNsdWRlcyhvcGVyYXRvcik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBvcGVyYXRvciBpcyBhIGNvbXBhcmlzb24gb3BlcmF0b3IgKEdULCBHRSwgTFQsIExFLCBCVCwgTkIpLlxuICogQHBhcmFtIG9wZXJhdG9yIFRoZSBmaWx0ZXIgb3BlcmF0b3IgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvcGVyYXRvciBpcyBhIGNvbXBhcmlzb24gb3BlcmF0b3IuXG4gKi9cbmZ1bmN0aW9uIGlzQ29tcGFyaXNvbk9wZXJhdG9yKG9wZXJhdG9yOiBGaWx0ZXJPcGVyYXRvcik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gW0ZpbHRlck9wZXJhdG9yLkdULCBGaWx0ZXJPcGVyYXRvci5HRSwgRmlsdGVyT3BlcmF0b3IuTFQsIEZpbHRlck9wZXJhdG9yLkxFLCBGaWx0ZXJPcGVyYXRvci5CVCwgRmlsdGVyT3BlcmF0b3IuTkJdLmluY2x1ZGVzKFxuXHRcdG9wZXJhdG9yXG5cdCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuZWdhdGlvbiBvcGVyYXRvciB0byBpdHMgcG9zaXRpdmUgZXF1aXZhbGVudCAoTkUgLT4gRVEsIE5vdENvbnRhaW5zIC0+IENvbnRhaW5zLCBldGMuKS5cbiAqIEBwYXJhbSBuZWdhdGlvbk9wZXJhdG9yIFRoZSBuZWdhdGlvbiBvcGVyYXRvciB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgcG9zaXRpdmUgb3BlcmF0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3NpdGl2ZU9wZXJhdG9yKG5lZ2F0aW9uT3BlcmF0b3I6IEZpbHRlck9wZXJhdG9yKTogU2NhbGFyT3BlcmF0b3Ige1xuXHRzd2l0Y2ggKG5lZ2F0aW9uT3BlcmF0b3IpIHtcblx0XHRjYXNlIEZpbHRlck9wZXJhdG9yLk5FOlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLkVRO1xuXHRcdGNhc2UgRmlsdGVyT3BlcmF0b3IuTm90Q29udGFpbnM6XG5cdFx0XHRyZXR1cm4gRmlsdGVyT3BlcmF0b3IuQ29udGFpbnM7XG5cdFx0Y2FzZSBGaWx0ZXJPcGVyYXRvci5Ob3RTdGFydHNXaXRoOlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLlN0YXJ0c1dpdGg7XG5cdFx0Y2FzZSBGaWx0ZXJPcGVyYXRvci5Ob3RFbmRzV2l0aDpcblx0XHRcdHJldHVybiBGaWx0ZXJPcGVyYXRvci5FbmRzV2l0aDtcblx0XHRkZWZhdWx0OlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLkVRO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7RUFtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNBLFNBQVNBLG9CQUFvQkEsQ0FDNUJDLFNBQXdCLEVBQ3hCQyxXQUFxQixFQUNyQkMsUUFBd0IsRUFDeEJDLFlBQXlCLEVBQ2hCO0lBQ1QsSUFBSUMsV0FBVyxHQUFHRCxZQUFZOztJQUU5QjtJQUNBLElBQUksT0FBT0MsV0FBVyxLQUFLLFFBQVEsSUFBSUgsV0FBVyxDQUFDSSxXQUFXLENBQUNDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtNQUN2R0osV0FBVyxHQUFHQSxXQUFXLENBQUNLLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDO0lBRUEsT0FBTyxJQUFJQyxNQUFNLENBQUM7TUFBRUMsSUFBSSxFQUFFWCxTQUFTLENBQUNZLE9BQU87TUFBRVYsUUFBUTtNQUFFVyxNQUFNLEVBQUVUO0lBQVksQ0FBQyxDQUFDO0VBQzlFOztFQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNBLGVBQWVVLDBCQUEwQkEsQ0FDeENkLFNBQXdCLEVBQ3hCQyxXQUFx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QUFPQSxNQUFNLENBQUNsQyxHQUFHLENBQUNtQyxJQUFBO01BQUEsSUFBQztRQUFFcEYsUUFBUTtRQUFFZ0Q7TUFBZSxDQUFDLEdBQUFvQyxJQUFBO01BQUEsT0FBTTtRQUNwRHBGLFFBQVE7UUFDUmdELGNBQWMsRUFBRUEsY0FBYyxDQUFDQyxHQUFHLENBQUVKLEtBQUssS0FBTTtVQUFFQSxLQUFLO1VBQUVLLFdBQVcsRUFBRUw7UUFBTSxDQUFDLENBQUM7TUFDOUUsQ0FBQztJQUFBLENBQUMsQ0FBQztFQUNKOztFQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQWlCLFFBQUEsQ0FBQVcsZ0JBQUEsR0FBQUEsZ0JBQUE7RUFLQSxTQUFTM0Msa0JBQWtCQSxDQUFDOUIsUUFBd0IsRUFBVztJQUM5RCxPQUFPLENBQUM4QyxjQUFjLENBQUN1QyxFQUFFLEVBQUV2QyxjQUFjLENBQUN3QyxXQUFXLEVBQUV4QyxjQUFjLENBQUN5QyxhQUFhLEVBQUV6QyxjQUFjLENBQUMwQyxXQUFXLENBQUMsQ0FBQ3pCLFFBQVEsQ0FBQy9ELFFBQVEsQ0FBQztFQUNwSTs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0EsU0FBUzBFLG9CQUFvQkEsQ0FBQzFFLFFBQXdCLEVBQVc7SUFDaEUsT0FBTyxDQUFDOEMsY0FBYyxDQUFDMkMsRUFBRSxFQUFFM0MsY0FBYyxDQUFDNEMsRUFBRSxFQUFFNUMsY0FBYyxDQUFDNkMsRUFBRSxFQUFFN0MsY0FBYyxDQUFDOEMsRUFBRSxFQUFFOUMsY0FBYyxDQUFDNkIsRUFBRSxFQUFFN0IsY0FBYyxDQUFDOEIsRUFBRSxDQUFDLENBQUNiLFFBQVEsQ0FDakkvRCxRQUNELENBQUM7RUFDRjs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ08sU0FBU2dDLG1CQUFtQkEsQ0FBQzZELGdCQUFnQyxFQUFrQjtJQUNyRixRQUFRQSxnQkFBZ0I7TUFDdkIsS0FBSy9DLGNBQWMsQ0FBQ3VDLEVBQUU7UUFDckIsT0FBT3ZDLGNBQWMsQ0FBQ0MsRUFBRTtNQUN6QixLQUFLRCxjQUFjLENBQUN3QyxXQUFXO1FBQzlCLE9BQU94QyxjQUFjLENBQUNnRCxRQUFRO01BQy9CLEtBQUtoRCxjQUFjLENBQUN5QyxhQUFhO1FBQ2hDLE9BQU96QyxjQUFjLENBQUNpRCxVQUFVO01BQ2pDLEtBQUtqRCxjQUFjLENBQUMwQyxXQUFXO1FBQzlCLE9BQU8xQyxjQUFjLENBQUNrRCxRQUFRO01BQy9CO1FBQ0MsT0FBT2xELGNBQWMsQ0FBQ0MsRUFBRTtJQUMxQjtFQUNEO0VBQUNlLFFBQUEsQ0FBQTlCLG1CQUFBLEdBQUFBLG1CQUFBO0VBQUEsT0FBQThCLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
285
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRLZXlQcm9wZXJ0eUZpbHRlciIsInZhbHVlTGlzdCIsImtleVByb3BlcnR5Iiwib3BlcmF0b3IiLCJ2YWx1ZVRvTWF0Y2giLCJmaWx0ZXJWYWx1ZSIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiSXNVcHBlckNhc2UiLCJ2YWx1ZU9mIiwidG9VcHBlckNhc2UiLCJGaWx0ZXIiLCJwYXRoIiwia2V5UGF0aCIsInZhbHVlMSIsInJlc29sdmVWYWx1ZVVzaW5nVmFsdWVMaXN0IiwibG9vc2VNYXRjaCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm1vZGVsIiwidmFsdWVMaXN0SW5mbyIsIiRtb2RlbCIsIkNvbGxlY3Rpb25QYXRoIiwiJHNlbGVjdCIsImdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyIiwiJHNlYXJjaCIsIkNvbW1vblV0aWxzIiwibm9ybWFsaXplU2VhcmNoVGVybSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInRvU3RyaW5nIiwiaXNOZWdhdGlvbiIsImlzTmVnYXRpb25PcGVyYXRvciIsImNsZWFuZWRPcGVyYXRvciIsImdldFBvc2l0aXZlT3BlcmF0b3IiLCJrZXlQcm9wZXJ0eUZpbHRlciIsImNoYXJhY3RlckxpbWl0T3ZlcmZsb3ciLCJtYXhMZW5ndGgiLCJ2YWx1ZUhlbHBLZXlRdWVyeSIsInZhbHVlSGVscFNlYXJjaFF1ZXJ5IiwiUHJvbWlzZSIsImFsbFNldHRsZWQiLCJiaW5kTGlzdCIsInJlcXVlc3RDb250ZXh0cyIsIm1hcFJlc3VsdCIsIm1hcFZhbHVlTGlzdFRvQ29kZUxpc3QiLCJzdGF0dXMiLCJ2YWx1ZSIsIkZpbHRlck9wZXJhdG9yIiwiRVEiLCJzZWxlY3RlZFZhbHVlcyIsIm1hcCIsImRlc2NyaXB0aW9uIiwicmVzdWx0cyIsImZpbHRlcmVkUmVzdWx0cyIsImhhc1Bvc3RQcm9jZXNzaW5nUmVzdWx0cyIsImZpbHRlciIsInJlc3VsdCIsInRvTG93ZXJDYXNlIiwiU3RhcnRzV2l0aCIsInN0YXJ0c1dpdGgiLCJFbmRzV2l0aCIsImVuZHNXaXRoIiwiQ29udGFpbnMiLCJpbmNsdWRlcyIsIk5FIiwibm9NYXRjaCIsImVuc3VyZURlc2NyaXB0aW9uIiwiY29udGV4dCIsImRhdGEiLCJnZXRPYmplY3QiLCJkZXNjcmlwdGlvblBhdGgiLCJfZXhwb3J0cyIsImpvaW4iLCJyZXNvbHZlVG9rZW5WYWx1ZSIsInNldENvbnRpbnVlT25FcnJvciIsInZhbHVlTGlzdE1ldGFtb2RlbCIsImNvbnZlcnRUeXBlcyIsImdldE1ldGFNb2RlbCIsInJlc29sdmVQYXRoIiwidGFyZ2V0IiwiaXNQcm9wZXJ0eSIsInVucmVzb2x2ZWRSZXN1bHQiLCJpc0NvbXBhcmlzb25PcGVyYXRvciIsIkJUIiwiTkIiLCJsb3dlckJvdW5kIiwidXBwZXJCb3VuZCIsInJlc29sdmVkVmFsdWVzIiwiYWxsIiwic2VsZWN0ZWRWYWx1ZSIsImZsYXQiLCJ2YWx1ZXMiLCJfcmVmIiwiTm90Q29udGFpbnMiLCJOb3RTdGFydHNXaXRoIiwiTm90RW5kc1dpdGgiLCJHVCIsIkdFIiwiTFQiLCJMRSIsIm5lZ2F0aW9uT3BlcmF0b3IiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkVhc3lGaWx0ZXJEYXRhRmV0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENvZGVMaXN0VHlwZSxcblx0VG9rZW5TZWxlY3RlZFZhbHVlc0RlZmluaXRpb24sXG5cdFZhbHVlSGVscEJldHdlZW5TZWxlY3RlZFZhbHVlcyxcblx0VmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uXG59IGZyb20gXCJzYXAvZmUvY29udHJvbHMvZWFzeUZpbHRlci9FYXN5RmlsdGVyQmFyQ29udGFpbmVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBjb252ZXJ0VHlwZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgeyB0eXBlIFZhbHVlTGlzdEluZm8gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVMaXN0SGVscGVyXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IEZpbHRlck9wZXJhdG9yIGZyb20gXCJzYXAvdWkvbW9kZWwvRmlsdGVyT3BlcmF0b3JcIjtcbmltcG9ydCB0eXBlIHsgQ29kZUxpc3RFbnRyeSB9IGZyb20gXCJ1eC9lbmcvZmlvcmlhaS9yZXVzZS9lYXN5ZmlsdGVyL0Vhc3lGaWx0ZXJcIjtcblxudHlwZSBTY2FsYXJPcGVyYXRvciA9IEV4Y2x1ZGU8RmlsdGVyT3BlcmF0b3IsIEZpbHRlck9wZXJhdG9yLkJUIHwgRmlsdGVyT3BlcmF0b3IuTkI+O1xudHlwZSBTY2FsYXJWYWx1ZSA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBEYXRlO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGZpbHRlciBmb3IgdGhlIGtleSBwcm9wZXJ0eSBvZiBhIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uLlxuICogQHBhcmFtIGtleVByb3BlcnR5IFRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvci5cbiAqIEBwYXJhbSB2YWx1ZVRvTWF0Y2ggVGhlIHZhbHVlIHRvIG1hdGNoLlxuICogQHJldHVybnMgQSBmaWx0ZXIgZm9yIHRoZSBrZXkgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGdldEtleVByb3BlcnR5RmlsdGVyKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGtleVByb3BlcnR5OiBQcm9wZXJ0eSxcblx0b3BlcmF0b3I6IFNjYWxhck9wZXJhdG9yLFxuXHR2YWx1ZVRvTWF0Y2g6IFNjYWxhclZhbHVlXG4pOiBGaWx0ZXIge1xuXHRsZXQgZmlsdGVyVmFsdWUgPSB2YWx1ZVRvTWF0Y2g7XG5cblx0Ly8gSWYgdGhlIGtleSBwcm9wZXJ0eSBpcyBrbm93biB0byBjb250YWluIG9ubHkgdXBwZXJjYXNlIHZhbHVlcywgY29udmVydCB0aGUgZmlsdGVyIHZhbHVlIHRvIHVwcGVyY2FzZSBhcyB3ZWxsXG5cdGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09IFwic3RyaW5nXCIgJiYga2V5UHJvcGVydHkuYW5ub3RhdGlvbnMuQ29tbW9uPy5Jc1VwcGVyQ2FzZT8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0ZmlsdGVyVmFsdWUgPSBmaWx0ZXJWYWx1ZS50b1VwcGVyQ2FzZSgpO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBGaWx0ZXIoeyBwYXRoOiB2YWx1ZUxpc3Qua2V5UGF0aCwgb3BlcmF0b3IsIHZhbHVlMTogZmlsdGVyVmFsdWUgfSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBzaW5nbGUgc2NhbGFyIHZhbHVlIHVzaW5nIGEgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSB2YWx1ZUxpc3QgVGhlIHZhbHVlIGxpc3QgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0ga2V5UHJvcGVydHkgVGhlIGtleSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSBvcGVyYXRvciBUaGUgZmlsdGVyIG9wZXJhdG9yLlxuICogQHBhcmFtIHZhbHVlVG9NYXRjaCBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIGFwcGx5IGxvb3NlIG1hdGNoaW5nIG9yIG5vdFxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHNlbGVjdGVkIHZhbHVlcy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVZhbHVlVXNpbmdWYWx1ZUxpc3QoXG5cdHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyxcblx0a2V5UHJvcGVydHk6IFByb3BlcnR5LFxuXHRvcGVyYXRvcjogU2NhbGFyT3BlcmF0b3IsXG5cdHZhbHVlVG9NYXRjaDogU2NhbGFyVmFsdWUsXG5cdGxvb3NlTWF0Y2ggPSBmYWxzZVxuKTogUHJvbWlzZTxWYWx1ZUhlbHBTZWxlY3RlZFZhbHVlc0RlZmluaXRpb24+IHtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cdGNvbnN0IHBhdGggPSBgLyR7dmFsdWVMaXN0LnZhbHVlTGlzdEluZm8uQ29sbGVjdGlvblBhdGh9YDtcblx0Y29uc3QgJHNlbGVjdCA9IGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdCk7XG5cdGxldCAkc2VhcmNoID0gQ29tbW9uVXRpbHMubm9ybWFsaXplU2VhcmNoVGVybSh2YWx1ZVRvTWF0Y2ggaW5zdGFuY2VvZiBEYXRlID8gdmFsdWVUb01hdGNoLnRvSVNPU3RyaW5nKCkgOiB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKSk7XG5cblx0Ly8gSGFuZGxlIG5lZ2F0aW9uIG9wZXJhdG9ycyAoTkUsIE5vdENvbnRhaW5zLCBOb3RTdGFydHNXaXRoLCBOb3RFbmRzV2l0aClcblx0Ly8gU3RyYXRlZ3k6IFF1ZXJ5IGZvciBwb3NpdGl2ZSBjYXNlLCB0aGVuIGFwcGx5IG5lZ2F0aW9uIGNsaWVudC1zaWRlXG5cdGNvbnN0IGlzTmVnYXRpb24gPSBpc05lZ2F0aW9uT3BlcmF0b3Iob3BlcmF0b3IpO1xuXHQvLyBcImNsZWFuZWRcIiBvcGVyYXRvciBmb3IgcG9zc2libGUgbmVnYXRpb24gb3BlcmF0b3JzXG5cdGNvbnN0IGNsZWFuZWRPcGVyYXRvciA9IGlzTmVnYXRpb24gPyBnZXRQb3NpdGl2ZU9wZXJhdG9yKG9wZXJhdG9yKSA6IG9wZXJhdG9yO1xuXHRjb25zdCBrZXlQcm9wZXJ0eUZpbHRlciA9IGdldEtleVByb3BlcnR5RmlsdGVyKHZhbHVlTGlzdCwga2V5UHJvcGVydHksIGNsZWFuZWRPcGVyYXRvciwgdmFsdWVUb01hdGNoKTtcblxuXHQvLyBDaGVjayBpZiB0aGUgcXVlcnkgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGtleSBwcm9wZXJ0eVxuXHRjb25zdCBjaGFyYWN0ZXJMaW1pdE92ZXJmbG93ID0gISRzZWFyY2ggfHwgJHNlYXJjaC5sZW5ndGggPiAoa2V5UHJvcGVydHkubWF4TGVuZ3RoID8/ICRzZWFyY2gubGVuZ3RoKTtcblxuXHRpZiAoIWxvb3NlTWF0Y2gpIHtcblx0XHQkc2VhcmNoID0gYFwiJHskc2VhcmNofVwiYDsgLy8gRW5zdXJlIHRoZSBzZWFyY2ggdGVybSBpcyB0cmVhdGVkIGFzIGEgcGhyYXNlXG5cdH1cblx0Ly8gSWYgcXVlcnkgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGtleSBwcm9wZXJ0eSwgd2UgZG9uJ3QgZmlsdGVyIGF0IGFsbCwgYXMgaXQgd291bGQgZ2l2ZSBubyByZXN1bHQgYW55d2F5XG5cdGNvbnN0IFt2YWx1ZUhlbHBLZXlRdWVyeSwgdmFsdWVIZWxwU2VhcmNoUXVlcnldID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFtcblx0XHQhY2hhcmFjdGVyTGltaXRPdmVyZmxvdyA/IG1vZGVsLmJpbmRMaXN0KHBhdGgsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBrZXlQcm9wZXJ0eUZpbHRlciwgeyAkc2VsZWN0IH0pLnJlcXVlc3RDb250ZXh0cygwLCAxKSA6IFtdLCAvLyAkZmlsdGVyIG9uIHRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3Rcblx0XHRtb2RlbC5iaW5kTGlzdChwYXRoLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7ICRzZWFyY2g6ICRzZWFyY2gsICRzZWxlY3QgfSkucmVxdWVzdENvbnRleHRzKCkgLy8gJHNlYXJjaCBvbiB0aGUgdmFsdWUgbGlzdFxuXHRdKTtcblxuXHRjb25zdCBtYXBSZXN1bHQgPSBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KHZhbHVlTGlzdCwgdHJ1ZSk7XG5cblx0aWYgKHZhbHVlSGVscEtleVF1ZXJ5LnN0YXR1cyA9PT0gXCJmdWxmaWxsZWRcIiAmJiB2YWx1ZUhlbHBLZXlRdWVyeS52YWx1ZS5sZW5ndGggPiAwKSB7XG5cdFx0Ly8gVGhlcmUgaXMgYXQgbGVhc3Qgb25lIG1hdGNoIGluIHRoZSBrZXkgY29sdW1uOlxuXHRcdC8vIC0gSWYgdGhlIG9wZXJhdG9yIGlzIEVROiBUaGlzIGluZGljYXRlcyBhbiBleGFjdCBrZXkgbWF0Y2gsIHNvIHRoZSByZXR1cm5lZCBkYXRhIHdpbGwgYmUgdXNlZC5cblx0XHQvLyAtIEZvciBvdGhlciBvcGVyYXRvcnM6IE9uZSBvciBtb3JlIGtleXMgbWF0Y2ggdGhlIHZhbHVlIGJhc2VkIG9uIHRoZSBvcGVyYXRvciwgc28gdGhlIG9yaWdpbmFsIGNvbmRpdGlvbiBpcyBwcmVzZXJ2ZWQuXG5cdFx0cmV0dXJuIGNsZWFuZWRPcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuRVFcblx0XHRcdD8geyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXM6IHZhbHVlSGVscEtleVF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpIH1cblx0XHRcdDoge1xuXHRcdFx0XHRcdG9wZXJhdG9yLFxuXHRcdFx0XHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dXG5cdFx0XHQgIH07XG5cdH1cblxuXHRpZiAodmFsdWVIZWxwU2VhcmNoUXVlcnkuc3RhdHVzID09PSBcImZ1bGZpbGxlZFwiICYmIHZhbHVlSGVscFNlYXJjaFF1ZXJ5LnZhbHVlLmxlbmd0aCA+IDApIHtcblx0XHQvLyBUaGUga2V5IHF1ZXJ5IGRpZCBub3QgcmV0dXJuIGFueSBtYXRjaGVzLCBidXQgdGhlIHNlYXJjaCBxdWVyeSBmb3VuZCByZXN1bHRzLiBVc2UgdGhlIHNlYXJjaCByZXN1bHRzIGluc3RlYWQuXG5cblx0XHRsZXQgcmVzdWx0cyA9IHZhbHVlSGVscFNlYXJjaFF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpO1xuXG5cdFx0bGV0IGZpbHRlcmVkUmVzdWx0czogQ29kZUxpc3RUeXBlW10gPSBbXTtcblx0XHRsZXQgaGFzUG9zdFByb2Nlc3NpbmdSZXN1bHRzID0gZmFsc2U7XG5cblx0XHRpZiAoY2xlYW5lZE9wZXJhdG9yID09PSBGaWx0ZXJPcGVyYXRvci5FUSkge1xuXHRcdFx0Ly8gZm9yIEVRIHdlIHN0aWxsIHdhbnQgdG8gZGlzcGxheSB0aGUgcmVzdWx0cyBldmVuIGlmIGl0IGlzIGVtcHR5IGFmdGVyIGZpbHRlcmluZ1xuXHRcdFx0aGFzUG9zdFByb2Nlc3NpbmdSZXN1bHRzID0gdHJ1ZTtcblx0XHRcdGZpbHRlcmVkUmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKFxuXHRcdFx0XHQocmVzdWx0KSA9PiByZXN1bHQuZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG5cdFx0XHQpO1xuXHRcdFx0aWYgKGZpbHRlcmVkUmVzdWx0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0ZmlsdGVyZWRSZXN1bHRzID0gcmVzdWx0cztcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKGNsZWFuZWRPcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuU3RhcnRzV2l0aCkge1xuXHRcdFx0ZmlsdGVyZWRSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoKHJlc3VsdCkgPT5cblx0XHRcdFx0cmVzdWx0LmRlc2NyaXB0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHZhbHVlVG9NYXRjaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpXG5cdFx0XHQpO1xuXHRcdFx0aGFzUG9zdFByb2Nlc3NpbmdSZXN1bHRzID0gZmlsdGVyZWRSZXN1bHRzLmxlbmd0aCA+IDA7XG5cdFx0fSBlbHNlIGlmIChjbGVhbmVkT3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkVuZHNXaXRoKSB7XG5cdFx0XHRmaWx0ZXJlZFJlc3VsdHMgPSByZXN1bHRzLmZpbHRlcigocmVzdWx0KSA9PlxuXHRcdFx0XHRyZXN1bHQuZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHZhbHVlVG9NYXRjaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpXG5cdFx0XHQpO1xuXHRcdFx0aGFzUG9zdFByb2Nlc3NpbmdSZXN1bHRzID0gZmlsdGVyZWRSZXN1bHRzLmxlbmd0aCA+IDA7XG5cdFx0fSBlbHNlIGlmIChjbGVhbmVkT3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkNvbnRhaW5zKSB7XG5cdFx0XHRmaWx0ZXJlZFJlc3VsdHMgPSByZXN1bHRzLmZpbHRlcigocmVzdWx0KSA9PlxuXHRcdFx0XHRyZXN1bHQuZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlVG9NYXRjaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpXG5cdFx0XHQpO1xuXHRcdFx0aGFzUG9zdFByb2Nlc3NpbmdSZXN1bHRzID0gZmlsdGVyZWRSZXN1bHRzLmxlbmd0aCA+IDA7XG5cdFx0fVxuXHRcdC8vIElmIHBvc3QtcHJvY2Vzc2luZyBsZWZ0IG5vIHJlc3VsdHMsIHJldHVybiB1c2VyJ3Mgb3JpZ2luYWwgaW5wdXRcblx0XHRpZiAoIWhhc1Bvc3RQcm9jZXNzaW5nUmVzdWx0cykge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0b3BlcmF0b3IsXG5cdFx0XHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dXG5cdFx0XHR9O1xuXHRcdH1cblx0XHQvLyBJZiBwb3N0LXByb2Nlc3NpbmcgZm91bmQgcmVzdWx0cywgcmV0dXJuIHRoZSBmaWx0ZXJlZCByZXN1bHRzXG5cdFx0Ly8gQWx3YXlzIHNldCB0aGUgb3BlcmF0b3IgdG8gRVEvTkUsIGFzIHBvc3QtcHJvY2Vzc2luZyBlbnN1cmVzIGFuIEVRL05FIHJlc3VsdC5cblx0XHRyZXR1cm4geyBvcGVyYXRvcjogb3BlcmF0b3IgPT09IGNsZWFuZWRPcGVyYXRvciA/IEZpbHRlck9wZXJhdG9yLkVRIDogRmlsdGVyT3BlcmF0b3IuTkUsIHNlbGVjdGVkVmFsdWVzOiBmaWx0ZXJlZFJlc3VsdHMgfTtcblx0fVxuXG5cdC8vIE5vIG1hdGNoZXMgd2VyZSBmb3VuZCBpbiBlaXRoZXIgcXVlcnk7IHRoZSBvcmlnaW5hbCB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgYSBmYWxsYmFjay5cblxuXHRyZXR1cm4ge1xuXHRcdG9wZXJhdG9yLFxuXHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dLFxuXHRcdG5vTWF0Y2g6IHRydWVcblx0fTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBtYXBwaW5nIGZ1bmN0aW9uIGZvciBtYXBwaW5nIGEgdmFsdWUgbGlzdCBxdWVyeSByZXN1bHQgdG8gYSBjb2RlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGtleSBhbmQgZGVzY3JpcHRpb24gcHJvcGVydGllcy5cbiAqIEBwYXJhbSBlbnN1cmVEZXNjcmlwdGlvbiBXaGV0aGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBkZXNjcmlwdGlvbiBpcyBhbHdheXMgcmV0dXJuZWQuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgbWFwcyBhIHNpbmdsZSB2YWx1ZSBsaXN0IHF1ZXJ5IHJlc3VsdCB0byBhIGNvZGUgbGlzdCBlbnRyeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFZhbHVlTGlzdFRvQ29kZUxpc3QodmFsdWVMaXN0OiBWYWx1ZUxpc3RJbmZvLCBlbnN1cmVEZXNjcmlwdGlvbjogdHJ1ZSk6IChjb250ZXh0OiBDb250ZXh0KSA9PiBDb2RlTGlzdFR5cGU7XG5leHBvcnQgZnVuY3Rpb24gbWFwVmFsdWVMaXN0VG9Db2RlTGlzdCh2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sIGVuc3VyZURlc2NyaXB0aW9uPzogZmFsc2UpOiAoY29udGV4dDogQ29udGV4dCkgPT4gQ29kZUxpc3RFbnRyeTtcbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGVuc3VyZURlc2NyaXB0aW9uID0gZmFsc2Vcbik6IChjb250ZXh0OiBDb250ZXh0KSA9PiBDb2RlTGlzdEVudHJ5IHwgQ29kZUxpc3RUeXBlIHtcblx0cmV0dXJuIChjb250ZXh0OiBDb250ZXh0KTogQ29kZUxpc3RFbnRyeSA9PiB7XG5cdFx0Y29uc3QgZGF0YSA9IGNvbnRleHQuZ2V0T2JqZWN0KCk7XG5cdFx0Y29uc3QgdmFsdWUgPSBkYXRhW3ZhbHVlTGlzdC5rZXlQYXRoXTtcblx0XHRjb25zdCBkZXNjcmlwdGlvbiA9IHZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGggPyBkYXRhW3ZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGhdIDogdW5kZWZpbmVkO1xuXHRcdHJldHVybiB7IHZhbHVlLCBkZXNjcmlwdGlvbjogZW5zdXJlRGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbiA/PyB2YWx1ZSA6IGRlc2NyaXB0aW9uIH07XG5cdH07XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSAkc2VsZWN0IHBhcmFtZXRlciBmb3IgYSB2YWx1ZSBsaXN0IHF1ZXJ5LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCBpbmZvcm1hdGlvbi5cbiAqIEByZXR1cm5zIFRoZSAkc2VsZWN0IHBhcmFtZXRlciBhcyBhIHN0cmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyk6IHN0cmluZyB7XG5cdHJldHVybiBbdmFsdWVMaXN0LmtleVBhdGgsIHZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGhdLmZpbHRlcigocGF0aCkgPT4gcGF0aCAmJiAhcGF0aC5pbmNsdWRlcyhcIi9cIikpLmpvaW4oXCIsXCIpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRva2VuLWJhc2VkIGZpbHRlciB2YWx1ZXMgdXNpbmcgYSB2YWx1ZSBsaXN0LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCB1c2VkIGZvciByZXNvbHZpbmcgdmFsdWVzLlxuICogQHBhcmFtIHZhbHVlIFRoZSB0b2tlbi1iYXNlZCBmaWx0ZXIgdmFsdWVzIHRvIHJlc29sdmUuXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIHBlcmZvcm0gYSBsb29zZSBtYXRjaCBvbiB0aGUgdmFsdWVzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgcmVzb2x2ZWQgZmlsdGVyIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVUb2tlblZhbHVlKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdHZhbHVlOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbixcblx0bG9vc2VNYXRjaCA9IGZhbHNlXG4pOiBQcm9taXNlPFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdPiB7XG5cdGNvbnN0IHsgb3BlcmF0b3IsIHNlbGVjdGVkVmFsdWVzIH0gPSB2YWx1ZTtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cblx0Ly8gTWFrZSBzdXJlIGFsbCB2YWx1ZXMgYXJlIHJlc29sdmVkLCBldmVuIGlmIHNvbWUgcmVxdWVzdHMgZmFpbC4gSXQgY2FuIGhhcHBlbiB0aGF0IHRoZSBiYWNrZW5kIGNhbm5vdCBwcm9jZXNzIHRoZSAkZmlsdGVyIHF1ZXJpZXMgd2Vcblx0Ly8gcnVuIG9uIHRoZSB2YWx1ZSBsaXN0LCBidXQgd2Ugc3RpbGwgd2FudCB0byBnZXQgdGhlIGZhbGxiYWNrICRzZWFyY2ggcmVzdWx0cy5cblx0bW9kZWwuc2V0Q29udGludWVPbkVycm9yKFwiJGF1dG9cIik7XG5cblx0Y29uc3QgdmFsdWVMaXN0TWV0YW1vZGVsID0gY29udmVydFR5cGVzKG1vZGVsLmdldE1ldGFNb2RlbCgpKTtcblx0Y29uc3Qga2V5UHJvcGVydHkgPSB2YWx1ZUxpc3RNZXRhbW9kZWwucmVzb2x2ZVBhdGgoYC8ke3ZhbHVlTGlzdC52YWx1ZUxpc3RJbmZvLkNvbGxlY3Rpb25QYXRofS8ke3ZhbHVlTGlzdC5rZXlQYXRofWApPy50YXJnZXQ7XG5cblx0aWYgKCFpc1Byb3BlcnR5KGtleVByb3BlcnR5KSkge1xuXHRcdC8vIHNvbWV0aGluZyB3ZW50IHdyb25nIC0gdGhlIGtleSBwcm9wZXJ0eSBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdCBlbnRpdHlcblx0XHRyZXR1cm4gdW5yZXNvbHZlZFJlc3VsdChbdmFsdWVdKTtcblx0fVxuXG5cdC8vIEZvciBjb21wYXJpc29uIG9wZXJhdG9ycyAoR3JlYXRlclRoYW4sIExlc3NUaGFuLCBCZXR3ZWVuLCBldGMuKSwgc2tpcCBiYWNrZW5kIGNhbGxzXG5cdC8vIGFuZCByZXR1cm4gdXNlciBpbnB1dCBkaXJlY3RseSB0byBFYXN5RmlsdGVyXG5cdGlmIChpc0NvbXBhcmlzb25PcGVyYXRvcihvcGVyYXRvcikpIHtcblx0XHRpZiAob3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkJUIHx8IG9wZXJhdG9yID09PSBGaWx0ZXJPcGVyYXRvci5OQikge1xuXHRcdFx0Ly8gSGFuZGxlIEJldHdlZW4vTm90IEJldHdlZW4gb3BlcmF0b3JzIC0gdGhleSBleHBlY3QgZXhhY3RseSAyIHZhbHVlc1xuXHRcdFx0Y29uc3QgW2xvd2VyQm91bmQsIHVwcGVyQm91bmRdID0gc2VsZWN0ZWRWYWx1ZXM7XG5cdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0b3BlcmF0b3IsXG5cdFx0XHRcdFx0c2VsZWN0ZWRWYWx1ZXM6IFtcblx0XHRcdFx0XHRcdHsgdmFsdWU6IGxvd2VyQm91bmQsIGRlc2NyaXB0aW9uOiBsb3dlckJvdW5kIH0sXG5cdFx0XHRcdFx0XHR7IHZhbHVlOiB1cHBlckJvdW5kLCBkZXNjcmlwdGlvbjogdXBwZXJCb3VuZCB9XG5cdFx0XHRcdFx0XSBhcyBWYWx1ZUhlbHBCZXR3ZWVuU2VsZWN0ZWRWYWx1ZXNcblx0XHRcdFx0fVxuXHRcdFx0XTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gSGFuZGxlIG90aGVyIGNvbXBhcmlzb24gb3BlcmF0b3JzIChHVCwgR0UsIExULCBMRSlcblx0XHRcdHJldHVybiB1bnJlc29sdmVkUmVzdWx0KFt2YWx1ZV0pO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRjb25zdCByZXNvbHZlZFZhbHVlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0c2VsZWN0ZWRWYWx1ZXMubWFwKGFzeW5jIChzZWxlY3RlZFZhbHVlKSA9PlxuXHRcdFx0XHRyZXNvbHZlVmFsdWVVc2luZ1ZhbHVlTGlzdCh2YWx1ZUxpc3QsIGtleVByb3BlcnR5LCBvcGVyYXRvciBhcyBTY2FsYXJPcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZSwgbG9vc2VNYXRjaClcblx0XHRcdClcblx0XHQpO1xuXHRcdHJldHVybiByZXNvbHZlZFZhbHVlcy5mbGF0KCk7XG5cdH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB1bnJlc29sdmVkIHZhbHVlcyBpbiB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBFYXN5IEZpbHRlciBCYXIuXG4gKiBAcGFyYW0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYmUgcmVzb2x2ZWQuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiB1bnJlc29sdmVkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVucmVzb2x2ZWRSZXN1bHQodmFsdWVzOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdKTogVmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uW10ge1xuXHRyZXR1cm4gdmFsdWVzLm1hcCgoeyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXMgfSkgPT4gKHtcblx0XHRvcGVyYXRvcixcblx0XHRzZWxlY3RlZFZhbHVlczogc2VsZWN0ZWRWYWx1ZXMubWFwKCh2YWx1ZSkgPT4gKHsgdmFsdWUsIGRlc2NyaXB0aW9uOiB2YWx1ZSB9KSlcblx0fSkpIGFzIFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgb3BlcmF0b3IgaXMgYSBuZWdhdGlvbiBvcGVyYXRvciAoTkUsIE5vdENvbnRhaW5zLCBOb3RTdGFydHNXaXRoLCBOb3RFbmRzV2l0aCkuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvciB0byBjaGVjay5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG9wZXJhdG9yIGlzIGEgbmVnYXRpb24gb3BlcmF0b3IuXG4gKi9cbmZ1bmN0aW9uIGlzTmVnYXRpb25PcGVyYXRvcihvcGVyYXRvcjogRmlsdGVyT3BlcmF0b3IpOiBib29sZWFuIHtcblx0cmV0dXJuIFtGaWx0ZXJPcGVyYXRvci5ORSwgRmlsdGVyT3BlcmF0b3IuTm90Q29udGFpbnMsIEZpbHRlck9wZXJhdG9yLk5vdFN0YXJ0c1dpdGgsIEZpbHRlck9wZXJhdG9yLk5vdEVuZHNXaXRoXS5pbmNsdWRlcyhvcGVyYXRvcik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBvcGVyYXRvciBpcyBhIGNvbXBhcmlzb24gb3BlcmF0b3IgKEdULCBHRSwgTFQsIExFLCBCVCwgTkIpLlxuICogQHBhcmFtIG9wZXJhdG9yIFRoZSBmaWx0ZXIgb3BlcmF0b3IgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvcGVyYXRvciBpcyBhIGNvbXBhcmlzb24gb3BlcmF0b3IuXG4gKi9cbmZ1bmN0aW9uIGlzQ29tcGFyaXNvbk9wZXJhdG9yKG9wZXJhdG9yOiBGaWx0ZXJPcGVyYXRvcik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gW0ZpbHRlck9wZXJhdG9yLkdULCBGaWx0ZXJPcGVyYXRvci5HRSwgRmlsdGVyT3BlcmF0b3IuTFQsIEZpbHRlck9wZXJhdG9yLkxFLCBGaWx0ZXJPcGVyYXRvci5CVCwgRmlsdGVyT3BlcmF0b3IuTkJdLmluY2x1ZGVzKFxuXHRcdG9wZXJhdG9yXG5cdCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuZWdhdGlvbiBvcGVyYXRvciB0byBpdHMgcG9zaXRpdmUgZXF1aXZhbGVudCAoTkUgLT4gRVEsIE5vdENvbnRhaW5zIC0+IENvbnRhaW5zLCBldGMuKS5cbiAqIEBwYXJhbSBuZWdhdGlvbk9wZXJhdG9yIFRoZSBuZWdhdGlvbiBvcGVyYXRvciB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgcG9zaXRpdmUgb3BlcmF0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3NpdGl2ZU9wZXJhdG9yKG5lZ2F0aW9uT3BlcmF0b3I6IEZpbHRlck9wZXJhdG9yKTogU2NhbGFyT3BlcmF0b3Ige1xuXHRzd2l0Y2ggKG5lZ2F0aW9uT3BlcmF0b3IpIHtcblx0XHRjYXNlIEZpbHRlck9wZXJhdG9yLk5FOlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLkVRO1xuXHRcdGNhc2UgRmlsdGVyT3BlcmF0b3IuTm90Q29udGFpbnM6XG5cdFx0XHRyZXR1cm4gRmlsdGVyT3BlcmF0b3IuQ29udGFpbnM7XG5cdFx0Y2FzZSBGaWx0ZXJPcGVyYXRvci5Ob3RTdGFydHNXaXRoOlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLlN0YXJ0c1dpdGg7XG5cdFx0Y2FzZSBGaWx0ZXJPcGVyYXRvci5Ob3RFbmRzV2l0aDpcblx0XHRcdHJldHVybiBGaWx0ZXJPcGVyYXRvci5FbmRzV2l0aDtcblx0XHRkZWZh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
|
|
@@ -100,17 +100,44 @@ async function resolveValueUsingValueList(
|
|
|
100
100
|
|
|
101
101
|
let results = valueHelpSearchQuery.value.map(mapResult);
|
|
102
102
|
|
|
103
|
+
let filteredResults: CodeListType[] = [];
|
|
104
|
+
let hasPostProcessingResults = false;
|
|
105
|
+
|
|
103
106
|
if (cleanedOperator === FilterOperator.EQ) {
|
|
104
|
-
|
|
107
|
+
// for EQ we still want to display the results even if it is empty after filtering
|
|
108
|
+
hasPostProcessingResults = true;
|
|
109
|
+
filteredResults = results.filter(
|
|
105
110
|
(result) => result.description.toString().toLowerCase() === valueToMatch.toString().toLowerCase()
|
|
106
111
|
);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
results = filteredResults;
|
|
112
|
+
if (filteredResults.length === 0) {
|
|
113
|
+
filteredResults = results;
|
|
110
114
|
}
|
|
115
|
+
} else if (cleanedOperator === FilterOperator.StartsWith) {
|
|
116
|
+
filteredResults = results.filter((result) =>
|
|
117
|
+
result.description.toString().toLowerCase().startsWith(valueToMatch.toString().toLowerCase())
|
|
118
|
+
);
|
|
119
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
120
|
+
} else if (cleanedOperator === FilterOperator.EndsWith) {
|
|
121
|
+
filteredResults = results.filter((result) =>
|
|
122
|
+
result.description.toString().toLowerCase().endsWith(valueToMatch.toString().toLowerCase())
|
|
123
|
+
);
|
|
124
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
125
|
+
} else if (cleanedOperator === FilterOperator.Contains) {
|
|
126
|
+
filteredResults = results.filter((result) =>
|
|
127
|
+
result.description.toString().toLowerCase().includes(valueToMatch.toString().toLowerCase())
|
|
128
|
+
);
|
|
129
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
111
130
|
}
|
|
112
|
-
|
|
113
|
-
|
|
131
|
+
// If post-processing left no results, return user's original input
|
|
132
|
+
if (!hasPostProcessingResults) {
|
|
133
|
+
return {
|
|
134
|
+
operator,
|
|
135
|
+
selectedValues: [{ value: valueToMatch, description: valueToMatch }]
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
// If post-processing found results, return the filtered results
|
|
139
|
+
// Always set the operator to EQ/NE, as post-processing ensures an EQ/NE result.
|
|
140
|
+
return { operator: operator === cleanedOperator ? FilterOperator.EQ : FilterOperator.NE, selectedValues: filteredResults };
|
|
114
141
|
}
|
|
115
142
|
|
|
116
143
|
// No matches were found in either query; the original value will be used as a fallback.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlockObjectProperty"], function (ClassSupport, BuildingBlockObjectProperty) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;
|
|
9
9
|
var _exports = {};
|
|
10
10
|
var property = ClassSupport.property;
|
|
11
11
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
@@ -32,6 +32,10 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
32
32
|
type: "string"
|
|
33
33
|
}), _dec8 = property({
|
|
34
34
|
type: "boolean"
|
|
35
|
+
}), _dec9 = property({
|
|
36
|
+
type: "int"
|
|
37
|
+
}), _dec10 = property({
|
|
38
|
+
type: "int"
|
|
35
39
|
}), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockObjectP) {
|
|
36
40
|
function Action() {
|
|
37
41
|
var _this;
|
|
@@ -76,6 +80,15 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
76
80
|
* @public
|
|
77
81
|
*/
|
|
78
82
|
_initializerDefineProperty(_this, "enabled", _descriptor7, _this);
|
|
83
|
+
/**
|
|
84
|
+
* Defines the group of the action in the overflow toolbar.
|
|
85
|
+
*/
|
|
86
|
+
_initializerDefineProperty(_this, "group", _descriptor8, _this);
|
|
87
|
+
/**
|
|
88
|
+
* Defines the overflow group of the action in the overflow toolbar.
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
_initializerDefineProperty(_this, "overflowGroup", _descriptor9, _this);
|
|
79
92
|
return _this;
|
|
80
93
|
}
|
|
81
94
|
_exports = Action;
|
|
@@ -116,8 +129,18 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
116
129
|
enumerable: true,
|
|
117
130
|
writable: true,
|
|
118
131
|
initializer: null
|
|
132
|
+
}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, "group", [_dec9], {
|
|
133
|
+
configurable: true,
|
|
134
|
+
enumerable: true,
|
|
135
|
+
writable: true,
|
|
136
|
+
initializer: null
|
|
137
|
+
}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, "overflowGroup", [_dec10], {
|
|
138
|
+
configurable: true,
|
|
139
|
+
enumerable: true,
|
|
140
|
+
writable: true,
|
|
141
|
+
initializer: null
|
|
119
142
|
}), _class2)) || _class);
|
|
120
143
|
_exports = Action;
|
|
121
144
|
return _exports;
|
|
122
145
|
}, false);
|
|
123
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY3Rpb24iLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrT2JqZWN0UCIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9kZXNjcmlwdG9yOSIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL0J1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiO1xuXG4vKipcbiAqIERlZmluaXRpb24gb2YgYSBjdXN0b20gYWN0aW9uIHRvIGJlIHVzZWQgaW4gdGhlIGNoYXJ0IHRvb2xiYXJcbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jaGFydC5BY3Rpb25cIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFjdGlvbiBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdC8qKlxuXHQgKiBVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgYWN0aW9uXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0a2V5ITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGUgdGV4dCB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGZvciB0aGlzIGFjdGlvblxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRleHQhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFJlZmVyZW5jZSB0byB0aGUga2V5IG9mIGFub3RoZXIgYWN0aW9uIGFscmVhZHkgZGlzcGxheWVkIGluIHRoZSB0b29sYmFyIHRvIHByb3Blcmx5IHBsYWNlIHRoaXMgb25lXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0YW5jaG9yPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHdoZXJlIHRoaXMgYWN0aW9uIHNob3VsZCBiZSBwbGFjZWQgcmVsYXRpdmUgdG8gdGhlIGRlZmluZWQgYW5jaG9yXG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBgQmVmb3JlYCBhbmQgYEFmdGVyYFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHBsYWNlbWVudD86IFwiQmVmb3JlXCIgfCBcIkFmdGVyXCI7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaWYgdGhlIGFjdGlvbiByZXF1aXJlcyBhIHNlbGVjdGlvbi5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmVxdWlyZXNTZWxlY3Rpb24/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNob29zZXMgdGhlIGFjdGlvblxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHByZXNzITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBhY3Rpb25cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIGdyb3VwIG9mIHRoZSBhY3Rpb24gaW4gdGhlIG92ZXJmbG93IHRvb2xiYXIuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdGdyb3VwPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBvdmVyZmxvdyBncm91cCBvZiB0aGUgYWN0aW9uIGluIHRoZSBvdmVyZmxvdyB0b29sYmFyLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdG92ZXJmbG93R3JvdXA/OiBudW1iZXI7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHQTtBQUNBO0FBQ0E7QUFDQTtFQUhBLElBS3FCQSxNQUFNLElBQUFDLElBQUEsR0FEMUJDLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFBQyxLQUFBLEdBTTNDQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FPNUJGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQU81QkgsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdB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
|
|
@@ -57,4 +57,17 @@ export default class Action extends BuildingBlockObjectProperty {
|
|
|
57
57
|
*/
|
|
58
58
|
@property({ type: "boolean" })
|
|
59
59
|
enabled?: boolean;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Defines the group of the action in the overflow toolbar.
|
|
63
|
+
*/
|
|
64
|
+
@property({ type: "int" })
|
|
65
|
+
group?: number;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Defines the overflow group of the action in the overflow toolbar.
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
71
|
+
@property({ type: "int" })
|
|
72
|
+
overflowGroup?: number;
|
|
60
73
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/chart/Action"], function (ClassSupport, Action) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
|
|
9
9
|
var _exports = {};
|
|
10
10
|
var property = ClassSupport.property;
|
|
11
11
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
@@ -32,6 +32,10 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/chart/Action"], functi
|
|
|
32
32
|
type: "string"
|
|
33
33
|
}), _dec6 = property({
|
|
34
34
|
type: "string"
|
|
35
|
+
}), _dec7 = property({
|
|
36
|
+
type: "int"
|
|
37
|
+
}), _dec8 = property({
|
|
38
|
+
type: "int"
|
|
35
39
|
}), _dec(_class = (_class2 = /*#__PURE__*/function (_Action) {
|
|
36
40
|
function ActionGroup() {
|
|
37
41
|
var _this;
|
|
@@ -66,6 +70,15 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/chart/Action"], functi
|
|
|
66
70
|
* @public
|
|
67
71
|
*/
|
|
68
72
|
_initializerDefineProperty(_this, "anchor", _descriptor5, _this);
|
|
73
|
+
/**
|
|
74
|
+
* Defines the group of the action in the overflow toolbar.
|
|
75
|
+
*/
|
|
76
|
+
_initializerDefineProperty(_this, "group", _descriptor6, _this);
|
|
77
|
+
/**
|
|
78
|
+
* Defines the overflow group of the action in the overflow toolbar.
|
|
79
|
+
* @public
|
|
80
|
+
*/
|
|
81
|
+
_initializerDefineProperty(_this, "overflowGroup", _descriptor7, _this);
|
|
69
82
|
return _this;
|
|
70
83
|
}
|
|
71
84
|
_exports = ActionGroup;
|
|
@@ -98,8 +111,18 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/chart/Action"], functi
|
|
|
98
111
|
enumerable: true,
|
|
99
112
|
writable: true,
|
|
100
113
|
initializer: null
|
|
114
|
+
}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, "group", [_dec7], {
|
|
115
|
+
configurable: true,
|
|
116
|
+
enumerable: true,
|
|
117
|
+
writable: true,
|
|
118
|
+
initializer: null
|
|
119
|
+
}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, "overflowGroup", [_dec8], {
|
|
120
|
+
configurable: true,
|
|
121
|
+
enumerable: true,
|
|
122
|
+
writable: true,
|
|
123
|
+
initializer: null
|
|
101
124
|
}), _class2)) || _class);
|
|
102
125
|
_exports = ActionGroup;
|
|
103
126
|
return _exports;
|
|
104
127
|
}, false);
|
|
105
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY3Rpb25Hcm91cCIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiZGVmYXVsdENsYXNzIiwiQWN0aW9uIiwiaXNEZWZhdWx0IiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQWN0aW9uIiwiX3RoaXMiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2Rlc2NyaXB0b3I2IiwiX2Rlc2NyaXB0b3I3IiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJwcm90b3R5cGUiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQWN0aW9uR3JvdXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBBY3Rpb24gZnJvbSBcInNhcC9mZS9tYWNyb3MvY2hhcnQvQWN0aW9uXCI7XG4vKipcbiAqIERlZmluaXRpb24gb2YgYSBjdXN0b20gYWN0aW9uIGdyb3VwIHRvIGJlIHVzZWQgaW5zaWRlIHRoZSBjaGFydCB0b29sYmFyXG4gKiBAcHVibGljXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuY2hhcnQuQWN0aW9uR3JvdXBcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFjdGlvbkdyb3VwIGV4dGVuZHMgQWN0aW9uIHtcblx0LyoqXG5cdCAqIFVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBhY3Rpb25cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRrZXkhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgbmVzdGVkIGFjdGlvbnNcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAuZmUubWFjcm9zLmNoYXJ0LkFjdGlvblwiLCBtdWx0aXBsZTogdHJ1ZSwgZGVmYXVsdENsYXNzOiBBY3Rpb24sIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHRhY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xuXG5cdC8qKlxuXHQgKiBUaGUgdGV4dCB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGZvciB0aGlzIGFjdGlvbiBncm91cFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRleHQhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgd2hlcmUgdGhpcyBhY3Rpb24gZ3JvdXAgc2hvdWxkIGJlIHBsYWNlZCByZWxhdGl2ZSB0byB0aGUgZGVmaW5lZCBhbmNob3Jcblx0ICpcblx0ICogQWxsb3dlZCB2YWx1ZXMgYXJlIGBCZWZvcmVgIGFuZCBgQWZ0ZXJgXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0cGxhY2VtZW50PzogXCJCZWZvcmVcIiB8IFwiQWZ0ZXJcIjtcblxuXHQvKipcblx0ICogUmVmZXJlbmNlIHRvIHRoZSBrZXkgb2YgYW5vdGhlciBhY3Rpb24gb3IgYWN0aW9uIGdyb3VwIGFscmVhZHkgZGlzcGxheWVkIGluIHRoZSB0b29sYmFyIHRvIHByb3Blcmx5IHBsYWNlIHRoaXMgb25lXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0YW5jaG9yPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBncm91cCBvZiB0aGUgYWN0aW9uIGluIHRoZSBvdmVyZmxvdyB0b29sYmFyLlxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHRncm91cD86IG51bWJlcjtcblxuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgb3ZlcmZsb3cgZ3JvdXAgb2YgdGhlIGFjdGlvbiBpbiB0aGUgb3ZlcmZsb3cgdG9vbGJhci5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHRvdmVyZmxvd0dyb3VwPzogbnVtYmVyO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztFQUVBO0FBQ0E7QUFDQTtBQUNBO0VBSEEsSUFLcUJBLFdBQVcsSUFBQUMsSUFBQSxHQUQvQkMsY0FBYyxDQUFDLGlDQUFpQyxDQUFDLEVBQUFDLEtBQUEsR0FNaERDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU81QkMsV0FBVyxDQUFDO0lBQUVGLElBQUksRUFBRSw0QkFBNEI7SUFBRUcsUUFBUSxFQUFFLElBQUk7SUFBRUMsWUFBWSxFQUFFQyxNQUFNO0lBQUVDLFNBQVMsRUFBRTtFQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBTzFHUixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFRLEtBQUEsR0FTNUJULFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQVMsS0FBQSxHQU81QlYsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBVSxLQUFBLEdBTTVCWCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFXLEtBQUEsR0FPekJaLFFB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
|
|
@@ -42,4 +42,17 @@ export default class ActionGroup extends Action {
|
|
|
42
42
|
*/
|
|
43
43
|
@property({ type: "string" })
|
|
44
44
|
anchor?: string;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Defines the group of the action in the overflow toolbar.
|
|
48
|
+
*/
|
|
49
|
+
@property({ type: "int" })
|
|
50
|
+
group?: number;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Defines the overflow group of the action in the overflow toolbar.
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
@property({ type: "int" })
|
|
57
|
+
overflowGroup?: number;
|
|
45
58
|
}
|