@sapui5/sap.fe.macros 1.138.0 → 1.139.1
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 +269 -0
- package/src/sap/fe/macros/Breadcrumbs.tsx +243 -0
- package/src/sap/fe/macros/Chart.js +1 -1
- package/src/sap/fe/macros/Chart.tsx +1 -1
- package/src/sap/fe/macros/CommonHelper.js +2 -2
- package/src/sap/fe/macros/CommonHelper.ts +1 -1
- package/src/sap/fe/macros/Field.js +21 -4
- package/src/sap/fe/macros/Field.ts +21 -3
- package/src/sap/fe/macros/FooterContent.js +40 -10
- package/src/sap/fe/macros/FooterContent.tsx +44 -8
- package/src/sap/fe/macros/FormElement.js +2 -2
- package/src/sap/fe/macros/FormElement.ts +1 -2
- package/src/sap/fe/macros/MultiValueField.js +17 -4
- package/src/sap/fe/macros/MultiValueField.tsx +7 -2
- package/src/sap/fe/macros/RichTextEditor.js +30 -6
- package/src/sap/fe/macros/RichTextEditor.tsx +34 -7
- package/src/sap/fe/macros/Share.js +73 -40
- package/src/sap/fe/macros/Share.tsx +29 -1
- package/src/sap/fe/macros/ValueHelp.js +4 -29
- package/src/sap/fe/macros/ValueHelp.tsx +2 -43
- package/src/sap/fe/macros/ai/EasyFillButton.js +10 -4
- package/src/sap/fe/macros/ai/EasyFillButton.tsx +8 -1
- package/src/sap/fe/macros/ai/EasyFillDialog.js +25 -10
- package/src/sap/fe/macros/ai/EasyFillDialog.tsx +32 -23
- package/src/sap/fe/macros/ai/EasyFilterBar.js +30 -30
- package/src/sap/fe/macros/ai/EasyFilterBar.tsx +40 -43
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +11 -5
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +14 -5
- package/src/sap/fe/macros/chart/ChartDelegate.js +4 -4
- package/src/sap/fe/macros/chart/ChartDelegate.ts +3 -3
- package/src/sap/fe/macros/chart/MdcChartTemplate.js +20 -6
- package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +16 -8
- package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +5 -1
- package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +4 -0
- package/src/sap/fe/macros/controls/FieldWrapper.js +9 -3
- package/src/sap/fe/macros/controls/FieldWrapper.ts +11 -2
- package/src/sap/fe/macros/controls/FilterBar.js +86 -3
- package/src/sap/fe/macros/controls/FilterBar.ts +97 -2
- package/src/sap/fe/macros/controls/RequiredFlexBox.js +62 -0
- package/src/sap/fe/macros/controls/RequiredFlexBox.tsx +20 -0
- package/src/sap/fe/macros/controls/Section.js +3 -2
- package/src/sap/fe/macros/controls/Section.ts +2 -1
- package/src/sap/fe/macros/controls/filterbar/VisualFilter.js +21 -11
- package/src/sap/fe/macros/controls/filterbar/VisualFilter.ts +25 -11
- package/src/sap/fe/macros/controls/filterbar/VisualFilterContainer.js +11 -2
- package/src/sap/fe/macros/controls/filterbar/VisualFilterContainer.ts +12 -1
- package/src/sap/fe/macros/controls/filterbar/utils/VisualFilterUtils.js +18 -1
- package/src/sap/fe/macros/controls/filterbar/utils/VisualFilterUtils.ts +20 -0
- 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/designtime/Designtime.helper.js +12 -2
- package/src/sap/fe/macros/designtime/Designtime.helper.ts +12 -0
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +16 -5
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +6 -1
- package/src/sap/fe/macros/field/FieldBaseDelegate.js +20 -8
- package/src/sap/fe/macros/field/FieldBaseDelegate.ts +34 -9
- package/src/sap/fe/macros/field/FieldFormatOptions.js +73 -44
- package/src/sap/fe/macros/field/FieldFormatOptions.ts +20 -2
- 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/filter/FilterUtils.js +7 -1
- package/src/sap/fe/macros/filter/FilterUtils.ts +7 -0
- package/src/sap/fe/macros/filterBar/FilterBar.block.js +8 -2
- package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +2 -5
- package/src/sap/fe/macros/filterBar/FilterBarAPI.js +8 -8
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +8 -8
- package/src/sap/fe/macros/filterBar/designtime/FilterBar.designtime.js +3 -1
- package/src/sap/fe/macros/filterBar/designtime/FilterBar.designtime.ts +2 -0
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +1 -1
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +1 -1
- package/src/sap/fe/macros/form/Form.block.js +6 -2
- package/src/sap/fe/macros/form/Form.block.ts +4 -1
- package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -2
- package/src/sap/fe/macros/form/FormContainer.fragment.xml +40 -0
- package/src/sap/fe/macros/form/FormContainerAPI.js +14 -16
- package/src/sap/fe/macros/form/FormContainerAPI.ts +13 -15
- package/src/sap/fe/macros/form/FormDelegate.js +20 -1
- package/src/sap/fe/macros/form/FormDelegate.ts +25 -0
- package/src/sap/fe/macros/formatters/TableFormatter.js +10 -1
- package/src/sap/fe/macros/formatters/TableFormatter.ts +14 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.js +15 -3
- package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +14 -2
- package/src/sap/fe/macros/internal/DataPoint.js +2 -1
- package/src/sap/fe/macros/internal/DataPoint.tsx +1 -0
- package/src/sap/fe/macros/internal/DataPointFormatOptions.js +11 -2
- package/src/sap/fe/macros/internal/DataPointFormatOptions.ts +3 -0
- package/src/sap/fe/macros/internal/FilterField.block.js +4 -2
- package/src/sap/fe/macros/internal/FilterField.block.ts +3 -1
- package/src/sap/fe/macros/internal/field/CheckBoxGroup.fragment.xml +25 -0
- package/src/sap/fe/macros/internal/field/DisplayStyle.js +52 -12
- package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +54 -5
- package/src/sap/fe/macros/internal/field/EditStyle.js +5 -1
- package/src/sap/fe/macros/internal/field/EditStyle.tsx +4 -0
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +9 -2
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +10 -0
- package/src/sap/fe/macros/internal/field/FieldStyles.js +1 -1
- package/src/sap/fe/macros/internal/field/FieldStyles.tsx +2 -1
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +3 -3
- package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +1 -0
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +11 -3
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +12 -7
- package/src/sap/fe/macros/internal/valuehelp/ValueListTable.fragment.xml +1 -0
- package/src/sap/fe/macros/library.js +1 -1
- package/src/sap/fe/macros/mdc/adapter/StateHelper.js +11 -6
- package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +12 -7
- package/src/sap/fe/macros/messagebundle.properties +37 -29
- package/src/sap/fe/macros/messagebundle_ar.properties +5 -3
- package/src/sap/fe/macros/messagebundle_bg.properties +6 -4
- package/src/sap/fe/macros/messagebundle_ca.properties +8 -6
- package/src/sap/fe/macros/messagebundle_cnr.properties +5 -3
- package/src/sap/fe/macros/messagebundle_cs.properties +4 -2
- package/src/sap/fe/macros/messagebundle_cy.properties +7 -5
- package/src/sap/fe/macros/messagebundle_da.properties +6 -4
- package/src/sap/fe/macros/messagebundle_de.properties +11 -9
- package/src/sap/fe/macros/messagebundle_el.properties +7 -5
- package/src/sap/fe/macros/messagebundle_en.properties +8 -6
- package/src/sap/fe/macros/messagebundle_en_GB.properties +8 -6
- package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +8 -6
- package/src/sap/fe/macros/messagebundle_es.properties +6 -4
- package/src/sap/fe/macros/messagebundle_es_MX.properties +6 -4
- package/src/sap/fe/macros/messagebundle_et.properties +5 -3
- package/src/sap/fe/macros/messagebundle_fi.properties +8 -6
- package/src/sap/fe/macros/messagebundle_fr.properties +6 -4
- package/src/sap/fe/macros/messagebundle_fr_CA.properties +8 -6
- package/src/sap/fe/macros/messagebundle_hi.properties +6 -4
- package/src/sap/fe/macros/messagebundle_hr.properties +6 -4
- package/src/sap/fe/macros/messagebundle_hu.properties +4 -2
- package/src/sap/fe/macros/messagebundle_id.properties +8 -6
- package/src/sap/fe/macros/messagebundle_it.properties +4 -2
- package/src/sap/fe/macros/messagebundle_iw.properties +5 -3
- package/src/sap/fe/macros/messagebundle_ja.properties +5 -3
- package/src/sap/fe/macros/messagebundle_kk.properties +5 -3
- package/src/sap/fe/macros/messagebundle_ko.properties +4 -2
- package/src/sap/fe/macros/messagebundle_lt.properties +6 -4
- package/src/sap/fe/macros/messagebundle_lv.properties +5 -3
- package/src/sap/fe/macros/messagebundle_mk.properties +5 -3
- package/src/sap/fe/macros/messagebundle_ms.properties +8 -6
- package/src/sap/fe/macros/messagebundle_nl.properties +7 -5
- package/src/sap/fe/macros/messagebundle_no.properties +6 -4
- package/src/sap/fe/macros/messagebundle_pl.properties +6 -4
- package/src/sap/fe/macros/messagebundle_pt.properties +7 -5
- package/src/sap/fe/macros/messagebundle_pt_PT.properties +6 -4
- package/src/sap/fe/macros/messagebundle_ro.properties +7 -5
- package/src/sap/fe/macros/messagebundle_ru.properties +4 -2
- package/src/sap/fe/macros/messagebundle_sh.properties +5 -3
- package/src/sap/fe/macros/messagebundle_sk.properties +5 -3
- package/src/sap/fe/macros/messagebundle_sl.properties +6 -4
- package/src/sap/fe/macros/messagebundle_sr.properties +5 -3
- package/src/sap/fe/macros/messagebundle_sv.properties +5 -3
- package/src/sap/fe/macros/messagebundle_th.properties +4 -2
- package/src/sap/fe/macros/messagebundle_tr.properties +4 -2
- package/src/sap/fe/macros/messagebundle_uk.properties +10 -8
- package/src/sap/fe/macros/messagebundle_vi.properties +6 -4
- package/src/sap/fe/macros/messagebundle_zh_CN.properties +5 -3
- package/src/sap/fe/macros/messagebundle_zh_TW.properties +5 -3
- package/src/sap/fe/macros/messages/MessageButton.js +17 -19
- package/src/sap/fe/macros/messages/MessageButton.ts +24 -22
- package/src/sap/fe/macros/table/Action.js +24 -2
- package/src/sap/fe/macros/table/Action.ts +13 -0
- package/src/sap/fe/macros/table/ActionGroup.js +24 -2
- package/src/sap/fe/macros/table/ActionGroup.ts +13 -0
- package/src/sap/fe/macros/table/ActionGroupOverride.js +24 -2
- package/src/sap/fe/macros/table/ActionGroupOverride.ts +13 -0
- package/src/sap/fe/macros/table/ActionOverride.js +24 -2
- package/src/sap/fe/macros/table/ActionOverride.ts +13 -0
- package/src/sap/fe/macros/table/ActionsTemplating.js +73 -12
- package/src/sap/fe/macros/table/ActionsTemplating.tsx +69 -13
- package/src/sap/fe/macros/table/Column.js +3 -3
- package/src/sap/fe/macros/table/Column.ts +2 -2
- package/src/sap/fe/macros/table/MdcTableTemplate.js +20 -8
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +32 -6
- package/src/sap/fe/macros/table/QuickFilterSelector.js +35 -14
- package/src/sap/fe/macros/table/QuickFilterSelector.tsx +22 -3
- package/src/sap/fe/macros/table/Table.block.js +137 -108
- package/src/sap/fe/macros/table/Table.block.tsx +29 -2
- package/src/sap/fe/macros/table/Table.js +7 -1
- package/src/sap/fe/macros/table/Table.tsx +7 -1
- package/src/sap/fe/macros/table/TableAPI.js +150 -133
- package/src/sap/fe/macros/table/TableAPI.ts +20 -3
- package/src/sap/fe/macros/table/TableDefinition.js +4 -2
- package/src/sap/fe/macros/table/TableDefinition.ts +3 -1
- package/src/sap/fe/macros/table/TableRuntime.js +3 -3
- package/src/sap/fe/macros/table/TableRuntime.ts +2 -2
- package/src/sap/fe/macros/table/TableSizeHelper.js +3 -3
- package/src/sap/fe/macros/table/TableSizeHelper.ts +5 -2
- package/src/sap/fe/macros/table/TreeTable.js +7 -1
- package/src/sap/fe/macros/table/TreeTable.tsx +7 -1
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +27 -20
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +35 -26
- package/src/sap/fe/macros/table/designtime/Table.designtime.js +3 -1
- package/src/sap/fe/macros/table/designtime/Table.designtime.ts +2 -0
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +10 -10
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +11 -9
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +8 -8
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +7 -6
- package/src/sap/fe/macros/table/massEdit/designtime/MassEdit.designtime.js +3 -1
- package/src/sap/fe/macros/table/massEdit/designtime/MassEdit.designtime.ts +2 -1
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -1
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +1 -0
- package/src/sap/fe/macros/table/mixin/TableHierarchy.js +4 -1
- package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +3 -0
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +37 -8
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +47 -16
- package/src/sap/fe/macros/visualfilters/VisualFilter.js +95 -6
- package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +93 -2
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +15 -3
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +17 -2
|
@@ -35,7 +35,7 @@ import type {
|
|
|
35
35
|
CustomBasedTableColumn
|
|
36
36
|
} from "sap/fe/core/converters/controls/Common/table/Columns";
|
|
37
37
|
import { StandardActionKeys, type StandardAction } from "sap/fe/core/converters/controls/Common/table/StandardActions";
|
|
38
|
-
import { UI, singletonPathVisitor } from "sap/fe/core/helpers/BindingHelper";
|
|
38
|
+
import { Entity, UI, singletonPathVisitor } from "sap/fe/core/helpers/BindingHelper";
|
|
39
39
|
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
40
40
|
import { generate } from "sap/fe/core/helpers/StableIdHelper";
|
|
41
41
|
import { isAnnotationOfTerm, isAnnotationOfType, isSingleton } from "sap/fe/core/helpers/TypeGuards";
|
|
@@ -55,6 +55,7 @@ import { buildExpressionForHeaderVisible } from "sap/fe/macros/internal/helpers/
|
|
|
55
55
|
import SituationsIndicator from "sap/fe/macros/situations/SituationsIndicator";
|
|
56
56
|
import { getTableActionsTemplate, getTableContextMenuTemplate } from "sap/fe/macros/table/ActionsTemplating";
|
|
57
57
|
import QuickFilterSelector from "sap/fe/macros/table/QuickFilterSelector";
|
|
58
|
+
import SlotColumn from "sap/fe/macros/table/SlotColumn";
|
|
58
59
|
import type TableAPI from "sap/fe/macros/table/TableAPI";
|
|
59
60
|
import type TableCreationOptions from "sap/fe/macros/table/TableCreationOptions";
|
|
60
61
|
import TableHelper from "sap/fe/macros/table/TableHelper";
|
|
@@ -152,6 +153,7 @@ function getTableType(
|
|
|
152
153
|
showDetailsButton={true}
|
|
153
154
|
detailsButtonSetting={[Priority.Low, Priority.Medium, Priority.None]}
|
|
154
155
|
growingMode={collection.$kind === "EntitySet" ? "Scroll" : undefined}
|
|
156
|
+
popinLayout={tableDefinition.control.popinLayout}
|
|
155
157
|
/>
|
|
156
158
|
);
|
|
157
159
|
}
|
|
@@ -908,6 +910,7 @@ export function getComputedColumn(
|
|
|
908
910
|
<DraftIndicator
|
|
909
911
|
draftIndicatorType={ObjectMarkerVisibility.IconOnly}
|
|
910
912
|
contextPath={collection.getPath()}
|
|
913
|
+
visible={or(not(Entity.IsActive), Entity.HasDraft)}
|
|
911
914
|
usedInTable={true}
|
|
912
915
|
usedInAnalyticalTable={enableAnalytics}
|
|
913
916
|
/>
|
|
@@ -940,6 +943,12 @@ export function getComputedColumn(
|
|
|
940
943
|
* @returns The slot column.
|
|
941
944
|
*/
|
|
942
945
|
export function getSlotColumn(tableId: string, column: CustomBasedTableColumn, isReadOnly: boolean | undefined): Column {
|
|
946
|
+
const template =
|
|
947
|
+
typeof column.template === "string" && !column.template?.startsWith("<") ? (
|
|
948
|
+
<SlotColumn templateId={column.template} />
|
|
949
|
+
) : (
|
|
950
|
+
column.template
|
|
951
|
+
);
|
|
943
952
|
return (
|
|
944
953
|
<Column
|
|
945
954
|
id={generate([tableId, "C", column.id])}
|
|
@@ -952,7 +961,7 @@ export function getSlotColumn(tableId: string, column: CustomBasedTableColumn, i
|
|
|
952
961
|
>
|
|
953
962
|
{{
|
|
954
963
|
extendedSettings: <ResponsiveColumnSettings importance={column.importance} />,
|
|
955
|
-
template:
|
|
964
|
+
template: template
|
|
956
965
|
}}
|
|
957
966
|
</Column>
|
|
958
967
|
);
|
|
@@ -1067,6 +1076,8 @@ function getCreationTemplate(
|
|
|
1067
1076
|
}
|
|
1068
1077
|
const dataFieldObject = dataField.getObject();
|
|
1069
1078
|
|
|
1079
|
+
const reactiveAreaMode: "Inline" | "Overlay" | undefined = tableType === "ResponsiveTable" ? "Overlay" : undefined;
|
|
1080
|
+
|
|
1070
1081
|
const formatOptions = {
|
|
1071
1082
|
fieldMode: fieldMode,
|
|
1072
1083
|
textLinesEdit: column.formatOptions?.textLinesEdit,
|
|
@@ -1082,7 +1093,8 @@ function getCreationTemplate(
|
|
|
1082
1093
|
showIconUrl: dataFieldObject?.Inline && !!dataFieldObject?.IconUrl,
|
|
1083
1094
|
ignoreNavigationAvailable: enableAnalytics ?? false,
|
|
1084
1095
|
isCurrencyOrUnitAligned: true,
|
|
1085
|
-
dateTimeStyle: getDefaultDateTimeStyle(dataField)
|
|
1096
|
+
dateTimeStyle: getDefaultDateTimeStyle(dataField),
|
|
1097
|
+
reactiveAreaMode: reactiveAreaMode
|
|
1086
1098
|
};
|
|
1087
1099
|
|
|
1088
1100
|
return (
|
|
@@ -1159,6 +1171,8 @@ export function getMacroFieldTemplate(
|
|
|
1159
1171
|
columnEditMode = "Display";
|
|
1160
1172
|
}
|
|
1161
1173
|
|
|
1174
|
+
const reactiveAreaMode: "Inline" | "Overlay" | undefined = tableDefinition.control.type === "ResponsiveTable" ? "Overlay" : undefined;
|
|
1175
|
+
|
|
1162
1176
|
const formatOptions = {
|
|
1163
1177
|
fieldMode: fieldMode,
|
|
1164
1178
|
textLinesEdit: column.formatOptions?.textLinesEdit,
|
|
@@ -1179,7 +1193,8 @@ export function getMacroFieldTemplate(
|
|
|
1179
1193
|
isCurrencyOrUnitAligned: true,
|
|
1180
1194
|
compactSemanticKey: isCompactType === undefined ? undefined : `${isCompactType}`,
|
|
1181
1195
|
dateTimeStyle: getDefaultDateTimeStyle(dataFieldContext),
|
|
1182
|
-
isAnalyticalAggregatedRow: tableDefinition.control.analyticalConfiguration?.aggregationOnLeafLevel
|
|
1196
|
+
isAnalyticalAggregatedRow: tableDefinition.control.analyticalConfiguration?.aggregationOnLeafLevel,
|
|
1197
|
+
reactiveAreaMode: reactiveAreaMode
|
|
1183
1198
|
};
|
|
1184
1199
|
return (
|
|
1185
1200
|
<Field
|
|
@@ -1273,10 +1288,21 @@ function getColumnContentTemplate(
|
|
|
1273
1288
|
)
|
|
1274
1289
|
);
|
|
1275
1290
|
if (isReadOnly === "undefined") {
|
|
1276
|
-
template =
|
|
1291
|
+
template = (
|
|
1292
|
+
<MultiValueFieldBlock
|
|
1293
|
+
contextPath={collection.getPath()}
|
|
1294
|
+
metaPath={dataFieldContext.getPath()}
|
|
1295
|
+
useParentBindingCache={tableDefinition.disableOwnRequestOnMVF}
|
|
1296
|
+
/>
|
|
1297
|
+
);
|
|
1277
1298
|
} else {
|
|
1278
1299
|
template = (
|
|
1279
|
-
<MultiValueFieldBlock
|
|
1300
|
+
<MultiValueFieldBlock
|
|
1301
|
+
contextPath={collection.getPath()}
|
|
1302
|
+
metaPath={dataFieldContext.getPath()}
|
|
1303
|
+
readOnly={isReadOnly}
|
|
1304
|
+
useParentBindingCache={tableDefinition.disableOwnRequestOnMVF}
|
|
1305
|
+
/>
|
|
1280
1306
|
);
|
|
1281
1307
|
}
|
|
1282
1308
|
} else if (
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/converters/MetaModelConverter", "sap/fe/core/helpers/StableIdHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/core/templating/DataModelPathHelper", "sap/fe/macros/table/Utils", "sap/m/SegmentedButton", "sap/m/SegmentedButtonItem", "sap/m/Select", "sap/ui/core/InvisibleText", "sap/ui/core/Item", "sap/fe/base/jsx-runtime/jsx"], function (Log, BindingToolkit, ClassSupport, CommonUtils, BuildingBlock, MetaModelConverter, StableIdHelper, TypeGuards, DataModelPathHelper, TableUtils, SegmentedButton, SegmentedButtonItem, Select, InvisibleText, Item, _jsx) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor, _descriptor2, _descriptor3;
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;
|
|
9
9
|
var _exports = {};
|
|
10
10
|
var getTargetObjectPath = DataModelPathHelper.getTargetObjectPath;
|
|
11
11
|
var getTargetNavigationPath = DataModelPathHelper.getTargetNavigationPath;
|
|
@@ -14,6 +14,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
|
|
|
14
14
|
var generate = StableIdHelper.generate;
|
|
15
15
|
var getInvolvedDataModelObjects = MetaModelConverter.getInvolvedDataModelObjects;
|
|
16
16
|
var property = ClassSupport.property;
|
|
17
|
+
var implementInterface = ClassSupport.implementInterface;
|
|
17
18
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
18
19
|
var pathInModel = BindingToolkit.pathInModel;
|
|
19
20
|
var notEqual = BindingToolkit.notEqual;
|
|
@@ -25,25 +26,34 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
|
|
|
25
26
|
/**
|
|
26
27
|
* Definition of the quickVariantSelection to be used inside the table.
|
|
27
28
|
*/
|
|
28
|
-
let QuickFilterSelector = (_dec = defineUI5Class("sap.fe.macros.table.QuickFilterSelector"
|
|
29
|
+
let QuickFilterSelector = (_dec = defineUI5Class("sap.fe.macros.table.QuickFilterSelector", {
|
|
30
|
+
interfaces: ["sap.m.IToolbarInteractiveControl"]
|
|
31
|
+
}), _dec2 = implementInterface("sap.m.IOverflowToolbarContent"), _dec3 = property({
|
|
29
32
|
type: "string"
|
|
30
|
-
}), _dec3 = property({
|
|
31
|
-
type: "string[]"
|
|
32
33
|
}), _dec4 = property({
|
|
34
|
+
type: "string[]"
|
|
35
|
+
}), _dec5 = property({
|
|
33
36
|
type: "boolean"
|
|
34
37
|
}), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlock) {
|
|
35
38
|
function QuickFilterSelector(properties, others) {
|
|
36
39
|
var _this;
|
|
37
40
|
_this = _BuildingBlock.call(this, properties, others) || this;
|
|
38
|
-
_initializerDefineProperty(_this, "
|
|
41
|
+
_initializerDefineProperty(_this, "__implements__sap_m_IOverflowToolbarContent", _descriptor, _this);
|
|
42
|
+
_initializerDefineProperty(_this, "id", _descriptor2, _this);
|
|
39
43
|
/**
|
|
40
44
|
* Defines the list of paths pointing to the selection variants that should be used as quick filters
|
|
41
45
|
*/
|
|
42
|
-
_initializerDefineProperty(_this, "paths",
|
|
46
|
+
_initializerDefineProperty(_this, "paths", _descriptor3, _this);
|
|
43
47
|
/**
|
|
44
48
|
* Defines whether the counts should be displayed next to the text
|
|
45
49
|
*/
|
|
46
|
-
_initializerDefineProperty(_this, "showCounts",
|
|
50
|
+
_initializerDefineProperty(_this, "showCounts", _descriptor4, _this);
|
|
51
|
+
/**
|
|
52
|
+
* Required by the {@link sap.m.IToolbarInteractiveControl} interface.
|
|
53
|
+
* Determines if the Control is interactive.
|
|
54
|
+
* @returns If it is an interactive Control
|
|
55
|
+
*/
|
|
56
|
+
_this._getToolbarInteractive = () => true;
|
|
47
57
|
return _this;
|
|
48
58
|
}
|
|
49
59
|
|
|
@@ -58,6 +68,11 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
|
|
|
58
68
|
if (!this.content && this.metaPath) {
|
|
59
69
|
this.initializeContent();
|
|
60
70
|
}
|
|
71
|
+
};
|
|
72
|
+
_proto.getOverflowToolbarConfig = function getOverflowToolbarConfig() {
|
|
73
|
+
return {
|
|
74
|
+
canOverflow: true
|
|
75
|
+
};
|
|
61
76
|
}
|
|
62
77
|
|
|
63
78
|
/**
|
|
@@ -101,13 +116,12 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
|
|
|
101
116
|
items
|
|
102
117
|
}
|
|
103
118
|
});
|
|
104
|
-
}
|
|
105
|
-
|
|
119
|
+
};
|
|
106
120
|
/**
|
|
107
121
|
* Generates the selector as a Select.
|
|
108
122
|
* @param metaContext The meta context
|
|
109
123
|
* @returns The Select
|
|
110
|
-
|
|
124
|
+
*/
|
|
111
125
|
_proto.getSelectSelector = function getSelectSelector(metaContext) {
|
|
112
126
|
const items = this.paths.map((path, index) => {
|
|
113
127
|
return _jsx(Item, {
|
|
@@ -329,17 +343,24 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
|
|
|
329
343
|
}
|
|
330
344
|
};
|
|
331
345
|
return QuickFilterSelector;
|
|
332
|
-
}(BuildingBlock), _descriptor = _applyDecoratedDescriptor(_class2.prototype, "
|
|
346
|
+
}(BuildingBlock), _descriptor = _applyDecoratedDescriptor(_class2.prototype, "__implements__sap_m_IOverflowToolbarContent", [_dec2], {
|
|
347
|
+
configurable: true,
|
|
348
|
+
enumerable: true,
|
|
349
|
+
writable: true,
|
|
350
|
+
initializer: function () {
|
|
351
|
+
return true;
|
|
352
|
+
}
|
|
353
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "id", [_dec3], {
|
|
333
354
|
configurable: true,
|
|
334
355
|
enumerable: true,
|
|
335
356
|
writable: true,
|
|
336
357
|
initializer: null
|
|
337
|
-
}),
|
|
358
|
+
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "paths", [_dec4], {
|
|
338
359
|
configurable: true,
|
|
339
360
|
enumerable: true,
|
|
340
361
|
writable: true,
|
|
341
362
|
initializer: null
|
|
342
|
-
}),
|
|
363
|
+
}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "showCounts", [_dec5], {
|
|
343
364
|
configurable: true,
|
|
344
365
|
enumerable: true,
|
|
345
366
|
writable: true,
|
|
@@ -350,4 +371,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
|
|
|
350
371
|
_exports = QuickFilterSelector;
|
|
351
372
|
return _exports;
|
|
352
373
|
}, false);
|
|
353
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWlja0ZpbHRlclNlbGVjdG9yIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJfZGVjMyIsIl9kZWM0IiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwib25NZXRhZGF0YUF2YWlsYWJsZSIsIm1ldGFEYXRhQXZhaWxhYmxlIiwiY29udGVudCIsIm1ldGFQYXRoIiwiaW5pdGlhbGl6ZUNvbnRlbnQiLCJzZXRNZXRhUGF0aCIsIm9uU2VsQ2hhbmdlIiwidGFibGVBUEkiLCJnZXRNRENUYWJsZSIsImdldFBhcmVudCIsImlzQSIsIm9uUXVpY2tGaWx0ZXJTZWxlY3Rpb25DaGFuZ2UiLCJnZXRTZWdtZW50ZWRCdXR0b25TZWxlY3RvciIsIm1ldGFDb250ZXh0IiwiaXRlbXMiLCJwYXRocyIsIm1hcCIsInBhdGgiLCJpbmRleCIsIl9qc3giLCJTZWdtZW50ZWRCdXR0b25JdGVtIiwiZ2V0U2VsZWN0b3JJdGVtUHJvcGVydGllcyIsIlNlZ21lbnRlZEJ1dHRvbiIsImlkIiwiZW5hYmxlZCIsIm5vdEVxdWFsIiwicGF0aEluTW9kZWwiLCJhcmlhTGFiZWxsZWRCeSIsImdldFNlbGVjdG9yQXJpYUxhYmVsbGVkQnlJZCIsInNlbGVjdGlvbkNoYW5nZSIsImJpbmQiLCJjaGlsZHJlbiIsImdldFNlbGVjdFNlbGVjdG9yIiwiSXRlbSIsIlNlbGVjdCIsImF1dG9BZGp1c3RXaWR0aCIsImNoYW5nZSIsImtleSIsInRleHQiLCJnZXRTZWxlY3Rvckl0ZW1UZXh0IiwiZ2VuZXJhdGUiLCJjb3VudFRleHQiLCJkYXRhVGFibGVNb2RlbFBhdGgiLCJnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJzZWxlY3Rpb25WYXJpYW50IiwiZW5oYW5jZURhdGFNb2RlbFBhdGgiLCJ0YXJnZXRPYmplY3QiLCJUZXh0IiwidG9TdHJpbmciLCJzaG93Q291bnRzIiwicmVnaXN0ZXJTaWRlRWZmZWN0Rm9yUXVpY2tGaWx0ZXIiLCJjb250ZXh0UGF0aCIsImRhdGFWaXN1YWxpemF0aW9uTW9kZWxQYXRoIiwidmlld0VudGl0eVR5cGUiLCJjb250ZXh0TG9jYXRpb24iLCJ0YXJnZXRFbnRpdHlUeXBlIiwiZnVsbHlRdWFsaWZpZWROYW1lIiwidGFibGVOYXZpZ2F0aW9uUGF0aCIsImdldFRhcmdldE5hdmlnYXRpb25QYXRoIiwic291cmNlUHJvcGVydGllcyIsIlNldCIsInNlbGVjdGlvblZhcmlhbnRQYXRoIiwiU2VsZWN0T3B0aW9ucyIsImlzQW5ub3RhdGlvbk9mVHlwZSIsImZvckVhY2giLCJzZWxlY3RPcHRpb24iLCJwcm9wZXJ0eVBhdGgiLCJQcm9wZXJ0eU5hbWUiLCJ2YWx1ZSIsInByb3BlcnR5TW9kZWxQYXRoIiwiYWRkIiwiZ2V0VGFyZ2V0T2JqZWN0UGF0aCIsImdldEFwcENvbXBvbmVudCIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsImFkZENvbnRyb2xTaWRlRWZmZWN0cyIsIkFycmF5IiwiZnJvbSIsInRhcmdldEVudGl0aWVzIiwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgiLCJzb3VyY2VDb250cm9sSWQiLCJnZXRBY2Nlc3NpYmlsaXR5Q29udHJvbCIsInRleHRCaW5kaW5nIiwiaW52aXNpYmxlVGV4dCIsIkludmlzaWJsZVRleHQiLCJ0b1N0YXRpYyIsIm1ldGFQYXRoT2JqZWN0IiwiZ2V0TWV0YVBhdGhPYmplY3QiLCJvZGF0YU1ldGFNb2RlbCIsIl9nZXRPd25lciIsImdldE1ldGFNb2RlbCIsImNyZWF0ZUJpbmRpbmdDb250ZXh0IiwiZ2V0UGF0aCIsImNvbnRleHQiLCJnZXRDb250ZXh0UGF0aCIsInNlbGVjdG9yIiwibGVuZ3RoIiwiYWRkRGVwZW5kZW50IiwibWRjVGFibGUiLCJjdXJyZW50Q29udHJvbCIsImdldFNlbGVjdGVkS2V5IiwiZ2V0SXRlbXMiLCJnZXRLZXkiLCJzZXRTZWxlY3RlZEtleSIsInNldENvdW50c0FzTG9hZGluZyIsInF1aWNrRmlsdGVyQ291bnRzIiwiaW50ZXJuYWxDb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJrIiwic2V0UHJvcGVydHkiLCJjb3VudHMiLCJyZWZyZXNoU2VsZWN0ZWRDb3VudCIsImNvdW50IiwiZ2V0Um93QmluZGluZyIsImdldENvdW50IiwidW5kZWZpbmVkIiwiaXRlbUluZGV4IiwiZmluZEluZGV4Iiwic2VsZWN0b3JJdGVtIiwiVGFibGVVdGlscyIsImdldENvdW50Rm9ybWF0dGVkIiwicmVmcmVzaFVuU2VsZWN0ZWRDb3VudHMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRhYmxlIiwiY29udHJvbGxlciIsImdldFBhZ2VDb250cm9sbGVyIiwiY2hhcnQiLCJnZXRDaGFydENvbnRyb2wiLCJjaGFydEJsb2NrIiwic2V0SXRlbUNvdW50cyIsIml0ZW0iLCJpdGVtS2V5IiwiaXRlbUZpbHRlcnMiLCJDb21tb25VdGlscyIsImdldEZpbHRlcnNGcm9tQW5ub3RhdGlvbiIsImdldExpc3RCaW5kaW5nRm9yQ291bnQiLCJiYXRjaEdyb3VwSWQiLCJhZGRpdGlvbmFsRmlsdGVycyIsImJhc2VUYWJsZUZpbHRlcnMiLCJjaGFydEZpbHRlciIsImhhc1NlbGVjdGlvbnMiLCJnZXRGaWx0ZXIiLCJnZXRIaWRkZW5GaWx0ZXJzIiwicHVzaCIsImJpbmRpbmdQcm9taXNlcyIsImZpbHRlciIsImFsbCIsImVycm9yIiwiTG9nIiwiQnVpbGRpbmdCbG9jayIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiUXVpY2tGaWx0ZXJTZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZWxlY3Rpb25WYXJpYW50LCBTZWxlY3Rpb25WYXJpYW50VHlwZSwgU2VsZWN0aW9uVmFyaWFudFR5cGVUeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IFVJQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgeyBub3RFcXVhbCwgcGF0aEluTW9kZWwgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSwgdHlwZSBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgeyBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvU3RhYmxlSWRIZWxwZXJcIjtcbmltcG9ydCB7IGlzQW5ub3RhdGlvbk9mVHlwZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1R5cGVHdWFyZHNcIjtcbmltcG9ydCB7IGVuaGFuY2VEYXRhTW9kZWxQYXRoLCBnZXRUYXJnZXROYXZpZ2F0aW9uUGF0aCwgZ2V0VGFyZ2V0T2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCBUYWJsZVV0aWxzIGZyb20gXCJzYXAvZmUvbWFjcm9zL3RhYmxlL1V0aWxzXCI7XG5pbXBvcnQgU2VnbWVudGVkQnV0dG9uIGZyb20gXCJzYXAvbS9TZWdtZW50ZWRCdXR0b25cIjtcbmltcG9ydCBTZWdtZW50ZWRCdXR0b25JdGVtIGZyb20gXCJzYXAvbS9TZWdtZW50ZWRCdXR0b25JdGVtXCI7XG5pbXBvcnQgU2VsZWN0IGZyb20gXCJzYXAvbS9TZWxlY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB7IHR5cGUgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgSW52aXNpYmxlVGV4dCBmcm9tIFwic2FwL3VpL2NvcmUvSW52aXNpYmxlVGV4dFwiO1xuaW1wb3J0IEl0ZW0gZnJvbSBcInNhcC91aS9jb3JlL0l0ZW1cIjtcbmltcG9ydCB0eXBlIFRhYmxlIGZyb20gXCJzYXAvdWkvbWRjL1RhYmxlXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgVGFibGVBUEkgZnJvbSBcIi4vVGFibGVBUElcIjtcblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIHRoZSBxdWlja1ZhcmlhbnRTZWxlY3Rpb24gdG8gYmUgdXNlZCBpbnNpZGUgdGhlIHRhYmxlLlxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLnRhYmxlLlF1aWNrRmlsdGVyU2VsZWN0b3JcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFF1aWNrRmlsdGVyU2VsZWN0b3IgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrPFNlZ21lbnRlZEJ1dHRvbiB8IFNlbGVjdD4ge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGlkITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBsaXN0IG9mIHBhdGhzIHBvaW50aW5nIHRvIHRoZSBzZWxlY3Rpb24gdmFyaWFudHMgdGhhdCBzaG91bGQgYmUgdXNlZCBhcyBxdWljayBmaWx0ZXJzXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1tdXCIgfSlcblx0cGF0aHMhOiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogRGVmaW5lcyB3aGV0aGVyIHRoZSBjb3VudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBuZXh0IHRvIHRoZSB0ZXh0XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93Q291bnRzID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBtZXRhUGF0aD86IHN0cmluZztcblxuXHRwcml2YXRlIG1ldGFEYXRhQXZhaWxhYmxlPzogYm9vbGVhbjtcblxuXHRwcm90ZWN0ZWQgbWRjVGFibGU/OiBUYWJsZTtcblxuXHRjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzOiAkQ29udHJvbFNldHRpbmdzICYgUHJvcGVydGllc09mPFF1aWNrRmlsdGVyU2VsZWN0b3I+LCBvdGhlcnM/OiAkQ29udHJvbFNldHRpbmdzKSB7XG5cdFx0c3VwZXIocHJvcGVydGllcywgb3RoZXJzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBIYW5kbGVyIGZvciB0aGUgb25NZXRhZGF0YUF2YWlsYWJsZSBldmVudC5cblx0ICovXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoKTogdm9pZCB7XG5cdFx0dGhpcy5tZXRhRGF0YUF2YWlsYWJsZSA9IHRydWU7XG5cdFx0aWYgKCF0aGlzLmNvbnRlbnQgJiYgdGhpcy5tZXRhUGF0aCkge1xuXHRcdFx0dGhpcy5pbml0aWFsaXplQ29udGVudCgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBtZXRhUGF0aC5cblx0ICogQHBhcmFtIG1ldGFQYXRoIFRoZSBtZXRhUGF0aFxuXHQgKi9cblx0c2V0TWV0YVBhdGgobWV0YVBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubWV0YVBhdGggPSBtZXRhUGF0aDtcblx0XHRpZiAoIXRoaXMuY29udGVudCAmJiB0aGlzLm1ldGFEYXRhQXZhaWxhYmxlID09PSB0cnVlKSB7XG5cdFx0XHR0aGlzLmluaXRpYWxpemVDb250ZW50KCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXIgZm9yIHRoZSBzZWxlY3Rpb24gY2hhbmdlIGV2ZW50LlxuXHQgKi9cblx0cHJpdmF0ZSBvblNlbENoYW5nZSgpOiB2b2lkIHtcblx0XHRjb25zdCB0YWJsZUFQSSA9IHRoaXMuZ2V0TURDVGFibGUoKS5nZXRQYXJlbnQoKTtcblx0XHRpZiAodGFibGVBUEk/LmlzQTxUYWJsZUFQST4oXCJzYXAuZmUubWFjcm9zLnRhYmxlLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHR0YWJsZUFQSS5vblF1aWNrRmlsdGVyU2VsZWN0aW9uQ2hhbmdlKCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyB0aGUgc2VsZWN0b3IgYXMgYSBTZWdtZW50ZWRCdXR0b24uXG5cdCAqIEBwYXJhbSBtZXRhQ29udGV4dCBUaGUgbWV0YSBjb250ZXh0XG5cdCAqIEByZXR1cm5zICBUaGUgU2VnbWVudGVkQnV0dG9uXG5cdCAqL1xuXHRwcml2YXRlIGdldFNlZ21lbnRlZEJ1dHRvblNlbGVjdG9yKG1ldGFDb250ZXh0OiBDb250ZXh0KTogU2VnbWVudGVkQnV0dG9uIHtcblx0XHRjb25zdCBpdGVtcyA9IHRoaXMucGF0aHMubWFwKChwYXRoLCBpbmRleCkgPT4ge1xuXHRcdFx0cmV0dXJuICg8U2VnbWVudGVkQnV0dG9uSXRlbSB7Li4udGhpcy5nZXRTZWxlY3Rvckl0ZW1Qcm9wZXJ0aWVzKGluZGV4LCBtZXRhQ29udGV4dCl9IC8+KSBhcyBTZWdtZW50ZWRCdXR0b25JdGVtO1xuXHRcdH0pO1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8U2VnbWVudGVkQnV0dG9uXG5cdFx0XHRcdGlkPXtgJHt0aGlzLmlkfS1jb250ZW50YH1cblx0XHRcdFx0ZW5hYmxlZD17bm90RXF1YWwocGF0aEluTW9kZWwoXCJoYXNQZW5kaW5nRmlsdGVyc1wiLCBcInBhZ2VJbnRlcm5hbFwiKSwgdHJ1ZSl9XG5cdFx0XHRcdGFyaWFMYWJlbGxlZEJ5PXtbdGhpcy5nZXRTZWxlY3RvckFyaWFMYWJlbGxlZEJ5SWQoKV19XG5cdFx0XHRcdHNlbGVjdGlvbkNoYW5nZT17dGhpcy5vblNlbENoYW5nZS5iaW5kKHRoaXMpfVxuXHRcdFx0PlxuXHRcdFx0XHR7e1xuXHRcdFx0XHRcdGl0ZW1zXG5cdFx0XHRcdH19XG5cdFx0XHQ8L1NlZ21lbnRlZEJ1dHRvbj5cblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyB0aGUgc2VsZWN0b3IgYXMgYSBTZWxlY3QuXG5cdCAqIEBwYXJhbSBtZXRhQ29udGV4dCBUaGUgbWV0YSBjb250ZXh0XG5cdCAqIEByZXR1cm5zICBUaGUgU2VsZWN0XG5cdCAqL1xuXHRwcml2YXRlIGdldFNlbGVjdFNlbGVjdG9yKG1ldGFDb250ZXh0OiBDb250ZXh0KTogU2VsZWN0IHtcblx0XHRjb25zdCBpdGVtcyA9IHRoaXMucGF0aHMubWFwKChwYXRoLCBpbmRleCkgPT4ge1xuXHRcdFx0cmV0dXJuICg8SXRlbSB7Li4udGhpcy5nZXRTZWxlY3Rvckl0ZW1Qcm9wZXJ0aWVzKGluZGV4LCBtZXRhQ29udGV4dCl9IC8+KSBhcyBJdGVtO1xuXHRcdH0pO1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8U2VsZWN0XG5cdFx0XHRcdGlkPXtgJHt0aGlzLmlkfS1jb250ZW50YH1cblx0XHRcdFx0ZW5hYmxlZD17bm90RXF1YWwocGF0aEluTW9kZWwoXCJoYXNQZW5kaW5nRmlsdGVyc1wiLCBcInBhZ2VJbnRlcm5hbFwiKSwgdHJ1ZSl9XG5cdFx0XHRcdGFyaWFMYWJlbGxlZEJ5PXtbdGhpcy5nZXRTZWxlY3RvckFyaWFMYWJlbGxlZEJ5SWQoKV19XG5cdFx0XHRcdGF1dG9BZGp1c3RXaWR0aD17dHJ1ZX1cblx0XHRcdFx0Y2hhbmdlPXt0aGlzLm9uU2VsQ2hhbmdlLmJpbmQodGhpcyl9XG5cdFx0XHQ+XG5cdFx0XHRcdHt7XG5cdFx0XHRcdFx0aXRlbXNcblx0XHRcdFx0fX1cblx0XHRcdDwvU2VsZWN0PlxuXHRcdCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcHJvcGVydGllcyBvZiB0aGUgc2VsZWN0b3IgSXRlbS5cblx0ICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgaXRlbSBpbnRvIHRoZSBzZWxlY3RvclxuXHQgKiBAcGFyYW0gbWV0YUNvbnRleHQgVGhlIG1ldGEgY29udGV4dFxuXHQgKiBAcmV0dXJucyAgVGhlIHByb3BlcnRpZXNcblx0ICovXG5cdHByaXZhdGUgZ2V0U2VsZWN0b3JJdGVtUHJvcGVydGllcyhpbmRleDogbnVtYmVyLCBtZXRhQ29udGV4dDogQ29udGV4dCk6IHsga2V5OiBzdHJpbmc7IHRleHQ6IHN0cmluZyB9IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0a2V5OiB0aGlzLnBhdGhzW2luZGV4XSxcblx0XHRcdHRleHQ6IHRoaXMuZ2V0U2VsZWN0b3JJdGVtVGV4dChpbmRleCwgbWV0YUNvbnRleHQpXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgdGhlIElkIG9mIHRoZSBJbnZpc2libGVUZXh0IGNvbnRyb2wuXG5cdCAqIEByZXR1cm5zICBUaGUgSWRcblx0ICovXG5cdHByaXZhdGUgZ2V0U2VsZWN0b3JBcmlhTGFiZWxsZWRCeUlkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGdlbmVyYXRlKFtgJHt0aGlzLmlkfS1jb250ZW50YCwgXCJBcmlhVGV4dFwiXSk7XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIHRoZSB0ZXh0IGZvciB0aGUgc2VsZWN0b3IgaXRlbS5cblx0ICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgaXRlbSBpbnRvIHRoZSBzZWxlY3RvclxuXHQgKiBAcGFyYW0gbWV0YUNvbnRleHQgVGhlIG1ldGEgY29udGV4dFxuXHQgKiBAcmV0dXJucyAgVGhlIHRleHRcblx0ICovXG5cdHByaXZhdGUgZ2V0U2VsZWN0b3JJdGVtVGV4dChpbmRleDogbnVtYmVyLCBtZXRhQ29udGV4dDogQ29udGV4dCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY291bnRUZXh0ID0gYCAoe2ludGVybmFsPnF1aWNrRmlsdGVycy9jb3VudHMvJHtpbmRleH19KWA7XG5cdFx0Y29uc3QgZGF0YVRhYmxlTW9kZWxQYXRoID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG1ldGFDb250ZXh0KTtcblx0XHRjb25zdCBzZWxlY3Rpb25WYXJpYW50ID0gZW5oYW5jZURhdGFNb2RlbFBhdGgoZGF0YVRhYmxlTW9kZWxQYXRoLCB0aGlzLnBhdGhzW2luZGV4XSkudGFyZ2V0T2JqZWN0IGFzXG5cdFx0XHR8IFNlbGVjdGlvblZhcmlhbnRUeXBlXG5cdFx0XHR8IHVuZGVmaW5lZDtcblx0XHRjb25zdCB0ZXh0ID0gc2VsZWN0aW9uVmFyaWFudD8uVGV4dD8udG9TdHJpbmcoKSA/PyBcIlwiO1xuXHRcdHJldHVybiBgJHt0ZXh0fSR7dGhpcy5zaG93Q291bnRzID8gY291bnRUZXh0IDogXCJcIn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlZ2lzdGVycyB0aGUgU2lkZUVmZmVjdHMgY29udHJvbCB0aGF0IG11c3QgYmUgZXhlY3V0ZWQgd2hlbiB0YWJsZSBjZWxscyB0aGF0IGFyZSByZWxhdGVkIHRvIGNvbmZpZ3VyZWQgZmlsdGVyKHMpIGNoYW5nZS5cblx0ICogQHBhcmFtIG1ldGFQYXRoIFRoZSBtZXRhUGF0aC5cblx0ICogQHBhcmFtIGNvbnRleHRQYXRoIFRoZSBjb250ZXh0UGF0aC5cblx0ICovXG5cdHByaXZhdGUgcmVnaXN0ZXJTaWRlRWZmZWN0Rm9yUXVpY2tGaWx0ZXIobWV0YVBhdGg6IENvbnRleHQsIGNvbnRleHRQYXRoOiBDb250ZXh0KTogdm9pZCB7XG5cdFx0Y29uc3QgZGF0YVZpc3VhbGl6YXRpb25Nb2RlbFBhdGggPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMobWV0YVBhdGgsIGNvbnRleHRQYXRoKTtcblx0XHRjb25zdCB2aWV3RW50aXR5VHlwZSA9IGRhdGFWaXN1YWxpemF0aW9uTW9kZWxQYXRoLmNvbnRleHRMb2NhdGlvbj8udGFyZ2V0RW50aXR5VHlwZS5mdWxseVF1YWxpZmllZE5hbWU7XG5cdFx0Y29uc3QgdGFibGVOYXZpZ2F0aW9uUGF0aCA9IGdldFRhcmdldE5hdmlnYXRpb25QYXRoKGRhdGFWaXN1YWxpemF0aW9uTW9kZWxQYXRoLCB0cnVlKTtcblxuXHRcdGlmICh0YWJsZU5hdmlnYXRpb25QYXRoICYmIHZpZXdFbnRpdHlUeXBlKSB7XG5cdFx0XHRjb25zdCBzb3VyY2VQcm9wZXJ0aWVzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcblx0XHRcdGZvciAoY29uc3Qgc2VsZWN0aW9uVmFyaWFudFBhdGggb2YgdGhpcy5wYXRocykge1xuXHRcdFx0XHRjb25zdCBzZWxlY3Rpb25WYXJpYW50ID0gZW5oYW5jZURhdGFNb2RlbFBhdGgoZGF0YVZpc3VhbGl6YXRpb25Nb2RlbFBhdGgsIHNlbGVjdGlvblZhcmlhbnRQYXRoKVxuXHRcdFx0XHRcdC50YXJnZXRPYmplY3QgYXMgUGFydGlhbDxTZWxlY3Rpb25WYXJpYW50VHlwZVR5cGVzPjsgLy8gV2UgYXV0aG9yaXplIFNlbGVjdGlvblZhcmlhbnQgd2l0aG91dCBTZWxlY3RPcHRpb25zIGV2ZW4gaWYgaXQncyBub3QgY29tcGxpYW50IHdpdGggdm9jYWJ1bGFyaWVzXG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHRzZWxlY3Rpb25WYXJpYW50LlNlbGVjdE9wdGlvbnMgJiZcblx0XHRcdFx0XHRpc0Fubm90YXRpb25PZlR5cGU8U2VsZWN0aW9uVmFyaWFudD4oc2VsZWN0aW9uVmFyaWFudCwgVUlBbm5vdGF0aW9uVHlwZXMuU2VsZWN0aW9uVmFyaWFudFR5cGUpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdHNlbGVjdGlvblZhcmlhbnQuU2VsZWN0T3B0aW9ucy5mb3JFYWNoKChzZWxlY3RPcHRpb24pID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IHByb3BlcnR5UGF0aCA9IHNlbGVjdE9wdGlvbi5Qcm9wZXJ0eU5hbWU/LnZhbHVlO1xuXHRcdFx0XHRcdFx0aWYgKHByb3BlcnR5UGF0aCkge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBwcm9wZXJ0eU1vZGVsUGF0aCA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKGRhdGFWaXN1YWxpemF0aW9uTW9kZWxQYXRoLCBwcm9wZXJ0eVBhdGgpO1xuXHRcdFx0XHRcdFx0XHRzb3VyY2VQcm9wZXJ0aWVzLmFkZChnZXRUYXJnZXRPYmplY3RQYXRoKHByb3BlcnR5TW9kZWxQYXRoLCB0cnVlKSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkhXG5cdFx0XHRcdC5nZXRTaWRlRWZmZWN0c1NlcnZpY2UoKVxuXHRcdFx0XHQuYWRkQ29udHJvbFNpZGVFZmZlY3RzKHZpZXdFbnRpdHlUeXBlLCB7XG5cdFx0XHRcdFx0c291cmNlUHJvcGVydGllczogQXJyYXkuZnJvbShzb3VyY2VQcm9wZXJ0aWVzKSxcblx0XHRcdFx0XHR0YXJnZXRFbnRpdGllczogW1xuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHQkTmF2aWdhdGlvblByb3BlcnR5UGF0aDogdGFibGVOYXZpZ2F0aW9uUGF0aFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdF0sXG5cdFx0XHRcdFx0c291cmNlQ29udHJvbElkOiBgJHt0aGlzLmlkfS1jb250ZW50YFxuXHRcdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgaW52aXNpYmxlVGV4dCBmb3IgdGhlIGFjY2Vzc2liaWxpdHkgY29tcGxpYW5jZS5cblx0ICogQHJldHVybnMgIFRoZSBJbnZpc2libGVUZXh0XG5cdCAqL1xuXHRwcml2YXRlIGdldEFjY2Vzc2liaWxpdHlDb250cm9sKCk6IEludmlzaWJsZVRleHQge1xuXHRcdGNvbnN0IHRleHRCaW5kaW5nID0gYHtzYXAuZmUuaTE4bj5NX1RBQkxFX1FVSUNLRklMVEVSX0FSSUF9YDtcblx0XHRjb25zdCBpbnZpc2libGVUZXh0ID0gKDxJbnZpc2libGVUZXh0IHRleHQ9e3RleHRCaW5kaW5nfSBpZD17dGhpcy5nZXRTZWxlY3RvckFyaWFMYWJlbGxlZEJ5SWQoKX0gLz4pIGFzIEludmlzaWJsZVRleHQ7XG5cblx0XHQvL0FkZHMgdGhlIGludmlzaWJsZVRleHQgaW50byB0aGUgc3RhdGljLCBoaWRkZW4gYXJlYSBVSSBhcmVhIGNvbnRhaW5lci5cblx0XHRpbnZpc2libGVUZXh0LnRvU3RhdGljKCk7XG5cdFx0cmV0dXJuIGludmlzaWJsZVRleHQ7XG5cdH1cblxuXHRwcml2YXRlIGluaXRpYWxpemVDb250ZW50KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm1ldGFQYXRoKSB7XG5cdFx0XHRjb25zdCBtZXRhUGF0aE9iamVjdCA9IHRoaXMuZ2V0TWV0YVBhdGhPYmplY3QodGhpcy5tZXRhUGF0aCk7XG5cdFx0XHRpZiAobWV0YVBhdGhPYmplY3QpIHtcblx0XHRcdFx0Y29uc3Qgb2RhdGFNZXRhTW9kZWwgPSB0aGlzLl9nZXRPd25lcigpPy5nZXRNZXRhTW9kZWwoKTtcblx0XHRcdFx0Y29uc3QgbWV0YUNvbnRleHQgPSBvZGF0YU1ldGFNb2RlbD8uY3JlYXRlQmluZGluZ0NvbnRleHQobWV0YVBhdGhPYmplY3QuZ2V0UGF0aCgpKTtcblx0XHRcdFx0Y29uc3QgY29udGV4dCA9IG9kYXRhTWV0YU1vZGVsPy5jcmVhdGVCaW5kaW5nQ29udGV4dChtZXRhUGF0aE9iamVjdC5nZXRDb250ZXh0UGF0aCgpKTtcblx0XHRcdFx0aWYgKCFtZXRhQ29udGV4dCB8fCAhY29udGV4dCkge1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICh0aGlzLnNob3dDb3VudHMpIHtcblx0XHRcdFx0XHR0aGlzLnJlZ2lzdGVyU2lkZUVmZmVjdEZvclF1aWNrRmlsdGVyKG1ldGFDb250ZXh0LCBjb250ZXh0KTtcblx0XHRcdFx0fVxuXHRcdFx0XHQvKipcblx0XHRcdFx0ICogVGhlIG51bWJlciBvZiB2aWV3cyBkZWZpbmVkIGZvciBhIHRhYmxlIGRldGVybWluZXMgdGhlIFVJIGNvbnRyb2wgdGhhdCBsZXRzIHVzZXJzIHN3aXRjaCB0aGUgdGFibGUgdmlld3M6XG5cdFx0XHRcdCAqICAtIEEgc2VnbWVudGVkIGJ1dHRvbiBmb3IgYSBtYXhpbXVtIG9mIHRocmVlIHZpZXdzXG5cdFx0XHRcdCAqICAtIEEgc2VsZWN0IGNvbnRyb2wgZm9yIGZvdXIgb3IgbW9yZSB2aWV3cy5cblx0XHRcdFx0ICovXG5cblx0XHRcdFx0Y29uc3Qgc2VsZWN0b3IgPSB0aGlzLnBhdGhzLmxlbmd0aCA+IDMgPyB0aGlzLmdldFNlbGVjdFNlbGVjdG9yKG1ldGFDb250ZXh0KSA6IHRoaXMuZ2V0U2VnbWVudGVkQnV0dG9uU2VsZWN0b3IobWV0YUNvbnRleHQpO1xuXHRcdFx0XHRzZWxlY3Rvci5hZGREZXBlbmRlbnQodGhpcy5nZXRBY2Nlc3NpYmlsaXR5Q29udHJvbCgpKTtcblx0XHRcdFx0dGhpcy5jb250ZW50ID0gc2VsZWN0b3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGdldE1EQ1RhYmxlKCk6IFRhYmxlIHtcblx0XHRpZiAoIXRoaXMubWRjVGFibGUpIHtcblx0XHRcdGxldCBjdXJyZW50Q29udHJvbDogQ29udHJvbCB8IHVuZGVmaW5lZCA9IHRoaXMuY29udGVudDtcblx0XHRcdHdoaWxlIChjdXJyZW50Q29udHJvbCAmJiAhY3VycmVudENvbnRyb2wuaXNBPFRhYmxlPihcInNhcC51aS5tZGMuVGFibGVcIikpIHtcblx0XHRcdFx0Y3VycmVudENvbnRyb2wgPSBjdXJyZW50Q29udHJvbC5nZXRQYXJlbnQoKSBhcyBDb250cm9sIHwgdW5kZWZpbmVkO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5tZGNUYWJsZSA9IGN1cnJlbnRDb250cm9sIGFzIFRhYmxlO1xuXHRcdFx0cmV0dXJuIHRoaXMubWRjVGFibGU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB0aGlzLm1kY1RhYmxlO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBrZXkgb2YgdGhlIHNlbGVjdGVkIGl0ZW0gKG9yIHRoZSBrZXkgb2YgdGhlIGZpcnN0IGl0ZW0gaWYgdGhlcmUncyBubyBzZWxlY3Rpb24pLlxuXHQgKiBAcmV0dXJucyBUaGUgc2VsZWN0ZWQga2V5XG5cdCAqL1xuXHRnZXRTZWxlY3RlZEtleSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLmNvbnRlbnQ/LmdldFNlbGVjdGVkS2V5KCkgfHwgdGhpcy5jb250ZW50Py5nZXRJdGVtcygpWzBdLmdldEtleSgpIHx8IFwiXCI7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgc2VsZWN0ZWQga2V5LlxuXHQgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGl0ZW0gdG8gYmUgc2VsZWN0ZWRcblx0ICovXG5cdHNldFNlbGVjdGVkS2V5KGtleTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5jb250ZW50Py5zZXRTZWxlY3RlZEtleShrZXkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvdW50IGluIGEgcGVuZGluZyBzdGF0ZS5cblx0ICovXG5cdHNldENvdW50c0FzTG9hZGluZygpOiB2b2lkIHtcblx0XHRjb25zdCBxdWlja0ZpbHRlckNvdW50cyA9IHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cdFx0Y29uc3QgaW50ZXJuYWxDb250ZXh0ID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpIGFzIENvbnRleHQ7XG5cblx0XHRmb3IgKGNvbnN0IGsgaW4gdGhpcy5jb250ZW50Py5nZXRJdGVtcygpKSB7XG5cdFx0XHRxdWlja0ZpbHRlckNvdW50c1trXSA9IFwiLi4uXCI7XG5cdFx0fVxuXHRcdGludGVybmFsQ29udGV4dC5zZXRQcm9wZXJ0eShcInF1aWNrRmlsdGVyc1wiLCB7IGNvdW50czogcXVpY2tGaWx0ZXJDb3VudHMgfSk7XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlcyB0aGUgY291bnQgb2YgdGhlIHNlbGVjdGVkIGl0ZW0uXG5cdCAqL1xuXHRyZWZyZXNoU2VsZWN0ZWRDb3VudCgpOiB2b2lkIHtcblx0XHRjb25zdCBjb3VudCA9IHRoaXMuZ2V0TURDVGFibGUoKS5nZXRSb3dCaW5kaW5nKCkuZ2V0Q291bnQoKTtcblxuXHRcdGlmICh0aGlzLnNob3dDb3VudHMgPT09IHRydWUgJiYgY291bnQgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Y29uc3QgaXRlbUluZGV4ID0gdGhpcy5jb250ZW50Py5nZXRJdGVtcygpLmZpbmRJbmRleCgoc2VsZWN0b3JJdGVtKSA9PiBzZWxlY3Rvckl0ZW0uZ2V0S2V5KCkgPT09IHRoaXMuZ2V0U2VsZWN0ZWRLZXkoKSk7XG5cdFx0XHRpZiAoaXRlbUluZGV4ICE9PSB1bmRlZmluZWQgJiYgaXRlbUluZGV4ID4gLTEpIHtcblx0XHRcdFx0dGhpcy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpPy5zZXRQcm9wZXJ0eShgcXVpY2tGaWx0ZXJzL2NvdW50cy8ke2l0ZW1JbmRleH1gLCBUYWJsZVV0aWxzLmdldENvdW50Rm9ybWF0dGVkKGNvdW50KSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZXMgdGhlIGNvdW50cyBvZiB0aGUgdW5zZWxlY3RlZCBpdGVtcy5cblx0ICogQHJldHVybnMgIFByb21pc2UgcmVzb2x2ZXMgb25jZSB0aGUgY291bnQgYXJlIHVwZGF0ZWRcblx0ICovXG5cdGFzeW5jIHJlZnJlc2hVblNlbGVjdGVkQ291bnRzKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICghdGhpcy5jb250ZW50KSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdFx0fVxuXHRcdGNvbnN0IHRhYmxlID0gdGhpcy5nZXRNRENUYWJsZSgpO1xuXHRcdGNvbnN0IGl0ZW1zID0gdGhpcy5jb250ZW50LmdldEl0ZW1zKCk7XG5cdFx0Y29uc3QgaW50ZXJuYWxDb250ZXh0ID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpIGFzIENvbnRleHQ7XG5cdFx0Y29uc3QgY29udHJvbGxlciA9IHRoaXMuZ2V0UGFnZUNvbnRyb2xsZXIoKTtcblx0XHRjb25zdCBjaGFydCA9IChjb250cm9sbGVyIGFzIFBhZ2VDb250cm9sbGVyICYgeyBnZXRDaGFydENvbnRyb2w/OiBGdW5jdGlvbiB9KS5nZXRDaGFydENvbnRyb2w/LigpO1xuXHRcdGNvbnN0IGNoYXJ0QmxvY2sgPSBjaGFydD8uZ2V0UGFyZW50KCk7XG5cblx0XHRjb25zdCBzZXRJdGVtQ291bnRzID0gYXN5bmMgKGl0ZW06IEl0ZW0pOiBQcm9taXNlPHZvaWQ+ID0+IHtcblx0XHRcdGNvbnN0IGl0ZW1LZXkgPSBpdGVtLmdldEtleSgpO1xuXHRcdFx0Y29uc3QgaXRlbUZpbHRlcnMgPSBDb21tb25VdGlscy5nZXRGaWx0ZXJzRnJvbUFubm90YXRpb24odGFibGUsIGl0ZW1LZXkpO1xuXHRcdFx0Y29uc3QgY291bnQgPSBhd2FpdCBUYWJsZVV0aWxzLmdldExpc3RCaW5kaW5nRm9yQ291bnQodGFibGUsIHRhYmxlLmdldEJpbmRpbmdDb250ZXh0KCksIHtcblx0XHRcdFx0YmF0Y2hHcm91cElkOiBcIiRhdXRvXCIsXG5cdFx0XHRcdGFkZGl0aW9uYWxGaWx0ZXJzOiBbLi4uYmFzZVRhYmxlRmlsdGVycywgLi4uaXRlbUZpbHRlcnNdXG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IGl0ZW1JbmRleCA9IGl0ZW1zLmZpbmRJbmRleCgoc2VsZWN0b3JJdGVtKSA9PiBzZWxlY3Rvckl0ZW0uZ2V0S2V5KCkgPT09IGl0ZW1LZXkpO1xuXHRcdFx0aWYgKGl0ZW1JbmRleCA+IC0xKSB7XG5cdFx0XHRcdGludGVybmFsQ29udGV4dC5zZXRQcm9wZXJ0eShgcXVpY2tGaWx0ZXJzL2NvdW50cy8ke2l0ZW1JbmRleH1gLCBUYWJsZVV0aWxzLmdldENvdW50Rm9ybWF0dGVkKGNvdW50KSk7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdGNvbnN0IGNoYXJ0RmlsdGVyID0gY2hhcnRCbG9jaz8uaGFzU2VsZWN0aW9ucygpICYmIGNoYXJ0QmxvY2s/LmdldEZpbHRlcigpO1xuXHRcdGNvbnN0IGJhc2VUYWJsZUZpbHRlcnMgPSBUYWJsZVV0aWxzLmdldEhpZGRlbkZpbHRlcnModGFibGUpO1xuXHRcdGlmIChjaGFydEZpbHRlcikge1xuXHRcdFx0YmFzZVRhYmxlRmlsdGVycy5wdXNoKGNoYXJ0RmlsdGVyKTtcblx0XHR9XG5cdFx0Y29uc3QgYmluZGluZ1Byb21pc2VzID0gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmdldEtleSgpICE9PSB0aGlzLmdldFNlbGVjdGVkS2V5KCkpLm1hcChhc3luYyAoaXRlbSkgPT4gc2V0SXRlbUNvdW50cyhpdGVtKSk7XG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IFByb21pc2UuYWxsKGJpbmRpbmdQcm9taXNlcyk7XG5cdFx0fSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcblx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIHJldHJpZXZpbmcgdGhlIGJpbmRpbmcgcHJvbWlzZXNcIiwgZXJyb3IgYXMgc3RyaW5nKTtcblx0XHR9XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBd0JBO0FBQ0E7QUFDQTtFQUZBLElBSXFCQSxtQkFBbUIsSUFBQUMsSUFBQSxHQUR2Q0MsY0FBYyxDQUFDLHlDQUF5QyxDQUFDLEVBQUFDLEtBQUEsR0FFeERDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU01QkYsUUFBUSxDQUFDO0lB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
|
|
374
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWlja0ZpbHRlclNlbGVjdG9yIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiaW50ZXJmYWNlcyIsIl9kZWMyIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwiX2RlYzMiLCJwcm9wZXJ0eSIsInR5cGUiLCJfZGVjNCIsIl9kZWM1IiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZ2V0VG9vbGJhckludGVyYWN0aXZlIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsIm9uTWV0YWRhdGFBdmFpbGFibGUiLCJtZXRhRGF0YUF2YWlsYWJsZSIsImNvbnRlbnQiLCJtZXRhUGF0aCIsImluaXRpYWxpemVDb250ZW50IiwiZ2V0T3ZlcmZsb3dUb29sYmFyQ29uZmlnIiwiY2FuT3ZlcmZsb3ciLCJzZXRNZXRhUGF0aCIsIm9uU2VsQ2hhbmdlIiwidGFibGVBUEkiLCJnZXRNRENUYWJsZSIsImdldFBhcmVudCIsImlzQSIsIm9uUXVpY2tGaWx0ZXJTZWxlY3Rpb25DaGFuZ2UiLCJnZXRTZWdtZW50ZWRCdXR0b25TZWxlY3RvciIsIm1ldGFDb250ZXh0IiwiaXRlbXMiLCJwYXRocyIsIm1hcCIsInBhdGgiLCJpbmRleCIsIl9qc3giLCJTZWdtZW50ZWRCdXR0b25JdGVtIiwiZ2V0U2VsZWN0b3JJdGVtUHJvcGVydGllcyIsIlNlZ21lbnRlZEJ1dHRvbiIsImlkIiwiZW5hYmxlZCIsIm5vdEVxdWFsIiwicGF0aEluTW9kZWwiLCJhcmlhTGFiZWxsZWRCeSIsImdldFNlbGVjdG9yQXJpYUxhYmVsbGVkQnlJZCIsInNlbGVjdGlvbkNoYW5nZSIsImJpbmQiLCJjaGlsZHJlbiIsImdldFNlbGVjdFNlbGVjdG9yIiwiSXRlbSIsIlNlbGVjdCIsImF1dG9BZGp1c3RXaWR0aCIsImNoYW5nZSIsImtleSIsInRleHQiLCJnZXRTZWxlY3Rvckl0ZW1UZXh0IiwiZ2VuZXJhdGUiLCJjb3VudFRleHQiLCJkYXRhVGFibGVNb2RlbFBhdGgiLCJnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJzZWxlY3Rpb25WYXJpYW50IiwiZW5oYW5jZURhdGFNb2RlbFBhdGgiLCJ0YXJnZXRPYmplY3QiLCJUZXh0IiwidG9TdHJpbmciLCJzaG93Q291bnRzIiwicmVnaXN0ZXJTaWRlRWZmZWN0Rm9yUXVpY2tGaWx0ZXIiLCJjb250ZXh0UGF0aCIsImRhdGFWaXN1YWxpemF0aW9uTW9kZWxQYXRoIiwidmlld0VudGl0eVR5cGUiLCJjb250ZXh0TG9jYXRpb24iLCJ0YXJnZXRFbnRpdHlUeXBlIiwiZnVsbHlRdWFsaWZpZWROYW1lIiwidGFibGVOYXZpZ2F0aW9uUGF0aCIsImdldFRhcmdldE5hdmlnYXRpb25QYXRoIiwic291cmNlUHJvcGVydGllcyIsIlNldCIsInNlbGVjdGlvblZhcmlhbnRQYXRoIiwiU2VsZWN0T3B0aW9ucyIsImlzQW5ub3RhdGlvbk9mVHlwZSIsImZvckVhY2giLCJzZWxlY3RPcHRpb24iLCJwcm9wZXJ0eVBhdGgiLCJQcm9wZXJ0eU5hbWUiLCJ2YWx1ZSIsInByb3BlcnR5TW9kZWxQYXRoIiwiYWRkIiwiZ2V0VGFyZ2V0T2JqZWN0UGF0aCIsImdldEFwcENvbXBvbmVudCIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsImFkZENvbnRyb2xTaWRlRWZmZWN0cyIsIkFycmF5IiwiZnJvbSIsInRhcmdldEVudGl0aWVzIiwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgiLCJzb3VyY2VDb250cm9sSWQiLCJnZXRBY2Nlc3NpYmlsaXR5Q29udHJvbCIsInRleHRCaW5kaW5nIiwiaW52aXNpYmxlVGV4dCIsIkludmlzaWJsZVRleHQiLCJ0b1N0YXRpYyIsIm1ldGFQYXRoT2JqZWN0IiwiZ2V0TWV0YVBhdGhPYmplY3QiLCJvZGF0YU1ldGFNb2RlbCIsIl9nZXRPd25lciIsImdldE1ldGFNb2RlbCIsImNyZWF0ZUJpbmRpbmdDb250ZXh0IiwiZ2V0UGF0aCIsImNvbnRleHQiLCJnZXRDb250ZXh0UGF0aCIsInNlbGVjdG9yIiwibGVuZ3RoIiwiYWRkRGVwZW5kZW50IiwibWRjVGFibGUiLCJjdXJyZW50Q29udHJvbCIsImdldFNlbGVjdGVkS2V5IiwiZ2V0SXRlbXMiLCJnZXRLZXkiLCJzZXRTZWxlY3RlZEtleSIsInNldENvdW50c0FzTG9hZGluZyIsInF1aWNrRmlsdGVyQ291bnRzIiwiaW50ZXJuYWxDb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJrIiwic2V0UHJvcGVydHkiLCJjb3VudHMiLCJyZWZyZXNoU2VsZWN0ZWRDb3VudCIsImNvdW50IiwiZ2V0Um93QmluZGluZyIsImdldENvdW50IiwidW5kZWZpbmVkIiwiaXRlbUluZGV4IiwiZmluZEluZGV4Iiwic2VsZWN0b3JJdGVtIiwiVGFibGVVdGlscyIsImdldENvdW50Rm9ybWF0dGVkIiwicmVmcmVzaFVuU2VsZWN0ZWRDb3VudHMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRhYmxlIiwiY29udHJvbGxlciIsImdldFBhZ2VDb250cm9sbGVyIiwiY2hhcnQiLCJnZXRDaGFydENvbnRyb2wiLCJjaGFydEJsb2NrIiwic2V0SXRlbUNvdW50cyIsIml0ZW0iLCJpdGVtS2V5IiwiaXRlbUZpbHRlcnMiLCJDb21tb25VdGlscyIsImdldEZpbHRlcnNGcm9tQW5ub3RhdGlvbiIsImdldExpc3RCaW5kaW5nRm9yQ291bnQiLCJiYXRjaEdyb3VwSWQiLCJhZGRpdGlvbmFsRmlsdGVycyIsImJhc2VUYWJsZUZpbHRlcnMiLCJjaGFydEZpbHRlciIsImhhc1NlbGVjdGlvbnMiLCJnZXRGaWx0ZXIiLCJnZXRIaWRkZW5GaWx0ZXJzIiwicHVzaCIsImJpbmRpbmdQcm9taXNlcyIsImZpbHRlciIsImFsbCIsImVycm9yIiwiTG9nIiwiQnVpbGRpbmdCbG9jayIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiUXVpY2tGaWx0ZXJTZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZWxlY3Rpb25WYXJpYW50LCBTZWxlY3Rpb25WYXJpYW50VHlwZSwgU2VsZWN0aW9uVmFyaWFudFR5cGVUeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IFVJQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgeyBub3RFcXVhbCwgcGF0aEluTW9kZWwgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBpbXBsZW1lbnRJbnRlcmZhY2UsIHByb3BlcnR5LCB0eXBlIFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCB7IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHsgaXNBbm5vdGF0aW9uT2ZUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IHsgZW5oYW5jZURhdGFNb2RlbFBhdGgsIGdldFRhcmdldE5hdmlnYXRpb25QYXRoLCBnZXRUYXJnZXRPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IFRhYmxlVXRpbHMgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVXRpbHNcIjtcbmltcG9ydCBTZWdtZW50ZWRCdXR0b24gZnJvbSBcInNhcC9tL1NlZ21lbnRlZEJ1dHRvblwiO1xuaW1wb3J0IFNlZ21lbnRlZEJ1dHRvbkl0ZW0gZnJvbSBcInNhcC9tL1NlZ21lbnRlZEJ1dHRvbkl0ZW1cIjtcbmltcG9ydCBTZWxlY3QgZnJvbSBcInNhcC9tL1NlbGVjdFwiO1xuaW1wb3J0IHR5cGUgeyBJT3ZlcmZsb3dUb29sYmFyQ29udGVudCwgT3ZlcmZsb3dUb29sYmFyQ29uZmlnIH0gZnJvbSBcInNhcC9tL2xpYnJhcnlcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB7IHR5cGUgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgSW52aXNpYmxlVGV4dCBmcm9tIFwic2FwL3VpL2NvcmUvSW52aXNpYmxlVGV4dFwiO1xuaW1wb3J0IEl0ZW0gZnJvbSBcInNhcC91aS9jb3JlL0l0ZW1cIjtcbmltcG9ydCB0eXBlIFRhYmxlIGZyb20gXCJzYXAvdWkvbWRjL1RhYmxlXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgVGFibGVBUEkgZnJvbSBcIi4vVGFibGVBUElcIjtcblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIHRoZSBxdWlja1ZhcmlhbnRTZWxlY3Rpb24gdG8gYmUgdXNlZCBpbnNpZGUgdGhlIHRhYmxlLlxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLnRhYmxlLlF1aWNrRmlsdGVyU2VsZWN0b3JcIiwge1xuXHRpbnRlcmZhY2VzOiBbXCJzYXAubS5JVG9vbGJhckludGVyYWN0aXZlQ29udHJvbFwiXVxufSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFF1aWNrRmlsdGVyU2VsZWN0b3IgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrPFNlZ21lbnRlZEJ1dHRvbiB8IFNlbGVjdD4gaW1wbGVtZW50cyBJT3ZlcmZsb3dUb29sYmFyQ29udGVudCB7XG5cdEBpbXBsZW1lbnRJbnRlcmZhY2UoXCJzYXAubS5JT3ZlcmZsb3dUb29sYmFyQ29udGVudFwiKVxuXHRfX2ltcGxlbWVudHNfX3NhcF9tX0lPdmVyZmxvd1Rvb2xiYXJDb250ZW50ID0gdHJ1ZTtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGlkITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBsaXN0IG9mIHBhdGhzIHBvaW50aW5nIHRvIHRoZSBzZWxlY3Rpb24gdmFyaWFudHMgdGhhdCBzaG91bGQgYmUgdXNlZCBhcyBxdWljayBmaWx0ZXJzXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1tdXCIgfSlcblx0cGF0aHMhOiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogRGVmaW5lcyB3aGV0aGVyIHRoZSBjb3VudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBuZXh0IHRvIHRoZSB0ZXh0XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93Q291bnRzID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBtZXRhUGF0aD86IHN0cmluZztcblxuXHRwcml2YXRlIG1ldGFEYXRhQXZhaWxhYmxlPzogYm9vbGVhbjtcblxuXHRwcm90ZWN0ZWQgbWRjVGFibGU/OiBUYWJsZTtcblxuXHRjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzOiAkQ29udHJvbFNldHRpbmdzICYgUHJvcGVydGllc09mPFF1aWNrRmlsdGVyU2VsZWN0b3I+LCBvdGhlcnM/OiAkQ29udHJvbFNldHRpbmdzKSB7XG5cdFx0c3VwZXIocHJvcGVydGllcywgb3RoZXJzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBIYW5kbGVyIGZvciB0aGUgb25NZXRhZGF0YUF2YWlsYWJsZSBldmVudC5cblx0ICovXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoKTogdm9pZCB7XG5cdFx0dGhpcy5tZXRhRGF0YUF2YWlsYWJsZSA9IHRydWU7XG5cdFx0aWYgKCF0aGlzLmNvbnRlbnQgJiYgdGhpcy5tZXRhUGF0aCkge1xuXHRcdFx0dGhpcy5pbml0aWFsaXplQ29udGVudCgpO1xuXHRcdH1cblx0fVxuXG5cdGdldE92ZXJmbG93VG9vbGJhckNvbmZpZygpOiBPdmVyZmxvd1Rvb2xiYXJDb25maWcge1xuXHRcdHJldHVybiB7XG5cdFx0XHRjYW5PdmVyZmxvdzogdHJ1ZVxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgbWV0YVBhdGguXG5cdCAqIEBwYXJhbSBtZXRhUGF0aCBUaGUgbWV0YVBhdGhcblx0ICovXG5cdHNldE1ldGFQYXRoKG1ldGFQYXRoOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm1ldGFQYXRoID0gbWV0YVBhdGg7XG5cdFx0aWYgKCF0aGlzLmNvbnRlbnQgJiYgdGhpcy5tZXRhRGF0YUF2YWlsYWJsZSA9PT0gdHJ1ZSkge1xuXHRcdFx0dGhpcy5pbml0aWFsaXplQ29udGVudCgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBIYW5kbGVyIGZvciB0aGUgc2VsZWN0aW9uIGNoYW5nZSBldmVudC5cblx0ICovXG5cdHByaXZhdGUgb25TZWxDaGFuZ2UoKTogdm9pZCB7XG5cdFx0Y29uc3QgdGFibGVBUEkgPSB0aGlzLmdldE1EQ1RhYmxlKCkuZ2V0UGFyZW50KCk7XG5cdFx0aWYgKHRhYmxlQVBJPy5pc0E8VGFibGVBUEk+KFwic2FwLmZlLm1hY3Jvcy50YWJsZS5UYWJsZUFQSVwiKSkge1xuXHRcdFx0dGFibGVBUEkub25RdWlja0ZpbHRlclNlbGVjdGlvbkNoYW5nZSgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgdGhlIHNlbGVjdG9yIGFzIGEgU2VnbWVudGVkQnV0dG9uLlxuXHQgKiBAcGFyYW0gbWV0YUNvbnRleHQgVGhlIG1ldGEgY29udGV4dFxuXHQgKiBAcmV0dXJucyAgVGhlIFNlZ21lbnRlZEJ1dHRvblxuXHQgKi9cblx0cHJpdmF0ZSBnZXRTZWdtZW50ZWRCdXR0b25TZWxlY3RvcihtZXRhQ29udGV4dDogQ29udGV4dCk6IFNlZ21lbnRlZEJ1dHRvbiB7XG5cdFx0Y29uc3QgaXRlbXMgPSB0aGlzLnBhdGhzLm1hcCgocGF0aCwgaW5kZXgpID0+IHtcblx0XHRcdHJldHVybiAoPFNlZ21lbnRlZEJ1dHRvbkl0ZW0gey4uLnRoaXMuZ2V0U2VsZWN0b3JJdGVtUHJvcGVydGllcyhpbmRleCwgbWV0YUNvbnRleHQpfSAvPikgYXMgU2VnbWVudGVkQnV0dG9uSXRlbTtcblx0XHR9KTtcblx0XHRyZXR1cm4gKFxuXHRcdFx0PFNlZ21lbnRlZEJ1dHRvblxuXHRcdFx0XHRpZD17YCR7dGhpcy5pZH0tY29udGVudGB9XG5cdFx0XHRcdGVuYWJsZWQ9e25vdEVxdWFsKHBhdGhJbk1vZGVsKFwiaGFzUGVuZGluZ0ZpbHRlcnNcIiwgXCJwYWdlSW50ZXJuYWxcIiksIHRydWUpfVxuXHRcdFx0XHRhcmlhTGFiZWxsZWRCeT17W3RoaXMuZ2V0U2VsZWN0b3JBcmlhTGFiZWxsZWRCeUlkKCldfVxuXHRcdFx0XHRzZWxlY3Rpb25DaGFuZ2U9e3RoaXMub25TZWxDaGFuZ2UuYmluZCh0aGlzKX1cblx0XHRcdD5cblx0XHRcdFx0e3tcblx0XHRcdFx0XHRpdGVtc1xuXHRcdFx0XHR9fVxuXHRcdFx0PC9TZWdtZW50ZWRCdXR0b24+XG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXF1aXJlZCBieSB0aGUge0BsaW5rIHNhcC5tLklUb29sYmFySW50ZXJhY3RpdmVDb250cm9sfSBpbnRlcmZhY2UuXG5cdCAqIERldGVybWluZXMgaWYgdGhlIENvbnRyb2wgaXMgaW50ZXJhY3RpdmUuXG5cdCAqIEByZXR1cm5zIElmIGl0IGlzIGFuIGludGVyYWN0aXZlIENvbnRyb2xcblx0ICovXG5cdF9nZXRUb29sYmFySW50ZXJhY3RpdmUgPSAoKTogYm9vbGVhbiA9PiB0cnVlO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgdGhlIHNlbGVjdG9yIGFzIGEgU2VsZWN0LlxuXHQgKiBAcGFyYW0gbWV0YUNvbnRleHQgVGhlIG1ldGEgY29udGV4dFxuXHQgKiBAcmV0dXJucyAgVGhlIFNlbGVjdFxuXHQgKi9cblx0cHJpdmF0ZSBnZXRTZWxlY3RTZWxlY3RvcihtZXRhQ29udGV4dDogQ29udGV4dCk6IFNlbGVjdCB7XG5cdFx0Y29uc3QgaXRlbXMgPSB0aGlzLnBhdGhzLm1hcCgocGF0aCwgaW5kZXgpID0+IHtcblx0XHRcdHJldHVybiAoPEl0ZW0gey4uLnRoaXMuZ2V0U2VsZWN0b3JJdGVtUHJvcGVydGllcyhpbmRleCwgbWV0YUNvbnRleHQpfSAvPikgYXMgSXRlbTtcblx0XHR9KTtcblx0XHRyZXR1cm4gKFxuXHRcdFx0PFNlbGVjdFxuXHRcdFx0XHRpZD17YCR7dGhpcy5pZH0tY29udGVudGB9XG5cdFx0XHRcdGVuYWJsZWQ9e25vdEVxdWFsKHBhdGhJbk1vZGVsKFwiaGFzUGVuZGluZ0ZpbHRlcnNcIiwgXCJwYWdlSW50ZXJuYWxcIiksIHRydWUpfVxuXHRcdFx0XHRhcmlhTGFiZWxsZWRCeT17W3RoaXMuZ2V0U2VsZWN0b3JBcmlhTGFiZWxsZWRCeUlkKCldfVxuXHRcdFx0XHRhdXRvQWRqdXN0V2lkdGg9e3RydWV9XG5cdFx0XHRcdGNoYW5nZT17dGhpcy5vblNlbENoYW5nZS5iaW5kKHRoaXMpfVxuXHRcdFx0PlxuXHRcdFx0XHR7e1xuXHRcdFx0XHRcdGl0ZW1zXG5cdFx0XHRcdH19XG5cdFx0XHQ8L1NlbGVjdD5cblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHByb3BlcnRpZXMgb2YgdGhlIHNlbGVjdG9yIEl0ZW0uXG5cdCAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGl0ZW0gaW50byB0aGUgc2VsZWN0b3Jcblx0ICogQHBhcmFtIG1ldGFDb250ZXh0IFRoZSBtZXRhIGNvbnRleHRcblx0ICogQHJldHVybnMgIFRoZSBwcm9wZXJ0aWVzXG5cdCAqL1xuXHRwcml2YXRlIGdldFNlbGVjdG9ySXRlbVByb3BlcnRpZXMoaW5kZXg6IG51bWJlciwgbWV0YUNvbnRleHQ6IENvbnRleHQpOiB7IGtleTogc3RyaW5nOyB0ZXh0OiBzdHJpbmcgfSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGtleTogdGhpcy5wYXRoc1tpbmRleF0sXG5cdFx0XHR0ZXh0OiB0aGlzLmdldFNlbGVjdG9ySXRlbVRleHQoaW5kZXgsIG1ldGFDb250ZXh0KVxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIHRoZSBJZCBvZiB0aGUgSW52aXNpYmxlVGV4dCBjb250cm9sLlxuXHQgKiBAcmV0dXJucyAgVGhlIElkXG5cdCAqL1xuXHRwcml2YXRlIGdldFNlbGVjdG9yQXJpYUxhYmVsbGVkQnlJZCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBnZW5lcmF0ZShbYCR7dGhpcy5pZH0tY29udGVudGAsIFwiQXJpYVRleHRcIl0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyB0aGUgdGV4dCBmb3IgdGhlIHNlbGVjdG9yIGl0ZW0uXG5cdCAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGl0ZW0gaW50byB0aGUgc2VsZWN0b3Jcblx0ICogQHBhcmFtIG1ldGFDb250ZXh0IFRoZSBtZXRhIGNvbnRleHRcblx0ICogQHJldHVybnMgIFRoZSB0ZXh0XG5cdCAqL1xuXHRwcml2YXRlIGdldFNlbGVjdG9ySXRlbVRleHQoaW5kZXg6IG51bWJlciwgbWV0YUNvbnRleHQ6IENvbnRleHQpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvdW50VGV4dCA9IGAgKHtpbnRlcm5hbD5xdWlja0ZpbHRlcnMvY291bnRzLyR7aW5kZXh9fSlgO1xuXHRcdGNvbnN0IGRhdGFUYWJsZU1vZGVsUGF0aCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyhtZXRhQ29udGV4dCk7XG5cdFx0Y29uc3Qgc2VsZWN0aW9uVmFyaWFudCA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKGRhdGFUYWJsZU1vZGVsUGF0aCwgdGhpcy5wYXRoc1tpbmRleF0pLnRhcmdldE9iamVjdCBhc1xuXHRcdFx0fCBTZWxlY3Rpb25WYXJpYW50VHlwZVxuXHRcdFx0fCB1bmRlZmluZWQ7XG5cdFx0Y29uc3QgdGV4dCA9IHNlbGVjdGlvblZhcmlhbnQ/LlRleHQ/LnRvU3RyaW5nKCkgPz8gXCJcIjtcblx0XHRyZXR1cm4gYCR7dGV4dH0ke3RoaXMuc2hvd0NvdW50cyA/IGNvdW50VGV4dCA6IFwiXCJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWdpc3RlcnMgdGhlIFNpZGVFZmZlY3RzIGNvbnRyb2wgdGhhdCBtdXN0IGJlIGV4ZWN1dGVkIHdoZW4gdGFibGUgY2VsbHMgdGhhdCBhcmUgcmVsYXRlZCB0byBjb25maWd1cmVkIGZpbHRlcihzKSBjaGFuZ2UuXG5cdCAqIEBwYXJhbSBtZXRhUGF0aCBUaGUgbWV0YVBhdGguXG5cdCAqIEBwYXJhbSBjb250ZXh0UGF0aCBUaGUgY29udGV4dFBhdGguXG5cdCAqL1xuXHRwcml2YXRlIHJlZ2lzdGVyU2lkZUVmZmVjdEZvclF1aWNrRmlsdGVyKG1ldGFQYXRoOiBDb250ZXh0LCBjb250ZXh0UGF0aDogQ29udGV4dCk6IHZvaWQge1xuXHRcdGNvbnN0IGRhdGFWaXN1YWxpemF0aW9uTW9kZWxQYXRoID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG1ldGFQYXRoLCBjb250ZXh0UGF0aCk7XG5cdFx0Y29uc3Qgdmlld0VudGl0eVR5cGUgPSBkYXRhVmlzdWFsaXphdGlvbk1vZGVsUGF0aC5jb250ZXh0TG9jYXRpb24/LnRhcmdldEVudGl0eVR5cGUuZnVsbHlRdWFsaWZpZWROYW1lO1xuXHRcdGNvbnN0IHRhYmxlTmF2aWdhdGlvblBhdGggPSBnZXRUYXJnZXROYXZpZ2F0aW9uUGF0aChkYXRhVmlzdWFsaXphdGlvbk1vZGVsUGF0aCwgdHJ1ZSk7XG5cblx0XHRpZiAodGFibGVOYXZpZ2F0aW9uUGF0aCAmJiB2aWV3RW50aXR5VHlwZSkge1xuXHRcdFx0Y29uc3Qgc291cmNlUHJvcGVydGllczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG5cdFx0XHRmb3IgKGNvbnN0IHNlbGVjdGlvblZhcmlhbnRQYXRoIG9mIHRoaXMucGF0aHMpIHtcblx0XHRcdFx0Y29uc3Qgc2VsZWN0aW9uVmFyaWFudCA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKGRhdGFWaXN1YWxpemF0aW9uTW9kZWxQYXRoLCBzZWxlY3Rpb25WYXJpYW50UGF0aClcblx0XHRcdFx0XHQudGFyZ2V0T2JqZWN0IGFzIFBhcnRpYWw8U2VsZWN0aW9uVmFyaWFudFR5cGVUeXBlcz47IC8vIFdlIGF1dGhvcml6ZSBTZWxlY3Rpb25WYXJpYW50IHdpdGhvdXQgU2VsZWN0T3B0aW9ucyBldmVuIGlmIGl0J3Mgbm90IGNvbXBsaWFudCB3aXRoIHZvY2FidWxhcmllc1xuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0c2VsZWN0aW9uVmFyaWFudC5TZWxlY3RPcHRpb25zICYmXG5cdFx0XHRcdFx0aXNBbm5vdGF0aW9uT2ZUeXBlPFNlbGVjdGlvblZhcmlhbnQ+KHNlbGVjdGlvblZhcmlhbnQsIFVJQW5ub3RhdGlvblR5cGVzLlNlbGVjdGlvblZhcmlhbnRUeXBlKVxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRzZWxlY3Rpb25WYXJpYW50LlNlbGVjdE9wdGlvbnMuZm9yRWFjaCgoc2VsZWN0T3B0aW9uKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBwcm9wZXJ0eVBhdGggPSBzZWxlY3RPcHRpb24uUHJvcGVydHlOYW1lPy52YWx1ZTtcblx0XHRcdFx0XHRcdGlmIChwcm9wZXJ0eVBhdGgpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgcHJvcGVydHlNb2RlbFBhdGggPSBlbmhhbmNlRGF0YU1vZGVsUGF0aChkYXRhVmlzdWFsaXphdGlvbk1vZGVsUGF0aCwgcHJvcGVydHlQYXRoKTtcblx0XHRcdFx0XHRcdFx0c291cmNlUHJvcGVydGllcy5hZGQoZ2V0VGFyZ2V0T2JqZWN0UGF0aChwcm9wZXJ0eU1vZGVsUGF0aCwgdHJ1ZSkpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHR0aGlzLmdldEFwcENvbXBvbmVudCgpIVxuXHRcdFx0XHQuZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlKClcblx0XHRcdFx0LmFkZENvbnRyb2xTaWRlRWZmZWN0cyh2aWV3RW50aXR5VHlwZSwge1xuXHRcdFx0XHRcdHNvdXJjZVByb3BlcnRpZXM6IEFycmF5LmZyb20oc291cmNlUHJvcGVydGllcyksXG5cdFx0XHRcdFx0dGFyZ2V0RW50aXRpZXM6IFtcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0JE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHRhYmxlTmF2aWdhdGlvblBhdGhcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRdLFxuXHRcdFx0XHRcdHNvdXJjZUNvbnRyb2xJZDogYCR7dGhpcy5pZH0tY29udGVudGBcblx0XHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIGludmlzaWJsZVRleHQgZm9yIHRoZSBhY2Nlc3NpYmlsaXR5IGNvbXBsaWFuY2UuXG5cdCAqIEByZXR1cm5zICBUaGUgSW52aXNpYmxlVGV4dFxuXHQgKi9cblx0cHJpdmF0ZSBnZXRBY2Nlc3NpYmlsaXR5Q29udHJvbCgpOiBJbnZpc2libGVUZXh0IHtcblx0XHRjb25zdCB0ZXh0QmluZGluZyA9IGB7c2FwLmZlLmkxOG4+TV9UQUJMRV9RVUlDS0ZJTFRFUl9BUklBfWA7XG5cdFx0Y29uc3QgaW52aXNpYmxlVGV4dCA9ICg8SW52aXNpYmxlVGV4dCB0ZXh0PXt0ZXh0QmluZGluZ30gaWQ9e3RoaXMuZ2V0U2VsZWN0b3JBcmlhTGFiZWxsZWRCeUlkKCl9IC8+KSBhcyBJbnZpc2libGVUZXh0O1xuXG5cdFx0Ly9BZGRzIHRoZSBpbnZpc2libGVUZXh0IGludG8gdGhlIHN0YXRpYywgaGlkZGVuIGFyZWEgVUkgYXJlYSBjb250YWluZXIuXG5cdFx0aW52aXNpYmxlVGV4dC50b1N0YXRpYygpO1xuXHRcdHJldHVybiBpbnZpc2libGVUZXh0O1xuXHR9XG5cblx0cHJpdmF0ZSBpbml0aWFsaXplQ29udGVudCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5tZXRhUGF0aCkge1xuXHRcdFx0Y29uc3QgbWV0YVBhdGhPYmplY3QgPSB0aGlzLmdldE1ldGFQYXRoT2JqZWN0KHRoaXMubWV0YVBhdGgpO1xuXHRcdFx0aWYgKG1ldGFQYXRoT2JqZWN0KSB7XG5cdFx0XHRcdGNvbnN0IG9kYXRhTWV0YU1vZGVsID0gdGhpcy5fZ2V0T3duZXIoKT8uZ2V0TWV0YU1vZGVsKCk7XG5cdFx0XHRcdGNvbnN0IG1ldGFDb250ZXh0ID0gb2RhdGFNZXRhTW9kZWw/LmNyZWF0ZUJpbmRpbmdDb250ZXh0KG1ldGFQYXRoT2JqZWN0LmdldFBhdGgoKSk7XG5cdFx0XHRcdGNvbnN0IGNvbnRleHQgPSBvZGF0YU1ldGFNb2RlbD8uY3JlYXRlQmluZGluZ0NvbnRleHQobWV0YVBhdGhPYmplY3QuZ2V0Q29udGV4dFBhdGgoKSk7XG5cdFx0XHRcdGlmICghbWV0YUNvbnRleHQgfHwgIWNvbnRleHQpIHtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAodGhpcy5zaG93Q291bnRzKSB7XG5cdFx0XHRcdFx0dGhpcy5yZWdpc3RlclNpZGVFZmZlY3RGb3JRdWlja0ZpbHRlcihtZXRhQ29udGV4dCwgY29udGV4dCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0LyoqXG5cdFx0XHRcdCAqIFRoZSBudW1iZXIgb2Ygdmlld3MgZGVmaW5lZCBmb3IgYSB0YWJsZSBkZXRlcm1pbmVzIHRoZSBVSSBjb250cm9sIHRoYXQgbGV0cyB1c2VycyBzd2l0Y2ggdGhlIHRhYmxlIHZpZXdzOlxuXHRcdFx0XHQgKiAgLSBBIHNlZ21lbnRlZCBidXR0b24gZm9yIGEgbWF4aW11bSBvZiB0aHJlZSB2aWV3c1xuXHRcdFx0XHQgKiAgLSBBIHNlbGVjdCBjb250cm9sIGZvciBmb3VyIG9yIG1vcmUgdmlld3MuXG5cdFx0XHRcdCAqL1xuXG5cdFx0XHRcdGNvbnN0IHNlbGVjdG9yID0gdGhpcy5wYXRocy5sZW5ndGggPiAzID8gdGhpcy5nZXRTZWxlY3RTZWxlY3RvcihtZXRhQ29udGV4dCkgOiB0aGlzLmdldFNlZ21lbnRlZEJ1dHRvblNlbGVjdG9yKG1ldGFDb250ZXh0KTtcblx0XHRcdFx0c2VsZWN0b3IuYWRkRGVwZW5kZW50KHRoaXMuZ2V0QWNjZXNzaWJpbGl0eUNvbnRyb2woKSk7XG5cdFx0XHRcdHRoaXMuY29udGVudCA9IHNlbGVjdG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBnZXRNRENUYWJsZSgpOiBUYWJsZSB7XG5cdFx0aWYgKCF0aGlzLm1kY1RhYmxlKSB7XG5cdFx0XHRsZXQgY3VycmVudENvbnRyb2w6IENvbnRyb2wgfCB1bmRlZmluZWQgPSB0aGlzLmNvbnRlbnQ7XG5cdFx0XHR3aGlsZSAoY3VycmVudENvbnRyb2wgJiYgIWN1cnJlbnRDb250cm9sLmlzQTxUYWJsZT4oXCJzYXAudWkubWRjLlRhYmxlXCIpKSB7XG5cdFx0XHRcdGN1cnJlbnRDb250cm9sID0gY3VycmVudENvbnRyb2wuZ2V0UGFyZW50KCkgYXMgQ29udHJvbCB8IHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHRcdHRoaXMubWRjVGFibGUgPSBjdXJyZW50Q29udHJvbCBhcyBUYWJsZTtcblx0XHRcdHJldHVybiB0aGlzLm1kY1RhYmxlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5tZGNUYWJsZTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUga2V5IG9mIHRoZSBzZWxlY3RlZCBpdGVtIChvciB0aGUga2V5IG9mIHRoZSBmaXJzdCBpdGVtIGlmIHRoZXJlJ3Mgbm8gc2VsZWN0aW9uKS5cblx0ICogQHJldHVybnMgVGhlIHNlbGVjdGVkIGtleVxuXHQgKi9cblx0Z2V0U2VsZWN0ZWRLZXkoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5jb250ZW50Py5nZXRTZWxlY3RlZEtleSgpIHx8IHRoaXMuY29udGVudD8uZ2V0SXRlbXMoKVswXS5nZXRLZXkoKSB8fCBcIlwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIHNlbGVjdGVkIGtleS5cblx0ICogQHBhcmFtIGtleSBUaGUga2V5IG9mIHRoZSBpdGVtIHRvIGJlIHNlbGVjdGVkXG5cdCAqL1xuXHRzZXRTZWxlY3RlZEtleShrZXk6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMuY29udGVudD8uc2V0U2VsZWN0ZWRLZXkoa2V5KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBjb3VudCBpbiBhIHBlbmRpbmcgc3RhdGUuXG5cdCAqL1xuXHRzZXRDb3VudHNBc0xvYWRpbmcoKTogdm9pZCB7XG5cdFx0Y29uc3QgcXVpY2tGaWx0ZXJDb3VudHMgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXHRcdGNvbnN0IGludGVybmFsQ29udGV4dCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKSBhcyBDb250ZXh0O1xuXG5cdFx0Zm9yIChjb25zdCBrIGluIHRoaXMuY29udGVudD8uZ2V0SXRlbXMoKSkge1xuXHRcdFx0cXVpY2tGaWx0ZXJDb3VudHNba10gPSBcIi4uLlwiO1xuXHRcdH1cblx0XHRpbnRlcm5hbENvbnRleHQuc2V0UHJvcGVydHkoXCJxdWlja0ZpbHRlcnNcIiwgeyBjb3VudHM6IHF1aWNrRmlsdGVyQ291bnRzIH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZXMgdGhlIGNvdW50IG9mIHRoZSBzZWxlY3RlZCBpdGVtLlxuXHQgKi9cblx0cmVmcmVzaFNlbGVjdGVkQ291bnQoKTogdm9pZCB7XG5cdFx0Y29uc3QgY291bnQgPSB0aGlzLmdldE1EQ1RhYmxlKCkuZ2V0Um93QmluZGluZygpLmdldENvdW50KCk7XG5cblx0XHRpZiAodGhpcy5zaG93Q291bnRzID09PSB0cnVlICYmIGNvdW50ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdGNvbnN0IGl0ZW1JbmRleCA9IHRoaXMuY29udGVudD8uZ2V0SXRlbXMoKS5maW5kSW5kZXgoKHNlbGVjdG9ySXRlbSkgPT4gc2VsZWN0b3JJdGVtLmdldEtleSgpID09PSB0aGlzLmdldFNlbGVjdGVkS2V5KCkpO1xuXHRcdFx0aWYgKGl0ZW1JbmRleCAhPT0gdW5kZWZpbmVkICYmIGl0ZW1JbmRleCA+IC0xKSB7XG5cdFx0XHRcdHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKT8uc2V0UHJvcGVydHkoYHF1aWNrRmlsdGVycy9jb3VudHMvJHtpdGVtSW5kZXh9YCwgVGFibGVVdGlscy5nZXRDb3VudEZvcm1hdHRlZChjb3VudCkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBVcGRhdGVzIHRoZSBjb3VudHMgb2YgdGhlIHVuc2VsZWN0ZWQgaXRlbXMuXG5cdCAqIEByZXR1cm5zICBQcm9taXNlIHJlc29sdmVzIG9uY2UgdGhlIGNvdW50IGFyZSB1cGRhdGVkXG5cdCAqL1xuXHRhc3luYyByZWZyZXNoVW5TZWxlY3RlZENvdW50cygpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAoIXRoaXMuY29udGVudCkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblx0XHRjb25zdCB0YWJsZSA9IHRoaXMuZ2V0TURDVGFibGUoKTtcblx0XHRjb25zdCBpdGVtcyA9IHRoaXMuY29udGVudC5nZXRJdGVtcygpO1xuXHRcdGNvbnN0IGludGVybmFsQ29udGV4dCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKSBhcyBDb250ZXh0O1xuXHRcdGNvbnN0IGNvbnRyb2xsZXIgPSB0aGlzLmdldFBhZ2VDb250cm9sbGVyKCk7XG5cdFx0Y29uc3QgY2hhcnQgPSAoY29udHJvbGxlciBhcyBQYWdlQ29udHJvbGxlciAmIHsgZ2V0Q2hhcnRDb250cm9sPzogRnVuY3Rpb24gfSkuZ2V0Q2hhcnRDb250cm9sPy4oKTtcblx0XHRjb25zdCBjaGFydEJsb2NrID0gY2hhcnQ/LmdldFBhcmVudCgpO1xuXG5cdFx0Y29uc3Qgc2V0SXRlbUNvdW50cyA9IGFzeW5jIChpdGVtOiBJdGVtKTogUHJvbWlzZTx2b2lkPiA9PiB7XG5cdFx0XHRjb25zdCBpdGVtS2V5ID0gaXRlbS5nZXRLZXkoKTtcblx0XHRcdGNvbnN0IGl0ZW1GaWx0ZXJzID0gQ29tbW9uVXRpbHMuZ2V0RmlsdGVyc0Zyb21Bbm5vdGF0aW9uKHRhYmxlLCBpdGVtS2V5KTtcblx0XHRcdGNvbnN0IGNvdW50ID0gYXdhaXQgVGFibGVVdGlscy5nZXRMaXN0QmluZGluZ0ZvckNvdW50KHRhYmxlLCB0YWJsZS5nZXRCaW5kaW5nQ29udGV4dCgpLCB7XG5cdFx0XHRcdGJhdGNoR3JvdXBJZDogXCIkYXV0b1wiLFxuXHRcdFx0XHRhZGRpdGlvbmFsRmlsdGVyczogWy4uLmJhc2VUYWJsZUZpbHRlcnMsIC4uLml0ZW1GaWx0ZXJzXVxuXHRcdFx0fSk7XG5cdFx0XHRjb25zdCBpdGVtSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoKHNlbGVjdG9ySXRlbSkgPT4gc2VsZWN0b3JJdGVtLmdldEtleSgpID09PSBpdGVtS2V5KTtcblx0XHRcdGlmIChpdGVtSW5kZXggPiAtMSkge1xuXHRcdFx0XHRpbnRlcm5hbENvbnRleHQuc2V0UHJvcGVydHkoYHF1aWNrRmlsdGVycy9jb3VudHMvJHtpdGVtSW5kZXh9YCwgVGFibGVVdGlscy5nZXRDb3VudEZvcm1hdHRlZChjb3VudCkpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRjb25zdCBjaGFydEZpbHRlciA9IGNoYXJ0QmxvY2s/Lmhhc1NlbGVjdGlvbnMoKSAmJiBjaGFydEJsb2NrPy5nZXRGaWx0ZXIoKTtcblx0XHRjb25zdCBiYXNlVGFibGVGaWx0ZXJzID0gVGFibGVVdGlscy5nZXRIaWRkZW5GaWx0ZXJzKHRhYmxlKTtcblx0XHRpZiAoY2hhcnRGaWx0ZXIpIHtcblx0XHRcdGJhc2VUYWJsZUZpbHRlcnMucHVzaChjaGFydEZpbHRlcik7XG5cdFx0fVxuXHRcdGNvbnN0IGJpbmRpbmdQcm9taXNlcyA9IGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5nZXRLZXkoKSAhPT0gdGhpcy5nZXRTZWxlY3RlZEtleSgpKS5tYXAoYXN5bmMgKGl0ZW0pID0+IHNldEl0ZW1Db3VudHMoaXRlbSkpO1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCBQcm9taXNlLmFsbChiaW5kaW5nUHJvbWlzZXMpO1xuXHRcdH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJFcnJvciB3aGlsZSByZXRyaWV2aW5nIHRoZSBiaW5kaW5nIHByb21pc2VzXCIsIGVycm9yIGFzIHN0cmluZyk7XG5cdFx0fVxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF5QkE7QUFDQTtBQUNBO0VBRkEsSUFNcUJBLG1CQUFtQixJQUFBQyxJQUFBLEdBSHZDQyxjQUFjLENBQUMseUNBQXlDLEVBQUU7SUFDMURDLFVBQVUsRUFBRSxDQUFDLGtDQUFrQztFQUNoRCxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQUVBQyxrQkFBa0IsQ0FBQywrQkFBK0IsQ0FBQyxFQUFBQyxLQUFBLEdBR25EQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FNNUJGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVyxDQUFDLENBQUMs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
|
|
@@ -2,7 +2,7 @@ import type { SelectionVariant, SelectionVariantType, SelectionVariantTypeTypes
|
|
|
2
2
|
import { UIAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
3
3
|
import Log from "sap/base/Log";
|
|
4
4
|
import { notEqual, pathInModel } from "sap/fe/base/BindingToolkit";
|
|
5
|
-
import { defineUI5Class, property, type PropertiesOf } from "sap/fe/base/ClassSupport";
|
|
5
|
+
import { defineUI5Class, implementInterface, property, type PropertiesOf } from "sap/fe/base/ClassSupport";
|
|
6
6
|
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
7
7
|
import type PageController from "sap/fe/core/PageController";
|
|
8
8
|
import BuildingBlock from "sap/fe/core/buildingBlocks/BuildingBlock";
|
|
@@ -14,6 +14,7 @@ import TableUtils from "sap/fe/macros/table/Utils";
|
|
|
14
14
|
import SegmentedButton from "sap/m/SegmentedButton";
|
|
15
15
|
import SegmentedButtonItem from "sap/m/SegmentedButtonItem";
|
|
16
16
|
import Select from "sap/m/Select";
|
|
17
|
+
import type { IOverflowToolbarContent, OverflowToolbarConfig } from "sap/m/library";
|
|
17
18
|
import type Control from "sap/ui/core/Control";
|
|
18
19
|
import { type $ControlSettings } from "sap/ui/core/Control";
|
|
19
20
|
import InvisibleText from "sap/ui/core/InvisibleText";
|
|
@@ -25,8 +26,13 @@ import type TableAPI from "./TableAPI";
|
|
|
25
26
|
/**
|
|
26
27
|
* Definition of the quickVariantSelection to be used inside the table.
|
|
27
28
|
*/
|
|
28
|
-
@defineUI5Class("sap.fe.macros.table.QuickFilterSelector"
|
|
29
|
-
|
|
29
|
+
@defineUI5Class("sap.fe.macros.table.QuickFilterSelector", {
|
|
30
|
+
interfaces: ["sap.m.IToolbarInteractiveControl"]
|
|
31
|
+
})
|
|
32
|
+
export default class QuickFilterSelector extends BuildingBlock<SegmentedButton | Select> implements IOverflowToolbarContent {
|
|
33
|
+
@implementInterface("sap.m.IOverflowToolbarContent")
|
|
34
|
+
__implements__sap_m_IOverflowToolbarContent = true;
|
|
35
|
+
|
|
30
36
|
@property({ type: "string" })
|
|
31
37
|
id!: string;
|
|
32
38
|
|
|
@@ -62,6 +68,12 @@ export default class QuickFilterSelector extends BuildingBlock<SegmentedButton |
|
|
|
62
68
|
}
|
|
63
69
|
}
|
|
64
70
|
|
|
71
|
+
getOverflowToolbarConfig(): OverflowToolbarConfig {
|
|
72
|
+
return {
|
|
73
|
+
canOverflow: true
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
65
77
|
/**
|
|
66
78
|
* Sets the metaPath.
|
|
67
79
|
* @param metaPath The metaPath
|
|
@@ -106,6 +118,13 @@ export default class QuickFilterSelector extends BuildingBlock<SegmentedButton |
|
|
|
106
118
|
);
|
|
107
119
|
}
|
|
108
120
|
|
|
121
|
+
/**
|
|
122
|
+
* Required by the {@link sap.m.IToolbarInteractiveControl} interface.
|
|
123
|
+
* Determines if the Control is interactive.
|
|
124
|
+
* @returns If it is an interactive Control
|
|
125
|
+
*/
|
|
126
|
+
_getToolbarInteractive = (): boolean => true;
|
|
127
|
+
|
|
109
128
|
/**
|
|
110
129
|
* Generates the selector as a Select.
|
|
111
130
|
* @param metaContext The meta context
|