@sapui5/sap.fe.templates 1.102.0 → 1.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/templates/.library +1 -1
  3. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +2 -2
  4. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.ts +1 -1
  5. package/src/sap/fe/templates/Feedback.js +18 -18
  6. package/src/sap/fe/templates/Feedback.ts +12 -12
  7. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +9 -12
  8. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +9 -12
  9. package/src/sap/fe/templates/ListReport/ListReport.view.xml +3 -1
  10. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +80 -55
  11. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +95 -71
  12. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
  13. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.ts +2 -2
  14. package/src/sap/fe/templates/ListReport/overrides/Share.js +3 -4
  15. package/src/sap/fe/templates/ListReport/overrides/Share.ts +6 -7
  16. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +4 -5
  17. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +10 -10
  18. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +1 -1
  19. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.ts +1 -1
  20. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +12 -16
  21. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +17 -20
  22. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +4 -3
  23. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +148 -163
  24. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +138 -192
  25. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +62 -73
  26. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +75 -90
  27. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +2 -3
  28. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +4 -4
  29. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +1 -1
  30. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.ts +1 -1
  31. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
  32. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.ts +1 -1
  33. package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.js +103 -0
  34. package/src/sap/fe/templates/ObjectPage/handler/DraftHandler.ts +97 -0
  35. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +1 -1
  36. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +5 -5
  37. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
  38. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.ts +2 -2
  39. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
  40. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +2 -2
  41. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
  42. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.ts +1 -1
  43. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +15 -15
  44. package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +17 -28
  45. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +2 -2
  46. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +4 -4
  47. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +6 -1
  48. package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +10 -2
  49. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +1 -1
  50. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -14
  51. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +1 -0
  52. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +7 -2
  53. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderContact.fragment.xml +26 -0
  54. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +1 -1
  55. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +4 -1
  56. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +6 -2
  57. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
  58. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
  59. package/src/sap/fe/templates/ObjectPage/view/fragments/SwitchDraftAndActiveObjectPopOver.fragment.xml +2 -2
  60. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +25 -28
  61. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +30 -33
  62. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +3 -4
  63. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.ts +4 -5
  64. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +140 -52
  65. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.ts +108 -54
  66. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +1 -1
  67. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.ts +3 -3
  68. package/src/sap/fe/templates/TableScroller.js +3 -3
  69. package/src/sap/fe/templates/TableScroller.ts +2 -2
  70. package/src/sap/fe/templates/controls/Table.fragment.xml +1 -0
  71. package/src/sap/fe/templates/library.js +5 -2
  72. package/src/sap/fe/templates/library.ts +3 -0
  73. package/src/sap/fe/templates/messagebundle.properties +6 -18
  74. package/src/sap/fe/templates/messagebundle_pt.properties +1 -1
@@ -1,7 +1,7 @@
1
- import ResourceBundle from "sap/base/i18n/ResourceBundle";
1
+ import type ResourceBundle from "sap/base/i18n/ResourceBundle";
2
2
  import Log from "sap/base/Log";
3
3
  import ObjectPath from "sap/base/util/ObjectPath";
4
- import DynamicPage from "sap/f/DynamicPage";
4
+ import type DynamicPage from "sap/f/DynamicPage";
5
5
  import CommonUtils from "sap/fe/core/CommonUtils";
6
6
  import EditFlow from "sap/fe/core/controllerextensions/EditFlow";
7
7
  import IntentBasedNavigation from "sap/fe/core/controllerextensions/IntentBasedNavigation";
@@ -13,7 +13,7 @@ import Placeholder from "sap/fe/core/controllerextensions/Placeholder";
13
13
  import Share from "sap/fe/core/controllerextensions/Share";
14
14
  import SideEffects from "sap/fe/core/controllerextensions/SideEffects";
15
15
  import ViewState from "sap/fe/core/controllerextensions/ViewState";
16
- import FilterBar from "sap/fe/core/controls/FilterBar";
16
+ import type FilterBar from "sap/fe/core/controls/FilterBar";
17
17
  import {
18
18
  defineUI5Class,
19
19
  extensible,
@@ -23,7 +23,7 @@ import {
23
23
  usingExtension
24
24
  } from "sap/fe/core/helpers/ClassSupport";
25
25
  import EditState from "sap/fe/core/helpers/EditState";
26
- import { InternalModelContext } from "sap/fe/core/helpers/ModelHelper";
26
+ import type { InternalModelContext } from "sap/fe/core/helpers/ModelHelper";
27
27
  import CoreLibrary from "sap/fe/core/library";
28
28
  import PageController from "sap/fe/core/PageController";
29
29
  import ChartRuntime from "sap/fe/macros/chart/ChartRuntime";
@@ -35,18 +35,19 @@ import TableUtils from "sap/fe/macros/table/Utils";
35
35
  import ExtensionAPI from "sap/fe/templates/ListReport/ExtensionAPI";
36
36
  import EditFlowOverrides from "sap/fe/templates/RootContainer/overrides/EditFlow";
37
37
  import TableScroller from "sap/fe/templates/TableScroller";
38
- import IconTabBar from "sap/m/IconTabBar";
39
- import SegmentedButton from "sap/m/SegmentedButton";
40
- import Control from "sap/ui/core/Control";
38
+ import type IconTabBar from "sap/m/IconTabBar";
39
+ import type SegmentedButton from "sap/m/SegmentedButton";
40
+ import type Control from "sap/ui/core/Control";
41
41
  import Core from "sap/ui/core/Core";
42
42
  import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
43
43
  import { system } from "sap/ui/Device";
44
44
  import ControlPersonalizationWriteAPI from "sap/ui/fl/write/api/ControlPersonalizationWriteAPI";
45
45
  import StateUtil from "sap/ui/mdc/p13n/StateUtil";
46
- import Table from "sap/ui/mdc/Table";
47
- import JSONModel from "sap/ui/model/json/JSONModel";
48
- import ResourceModel from "sap/ui/model/resource/ResourceModel";
46
+ import type Table from "sap/ui/mdc/Table";
47
+ import type JSONModel from "sap/ui/model/json/JSONModel";
48
+ import type ResourceModel from "sap/ui/model/resource/ResourceModel";
49
49
  import hasher from "sap/ui/thirdparty/hasher";
50
+ import type { V4Context } from "types/extension_types";
50
51
  import IntentBasedNavigationOverride from "./overrides/IntentBasedNavigation";
51
52
  import ShareOverrides from "./overrides/Share";
52
53
  import ViewStateOverrides from "./overrides/ViewState";
@@ -154,7 +155,9 @@ class ListReportController extends PageController {
154
155
  // happen after the routeMatch event has been processed (otherwise the router gets broken)
155
156
  this.getAppComponent().getRouterProxy().waitForRouteMatchBeforeNavigation();
156
157
 
157
- this._isMultiMode() && this._updateMultiControlHiddenStatus();
158
+ if (this._isMultiMode()) {
159
+ this._updateMultiControlHiddenStatus();
160
+ }
158
161
 
159
162
  // Configure the initial load settings
160
163
  this._setInitLoad();
@@ -163,7 +166,9 @@ class ListReportController extends PageController {
163
166
  onExit() {
164
167
  delete this.filterBarConditions;
165
168
  delete this._oListReportControl;
166
- this.extensionAPI && this.extensionAPI.destroy();
169
+ if (this.extensionAPI) {
170
+ this.extensionAPI.destroy();
171
+ }
167
172
  delete this.extensionAPI;
168
173
  }
169
174
 
@@ -180,6 +185,7 @@ class ListReportController extends PageController {
180
185
  this.sUpdateTimer = setTimeout(() => {
181
186
  oTableBinding.refresh();
182
187
  if (this._isMultiMode()) {
188
+ this._invalidateMultipleModeContent();
183
189
  this._setCountsOutDated();
184
190
  this._updateCounts();
185
191
  }
@@ -253,7 +259,7 @@ class ListReportController extends PageController {
253
259
  * or when a tab with custom content is selected.
254
260
  * This method can be overwritten by the controller extension in case of customization.
255
261
  *
256
- * @param {map} mParameters Map containing the filter conditions of the FilterBar, the currentTabID
262
+ * @param mParameters Map containing the filter conditions of the FilterBar, the currentTabID
257
263
  * and the view refresh cause (tabChanged or search).
258
264
  * The map looks like this:
259
265
  * <code><pre>
@@ -273,7 +279,6 @@ class ListReportController extends PageController {
273
279
  * refreshCause: "tabChanged" | "search"
274
280
  * }
275
281
  * </pre></code>
276
- *
277
282
  * @public
278
283
  */
279
284
  @publicExtension()
@@ -307,6 +312,7 @@ class ListReportController extends PageController {
307
312
 
308
313
  /**
309
314
  * This method initiates the update of the enabled state of the DataFieldForAction and the visible state of the DataFieldForIBN buttons.
315
+ *
310
316
  * @param aTables Array of tables in the list report
311
317
  * @private
312
318
  */
@@ -318,7 +324,7 @@ class ListReportController extends PageController {
318
324
  // The same is also performed on Table selectionChange event
319
325
  const oInternalModelContext = oTable.getBindingContext("internal"),
320
326
  oActionOperationAvailableMap = JSON.parse(
321
- CommonHelper.parseCustomData(DelegateUtil.getCustomData(oTable, "operationAvailableMap")) as any
327
+ CommonHelper.parseCustomData(DelegateUtil.getCustomData(oTable, "operationAvailableMap"))
322
328
  ),
323
329
  aSelectedContexts = oTable.getSelectedContexts();
324
330
 
@@ -332,7 +338,7 @@ class ListReportController extends PageController {
332
338
  *
333
339
  * @function
334
340
  * @name sap.fe.templates.ListReport.ListReportController.controller#_scrollTablesToRow
335
- * @param {string} sRowPath The path of the table row context to be scrolled to
341
+ * @param sRowPath The path of the table row context to be scrolled to
336
342
  */
337
343
  _scrollTablesToRow(sRowPath: string) {
338
344
  this._getControls("table").forEach(function (oTable: any) {
@@ -349,7 +355,7 @@ class ListReportController extends PageController {
349
355
 
350
356
  _getPageOrFilterBarVariantManagement() {
351
357
  return (
352
- this.getView().byId("fe::PageVariantManagement") || this.getView().byId(this._getFilterBarControlId() + "::VariantManagement")
358
+ this.getView().byId("fe::PageVariantManagement") || this.getView().byId(`${this._getFilterBarControlId()}::VariantManagement`)
353
359
  );
354
360
  }
355
361
 
@@ -411,7 +417,7 @@ class ListReportController extends PageController {
411
417
  oMultiModeTab.getSelectedKey() || (oMultiModeTab.getItems()[0] as any).getKey()
412
418
  ) as Control;
413
419
  }
414
- return this._oListReportControl as Control;
420
+ return this._oListReportControl;
415
421
  }
416
422
 
417
423
  _getTable(): Table | undefined {
@@ -428,9 +434,7 @@ class ListReportController extends PageController {
428
434
 
429
435
  _getTableBinding(sTableId?: any) {
430
436
  const oTableControl = sTableId ? this.getView().byId(sTableId) : this._getTable();
431
- const oBinding = oTableControl && (oTableControl as any)._getRowBinding();
432
-
433
- return oBinding;
437
+ return oTableControl && (oTableControl as any)._getRowBinding();
434
438
  }
435
439
 
436
440
  _getControls(sKey?: any) {
@@ -439,12 +443,12 @@ class ListReportController extends PageController {
439
443
  const oTabMultiMode = this._getMultiModeControl();
440
444
  oTabMultiMode.getItems().forEach((oItem: any) => {
441
445
  const oControl = this.getView().byId(oItem.getKey());
442
- if (sKey) {
443
- if (oItem.getKey().indexOf("fe::" + sKey) > -1) {
444
- oControl && aControls.push(oControl);
446
+ if (oControl && sKey) {
447
+ if (oItem.getKey().indexOf(`fe::${sKey}`) > -1) {
448
+ aControls.push(oControl);
445
449
  }
446
- } else {
447
- oControl && aControls.push(oControl);
450
+ } else if (oControl) {
451
+ aControls.push(oControl);
448
452
  }
449
453
  });
450
454
  return aControls;
@@ -475,7 +479,7 @@ class ListReportController extends PageController {
475
479
  *
476
480
  * @function
477
481
  * @name _isMultiMode
478
- * @returns {boolean} Is Multiple Table mode set?
482
+ * @returns Is Multiple Table mode set?
479
483
  */
480
484
  _isMultiMode() {
481
485
  if (!this._oListReportControl) {
@@ -489,7 +493,7 @@ class ListReportController extends PageController {
489
493
  *
490
494
  * @function
491
495
  * @name _isInitLoadDisabled
492
- * @returns {boolean} Is InitLoad enabled?
496
+ * @returns Is InitLoad enabled?
493
497
  */
494
498
  _isInitLoadEnabled() {
495
499
  const initLoadMode = (this.getView().getViewData() as any).initialLoad;
@@ -501,7 +505,7 @@ class ListReportController extends PageController {
501
505
  *
502
506
  * @function
503
507
  * @name _isMultiEntitySets
504
- * @returns {boolean} Is Multiple EntitySets configuration?
508
+ * @returns Is Multiple EntitySets configuration?
505
509
  */
506
510
  _isMultiEntitySets() {
507
511
  return this.getView().getContent()[0].data("isMultiEntitySets") === "true";
@@ -567,7 +571,7 @@ class ListReportController extends PageController {
567
571
  bookmarkTitle: document.title, //To name the bookmark according to the app title.
568
572
  bookmarkCustomUrl: function () {
569
573
  const sHash = hasher.getHash();
570
- return sHash ? "#" + sHash : window.location.href;
574
+ return sHash ? `#${sHash}` : window.location.href;
571
575
  },
572
576
  /*
573
577
  To be activated once the FLP shows the count - see comment above
@@ -609,10 +613,10 @@ class ListReportController extends PageController {
609
613
  /**
610
614
  * Method to update the local UI model of the page with the fields that are not applicable to the filter bar (this is specific to the multiple table scenario).
611
615
  *
612
- * @param {sap.ui.model.context} oInternalModelContext The internal model context
613
- * @param {sap.ui.mdc.FilterBar} oFilterBar MDC filter bar
616
+ * @param oInternalModelContext The internal model context
617
+ * @param oFilterBar MDC filter bar
614
618
  */
615
- _updateMultiTabNotApplicableFields(oInternalModelContext: any, oFilterBar: any) {
619
+ _updateMultiTabNotApplicableFields(oInternalModelContext: InternalModelContext, oFilterBar: FilterBar) {
616
620
  const mCache: any = {};
617
621
  const ignoredFields: any = {},
618
622
  ignoredFieldsTitle: any = {},
@@ -635,7 +639,7 @@ class ListReportController extends PageController {
635
639
  sChartEntitySet = sChartEntityPath.slice(1),
636
640
  sTabId = oChart.getParent().getParent().getKey(),
637
641
  sTabTitle = oChart.getParent().getParent().getText(),
638
- sCacheKey = sChartEntitySet + "Chart";
642
+ sCacheKey = `${sChartEntitySet}Chart`;
639
643
  if (!mCache[sCacheKey]) {
640
644
  mCache[sCacheKey] = FilterUtils.getNotApplicableFilters(oFilterBar, oChart);
641
645
  }
@@ -649,10 +653,10 @@ class ListReportController extends PageController {
649
653
  /**
650
654
  * Method to update the local UI model of the page with the fields that are not applicable to the filter bar (this is specific to the ALP scenario).
651
655
  *
652
- * @param {sap.ui.model.context} oInternalModelContext The internal model context
653
- * @param {sap.ui.mdc.FilterBar} oFilterBar MDC filter bar
656
+ * @param oInternalModelContext The internal model context
657
+ * @param oFilterBar MDC filter bar
654
658
  */
655
- _updateALPNotApplicableFields(oInternalModelContext: any, oFilterBar: any) {
659
+ _updateALPNotApplicableFields(oInternalModelContext: InternalModelContext, oFilterBar: FilterBar) {
656
660
  const mCache: any = {};
657
661
  const ignoredFields: any = {},
658
662
  aTables = this._getControls("table"),
@@ -667,7 +671,7 @@ class ListReportController extends PageController {
667
671
  aCharts.forEach(function (oChart: any) {
668
672
  const sChartEntityPath = oChart.data("targetCollectionPath"),
669
673
  sChartEntitySet = sChartEntityPath.slice(1),
670
- sCacheKey = sChartEntitySet + "Chart";
674
+ sCacheKey = `${sChartEntitySet}Chart`;
671
675
  if (!mCache[sCacheKey]) {
672
676
  mCache[sCacheKey] = FilterUtils.getNotApplicableFilters(oFilterBar, oChart);
673
677
  }
@@ -691,7 +695,7 @@ class ListReportController extends PageController {
691
695
  *
692
696
  * @function
693
697
  * @name _isCustomTab
694
- * @returns {boolean} Determines if the tab is a custom tab.
698
+ * @returns Determines if the tab is a custom tab.
695
699
  */
696
700
  _isCustomTab() {
697
701
  const oMultiModeControl = this._getMultiModeControl();
@@ -709,6 +713,13 @@ class ListReportController extends PageController {
709
713
  });
710
714
  }
711
715
  }
716
+ _invalidateMultipleModeContent() {
717
+ const aControls = this._getControls();
718
+ const sDisplayedControlId = this._getCurrentControl().getId();
719
+ aControls.forEach(function (oControl: any) {
720
+ oControl.data("outdatedRows", oControl.getId() !== sDisplayedControlId);
721
+ });
722
+ }
712
723
 
713
724
  _updateMultiModeCounts() {
714
725
  let aBindingPromises = [];
@@ -719,16 +730,18 @@ class ListReportController extends PageController {
719
730
  const aCompliantTabs: any[] = [];
720
731
  const aItems = oMultiModeControl.getItems();
721
732
  aItems.forEach((oItem: any) => {
722
- const oControl = this.getView().byId(oItem.getKey());
723
- if (
724
- oControl &&
725
- !oControl.isA("sap.ui.mdc.Chart") &&
726
- (oItem.data("outdatedCounts") || oControl.getId() === sDisplayedControlId)
727
- ) {
728
- aCompliantTabs.push({
729
- control: oControl,
730
- item: oItem
731
- });
733
+ if (oItem.getProperty("visible")) {
734
+ const oControl = this.getView().byId(oItem.getKey());
735
+ if (
736
+ oControl &&
737
+ !oControl.isA("sap.ui.mdc.Chart") &&
738
+ (oItem.data("outdatedCounts") || oControl.getId() === sDisplayedControlId)
739
+ ) {
740
+ aCompliantTabs.push({
741
+ control: oControl,
742
+ item: oItem
743
+ });
744
+ }
732
745
  }
733
746
  });
734
747
 
@@ -898,18 +911,14 @@ class ListReportController extends PageController {
898
911
  oInternalModelContext.setProperty("hasPendingFilters", false);
899
912
  oInternalModelContext.setProperty("hideDraftInfo", bHideDraft);
900
913
  if (this._isMultiMode()) {
901
- const aControls = this._getControls(),
902
- oMultiModeControl = this._getMultiModeControl();
914
+ const oMultiModeControl = this._getMultiModeControl();
903
915
  this._setCountsOutDated();
904
916
  if (!this._isCustomTab()) {
905
- const sDisplayedControlId = this._getCurrentControl().getId();
906
917
  this._updateMultiTabNotApplicableFields(oInternalModelContext, oFilterBar);
907
918
  // This should be done outside the search event handler of the filter bar.
908
919
  // The same logic is required when filter bar is hidden and multiple tables exist on the LR.
909
920
  // This is currently done in ListReport/overrides/ViewState.js#onAfterStateApplied()
910
- aControls.forEach(function (oControl: any) {
911
- oControl.data("outdatedRows", oControl.getId() !== sDisplayedControlId);
912
- });
921
+ this._invalidateMultipleModeContent();
913
922
  } else {
914
923
  const oFilterConditions = oFilterBar.getFilterConditions();
915
924
  this.onViewNeedsRefresh({
@@ -926,7 +935,7 @@ class ListReportController extends PageController {
926
935
  (oMdcChart.getBindingContext("internal") as InternalModelContext).setProperty("", {});
927
936
 
928
937
  const oPageInternalModelContext = oMdcChart.getBindingContext("pageInternal") as InternalModelContext;
929
- const sTemplateContentView = oPageInternalModelContext.getProperty(oPageInternalModelContext.getPath() + "/alpContentView");
938
+ const sTemplateContentView = oPageInternalModelContext.getProperty(`${oPageInternalModelContext.getPath()}/alpContentView`);
930
939
  if (sTemplateContentView === TemplateContentView.Chart) {
931
940
  this.hasPendingChartChanges = true;
932
941
  }
@@ -954,15 +963,20 @@ class ListReportController extends PageController {
954
963
  /**
955
964
  * Triggers an outbound navigation when a user chooses the chevron.
956
965
  *
957
- * @param {object} oController
958
- * @param {string} sOutboundTarget Name of the outbound target (needs to be defined in the manifest)
959
- * @param {sap.ui.model.odata.v4.Context} oContext The context that contains the data for the target app
960
- * @param {string} sCreatePath Create path when the chevron is created.
961
- * @returns {Promise} Promise which is resolved once the navigation is triggered
966
+ * @param oController
967
+ * @param sOutboundTarget Name of the outbound target (needs to be defined in the manifest)
968
+ * @param oContext The context that contains the data for the target app
969
+ * @param sCreatePath Create path when the chevron is created.
970
+ * @returns Promise which is resolved once the navigation is triggered
962
971
  * @ui5-restricted
963
972
  * @final
964
973
  */
965
- onChevronPressNavigateOutBound(oController: ListReportController, sOutboundTarget: string, oContext: any, sCreatePath: string) {
974
+ onChevronPressNavigateOutBound(
975
+ oController: ListReportController,
976
+ sOutboundTarget: string,
977
+ oContext: V4Context,
978
+ sCreatePath: string
979
+ ) {
966
980
  return oController._intentBasedNavigation.onChevronPressNavigateOutBound(oController, sOutboundTarget, oContext, sCreatePath);
967
981
  },
968
982
  onChartSelectionChanged(this: ListReportController, oEvent: any) {
@@ -976,11 +990,11 @@ class ListReportController extends PageController {
976
990
  // update selections on selection or deselection
977
991
  ChartUtils.setChartFilters(oMdcChart);
978
992
  }
979
- const sTemplateContentView = oInternalModelContext.getProperty(oInternalModelContext.getPath() + "/alpContentView");
993
+ const sTemplateContentView = oInternalModelContext.getProperty(`${oInternalModelContext.getPath()}/alpContentView`);
980
994
  if (sTemplateContentView === TemplateContentView.Chart) {
981
995
  this.hasPendingChartChanges = true;
982
- } else {
983
- oTable && (oTable as any).rebind();
996
+ } else if (oTable) {
997
+ (oTable as any).rebind();
984
998
  this.hasPendingChartChanges = false;
985
999
  }
986
1000
  },
@@ -1034,6 +1048,16 @@ class ListReportController extends PageController {
1034
1048
  },
1035
1049
  onStateChange(this: ListReportController) {
1036
1050
  this.getExtensionAPI().updateAppState();
1051
+ },
1052
+ onDynamicPageTitleStateChanged(this: ListReportController, oEvent: any) {
1053
+ const filterBar: any = this._getFilterBarControl();
1054
+ if (filterBar && filterBar.getSegmentedButton()) {
1055
+ if (oEvent.getParameter("isExpanded")) {
1056
+ filterBar.getSegmentedButton().setVisible(true);
1057
+ } else {
1058
+ filterBar.getSegmentedButton().setVisible(false);
1059
+ }
1060
+ }
1037
1061
  }
1038
1062
  };
1039
1063
  formatters = {
@@ -1041,11 +1065,11 @@ class ListReportController extends PageController {
1041
1065
  * Method to set the message text for the multiple entity sets when fields in the FilterBar need to be ignored.
1042
1066
  *
1043
1067
  * @param this
1044
- * @param {Array} aIgnoredFields Array of ignored fields in the FilterBar for the current tab (multiple entity sets)
1045
- * @param {string} sTabTitle Tab title
1046
- * @param {boolean} bIsChart Flag that indicates whether the control is a chart or not
1047
- * @param {object} oApplySupported ApplySupported for the control
1048
- * @returns {string} Message text
1068
+ * @param aIgnoredFields Array of ignored fields in the FilterBar for the current tab (multiple entity sets)
1069
+ * @param sTabTitle Tab title
1070
+ * @param bIsChart Flag that indicates whether the control is a chart or not
1071
+ * @param oApplySupported ApplySupported for the control
1072
+ * @returns Message text
1049
1073
  */
1050
1074
  setTabMessageStrip(this: ListReportController, aIgnoredFields: any[], sTabTitle: string, bIsChart?: any, oApplySupported?: any) {
1051
1075
  let sText = "";
@@ -1063,7 +1087,7 @@ class ListReportController extends PageController {
1063
1087
  if (sProperty === "$editState") {
1064
1088
  return oMacroResourceBundle ? oMacroResourceBundle.getText("M_COMMON_FILTERBAR_EDITING_STATUS") : "";
1065
1089
  }
1066
- const sLabel = oMetaModel.getObject(sFilterBarEntityPath + sProperty + "@com.sap.vocabularies.Common.v1.Label");
1090
+ const sLabel = oMetaModel.getObject(`${sFilterBarEntityPath + sProperty}@com.sap.vocabularies.Common.v1.Label`);
1067
1091
  return DelegateUtil.getLocalizedText(sLabel, oFilterBar);
1068
1092
  });
1069
1093
  const bIsSearchIgnored = !oApplySupported.enableSearch;
@@ -54,4 +54,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/macros/filter/FilterUtils"], f
54
54
  };
55
55
  return IntentBasedNavigationOverride;
56
56
  }, false);
57
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkludGVudEJhc2VkTmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6WyJJbnRlbnRCYXNlZE5hdmlnYXRpb25PdmVycmlkZSIsImFkYXB0TmF2aWdhdGlvbkNvbnRleHQiLCJvU2VsZWN0aW9uVmFyaWFudCIsIm9UYXJnZXRJbmZvIiwib1ZpZXciLCJnZXRWaWV3Iiwib0NvbnRyb2xsZXIiLCJnZXRDb250cm9sbGVyIiwib0ZpbHRlckJhciIsIl9nZXRGaWx0ZXJCYXJDb250cm9sIiwiaXNFbXB0eSIsIm9WaWV3RGF0YSIsImdldFZpZXdEYXRhIiwic1Jvb3RQYXRoIiwiZnVsbENvbnRleHRQYXRoIiwiZW50aXR5U2V0Iiwib0ZpbHRlckJhckNvbmRpdGlvbnMiLCJPYmplY3QiLCJhc3NpZ24iLCJiYXNlIiwiZmlsdGVyQmFyQ29uZGl0aW9ucyIsImFQYXJhbWV0ZXJzIiwiY29udGV4dFBhdGgiLCJvTWV0YU1vZGVsIiwiZ2V0TW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJvUGFyYW1ldGVySW5mbyIsIkNvbW1vblV0aWxzIiwiZ2V0UGFyYW1ldGVySW5mbyIsIm9QYXJhbVByb3BlcnRpZXMiLCJwYXJhbWV0ZXJQcm9wZXJ0aWVzIiwia2V5cyIsIl9pbnRlbnRCYXNlZE5hdmlnYXRpb24iLCJwcmVwYXJlRmlsdGVyc0ZvckV4dGVybmFsTmF2aWdhdGlvbiIsIm9GaWx0ZXJJbmZvIiwiRmlsdGVyVXRpbHMiLCJnZXRGaWx0ZXJJbmZvIiwidGFyZ2V0Q29udHJvbCIsIl9nZXRUYWJsZSIsImZpbHRlcnMiLCJvSW50ZXJuYWxNb2RlbENvbnRleHQiLCJnZXRCaW5kaW5nQ29udGV4dCIsIm1UYWJzIiwiZ2V0UHJvcGVydHkiLCJhSWdub3JlZEZpZWxkc0ZvclRhYiIsImlnbm9yZWRGaWVsZHMiLCJzZWxlY3RlZCIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImZvckVhY2giLCJzUHJvcGVydHkiLCJmaWx0ZXJDb25kaXRpb25zIiwiYWRkRXh0ZXJuYWxTdGF0ZUZpbHRlcnNUb1NlbGVjdGlvblZhcmlhbnQiLCJwcm9wZXJ0aWVzV2l0aG91dENvbmZsaWN0IiwiZ2V0RW50aXR5U2V0IiwiZ2V0Q3VycmVudEVudGl0eVNldCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUdBLE1BQU1BLDZCQUE2QixHQUFHO0FBQ3JDQyxJQUFBQSxzQkFBc0IsRUFBRSxVQUF1Q0MsaUJBQXZDLEVBQStEQyxXQUEvRCxFQUFpRjtBQUN4RyxVQUFNQyxLQUFLLEdBQUcsS0FBS0MsT0FBTCxFQUFkO0FBQUEsVUFDQ0MsV0FBVyxHQUFHRixLQUFLLENBQUNHLGFBQU4sRUFEZjtBQUFBLFVBRUNDLFVBQVUsR0FBR0YsV0FBVyxDQUFDRyxvQkFBWixFQUZkLENBRHdHLENBSXhHO0FBQ0E7OztBQUNBLFVBQUlELFVBQVUsSUFBSSxDQUFDTixpQkFBaUIsQ0FBQ1EsT0FBbEIsRUFBbkIsRUFBZ0Q7QUFDL0MsWUFBTUMsU0FBUyxHQUFHUCxLQUFLLENBQUNRLFdBQU4sRUFBbEI7QUFBQSxZQUNDQyxTQUFTLEdBQUdGLFNBQVMsQ0FBQ0csZUFBVixHQUE0QkgsU0FBUyxDQUFDSSxTQURuRDtBQUVBLFlBQUlDLG9CQUFvQixHQUFHQyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQW1CLEtBQUtDLElBQUwsQ0FBVWQsT0FBVixHQUFvQkUsYUFBcEIsRUFBRCxDQUE2Q2EsbUJBQS9ELENBQTNCO0FBQ0EsWUFBSUMsV0FBVyxHQUFHLEVBQWxCOztBQUVBLFlBQUlWLFNBQVMsQ0FBQ1csV0FBZCxFQUEyQjtBQUMxQixjQUFNQyxVQUFVLEdBQUduQixLQUFLLENBQUNvQixRQUFOLEdBQWlCQyxZQUFqQixFQUFuQjtBQUFBLGNBQ0NDLGNBQWMsR0FBR0MsV0FBVyxDQUFDQyxnQkFBWixDQUE2QkwsVUFBN0IsRUFBeUNaLFNBQVMsQ0FBQ1csV0FBbkQsQ0FEbEI7QUFBQSxjQUVDTyxnQkFBZ0IsR0FBR0gsY0FBYyxDQUFDSSxtQkFGbkM7QUFHQVQsVUFBQUEsV0FBVyxHQUFJUSxnQkFBZ0IsSUFBSVosTUFBTSxDQUFDYyxJQUFQLENBQVlGLGdCQUFaLENBQXJCLElBQXVELEVBQXJFO0FBQ0E7O0FBRURiLFFBQUFBLG9CQUFvQixHQUFHVixXQUFXLENBQUMwQixzQkFBWixDQUFtQ0MsbUNBQW5DLENBQ3RCakIsb0JBRHNCLEVBRXRCSCxTQUZzQixFQUd0QlEsV0FIc0IsQ0FBdkI7QUFLQSxZQUFNYSxXQUFXLEdBQUdDLFdBQVcsQ0FBQ0MsYUFBWixDQUEwQjVCLFVBQTFCLEVBQXNDO0FBQ3pENkIsVUFBQUEsYUFBYSxFQUFFL0IsV0FBVyxDQUFDZ0MsU0FBWjtBQUQwQyxTQUF0QyxFQUVqQkMsT0FGSDtBQUdBLFlBQU1DLHFCQUFxQixHQUFHcEMsS0FBSyxDQUFDcUMsaUJBQU4sQ0FBd0IsVUFBeEIsQ0FBOUI7QUFDQSxZQUFNQyxLQUFLLEdBQUdGLHFCQUFxQixJQUFJQSxxQkFBcUIsQ0FBQ0csV0FBdEIsQ0FBa0MsTUFBbEMsQ0FBdkMsQ0F0QitDLENBdUIvQzs7QUFDQSxZQUFJRCxLQUFKLEVBQVc7QUFDVixjQUFNRSxvQkFBb0IsR0FBR0YsS0FBSyxDQUFDRyxhQUFOLENBQW9CSCxLQUFLLENBQUNJLFFBQTFCLENBQTdCOztBQUNBLGNBQUlDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSixvQkFBZCxLQUF1Q0Esb0JBQW9CLENBQUNLLE1BQXJCLEdBQThCLENBQXpFLEVBQTRFO0FBQzNFTCxZQUFBQSxvQkFBb0IsQ0FBQ00sT0FBckIsQ0FBNkIsVUFBVUMsU0FBVixFQUEwQjtBQUN0RCxxQkFBT25DLG9CQUFvQixDQUFDb0MsZ0JBQXJCLENBQXNDRCxTQUF0QyxDQUFQO0FBQ0EsYUFGRDtBQUdBO0FBQ0QsU0EvQjhDLENBZ0MvQzs7O0FBQ0F4QixRQUFBQSxXQUFXLENBQUMwQix5Q0FBWixDQUFzRG5ELGlCQUF0RCxFQUF5RWMsb0JBQXpFLEVBQStGYixXQUEvRixFQUE0RytCLFdBQTVHO0FBQ0EsZUFBTy9CLFdBQVcsQ0FBQ21ELHlCQUFuQjtBQUNBO0FBQ0QsS0EzQ29DO0FBNENyQ0MsSUFBQUEsWUFBWSxFQUFFLFlBQXVDO0FBQ3BELGFBQVEsS0FBS3BDLElBQU4sQ0FBbUJxQyxtQkFBbkIsRUFBUDtBQUNBO0FBOUNvQyxHQUF0QztTQWlEZXhELDZCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgSW50ZW50QmFzZWROYXZpZ2F0aW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9JbnRlbnRCYXNlZE5hdmlnYXRpb25cIjtcbmltcG9ydCBGaWx0ZXJVdGlscyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWx0ZXIvRmlsdGVyVXRpbHNcIjtcbmltcG9ydCBMaXN0UmVwb3J0Q29udHJvbGxlciBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9MaXN0UmVwb3J0L0xpc3RSZXBvcnRDb250cm9sbGVyLmNvbnRyb2xsZXJcIjtcblxuY29uc3QgSW50ZW50QmFzZWROYXZpZ2F0aW9uT3ZlcnJpZGUgPSB7XG5cdGFkYXB0TmF2aWdhdGlvbkNvbnRleHQ6IGZ1bmN0aW9uICh0aGlzOiBJbnRlbnRCYXNlZE5hdmlnYXRpb24sIG9TZWxlY3Rpb25WYXJpYW50OiBhbnksIG9UYXJnZXRJbmZvOiBhbnkpIHtcblx0XHRjb25zdCBvVmlldyA9IHRoaXMuZ2V0VmlldygpLFxuXHRcdFx0b0NvbnRyb2xsZXIgPSBvVmlldy5nZXRDb250cm9sbGVyKCkgYXMgTGlzdFJlcG9ydENvbnRyb2xsZXIsXG5cdFx0XHRvRmlsdGVyQmFyID0gb0NvbnRyb2xsZXIuX2dldEZpbHRlckJhckNvbnRyb2woKTtcblx0XHQvLyBBZGRpbmcgZmlsdGVyIGJhciB2YWx1ZXMgdG8gdGhlIG5hdmlnYXRpb24gZG9lcyBub3QgbWFrZSBzZW5zZSBpZiBubyBjb250ZXh0IGhhcyBiZWVuIHNlbGVjdGVkLlxuXHRcdC8vIEhlbmNlIG9ubHkgY29uc2lkZXIgZmlsdGVyIGJhciB2YWx1ZXMgd2hlbiBTZWxlY3Rpb25WYXJpYW50IGlzIG5vdCBlbXB0eVxuXHRcdGlmIChvRmlsdGVyQmFyICYmICFvU2VsZWN0aW9uVmFyaWFudC5pc0VtcHR5KCkpIHtcblx0XHRcdGNvbnN0IG9WaWV3RGF0YSA9IG9WaWV3LmdldFZpZXdEYXRhKCkgYXMgYW55LFxuXHRcdFx0XHRzUm9vdFBhdGggPSBvVmlld0RhdGEuZnVsbENvbnRleHRQYXRoICsgb1ZpZXdEYXRhLmVudGl0eVNldDtcblx0XHRcdGxldCBvRmlsdGVyQmFyQ29uZGl0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sICh0aGlzLmJhc2UuZ2V0VmlldygpLmdldENvbnRyb2xsZXIoKSBhcyBhbnkpLmZpbHRlckJhckNvbmRpdGlvbnMpO1xuXHRcdFx0bGV0IGFQYXJhbWV0ZXJzID0gW107XG5cblx0XHRcdGlmIChvVmlld0RhdGEuY29udGV4dFBhdGgpIHtcblx0XHRcdFx0Y29uc3Qgb01ldGFNb2RlbCA9IG9WaWV3LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRcdFx0b1BhcmFtZXRlckluZm8gPSBDb21tb25VdGlscy5nZXRQYXJhbWV0ZXJJbmZvKG9NZXRhTW9kZWwsIG9WaWV3RGF0YS5jb250ZXh0UGF0aCksXG5cdFx0XHRcdFx0b1BhcmFtUHJvcGVydGllcyA9IG9QYXJhbWV0ZXJJbmZvLnBhcmFtZXRlclByb3BlcnRpZXM7XG5cdFx0XHRcdGFQYXJhbWV0ZXJzID0gKG9QYXJhbVByb3BlcnRpZXMgJiYgT2JqZWN0LmtleXMob1BhcmFtUHJvcGVydGllcykpIHx8IFtdO1xuXHRcdFx0fVxuXG5cdFx0XHRvRmlsdGVyQmFyQ29uZGl0aW9ucyA9IG9Db250cm9sbGVyLl9pbnRlbnRCYXNlZE5hdmlnYXRpb24ucHJlcGFyZUZpbHRlcnNGb3JFeHRlcm5hbE5hdmlnYXRpb24oXG5cdFx0XHRcdG9GaWx0ZXJCYXJDb25kaXRpb25zLFxuXHRcdFx0XHRzUm9vdFBhdGgsXG5cdFx0XHRcdGFQYXJhbWV0ZXJzXG5cdFx0XHQpO1xuXHRcdFx0Y29uc3Qgb0ZpbHRlckluZm8gPSBGaWx0ZXJVdGlscy5nZXRGaWx0ZXJJbmZvKG9GaWx0ZXJCYXIsIHtcblx0XHRcdFx0dGFyZ2V0Q29udHJvbDogb0NvbnRyb2xsZXIuX2dldFRhYmxlKClcblx0XHRcdH0pLmZpbHRlcnM7XG5cdFx0XHRjb25zdCBvSW50ZXJuYWxNb2RlbENvbnRleHQgPSBvVmlldy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpO1xuXHRcdFx0Y29uc3QgbVRhYnMgPSBvSW50ZXJuYWxNb2RlbENvbnRleHQgJiYgb0ludGVybmFsTW9kZWxDb250ZXh0LmdldFByb3BlcnR5KFwidGFic1wiKTtcblx0XHRcdC8vIERvIHdlIG5lZWQgdG8gZXhjbHVkZSBGaWVsZHMgKG11dGxpIHRhYmxlcyBtb2RlKT9cblx0XHRcdGlmIChtVGFicykge1xuXHRcdFx0XHRjb25zdCBhSWdub3JlZEZpZWxkc0ZvclRhYiA9IG1UYWJzLmlnbm9yZWRGaWVsZHNbbVRhYnMuc2VsZWN0ZWRdO1xuXHRcdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhSWdub3JlZEZpZWxkc0ZvclRhYikgJiYgYUlnbm9yZWRGaWVsZHNGb3JUYWIubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdGFJZ25vcmVkRmllbGRzRm9yVGFiLmZvckVhY2goZnVuY3Rpb24gKHNQcm9wZXJ0eTogYW55KSB7XG5cdFx0XHRcdFx0XHRkZWxldGUgb0ZpbHRlckJhckNvbmRpdGlvbnMuZmlsdGVyQ29uZGl0aW9uc1tzUHJvcGVydHldO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQvLyBUT0RPOiBtb3ZlIHRoaXMgYWxzbyBpbnRvIHRoZSBpbnRlbnQgYmFzZWQgbmF2aWdhdGlvbiBjb250cm9sbGVyIGV4dGVuc2lvblxuXHRcdFx0Q29tbW9uVXRpbHMuYWRkRXh0ZXJuYWxTdGF0ZUZpbHRlcnNUb1NlbGVjdGlvblZhcmlhbnQob1NlbGVjdGlvblZhcmlhbnQsIG9GaWx0ZXJCYXJDb25kaXRpb25zLCBvVGFyZ2V0SW5mbywgb0ZpbHRlckluZm8pO1xuXHRcdFx0ZGVsZXRlIG9UYXJnZXRJbmZvLnByb3BlcnRpZXNXaXRob3V0Q29uZmxpY3Q7XG5cdFx0fVxuXHR9LFxuXHRnZXRFbnRpdHlTZXQ6IGZ1bmN0aW9uICh0aGlzOiBJbnRlbnRCYXNlZE5hdmlnYXRpb24pIHtcblx0XHRyZXR1cm4gKHRoaXMuYmFzZSBhcyBhbnkpLmdldEN1cnJlbnRFbnRpdHlTZXQoKTtcblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW50ZW50QmFzZWROYXZpZ2F0aW9uT3ZlcnJpZGU7XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkludGVudEJhc2VkTmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6WyJJbnRlbnRCYXNlZE5hdmlnYXRpb25PdmVycmlkZSIsImFkYXB0TmF2aWdhdGlvbkNvbnRleHQiLCJvU2VsZWN0aW9uVmFyaWFudCIsIm9UYXJnZXRJbmZvIiwib1ZpZXciLCJnZXRWaWV3Iiwib0NvbnRyb2xsZXIiLCJnZXRDb250cm9sbGVyIiwib0ZpbHRlckJhciIsIl9nZXRGaWx0ZXJCYXJDb250cm9sIiwiaXNFbXB0eSIsIm9WaWV3RGF0YSIsImdldFZpZXdEYXRhIiwic1Jvb3RQYXRoIiwiZnVsbENvbnRleHRQYXRoIiwiZW50aXR5U2V0Iiwib0ZpbHRlckJhckNvbmRpdGlvbnMiLCJPYmplY3QiLCJhc3NpZ24iLCJiYXNlIiwiZmlsdGVyQmFyQ29uZGl0aW9ucyIsImFQYXJhbWV0ZXJzIiwiY29udGV4dFBhdGgiLCJvTWV0YU1vZGVsIiwiZ2V0TW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJvUGFyYW1ldGVySW5mbyIsIkNvbW1vblV0aWxzIiwiZ2V0UGFyYW1ldGVySW5mbyIsIm9QYXJhbVByb3BlcnRpZXMiLCJwYXJhbWV0ZXJQcm9wZXJ0aWVzIiwia2V5cyIsIl9pbnRlbnRCYXNlZE5hdmlnYXRpb24iLCJwcmVwYXJlRmlsdGVyc0ZvckV4dGVybmFsTmF2aWdhdGlvbiIsIm9GaWx0ZXJJbmZvIiwiRmlsdGVyVXRpbHMiLCJnZXRGaWx0ZXJJbmZvIiwidGFyZ2V0Q29udHJvbCIsIl9nZXRUYWJsZSIsImZpbHRlcnMiLCJvSW50ZXJuYWxNb2RlbENvbnRleHQiLCJnZXRCaW5kaW5nQ29udGV4dCIsIm1UYWJzIiwiZ2V0UHJvcGVydHkiLCJhSWdub3JlZEZpZWxkc0ZvclRhYiIsImlnbm9yZWRGaWVsZHMiLCJzZWxlY3RlZCIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImZvckVhY2giLCJzUHJvcGVydHkiLCJmaWx0ZXJDb25kaXRpb25zIiwiYWRkRXh0ZXJuYWxTdGF0ZUZpbHRlcnNUb1NlbGVjdGlvblZhcmlhbnQiLCJwcm9wZXJ0aWVzV2l0aG91dENvbmZsaWN0IiwiZ2V0RW50aXR5U2V0IiwiZ2V0Q3VycmVudEVudGl0eVNldCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUdBLE1BQU1BLDZCQUE2QixHQUFHO0FBQ3JDQyxJQUFBQSxzQkFBc0IsRUFBRSxVQUF1Q0MsaUJBQXZDLEVBQStEQyxXQUEvRCxFQUFpRjtBQUN4RyxVQUFNQyxLQUFLLEdBQUcsS0FBS0MsT0FBTCxFQUFkO0FBQUEsVUFDQ0MsV0FBVyxHQUFHRixLQUFLLENBQUNHLGFBQU4sRUFEZjtBQUFBLFVBRUNDLFVBQVUsR0FBR0YsV0FBVyxDQUFDRyxvQkFBWixFQUZkLENBRHdHLENBSXhHO0FBQ0E7OztBQUNBLFVBQUlELFVBQVUsSUFBSSxDQUFDTixpQkFBaUIsQ0FBQ1EsT0FBbEIsRUFBbkIsRUFBZ0Q7QUFDL0MsWUFBTUMsU0FBUyxHQUFHUCxLQUFLLENBQUNRLFdBQU4sRUFBbEI7QUFBQSxZQUNDQyxTQUFTLEdBQUdGLFNBQVMsQ0FBQ0csZUFBVixHQUE0QkgsU0FBUyxDQUFDSSxTQURuRDtBQUVBLFlBQUlDLG9CQUFvQixHQUFHQyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQW1CLEtBQUtDLElBQUwsQ0FBVWQsT0FBVixHQUFvQkUsYUFBcEIsRUFBRCxDQUE2Q2EsbUJBQS9ELENBQTNCO0FBQ0EsWUFBSUMsV0FBVyxHQUFHLEVBQWxCOztBQUVBLFlBQUlWLFNBQVMsQ0FBQ1csV0FBZCxFQUEyQjtBQUMxQixjQUFNQyxVQUFVLEdBQUduQixLQUFLLENBQUNvQixRQUFOLEdBQWlCQyxZQUFqQixFQUFuQjtBQUFBLGNBQ0NDLGNBQWMsR0FBR0MsV0FBVyxDQUFDQyxnQkFBWixDQUE2QkwsVUFBN0IsRUFBeUNaLFNBQVMsQ0FBQ1csV0FBbkQsQ0FEbEI7QUFBQSxjQUVDTyxnQkFBZ0IsR0FBR0gsY0FBYyxDQUFDSSxtQkFGbkM7QUFHQVQsVUFBQUEsV0FBVyxHQUFJUSxnQkFBZ0IsSUFBSVosTUFBTSxDQUFDYyxJQUFQLENBQVlGLGdCQUFaLENBQXJCLElBQXVELEVBQXJFO0FBQ0E7O0FBRURiLFFBQUFBLG9CQUFvQixHQUFHVixXQUFXLENBQUMwQixzQkFBWixDQUFtQ0MsbUNBQW5DLENBQ3RCakIsb0JBRHNCLEVBRXRCSCxTQUZzQixFQUd0QlEsV0FIc0IsQ0FBdkI7QUFLQSxZQUFNYSxXQUFXLEdBQUdDLFdBQVcsQ0FBQ0MsYUFBWixDQUEwQjVCLFVBQTFCLEVBQXNDO0FBQ3pENkIsVUFBQUEsYUFBYSxFQUFFL0IsV0FBVyxDQUFDZ0MsU0FBWjtBQUQwQyxTQUF0QyxFQUVqQkMsT0FGSDtBQUdBLFlBQU1DLHFCQUFxQixHQUFHcEMsS0FBSyxDQUFDcUMsaUJBQU4sQ0FBd0IsVUFBeEIsQ0FBOUI7QUFDQSxZQUFNQyxLQUFLLEdBQUdGLHFCQUFxQixJQUFJQSxxQkFBcUIsQ0FBQ0csV0FBdEIsQ0FBa0MsTUFBbEMsQ0FBdkMsQ0F0QitDLENBdUIvQzs7QUFDQSxZQUFJRCxLQUFKLEVBQVc7QUFDVixjQUFNRSxvQkFBb0IsR0FBR0YsS0FBSyxDQUFDRyxhQUFOLENBQW9CSCxLQUFLLENBQUNJLFFBQTFCLENBQTdCOztBQUNBLGNBQUlDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSixvQkFBZCxLQUF1Q0Esb0JBQW9CLENBQUNLLE1BQXJCLEdBQThCLENBQXpFLEVBQTRFO0FBQzNFTCxZQUFBQSxvQkFBb0IsQ0FBQ00sT0FBckIsQ0FBNkIsVUFBVUMsU0FBVixFQUEwQjtBQUN0RCxxQkFBT25DLG9CQUFvQixDQUFDb0MsZ0JBQXJCLENBQXNDRCxTQUF0QyxDQUFQO0FBQ0EsYUFGRDtBQUdBO0FBQ0QsU0EvQjhDLENBZ0MvQzs7O0FBQ0F4QixRQUFBQSxXQUFXLENBQUMwQix5Q0FBWixDQUFzRG5ELGlCQUF0RCxFQUF5RWMsb0JBQXpFLEVBQStGYixXQUEvRixFQUE0RytCLFdBQTVHO0FBQ0EsZUFBTy9CLFdBQVcsQ0FBQ21ELHlCQUFuQjtBQUNBO0FBQ0QsS0EzQ29DO0FBNENyQ0MsSUFBQUEsWUFBWSxFQUFFLFlBQXVDO0FBQ3BELGFBQVEsS0FBS3BDLElBQU4sQ0FBbUJxQyxtQkFBbkIsRUFBUDtBQUNBO0FBOUNvQyxHQUF0QztTQWlEZXhELDZCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBJbnRlbnRCYXNlZE5hdmlnYXRpb24gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVudEJhc2VkTmF2aWdhdGlvblwiO1xuaW1wb3J0IEZpbHRlclV0aWxzIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlci9GaWx0ZXJVdGlsc1wiO1xuaW1wb3J0IHR5cGUgTGlzdFJlcG9ydENvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvTGlzdFJlcG9ydC9MaXN0UmVwb3J0Q29udHJvbGxlci5jb250cm9sbGVyXCI7XG5cbmNvbnN0IEludGVudEJhc2VkTmF2aWdhdGlvbk92ZXJyaWRlID0ge1xuXHRhZGFwdE5hdmlnYXRpb25Db250ZXh0OiBmdW5jdGlvbiAodGhpczogSW50ZW50QmFzZWROYXZpZ2F0aW9uLCBvU2VsZWN0aW9uVmFyaWFudDogYW55LCBvVGFyZ2V0SW5mbzogYW55KSB7XG5cdFx0Y29uc3Qgb1ZpZXcgPSB0aGlzLmdldFZpZXcoKSxcblx0XHRcdG9Db250cm9sbGVyID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpIGFzIExpc3RSZXBvcnRDb250cm9sbGVyLFxuXHRcdFx0b0ZpbHRlckJhciA9IG9Db250cm9sbGVyLl9nZXRGaWx0ZXJCYXJDb250cm9sKCk7XG5cdFx0Ly8gQWRkaW5nIGZpbHRlciBiYXIgdmFsdWVzIHRvIHRoZSBuYXZpZ2F0aW9uIGRvZXMgbm90IG1ha2Ugc2Vuc2UgaWYgbm8gY29udGV4dCBoYXMgYmVlbiBzZWxlY3RlZC5cblx0XHQvLyBIZW5jZSBvbmx5IGNvbnNpZGVyIGZpbHRlciBiYXIgdmFsdWVzIHdoZW4gU2VsZWN0aW9uVmFyaWFudCBpcyBub3QgZW1wdHlcblx0XHRpZiAob0ZpbHRlckJhciAmJiAhb1NlbGVjdGlvblZhcmlhbnQuaXNFbXB0eSgpKSB7XG5cdFx0XHRjb25zdCBvVmlld0RhdGEgPSBvVmlldy5nZXRWaWV3RGF0YSgpIGFzIGFueSxcblx0XHRcdFx0c1Jvb3RQYXRoID0gb1ZpZXdEYXRhLmZ1bGxDb250ZXh0UGF0aCArIG9WaWV3RGF0YS5lbnRpdHlTZXQ7XG5cdFx0XHRsZXQgb0ZpbHRlckJhckNvbmRpdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCAodGhpcy5iYXNlLmdldFZpZXcoKS5nZXRDb250cm9sbGVyKCkgYXMgYW55KS5maWx0ZXJCYXJDb25kaXRpb25zKTtcblx0XHRcdGxldCBhUGFyYW1ldGVycyA9IFtdO1xuXG5cdFx0XHRpZiAob1ZpZXdEYXRhLmNvbnRleHRQYXRoKSB7XG5cdFx0XHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvVmlldy5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0XHRcdG9QYXJhbWV0ZXJJbmZvID0gQ29tbW9uVXRpbHMuZ2V0UGFyYW1ldGVySW5mbyhvTWV0YU1vZGVsLCBvVmlld0RhdGEuY29udGV4dFBhdGgpLFxuXHRcdFx0XHRcdG9QYXJhbVByb3BlcnRpZXMgPSBvUGFyYW1ldGVySW5mby5wYXJhbWV0ZXJQcm9wZXJ0aWVzO1xuXHRcdFx0XHRhUGFyYW1ldGVycyA9IChvUGFyYW1Qcm9wZXJ0aWVzICYmIE9iamVjdC5rZXlzKG9QYXJhbVByb3BlcnRpZXMpKSB8fCBbXTtcblx0XHRcdH1cblxuXHRcdFx0b0ZpbHRlckJhckNvbmRpdGlvbnMgPSBvQ29udHJvbGxlci5faW50ZW50QmFzZWROYXZpZ2F0aW9uLnByZXBhcmVGaWx0ZXJzRm9yRXh0ZXJuYWxOYXZpZ2F0aW9uKFxuXHRcdFx0XHRvRmlsdGVyQmFyQ29uZGl0aW9ucyxcblx0XHRcdFx0c1Jvb3RQYXRoLFxuXHRcdFx0XHRhUGFyYW1ldGVyc1xuXHRcdFx0KTtcblx0XHRcdGNvbnN0IG9GaWx0ZXJJbmZvID0gRmlsdGVyVXRpbHMuZ2V0RmlsdGVySW5mbyhvRmlsdGVyQmFyLCB7XG5cdFx0XHRcdHRhcmdldENvbnRyb2w6IG9Db250cm9sbGVyLl9nZXRUYWJsZSgpXG5cdFx0XHR9KS5maWx0ZXJzO1xuXHRcdFx0Y29uc3Qgb0ludGVybmFsTW9kZWxDb250ZXh0ID0gb1ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKTtcblx0XHRcdGNvbnN0IG1UYWJzID0gb0ludGVybmFsTW9kZWxDb250ZXh0ICYmIG9JbnRlcm5hbE1vZGVsQ29udGV4dC5nZXRQcm9wZXJ0eShcInRhYnNcIik7XG5cdFx0XHQvLyBEbyB3ZSBuZWVkIHRvIGV4Y2x1ZGUgRmllbGRzIChtdXRsaSB0YWJsZXMgbW9kZSk/XG5cdFx0XHRpZiAobVRhYnMpIHtcblx0XHRcdFx0Y29uc3QgYUlnbm9yZWRGaWVsZHNGb3JUYWIgPSBtVGFicy5pZ25vcmVkRmllbGRzW21UYWJzLnNlbGVjdGVkXTtcblx0XHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoYUlnbm9yZWRGaWVsZHNGb3JUYWIpICYmIGFJZ25vcmVkRmllbGRzRm9yVGFiLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRhSWdub3JlZEZpZWxkc0ZvclRhYi5mb3JFYWNoKGZ1bmN0aW9uIChzUHJvcGVydHk6IGFueSkge1xuXHRcdFx0XHRcdFx0ZGVsZXRlIG9GaWx0ZXJCYXJDb25kaXRpb25zLmZpbHRlckNvbmRpdGlvbnNbc1Byb3BlcnR5XTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ly8gVE9ETzogbW92ZSB0aGlzIGFsc28gaW50byB0aGUgaW50ZW50IGJhc2VkIG5hdmlnYXRpb24gY29udHJvbGxlciBleHRlbnNpb25cblx0XHRcdENvbW1vblV0aWxzLmFkZEV4dGVybmFsU3RhdGVGaWx0ZXJzVG9TZWxlY3Rpb25WYXJpYW50KG9TZWxlY3Rpb25WYXJpYW50LCBvRmlsdGVyQmFyQ29uZGl0aW9ucywgb1RhcmdldEluZm8sIG9GaWx0ZXJJbmZvKTtcblx0XHRcdGRlbGV0ZSBvVGFyZ2V0SW5mby5wcm9wZXJ0aWVzV2l0aG91dENvbmZsaWN0O1xuXHRcdH1cblx0fSxcblx0Z2V0RW50aXR5U2V0OiBmdW5jdGlvbiAodGhpczogSW50ZW50QmFzZWROYXZpZ2F0aW9uKSB7XG5cdFx0cmV0dXJuICh0aGlzLmJhc2UgYXMgYW55KS5nZXRDdXJyZW50RW50aXR5U2V0KCk7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IEludGVudEJhc2VkTmF2aWdhdGlvbk92ZXJyaWRlO1xuIl19
@@ -1,7 +1,7 @@
1
1
  import CommonUtils from "sap/fe/core/CommonUtils";
2
- import IntentBasedNavigation from "sap/fe/core/controllerextensions/IntentBasedNavigation";
2
+ import type IntentBasedNavigation from "sap/fe/core/controllerextensions/IntentBasedNavigation";
3
3
  import FilterUtils from "sap/fe/macros/filter/FilterUtils";
4
- import ListReportController from "sap/fe/templates/ListReport/ListReportController.controller";
4
+ import type ListReportController from "sap/fe/templates/ListReport/ListReportController.controller";
5
5
 
6
6
  const IntentBasedNavigationOverride = {
7
7
  adaptNavigationContext: function (this: IntentBasedNavigation, oSelectionVariant: any, oTargetInfo: any) {
@@ -25,7 +25,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/S
25
25
  var oBinding = oTable.getRowBinding() || oTable.getBinding("items");
26
26
  var sDownloadUrl = oBinding && oBinding.getDownloadUrl() || "";
27
27
  var aSplitUrl = sDownloadUrl.split("?");
28
- var baseUrl = aSplitUrl[0] + "/$count?"; // getDownloadUrl() returns url with $select, $expand which is not supported when /$count is used to get the record count. only $apply, $search, $filter is supported
28
+ var baseUrl = "".concat(aSplitUrl[0], "/$count?"); // getDownloadUrl() returns url with $select, $expand which is not supported when /$count is used to get the record count. only $apply, $search, $filter is supported
29
29
  // ?$count=true returns count in a format which is not supported by FLP yet.
30
30
  // currently supported format for v4 is ../count.. only (where tile preview will still not work)
31
31
 
@@ -51,8 +51,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/S
51
51
  function getShareUrl() {
52
52
  var sHash = HashChanger.getInstance().getHash();
53
53
  var sBasePath = HashChanger.getInstance().hrefForAppSpecificHash ? HashChanger.getInstance().hrefForAppSpecificHash("") : "";
54
- var sShareUrl = sHash ? sBasePath + sHash : window.location.hash;
55
- return sShareUrl;
54
+ return sHash ? sBasePath + sHash : window.location.hash;
56
55
  }
57
56
 
58
57
  function getShareEmailUrl() {
@@ -137,4 +136,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/S
137
136
  };
138
137
  return ShareOverride;
139
138
  }, false);
140
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNoYXJlLnRzIl0sIm5hbWVzIjpbImdldENvdW50VXJsIiwib0NvbnRyb2xsZXIiLCJzVGFibGVJZCIsImdldFZpZXciLCJieUlkIiwiZ2V0U2VsZWN0ZWRLZXkiLCJnZXRDb250ZW50IiwiZGF0YSIsInNpbmdsZVRhYmxlSWQiLCJvVGFibGUiLCJvQmluZGluZyIsImdldFJvd0JpbmRpbmciLCJnZXRCaW5kaW5nIiwic0Rvd25sb2FkVXJsIiwiZ2V0RG93bmxvYWRVcmwiLCJhU3BsaXRVcmwiLCJzcGxpdCIsImJhc2VVcmwiLCJhU3VwcG9ydGVkUGFyYW1zIiwibGVuZ3RoIiwidXJsUGFyYW1zIiwiZm9yRWFjaCIsInVybFBhcmFtIiwiYVVybFBhcmFtUGFydHMiLCJwdXNoIiwiam9pbiIsImdldFNoYXJlVXJsIiwic0hhc2giLCJIYXNoQ2hhbmdlciIsImdldEluc3RhbmNlIiwiZ2V0SGFzaCIsInNCYXNlUGF0aCIsImhyZWZGb3JBcHBTcGVjaWZpY0hhc2giLCJzU2hhcmVVcmwiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhhc2giLCJnZXRTaGFyZUVtYWlsVXJsIiwib1VTaGVsbENvbnRhaW5lciIsInNhcCIsInVzaGVsbCIsIkNvbnRhaW5lciIsImdldEZMUFVybEFzeW5jIiwidGhlbiIsInNGTFBVcmwiLCJjYXRjaCIsInNFcnJvciIsIkxvZyIsImVycm9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJkb2N1bWVudCIsIlVSTCIsImdldFNhdmVBc1RpbGVTZXJ2aWNlVXJsIiwib0ZpbHRlckJhciIsIm9Db25kaXRpb25zIiwiZ2V0RmlsdGVyQ29uZGl0aW9ucyIsImJTYXZlQXNUaWxlU2VydmljZVVybEFsbG93ZWQiLCJTZW1hbnRpY0RhdGVPcGVyYXRvcnMiLCJoYXNTZW1hbnRpY0RhdGVPcGVyYXRpb25zIiwiZ2V0SmFtVXJsIiwic0phbVVybCIsInJ1bm5pbmdJbklmcmFtZSIsImdldEZMUFVybCIsInNVcmwiLCJzdWJzdHIiLCJpbmRleE9mIiwib3JpZ2luIiwicGF0aG5hbWUiLCJTaGFyZU92ZXJyaWRlIiwiYWRhcHRTaGFyZU1ldGFkYXRhIiwib1NoYXJlTWV0YWRhdGEiLCJvQXBwQ29tcG9uZW50IiwiQ29tbW9uVXRpbHMiLCJnZXRBcHBDb21wb25lbnQiLCJiYXNlIiwib01ldGFkYXRhIiwiZ2V0TWV0YWRhdGEiLCJvVUlNYW5pZmVzdCIsImdldE1hbmlmZXN0RW50cnkiLCJzSWNvbiIsImljb25zIiwiaWNvbiIsIm9BcHBNYW5pZmVzdCIsInNUaXRsZSIsInRpdGxlIiwidGlsZSIsInF1ZXJ5VXJsIiwiamFtIiwidXJsIiwiZW1haWwiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7QUFNQSxXQUFTQSxXQUFULENBQXFCQyxXQUFyQixFQUFrRDtBQUFBOztBQUNqRDtBQUNBLFFBQUlDLFFBQVEsNEJBQUlELFdBQVcsQ0FBQ0UsT0FBWixHQUFzQkMsSUFBdEIsQ0FBMkIscUJBQTNCLENBQUosMERBQUcsc0JBQW1FQyxjQUFuRSxFQUFmOztBQUNBLFFBQUksQ0FBQ0gsUUFBTCxFQUFlO0FBQ2Q7QUFDQUEsTUFBQUEsUUFBUSxHQUFHRCxXQUFXLENBQUNFLE9BQVosR0FBc0JHLFVBQXRCLEdBQW1DLENBQW5DLEVBQXNDQyxJQUF0QyxHQUE2Q0MsYUFBeEQ7QUFDQTs7QUFDRCxRQUFNQyxNQUFNLEdBQUdSLFdBQVcsQ0FBQ0UsT0FBWixHQUFzQkMsSUFBdEIsQ0FBMkJGLFFBQTNCLENBQWY7O0FBQ0EsUUFBSSxDQUFDTyxNQUFMLEVBQWE7QUFDWixhQUFPLEVBQVA7QUFDQTs7QUFDRCxRQUFNQyxRQUFRLEdBQUdELE1BQU0sQ0FBQ0UsYUFBUCxNQUEwQkYsTUFBTSxDQUFDRyxVQUFQLENBQWtCLE9BQWxCLENBQTNDO0FBQ0EsUUFBTUMsWUFBWSxHQUFJSCxRQUFRLElBQUtBLFFBQUQsQ0FBa0JJLGNBQWxCLEVBQWIsSUFBb0QsRUFBekU7QUFDQSxRQUFNQyxTQUFTLEdBQUdGLFlBQVksQ0FBQ0csS0FBYixDQUFtQixHQUFuQixDQUFsQjtB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LEdBQXFCekIsSUFBckI7QUFDQSxPQUhGLEVBSUVuQixLQUpGLENBSVEsVUFBVUcsS0FBVixFQUFzQjtBQUM1QkQsUUFBQUEsR0FBRyxDQUFDQyxLQUFKLENBQVVBLEtBQVY7QUFDQSxPQU5GO0FBT0EsYUFBT0MsT0FBTyxDQUFDQyxPQUFSLENBQWdCYixnQkFBZ0IsRUFBaEMsRUFBb0NNLElBQXBDLENBQXlDLFVBQVVDLE9BQVYsRUFBd0I7QUFDdkUyQixRQUFBQSxjQUFjLENBQUNtQixLQUFmLENBQXFCRCxHQUFyQixHQUEyQjdDLE9BQTNCO0FBQ0EsZUFBTzJCLGNBQVA7QUFDQSxPQUhNLENBQVA7QUFJQTtBQWxDb0IsR0FBdEI7U0FxQ2VGLGEiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IEJhc2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9CYXNlQ29udHJvbGxlclwiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IFNoYXJlIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9TaGFyZVwiO1xuaW1wb3J0IFNlbWFudGljRGF0ZU9wZXJhdG9ycyBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TZW1hbnRpY0RhdGVPcGVyYXRvcnNcIjtcbmltcG9ydCBJY29uVGFiQmFyIGZyb20gXCJzYXAvbS9JY29uVGFiQmFyXCI7XG5pbXBvcnQgSGFzaENoYW5nZXIgZnJvbSBcInNhcC91aS9jb3JlL3JvdXRpbmcvSGFzaENoYW5nZXJcIjtcbmltcG9ydCBUYWJsZSBmcm9tIFwic2FwL3VpL21kYy9UYWJsZVwiO1xuZnVuY3Rpb24gZ2V0Q291bnRVcmwob0NvbnRyb2xsZXI6IEJhc2VDb250cm9sbGVyKSB7XG5cdC8vIGdldCBzZWxlY3RlZCB0YWJsZSBJRCBmcm9tIG11bHRpcGxlIHRhYnNcblx0bGV0IHNUYWJsZUlkID0gKG9Db250cm9sbGVyLmdldFZpZXcoKS5ieUlkKFwiZmU6OlRhYk11bHRpcGxlTW9kZVwiKSBhcyBJY29uVGFiQmFyKT8uZ2V0U2VsZWN0ZWRLZXkoKTtcblx0aWYgKCFzVGFibGVJZCkge1xuXHRcdC8vIGlmIG5vdCBtdWx0aXBsZSB0YWJzLCBnZXQgc2luZ2xlIHRhYmxlIElEXG5cdFx0c1RhYmxlSWQgPSBvQ29udHJvbGxlci5nZXRWaWV3KCkuZ2V0Q29udGVudCgpWzBdLmRhdGEoKS5zaW5nbGVUYWJsZUlkO1xuXHR9XG5cdGNvbnN0IG9UYWJsZSA9IG9Db250cm9sbGVyLmdldFZpZXcoKS5ieUlkKHNUYWJsZUlkKSBhcyBUYWJsZTtcblx0aWYgKCFvVGFibGUpIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxuXHRjb25zdCBvQmluZGluZyA9IG9UYWJsZS5nZXRSb3dCaW5kaW5nKCkgfHwgb1RhYmxlLmdldEJpbmRpbmcoXCJpdGVtc1wiKTtcblx0Y29uc3Qgc0Rvd25sb2FkVXJsID0gKG9CaW5kaW5nICYmIChvQmluZGluZyBhcyBhbnkpLmdldERvd25sb2FkVXJsKCkpIHx8IFwiXCI7XG5cdGNvbnN0IGFTcGxpdFVybCA9IHNEb3dubG9hZFVybC5zcGxpdChcIj9cIik7XG5cdGNvbnN0IGJhc2VVcmwgPSBhU3BsaXRVcmxbMF0gKyBcIi8kY291bnQ/XCI7XG5cdC8vIGdldERvd25sb2FkVXJsKCkgcmV0dXJucyB1cmwgd2l0aCAkc2VsZWN0LCAkZXhwYW5kIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgd2hlbiAvJGNvdW50IGlzIHVzZWQgdG8gZ2V0IHRoZSByZWNvcmQgY291bnQuIG9ubHkgJGFwcGx5LCAkc2VhcmNoLCAkZmlsdGVyIGlzIHN1cHBvcnRlZFxuXHQvLyA/JGNvdW50PXRydWUgcmV0dXJucyBjb3VudCBpbiBhIGZvcm1hdCB3aGljaCBpcyBub3Qgc3VwcG9ydGVkIGJ5IEZMUCB5ZXQuXG5cdC8vIGN1cnJlbnRseSBzdXBwb3J0ZWQgZm9ybWF0IGZvciB2NCBpcyAuLi9jb3VudC4uIG9ubHkgKHdoZXJlIHRpbGUgcHJldmlldyB3aWxsIHN0aWxsIG5vdCB3b3JrKVxuXHRjb25zdCBhU3VwcG9ydGVkUGFyYW1zOiBhbnlbXSA9IFtdO1xuXHRpZiAoYVNwbGl0VXJsLmxlbmd0aCA+IDEpIHtcblx0XHRjb25zdCB1cmxQYXJhbXMgPSBhU3BsaXRVcmxbMV07XG5cdFx0dXJsUGFyYW1zLnNwbGl0KFwiJlwiKS5mb3JFYWNoKGZ1bmN0aW9uICh1cmxQYXJhbTogYW55KSB7XG5cdFx0XHRjb25zdCBhVXJsUGFyYW1QYXJ0cyA9IHVybFBhcmFtLnNwbGl0KFwiPVwiKTtcblx0XHRcdHN3aXRjaCAoYVVybFBhcmFtUGFydHNbMF0pIHtcblx0XHRcdFx0Y2FzZSBcIiRhcHBseVwiOlxuXHRcdFx0XHRjYXNlIFwiJHNlYXJjaFwiOlxuXHRcdFx0XHRjYXNlIFwiJGZpbHRlclwiOlxuXHRcdFx0XHRcdGFTdXBwb3J0ZWRQYXJhbXMucHVzaCh1cmxQYXJhbSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGJhc2VVcmwgKyBhU3VwcG9ydGVkUGFyYW1zLmpvaW4oXCImXCIpO1xufVxuZnVuY3Rpb24gZ2V0U2hhcmVVcmwoKSB7XG5cdGNvbnN0IHNIYXNoID0gSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKS5nZXRIYXNoKCk7XG5cdGNvbnN0IHNCYXNlUGF0aCA9IChIYXNoQ2hhbmdlci5nZXRJbnN0YW5jZSgpIGFzIGFueSkuaHJlZkZvckFwcFNwZWNpZmljSGFzaFxuXHRcdD8gKEhhc2hDaGFuZ2VyLmdldEluc3RhbmNlKCkgYXMgYW55KS5ocmVmRm9yQXBwU3BlY2lmaWNIYXNoKFwiXCIpXG5cdFx0OiBcIlwiO1xuXHRjb25zdCBzU2hhcmVVcmwgPSBzSGFzaCA/IHNCYXNlUGF0aCArIHNIYXNoIDogd2luZG93LmxvY2F0aW9uLmhhc2g7XG5cdHJldHVybiBzU2hhcmVVcmw7XG59XG5mdW5jdGlvbiBnZXRTaGFyZUVtYWlsVXJsKCkge1xuXHRjb25zdCBvVVNoZWxsQ29udGFpbmVyID0gc2FwLnVzaGVsbCAmJiBzYXAudXNoZWxsLkNvbnRhaW5lcjtcblx0aWYgKG9VU2hlbGxDb250YWluZXIpIHtcblx0XHRyZXR1cm4gb1VTaGVsbENvbnRhaW5lclxuXHRcdFx0LmdldEZMUFVybEFzeW5jKHRydWUpXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoc0ZMUFVybDogYW55KSB7XG5cdFx0XHRcdHJldHVybiBzRkxQVXJsO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAoc0Vycm9yOiBhbnkpIHtcblx0XHRcdFx0TG9nLmVycm9yKFwiQ291bGQgbm90IHJldHJpZXZlIGNGTFAgVVJMIGZvciB0aGUgc2hhcmluZyBkaWFsb2cgKGRpYWxvZyB3aWxsIG5vdCBiZSBvcGVuZWQpXCIsIHNFcnJvcik7XG5cdFx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGRvY3VtZW50LlVSTCk7XG5cdH1cbn1cbmZ1bmN0aW9uIGdldFNhdmVBc1RpbGVTZXJ2aWNlVXJsKG9Db250cm9sbGVyOiBhbnkpIHtcblx0Y29uc3Qgb0ZpbHRlckJhciA9IG9Db250cm9sbGVyLmdldFZpZXcoKS5ieUlkKG9Db250cm9sbGVyLmdldFZpZXcoKS5nZXRDb250ZW50KClbMF0uZGF0YShcImZpbHRlckJhcklkXCIpKTtcblx0aWYgKG9GaWx0ZXJCYXIpIHtcblx0XHRjb25zdCBvQ29uZGl0aW9ucyA9IG9GaWx0ZXJCYXIuZ2V0RmlsdGVyQ29uZGl0aW9ucygpO1xuXHRcdGNvbnN0IGJTYXZlQXNUaWxlU2VydmljZVVybEFsbG93ZWQgPSBTZW1hbnRpY0RhdGVPcGVyYXRvcnMuaGFzU2VtYW50aWNEYXRlT3BlcmF0aW9ucyhvQ29uZGl0aW9ucyk7XG5cdFx0aWYgKGJTYXZlQXNUaWxlU2VydmljZVVybEFsbG93ZWQpIHtcblx0XHRcdHJldHVybiBnZXRDb3VudFVybChvQ29udHJvbGxlcik7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBcIlwiO1xufVxuZnVuY3Rpb24gZ2V0SmFtVXJsKCkge1xuXHRjb25zdCBzSGFzaCA9IEhhc2hDaGFuZ2VyLmdldEluc3RhbmNlKCkuZ2V0SGFzaCgpO1xuXHRjb25zdCBzQmFzZVBhdGggPSAoSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKSBhcyBhbnkpLmhyZWZGb3JBcHBTcGVjaWZpY0hhc2hcblx0XHQ/IChIYXNoQ2hhbmdlci5nZXRJbnN0YW5jZSgpIGFzIGFueSkuaHJlZkZvckFwcFNwZWNpZmljSGFzaChcIlwiKVxuXHRcdDogXCJcIjtcblx0Y29uc3Qgc0phbVVybCA9IHNIYXNoID8gc0Jhc2VQYXRoICsgc0hhc2ggOiB3aW5kb3cubG9jYXRpb24uaGFzaDtcblx0Ly8gaW4gY2FzZSB3ZSBhcmUgaW4gY0ZMUCBzY2VuYXJpbywgdGhlIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmdcblx0Ly8gaW5zaWRlIGFuIGlmcmFtZSwgYW5kIHRoZXJlIGZvciB3ZSBuZWVkIHRvIGdldCB0aGUgY0ZMUCBVUkxcblx0Ly8gYW5kIG5vdCAnZG9jdW1lbnQuVVJMJyB0aGF0IHJlcHJlc2VudHMgdGhlIGlmcmFtZSBVUkxcblx0aWYgKHNhcC51c2hlbGwgJiYgc2FwLnVzaGVsbC5Db250YWluZXIgJiYgc2FwLnVzaGVsbC5Db250YWluZXIucnVubmluZ0luSWZyYW1lICYmIHNhcC51c2hlbGwuQ29udGFpbmVyLnJ1bm5pbmdJbklmcmFtZSgpKSB7XG5cdFx0c2FwLnVzaGVsbC5Db250YWluZXIuZ2V0RkxQVXJsKHRydWUpXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoc1VybDogYW55KSB7XG5cdFx0XHRcdHJldHVybiBzVXJsLnN1YnN0cigwLCBzVXJsLmluZGV4T2YoXCIjXCIpKSArIHNKYW1Vcmw7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChzRXJyb3I6IGFueSkge1xuXHRcdFx0XHRMb2cuZXJyb3IoXCJDb3VsZCBub3QgcmV0cmlldmUgY0ZMUCBVUkwgZm9yIHRoZSBzaGFyaW5nIGRpYWxvZyAoZGlhbG9nIHdpbGwgbm90IGJlIG9wZW5lZClcIiwgc0Vycm9yKTtcblx0XHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lICsgc0phbVVybDtcblx0fVxufVxuXG5jb25zdCBTaGFyZU92ZXJyaWRlID0ge1xuXHRhZGFwdFNoYXJlTWV0YWRhdGE6IGZ1bmN0aW9uICh0aGlzOiBTaGFyZSwgb1NoYXJlTWV0YWRhdGE6IGFueSkge1xuXHRcdFByb21pc2UucmVzb2x2ZShnZXRKYW1VcmwoKSlcblx0XHRcdC50aGVuKChzSmFtVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHtcblx0XHRcdFx0Y29uc3Qgb0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLmJhc2UuZ2V0VmlldygpKTtcblx0XHRcdFx0Y29uc3Qgb01ldGFkYXRhID0gb0FwcENvbXBvbmVudC5nZXRNZXRhZGF0YSgpO1xuXHRcdFx0XHRjb25zdCBvVUlNYW5pZmVzdCA9IG9NZXRhZGF0YS5nZXRNYW5pZmVzdEVudHJ5KFwic2FwLnVpXCIpO1xuXHRcdFx0XHRjb25zdCBzSWNvbiA9IChvVUlNYW5pZmVzdCAmJiBvVUlNYW5pZmVzdC5pY29ucyAmJiBvVUlNYW5pZmVzdC5pY29ucy5pY29uKSB8fCBcIlwiO1xuXHRcdFx0XHRjb25zdCBvQXBwTWFuaWZlc3QgPSBvTWV0YWRhdGEuZ2V0TWFuaWZlc3RFbnRyeShcInNhcC5hcHBcIik7XG5cdFx0XHRcdGNvbnN0IHNUaXRsZSA9IChvQXBwTWFuaWZlc3QgJiYgb0FwcE1hbmlmZXN0LnRpdGxlKSB8fCBcIlwiO1xuXHRcdFx0XHQvLyBUT0RPOiBjaGVjayBpZiB0aGVyZSBpcyBhbnkgc2VtYW50aWMgZGF0ZSB1c2VkIGJlZm9yZSBhZGRpbmcgc2VydmljZVVSTCBhcyBCTEk6RklPUklURUNIUDEtMTgwMjNcblx0XHRcdFx0b1NoYXJlTWV0YWRhdGEudGlsZSA9IHtcblx0XHRcdFx0XHRpY29uOiBzSWNvbixcblx0XHRcdFx0XHR0aXRsZTogc1RpdGxlLFxuXHRcdFx0XHRcdHF1ZXJ5VXJsOiBnZXRTYXZlQXNUaWxlU2VydmljZVVybCh0aGlzLmJhc2UpXG5cdFx0XHRcdH07XG5cdFx0XHRcdG9TaGFyZU1ldGFkYXRhLnRpdGxlID0gZG9jdW1lbnQudGl0bGU7XG5cdFx0XHRcdG9TaGFyZU1ldGFkYXRhLmphbS51cmwgPSBzSmFtVXJsO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xuXHRcdFx0XHRMb2cuZXJyb3IoZXJyb3IpO1xuXHRcdFx0fSk7XG5cblx0XHRQcm9taXNlLnJlc29sdmUoZ2V0U2hhcmVVcmwoKSlcblx0XHRcdC50aGVuKGZ1bmN0aW9uIChzVXJsOiBhbnkpIHtcblx0XHRcdFx0b1NoYXJlTWV0YWRhdGEudXJsID0gc1VybDtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcblx0XHRcdFx0TG9nLmVycm9yKGVycm9yKTtcblx0XHRcdH0pO1xuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoZ2V0U2hhcmVFbWFpbFVybCgpKS50aGVuKGZ1bmN0aW9uIChzRkxQVXJsOiBhbnkpIHtcblx0XHRcdG9TaGFyZU1ldGFkYXRhLmVtYWlsLnVybCA9IHNGTFBVcmw7XG5cdFx0XHRyZXR1cm4gb1NoYXJlTWV0YWRhdGE7XG5cdFx0fSk7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNoYXJlT3ZlcnJpZGU7XG4iXX0=
139
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNoYXJlLnRzIl0sIm5hbWVzIjpbImdldENvdW50VXJsIiwib0NvbnRyb2xsZXIiLCJzVGFibGVJZCIsImdldFZpZXciLCJieUlkIiwiZ2V0U2VsZWN0ZWRLZXkiLCJnZXRDb250ZW50IiwiZGF0YSIsInNpbmdsZVRhYmxlSWQiLCJvVGFibGUiLCJvQmluZGluZyIsImdldFJvd0JpbmRpbmciLCJnZXRCaW5kaW5nIiwic0Rvd25sb2FkVXJsIiwiZ2V0RG93bmxvYWRVcmwiLCJhU3BsaXRVcmwiLCJzcGxpdCIsImJhc2VVcmwiLCJhU3VwcG9ydGVkUGFyYW1zIiwibGVuZ3RoIiwidXJsUGFyYW1zIiwiZm9yRWFjaCIsInVybFBhcmFtIiwiYVVybFBhcmFtUGFydHMiLCJwdXNoIiwiam9pbiIsImdldFNoYXJlVXJsIiwic0hhc2giLCJIYXNoQ2hhbmdlciIsImdldEluc3RhbmNlIiwiZ2V0SGFzaCIsInNCYXNlUGF0aCIsImhyZWZGb3JBcHBTcGVjaWZpY0hhc2giLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhhc2giLCJnZXRTaGFyZUVtYWlsVXJsIiwib1VTaGVsbENvbnRhaW5lciIsInNhcCIsInVzaGVsbCIsIkNvbnRhaW5lciIsImdldEZMUFVybEFzeW5jIiwidGhlbiIsInNGTFBVcmwiLCJjYXRjaCIsInNFcnJvciIsIkxvZyIsImVycm9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJkb2N1bWVudCIsIlVSTCIsImdldFNhdmVBc1RpbGVTZXJ2aWNlVXJsIiwib0ZpbHRlckJhciIsIm9Db25kaXRpb25zIiwiZ2V0RmlsdGVyQ29uZGl0aW9ucyIsImJTYXZlQXNUaWxlU2VydmljZVVybEFsbG93ZWQiLCJTZW1hbnRpY0RhdGVPcGVyYXRvcnMiLCJoYXNTZW1hbnRpY0RhdGVPcGVyYXRpb25zIiwiZ2V0SmFtVXJsIiwic0phbVVybCIsInJ1bm5pbmdJbklmcmFtZSIsImdldEZMUFVybCIsInNVcmwiLCJzdWJzdHIiLCJpbmRleE9mIiwib3JpZ2luIiwicGF0aG5hbWUiLCJTaGFyZU92ZXJyaWRlIiwiYWRhcHRTaGFyZU1ldGFkYXRhIiwib1NoYXJlTWV0YWRhdGEiLCJvQXBwQ29tcG9uZW50IiwiQ29tbW9uVXRpbHMiLCJnZXRBcHBDb21wb25lbnQiLCJiYXNlIiwib01ldGFkYXRhIiwiZ2V0TWV0YWRhdGEiLCJvVUlNYW5pZmVzdCIsImdldE1hbmlmZXN0RW50cnkiLCJzSWNvbiIsImljb25zIiwiaWNvbiIsIm9BcHBNYW5pZmVzdCIsInNUaXRsZSIsInRpdGxlIiwidGlsZSIsInF1ZXJ5VXJsIiwiamFtIiwidXJsIiwiZW1haWwiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7QUFNQSxXQUFTQSxXQUFULENBQXFCQyxXQUFyQixFQUFrRDtBQUFBOztBQUNqRDtBQUNBLFFBQUlDLFFBQVEsNEJBQUlELFdBQVcsQ0FBQ0UsT0FBWixHQUFzQkMsSUFBdEIsQ0FBMkIscUJBQTNCLENBQUosMERBQUcsc0JBQW1FQyxjQUFuRSxFQUFmOztBQUNBLFFBQUksQ0FBQ0gsUUFBTCxFQUFlO0FBQ2Q7QUFDQUEsTUFBQUEsUUFBUSxHQUFHRCxXQUFXLENBQUNFLE9BQVosR0FBc0JHLFVBQXRCLEdBQW1DLENBQW5DLEVBQXNDQyxJQUF0QyxHQUE2Q0MsYUFBeEQ7QUFDQTs7QUFDRCxRQUFNQyxNQUFNLEdBQUdSLFdBQVcsQ0FBQ0UsT0FBWixHQUFzQkMsSUFBdEIsQ0FBMkJGLFFBQTNCLENBQWY7O0FBQ0EsUUFBSSxDQUFDTyxNQUFMLEVBQWE7QUFDWixhQUFPLEVBQVA7QUFDQTs7QUFDRCxRQUFNQyxRQUFRLEdBQUdELE1BQU0sQ0FBQ0UsYUFBUCxNQUEwQkYsTUFBTSxDQUFDRyxVQUFQLENBQWtCLE9BQWxCLENBQTNDO0FBQ0EsUUFBTUMsWUFBWSxHQUFJSCxRQUFRLElBQUtBLFFBQUQsQ0FBa0JJLGNBQWxCLEVBQWIsSUFBb0QsRUFBekU7QUFDQSxRQUFNQyxTQUFTLEdBQUdGLFlBQVksQ0FBQ0csS0FBYixDQUFtQixHQUFuQixDQUFsQjtBQUNBLFFBQU1DLE9BQU8sYUFBTUYsU0FBUyxDQUFDLENBQUQsQ0FBZixhQUFiLENBZGlELENBZWpEO0FBQ0E7QUFDQTs7QUFDQSxRQUFNRyxnQkFBdUIsR0FBRyxFQUFoQzs7QUFDQSxRQUFJSCxTQUFTLENBQUNJLE1BQVYsR0FBbUIsQ0FBdkIsRUFBMEI7QUFDekIsVUFBTUMsU0FBUyxHQUFHTCxTQUFTLENBQUMsQ0FBRCxDQUEzQjtBQUNBSyxNQUFBQSxTQUFTLENBQUNKLEtBQVYsQ0FBZ0IsR0FBaEIsRUFBcUJLLE9BQXJCLENBQTZCLFVBQVVDLFFBQVYsRUFBeUI7QUFDckQsWUFBTUMsY0FBYyxHQUFHRCxRQUFRLENBQUNOLEtBQVQsQ0FBZSxHQUFmLENBQXZCOztBQUNBLGdCQUFRTyxjQUFjLENBQUMsQ0FBRCxDQUF0QjtBQUNDLGVBQUssUUFBTDtBQUNBLGVBQUssU0FBTDtBQUNBLGVBQUssU0FBTDtBQUNDTCxZQUFBQSxnQkFBZ0IsQ0FBQ00sSUFBakIsQ0FBc0JGLFFBQXRCO0FBSkY7QUFNQSxPQVJEO0FBU0E7O0FBQ0QsV0FBT0wsT0FBTyxHQUFHQyxnQkFBZ0IsQ0FBQ08sSUFBakIsQ0FBc0IsR0FBdEIsQ0FBakI7QUFDQTs7QUFDRCxXQUFTQyxXQUFULEdBQXVCO0FBQ3RCLFFBQU1DLEtBQUssR0FBR0MsV0FBVyxDQUFDQyxXQUFaLEdBQTBCQyxPQUExQixFQUFkO0FBQ0EsUUFBTUMsU0FBUyxHQUFJSCxXQUFXLENBQUNDLFdBQVosRUFBRCxDQUFtQ0csc0JBQW5DLEdBQ2RKLFdBQVcsQ0FBQ0MsV0FBWixFQUFELENBQW1DRyxzQkFBbkMsQ0FBMEQsRUFBMUQsQ0FEZSxHQUVmLEVBRkg7QUFHQSxXQUFPTCxLQUFLLEdBQUdJLFNBQVMsR0FBR0osS0FBZixHQUF1Qk0sTUFBTSxDQUFDQyxRQUFQLENBQWdCQyxJQUFuRDtBQUNBOztBQUNELFdBQVNDLGdCQUFULEdBQTRCO0FBQzNCLFFBQU1DLGdCQUFnQixHQUFHQyxHQUFHLENBQUNDLE1BQUosSUFBY0QsR0FBRyxDQUFDQyxNQUFKLENBQVdDLFNBQWxEOztBQUNBLFFBQUlILGdCQUFKLEVBQXNCO0FBQ3JCLGFBQU9BLGdCQUFnQixDQUNyQkksY0FESyxDQUNVLElBRFYsRUFFTEMsSUFGSyxDQUVBLFVBQVVDLE9BQVYsRUFBd0I7QUFDN0IsZUFBT0EsT0FBUDtBQUNBLE9BSkssRUFLTEMsS0FMSyxDQUtDLFVBQVVDLE1BQVYsRUFBdUI7QUFDN0JDLFFBQUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVLGdGQUFWLEVBQTRGRixNQUE1RjtBQUNBLE9BUEssQ0FBUDtBQVFBLEtBVEQsTUFTTztBQUNOLGFBQU9HLE9BQU8sQ0FBQ0MsT0FBUixDQUFnQkMsUUFBUSxDQUFDQyxHQUF6QixDQUFQO0FBQ0E7QUFDRDs7QUFDRCxXQUFTQyx1QkFBVCxDQUFpQ25ELFdBQWpDLEVBQW1EO0FBQ2xELFFBQU1vRCxVQUFVLEdBQUdwRCxXQUFXLENBQUNFLE9BQVosR0FBc0JDLElBQXRCLENBQTJCSCxXQUFXLENBQUNFLE9BQVosR0FBc0JHLFVBQXRCLEdBQW1DLENBQW5DLEVBQXNDQyxJQUF0QyxDQUEyQyxhQUEzQyxDQUEzQixDQUFuQjs7QUFDQSxRQUFJOEMsVUFBSixFQUFnQjtBQUNmLFVBQU1DLFdBQVcsR0FBR0QsVUFBVSxDQUFDRSxtQkFBWCxFQUFwQjtBQUNBLFVBQU1DLDRCQUE0QixHQUFHQyxxQkFBcUIsQ0FBQ0MseUJBQXRCLENBQWdESixXQUFoRCxDQUFyQzs7QUFDQSxVQUFJRSw0QkFBSixFQUFrQztBQUNqQyxlQUFPeEQsV0FBVyxDQUFDQyxXQUFELENBQWxCO0FBQ0E7QUFDRDs7QUFDRCxXQUFPLEVBQVA7QUFDQTs7QUFDRCxXQUFTMEQsU0FBVCxHQUFxQjtBQUNwQixRQUFNaEMsS0FBSyxHQUFHQyxXQUFXLENBQUNDLFdBQVosR0FBMEJDLE9BQTFCLEVBQWQ7QUFDQSxRQUFNQyxTQUFTLEdBQUlILFdBQVcsQ0FBQ0MsV0FBWixFQUFELENBQW1DRyxzQkFBbkMsR0FDZEosV0FBVyxDQUFDQyxXQUFaLEVBQUQsQ0FBbUNHLHNCQUFuQyxDQUEwRCxFQUExRCxDQURlLEdBRWYsRUFGSDtBQUdBLFFBQU00QixPQUFPLEdBQUdqQyxLQUFLLEdBQUdJLFNBQVMsR0FBR0osS0FBZixHQUF1Qk0sTUFBTSxDQUFDQyxRQUFQLENBQWdCQyxJQUE1RCxDQUxvQixDQU1wQjtBQUNBO0FBQ0E7O0FBQ0EsUUFBSUcsR0FBRyxDQUFDQyxNQUFKLElBQWNELEdBQUcsQ0FBQ0MsTUFBSixDQUFXQyxTQUF6QixJQUFzQ0YsR0FBRyxDQUFDQyxNQUFKLENBQVdDLFNBQVgsQ0FBcUJxQixlQUEzRCxJQUE4RXZCLEdBQUcsQ0FBQ0MsTUFBSixDQUFXQyxTQUFYLENBQXFCcUIsZUFBckIsRUFBbEYsRUFBMEg7QUFDekh2QixNQUFBQSxHQUFHLENBQUNDLE1BQUosQ0FBV0MsU0FBWCxDQUFxQnNCLFNBQXJCLENBQStCLElBQS9CLEVBQ0VwQixJQURGLENBQ08sVUFBVXFCLElBQVYsRUFBcUI7QUFDMUIsZUFBT0EsSUFBSSxDQUFDQyxNQUFMLENBQVksQ0FBWixFQUFlRCxJQUFJLENBQUNFLE9BQUwsQ0FBYSxHQUFiLENBQWYsSUFBb0NMLE9BQTNDO0FBQ0EsT0FIRixFQUlFaEIsS0FKRixDQUlRLFVBQVVDLE1BQVYsRUFBdUI7QUFDN0JDLFFBQUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVLGdGQUFWLEVBQTRGRixNQUE1RjtBQUNBLE9BTkY7QUFPQSxLQVJELE1BUU87QUFDTixhQUFPWixNQUFNLENBQUNDLFFBQVAsQ0FBZ0JnQyxNQUFoQixHQUF5QmpDLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQmlDLFFBQXpDLEdBQW9EUCxPQUEzRDtBQUNBO0FBQ0Q7O0FBRUQsTUFBTVEsYUFBYSxHQUFHO0FBQ3JCQyxJQUFBQSxrQkFBa0IsRUFBRSxVQUF1QkMsY0FBdkIsRUFBNEM7QUFBQTs7QUFDL0R0QixNQUFBQSxPQUFPLENBQUNDLE9BQVIsQ0FBZ0JVLFNBQVMsRUFBekIsRUFDRWpCLElBREYsQ0FDTyxVQUFDa0IsT0FBRCxFQUFpQztBQUN0QyxZQUFNVyxhQUFhLEdBQUdDLFdBQVcsQ0FBQ0MsZUFBWixDQUE0QixLQUFJLENBQUNDLElBQUwsQ0FBVXZFLE9BQVYsRUFBNUIsQ0FBdEI7QUFDQSxZQUFNd0UsU0FBUyxHQUFHSixhQUFhLENBQUNLLFdBQWQsRUFBbEI7QUFDQSxZQUFNQyxXQUFXLEdBQUdGLFNBQVMsQ0FBQ0csZ0JBQVYsQ0FBMkIsUUFBM0IsQ0FBcEI7QUFDQSxZQUFNQyxLQUFLLEdBQUlGLFdBQVcsSUFBSUEsV0FBVyxDQUFDRyxLQUEzQixJQUFvQ0gsV0FBVyxDQUFDRyxLQUFaLENBQWtCQyxJQUF2RCxJQUFnRSxFQUE5RTtBQUNBLFlBQU1DLFlBQVksR0FBR1AsU0FBUyxDQUFDRyxnQkFBVixDQUEyQixTQUEzQixDQUFyQjtBQUNBLFlBQU1LLE1BQU0sR0FBSUQsWUFBWSxJQUFJQSxZQUFZLENBQUNFLEtBQTlCLElBQXdDLEVBQXZELENBTnNDLENBT3RDOztBQUNBZCxRQUFBQSxjQUFjLENBQUNlLElBQWYsR0FBc0I7QUFDckJKLFVBQUFBLElBQUksRUFBRUYsS0FEZTtBQUVyQkssVUFBQUEsS0FBSyxFQUFFRCxNQUZjO0FBR3JCRyxVQUFBQSxRQUFRLEVBQUVsQyx1QkFBdUIsQ0FBQyxLQUFJLENBQUNzQixJQUFOO0FBSFosU0FBdEI7QUFLQUosUUFBQUEsY0FBYyxDQUFDYyxLQUFmLEdBQXVCbEMsUUFBUSxDQUFDa0MsS0FBaEM7QUFDQWQsUUFBQUEsY0FBYyxDQUFDaUIsR0FBZixDQUFtQkMsR0FBbkIsR0FBeUI1QixPQUF6QjtBQUNBLE9BaEJGLEVBaUJFaEIsS0FqQkYsQ0FpQlEsVUFBVUcsS0FBVixFQUFzQjtBQUM1QkQsUUFBQUEsR0FBRyxDQUFDQyxLQUFKLENBQVVBLEtBQVY7QUFDQSxPQW5CRjtBQXFCQUMsTUFBQUEsT0FBTyxDQUFDQyxPQUFSLENBQWdCdkIsV0FBVyxFQUEzQixFQUNFZ0IsSUFERixDQUNPLFVBQVVxQixJQUFWLEVBQXFCO0FBQzFCTyxRQUFBQSxjQUFjLENBQUNrQixHQUFmLEdBQXFCekIsSUFBckI7QUFDQSxPQUhGLEVBSUVuQixLQUpGLENBSVEsVUFBVUcsS0FBVixFQUFzQjtBQUM1QkQsUUFBQUEsR0FBRyxDQUFDQyxLQUFKLENBQVVBLEtBQVY7QUFDQSxPQU5GO0FBT0EsYUFBT0MsT0FBTyxDQUFDQyxPQUFSLENBQWdCYixnQkFBZ0IsRUFBaEMsRUFBb0NNLElBQXBDLENBQXlDLFVBQVVDLE9BQVYsRUFBd0I7QUFDdkUyQixRQUFBQSxjQUFjLENBQUNtQixLQUFmLENBQXFCRCxHQUFyQixHQUEyQjdDLE9BQTNCO0FBQ0EsZUFBTzJCLGNBQVA7QUFDQSxPQUhNLENBQVA7QUFJQTtBQWxDb0IsR0FBdEI7U0FxQ2VGLGEiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgQmFzZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBTaGFyZSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvU2hhcmVcIjtcbmltcG9ydCBTZW1hbnRpY0RhdGVPcGVyYXRvcnMgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvU2VtYW50aWNEYXRlT3BlcmF0b3JzXCI7XG5pbXBvcnQgdHlwZSBJY29uVGFiQmFyIGZyb20gXCJzYXAvbS9JY29uVGFiQmFyXCI7XG5pbXBvcnQgSGFzaENoYW5nZXIgZnJvbSBcInNhcC91aS9jb3JlL3JvdXRpbmcvSGFzaENoYW5nZXJcIjtcbmltcG9ydCB0eXBlIFRhYmxlIGZyb20gXCJzYXAvdWkvbWRjL1RhYmxlXCI7XG5mdW5jdGlvbiBnZXRDb3VudFVybChvQ29udHJvbGxlcjogQmFzZUNvbnRyb2xsZXIpIHtcblx0Ly8gZ2V0IHNlbGVjdGVkIHRhYmxlIElEIGZyb20gbXVsdGlwbGUgdGFic1xuXHRsZXQgc1RhYmxlSWQgPSAob0NvbnRyb2xsZXIuZ2V0VmlldygpLmJ5SWQoXCJmZTo6VGFiTXVsdGlwbGVNb2RlXCIpIGFzIEljb25UYWJCYXIpPy5nZXRTZWxlY3RlZEtleSgpO1xuXHRpZiAoIXNUYWJsZUlkKSB7XG5cdFx0Ly8gaWYgbm90IG11bHRpcGxlIHRhYnMsIGdldCBzaW5nbGUgdGFibGUgSURcblx0XHRzVGFibGVJZCA9IG9Db250cm9sbGVyLmdldFZpZXcoKS5nZXRDb250ZW50KClbMF0uZGF0YSgpLnNpbmdsZVRhYmxlSWQ7XG5cdH1cblx0Y29uc3Qgb1RhYmxlID0gb0NvbnRyb2xsZXIuZ2V0VmlldygpLmJ5SWQoc1RhYmxlSWQpIGFzIFRhYmxlO1xuXHRpZiAoIW9UYWJsZSkge1xuXHRcdHJldHVybiBcIlwiO1xuXHR9XG5cdGNvbnN0IG9CaW5kaW5nID0gb1RhYmxlLmdldFJvd0JpbmRpbmcoKSB8fCBvVGFibGUuZ2V0QmluZGluZyhcIml0ZW1zXCIpO1xuXHRjb25zdCBzRG93bmxvYWRVcmwgPSAob0JpbmRpbmcgJiYgKG9CaW5kaW5nIGFzIGFueSkuZ2V0RG93bmxvYWRVcmwoKSkgfHwgXCJcIjtcblx0Y29uc3QgYVNwbGl0VXJsID0gc0Rvd25sb2FkVXJsLnNwbGl0KFwiP1wiKTtcblx0Y29uc3QgYmFzZVVybCA9IGAke2FTcGxpdFVybFswXX0vJGNvdW50P2A7XG5cdC8vIGdldERvd25sb2FkVXJsKCkgcmV0dXJucyB1cmwgd2l0aCAkc2VsZWN0LCAkZXhwYW5kIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgd2hlbiAvJGNvdW50IGlzIHVzZWQgdG8gZ2V0IHRoZSByZWNvcmQgY291bnQuIG9ubHkgJGFwcGx5LCAkc2VhcmNoLCAkZmlsdGVyIGlzIHN1cHBvcnRlZFxuXHQvLyA/JGNvdW50PXRydWUgcmV0dXJucyBjb3VudCBpbiBhIGZvcm1hdCB3aGljaCBpcyBub3Qgc3VwcG9ydGVkIGJ5IEZMUCB5ZXQuXG5cdC8vIGN1cnJlbnRseSBzdXBwb3J0ZWQgZm9ybWF0IGZvciB2NCBpcyAuLi9jb3VudC4uIG9ubHkgKHdoZXJlIHRpbGUgcHJldmlldyB3aWxsIHN0aWxsIG5vdCB3b3JrKVxuXHRjb25zdCBhU3VwcG9ydGVkUGFyYW1zOiBhbnlbXSA9IFtdO1xuXHRpZiAoYVNwbGl0VXJsLmxlbmd0aCA+IDEpIHtcblx0XHRjb25zdCB1cmxQYXJhbXMgPSBhU3BsaXRVcmxbMV07XG5cdFx0dXJsUGFyYW1zLnNwbGl0KFwiJlwiKS5mb3JFYWNoKGZ1bmN0aW9uICh1cmxQYXJhbTogYW55KSB7XG5cdFx0XHRjb25zdCBhVXJsUGFyYW1QYXJ0cyA9IHVybFBhcmFtLnNwbGl0KFwiPVwiKTtcblx0XHRcdHN3aXRjaCAoYVVybFBhcmFtUGFydHNbMF0pIHtcblx0XHRcdFx0Y2FzZSBcIiRhcHBseVwiOlxuXHRcdFx0XHRjYXNlIFwiJHNlYXJjaFwiOlxuXHRcdFx0XHRjYXNlIFwiJGZpbHRlclwiOlxuXHRcdFx0XHRcdGFTdXBwb3J0ZWRQYXJhbXMucHVzaCh1cmxQYXJhbSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGJhc2VVcmwgKyBhU3VwcG9ydGVkUGFyYW1zLmpvaW4oXCImXCIpO1xufVxuZnVuY3Rpb24gZ2V0U2hhcmVVcmwoKSB7XG5cdGNvbnN0IHNIYXNoID0gSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKS5nZXRIYXNoKCk7XG5cdGNvbnN0IHNCYXNlUGF0aCA9IChIYXNoQ2hhbmdlci5nZXRJbnN0YW5jZSgpIGFzIGFueSkuaHJlZkZvckFwcFNwZWNpZmljSGFzaFxuXHRcdD8gKEhhc2hDaGFuZ2VyLmdldEluc3RhbmNlKCkgYXMgYW55KS5ocmVmRm9yQXBwU3BlY2lmaWNIYXNoKFwiXCIpXG5cdFx0OiBcIlwiO1xuXHRyZXR1cm4gc0hhc2ggPyBzQmFzZVBhdGggKyBzSGFzaCA6IHdpbmRvdy5sb2NhdGlvbi5oYXNoO1xufVxuZnVuY3Rpb24gZ2V0U2hhcmVFbWFpbFVybCgpIHtcblx0Y29uc3Qgb1VTaGVsbENvbnRhaW5lciA9IHNhcC51c2hlbGwgJiYgc2FwLnVzaGVsbC5Db250YWluZXI7XG5cdGlmIChvVVNoZWxsQ29udGFpbmVyKSB7XG5cdFx0cmV0dXJuIG9VU2hlbGxDb250YWluZXJcblx0XHRcdC5nZXRGTFBVcmxBc3luYyh0cnVlKVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKHNGTFBVcmw6IGFueSkge1xuXHRcdFx0XHRyZXR1cm4gc0ZMUFVybDtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKHNFcnJvcjogYW55KSB7XG5cdFx0XHRcdExvZy5lcnJvcihcIkNvdWxkIG5vdCByZXRyaWV2ZSBjRkxQIFVSTCBmb3IgdGhlIHNoYXJpbmcgZGlhbG9nIChkaWFsb2cgd2lsbCBub3QgYmUgb3BlbmVkKVwiLCBzRXJyb3IpO1xuXHRcdFx0fSk7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShkb2N1bWVudC5VUkwpO1xuXHR9XG59XG5mdW5jdGlvbiBnZXRTYXZlQXNUaWxlU2VydmljZVVybChvQ29udHJvbGxlcjogYW55KSB7XG5cdGNvbnN0IG9GaWx0ZXJCYXIgPSBvQ29udHJvbGxlci5nZXRWaWV3KCkuYnlJZChvQ29udHJvbGxlci5nZXRWaWV3KCkuZ2V0Q29udGVudCgpWzBdLmRhdGEoXCJmaWx0ZXJCYXJJZFwiKSk7XG5cdGlmIChvRmlsdGVyQmFyKSB7XG5cdFx0Y29uc3Qgb0NvbmRpdGlvbnMgPSBvRmlsdGVyQmFyLmdldEZpbHRlckNvbmRpdGlvbnMoKTtcblx0XHRjb25zdCBiU2F2ZUFzVGlsZVNlcnZpY2VVcmxBbGxvd2VkID0gU2VtYW50aWNEYXRlT3BlcmF0b3JzLmhhc1NlbWFudGljRGF0ZU9wZXJhdGlvbnMob0NvbmRpdGlvbnMpO1xuXHRcdGlmIChiU2F2ZUFzVGlsZVNlcnZpY2VVcmxBbGxvd2VkKSB7XG5cdFx0XHRyZXR1cm4gZ2V0Q291bnRVcmwob0NvbnRyb2xsZXIpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gXCJcIjtcbn1cbmZ1bmN0aW9uIGdldEphbVVybCgpIHtcblx0Y29uc3Qgc0hhc2ggPSBIYXNoQ2hhbmdlci5nZXRJbnN0YW5jZSgpLmdldEhhc2goKTtcblx0Y29uc3Qgc0Jhc2VQYXRoID0gKEhhc2hDaGFuZ2VyLmdldEluc3RhbmNlKCkgYXMgYW55KS5ocmVmRm9yQXBwU3BlY2lmaWNIYXNoXG5cdFx0PyAoSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKSBhcyBhbnkpLmhyZWZGb3JBcHBTcGVjaWZpY0hhc2goXCJcIilcblx0XHQ6IFwiXCI7XG5cdGNvbnN0IHNKYW1VcmwgPSBzSGFzaCA/IHNCYXNlUGF0aCArIHNIYXNoIDogd2luZG93LmxvY2F0aW9uLmhhc2g7XG5cdC8vIGluIGNhc2Ugd2UgYXJlIGluIGNGTFAgc2NlbmFyaW8sIHRoZSBhcHBsaWNhdGlvbiBpcyBydW5uaW5nXG5cdC8vIGluc2lkZSBhbiBpZnJhbWUsIGFuZCB0aGVyZSBmb3Igd2UgbmVlZCB0byBnZXQgdGhlIGNGTFAgVVJMXG5cdC8vIGFuZCBub3QgJ2RvY3VtZW50LlVSTCcgdGhhdCByZXByZXNlbnRzIHRoZSBpZnJhbWUgVVJMXG5cdGlmIChzYXAudXNoZWxsICYmIHNhcC51c2hlbGwuQ29udGFpbmVyICYmIHNhcC51c2hlbGwuQ29udGFpbmVyLnJ1bm5pbmdJbklmcmFtZSAmJiBzYXAudXNoZWxsLkNvbnRhaW5lci5ydW5uaW5nSW5JZnJhbWUoKSkge1xuXHRcdHNhcC51c2hlbGwuQ29udGFpbmVyLmdldEZMUFVybCh0cnVlKVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKHNVcmw6IGFueSkge1xuXHRcdFx0XHRyZXR1cm4gc1VybC5zdWJzdHIoMCwgc1VybC5pbmRleE9mKFwiI1wiKSkgKyBzSmFtVXJsO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAoc0Vycm9yOiBhbnkpIHtcblx0XHRcdFx0TG9nLmVycm9yKFwiQ291bGQgbm90IHJldHJpZXZlIGNGTFAgVVJMIGZvciB0aGUgc2hhcmluZyBkaWFsb2cgKGRpYWxvZyB3aWxsIG5vdCBiZSBvcGVuZWQpXCIsIHNFcnJvcik7XG5cdFx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArIHNKYW1Vcmw7XG5cdH1cbn1cblxuY29uc3QgU2hhcmVPdmVycmlkZSA9IHtcblx0YWRhcHRTaGFyZU1ldGFkYXRhOiBmdW5jdGlvbiAodGhpczogU2hhcmUsIG9TaGFyZU1ldGFkYXRhOiBhbnkpIHtcblx0XHRQcm9taXNlLnJlc29sdmUoZ2V0SmFtVXJsKCkpXG5cdFx0XHQudGhlbigoc0phbVVybDogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQodGhpcy5iYXNlLmdldFZpZXcoKSk7XG5cdFx0XHRcdGNvbnN0IG9NZXRhZGF0YSA9IG9BcHBDb21wb25lbnQuZ2V0TWV0YWRhdGEoKTtcblx0XHRcdFx0Y29uc3Qgb1VJTWFuaWZlc3QgPSBvTWV0YWRhdGEuZ2V0TWFuaWZlc3RFbnRyeShcInNhcC51aVwiKTtcblx0XHRcdFx0Y29uc3Qgc0ljb24gPSAob1VJTWFuaWZlc3QgJiYgb1VJTWFuaWZlc3QuaWNvbnMgJiYgb1VJTWFuaWZlc3QuaWNvbnMuaWNvbikgfHwgXCJcIjtcblx0XHRcdFx0Y29uc3Qgb0FwcE1hbmlmZXN0ID0gb01ldGFkYXRhLmdldE1hbmlmZXN0RW50cnkoXCJzYXAuYXBwXCIpO1xuXHRcdFx0XHRjb25zdCBzVGl0bGUgPSAob0FwcE1hbmlmZXN0ICYmIG9BcHBNYW5pZmVzdC50aXRsZSkgfHwgXCJcIjtcblx0XHRcdFx0Ly8gVE9ETzogY2hlY2sgaWYgdGhlcmUgaXMgYW55IHNlbWFudGljIGRhdGUgdXNlZCBiZWZvcmUgYWRkaW5nIHNlcnZpY2VVUkwgYXMgQkxJOkZJT1JJVEVDSFAxLTE4MDIzXG5cdFx0XHRcdG9TaGFyZU1ldGFkYXRhLnRpbGUgPSB7XG5cdFx0XHRcdFx0aWNvbjogc0ljb24sXG5cdFx0XHRcdFx0dGl0bGU6IHNUaXRsZSxcblx0XHRcdFx0XHRxdWVyeVVybDogZ2V0U2F2ZUFzVGlsZVNlcnZpY2VVcmwodGhpcy5iYXNlKVxuXHRcdFx0XHR9O1xuXHRcdFx0XHRvU2hhcmVNZXRhZGF0YS50aXRsZSA9IGRvY3VtZW50LnRpdGxlO1xuXHRcdFx0XHRvU2hhcmVNZXRhZGF0YS5qYW0udXJsID0gc0phbVVybDtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcblx0XHRcdFx0TG9nLmVycm9yKGVycm9yKTtcblx0XHRcdH0pO1xuXG5cdFx0UHJvbWlzZS5yZXNvbHZlKGdldFNoYXJlVXJsKCkpXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoc1VybDogYW55KSB7XG5cdFx0XHRcdG9TaGFyZU1ldGFkYXRhLnVybCA9IHNVcmw7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XG5cdFx0XHRcdExvZy5lcnJvcihlcnJvcik7XG5cdFx0XHR9KTtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGdldFNoYXJlRW1haWxVcmwoKSkudGhlbihmdW5jdGlvbiAoc0ZMUFVybDogYW55KSB7XG5cdFx0XHRvU2hhcmVNZXRhZGF0YS5lbWFpbC51cmwgPSBzRkxQVXJsO1xuXHRcdFx0cmV0dXJuIG9TaGFyZU1ldGFkYXRhO1xuXHRcdH0pO1xuXHR9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTaGFyZU92ZXJyaWRlO1xuIl19
@@ -1,11 +1,11 @@
1
1
  import Log from "sap/base/Log";
2
- import BaseController from "sap/fe/core/BaseController";
2
+ import type BaseController from "sap/fe/core/BaseController";
3
3
  import CommonUtils from "sap/fe/core/CommonUtils";
4
- import Share from "sap/fe/core/controllerextensions/Share";
4
+ import type Share from "sap/fe/core/controllerextensions/Share";
5
5
  import SemanticDateOperators from "sap/fe/core/helpers/SemanticDateOperators";
6
- import IconTabBar from "sap/m/IconTabBar";
6
+ import type IconTabBar from "sap/m/IconTabBar";
7
7
  import HashChanger from "sap/ui/core/routing/HashChanger";
8
- import Table from "sap/ui/mdc/Table";
8
+ import type Table from "sap/ui/mdc/Table";
9
9
  function getCountUrl(oController: BaseController) {
10
10
  // get selected table ID from multiple tabs
11
11
  let sTableId = (oController.getView().byId("fe::TabMultipleMode") as IconTabBar)?.getSelectedKey();
@@ -20,7 +20,7 @@ function getCountUrl(oController: BaseController) {
20
20
  const oBinding = oTable.getRowBinding() || oTable.getBinding("items");
21
21
  const sDownloadUrl = (oBinding && (oBinding as any).getDownloadUrl()) || "";
22
22
  const aSplitUrl = sDownloadUrl.split("?");
23
- const baseUrl = aSplitUrl[0] + "/$count?";
23
+ const baseUrl = `${aSplitUrl[0]}/$count?`;
24
24
  // getDownloadUrl() returns url with $select, $expand which is not supported when /$count is used to get the record count. only $apply, $search, $filter is supported
25
25
  // ?$count=true returns count in a format which is not supported by FLP yet.
26
26
  // currently supported format for v4 is ../count.. only (where tile preview will still not work)
@@ -44,8 +44,7 @@ function getShareUrl() {
44
44
  const sBasePath = (HashChanger.getInstance() as any).hrefForAppSpecificHash
45
45
  ? (HashChanger.getInstance() as any).hrefForAppSpecificHash("")
46
46
  : "";
47
- const sShareUrl = sHash ? sBasePath + sHash : window.location.hash;
48
- return sShareUrl;
47
+ return sHash ? sBasePath + sHash : window.location.hash;
49
48
  }
50
49
  function getShareEmailUrl() {
51
50
  const oUShellContainer = sap.ushell && sap.ushell.Container;