@sapui5/sap.fe.core 1.121.2 → 1.123.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/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime.js +2 -2
- package/src/sap/fe/core/ActionRuntime.ts +1 -2
- package/src/sap/fe/core/CommonUtils.js +14 -171
- package/src/sap/fe/core/CommonUtils.ts +15 -221
- package/src/sap/fe/core/PageController.js +13 -1
- package/src/sap/fe/core/PageController.ts +16 -0
- package/src/sap/fe/core/TemplateComponent.js +6 -1
- package/src/sap/fe/core/TemplateComponent.ts +8 -0
- package/src/sap/fe/core/UIProvider.js +23 -0
- package/src/sap/fe/core/UIProvider.ts +38 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +97 -43
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +120 -50
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.js +6 -3
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.ts +12 -18
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.js +2 -2
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.js +1 -1
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.ts +4 -3
- package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.js +1 -1
- package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.ts +1 -0
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +42 -1
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.ts +40 -0
- package/src/sap/fe/core/controllerextensions/CollaborativeDraft.js +5 -2
- package/src/sap/fe/core/controllerextensions/CollaborativeDraft.ts +5 -3
- package/src/sap/fe/core/controllerextensions/EditFlow.js +151 -60
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +165 -68
- package/src/sap/fe/core/controllerextensions/HookSupport.js +32 -14
- package/src/sap/fe/core/controllerextensions/HookSupport.ts +35 -14
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +5 -17
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +0 -12
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +6 -6
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +15 -10
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +108 -287
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +117 -309
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +2 -2
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +6 -2
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +2 -2
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.js +6 -6
- package/src/sap/fe/core/controllerextensions/PageReady.ts +5 -4
- package/src/sap/fe/core/controllerextensions/Paginator.js +17 -110
- package/src/sap/fe/core/controllerextensions/Paginator.ts +13 -130
- package/src/sap/fe/core/controllerextensions/Placeholder.js +3 -3
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +1 -2
- package/src/sap/fe/core/controllerextensions/Recommendations.js +36 -31
- package/src/sap/fe/core/controllerextensions/Recommendations.ts +32 -37
- package/src/sap/fe/core/controllerextensions/Share.js +7 -7
- package/src/sap/fe/core/controllerextensions/Share.ts +6 -6
- package/src/sap/fe/core/controllerextensions/SideEffects.js +52 -6
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -4
- package/src/sap/fe/core/controllerextensions/ViewState.js +32 -46
- package/src/sap/fe/core/controllerextensions/ViewState.ts +24 -31
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +42 -31
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +168 -276
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +182 -310
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +3 -3
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +2 -2
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +4 -3
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +3 -2
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +74 -52
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +95 -55
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +3 -17
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +10 -23
- package/src/sap/fe/core/controllerextensions/recommendations/Telemetry.js +3 -3
- package/src/sap/fe/core/controllerextensions/recommendations/Telemetry.ts +2 -2
- package/src/sap/fe/core/controllerextensions/routing/ContextPathHelper.js +225 -0
- package/src/sap/fe/core/controllerextensions/routing/ContextPathHelper.ts +241 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +69 -48
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +56 -33
- package/src/sap/fe/core/controls/FormElementWrapper.js +8 -11
- package/src/sap/fe/core/controls/FormElementWrapper.ts +9 -0
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js +6 -14
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.tsx +12 -23
- package/src/sap/fe/core/converters/ConverterContext.js +17 -9
- package/src/sap/fe/core/converters/ConverterContext.ts +55 -41
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +19 -5
- package/src/sap/fe/core/converters/ManifestWrapper.js +14 -4
- package/src/sap/fe/core/converters/ManifestWrapper.ts +21 -10
- package/src/sap/fe/core/converters/MetaModelConverter.js +402 -383
- package/src/sap/fe/core/converters/MetaModelConverter.ts +538 -338
- package/src/sap/fe/core/converters/TemplateConverter.js +4 -2
- package/src/sap/fe/core/converters/TemplateConverter.ts +18 -13
- package/src/sap/fe/core/converters/annotations/DataField.js +30 -28
- package/src/sap/fe/core/converters/annotations/DataField.ts +58 -35
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +24 -23
- package/src/sap/fe/core/converters/controls/Common/Action.js +5 -4
- package/src/sap/fe/core/converters/controls/Common/Action.ts +34 -28
- package/src/sap/fe/core/converters/controls/Common/Chart.js +37 -33
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +64 -46
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +15 -4
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +31 -15
- package/src/sap/fe/core/converters/controls/Common/Form.js +6 -4
- package/src/sap/fe/core/converters/controls/Common/Form.ts +23 -11
- package/src/sap/fe/core/converters/controls/Common/KPI.js +5 -3
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +17 -11
- package/src/sap/fe/core/converters/controls/Common/Table.js +197 -101
- package/src/sap/fe/core/converters/controls/Common/Table.ts +393 -182
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +4 -5
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +38 -27
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +41 -11
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +112 -45
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +7 -7
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +18 -12
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +5 -4
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +19 -9
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +64 -63
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +109 -100
- package/src/sap/fe/core/converters/helpers/Aggregation.js +12 -11
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +35 -30
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +12 -9
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +1 -1
- package/src/sap/fe/core/converters/helpers/ID.js +1 -1
- package/src/sap/fe/core/converters/helpers/ID.ts +6 -6
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +3 -3
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +11 -6
- package/src/sap/fe/core/converters/helpers/Key.js +2 -2
- package/src/sap/fe/core/converters/helpers/Key.ts +4 -4
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +2 -2
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +21 -19
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +43 -31
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +16 -12
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +8 -3
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +41 -21
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +5 -3
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +24 -19
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -2
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +2 -1
- package/src/sap/fe/core/filter/DraftEditState.fragment.xml +1 -1
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +4 -6
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +5 -4
- package/src/sap/fe/core/formatters/FPMFormatter.js +5 -13
- package/src/sap/fe/core/formatters/FPMFormatter.ts +11 -10
- package/src/sap/fe/core/formatters/FiscalFormat.js +1 -1
- package/src/sap/fe/core/formatters/FiscalFormat.ts +1 -1
- package/src/sap/fe/core/formatters/KPIFormatter.js +4 -7
- package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -3
- package/src/sap/fe/core/formatters/StandardFormatter.js +4 -7
- package/src/sap/fe/core/formatters/StandardFormatter.ts +3 -3
- package/src/sap/fe/core/formatters/ValueFormatter.js +35 -6
- package/src/sap/fe/core/formatters/ValueFormatter.ts +31 -3
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js +54 -33
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +62 -41
- package/src/sap/fe/core/helpers/BindingToolkit.js +17 -3
- package/src/sap/fe/core/helpers/BindingToolkit.ts +28 -6
- package/src/sap/fe/core/helpers/ClassSupport.js +32 -13
- package/src/sap/fe/core/helpers/ClassSupport.ts +35 -15
- package/src/sap/fe/core/helpers/DeleteHelper.js +71 -61
- package/src/sap/fe/core/helpers/DeleteHelper.ts +125 -103
- package/src/sap/fe/core/helpers/DraftEditState.js +5 -3
- package/src/sap/fe/core/helpers/DraftEditState.ts +3 -1
- package/src/sap/fe/core/helpers/FPMHelper.js +43 -46
- package/src/sap/fe/core/helpers/FPMHelper.ts +50 -56
- package/src/sap/fe/core/helpers/MetaModelFunction.js +77 -53
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +78 -57
- package/src/sap/fe/core/helpers/ModelHelper.js +10 -4
- package/src/sap/fe/core/helpers/ModelHelper.ts +12 -6
- package/src/sap/fe/core/helpers/PasteHelper.js +194 -7
- package/src/sap/fe/core/helpers/PasteHelper.ts +265 -13
- package/src/sap/fe/core/helpers/PromiseKeeper.js +66 -0
- package/src/sap/fe/core/helpers/PromiseKeeper.ts +56 -0
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +30 -19
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +34 -22
- package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.ts +7 -2
- package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +26 -52
- package/src/sap/fe/core/helpers/StandardRecommendationHelper.ts +37 -63
- package/src/sap/fe/core/helpers/TitleHelper.js +1 -1
- package/src/sap/fe/core/helpers/TitleHelper.ts +17 -14
- package/src/sap/fe/core/helpers/TypeGuards.js +27 -3
- package/src/sap/fe/core/helpers/TypeGuards.ts +37 -7
- package/src/sap/fe/core/jsx-runtime/jsx-xml.js +48 -8
- package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +40 -9
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/messagebundle.properties +5 -2
- package/src/sap/fe/core/messagebundle_da.properties +1 -1
- package/src/sap/fe/core/messagebundle_en.properties +267 -2
- package/src/sap/fe/core/messagebundle_sl.properties +1 -1
- package/src/sap/fe/core/operationsHelper.js +2 -1
- package/src/sap/fe/core/operationsHelper.ts +1 -0
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +3 -3
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +2 -2
- package/src/sap/fe/core/services/NavigationServiceFactory.js +2 -2
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +3 -2
- package/src/sap/fe/core/services/RoutingServiceFactory.js +27 -14
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +27 -14
- package/src/sap/fe/core/services/ShellServicesFactory.js +49 -12
- package/src/sap/fe/core/services/ShellServicesFactory.ts +62 -13
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +156 -82
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +218 -100
- package/src/sap/fe/core/services/TelemetryServiceFactory.js +3 -3
- package/src/sap/fe/core/services/TelemetryServiceFactory.ts +6 -6
- package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.js +3 -2
- package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/collaborativeDraftServiceFactory.js +1 -1
- package/src/sap/fe/core/services/collaborativeDraftServiceFactory.ts +2 -2
- package/src/sap/fe/core/services/view/TemplatingErrorPage.view.xml +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.js +6 -3
- package/src/sap/fe/core/templating/CommonFormatters.ts +13 -12
- package/src/sap/fe/core/templating/CriticalityFormatters.js +2 -2
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +37 -14
- package/src/sap/fe/core/templating/DataFieldFormatters.js +12 -11
- package/src/sap/fe/core/templating/DataFieldFormatters.ts +35 -24
- package/src/sap/fe/core/templating/DataModelPathHelper.js +22 -18
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +61 -51
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +8 -3
- package/src/sap/fe/core/templating/EntityTypeHelper.js +1 -1
- package/src/sap/fe/core/templating/EntityTypeHelper.ts +1 -1
- package/src/sap/fe/core/templating/FieldControlHelper.js +3 -3
- package/src/sap/fe/core/templating/FieldControlHelper.ts +27 -8
- package/src/sap/fe/core/templating/FilterHelper.js +13 -10
- package/src/sap/fe/core/templating/FilterHelper.ts +80 -46
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +2 -2
- package/src/sap/fe/core/templating/PropertyFormatters.js +6 -8
- package/src/sap/fe/core/templating/PropertyFormatters.ts +11 -11
- package/src/sap/fe/core/templating/PropertyHelper.js +3 -3
- package/src/sap/fe/core/templating/PropertyHelper.ts +4 -4
- package/src/sap/fe/core/templating/SemanticObjectHelper.js +157 -13
- package/src/sap/fe/core/templating/SemanticObjectHelper.ts +182 -16
- package/src/sap/fe/core/templating/UIFormatters.js +23 -22
- package/src/sap/fe/core/templating/UIFormatters.ts +94 -66
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -2
- package/src/sap/fe/core/type/EDM.js +1 -1
- package/src/sap/fe/core/type/EDM.ts +2 -2
- package/src/sap/fe/core/type/Email.js +1 -1
- package/src/sap/fe/core/type/Email.ts +1 -1
- package/src/sap/fe/core/type/FiscalDate.js +2 -2
- package/src/sap/fe/core/type/FiscalDate.ts +2 -2
|
@@ -12,9 +12,9 @@ import type { BindingToolkitExpression, CompiledBindingToolkitExpression } from
|
|
|
12
12
|
import { compileExpression, constant, equal, getExpressionFromAnnotation, ifElse, not } from "sap/fe/core/helpers/BindingToolkit";
|
|
13
13
|
import { UI, singletonPathVisitor } from "../../helpers/BindingHelper";
|
|
14
14
|
import type ConverterContext from "../ConverterContext";
|
|
15
|
-
import type { ManifestSection, ManifestSubSection } from "../ManifestSettings";
|
|
15
|
+
import type { ManifestSection, ManifestSubSection, TransportSelectionDefinition } from "../ManifestSettings";
|
|
16
16
|
import { TemplateType, VisualizationType } from "../ManifestSettings";
|
|
17
|
-
import type { PageDefinition } from "../TemplateConverter";
|
|
17
|
+
import type { PageContextPathTarget, PageDefinition } from "../TemplateConverter";
|
|
18
18
|
import type { Avatar } from "../controls/ObjectPage/Avatar";
|
|
19
19
|
import { getAvatar } from "../controls/ObjectPage/Avatar";
|
|
20
20
|
import type { ObjectPageHeaderFacet } from "../controls/ObjectPage/HeaderFacet";
|
|
@@ -55,6 +55,7 @@ export type ObjectPageDefinition = PageDefinition & {
|
|
|
55
55
|
footerCommandActions: Record<string, CustomAction>;
|
|
56
56
|
showAnchorBar: boolean;
|
|
57
57
|
useIconTabBar: boolean;
|
|
58
|
+
transportSelection?: TransportSelectionDefinition;
|
|
58
59
|
};
|
|
59
60
|
|
|
60
61
|
const getSectionKey = (facetDefinition: FacetTypes, fallback: string): string => {
|
|
@@ -69,7 +70,7 @@ const getSectionKey = (facetDefinition: FacetTypes, fallback: string): string =>
|
|
|
69
70
|
* @returns The section representing the editable header parts
|
|
70
71
|
*/
|
|
71
72
|
export function createEditableHeaderSection(
|
|
72
|
-
converterContext: ConverterContext
|
|
73
|
+
converterContext: ConverterContext<PageContextPathTarget>,
|
|
73
74
|
allHeaderFacets: ObjectPageHeaderFacet[]
|
|
74
75
|
): ObjectPageSection {
|
|
75
76
|
const editableHeaderSectionID = getEditableHeaderSectionID();
|
|
@@ -122,7 +123,7 @@ export function createEditableHeaderSection(
|
|
|
122
123
|
* @param converterContext The converter context
|
|
123
124
|
* @returns All sections
|
|
124
125
|
*/
|
|
125
|
-
function getSectionsFromAnnotation(converterContext: ConverterContext): ObjectPageSection[] {
|
|
126
|
+
function getSectionsFromAnnotation(converterContext: ConverterContext<PageContextPathTarget>): ObjectPageSection[] {
|
|
126
127
|
const entityType = converterContext.getEntityType();
|
|
127
128
|
const objectPageSections: ObjectPageSection[] =
|
|
128
129
|
entityType.annotations?.UI?.Facets?.map((facetDefinition: FacetTypes) =>
|
|
@@ -166,7 +167,7 @@ function updateSingleSectionData(subsections: ObjectPageSubSection[], replaceTit
|
|
|
166
167
|
* @param converterContext
|
|
167
168
|
* @returns The current section
|
|
168
169
|
*/
|
|
169
|
-
function getSectionFromAnnotation(facet: FacetTypes, converterContext: ConverterContext): ObjectPageSection {
|
|
170
|
+
function getSectionFromAnnotation(facet: FacetTypes, converterContext: ConverterContext<PageContextPathTarget>): ObjectPageSection {
|
|
170
171
|
const sectionID = getSectionID(facet);
|
|
171
172
|
// Set absolute binding path for Singleton references, otherwise the configured annotation path itself.
|
|
172
173
|
const hiddenExpression = getExpressionFromAnnotation(facet.annotations?.UI?.Hidden, [], false, (path: string) =>
|
|
@@ -175,12 +176,13 @@ function getSectionFromAnnotation(facet: FacetTypes, converterContext: Converter
|
|
|
175
176
|
const subsections = createSubSections([facet], converterContext);
|
|
176
177
|
const useIconTabBar = converterContext.getManifestWrapper().useIconTabBar();
|
|
177
178
|
const replaceControlTitle = !useIconTabBar || subsections.length > 1;
|
|
179
|
+
const sectionInPageMode = !useIconTabBar && subsections.length === 1;
|
|
178
180
|
updateSingleSectionData(subsections, replaceControlTitle);
|
|
179
181
|
const section: ObjectPageSection = {
|
|
180
182
|
id: sectionID,
|
|
181
183
|
key: getSectionKey(facet, sectionID),
|
|
182
184
|
title: facet.Label ? compileExpression(getExpressionFromAnnotation(facet.Label)) : undefined,
|
|
183
|
-
showTitle: getTitleMergeClass(subsections)
|
|
185
|
+
showTitle: !(sectionInPageMode && getTitleMergeClass(subsections)),
|
|
184
186
|
visible: compileExpression(not(equal(hiddenExpression, true))),
|
|
185
187
|
subSections: subsections
|
|
186
188
|
};
|
|
@@ -210,7 +212,7 @@ export const getTitleMergeClass = function (subSections: ObjectPageSubSection[])
|
|
|
210
212
|
*/
|
|
211
213
|
function getSectionsFromManifest(
|
|
212
214
|
manifestSections: ConfigurableRecord<ManifestSection>,
|
|
213
|
-
converterContext: ConverterContext
|
|
215
|
+
converterContext: ConverterContext<PageContextPathTarget>
|
|
214
216
|
): Record<string, CustomObjectPageSection> {
|
|
215
217
|
const sections: Record<string, CustomObjectPageSection> = {};
|
|
216
218
|
Object.keys(manifestSections).forEach((manifestSectionKey) => {
|
|
@@ -230,7 +232,7 @@ function getSectionsFromManifest(
|
|
|
230
232
|
function getSectionFromManifest(
|
|
231
233
|
customSectionDefinition: ManifestSection,
|
|
232
234
|
sectionKey: string,
|
|
233
|
-
converterContext: ConverterContext
|
|
235
|
+
converterContext: ConverterContext<PageContextPathTarget>
|
|
234
236
|
): CustomObjectPageSection {
|
|
235
237
|
const customSectionID = customSectionDefinition.id || getCustomSectionID(sectionKey);
|
|
236
238
|
let position: Position | undefined = customSectionDefinition.position;
|
|
@@ -262,7 +264,7 @@ function getSectionFromManifest(
|
|
|
262
264
|
showTitle: !!customSectionDefinition.title,
|
|
263
265
|
visible: customSectionDefinition.visible !== undefined ? customSectionDefinition.visible : "true",
|
|
264
266
|
position: position,
|
|
265
|
-
subSections: subSections
|
|
267
|
+
subSections: subSections
|
|
266
268
|
};
|
|
267
269
|
return customSection;
|
|
268
270
|
}
|
|
@@ -273,7 +275,7 @@ function getSectionFromManifest(
|
|
|
273
275
|
* @param converterContext The converter context
|
|
274
276
|
* @returns An array containing all the actions for this ObjectPage header
|
|
275
277
|
*/
|
|
276
|
-
export const getHeaderActions = function (converterContext: ConverterContext): CombinedAction {
|
|
278
|
+
export const getHeaderActions = function (converterContext: ConverterContext<PageContextPathTarget>): CombinedAction {
|
|
277
279
|
const aAnnotationHeaderActions: BaseAction[] = getHeaderDefaultActions(converterContext);
|
|
278
280
|
const manifestWrapper = converterContext.getManifestWrapper();
|
|
279
281
|
const manifestActions = getActionsFromManifest(
|
|
@@ -305,7 +307,7 @@ export const getHeaderActions = function (converterContext: ConverterContext): C
|
|
|
305
307
|
* @param converterContext The converter context
|
|
306
308
|
* @returns An array containing all the actions for this ObjectPage footer
|
|
307
309
|
*/
|
|
308
|
-
export const getFooterActions = function (converterContext: ConverterContext): CombinedAction {
|
|
310
|
+
export const getFooterActions = function (converterContext: ConverterContext<PageContextPathTarget>): CombinedAction {
|
|
309
311
|
const manifestWrapper = converterContext.getManifestWrapper();
|
|
310
312
|
const aAnnotationFooterActions: BaseAction[] = getFooterDefaultActions(manifestWrapper.getViewLevel(), converterContext);
|
|
311
313
|
const manifestActions = getActionsFromManifest(manifestWrapper.getFooterActions(), converterContext, aAnnotationFooterActions);
|
|
@@ -414,7 +416,7 @@ function _setNonResponsiveTableSubSectionControlConfiguration(
|
|
|
414
416
|
*
|
|
415
417
|
* @param subSections The subSections where we need to remove the condensed layout
|
|
416
418
|
*/
|
|
417
|
-
function _removeCondensedFromSubSections(subSections: ObjectPageSubSection[]) {
|
|
419
|
+
function _removeCondensedFromSubSections(subSections: ObjectPageSubSection[]): void {
|
|
418
420
|
let dataVisualizationSubSection: DataVisualizationSubSection;
|
|
419
421
|
// We check in each subsection if there is visualizations
|
|
420
422
|
subSections.forEach((subSection) => {
|
|
@@ -445,7 +447,7 @@ function _removeCondensedFromSubSections(subSections: ObjectPageSubSection[]) {
|
|
|
445
447
|
* @returns An array of sections.
|
|
446
448
|
*/
|
|
447
449
|
|
|
448
|
-
export const getSections = function (converterContext: ConverterContext): ObjectPageSection[] {
|
|
450
|
+
export const getSections = function (converterContext: ConverterContext<PageContextPathTarget>): ObjectPageSection[] {
|
|
449
451
|
const manifestWrapper = converterContext.getManifestWrapper();
|
|
450
452
|
const sections = insertCustomElements(
|
|
451
453
|
getSectionsFromAnnotation(converterContext),
|
|
@@ -514,7 +516,7 @@ export const getSections = function (converterContext: ConverterContext): Object
|
|
|
514
516
|
* @param converterContext The instance of the converter context
|
|
515
517
|
* @returns `true` if there is at least on header facet
|
|
516
518
|
*/
|
|
517
|
-
function hasHeaderContent(converterContext: ConverterContext): boolean {
|
|
519
|
+
function hasHeaderContent(converterContext: ConverterContext<PageContextPathTarget>): boolean {
|
|
518
520
|
const manifestWrapper = converterContext.getManifestWrapper();
|
|
519
521
|
return (
|
|
520
522
|
(converterContext.getEntityType().annotations?.UI?.HeaderFacets || []).length > 0 ||
|
|
@@ -528,7 +530,7 @@ function hasHeaderContent(converterContext: ConverterContext): boolean {
|
|
|
528
530
|
* @param converterContext The instance of the converter context
|
|
529
531
|
* @returns The binding expression for the Delete button
|
|
530
532
|
*/
|
|
531
|
-
function getShowHeaderContentExpression(converterContext: ConverterContext): BindingToolkitExpression<
|
|
533
|
+
function getShowHeaderContentExpression(converterContext: ConverterContext<PageContextPathTarget>): BindingToolkitExpression<boolean> {
|
|
532
534
|
const manifestWrapper = converterContext.getManifestWrapper();
|
|
533
535
|
return ifElse(
|
|
534
536
|
!hasHeaderContent(converterContext),
|
|
@@ -543,7 +545,7 @@ function getShowHeaderContentExpression(converterContext: ConverterContext): Bin
|
|
|
543
545
|
* @param converterContext The instance of the converter context
|
|
544
546
|
* @returns The binding expression for the Delete button
|
|
545
547
|
*/
|
|
546
|
-
export const getShowHeaderContent = function (converterContext: ConverterContext): CompiledBindingToolkitExpression {
|
|
548
|
+
export const getShowHeaderContent = function (converterContext: ConverterContext<PageContextPathTarget>): CompiledBindingToolkitExpression {
|
|
547
549
|
return compileExpression(getShowHeaderContentExpression(converterContext));
|
|
548
550
|
};
|
|
549
551
|
|
|
@@ -553,11 +555,13 @@ export const getShowHeaderContent = function (converterContext: ConverterContext
|
|
|
553
555
|
* @param converterContext The instance of the converter context
|
|
554
556
|
* @returns The binding expression for the Delete button
|
|
555
557
|
*/
|
|
556
|
-
export const getExpandedImageVisible = function (
|
|
558
|
+
export const getExpandedImageVisible = function (
|
|
559
|
+
converterContext: ConverterContext<PageContextPathTarget>
|
|
560
|
+
): CompiledBindingToolkitExpression {
|
|
557
561
|
return compileExpression(not(getShowHeaderContentExpression(converterContext)));
|
|
558
562
|
};
|
|
559
563
|
|
|
560
|
-
export const convertPage = function (converterContext: ConverterContext): ObjectPageDefinition {
|
|
564
|
+
export const convertPage = function (converterContext: ConverterContext<PageContextPathTarget>): ObjectPageDefinition {
|
|
561
565
|
const manifestWrapper = converterContext.getManifestWrapper();
|
|
562
566
|
let headerSection: ObjectPageSection | undefined;
|
|
563
567
|
const entityType: EntityType = converterContext.getEntityType();
|
|
@@ -599,6 +603,7 @@ export const convertPage = function (converterContext: ConverterContext): Object
|
|
|
599
603
|
headerCommandActions: headerActions.commandActions,
|
|
600
604
|
footerCommandActions: footerActions.commandActions,
|
|
601
605
|
showAnchorBar: manifestWrapper.getShowAnchorBar(),
|
|
602
|
-
useIconTabBar: manifestWrapper.useIconTabBar()
|
|
606
|
+
useIconTabBar: manifestWrapper.useIconTabBar(),
|
|
607
|
+
transportSelection: manifestWrapper.getTransportSelection()
|
|
603
608
|
};
|
|
604
609
|
};
|
|
@@ -41,7 +41,8 @@ sap.ui.define([], function () {
|
|
|
41
41
|
"sap.uxap.AnchorBar": true,
|
|
42
42
|
"sap.uxap.ObjectPageLayout": true,
|
|
43
43
|
"sap.uxap.ObjectPageSection": true,
|
|
44
|
-
"sap.uxap.ObjectPageSubSection": true
|
|
44
|
+
"sap.uxap.ObjectPageSubSection": true,
|
|
45
|
+
"sap.f.DynamicPage": true
|
|
45
46
|
};
|
|
46
47
|
// currently we support the adaptation of MenuButtons only for the AnchorBar on Object Page (adaptation of sections and subsections)
|
|
47
48
|
if (elementName === "sap.m.MenuButton" && ((_element$getParent = element.getParent()) === null || _element$getParent === void 0 ? void 0 : _element$getParent.getMetadata().getName()) === "sap.uxap.AnchorBar") {
|
|
@@ -90,4 +91,4 @@ sap.ui.define([], function () {
|
|
|
90
91
|
};
|
|
91
92
|
return AppComponentDesignTime;
|
|
92
93
|
}, false);
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1cmxQYXJzZXJNb2NrIiwicGFyc2VQYXJhbWV0ZXJzIiwidXJsUGFyc2VyIiwic2FwIiwidXNoZWxsIiwiQ29udGFpbmVyIiwiZ2V0U2VydmljZSIsInVybFBhcmFtcyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZmlvcmlUb29sc1J0YU1vZGUiLCJ0b0xvd2VyQ2FzZSIsImdldEFsbG93TGlzdCIsImVsZW1lbnQiLCJhbGxvd0xpc3QiLCJlbGVtZW50TmFtZSIsImdldE1ldGFkYXRhIiwiZ2V0TmFtZSIsImdldFBhcmVudCIsImdldElkIiwiaW5jbHVkZXMiLCJBcHBDb21wb25lbnREZXNpZ25UaW1lIiwiYWN0aW9ucyIsImFnZ3JlZ2F0aW9ucyIsInJvb3RDb250cm9sIiwicHJvcGFnYXRlTWV0YWRhdGEiLCJ0b29sIiwic3RhcnQiLCJhcHBDb21wb25lbnQiLCJnZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcyIsInNldENhcGFiaWxpdHkiLCJzdG9wIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBcHBDb21wb25lbnQuZGVzaWdudGltZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBBcHBDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuXG50eXBlIFVybFBhcnNlciA9IHtcblx0cGFyc2VQYXJhbWV0ZXJzKHVybDogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+O1xufTtcblxuY29uc3QgdXJsUGFyc2VyTW9jazogVXJsUGFyc2VyID0ge1xuXHRwYXJzZVBhcmFtZXRlcnM6IGZ1bmN0aW9uICgpIHtcblx0XHRyZXR1cm4ge307XG5cdH1cbn07XG5jb25zdCB1cmxQYXJzZXI6IFVybFBhcnNlciA9IHNhcC51c2hlbGw/LkNvbnRhaW5lciA/IHNhcC51c2hlbGwuQ29udGFpbmVyLmdldFNlcnZpY2UoXCJVUkxQYXJzaW5nXCIpIDogdXJsUGFyc2VyTW9jaztcbmNvbnN0IHVybFBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0gdXJsUGFyc2VyLnBhcnNlUGFyYW1ldGVycyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbmNvbnN0IGZpb3JpVG9vbHNSdGFNb2RlOiBib29sZWFuID0gdXJsUGFyYW1zW1wiZmlvcmktdG9vbHMtcnRhLW1vZGVcIl0/
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1cmxQYXJzZXJNb2NrIiwicGFyc2VQYXJhbWV0ZXJzIiwidXJsUGFyc2VyIiwic2FwIiwidXNoZWxsIiwiQ29udGFpbmVyIiwiZ2V0U2VydmljZSIsInVybFBhcmFtcyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZmlvcmlUb29sc1J0YU1vZGUiLCJ0b0xvd2VyQ2FzZSIsImdldEFsbG93TGlzdCIsImVsZW1lbnQiLCJhbGxvd0xpc3QiLCJlbGVtZW50TmFtZSIsImdldE1ldGFkYXRhIiwiZ2V0TmFtZSIsImdldFBhcmVudCIsImdldElkIiwiaW5jbHVkZXMiLCJBcHBDb21wb25lbnREZXNpZ25UaW1lIiwiYWN0aW9ucyIsImFnZ3JlZ2F0aW9ucyIsInJvb3RDb250cm9sIiwicHJvcGFnYXRlTWV0YWRhdGEiLCJ0b29sIiwic3RhcnQiLCJhcHBDb21wb25lbnQiLCJnZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcyIsInNldENhcGFiaWxpdHkiLCJzdG9wIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBcHBDb21wb25lbnQuZGVzaWdudGltZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBBcHBDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuXG50eXBlIFVybFBhcnNlciA9IHtcblx0cGFyc2VQYXJhbWV0ZXJzKHVybDogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+O1xufTtcblxuY29uc3QgdXJsUGFyc2VyTW9jazogVXJsUGFyc2VyID0ge1xuXHRwYXJzZVBhcmFtZXRlcnM6IGZ1bmN0aW9uICgpIHtcblx0XHRyZXR1cm4ge307XG5cdH1cbn07XG5jb25zdCB1cmxQYXJzZXI6IFVybFBhcnNlciA9IHNhcC51c2hlbGw/LkNvbnRhaW5lciA/IHNhcC51c2hlbGwuQ29udGFpbmVyLmdldFNlcnZpY2UoXCJVUkxQYXJzaW5nXCIpIDogdXJsUGFyc2VyTW9jaztcbmNvbnN0IHVybFBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0gdXJsUGFyc2VyLnBhcnNlUGFyYW1ldGVycyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbmNvbnN0IGZpb3JpVG9vbHNSdGFNb2RlOiBib29sZWFuID0gdXJsUGFyYW1zW1wiZmlvcmktdG9vbHMtcnRhLW1vZGVcIl0/LlswXT8udG9Mb3dlckNhc2UoKSA9PT0gXCJ0cnVlXCI7XG5cbmNvbnN0IGdldEFsbG93TGlzdCA9IGZ1bmN0aW9uIChlbGVtZW50OiBNYW5hZ2VkT2JqZWN0KTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4ge1xuXHRsZXQgYWxsb3dMaXN0OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuXHRjb25zdCBlbGVtZW50TmFtZSA9IGVsZW1lbnQuZ2V0TWV0YWRhdGEoKS5nZXROYW1lKCk7XG5cdGlmIChmaW9yaVRvb2xzUnRhTW9kZSkge1xuXHRcdC8vIGJ1aWxkIHRoZSBhbGxvdyBsaXN0IGZvciBGaW9yaSB0b29scyAoZGV2ZWxvcGVycylcblx0XHRhbGxvd0xpc3QgPSB7XG5cdFx0XHRcInNhcC5mZS5jb3JlLmNvbnRyb2xzLkZpbHRlckJhclwiOiB0cnVlLFxuXHRcdFx0XCJzYXAudWkuZmwudmFyaWFudHMuVmFyaWFudE1hbmFnZW1lbnRcIjogdHJ1ZSxcblx0XHRcdFwic2FwLnVpLm1kYy5UYWJsZVwiOiB0cnVlXG5cdFx0fTtcblx0fSBlbHNlIHtcblx0XHQvLyBidWlsZCB0aGUgYWxsb3cgbGlzdCBmb3IgVUkgQWRhcHRhdGlvbiAoa2V5IHVzZXJzKVxuXHRcdGFsbG93TGlzdCA9IHtcblx0XHRcdFwic2FwLmZlLmNvcmUuY29udHJvbHMuRmlsdGVyQmFyXCI6IHRydWUsXG5cdFx0XHRcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdGFzaGFibGVIQm94XCI6IHRydWUsXG5cdFx0XHRcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdGFzaGFibGVWQm94XCI6IHRydWUsXG5cdFx0XHRcInNhcC5tLkljb25UYWJCYXJcIjogdHJ1ZSxcblx0XHRcdFwic2FwLnVpLmZsLnV0aWwuSUZyYW1lXCI6IHRydWUsXG5cdFx0XHRcInNhcC51aS5mbC52YXJpYW50cy5WYXJpYW50TWFuYWdlbWVudFwiOiB0cnVlLFxuXHRcdFx0XCJzYXAudWkubGF5b3V0LmZvcm0uRm9ybVwiOiB0cnVlLFxuXHRcdFx0XCJzYXAudWkubGF5b3V0LmZvcm0uRm9ybUNvbnRhaW5lclwiOiB0cnVlLFxuXHRcdFx0XCJzYXAudWkubGF5b3V0LmZvcm0uRm9ybUVsZW1lbnRcIjogdHJ1ZSxcblx0XHRcdFwic2FwLnVpLm1kYy5UYWJsZVwiOiB0cnVlLFxuXHRcdFx0XCJzYXAudXhhcC5BbmNob3JCYXJcIjogdHJ1ZSxcblx0XHRcdFwic2FwLnV4YXAuT2JqZWN0UGFnZUxheW91dFwiOiB0cnVlLFxuXHRcdFx0XCJzYXAudXhhcC5PYmplY3RQYWdlU2VjdGlvblwiOiB0cnVlLFxuXHRcdFx0XCJzYXAudXhhcC5PYmplY3RQYWdlU3ViU2VjdGlvblwiOiB0cnVlLFxuXHRcdFx0XCJzYXAuZi5EeW5hbWljUGFnZVwiOiB0cnVlXG5cdFx0fTtcblx0XHQvLyBjdXJyZW50bHkgd2Ugc3VwcG9ydCB0aGUgYWRhcHRhdGlvbiBvZiBNZW51QnV0dG9ucyBvbmx5IGZvciB0aGUgQW5jaG9yQmFyIG9uIE9iamVjdCBQYWdlIChhZGFwdGF0aW9uIG9mIHNlY3Rpb25zIGFuZCBzdWJzZWN0aW9ucylcblx0XHRpZiAoZWxlbWVudE5hbWUgPT09IFwic2FwLm0uTWVudUJ1dHRvblwiICYmIGVsZW1lbnQuZ2V0UGFyZW50KCk/LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpID09PSBcInNhcC51eGFwLkFuY2hvckJhclwiKSB7XG5cdFx0XHRhbGxvd0xpc3RbXCJzYXAubS5NZW51QnV0dG9uXCJdID0gdHJ1ZTtcblx0XHR9XG5cdFx0Ly8gY3VycmVudGx5IHdlIHN1cHBvcnQgdGhlIGFkYXB0YXRpb24gb2YgQnV0dG9ucyBvbmx5IGZvciB0aGUgQW5jaG9yQmFyIG9uIE9iamVjdCBQYWdlIChhZGFwdGF0aW9uIG9mIHNlY3Rpb25zIGFuZCBzdWJzZWN0aW9ucylcblx0XHRpZiAoZWxlbWVudE5hbWUgPT09IFwic2FwLm0uQnV0dG9uXCIgJiYgZWxlbWVudC5nZXRQYXJlbnQoKT8uZ2V0TWV0YWRhdGEoKS5nZXROYW1lKCkgPT09IFwic2FwLnV4YXAuQW5jaG9yQmFyXCIpIHtcblx0XHRcdGFsbG93TGlzdFtcInNhcC5tLkJ1dHRvblwiXSA9IHRydWU7XG5cdFx0fVxuXHRcdC8vIHRoZSBhZGFwdGF0aW9uIG9mIEZsZXhCb3hlcyBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgdGhlIEhlYWRlckNvbnRhaW5lciBvbiBPYmplY3QgUGFnZVxuXHRcdGlmIChlbGVtZW50TmFtZSA9PT0gXCJzYXAubS5GbGV4Qm94XCIgJiYgZWxlbWVudC5nZXRJZCgpLmluY2x1ZGVzKFwiLS1mZTo6SGVhZGVyQ29udGVudENvbnRhaW5lclwiKSkge1xuXHRcdFx0YWxsb3dMaXN0W1wic2FwLm0uRmxleEJveFwiXSA9IHRydWU7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBhbGxvd0xpc3Q7XG59O1xuXG4vLyBUbyBlbmFibGUgYWxsIGFjdGlvbnMsIHJlbW92ZSB0aGUgcHJvcGFnYXRlTWV0YWRhdGEgZnVuY3Rpb24uIE9yLCByZW1vdmUgdGhpcyBmaWxlIGFuZCBpdHMgZW50cnkgaW4gQXBwQ29tcG9uZW50LmpzIHJlZmVycmluZyAnZGVzaWduVGltZScuXG5jb25zdCBBcHBDb21wb25lbnREZXNpZ25UaW1lID0ge1xuXHRhY3Rpb25zOiBcIm5vdC1hZGFwdGFibGVcIixcblx0YWdncmVnYXRpb25zOiB7XG5cdFx0cm9vdENvbnRyb2w6IHtcblx0XHRcdGFjdGlvbnM6IFwibm90LWFkYXB0YWJsZVwiLFxuXHRcdFx0cHJvcGFnYXRlTWV0YWRhdGE6IGZ1bmN0aW9uIChlbGVtZW50OiBNYW5hZ2VkT2JqZWN0KSB7XG5cdFx0XHRcdGNvbnN0IGFsbG93TGlzdCA9IGdldEFsbG93TGlzdChlbGVtZW50KTtcblx0XHRcdFx0aWYgKGFsbG93TGlzdFtlbGVtZW50LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpXSkge1xuXHRcdFx0XHRcdC8vIGJ5IHJldHVybmluZyB0aGUgZW1wdHkgb2JqZWN0LCB0aGUgc2FtZSB3aWxsIGJlIG1lcmdlZCB3aXRoIGVsZW1lbnQncyBuYXRpdmUgZGVzaWdudGltZSBkZWZpbml0aW9uLCBpLmUuIGFsbCBhY3Rpb25zIHdpbGwgYmUgZW5hYmxlZCBmb3IgdGhpcyBlbGVtZW50XG5cdFx0XHRcdFx0cmV0dXJuIHt9O1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdC8vIG5vdC1hZGFwdGFibGUgd2lsbCBiZSBpbnRlcnByZXRlZCBieSBmbGV4IHRvIGRpc2FibGUgYWxsIGFjdGlvbnMgZm9yIHRoaXMgZWxlbWVudFxuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRhY3Rpb25zOiBcIm5vdC1hZGFwdGFibGVcIlxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdHRvb2w6IHtcblx0XHRzdGFydDogZnVuY3Rpb24gKGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50KSB7XG5cdFx0XHRhcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5zZXRDYXBhYmlsaXR5KFwiQXBwU3RhdGVcIiwgZmFsc2UpO1xuXHRcdH0sXG5cdFx0c3RvcDogZnVuY3Rpb24gKGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50KSB7XG5cdFx0XHRhcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5zZXRDYXBhYmlsaXR5KFwiQXBwU3RhdGVcIiwgdHJ1ZSk7XG5cdFx0fVxuXHR9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBcHBDb21wb25l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
|
|
@@ -40,7 +40,8 @@ const getAllowList = function (element: ManagedObject): Record<string, boolean>
|
|
|
40
40
|
"sap.uxap.AnchorBar": true,
|
|
41
41
|
"sap.uxap.ObjectPageLayout": true,
|
|
42
42
|
"sap.uxap.ObjectPageSection": true,
|
|
43
|
-
"sap.uxap.ObjectPageSubSection": true
|
|
43
|
+
"sap.uxap.ObjectPageSubSection": true,
|
|
44
|
+
"sap.f.DynamicPage": true
|
|
44
45
|
};
|
|
45
46
|
// currently we support the adaptation of MenuButtons only for the AnchorBar on Object Page (adaptation of sections and subsections)
|
|
46
47
|
if (elementName === "sap.m.MenuButton" && element.getParent()?.getMetadata().getName() === "sap.uxap.AnchorBar") {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<mdcvc:FixedList useFirstMatch="true">
|
|
29
29
|
<template:with path="this>" helper="EDITSTATE.getEditStatesContext" var="states">
|
|
30
30
|
<template:repeat list="{states>}" var="state">
|
|
31
|
-
<
|
|
31
|
+
<mdcvc:FixedListItem key="{state>id}" text="{state>display}" />
|
|
32
32
|
</template:repeat>
|
|
33
33
|
</template:with>
|
|
34
34
|
</mdcvc:FixedList>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2024 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/core/controllerextensions/collaboration/CollaborationCommon", "sap/ui/core/Lib"], function (CollaborationCommon, Library) {
|
|
5
|
+
sap.ui.define(["sap/base/util/ObjectPath", "sap/fe/core/controllerextensions/collaboration/CollaborationCommon", "sap/ui/core/Lib"], function (ObjectPath, CollaborationCommon, Library) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _exports = {};
|
|
@@ -71,9 +71,7 @@ sap.ui.define(["sap/fe/core/controllerextensions/collaboration/CollaborationComm
|
|
|
71
71
|
collaborationFormatters.getCollaborationActivityInitials = getCollaborationActivityInitials;
|
|
72
72
|
collaborationFormatters.getCollaborationActivityColor = getCollaborationActivityColor;
|
|
73
73
|
collaborationFormatters.getFormattedText = getFormattedText;
|
|
74
|
-
|
|
75
|
-
* @global
|
|
76
|
-
*/
|
|
74
|
+
ObjectPath.set("sap.fe.core.formatters.CollaborationFormatter", collaborationFormatters);
|
|
77
75
|
return collaborationFormatters;
|
|
78
|
-
},
|
|
79
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
76
|
+
}, false);
|
|
77
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb2xsYWJvcmF0aW9uRm9ybWF0dGVycyIsInNOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJvQXJncyIsImFwcGx5IiwiaGFzQ29sbGFib3JhdGlvbkFjdGl2aXR5IiwiYWN0aXZpdGllcyIsImdldENvbGxhYm9yYXRpb25BY3Rpdml0eSIsIl9fZnVuY3Rpb25OYW1lIiwiZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5SW5pdGlhbHMiLCJhY3Rpdml0eSIsImluaXRpYWxzIiwiZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5Q29sb3IiLCJjb2xvciIsImNvbnRyb2wiLCJwYXRoIiwiZ2V0QmluZGluZ0NvbnRleHQiLCJnZXRQYXRoIiwidW5kZWZpbmVkIiwiYWN0aXZpdHlLZXkiLCJnZXRBY3Rpdml0eUtleUZyb21QYXRoIiwibGVuZ3RoIiwiZmluZCIsImtleSIsImdldEZvcm1hdHRlZFRleHQiLCJ0ZXh0SWQiLCJyZXNvdXJjZUJ1bmRsZSIsIkxpYnJhcnkiLCJnZXRSZXNvdXJjZUJ1bmRsZUZvciIsInBhcmFtcyIsImkiLCJwdXNoIiwiZ2V0VGV4dCIsIk9iamVjdFBhdGgiLCJzZXQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxhYm9yYXRpb25Gb3JtYXR0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGZvcm1hdHRlcnMgbmVlZGVkIGZvciB0aGUgY29sbGFib3JhdGlvbiBkcmFmdC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gdGhpcyBUaGUgY29udGV4dFxuICogQHBhcmFtIHtzdHJpbmd9IHNOYW1lIFRoZSBpbm5lciBmdW5jdGlvbiBuYW1lXG4gKiBAcGFyYW0ge29iamVjdFtdfSBvQXJncyBUaGUgaW5uZXIgZnVuY3Rpb24gcGFyYW1ldGVyc1xuICogQHJldHVybnMge29iamVjdH0gVGhlIHZhbHVlIGZyb20gdGhlIGlubmVyIGZ1bmN0aW9uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IE9iamVjdFBhdGggZnJvbSBcInNhcC9iYXNlL3V0aWwvT2JqZWN0UGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBVc2VyQWN0aXZpdHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvY29sbGFib3JhdGlvbi9Db2xsYWJvcmF0aW9uQ29tbW9uXCI7XG5pbXBvcnQgeyBnZXRBY3Rpdml0eUtleUZyb21QYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL2NvbGxhYm9yYXRpb24vQ29sbGFib3JhdGlvbkNvbW1vblwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IExpYnJhcnkgZnJvbSBcInNhcC91aS9jb3JlL0xpYlwiO1xuXG5jb25zdCBjb2xsYWJvcmF0aW9uRm9ybWF0dGVycyA9IGZ1bmN0aW9uICh0aGlzOiBvYmplY3QsIHNOYW1lOiBzdHJpbmcsIC4uLm9BcmdzOiBhbnlbXSk6IGFueSB7XG5cdGlmIChjb2xsYWJvcmF0aW9uRm9ybWF0dGVycy5oYXNPd25Qcm9wZXJ0eShzTmFtZSkpIHtcblx0XHRyZXR1cm4gKGNvbGxhYm9yYXRpb25Gb3JtYXR0ZXJzIGFzIGFueSlbc05hbWVdLmFwcGx5KHRoaXMsIG9BcmdzKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxufTtcbmV4cG9ydCBjb25zdCBoYXNDb2xsYWJvcmF0aW9uQWN0aXZpdHkgPSBmdW5jdGlvbiAodGhpczogTWFuYWdlZE9iamVjdCwgYWN0aXZpdGllczogVXNlckFjdGl2aXR5W10sIC4uLl9rZXlzOiB1bmtub3duW10pOiBib29sZWFuIHtcblx0cmV0dXJuICEhZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5KGFjdGl2aXRpZXMsIHRoaXMpO1xufTtcbmhhc0NvbGxhYm9yYXRpb25BY3Rpdml0eS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5Db2xsYWJvcmF0aW9uRm9ybWF0dGVyI2hhc0NvbGxhYm9yYXRpb25BY3Rpdml0eVwiO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5SW5pdGlhbHMgPSBmdW5jdGlvbiAoXG5cdHRoaXM6IE1hbmFnZWRPYmplY3QsXG5cdGFjdGl2aXRpZXM6IFVzZXJBY3Rpdml0eVtdLFxuXHQuLi5fa2V5czogUHJvcGVydHlbXVxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0Y29uc3QgYWN0aXZpdHkgPSBnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHkoYWN0aXZpdGllcywgdGhpcyk7XG5cdHJldHVybiBhY3Rpdml0eT8uaW5pdGlhbHM7XG59O1xuZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5SW5pdGlhbHMuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuQ29sbGFib3JhdGlvbkZvcm1hdHRlciNnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlJbml0aWFsc1wiO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5Q29sb3IgPSBmdW5jdGlvbiAoXG5cdHRoaXM6IE1hbmFnZWRPYmplY3QsXG5cdGFjdGl2aXRpZXM6IFVzZXJBY3Rpdml0eVtdLFxuXHQuLi5fa2V5czogUHJvcGVydHlbXVxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0Y29uc3QgYWN0aXZpdHkgPSBnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHkoYWN0aXZpdGllcywgdGhpcyk7XG5cdHJldHVybiBhY3Rpdml0eT8uY29sb3I7XG59O1xuZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5Q29sb3IuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuQ29sbGFib3JhdGlvbkZvcm1hdHRlciNnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlDb2xvclwiO1xuXG5mdW5jdGlvbiBnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHkoYWN0aXZpdGllcz86IFVzZXJBY3Rpdml0eVtdLCBjb250cm9sPzogTWFuYWdlZE9iamVjdCkge1xuXHRjb25zdCBwYXRoID0gY29udHJvbD8uZ2V0QmluZGluZ0NvbnRleHQoKT8uZ2V0UGF0aCgpO1xuXHRpZiAoIXBhdGgpIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cdGNvbnN0IGFjdGl2aXR5S2V5ID0gZ2V0QWN0aXZpdHlLZXlGcm9tUGF0aChwYXRoKTtcblx0aWYgKGFjdGl2aXRpZXMgJiYgYWN0aXZpdGllcy5sZW5ndGggPiAwKSB7XG5cdFx0cmV0dXJuIGFjdGl2aXRpZXMuZmluZCgoYWN0aXZpdHkpID0+IHtcblx0XHRcdHJldHVybiBhY3Rpdml0eS5rZXkgPT09IGFjdGl2aXR5S2V5O1xuXHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cbn1cblxuLyoqXG4gKiBDb21wdXRlIHRoZSBJbnZpdGF0aW9uIGRpYWxvZyB0aXRsZSBiYXNlZCBvbiB0aGUgdW5kZXJseWluZyByZXNvdXJjZSBidW5kbGUuXG4gKlxuICogQHBhcmFtIGFyZ3MgVGhlIGlubmVyIGZ1bmN0aW9uIHBhcmFtZXRlcnNcbiAqIEByZXR1cm5zIFRoZSBkaWFsb2cgdGl0bGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEZvcm1hdHRlZFRleHQgPSAoLi4uYXJnczogc3RyaW5nW10pOiBzdHJpbmcgPT4ge1xuXHRjb25zdCB0ZXh0SWQgPSBhcmdzWzBdO1xuXHRjb25zdCByZXNvdXJjZUJ1bmRsZSA9IExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29yZVwiKSE7XG5cdGNvbnN0IHBhcmFtcyA9IFtdO1xuXHRmb3IgKGxldCBpID0gMTsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcblx0XHRwYXJhbXMucHVzaChhcmdzW2ldKTtcblx0fVxuXHRyZXR1cm4gcmVzb3VyY2VCdW5kbGUuZ2V0VGV4dCh0ZXh0SWQsIHBhcmFtcyk7XG59O1xuXG5nZXRGb3JtYXR0ZWRUZXh0Ll9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLkNvbGxhYm9yYXRpb25Gb3JtYXR0ZXIjZ2V0Rm9ybWF0dGVkVGV4dFwiO1xuXG5jb2xsYWJvcmF0aW9uRm9ybWF0dGVycy5oYXNDb2xsYWJvcmF0aW9uQWN0aXZpdHkgPSBoYXNDb2xsYWJvcmF0aW9uQWN0aXZpdHk7XG5jb2xsYWJvcmF0aW9uRm9ybWF0dGVycy5nZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlJbml0aWFscyA9IGdldENvbGxhYm9yYXRpb25BY3Rpdml0eUluaXRpYWxzO1xuY29sbGFib3JhdGlvbkZvcm1hdHRlcnMuZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5Q29sb3IgPSBnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlDb2xvcjtcbmNvbGxhYm9yYXRpb25Gb3JtYXR0ZXJzLmdldEZvcm1hdHRlZFRleHQgPSBnZXRGb3JtYXR0ZWRUZXh0O1xuXG5PYmplY3RQYXRoLnNldChcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuQ29sbGFib3JhdGlvbkZvcm1hdHRlclwiLCBjb2xsYWJvcmF0aW9uRm9ybWF0dGVycyk7XG5cbmV4cG9ydCBkZWZhdWx0IGNvbGxhYm9yYXRpb25Gb3JtYXR0ZXJzO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7RUFnQkEsTUFBTUEsdUJBQXVCLEdBQUcsVUFBd0JDLEtBQWEsRUFBd0I7SUFDNUYsSUFBSUQsdUJBQXVCLENBQUNFLGNBQWMsQ0FBQ0QsS0FBSyxDQUFDLEVBQUU7TUFBQSxrQ0FEc0JFLEtBQUs7UUFBTEEsS0FBSztNQUFBO01BRTdFLE9BQVFILHVCQUF1QixDQUFTQyxLQUFLLENBQUMsQ0FBQ0csS0FBSyxDQUFDLElBQUksRUFBRUQsS0FBSyxDQUFDO0lBQ2xFLENBQUMsTUFBTTtNQUNOLE9BQU8sRUFBRTtJQUNWO0VBQ0QsQ0FBQztFQUNNLE1BQU1FLHdCQUF3QixHQUFHLFVBQStCQyxVQUEwQixFQUFnQztJQUNoSSxPQUFPLENBQUMsQ0FBQ0Msd0JBQXdCLENBQUNELFVBQVUsRUFBRSxJQUFJLENBQUM7RUFDcEQsQ0FBQztFQUNERCx3QkFBd0IsQ0FBQ0csY0FBYyxHQUFHLHdFQUF3RTtFQUFDO0VBRTVHLE1BQU1DLGdDQUFnQyxHQUFHLFVBRS9DSCxVQUEwQixFQUVMO0lBQ3JCLE1BQU1JLFFBQVEsR0FBR0gsd0JBQXdCLENBQUNELFVBQVUsRUFBRSxJQUFJLENBQUM7SUFDM0QsT0FBT0ksUUFBUSxhQUFSQSxRQUFRLHVCQUFSQSxRQUFRLENBQUVDLFFBQVE7RUFDMUIsQ0FBQztFQUNERixnQ0FBZ0MsQ0FBQ0QsY0FBYyxHQUFHLGdGQUFnRjtFQUFDO0VBRTVILE1BQU1JLDZCQUE2QixHQUFHLFVBRTVDTixVQUEwQixFQUVMO0lBQ3JCLE1BQU1JLFFBQVEsR0FBR0gsd0JBQXdCLENBQUNELFVBQVUsRUFBRSxJQUFJLENBQUM7SUFDM0QsT0FBT0ksUUFBUSxhQUFSQSxRQUFRLHVCQUFSQSxRQUFRLENBQUVHLEtBQUs7RUFDdkIsQ0FBQztFQUNERCw2QkFBNkIsQ0FBQ0osY0FBYyxHQUFHLDZFQUE2RTtFQUFDO0VBRTdILFNBQVNELHdCQUF3QixDQUFDRCxVQUEyQixFQUFFUSxPQUF1QixFQUFFO0lBQUE7SUFDdkYsTUFBTUMsSUFBSSxHQUFHRCxPQUFPLGFBQVBBLE9BQU8sZ0RBQVBBLE9BQU8sQ0FBRUUsaUJBQWlCLEVBQUUsMERBQTVCLHNCQUE4QkMsT0FBTyxFQUFFO0lBQ3BELElBQUksQ0FBQ0YsSUFBSSxFQUFFO01BQ1YsT0FBT0csU0FBUztJQUNqQjtJQUNBLE1BQU1DLFdBQVcsR0FBR0Msc0JBQXNCLENBQUNMLElBQUksQ0FBQztJQUNoRCxJQUFJVCxVQUFVLElBQUlBLFVBQVUsQ0FBQ2UsTUFBTSxHQUFHLENBQUMsRUFBRTtNQUN4QyxPQUFPZixVQUFVLENBQUNnQixJQUFJLENBQUVaLFFBQVEsSUFBSztRQUNwQyxPQUFPQSxRQUFRLENBQUNhLEdBQUcsS0FBS0osV0FBVztNQUNwQyxDQUFDLENBQUM7SUFDSCxDQUFDLE1BQU07TUFDTixPQUFPRCxTQUFTO0lBQ2pCO0VBQ0Q7O0VBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ08sTUFBTU0sZ0JBQWdCLEdBQUcsWUFBK0I7SUFDOUQsTUFBTUMsTUFBTSxtREFBVTtJQUN0QixNQUFNQyxjQUFjLEdBQUdDLE9BQU8sQ0FBQ0Msb0JBQW9CLENBQUMsYUFBYSxDQUFFO0lBQ25FLE1BQU1DLE1BQU0sR0FBRyxFQUFFO0lBQ2pCLEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHLFVBQUtULE1BQU0sRUFBRVMsQ0FBQyxFQUFFLEVBQUU7TUFDckNELE1BQU0sQ0FBQ0UsSUFBSSxDQUFNRCxDQUFDLDRCQUFEQSxDQUFDLHlCQUFEQSxDQUFDLEVBQUU7SUFDckI7SUFDQSxPQUFPSixjQUFjLENBQUNNLE9BQU8sQ0FBQ1AsTUFBTSxFQUFFSSxNQUFNLENBQUM7RUFDOUMsQ0FBQztFQUVETCxnQkFBZ0IsQ0FBQ2hCLGNBQWMsR0FBRyxnRUFBZ0U7RUFBQztFQUVuR1IsdUJBQXVCLENBQUNLLHdCQUF3QixHQUFHQSx3QkFBd0I7RUFDM0VMLHVCQUF1QixDQUFDUyxnQ0FBZ0MsR0FBR0EsZ0NBQWdDO0VBQzNGVCx1QkFBdUIsQ0FBQ1ksNkJBQTZCLEdBQUdBLDZCQUE2QjtFQUNyRlosdUJBQXVCLENBQUN3QixnQkFBZ0IsR0FBR0EsZ0JBQWdCO0VBRTNEUyxVQUFVLENBQUNDLEdBQUcsQ0FBQywrQ0FBK0MsRUFBRWxDLHVCQUF1QixDQUFDO0VBQUMsT0FFMUVBLHVCQUF1QjtBQUFBIn0=
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import type { Property } from "@sap-ux/vocabularies-types";
|
|
11
|
+
import ObjectPath from "sap/base/util/ObjectPath";
|
|
11
12
|
import type { UserActivity } from "sap/fe/core/controllerextensions/collaboration/CollaborationCommon";
|
|
12
13
|
import { getActivityKeyFromPath } from "sap/fe/core/controllerextensions/collaboration/CollaborationCommon";
|
|
13
14
|
import type ManagedObject from "sap/ui/base/ManagedObject";
|
|
@@ -20,7 +21,7 @@ const collaborationFormatters = function (this: object, sName: string, ...oArgs:
|
|
|
20
21
|
return "";
|
|
21
22
|
}
|
|
22
23
|
};
|
|
23
|
-
export const hasCollaborationActivity = function (this: ManagedObject, activities: UserActivity[], ..._keys:
|
|
24
|
+
export const hasCollaborationActivity = function (this: ManagedObject, activities: UserActivity[], ..._keys: unknown[]): boolean {
|
|
24
25
|
return !!getCollaborationActivity(activities, this);
|
|
25
26
|
};
|
|
26
27
|
hasCollaborationActivity.__functionName = "sap.fe.core.formatters.CollaborationFormatter#hasCollaborationActivity";
|
|
@@ -82,7 +83,7 @@ collaborationFormatters.hasCollaborationActivity = hasCollaborationActivity;
|
|
|
82
83
|
collaborationFormatters.getCollaborationActivityInitials = getCollaborationActivityInitials;
|
|
83
84
|
collaborationFormatters.getCollaborationActivityColor = getCollaborationActivityColor;
|
|
84
85
|
collaborationFormatters.getFormattedText = getFormattedText;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
|
|
87
|
+
ObjectPath.set("sap.fe.core.formatters.CollaborationFormatter", collaborationFormatters);
|
|
88
|
+
|
|
88
89
|
export default collaborationFormatters;
|
|
@@ -2,19 +2,14 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2024 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define([], function () {
|
|
5
|
+
sap.ui.define(["sap/base/util/ObjectPath", "sap/fe/core/helpers/FPMHelper"], function (ObjectPath, FPMHelper) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const customBooleanPropertyCheck = async function (oView, modulePath, aSelectedContexts) {
|
|
9
|
-
const oExtensionAPI = oView.getController().getExtensionAPI();
|
|
10
9
|
const parts = modulePath.split(".");
|
|
11
10
|
const methodName = parts.pop();
|
|
12
11
|
const moduleName = parts.join("/");
|
|
13
|
-
return
|
|
14
|
-
sap.ui.require([moduleName], module => {
|
|
15
|
-
resolve(module[methodName].bind(oExtensionAPI)(this.getBindingContext(), aSelectedContexts || []));
|
|
16
|
-
});
|
|
17
|
-
});
|
|
12
|
+
return FPMHelper.loadModuleAndCallMethod(moduleName, methodName, oView, this.getBindingContext(), aSelectedContexts || []);
|
|
18
13
|
};
|
|
19
14
|
customBooleanPropertyCheck.__functionName = "sap.fe.core.formatters.FPMFormatter#customBooleanPropertyCheck";
|
|
20
15
|
|
|
@@ -37,10 +32,7 @@ sap.ui.define([], function () {
|
|
|
37
32
|
}
|
|
38
33
|
};
|
|
39
34
|
fpmFormatter.customBooleanPropertyCheck = customBooleanPropertyCheck;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* @global
|
|
43
|
-
*/
|
|
35
|
+
ObjectPath.set("sap.fe.core.formatters.FPMFormatter", fpmFormatter);
|
|
44
36
|
return fpmFormatter;
|
|
45
|
-
},
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
37
|
+
}, false);
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjdXN0b21Cb29sZWFuUHJvcGVydHlDaGVjayIsIm9WaWV3IiwibW9kdWxlUGF0aCIsImFTZWxlY3RlZENvbnRleHRzIiwicGFydHMiLCJzcGxpdCIsIm1ldGhvZE5hbWUiLCJwb3AiLCJtb2R1bGVOYW1lIiwiam9pbiIsIkZQTUhlbHBlciIsImxvYWRNb2R1bGVBbmRDYWxsTWV0aG9kIiwiZ2V0QmluZGluZ0NvbnRleHQiLCJfX2Z1bmN0aW9uTmFtZSIsImZwbUZvcm1hdHRlciIsInNOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJvQXJncyIsImFwcGx5IiwiT2JqZWN0UGF0aCIsInNldCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRlBNRm9ybWF0dGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBPYmplY3RQYXRoIGZyb20gXCJzYXAvYmFzZS91dGlsL09iamVjdFBhdGhcIjtcbmltcG9ydCBGUE1IZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvRlBNSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgdHlwZSBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcblxuY29uc3QgY3VzdG9tQm9vbGVhblByb3BlcnR5Q2hlY2sgPSBhc3luYyBmdW5jdGlvbiAoXG5cdHRoaXM6IE1hbmFnZWRPYmplY3QsXG5cdG9WaWV3OiBWaWV3LFxuXHRtb2R1bGVQYXRoOiBzdHJpbmcsXG5cdGFTZWxlY3RlZENvbnRleHRzOiBDb250ZXh0W11cbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuXHRjb25zdCBwYXJ0cyA9IG1vZHVsZVBhdGguc3BsaXQoXCIuXCIpO1xuXHRjb25zdCBtZXRob2ROYW1lID0gcGFydHMucG9wKCkgYXMgc3RyaW5nO1xuXHRjb25zdCBtb2R1bGVOYW1lID0gcGFydHMuam9pbihcIi9cIik7XG5cblx0cmV0dXJuIEZQTUhlbHBlci5sb2FkTW9kdWxlQW5kQ2FsbE1ldGhvZChcblx0XHRtb2R1bGVOYW1lLFxuXHRcdG1ldGhvZE5hbWUsXG5cdFx0b1ZpZXcsXG5cdFx0dGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpLFxuXHRcdGFTZWxlY3RlZENvbnRleHRzIHx8IFtdXG5cdCkgYXMgUHJvbWlzZTxib29sZWFuPjtcbn07XG5jdXN0b21Cb29sZWFuUHJvcGVydHlDaGVjay5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5GUE1Gb3JtYXR0ZXIjY3VzdG9tQm9vbGVhblByb3BlcnR5Q2hlY2tcIjtcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIHRhYmxlIGZvcm1hdHRlcnMuXG4gKlxuICogQHBhcmFtIHRoaXMgVGhlIGNvbnRleHRcbiAqIEBwYXJhbSBzTmFtZSBUaGUgaW5uZXIgZnVuY3Rpb24gbmFtZVxuICogQHBhcmFtIG9BcmdzIFRoZSBpbm5lciBmdW5jdGlvbiBwYXJhbWV0ZXJzXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgZnJvbSB0aGUgaW5uZXIgZnVuY3Rpb25cbiAqL1xuY29uc3QgZnBtRm9ybWF0dGVyID0gZnVuY3Rpb24gKHRoaXM6IG9iamVjdCwgc05hbWU6IHN0cmluZywgLi4ub0FyZ3M6IGFueVtdKTogYW55IHtcblx0aWYgKGZwbUZvcm1hdHRlci5oYXNPd25Qcm9wZXJ0eShzTmFtZSkpIHtcblx0XHRyZXR1cm4gKGZwbUZvcm1hdHRlciBhcyBhbnkpW3NOYW1lXS5hcHBseSh0aGlzLCBvQXJncyk7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIFwiXCI7XG5cdH1cbn07XG5cbmZwbUZvcm1hdHRlci5jdXN0b21Cb29sZWFuUHJvcGVydHlDaGVjayA9IGN1c3RvbUJvb2xlYW5Qcm9wZXJ0eUNoZWNrO1xuXG5PYmplY3RQYXRoLnNldChcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuRlBNRm9ybWF0dGVyXCIsIGZwbUZvcm1hdHRlcik7XG5cbmV4cG9ydCBkZWZhdWx0IGZwbUZvcm1hdHRlcjtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7OztFQU1BLE1BQU1BLDBCQUEwQixHQUFHLGdCQUVsQ0MsS0FBVyxFQUNYQyxVQUFrQixFQUNsQkMsaUJBQTRCLEVBQ1Q7SUFDbkIsTUFBTUMsS0FBSyxHQUFHRixVQUFVLENBQUNHLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDbkMsTUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEdBQUcsRUFBWTtJQUN4QyxNQUFNQyxVQUFVLEdBQUdKLEtBQUssQ0FBQ0ssSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUVsQyxPQUFPQyxTQUFTLENBQUNDLHVCQUF1QixDQUN2Q0gsVUFBVSxFQUNWRixVQUFVLEVBQ1ZMLEtBQUssRUFDTCxJQUFJLENBQUNXLGlCQUFpQixFQUFFLEVBQ3hCVCxpQkFBaUIsSUFBSSxFQUFFLENBQ3ZCO0VBQ0YsQ0FBQztFQUNESCwwQkFBMEIsQ0FBQ2EsY0FBYyxHQUFHLGdFQUFnRTs7RUFFNUc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNBLE1BQU1DLFlBQVksR0FBRyxVQUF3QkMsS0FBYSxFQUF3QjtJQUNqRixJQUFJRCxZQUFZLENBQUNFLGNBQWMsQ0FBQ0QsS0FBSyxDQUFDLEVBQUU7TUFBQSxrQ0FEc0JFLEtBQUs7UUFBTEEsS0FBSztNQUFBO01BRWxFLE9BQVFILFlBQVksQ0FBU0MsS0FBSyxDQUFDLENBQUNHLEtBQUssQ0FBQyxJQUFJLEVBQUVELEtBQUssQ0FBQztJQUN2RCxDQUFDLE1BQU07TUFDTixPQUFPLEVBQUU7SUFDVjtFQUNELENBQUM7RUFFREgsWUFBWSxDQUFDZCwwQkFBMEIsR0FBR0EsMEJBQTBCO0VBRXBFbUIsVUFBVSxDQUFDQyxHQUFHLENBQUMscUNBQXFDLEVBQUVOLFlBQVksQ0FBQztFQUFDLE9BRXJEQSxZQUFZO0FBQUEifQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ObjectPath from "sap/base/util/ObjectPath";
|
|
2
|
+
import FPMHelper from "sap/fe/core/helpers/FPMHelper";
|
|
2
3
|
import type ManagedObject from "sap/ui/base/ManagedObject";
|
|
3
4
|
import type View from "sap/ui/core/mvc/View";
|
|
4
5
|
import type Context from "sap/ui/model/odata/v4/Context";
|
|
@@ -9,16 +10,17 @@ const customBooleanPropertyCheck = async function (
|
|
|
9
10
|
modulePath: string,
|
|
10
11
|
aSelectedContexts: Context[]
|
|
11
12
|
): Promise<boolean> {
|
|
12
|
-
const oExtensionAPI = (oView.getController() as PageController).getExtensionAPI();
|
|
13
13
|
const parts = modulePath.split(".");
|
|
14
14
|
const methodName = parts.pop() as string;
|
|
15
15
|
const moduleName = parts.join("/");
|
|
16
16
|
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
return FPMHelper.loadModuleAndCallMethod(
|
|
18
|
+
moduleName,
|
|
19
|
+
methodName,
|
|
20
|
+
oView,
|
|
21
|
+
this.getBindingContext(),
|
|
22
|
+
aSelectedContexts || []
|
|
23
|
+
) as Promise<boolean>;
|
|
22
24
|
};
|
|
23
25
|
customBooleanPropertyCheck.__functionName = "sap.fe.core.formatters.FPMFormatter#customBooleanPropertyCheck";
|
|
24
26
|
|
|
@@ -40,7 +42,6 @@ const fpmFormatter = function (this: object, sName: string, ...oArgs: any[]): an
|
|
|
40
42
|
|
|
41
43
|
fpmFormatter.customBooleanPropertyCheck = customBooleanPropertyCheck;
|
|
42
44
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
*/
|
|
45
|
+
ObjectPath.set("sap.fe.core.formatters.FPMFormatter", fpmFormatter);
|
|
46
|
+
|
|
46
47
|
export default fpmFormatter;
|
|
@@ -339,4 +339,4 @@ sap.ui.define(["sap/base/i18n/Localization", "sap/ui/core/Locale", "sap/ui/core/
|
|
|
339
339
|
}
|
|
340
340
|
return _exports;
|
|
341
341
|
}, false);
|
|
342
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaXNjYWxGb3JtYXQiLCJmb3JtYXRPcHRpb25zIiwibG9jYWxlIiwiTG9jYWxlIiwiTG9jYWxpemF0aW9uIiwiZ2V0TGFuZ3VhZ2UiLCJsb2NhbGVEYXRhIiwiTG9jYWxlRGF0YSIsImZvcm1hdCIsImxlbmd0aCIsInBhdHRlcm4iLCJnZXRDdXN0b21EYXRlVGltZVBhdHRlcm4iLCJjYWxlbmRhclR5cGUiLCJyZXBsYWNlIiwic2xpY2UiLCJsYXN0SW5kZXhPZiIsImZvcm1hdEFycmF5IiwicGFyc2VDYWxlbmRhckRhdGVQYXR0ZXJuIiwidW5kZWZpbmVkIiwiX3NldEZvcm1hdFJlZ2V4IiwiX3NldFBhcnNlUmVnZXgiLCJfc2V0VmFsaWRhdGlvblJlZ2V4IiwiZ2V0RGF0ZUluc3RhbmNlIiwiZ2V0UGF0dGVybiIsInZhbHVlIiwiZm9ybWF0UmVnRXhQYXR0ZXJuIiwiZm9ybWF0UmVnRXhHcm91cHMiLCJwYXJzZSIsInBhcnNlUmVnRXhQYXR0ZXJuIiwicGFyc2VSZWdFeFJlcGxhY2VyIiwidmFsaWRhdGUiLCJ2YWxpZGF0aW9uUmVnRXhQYXR0ZXJuIiwidGVzdCIsImNoYXIiLCJjdXJyZW50T2JqZWN0IiwiZGlnaXRzIiwic3ltYm9sIiwiY3VyQ2hhciIsInN5bWJvbHMiLCJwdXNoIiwicmVnRXhQYXR0ZXJuIiwicmVnRXhHcm91cHMiLCJwYXJ0IiwicmVnZXgiLCJ5ZWFyIiwiaSIsInRvTG9jYWxlTG93ZXJDYXNlIiwidW5zaGlmdCIsInNvdXJjZSIsInNvbWUiLCJwYXJ0RW50cnkiLCJ0b0xvd2VyQ2FzZSIsIlJlZ0V4cCIsImpvaW4iLCJmaWx0ZXJlZEZvcm1hdCIsImN1cnJHcm91cCIsImdyb3VwIiwiZ2V0UmVnRXhSZXBsYWNlciIsInJlc3VsdCIsInZhbHVlUGFydCIsInN0cmluZ0dyb3VwIiwiYXJncyIsImtleSIsInBhcnNlSW50IiwicGFyc2VZZWFyIiwicGFkU3RhcnQiLCJyZWdleEZvcm1hdFBhdHRlcm5zIiwicGVyaW9kIiwicXVhcnRlciIsIndlZWsiLCJkYXkiLCJyZWdleFBhcnNlUGF0dGVybnMiLCJ5IiwiWSIsIlAiLCJXIiwiZCIsIlEiLCJxIiwicGFyc2VkWWVhciIsIk51bWJlciIsImN1cnJlbnRZZWFyIiwiRGF0ZSIsImdldFVUQ0Z1bGxZZWFyIiwiY3VycmVudENlbnR1cnkiLCJNYXRoIiwiZmxvb3IiLCJ5ZWFyRGlmZiJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRmlzY2FsRm9ybWF0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2NhbGl6YXRpb24gZnJvbSBcInNhcC9iYXNlL2kxOG4vTG9jYWxpemF0aW9uXCI7XG5pbXBvcnQgdHlwZSBDYWxlbmRhclR5cGUgZnJvbSBcInNhcC91aS9jb3JlL0NhbGVuZGFyVHlwZVwiO1xuaW1wb3J0IExvY2FsZSBmcm9tIFwic2FwL3VpL2NvcmUvTG9jYWxlXCI7XG5pbXBvcnQgTG9jYWxlRGF0YSBmcm9tIFwic2FwL3VpL2NvcmUvTG9jYWxlRGF0YVwiO1xuXG4vKipcbiAqIENvbnN0cnVjdG9yIGZvciBhIG5ldyBGaXNjYWxGb3JtYXRcbiAqXG4gKiBAcGFyYW0gZm9ybWF0T3B0aW9ucyBPYmplY3QgdGhhdCBkZWZpbmVzIGZvcm1hdCBvcHRpb25zXG4gKiBAcGFyYW0gZm9ybWF0T3B0aW9ucy5mb3JtYXQgU3RyaW5nIHdpdGggZmlzY2FsIGZvcm1hdFxuICogQHBhcmFtIGZvcm1hdE9wdGlvbnMuY2FsZW5kYXJUeXBlIFN0cmluZyB3aXRoIGNhbGVuZGFyIHR5cGVcbiAqIDxoMz5PdmVydmlldzwvaDM+XG4gKlxuICogRm9ybWF0dGluZywgVmFsaWRhdGluZyBhbmQgUGFyc2luZyBGaXNjYWwgRGF0ZXNcbiAqIEBhdXRob3IgU0FQIFNFXG4gKiBAc2luY2UgMS4xMTAuMFxuICogQGV4cGVyaW1lbnRhbCBUaGlzIG1vZHVsZSBpcyBvbmx5IGZvciBpbnRlcm5hbC9leHBlcmltZW50YWwgdXNlIVxuICogQGhpZGVjb25zdHJ1Y3RvclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaXNjYWxGb3JtYXQge1xuXHRwcml2YXRlIHBhdHRlcm46IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHRwcml2YXRlIGZvcm1hdFJlZ0V4UGF0dGVybiE6IFJlZ0V4cDtcblxuXHRwcml2YXRlIGZvcm1hdFJlZ0V4R3JvdXBzITogc3RyaW5nO1xuXG5cdHByaXZhdGUgcGFyc2VSZWdFeFBhdHRlcm4hOiBSZWdFeHA7XG5cblx0cHJpdmF0ZSB2YWxpZGF0aW9uUmVnRXhQYXR0ZXJuITogUmVnRXhwO1xuXG5cdHByaXZhdGUgcGFyc2VSZWdFeFJlcGxhY2VyITogKHN1YnN0cmluZzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkgPT4gc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKGZvcm1hdE9wdGlvbnM6IHsgZm9ybWF0OiBzdHJpbmc7IGNhbGVuZGFyVHlwZTogQ2FsZW5kYXJUeXBlIH0pIHtcblx0XHRjb25zdCBsb2NhbGUgPSBuZXcgTG9jYWxlKExvY2FsaXphdGlvbi5nZXRMYW5ndWFnZSgpKSxcblx0XHRcdGxvY2FsZURhdGEgPSBuZXcgTG9jYWxlRGF0YShsb2NhbGUpO1xuXG5cdFx0bGV0IGZvcm1hdCA9IGZvcm1hdE9wdGlvbnMuZm9ybWF0O1xuXHRcdGlmIChmb3JtYXRPcHRpb25zLmZvcm1hdC5sZW5ndGggPiA0KSB7XG5cdFx0XHRmb3JtYXQgPSBcInlNXCI7XG5cdFx0fSBlbHNlIGlmIChmb3JtYXRPcHRpb25zLmZvcm1hdCA9PT0gXCJQUFBcIikge1xuXHRcdFx0Zm9ybWF0ID0gXCJNXCI7XG5cdFx0fVxuXG5cdFx0bGV0IHBhdHRlcm4gPSBsb2NhbGVEYXRhLmdldEN1c3RvbURhdGVUaW1lUGF0dGVybihmb3JtYXQsIGZvcm1hdE9wdGlvbnMuY2FsZW5kYXJUeXBlKTtcblx0XHRwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKC8oW1xcdTRlMDAtXFx1OWZhZlxcdTMwMDAtXFx1MzAzZlxcdTMwNDAtXFx1MzA5ZlxcdTMwYTAtXFx1MzBmZlxcdWZmMDAtXFx1ZmZlZl0pKy9naSwgXCJcIik7XG5cdFx0Ly8gUGFyc2luZyB0aGUgXCJ5TVwiIGZvcm1hdCBwYXR0ZXJuIHRvIHRoZSBwYXR0ZXJuIHRoYXQgd291bGQgbWF0Y2ggdGhlIHBhc3NlZCBmb3JtYXRcblx0XHRpZiAoZm9ybWF0T3B0aW9ucy5mb3JtYXQubGVuZ3RoID4gNCkge1xuXHRcdFx0cGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZSgveSsvaSwgZm9ybWF0T3B0aW9ucy5mb3JtYXQuc2xpY2UoMCwgZm9ybWF0T3B0aW9ucy5mb3JtYXQubGFzdEluZGV4T2YoXCJZXCIpICsgMSkpO1xuXHRcdFx0cGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZSgvbSsvaSwgZm9ybWF0T3B0aW9ucy5mb3JtYXQuc2xpY2UoZm9ybWF0T3B0aW9ucy5mb3JtYXQubGFzdEluZGV4T2YoXCJZXCIpICsgMSkpO1xuXHRcdH0gZWxzZSBpZiAoZm9ybWF0T3B0aW9ucy5mb3JtYXQgPT09IFwiUFBQXCIpIHtcblx0XHRcdHBhdHRlcm4gPSBcIlBQUFwiO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZvcm1hdEFycmF5ID0gdGhpcy5wYXJzZUNhbGVuZGFyRGF0ZVBhdHRlcm4ocGF0dGVybik7XG5cdFx0dGhpcy5wYXR0ZXJuID0gZm9ybWF0QXJyYXkubGVuZ3RoID4gMSA/IHBhdHRlcm4gOiB1bmRlZmluZWQ7XG5cdFx0dGhpcy5fc2V0Rm9ybWF0UmVnZXgoZm9ybWF0QXJyYXkpO1xuXHRcdHRoaXMuX3NldFBhcnNlUmVnZXgoZm9ybWF0QXJyYXkpO1xuXHRcdHRoaXMuX3NldFZhbGlkYXRpb25SZWdleChmb3JtYXRBcnJheSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGEgZGF0ZSBpbnN0YW5jZSBvZiB0aGUgPGNvZGU+RmlzY2FsRm9ybWF0PC9jb2RlPiBjbGFzcywgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGZvcm1hdHRpbmcuXG5cdCAqXG5cdCAqIEBwYXJhbSBmb3JtYXRPcHRpb25zIE9iamVjdCB0aGF0IGRlZmluZXMgZm9ybWF0IG9wdGlvbnNcblx0ICogQHBhcmFtIGZvcm1hdE9wdGlvbnMuZm9ybWF0IEZpc2NhbCBmb3JtYXRcblx0ICogQHBhcmFtIGZvcm1hdE9wdGlvbnMuY2FsZW5kYXJUeXBlIENhbGVuZGFyIHR5cGVcblx0ICogQHJldHVybnMgSW5zdGFuY2Ugb2YgdGhlIEZpc2NhbEZvcm1hdFxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXREYXRlSW5zdGFuY2UoZm9ybWF0T3B0aW9uczogeyBmb3JtYXQ6IHN0cmluZzsgY2FsZW5kYXJUeXBlOiBDYWxlbmRhclR5cGUgfSk6IEZpc2NhbEZvcm1hdCB7XG5cdFx0cmV0dXJuIG5ldyBGaXNjYWxGb3JtYXQoZm9ybWF0T3B0aW9ucyk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0UGF0dGVybigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiB0aGlzLnBhdHRlcm47XG5cdH1cblxuXHQvKipcblx0ICogRm9ybWF0IHRoZSByYXcgZmlzY2FsIGRhdGEgdG8gYSBsb2NhbGUtZGVwZW5kZW50IGZvcm1hdC5cblx0ICpcblx0ICogQHBhcmFtIHZhbHVlIFRoZSBwYXJhbWV0ZXIgY29udGFpbmluZyBhIHJhdyBmaXNjYWwgdmFsdWVcblx0ICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCB2YWx1ZVxuXHQgKi9cblx0cHVibGljIGZvcm1hdCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4ge1xuXHRcdGlmICh2YWx1ZSA9PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gXCJcIjtcblx0XHR9XG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuXHRcdFx0cmV0dXJuIHZhbHVlO1xuXHRcdH1cblxuXHRcdHJldHVybiB2YWx1ZS5yZXBsYWNlKHRoaXMuZm9ybWF0UmVnRXhQYXR0ZXJuLCB0aGlzLmZvcm1hdFJlZ0V4R3JvdXBzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZSBmcm9tIGEgbG9jYWxlLWRlcGVuZGVudCBmb3JtYXQgdG8gYSByYXcgdmFsdWUuXG5cdCAqXG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RyaW5nIGNvbnRhaW5pbmcgYSBwYXJzZWQgZmlzY2FsIGRhdGEgdmFsdWVcblx0ICogQHJldHVybnMgVGhlIHJhdyB2YWx1ZVxuXHQgKi9cblx0cHVibGljIHBhcnNlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdGlmICghdmFsdWUpIHtcblx0XHRcdHJldHVybiBcIlwiO1xuXHRcdH1cblx0XHRyZXR1cm4gdmFsdWUucmVwbGFjZSh0aGlzLnBhcnNlUmVnRXhQYXR0ZXJuLCB0aGlzLnBhcnNlUmVnRXhSZXBsYWNlcik7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHRoZSBkYXRhIGlucHV0LlxuXHQgKlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIHJhdyBmaXNjYWwgZGF0YVxuXHQgKiBAcmV0dXJucyBJZiA8Y29kZT50cnVlPC9jb2RlPiB0aGUgdmFsaWRhdGlvbiBwYXNzZXMsIG90aGVyd2lzZSA8Y29kZT5mYWxzZTwvY29kZT5cblx0ICovXG5cdHB1YmxpYyB2YWxpZGF0ZSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMudmFsaWRhdGlvblJlZ0V4UGF0dGVybi50ZXN0KHZhbHVlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZSB0aGUgZGF0ZSBwYXR0ZXJuIHN0cmluZyBhbmQgY3JlYXRlIGEgZm9ybWF0IGFycmF5IGZyb20gaXQuXG5cdCAqIEFycmF5IGlzIHVzZWQgZm9yIGRhdGEgcGFyc2luZyBhbmQgZm9ybWF0dGluZy5cblx0ICpcblx0ICogQHBhcmFtIHBhdHRlcm4gVGhlIGNhbGVuZGFyIGRhdGUgcGF0dGVybiBzdHJpbmdcblx0ICogQHJldHVybnMgRm9ybWF0IGFycmF5XG5cdCAqL1xuXHRwcml2YXRlIHBhcnNlQ2FsZW5kYXJEYXRlUGF0dGVybihwYXR0ZXJuOiBzdHJpbmcpOiB7IGRpZ2l0czogbnVtYmVyOyB2YWx1ZTogc3RyaW5nOyBzeW1ib2w6IHN0cmluZyB9W10ge1xuXHRcdGNvbnN0IGZvcm1hdEFycmF5ID0gW107XG5cdFx0bGV0IGNoYXIsXG5cdFx0XHRjdXJyZW50T2JqZWN0ID0geyBkaWdpdHM6IDAsIHZhbHVlOiBcIlwiLCBzeW1ib2w6IFwiXCIgfTtcblxuXHRcdGZvciAoY29uc3QgY3VyQ2hhciBvZiBwYXR0ZXJuKSB7XG5cdFx0XHRpZiAoY2hhciAhPT0gY3VyQ2hhcikge1xuXHRcdFx0XHRjdXJyZW50T2JqZWN0ID0geyBkaWdpdHM6IDAsIHZhbHVlOiBcIlwiLCBzeW1ib2w6IFwiXCIgfTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGN1cnJlbnRPYmplY3QuZGlnaXRzICs9IDE7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAodHlwZW9mIEZpc2NhbEZvcm1hdC5zeW1ib2xzW2N1ckNoYXIgYXMga2V5b2YgdHlwZW9mIEZpc2NhbEZvcm1hdC5zeW1ib2xzXSA9PT0gXCJ1bmRlZmluZWRcIikge1xuXHRcdFx0XHRjdXJyZW50T2JqZWN0LnZhbHVlID0gY3VyQ2hhcjtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGN1cnJlbnRPYmplY3Quc3ltYm9sID0gY3VyQ2hhcjtcblx0XHRcdFx0Y3VycmVudE9iamVjdC5kaWdpdHMgPSAxO1xuXHRcdFx0fVxuXHRcdFx0Y2hhciA9IGN1ckNoYXI7XG5cdFx0XHRmb3JtYXRBcnJheS5wdXNoKGN1cnJlbnRPYmplY3QpO1xuXHRcdH1cblxuXHRcdHJldHVybiBmb3JtYXRBcnJheTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIHRoZSBmb3JtYXR0aW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBiYXNlZCBvbiB0aGUgbG9jYWxlLWRlcGVuZGVudCBmb3JtYXQuXG5cdCAqXG5cdCAqIEBwYXJhbSBmb3JtYXRBcnJheSBBbiBhcnJheSB3aXRoIHRoZSBsb2NhbGUtZGVwZW5kZW50IGZvcm1hdFxuXHQgKi9cblx0cHJpdmF0ZSBfc2V0Rm9ybWF0UmVnZXgoZm9ybWF0QXJyYXk6IHsgZGlnaXRzOiBudW1iZXI7IHZhbHVlOiBzdHJpbmc7IHN5bWJvbDogc3RyaW5nIH1bXSk6IHZvaWQge1xuXHRcdGNvbnN0IHJlZ0V4UGF0dGVybiA9IFtdLFxuXHRcdFx0cmVnRXhHcm91cHMgPSBbXTtcblx0XHRsZXQgcGFydCwgc3ltYm9sLCByZWdleCwgeWVhcjtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGZvcm1hdEFycmF5Lmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRwYXJ0ID0gZm9ybWF0QXJyYXlbaV07XG5cdFx0XHRzeW1ib2wgPSBwYXJ0LnN5bWJvbDtcblx0XHRcdHJlZ2V4ID0gRmlzY2FsRm9ybWF0LnN5bWJvbHNbc3ltYm9sIGFzIGtleW9mIHR5cGVvZiBGaXNjYWxGb3JtYXQuc3ltYm9sc10uZm9ybWF0O1xuXG5cdFx0XHRpZiAoc3ltYm9sID09PSBcIlwiKSB7XG5cdFx0XHRcdHJlZ0V4R3JvdXBzW2ldID0gcGFydC52YWx1ZTtcblx0XHRcdH0gZWxzZSBpZiAoc3ltYm9sLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IFwieVwiKSB7XG5cdFx0XHRcdHJlZ0V4UGF0dGVybi51bnNoaWZ0KFwiKFwiICsgcmVnZXguc291cmNlICsgXCIpXCIpO1xuXHRcdFx0XHRyZWdFeEdyb3Vwc1tpXSA9IFwiJFwiICsgMTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJlZ0V4UGF0dGVybi5wdXNoKFwiKFwiICsgcmVnZXguc291cmNlICsgXCIpXCIpO1xuXHRcdFx0XHR5ZWFyID0gZm9ybWF0QXJyYXkuc29tZShmdW5jdGlvbiAocGFydEVudHJ5KSB7XG5cdFx0XHRcdFx0cmV0dXJuIHBhcnRFbnRyeS5zeW1ib2wudG9Mb3dlckNhc2UoKSA9PT0gXCJ5XCI7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRyZWdFeEdyb3Vwc1tpXSA9IHllYXIgPyBcIiRcIiArIDIgOiBcIiRcIiArIDE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpcy5mb3JtYXRSZWdFeFBhdHRlcm4gPSBuZXcgUmVnRXhwKHJlZ0V4UGF0dGVybi5qb2luKFwiXCIpKTtcblx0XHR0aGlzLmZvcm1hdFJlZ0V4R3JvdXBzID0gcmVnRXhHcm91cHMuam9pbihcIlwiKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIHRoZSBwYXJzaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBiYXNlZCBvbiB0aGUgbG9jYWxlLWRlcGVuZGVudCBmb3JtYXQuXG5cdCAqXG5cdCAqIEBwYXJhbSBmb3JtYXRBcnJheSBBbiBhcnJheSB3aXRoIHRoZSBsb2NhbGUtZGVwZW5kZW50IGZvcm1hdFxuXHQgKi9cblx0cHJpdmF0ZSBfc2V0UGFyc2VSZWdleChmb3JtYXRBcnJheTogeyBkaWdpdHM6IG51bWJlcjsgdmFsdWU6IHN0cmluZzsgc3ltYm9sOiBzdHJpbmcgfVtdKTogdm9pZCB7XG5cdFx0Y29uc3QgcmVnRXhQYXR0ZXJuID0gW10sXG5cdFx0XHRmaWx0ZXJlZEZvcm1hdDogeyBbaW5kZXg6IHN0cmluZ106IHsgZGlnaXRzOiBudW1iZXI7IHZhbHVlOiBzdHJpbmc7IHN5bWJvbDogc3RyaW5nIH0gfSA9IHt9O1xuXHRcdGxldCBzeW1ib2wsXG5cdFx0XHRyZWdleCxcblx0XHRcdGN1cnJHcm91cDogbnVtYmVyLFxuXHRcdFx0Z3JvdXAgPSAwO1xuXHRcdGZvciAoY29uc3QgcGFydCBvZiBmb3JtYXRBcnJheSkge1xuXHRcdFx0c3ltYm9sID0gcGFydC5zeW1ib2w7XG5cblx0XHRcdGlmIChzeW1ib2wgPT09IFwiXCIpIHtcblx0XHRcdFx0cmVnRXhQYXR0ZXJuLnB1c2goXCJcXFxcRCs/XCIpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmVnZXggPSBGaXNjYWxGb3JtYXQuc3ltYm9sc1tzeW1ib2wgYXMga2V5b2YgdHlwZW9mIEZpc2NhbEZvcm1hdC5zeW1ib2xzXS5wYXJzZTtcblx0XHRcdFx0cmVnRXhQYXR0ZXJuLnB1c2goXCIoXCIgKyByZWdleC5zb3VyY2UgKyBcIilcIik7XG5cdFx0XHRcdGN1cnJHcm91cCA9ICsrZ3JvdXA7XG5cdFx0XHRcdGZpbHRlcmVkRm9ybWF0W2N1cnJHcm91cF0gPSBwYXJ0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0aGlzLnBhcnNlUmVnRXhQYXR0ZXJuID0gbmV3IFJlZ0V4cChcIl5cIiArIHJlZ0V4UGF0dGVybi5qb2luKFwiXCIpICsgXCIkXCIpO1xuXHRcdHRoaXMucGFyc2VSZWdFeFJlcGxhY2VyID0gdGhpcy5nZXRSZWdFeFJlcGxhY2VyKGZpbHRlcmVkRm9ybWF0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpcyB1c2VkIHRvIHJlcGxhY2Ugc3RyaW5ncyBhbmQgdGhlbiBwZXJmb3JtcyByYXcgc3RyaW5nIHBhcnNpbmcuXG5cdCAqXG5cdCAqIEBwYXJhbSBmaWx0ZXJlZEZvcm1hdCBBbiBhcnJheSB3aXRoIHRoZSBsb2NhbGUtZGVwZW5kZW50IGZvcm1hdFxuXHQgKiBAcmV0dXJucyBGdW5jdGlvbiB0aGF0IGNhbiBiZSBwYXNzZWQgaW50byB0aGUgc3RyaW5nLnJlcGxhY2UgZnVuY3Rpb25cblx0ICovXG5cdHByaXZhdGUgZ2V0UmVnRXhSZXBsYWNlcihmaWx0ZXJlZEZvcm1hdDoge1xuXHRcdFtpbmRleDogc3RyaW5nXTogeyBkaWdpdHM6IG51bWJlcjsgdmFsdWU6IHN0cmluZzsgc3ltYm9sOiBzdHJpbmcgfTtcblx0fSk6IChzdWJzdHJpbmc6IHN0cmluZywgLi4uYXJnczogYW55W10pID0+IHN0cmluZyB7XG5cdFx0cmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gW107XG5cdFx0XHRsZXQgdmFsdWVQYXJ0LCBzdHJpbmdHcm91cDtcblx0XHRcdGZvciAoY29uc3Qga2V5IGluIGZpbHRlcmVkRm9ybWF0KSB7XG5cdFx0XHRcdHZhbHVlUGFydCA9IGZpbHRlcmVkRm9ybWF0W2tleV07XG5cdFx0XHRcdHN0cmluZ0dyb3VwID0gYXJnc1twYXJzZUludChrZXksIDEwKV07XG5cdFx0XHRcdGlmIChzdHJpbmdHcm91cC5sZW5ndGggPCB2YWx1ZVBhcnQuZGlnaXRzKSB7XG5cdFx0XHRcdFx0aWYgKHZhbHVlUGFydC5zeW1ib2wudG9Mb3dlckNhc2UoKSA9PT0gXCJ5XCIpIHtcblx0XHRcdFx0XHRcdHN0cmluZ0dyb3VwID0gcGFyc2VZZWFyKHN0cmluZ0dyb3VwKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0c3RyaW5nR3JvdXAgPSBzdHJpbmdHcm91cC5wYWRTdGFydCh2YWx1ZVBhcnQuZGlnaXRzLCBcIjBcIik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh2YWx1ZVBhcnQuc3ltYm9sLnRvTG93ZXJDYXNlKCkgPT09IFwieVwiKSB7XG5cdFx0XHRcdFx0cmVzdWx0LnVuc2hpZnQoc3RyaW5nR3JvdXApO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJlc3VsdC5wdXNoKHN0cmluZ0dyb3VwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gcmVzdWx0LmpvaW4oXCJcIik7XG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIHRoZSB2YWxpZGF0aW9uIHJlZ3VsYXIgZXhwcmVzc2lvbiBiYXNlZCBvbiB0aGUgZm9ybWF0LlxuXHQgKlxuXHQgKiBAcGFyYW0gZm9ybWF0QXJyYXkgQW4gYXJyYXkgd2l0aCB0aGUgbG9jYWxlLWRlcGVuZGVudCBmb3JtYXRcblx0ICovXG5cdHByaXZhdGUgX3NldFZhbGlkYXRpb25SZWdleChmb3JtYXRBcnJheTogeyBkaWdpdHM6IG51bWJlcjsgdmFsdWU6IHN0cmluZzsgc3ltYm9sOiBzdHJpbmcgfVtdKTogdm9pZCB7XG5cdFx0Y29uc3QgcmVnRXhQYXR0ZXJuID0gW107XG5cdFx0bGV0IHN5bWJvbCwgcmVnZXg7XG5cdFx0Zm9yIChjb25zdCBwYXJ0IG9mIGZvcm1hdEFycmF5KSB7XG5cdFx0XHRzeW1ib2wgPSBwYXJ0LnN5bWJvbDtcblx0XHRcdHJlZ2V4ID0gRmlzY2FsRm9ybWF0LnN5bWJvbHNbc3ltYm9sIGFzIGtleW9mIHR5cGVvZiBGaXNjYWxGb3JtYXQuc3ltYm9sc10uZm9ybWF0O1xuXHRcdFx0aWYgKHN5bWJvbCA9PT0gXCJcIikge1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH0gZWxzZSBpZiAoc3ltYm9sLnRvTG93ZXJDYXNlKCkgPT09IFwieVwiKSB7XG5cdFx0XHRcdHJlZ0V4UGF0dGVybi51bnNoaWZ0KHJlZ2V4LnNvdXJjZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZWdFeFBhdHRlcm4ucHVzaChyZWdleC5zb3VyY2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0aGlzLnZhbGlkYXRpb25SZWdFeFBhdHRlcm4gPSBuZXcgUmVnRXhwKFwiXihcIiArIHJlZ0V4UGF0dGVybi5qb2luKFwiKShcIikgKyBcIikkXCIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJucyB1c2VkIHRvIGZvcm1hdCBmaXNjYWwgZGF0ZSBzdHJpbmdzXG5cdCAqL1xuXHRwcml2YXRlIHN0YXRpYyByZWdleEZvcm1hdFBhdHRlcm5zID0ge1xuXHRcdHllYXI6IC9bMS05XVxcZHszfS8sXG5cdFx0cGVyaW9kOiAvXFxkezN9Lyxcblx0XHRxdWFydGVyOiAvWzEtNF0vLFxuXHRcdHdlZWs6IC8wWzEtOV18WzEtNF1cXGR8NVswLTNdLyxcblx0XHRkYXk6IC8zNzF8MzcwfDNbMC02XVxcZHxbMS0yXVxcZHsyfXxbMS05XVxcZHxbMS05XS9cblx0fTtcblxuXHQvKipcblx0ICogUmVndWxhciBleHByZXNzaW9uIHBhdHRlcm5zIHVzZWQgZm9yIHJhdyBkYXRhIHBhcnNpbmcgYW5kIHZhbGlkYXRpb25cblx0ICovXG5cdHByaXZhdGUgc3RhdGljIHJlZ2V4UGFyc2VQYXR0ZXJucyA9IHtcblx0XHR5ZWFyOiAvXFxkezEsNH0vLFxuXHRcdHBlcmlvZDogL1xcZHsxLDN9Lyxcblx0XHRxdWFydGVyOiAvWzEtNF0vLFxuXHRcdHdlZWs6IC9cXGR7MSwyfS8sXG5cdFx0ZGF5OiAvWzEtOV0vXG5cdH07XG5cblx0LyoqXG5cdCAqIE1hcHBpbmcgZnJvbSBzcGVjaWZpYyBjYWxlbmRhciB0eXBlIHRvIGNvcnJlc3BvbmRpbmcgZm9ybWF0dGluZy9wYXJzaW5nIGV4cHJlc3Npb25cblx0ICovXG5cdHByaXZhdGUgc3RhdGljIHN5bWJvbHMgPSB7XG5cdFx0XCJcIjogeyBmb3JtYXQ6IC8gLywgcGFyc2U6IC8gLyB9LCAvLyBcInRleHRcIlxuXHRcdHk6IHsgZm9ybWF0OiBGaXNjYWxGb3JtYXQucmVnZXhGb3JtYXRQYXR0ZXJucy55ZWFyLCBwYXJzZTogRmlzY2FsRm9ybWF0LnJlZ2V4UGFyc2VQYXR0ZXJucy55ZWFyIH0sIC8vIFwieWVhclwiXG5cdFx0WTogeyBmb3JtYXQ6IEZpc2NhbEZvcm1hdC5yZWdleEZvcm1hdFBhdHRlcm5zLnllYXIsIHBhcnNlOiBGaXNjYWxGb3JtYXQucmVnZXhQYXJzZVBhdHRlcm5zLnllYXIgfSwgLy8gXCJ3ZWVrWWVhclwiXG5cdFx0UDogeyBmb3JtYXQ6IEZpc2NhbEZvcm1hdC5yZWdleEZvcm1hdFBhdHRlcm5zLnBlcmlvZCwgcGFyc2U6IEZpc2NhbEZvcm1hdC5yZWdleFBhcnNlUGF0dGVybnMucGVyaW9kIH0sIC8vIFwicGVyaW9kXCJcblx0XHRXOiB7IGZvcm1hdDogRmlzY2FsRm9ybWF0LnJlZ2V4Rm9ybWF0UGF0dGVybnMud2VlaywgcGFyc2U6IEZpc2NhbEZvcm1hdC5yZWdleFBhcnNlUGF0dGVybnMud2VlayB9LCAvLyBcIndlZWtJblllYXJcIlxuXHRcdGQ6IHsgZm9ybWF0OiBGaXNjYWxGb3JtYXQucmVnZXhGb3JtYXRQYXR0ZXJucy5kYXksIHBhcnNlOiBGaXNjYWxGb3JtYXQucmVnZXhQYXJzZVBhdHRlcm5zLmRheSB9LCAvLyBcImRheUluWWVhclwiXG5cdFx0UTogeyBmb3JtYXQ6IEZpc2NhbEZvcm1hdC5yZWdleEZvcm1hdFBhdHRlcm5zLnF1YXJ0ZXIsIHBhcnNlOiBGaXNjYWxGb3JtYXQucmVnZXhQYXJzZVBhdHRlcm5zLnF1YXJ0ZXIgfSwgLy8gXCJxdWFydGVyXCJcblx0XHRxOiB7IGZvcm1hdDogRmlzY2FsRm9ybWF0LnJlZ2V4Rm9ybWF0UGF0dGVybnMucXVhcnRlciwgcGFyc2U6IEZpc2NhbEZvcm1hdC5yZWdleFBhcnNlUGF0dGVybnMucXVhcnRlciB9IC8vXCJxdWFydGVyU3RhbmRhbG9uZVwiXG5cdH07XG59XG5cbi8qKlxuICogUGFyc2VzIHRoZSBZZWFyIGZvcm1hdC4gVGhpcyBpcyBob3cgdGhlIERhdGVGb3JtYXQgcGFyc2VzIHllYXJzLCBleGNlcHQgdGhvc2UgeWVhcnMgY29uc2lzdGluZyBvZiAzIGRpZ2l0cywgc2luY2UgY3VycmVuY3kgZmlzY2FsIGRhdGVzIHN1cHBvcnQgb25seSB5ZWFycyBjb25zaXN0aW5nIG9mIDQgZGlnaXRzLlxuICpcbiAqIEBwYXJhbSB5ZWFyIFllYXIgc3RyaW5nXG4gKiBAcmV0dXJucyBZZWFyIG51bWJlclxuICovXG5mdW5jdGlvbiBwYXJzZVllYXIoeWVhcjogc3RyaW5nKTogbnVtYmVyIHtcblx0bGV0IHBhcnNlZFllYXIgPSBOdW1iZXIucGFyc2VJbnQoeWVhciwgMTApO1xuXHRjb25zdCBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0VVRDRnVsbFllYXIoKSxcblx0XHRjdXJyZW50Q2VudHVyeSA9IE1hdGguZmxvb3IoY3VycmVudFllYXIgLyAxMDApLFxuXHRcdHllYXJEaWZmID0gY3VycmVudENlbnR1cnkgKiAxMDAgKyBwYXJzZWRZZWFyIC0gY3VycmVudFllYXI7XG5cblx0aWYgKHllYXIubGVuZ3RoID09PSAzKSB7XG5cdFx0cGFyc2VkWWVhciArPSBNYXRoLmZsb29yKChjdXJyZW50Q2VudHVyeSAtIDEpIC8gMTApICogMTAwMDtcblx0fSBlbHNlIGlmICh5ZWFyRGlmZiA8IC03MCkge1xuXHRcdHBhcnNlZFllYXIgKz0gKGN1cnJlbnRDZW50dXJ5ICsgMSkgKiAxMDA7IC8vIFRha2UgbmV4dCBjZW50dXJ5IGlmIFwieWVhclwiIGlzIDMwIHllYXJzIGluIHRoZSBmdXR1cmUuIEN1cnJlbnQgeWVhciAxOTk5IGFuZCB3ZSBlbnRlciAyOCBpdCB3aWxsIHdlIDIwMjhcblx0fSBlbHNlIGlmICh5ZWFyRGlmZiA8IDMwKSB7XG5cdFx0cGFyc2VkWWVhciArPSBjdXJyZW50Q2VudHVyeSAqIDEwMDsgLy8gVGFrZSBuZXh0IGNlbnR1cnkgaWYgXCJ5ZWFyXCIgaXMgMzAgeWVhcnMgaW4gdGhlIGZ1dHVyZS4gQ3VycmVudCB5ZWFyIDIwMDAgYW5kIHdlIGVudGVyIDI5IGl0IHdpbGwgd2UgMjAyOVxuXHR9IGVsc2Uge1xuXHRcdHBhcnNlZFllYXIgKz0gKGN1cnJlbnRDZW50dXJ5IC0gMSkgKiAxMDA7IC8vIEFueSBlbnRlcmVkIFwieWVhclwiIHRoYXQgaXMgbW9yZSB0aGFuIDMwIHllYXJzIGluIHRoZSBmdXR1cmUgd2lsbCBiZSB0cmVhdGVkIGFzIGZyb20gcHJldmlvdXMgY2VudHVyeVxuXHR9XG5cdHJldHVybiBwYXJzZWRZZWFyO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7OztFQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFiQSxJQWNxQkEsWUFBWTtJQWFoQyxzQkFBWUMsYUFBNkQsRUFBRTtNQUMxRSxNQUFNQyxNQUFNLEdBQUcsSUFBSUMsTUFBTSxDQUFDQyxZQUFZLENBQUNDLFdBQVcsRUFBRSxDQUFDO1FBQ3BEQyxVQUFVLEdBQUcsSUFBSUMsVUFBVSxDQUFDTCxNQUFNLENBQUM7TUFFcEMsSUFBSU0sTUFBTSxHQUFHUCxhQUFhLENBQUNPLE1BQU07TUFDakMsSUFBSVAsYUFBYSxDQUFDTyxNQUFNLENBQUNDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDcENELE1BQU0sR0FBRyxJQUFJO01BQ2QsQ0FBQyxNQUFNLElBQUlQLGFBQWEsQ0FBQ08sTUFBTSxLQUFLLEtBQUssRUFBRTtRQUMx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
|
|
342
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaXNjYWxGb3JtYXQiLCJmb3JtYXRPcHRpb25zIiwibG9jYWxlIiwiTG9jYWxlIiwiTG9jYWxpemF0aW9uIiwiZ2V0TGFuZ3VhZ2UiLCJsb2NhbGVEYXRhIiwiTG9jYWxlRGF0YSIsImZvcm1hdCIsImxlbmd0aCIsInBhdHRlcm4iLCJnZXRDdXN0b21EYXRlVGltZVBhdHRlcm4iLCJjYWxlbmRhclR5cGUiLCJyZXBsYWNlIiwic2xpY2UiLCJsYXN0SW5kZXhPZiIsImZvcm1hdEFycmF5IiwicGFyc2VDYWxlbmRhckRhdGVQYXR0ZXJuIiwidW5kZWZpbmVkIiwiX3NldEZvcm1hdFJlZ2V4IiwiX3NldFBhcnNlUmVnZXgiLCJfc2V0VmFsaWRhdGlvblJlZ2V4IiwiZ2V0RGF0ZUluc3RhbmNlIiwiZ2V0UGF0dGVybiIsInZhbHVlIiwiZm9ybWF0UmVnRXhQYXR0ZXJuIiwiZm9ybWF0UmVnRXhHcm91cHMiLCJwYXJzZSIsInBhcnNlUmVnRXhQYXR0ZXJuIiwicGFyc2VSZWdFeFJlcGxhY2VyIiwidmFsaWRhdGUiLCJ2YWxpZGF0aW9uUmVnRXhQYXR0ZXJuIiwidGVzdCIsImNoYXIiLCJjdXJyZW50T2JqZWN0IiwiZGlnaXRzIiwic3ltYm9sIiwiY3VyQ2hhciIsInN5bWJvbHMiLCJwdXNoIiwicmVnRXhQYXR0ZXJuIiwicmVnRXhHcm91cHMiLCJwYXJ0IiwicmVnZXgiLCJ5ZWFyIiwiaSIsInRvTG9jYWxlTG93ZXJDYXNlIiwidW5zaGlmdCIsInNvdXJjZSIsInNvbWUiLCJwYXJ0RW50cnkiLCJ0b0xvd2VyQ2FzZSIsIlJlZ0V4cCIsImpvaW4iLCJmaWx0ZXJlZEZvcm1hdCIsImN1cnJHcm91cCIsImdyb3VwIiwiZ2V0UmVnRXhSZXBsYWNlciIsInJlc3VsdCIsInZhbHVlUGFydCIsInN0cmluZ0dyb3VwIiwiYXJncyIsImtleSIsInBhcnNlSW50IiwicGFyc2VZZWFyIiwicGFkU3RhcnQiLCJyZWdleEZvcm1hdFBhdHRlcm5zIiwicGVyaW9kIiwicXVhcnRlciIsIndlZWsiLCJkYXkiLCJyZWdleFBhcnNlUGF0dGVybnMiLCJ5IiwiWSIsIlAiLCJXIiwiZCIsIlEiLCJxIiwicGFyc2VkWWVhciIsIk51bWJlciIsImN1cnJlbnRZZWFyIiwiRGF0ZSIsImdldFVUQ0Z1bGxZZWFyIiwiY3VycmVudENlbnR1cnkiLCJNYXRoIiwiZmxvb3IiLCJ5ZWFyRGlmZiJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRmlzY2FsRm9ybWF0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2NhbGl6YXRpb24gZnJvbSBcInNhcC9iYXNlL2kxOG4vTG9jYWxpemF0aW9uXCI7XG5pbXBvcnQgdHlwZSBDYWxlbmRhclR5cGUgZnJvbSBcInNhcC9iYXNlL2kxOG4vZGF0ZS9DYWxlbmRhclR5cGVcIjtcbmltcG9ydCBMb2NhbGUgZnJvbSBcInNhcC91aS9jb3JlL0xvY2FsZVwiO1xuaW1wb3J0IExvY2FsZURhdGEgZnJvbSBcInNhcC91aS9jb3JlL0xvY2FsZURhdGFcIjtcblxuLyoqXG4gKiBDb25zdHJ1Y3RvciBmb3IgYSBuZXcgRmlzY2FsRm9ybWF0XG4gKlxuICogQHBhcmFtIGZvcm1hdE9wdGlvbnMgT2JqZWN0IHRoYXQgZGVmaW5lcyBmb3JtYXQgb3B0aW9uc1xuICogQHBhcmFtIGZvcm1hdE9wdGlvbnMuZm9ybWF0IFN0cmluZyB3aXRoIGZpc2NhbCBmb3JtYXRcbiAqIEBwYXJhbSBmb3JtYXRPcHRpb25zLmNhbGVuZGFyVHlwZSBTdHJpbmcgd2l0aCBjYWxlbmRhciB0eXBlXG4gKiA8aDM+T3ZlcnZpZXc8L2gzPlxuICpcbiAqIEZvcm1hdHRpbmcsIFZhbGlkYXRpbmcgYW5kIFBhcnNpbmcgRmlzY2FsIERhdGVzXG4gKiBAYXV0aG9yIFNBUCBTRVxuICogQHNpbmNlIDEuMTEwLjBcbiAqIEBleHBlcmltZW50YWwgVGhpcyBtb2R1bGUgaXMgb25seSBmb3IgaW50ZXJuYWwvZXhwZXJpbWVudGFsIHVzZSFcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlzY2FsRm9ybWF0IHtcblx0cHJpdmF0ZSBwYXR0ZXJuOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cblx0cHJpdmF0ZSBmb3JtYXRSZWdFeFBhdHRlcm4hOiBSZWdFeHA7XG5cblx0cHJpdmF0ZSBmb3JtYXRSZWdFeEdyb3VwcyE6IHN0cmluZztcblxuXHRwcml2YXRlIHBhcnNlUmVnRXhQYXR0ZXJuITogUmVnRXhwO1xuXG5cdHByaXZhdGUgdmFsaWRhdGlvblJlZ0V4UGF0dGVybiE6IFJlZ0V4cDtcblxuXHRwcml2YXRlIHBhcnNlUmVnRXhSZXBsYWNlciE6IChzdWJzdHJpbmc6IHN0cmluZywgLi4uYXJnczogYW55W10pID0+IHN0cmluZztcblxuXHRjb25zdHJ1Y3Rvcihmb3JtYXRPcHRpb25zOiB7IGZvcm1hdDogc3RyaW5nOyBjYWxlbmRhclR5cGU6IENhbGVuZGFyVHlwZSB9KSB7XG5cdFx0Y29uc3QgbG9jYWxlID0gbmV3IExvY2FsZShMb2NhbGl6YXRpb24uZ2V0TGFuZ3VhZ2UoKSksXG5cdFx0XHRsb2NhbGVEYXRhID0gbmV3IExvY2FsZURhdGEobG9jYWxlKTtcblxuXHRcdGxldCBmb3JtYXQgPSBmb3JtYXRPcHRpb25zLmZvcm1hdDtcblx0XHRpZiAoZm9ybWF0T3B0aW9ucy5mb3JtYXQubGVuZ3RoID4gNCkge1xuXHRcdFx0Zm9ybWF0ID0gXCJ5TVwiO1xuXHRcdH0gZWxzZSBpZiAoZm9ybWF0T3B0aW9ucy5mb3JtYXQgPT09IFwiUFBQXCIpIHtcblx0XHRcdGZvcm1hdCA9IFwiTVwiO1xuXHRcdH1cblxuXHRcdGxldCBwYXR0ZXJuID0gbG9jYWxlRGF0YS5nZXRDdXN0b21EYXRlVGltZVBhdHRlcm4oZm9ybWF0LCBmb3JtYXRPcHRpb25zLmNhbGVuZGFyVHlwZSk7XG5cdFx0cGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZSgvKFtcXHU0ZTAwLVxcdTlmYWZcXHUzMDAwLVxcdTMwM2ZcXHUzMDQwLVxcdTMwOWZcXHUzMGEwLVxcdTMwZmZcXHVmZjAwLVxcdWZmZWZdKSsvZ2ksIFwiXCIpO1xuXHRcdC8vIFBhcnNpbmcgdGhlIFwieU1cIiBmb3JtYXQgcGF0dGVybiB0byB0aGUgcGF0dGVybiB0aGF0IHdvdWxkIG1hdGNoIHRoZSBwYXNzZWQgZm9ybWF0XG5cdFx0aWYgKGZvcm1hdE9wdGlvbnMuZm9ybWF0Lmxlbmd0aCA+IDQpIHtcblx0XHRcdHBhdHRlcm4gPSBwYXR0ZXJuLnJlcGxhY2UoL3krL2ksIGZvcm1hdE9wdGlvbnMuZm9ybWF0LnNsaWNlKDAsIGZvcm1hdE9wdGlvbnMuZm9ybWF0Lmxhc3RJbmRleE9mKFwiWVwiKSArIDEpKTtcblx0XHRcdHBhdHRlcm4gPSBwYXR0ZXJuLnJlcGxhY2UoL20rL2ksIGZvcm1hdE9wdGlvbnMuZm9ybWF0LnNsaWNlKGZvcm1hdE9wdGlvbnMuZm9ybWF0Lmxhc3RJbmRleE9mKFwiWVwiKSArIDEpKTtcblx0XHR9IGVsc2UgaWYgKGZvcm1hdE9wdGlvbnMuZm9ybWF0ID09PSBcIlBQUFwiKSB7XG5cdFx0XHRwYXR0ZXJuID0gXCJQUFBcIjtcblx0XHR9XG5cblx0XHRjb25zdCBmb3JtYXRBcnJheSA9IHRoaXMucGFyc2VDYWxlbmRhckRhdGVQYXR0ZXJuKHBhdHRlcm4pO1xuXHRcdHRoaXMucGF0dGVybiA9IGZvcm1hdEFycmF5Lmxlbmd0aCA+IDEgPyBwYXR0ZXJuIDogdW5kZWZpbmVkO1xuXHRcdHRoaXMuX3NldEZvcm1hdFJlZ2V4KGZvcm1hdEFycmF5KTtcblx0XHR0aGlzLl9zZXRQYXJzZVJlZ2V4KGZvcm1hdEFycmF5KTtcblx0XHR0aGlzLl9zZXRWYWxpZGF0aW9uUmVnZXgoZm9ybWF0QXJyYXkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCBhIGRhdGUgaW5zdGFuY2Ugb2YgdGhlIDxjb2RlPkZpc2NhbEZvcm1hdDwvY29kZT4gY2xhc3MsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBmb3JtYXR0aW5nLlxuXHQgKlxuXHQgKiBAcGFyYW0gZm9ybWF0T3B0aW9ucyBPYmplY3QgdGhhdCBkZWZpbmVzIGZvcm1hdCBvcHRpb25zXG5cdCAqIEBwYXJhbSBmb3JtYXRPcHRpb25zLmZvcm1hdCBGaXNjYWwgZm9ybWF0XG5cdCAqIEBwYXJhbSBmb3JtYXRPcHRpb25zLmNhbGVuZGFyVHlwZSBDYWxlbmRhciB0eXBlXG5cdCAqIEByZXR1cm5zIEluc3RhbmNlIG9mIHRoZSBGaXNjYWxGb3JtYXRcblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0RGF0ZUluc3RhbmNlKGZvcm1hdE9wdGlvbnM6IHsgZm9ybWF0OiBzdHJpbmc7IGNhbGVuZGFyVHlwZTogQ2FsZW5kYXJUeXBlIH0pOiBGaXNjYWxGb3JtYXQge1xuXHRcdHJldHVybiBuZXcgRmlzY2FsRm9ybWF0KGZvcm1hdE9wdGlvbnMpO1xuXHR9XG5cblx0cHVibGljIGdldFBhdHRlcm4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5wYXR0ZXJuO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZvcm1hdCB0aGUgcmF3IGZpc2NhbCBkYXRhIHRvIGEgbG9jYWxlLWRlcGVuZGVudCBmb3JtYXQuXG5cdCAqXG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgcGFyYW1ldGVyIGNvbnRhaW5pbmcgYSByYXcgZmlzY2FsIHZhbHVlXG5cdCAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgdmFsdWVcblx0ICovXG5cdHB1YmxpYyBmb3JtYXQodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHtcblx0XHRpZiAodmFsdWUgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIFwiXCI7XG5cdFx0fVxuXHRcdGlmICh0eXBlb2YgdmFsdWUgIT09IFwic3RyaW5nXCIpIHtcblx0XHRcdHJldHVybiB2YWx1ZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdmFsdWUucmVwbGFjZSh0aGlzLmZvcm1hdFJlZ0V4UGF0dGVybiwgdGhpcy5mb3JtYXRSZWdFeEdyb3Vwcyk7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2UgZnJvbSBhIGxvY2FsZS1kZXBlbmRlbnQgZm9ybWF0IHRvIGEgcmF3IHZhbHVlLlxuXHQgKlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyBjb250YWluaW5nIGEgcGFyc2VkIGZpc2NhbCBkYXRhIHZhbHVlXG5cdCAqIEByZXR1cm5zIFRoZSByYXcgdmFsdWVcblx0ICovXG5cdHB1YmxpYyBwYXJzZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRpZiAoIXZhbHVlKSB7XG5cdFx0XHRyZXR1cm4gXCJcIjtcblx0XHR9XG5cdFx0cmV0dXJuIHZhbHVlLnJlcGxhY2UodGhpcy5wYXJzZVJlZ0V4UGF0dGVybiwgdGhpcy5wYXJzZVJlZ0V4UmVwbGFjZXIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB0aGUgZGF0YSBpbnB1dC5cblx0ICpcblx0ICogQHBhcmFtIHZhbHVlIFRoZSByYXcgZmlzY2FsIGRhdGFcblx0ICogQHJldHVybnMgSWYgPGNvZGU+dHJ1ZTwvY29kZT4gdGhlIHZhbGlkYXRpb24gcGFzc2VzLCBvdGhlcndpc2UgPGNvZGU+ZmFsc2U8L2NvZGU+XG5cdCAqL1xuXHRwdWJsaWMgdmFsaWRhdGUodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLnZhbGlkYXRpb25SZWdFeFBhdHRlcm4udGVzdCh2YWx1ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2UgdGhlIGRhdGUgcGF0dGVybiBzdHJpbmcgYW5kIGNyZWF0ZSBhIGZvcm1hdCBhcnJheSBmcm9tIGl0LlxuXHQgKiBBcnJheSBpcyB1c2VkIGZvciBkYXRhIHBhcnNpbmcgYW5kIGZvcm1hdHRpbmcuXG5cdCAqXG5cdCAqIEBwYXJhbSBwYXR0ZXJuIFRoZSBjYWxlbmRhciBkYXRlIHBhdHRlcm4gc3RyaW5nXG5cdCAqIEByZXR1cm5zIEZvcm1hdCBhcnJheVxuXHQgKi9cblx0cHJpdmF0ZSBwYXJzZUNhbGVuZGFyRGF0ZVBhdHRlcm4ocGF0dGVybjogc3RyaW5nKTogeyBkaWdpdHM6IG51bWJlcjsgdmFsdWU6IHN0cmluZzsgc3ltYm9sOiBzdHJpbmcgfVtdIHtcblx0XHRjb25zdCBmb3JtYXRBcnJheSA9IFtdO1xuXHRcdGxldCBjaGFyLFxuXHRcdFx0Y3VycmVudE9iamVjdCA9IHsgZGlnaXRzOiAwLCB2YWx1ZTogXCJcIiwgc3ltYm9sOiBcIlwiIH07XG5cblx0XHRmb3IgKGNvbnN0IGN1ckNoYXIgb2YgcGF0dGVybikge1xuXHRcdFx0aWYgKGNoYXIgIT09IGN1ckNoYXIpIHtcblx0XHRcdFx0Y3VycmVudE9iamVjdCA9IHsgZGlnaXRzOiAwLCB2YWx1ZTogXCJcIiwgc3ltYm9sOiBcIlwiIH07XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjdXJyZW50T2JqZWN0LmRpZ2l0cyArPSAxO1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKHR5cGVvZiBGaXNjYWxGb3JtYXQuc3ltYm9sc1tjdXJDaGFyIGFzIGtleW9mIHR5cGVvZiBGaXNjYWxGb3JtYXQuc3ltYm9sc10gPT09IFwidW5kZWZpbmVkXCIpIHtcblx0XHRcdFx0Y3VycmVudE9iamVjdC52YWx1ZSA9IGN1ckNoYXI7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjdXJyZW50T2JqZWN0LnN5bWJvbCA9IGN1ckNoYXI7XG5cdFx0XHRcdGN1cnJlbnRPYmplY3QuZGlnaXRzID0gMTtcblx0XHRcdH1cblx0XHRcdGNoYXIgPSBjdXJDaGFyO1xuXHRcdFx0Zm9ybWF0QXJyYXkucHVzaChjdXJyZW50T2JqZWN0KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gZm9ybWF0QXJyYXk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgZm9ybWF0dGluZyByZWd1bGFyIGV4cHJlc3Npb24gYmFzZWQgb24gdGhlIGxvY2FsZS1kZXBlbmRlbnQgZm9ybWF0LlxuXHQgKlxuXHQgKiBAcGFyYW0gZm9ybWF0QXJyYXkgQW4gYXJyYXkgd2l0aCB0aGUgbG9jYWxlLWRlcGVuZGVudCBmb3JtYXRcblx0ICovXG5cdHByaXZhdGUgX3NldEZvcm1hdFJlZ2V4KGZvcm1hdEFycmF5OiB7IGRpZ2l0czogbnVtYmVyOyB2YWx1ZTogc3RyaW5nOyBzeW1ib2w6IHN0cmluZyB9W10pOiB2b2lkIHtcblx0XHRjb25zdCByZWdFeFBhdHRlcm4gPSBbXSxcblx0XHRcdHJlZ0V4R3JvdXBzID0gW107XG5cdFx0bGV0IHBhcnQsIHN5bWJvbCwgcmVnZXgsIHllYXI7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBmb3JtYXRBcnJheS5sZW5ndGg7IGkrKykge1xuXHRcdFx0cGFydCA9IGZvcm1hdEFycmF5W2ldO1xuXHRcdFx0c3ltYm9sID0gcGFydC5zeW1ib2w7XG5cdFx0XHRyZWdleCA9IEZpc2NhbEZvcm1hdC5zeW1ib2xzW3N5bWJvbCBhcyBrZXlvZiB0eXBlb2YgRmlzY2FsRm9ybWF0LnN5bWJvbHNdLmZvcm1hdDtcblxuXHRcdFx0aWYgKHN5bWJvbCA9PT0gXCJcIikge1xuXHRcdFx0XHRyZWdFeEdyb3Vwc1tpXSA9IHBhcnQudmFsdWU7XG5cdFx0XHR9IGVsc2UgaWYgKHN5bWJvbC50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBcInlcIikge1xuXHRcdFx0XHRyZWdFeFBhdHRlcm4udW5zaGlmdChcIihcIiArIHJlZ2V4LnNvdXJjZSArIFwiKVwiKTtcblx0XHRcdFx0cmVnRXhHcm91cHNbaV0gPSBcIiRcIiArIDE7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZWdFeFBhdHRlcm4ucHVzaChcIihcIiArIHJlZ2V4LnNvdXJjZSArIFwiKVwiKTtcblx0XHRcdFx0eWVhciA9IGZvcm1hdEFycmF5LnNvbWUoZnVuY3Rpb24gKHBhcnRFbnRyeSkge1xuXHRcdFx0XHRcdHJldHVybiBwYXJ0RW50cnkuc3ltYm9sLnRvTG93ZXJDYXNlKCkgPT09IFwieVwiO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0cmVnRXhHcm91cHNbaV0gPSB5ZWFyID8gXCIkXCIgKyAyIDogXCIkXCIgKyAxO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHRoaXMuZm9ybWF0UmVnRXhQYXR0ZXJuID0gbmV3IFJlZ0V4cChyZWdFeFBhdHRlcm4uam9pbihcIlwiKSk7XG5cdFx0dGhpcy5mb3JtYXRSZWdFeEdyb3VwcyA9IHJlZ0V4R3JvdXBzLmpvaW4oXCJcIik7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgcGFyc2luZyByZWd1bGFyIGV4cHJlc3Npb24gYmFzZWQgb24gdGhlIGxvY2FsZS1kZXBlbmRlbnQgZm9ybWF0LlxuXHQgKlxuXHQgKiBAcGFyYW0gZm9ybWF0QXJyYXkgQW4gYXJyYXkgd2l0aCB0aGUgbG9jYWxlLWRlcGVuZGVudCBmb3JtYXRcblx0ICovXG5cdHByaXZhdGUgX3NldFBhcnNlUmVnZXgoZm9ybWF0QXJyYXk6IHsgZGlnaXRzOiBudW1iZXI7IHZhbHVlOiBzdHJpbmc7IHN5bWJvbDogc3RyaW5nIH1bXSk6IHZvaWQge1xuXHRcdGNvbnN0IHJlZ0V4UGF0dGVybiA9IFtdLFxuXHRcdFx0ZmlsdGVyZWRGb3JtYXQ6IHsgW2luZGV4OiBzdHJpbmddOiB7IGRpZ2l0czogbnVtYmVyOyB2YWx1ZTogc3RyaW5nOyBzeW1ib2w6IHN0cmluZyB9IH0gPSB7fTtcblx0XHRsZXQgc3ltYm9sLFxuXHRcdFx0cmVnZXgsXG5cdFx0XHRjdXJyR3JvdXA6IG51bWJlcixcblx0XHRcdGdyb3VwID0gMDtcblx0XHRmb3IgKGNvbnN0IHBhcnQgb2YgZm9ybWF0QXJyYXkpIHtcblx0XHRcdHN5bWJvbCA9IHBhcnQuc3ltYm9sO1xuXG5cdFx0XHRpZiAoc3ltYm9sID09PSBcIlwiKSB7XG5cdFx0XHRcdHJlZ0V4UGF0dGVybi5wdXNoKFwiXFxcXEQrP1wiKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJlZ2V4ID0gRmlzY2FsRm9ybWF0LnN5bWJvbHNbc3ltYm9sIGFzIGtleW9mIHR5cGVvZiBGaXNjYWxGb3JtYXQuc3ltYm9sc10ucGFyc2U7XG5cdFx0XHRcdHJlZ0V4UGF0dGVybi5wdXNoKFwiKFwiICsgcmVnZXguc291cmNlICsgXCIpXCIpO1xuXHRcdFx0XHRjdXJyR3JvdXAgPSArK2dyb3VwO1xuXHRcdFx0XHRmaWx0ZXJlZEZvcm1hdFtjdXJyR3JvdXBdID0gcGFydDtcblx0XHRcdH1cblx0XHR9XG5cdFx0dGhpcy5wYXJzZVJlZ0V4UGF0dGVybiA9IG5ldyBSZWdFeHAoXCJeXCIgKyByZWdFeFBhdHRlcm4uam9pbihcIlwiKSArIFwiJFwiKTtcblx0XHR0aGlzLnBhcnNlUmVnRXhSZXBsYWNlciA9IHRoaXMuZ2V0UmVnRXhSZXBsYWNlcihmaWx0ZXJlZEZvcm1hdCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaXMgdXNlZCB0byByZXBsYWNlIHN0cmluZ3MgYW5kIHRoZW4gcGVyZm9ybXMgcmF3IHN0cmluZyBwYXJzaW5nLlxuXHQgKlxuXHQgKiBAcGFyYW0gZmlsdGVyZWRGb3JtYXQgQW4gYXJyYXkgd2l0aCB0aGUgbG9jYWxlLWRlcGVuZGVudCBmb3JtYXRcblx0ICogQHJldHVybnMgRnVuY3Rpb24gdGhhdCBjYW4gYmUgcGFzc2VkIGludG8gdGhlIHN0cmluZy5yZXBsYWNlIGZ1bmN0aW9uXG5cdCAqL1xuXHRwcml2YXRlIGdldFJlZ0V4UmVwbGFjZXIoZmlsdGVyZWRGb3JtYXQ6IHtcblx0XHRbaW5kZXg6IHN0cmluZ106IHsgZGlnaXRzOiBudW1iZXI7IHZhbHVlOiBzdHJpbmc7IHN5bWJvbDogc3RyaW5nIH07XG5cdH0pOiAoc3Vic3RyaW5nOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiBzdHJpbmcge1xuXHRcdHJldHVybiBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IFtdO1xuXHRcdFx0bGV0IHZhbHVlUGFydCwgc3RyaW5nR3JvdXA7XG5cdFx0XHRmb3IgKGNvbnN0IGtleSBpbiBmaWx0ZXJlZEZvcm1hdCkge1xuXHRcdFx0XHR2YWx1ZVBhcnQgPSBmaWx0ZXJlZEZvcm1hdFtrZXldO1xuXHRcdFx0XHRzdHJpbmdHcm91cCA9IGFyZ3NbcGFyc2VJbnQoa2V5LCAxMCldO1xuXHRcdFx0XHRpZiAoc3RyaW5nR3JvdXAubGVuZ3RoIDwgdmFsdWVQYXJ0LmRpZ2l0cykge1xuXHRcdFx0XHRcdGlmICh2YWx1ZVBhcnQuc3ltYm9sLnRvTG93ZXJDYXNlKCkgPT09IFwieVwiKSB7XG5cdFx0XHRcdFx0XHRzdHJpbmdHcm91cCA9IHBhcnNlWWVhcihzdHJpbmdHcm91cCk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHN0cmluZ0dyb3VwID0gc3RyaW5nR3JvdXAucGFkU3RhcnQodmFsdWVQYXJ0LmRpZ2l0cywgXCIwXCIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAodmFsdWVQYXJ0LnN5bWJvbC50b0xvd2VyQ2FzZSgpID09PSBcInlcIikge1xuXHRcdFx0XHRcdHJlc3VsdC51bnNoaWZ0KHN0cmluZ0dyb3VwKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXN1bHQucHVzaChzdHJpbmdHcm91cCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHJlc3VsdC5qb2luKFwiXCIpO1xuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgdmFsaWRhdGlvbiByZWd1bGFyIGV4cHJlc3Npb24gYmFzZWQgb24gdGhlIGZvcm1hdC5cblx0ICpcblx0ICogQHBhcmFtIGZvcm1hdEFycmF5IEFuIGFycmF5IHdpdGggdGhlIGxvY2FsZS1kZXBlbmRlbnQgZm9ybWF0XG5cdCAqL1xuXHRwcml2YXRlIF9zZXRWYWxpZGF0aW9uUmVnZXgoZm9ybWF0QXJyYXk6IHsgZGlnaXRzOiBudW1iZXI7IHZhbHVlOiBzdHJpbmc7IHN5bWJvbDogc3RyaW5nIH1bXSk6IHZvaWQge1xuXHRcdGNvbnN0IHJlZ0V4UGF0dGVybiA9IFtdO1xuXHRcdGxldCBzeW1ib2wsIHJlZ2V4O1xuXHRcdGZvciAoY29uc3QgcGFydCBvZiBmb3JtYXRBcnJheSkge1xuXHRcdFx0c3ltYm9sID0gcGFydC5zeW1ib2w7XG5cdFx0XHRyZWdleCA9IEZpc2NhbEZvcm1hdC5zeW1ib2xzW3N5bWJvbCBhcyBrZXlvZiB0eXBlb2YgRmlzY2FsRm9ybWF0LnN5bWJvbHNdLmZvcm1hdDtcblx0XHRcdGlmIChzeW1ib2wgPT09IFwiXCIpIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9IGVsc2UgaWYgKHN5bWJvbC50b0xvd2VyQ2FzZSgpID09PSBcInlcIikge1xuXHRcdFx0XHRyZWdFeFBhdHRlcm4udW5zaGlmdChyZWdleC5zb3VyY2UpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmVnRXhQYXR0ZXJuLnB1c2gocmVnZXguc291cmNlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0dGhpcy52YWxpZGF0aW9uUmVnRXhQYXR0ZXJuID0gbmV3IFJlZ0V4cChcIl4oXCIgKyByZWdFeFBhdHRlcm4uam9pbihcIikoXCIpICsgXCIpJFwiKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybnMgdXNlZCB0byBmb3JtYXQgZmlzY2FsIGRhdGUgc3RyaW5nc1xuXHQgKi9cblx0cHJpdmF0ZSBzdGF0aWMgcmVnZXhGb3JtYXRQYXR0ZXJucyA9IHtcblx0XHR5ZWFyOiAvWzEtOV1cXGR7M30vLFxuXHRcdHBlcmlvZDogL1xcZHszfS8sXG5cdFx0cXVhcnRlcjogL1sxLTRdLyxcblx0XHR3ZWVrOiAvMFsxLTldfFsxLTRdXFxkfDVbMC0zXS8sXG5cdFx0ZGF5OiAvMzcxfDM3MHwzWzAtNl1cXGR8WzEtMl1cXGR7Mn18WzEtOV1cXGR8WzEtOV0vXG5cdH07XG5cblx0LyoqXG5cdCAqIFJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJucyB1c2VkIGZvciByYXcgZGF0YSBwYXJzaW5nIGFuZCB2YWxpZGF0aW9uXG5cdCAqL1xuXHRwcml2YXRlIHN0YXRpYyByZWdleFBhcnNlUGF0dGVybnMgPSB7XG5cdFx0eWVhcjogL1xcZHsxLDR9Lyxcblx0XHRwZXJpb2Q6IC9cXGR7MSwzfS8sXG5cdFx0cXVhcnRlcjogL1sxLTRdLyxcblx0XHR3ZWVrOiAvXFxkezEsMn0vLFxuXHRcdGRheTogL1sxLTldL1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBNYXBwaW5nIGZyb20gc3BlY2lmaWMgY2FsZW5kYXIgdHlwZSB0byBjb3JyZXNwb25kaW5nIGZvcm1hdHRpbmcvcGFyc2luZyBleHByZXNzaW9uXG5cdCAqL1xuXHRwcml2YXRlIHN0YXRpYyBzeW1ib2xzID0ge1xuXHRcdFwiXCI6IHsgZm9ybWF0OiAvIC8sIHBhcnNlOiAvIC8gfSwgLy8gXCJ0ZXh0XCJcblx0XHR5OiB7IGZvcm1hdDogRmlzY2FsRm9ybWF0LnJlZ2V4Rm9ybWF0UGF0dGVybnMueWVhciwgcGFyc2U6IEZpc2NhbEZvcm1hdC5yZWdleFBhcnNlUGF0dGVybnMueWVhciB9LCAvLyBcInllYXJcIlxuXHRcdFk6IHsgZm9ybWF0OiBGaXNjYWxGb3JtYXQucmVnZXhGb3JtYXRQYXR0ZXJucy55ZWFyLCBwYXJzZTogRmlzY2FsRm9ybWF0LnJlZ2V4UGFyc2VQYXR0ZXJucy55ZWFyIH0sIC8vIFwid2Vla1llYXJcIlxuXHRcdFA6IHsgZm9ybWF0OiBGaXNjYWxGb3JtYXQucmVnZXhGb3JtYXRQYXR0ZXJucy5wZXJpb2QsIHBhcnNlOiBGaXNjYWxGb3JtYXQucmVnZXhQYXJzZVBhdHRlcm5zLnBlcmlvZCB9LCAvLyBcInBlcmlvZFwiXG5cdFx0VzogeyBmb3JtYXQ6IEZpc2NhbEZvcm1hdC5yZWdleEZvcm1hdFBhdHRlcm5zLndlZWssIHBhcnNlOiBGaXNjYWxGb3JtYXQucmVnZXhQYXJzZVBhdHRlcm5zLndlZWsgfSwgLy8gXCJ3ZWVrSW5ZZWFyXCJcblx0XHRkOiB7IGZvcm1hdDogRmlzY2FsRm9ybWF0LnJlZ2V4Rm9ybWF0UGF0dGVybnMuZGF5LCBwYXJzZTogRmlzY2FsRm9ybWF0LnJlZ2V4UGFyc2VQYXR0ZXJucy5kYXkgfSwgLy8gXCJkYXlJblllYXJcIlxuXHRcdFE6IHsgZm9ybWF0OiBGaXNjYWxGb3JtYXQucmVnZXhGb3JtYXRQYXR0ZXJucy5xdWFydGVyLCBwYXJzZTogRmlzY2FsRm9ybWF0LnJlZ2V4UGFyc2VQYXR0ZXJucy5xdWFydGVyIH0sIC8vIFwicXVhcnRlclwiXG5cdFx0cTogeyBmb3JtYXQ6IEZpc2NhbEZvcm1hdC5yZWdleEZvcm1hdFBhdHRlcm5zLnF1YXJ0ZXIsIHBhcnNlOiBGaXNjYWxGb3JtYXQucmVnZXhQYXJzZVBhdHRlcm5zLnF1YXJ0ZXIgfSAvL1wicXVhcnRlclN0YW5kYWxvbmVcIlxuXHR9O1xufVxuXG4vKipcbiAqIFBhcnNlcyB0aGUgWWVhciBmb3JtYXQuIFRoaXMgaXMgaG93IHRoZSBEYXRlRm9ybWF0IHBhcnNlcyB5ZWFycywgZXhjZXB0IHRob3NlIHllYXJzIGNvbnNpc3Rpbmcgb2YgMyBkaWdpdHMsIHNpbmNlIGN1cnJlbmN5IGZpc2NhbCBkYXRlcyBzdXBwb3J0IG9ubHkgeWVhcnMgY29uc2lzdGluZyBvZiA0IGRpZ2l0cy5cbiAqXG4gKiBAcGFyYW0geWVhciBZZWFyIHN0cmluZ1xuICogQHJldHVybnMgWWVhciBudW1iZXJcbiAqL1xuZnVuY3Rpb24gcGFyc2VZZWFyKHllYXI6IHN0cmluZyk6IG51bWJlciB7XG5cdGxldCBwYXJzZWRZZWFyID0gTnVtYmVyLnBhcnNlSW50KHllYXIsIDEwKTtcblx0Y29uc3QgY3VycmVudFllYXIgPSBuZXcgRGF0ZSgpLmdldFVUQ0Z1bGxZZWFyKCksXG5cdFx0Y3VycmVudENlbnR1cnkgPSBNYXRoLmZsb29yKGN1cnJlbnRZZWFyIC8gMTAwKSxcblx0XHR5ZWFyRGlmZiA9IGN1cnJlbnRDZW50dXJ5ICogMTAwICsgcGFyc2VkWWVhciAtIGN1cnJlbnRZZWFyO1xuXG5cdGlmICh5ZWFyLmxlbmd0aCA9PT0gMykge1xuXHRcdHBhcnNlZFllYXIgKz0gTWF0aC5mbG9vcigoY3VycmVudENlbnR1cnkgLSAxKSAvIDEwKSAqIDEwMDA7XG5cdH0gZWxzZSBpZiAoeWVhckRpZmYgPCAtNzApIHtcblx0XHRwYXJzZWRZZWFyICs9IChjdXJyZW50Q2VudHVyeSArIDEpICogMTAwOyAvLyBUYWtlIG5leHQgY2VudHVyeSBpZiBcInllYXJcIiBpcyAzMCB5ZWFycyBpbiB0aGUgZnV0dXJlLiBDdXJyZW50IHllYXIgMTk5OSBhbmQgd2UgZW50ZXIgMjggaXQgd2lsbCB3ZSAyMDI4XG5cdH0gZWxzZSBpZiAoeWVhckRpZmYgPCAzMCkge1xuXHRcdHBhcnNlZFllYXIgKz0gY3VycmVudENlbnR1cnkgKiAxMDA7IC8vIFRha2UgbmV4dCBjZW50dXJ5IGlmIFwieWVhclwiIGlzIDMwIHllYXJzIGluIHRoZSBmdXR1cmUuIEN1cnJlbnQgeWVhciAyMDAwIGFuZCB3ZSBlbnRlciAyOSBpdCB3aWxsIHdlIDIwMjlcblx0fSBlbHNlIHtcblx0XHRwYXJzZWRZZWFyICs9IChjdXJyZW50Q2VudHVyeSAtIDEpICogMTAwOyAvLyBBbnkgZW50ZXJlZCBcInllYXJcIiB0aGF0IGlzIG1vcmUgdGhhbiAzMCB5ZWFycyBpbiB0aGUgZnV0dXJlIHdpbGwgYmUgdHJlYXRlZCBhcyBmcm9tIHByZXZpb3VzIGNlbnR1cnlcblx0fVxuXHRyZXR1cm4gcGFyc2VkWWVhcjtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7RUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBYkEsSUFjcUJBLFlBQVk7SUFhaEMsc0JBQVlDLGFBQTZELEVBQUU7TUFDMUUsTUFBTUMsTUFBTSxHQUFHLElBQUlDLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDQyxXQUFXLEVBQUUsQ0FBQztRQUNwREMsVUFBVSxHQUFHLElBQUlDLFVBQVUsQ0FBQ0wsTUFBTSxDQUFDO01BRXBDLElBQUlNLE1BQU0sR0FBR1AsYUFBYSxDQUFDTyxNQUFNO01BQ2pDLElBQUlQLGFBQWEsQ0FBQ08sTUFBTSxDQUFDQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3BDRCxNQUFNLEdBQUcsSUFBSTtNQUNkLENBQUMsTUFBTSxJQUFJUCxhQUFhLENBQUNPLE1BQU0sS0FBSyxLQUFLLEVB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Localization from "sap/base/i18n/Localization";
|
|
2
|
-
import type CalendarType from "sap/
|
|
2
|
+
import type CalendarType from "sap/base/i18n/date/CalendarType";
|
|
3
3
|
import Locale from "sap/ui/core/Locale";
|
|
4
4
|
import LocaleData from "sap/ui/core/LocaleData";
|
|
5
5
|
|