@sapui5/sap.fe.templates 1.101.1 → 1.102.2

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 (93) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/templates/.library +1 -1
  3. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +8 -5
  4. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +11 -5
  5. package/src/sap/fe/templates/ListReport/ListReport.view.xml +104 -57
  6. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +104 -19
  7. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +98 -19
  8. package/src/sap/fe/templates/ListReport/ListReportTemplating.js +45 -0
  9. package/src/sap/fe/templates/ListReport/ListReportTemplating.ts +30 -0
  10. package/src/sap/fe/templates/ListReport/overrides/Share.js +7 -4
  11. package/src/sap/fe/templates/ListReport/overrides/Share.ts +4 -3
  12. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +10 -2
  13. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +7 -1
  14. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +164 -18
  15. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +51 -47
  16. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +52 -40
  17. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +872 -0
  18. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +837 -0
  19. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +3 -3
  20. package/src/sap/fe/templates/ObjectPage/overrides/Share.ts +2 -2
  21. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +9 -10
  22. package/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +1 -2
  23. package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +15 -15
  24. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +28 -24
  25. package/src/sap/fe/templates/ObjectPage/view/fragments/FormActionButtons.fragment.xml +15 -16
  26. package/src/sap/fe/templates/ObjectPage/view/fragments/FormActions.fragment.xml +1 -5
  27. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPoint.fragment.xml +1 -2
  28. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +1 -3
  29. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +3 -4
  30. package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +16 -17
  31. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +3 -3
  32. package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +3 -3
  33. package/src/sap/fe/templates/ObjectPage/view/fragments/RelatedApps.fragment.xml +7 -4
  34. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +71 -6
  35. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +114 -94
  36. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +127 -107
  37. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +81 -33
  38. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.ts +71 -33
  39. package/src/sap/fe/templates/controls/MacroChart.fragment.xml +1 -0
  40. package/src/sap/fe/templates/controls/Table.fragment.xml +3 -4
  41. package/src/sap/fe/templates/library.js +1 -1
  42. package/src/sap/fe/templates/messagebundle_ar.properties +10 -6
  43. package/src/sap/fe/templates/messagebundle_bg.properties +6 -2
  44. package/src/sap/fe/templates/messagebundle_ca.properties +10 -6
  45. package/src/sap/fe/templates/messagebundle_cs.properties +6 -2
  46. package/src/sap/fe/templates/messagebundle_cy.properties +10 -6
  47. package/src/sap/fe/templates/messagebundle_da.properties +10 -6
  48. package/src/sap/fe/templates/messagebundle_de.properties +10 -6
  49. package/src/sap/fe/templates/messagebundle_el.properties +10 -6
  50. package/src/sap/fe/templates/messagebundle_en.properties +6 -2
  51. package/src/sap/fe/templates/messagebundle_en_GB.properties +8 -4
  52. package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +13 -5
  53. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +7 -3
  54. package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +7 -3
  55. package/src/sap/fe/templates/messagebundle_es.properties +6 -2
  56. package/src/sap/fe/templates/messagebundle_es_MX.properties +10 -6
  57. package/src/sap/fe/templates/messagebundle_et.properties +6 -2
  58. package/src/sap/fe/templates/messagebundle_fi.properties +10 -6
  59. package/src/sap/fe/templates/messagebundle_fr.properties +6 -2
  60. package/src/sap/fe/templates/messagebundle_fr_CA.properties +10 -6
  61. package/src/sap/fe/templates/messagebundle_hi.properties +10 -6
  62. package/src/sap/fe/templates/messagebundle_hr.properties +10 -6
  63. package/src/sap/fe/templates/messagebundle_hu.properties +6 -2
  64. package/src/sap/fe/templates/messagebundle_id.properties +6 -2
  65. package/src/sap/fe/templates/messagebundle_it.properties +10 -6
  66. package/src/sap/fe/templates/messagebundle_iw.properties +10 -6
  67. package/src/sap/fe/templates/messagebundle_ja.properties +6 -2
  68. package/src/sap/fe/templates/messagebundle_kk.properties +10 -6
  69. package/src/sap/fe/templates/messagebundle_ko.properties +6 -2
  70. package/src/sap/fe/templates/messagebundle_lt.properties +6 -2
  71. package/src/sap/fe/templates/messagebundle_lv.properties +6 -2
  72. package/src/sap/fe/templates/messagebundle_ms.properties +10 -6
  73. package/src/sap/fe/templates/messagebundle_nl.properties +6 -2
  74. package/src/sap/fe/templates/messagebundle_no.properties +10 -6
  75. package/src/sap/fe/templates/messagebundle_pl.properties +10 -6
  76. package/src/sap/fe/templates/messagebundle_pt.properties +7 -3
  77. package/src/sap/fe/templates/messagebundle_pt_PT.properties +6 -2
  78. package/src/sap/fe/templates/messagebundle_ro.properties +10 -6
  79. package/src/sap/fe/templates/messagebundle_ru.properties +10 -6
  80. package/src/sap/fe/templates/messagebundle_sh.properties +6 -2
  81. package/src/sap/fe/templates/messagebundle_sk.properties +6 -2
  82. package/src/sap/fe/templates/messagebundle_sl.properties +10 -6
  83. package/src/sap/fe/templates/messagebundle_sv.properties +6 -2
  84. package/src/sap/fe/templates/messagebundle_th.properties +10 -6
  85. package/src/sap/fe/templates/messagebundle_tr.properties +6 -2
  86. package/src/sap/fe/templates/messagebundle_uk.properties +6 -2
  87. package/src/sap/fe/templates/messagebundle_vi.properties +10 -6
  88. package/src/sap/fe/templates/messagebundle_zh_CN.properties +10 -6
  89. package/src/sap/fe/templates/messagebundle_zh_TW.properties +10 -6
  90. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +0 -482
  91. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.ts +0 -511
  92. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +0 -120
  93. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +0 -138
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.fe.templates",
3
- "version": "1.101.1",
3
+ "version": "1.102.2",
4
4
  "description": "SAPUI5 Library sap.fe.templates",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "author": "SAP SE (https://www.sap.com)",
@@ -6,7 +6,7 @@
6
6
  <copyright>SAP UI development toolkit for HTML5 (SAPUI5)
7
7
  (c) Copyright 2009-2021 SAP SE. All rights reserved
8
8
  </copyright>
9
- <version>1.101.1</version>
9
+ <version>1.102.2</version>
10
10
 
11
11
  <documentation>UI5 library: sap.fe.templates</documentation>
12
12
 
@@ -87,12 +87,11 @@ sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport", "
87
87
  /**
88
88
  * Set the filter values for the given property in the filter bar.
89
89
  * The filter values can be either a single value or an array of values.
90
- * Each filter value must be represented as a string corresponding to the given operator.
90
+ * Each filter value must be represented as a primitive value.
91
91
  *
92
92
  * @param {string} sConditionPath The path to the property as a condition path
93
93
  * @param {string} [sOperator] The operator to be used (optional) - if not set, the default operator (EQ) will be used
94
- * @param {undefined | string | string[]} vValues The values to be applied
95
- *
94
+ * @param {undefined | string | number | boolean | string[] | number[] | boolean[]} vValues The values to be applied
96
95
  * @alias sap.fe.templates.ListReport.ExtensionAPI#setFilterValues
97
96
  * @returns {Promise} A promise for asynchronous handling
98
97
  * @public
@@ -100,7 +99,11 @@ sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport", "
100
99
  ;
101
100
 
102
101
  _proto.setFilterValues = function setFilterValues(sConditionPath, sOperator, vValues) {
103
- return FilterUtils.setFilterValues(this._controller._getFilterBarControl(), sConditionPath, sOperator, vValues);
102
+ // The List Report has two filter bars: The filter bar in the header and the filter bar in the "Adapt Filter" dialog;
103
+ // when the dialog is opened, the user is working with that active control: Pass it to the setFilterValues method!
104
+ var filterBar = this._controller._getAdaptationFilterBarControl() || this._controller._getFilterBarControl();
105
+
106
+ return FilterUtils.setFilterValues(filterBar, sConditionPath, sOperator, vValues);
104
107
  }
105
108
  /**
106
109
  * This method converts filter conditions to filters.
@@ -123,4 +126,4 @@ sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport", "
123
126
  }(ExtensionAPI)) || _class);
124
127
  return ListReportExtensionAPI;
125
128
  }, false);
126
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJuYW1lcyI6WyJMaXN0UmVwb3J0RXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwib0ZpbHRlckJhciIsIl9jb250cm9sbGVyIiwiX2dldEZpbHRlckJhckNvbnRyb2wiLCJ3YWl0Rm9ySW5pdGlhbGl6YXRpb24iLCJ0aGVuIiwidHJpZ2dlclNlYXJjaCIsIlByb21pc2UiLCJyZXNvbHZlIiwiZ2V0U2VsZWN0ZWRDb250ZXh0cyIsIm9Db250cm9sIiwiX2lzTXVsdGlNb2RlIiwiX2dldEN1cnJlbnRDb250cm9sIiwiX2dldFRhYmxlIiwiaXNBIiwiYVNlbGVjdGVkQ29udGV4dHMiLCJnZXRfY2hhcnQiLCJhU2VsZWN0ZWREYXRhUG9pbnRzIiwiQ2hhcnRVdGlscyIsImdldENoYXJ0U2VsZWN0ZWREYXRhIiwiaSIsImxlbmd0aCIsInB1c2giLCJjb250ZXh0Iiwic2V0RmlsdGVyVmFsdWVzIiwic0NvbmRpdGlvblBhdGgiLCJzT3BlcmF0b3IiLCJ2VmFsdWVzIiwiRmlsdGVyVXRpbHMiLCJjcmVhdGVGaWx0ZXJzRnJvbUZpbHRlckNvbmRpdGlvbnMiLCJtRmlsdGVyQ29uZGl0aW9ucyIsImdldEZpbHRlckluZm8iLCJ1bmRlZmluZWQiLCJFeHRlbnNpb25BUEkiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxzQixXQURMQyxjQUFjLENBQUMsMENBQUQsQzs7Ozs7Ozs7O0FBR2Q7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO1dBQ0NDLE8sR0FBQSxtQkFBVTtBQUNULFVBQU1DLFVBQVUsR0FBRyxLQUFLQyxXQUFMLENBQWlCQyxvQkFBakIsRUFBbkI7O0FBQ0EsVUFBSUYsVUFBSixFQUFnQjtBQUNmLGVBQU9BLFVBQVUsQ0FBQ0cscUJBQVgsR0FBbUNDLElBQW5DLENBQXdDLFlBQVk7QUFDMURKLFVBQUFBLFVBQVUsQ0FBQ0ssYUFBWDtBQUNBLFNBRk0sQ0FBUDtBQUdBLE9BSkQsTUFJTztBQUNOO0FBQ0EsZUFBT0MsT0FBTyxDQUFDQyxPQUFSLEVBQVA7QUFDQTtBQUNEO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1dBQ0NDLG1CLEdBQUEsK0JBQXNCO0FBQ3JCLFVBQU1DLFFBQVEsR0FBSyxLQUFLUixXQUFMLENBQWlCUyxZQUFqQixNQUFtQyxLQUFLVCxXQUFMLENBQWlCVSxrQkFBakIsRUFBcEMsSUFDakIsS0FBS1YsV0FBTCxDQUFpQlcsU0FBakIsRUFERDs7QUFFQSxVQUFJSCxRQUFRLENBQUNJLEdBQVQsQ0FBYSxrQkFBYixDQUFKLEVBQXNDO0FBQ3JDLFlBQU1DLGlCQUFpQixHQUFHLEVBQTFCOztBQUNBLFlBQUlMLFFBQVEsSUFBSUEsUUFBUSxDQUFDTSxTQUFULEVBQWhCLEVBQXNDO0FBQ3JDLGNBQU1DLG1CQUFtQixHQUFHQyxVQUFVLENBQUNDLG9CQUFYLENBQWdDVCxRQUFRLENBQUNNLFNBQVQsRUFBaEMsQ0FBNUI7O0FBQ0EsZUFBSyxJQUFJSSxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHSCxtQkFBbUIsQ0FBQ0ksTUFBeEMsRUFBZ0RELENBQUMsRUFBakQsRUFBcUQ7QUFDcERMLFlBQUFBLGlCQUFpQixDQUFDTyxJQUFsQixDQUF1QkwsbUJBQW1CLENBQUNHLENBQUQsQ0FBbkIsQ0FBdUJHLE9BQTlDO0FBQ0E7QUFDRDs7QUFDRCxlQUFPUixpQkFBUDtBQUNBLE9BVEQsTUFTTztBQUNOLGVBQVFMLFFBQVEsSUFBSUEsUUFBUSxDQUFDRCxtQkFBVCxFQUFiLElBQWdELEVBQXZEO0FBQ0E7QUFDRDtBQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FDQ2UsZSxHQUFBLHlCQUFnQkMsY0FBaEIsRUFBd0NDLFNBQXhDLEVBQXVFQyxPQUF2RSxFQUErRztBQUM5RyxhQUFPQyxXQUFXLENBQUNKLGVBQVosQ0FBNEIsS0FBS3RCLFdBQUwsQ0FBaUJDLG9CQUFqQixFQUE1QixFQUFxRXNCLGNBQXJFLEVBQXFGQyxTQUFyRixFQUFnR0MsT0FBaEcsQ0FBUDtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FDQ0UsaUMsR0FBQSwyQ0FBa0NDLGlCQUFsQyxFQUEwRDtBQUN6RCxVQUFNN0IsVUFBVSxHQUFHLEtBQUtDLFdBQUwsQ0FBaUJDLG9CQUFqQixFQUFuQjs7QUFDQSxhQUFPeUIsV0FBVyxDQUFDRyxhQUFaLENBQTBCOUIsVUFBMUIsRUFBc0MrQixTQUF0QyxFQUFpREYsaUJBQWpELENBQVA7QUFDQSxLOzs7SUFoRm1DRyxZO1NBbUZ0Qm5DLHNCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ2hhcnRVdGlscyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jaGFydC9DaGFydFV0aWxzXCI7XG5pbXBvcnQgRmlsdGVyVXRpbHMgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyL0ZpbHRlclV0aWxzXCI7XG5pbXBvcnQgTGlzdFJlcG9ydENvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvTGlzdFJlcG9ydC9MaXN0UmVwb3J0Q29udHJvbGxlci5jb250cm9sbGVyXCI7XG5cbi8qKlxuICogRXh0ZW5zaW9uIEFQSSBmb3IgbGlzdCByZXBvcnRzIG9uIFNBUCBGaW9yaSBlbGVtZW50cyBmb3IgT0RhdGEgVjQuXG4gKlxuICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydC5FeHRlbnNpb25BUElcbiAqIEBwdWJsaWNcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqIEBmaW5hbFxuICogQHNpbmNlIDEuNzkuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuRXh0ZW5zaW9uQVBJXCIpXG5jbGFzcyBMaXN0UmVwb3J0RXh0ZW5zaW9uQVBJIGV4dGVuZHMgRXh0ZW5zaW9uQVBJIHtcblx0cHJvdGVjdGVkIF9jb250cm9sbGVyITogTGlzdFJlcG9ydENvbnRyb2xsZXI7XG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgdGhlIExpc3QgUmVwb3J0LlxuXHQgKiBUaGlzIG1ldGhvZCBjdXJyZW50bHkgb25seSBzdXBwb3J0cyB0cmlnZ2VyaW5nIHRoZSBzZWFyY2ggKGJ5IGNsaWNraW5nIG9uIHRoZSBHTyBidXR0b24pXG5cdCAqIGluIHRoZSBMaXN0IFJlcG9ydCBGaWx0ZXIgQmFyLiBJdCBjYW4gYmUgdXNlZCB0byByZXF1ZXN0IHRoZSBpbml0aWFsIGxvYWQgb3IgdG8gcmVmcmVzaCB0aGVcblx0ICogY3VycmVudGx5IHNob3duIGRhdGEgYmFzZWQgb24gdGhlIGZpbHRlcnMgZW50ZXJlZCBieSB0aGUgdXNlci5cblx0ICogUGxlYXNlIG5vdGU6IFRoZSBQcm9taXNlIGlzIHJlc29sdmVkIG9uY2UgdGhlIHNlYXJjaCBpcyB0cmlnZ2VyZWQgYW5kIG5vdCBvbmNlIHRoZSBkYXRhIGlzIHJldHVybmVkLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LkV4dGVuc2lvbkFQSSNyZWZyZXNoXG5cdCAqIEByZXR1cm5zIHtQcm9taXNlfSBSZXNvbHZlZCBvbmNlIHRoZSBkYXRhIGlzIHJlZnJlc2hlZCBvciByZWplY3RlZCBpZiB0aGUgcmVxdWVzdCBmYWlsZWRcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cmVmcmVzaCgpIHtcblx0XHRjb25zdCBvRmlsdGVyQmFyID0gdGhpcy5fY29udHJvbGxlci5fZ2V0RmlsdGVyQmFyQ29udHJvbCgpIGFzIGFueTtcblx0XHRpZiAob0ZpbHRlckJhcikge1xuXHRcdFx0cmV0dXJuIG9GaWx0ZXJCYXIud2FpdEZvckluaXRpYWxpemF0aW9uKCkudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdG9GaWx0ZXJCYXIudHJpZ2dlclNlYXJjaCgpO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIFRPRE86IGlmIHRoZXJlIGlzIG5vIGZpbHRlciBiYXIsIG1ha2UgcmVmcmVzaCB3b3JrXG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGxpc3QgZW50cmllcyBjdXJyZW50bHkgc2VsZWN0ZWQgZm9yIHRoZSBkaXNwbGF5ZWQgY29udHJvbC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydC5FeHRlbnNpb25BUEkjZ2V0U2VsZWN0ZWRDb250ZXh0c1xuXHQgKiBAcmV0dXJucyB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHRbXX0gQXJyYXkgY29udGFpbmluZyB0aGUgc2VsZWN0ZWQgY29udGV4dHNcblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0U2VsZWN0ZWRDb250ZXh0cygpIHtcblx0XHRjb25zdCBvQ29udHJvbCA9ICgodGhpcy5fY29udHJvbGxlci5faXNNdWx0aU1vZGUoKSAmJiB0aGlzLl9jb250cm9sbGVyLl9nZXRDdXJyZW50Q29udHJvbCgpKSB8fFxuXHRcdFx0dGhpcy5fY29udHJvbGxlci5fZ2V0VGFibGUoKSkgYXMgYW55O1xuXHRcdGlmIChvQ29udHJvbC5pc0EoXCJzYXAudWkubWRjLkNoYXJ0XCIpKSB7XG5cdFx0XHRjb25zdCBhU2VsZWN0ZWRDb250ZXh0cyA9IFtdO1xuXHRcdFx0aWYgKG9Db250cm9sICYmIG9Db250cm9sLmdldF9jaGFydCgpKSB7XG5cdFx0XHRcdGNvbnN0IGFTZWxlY3RlZERhdGFQb2ludHMgPSBDaGFydFV0aWxzLmdldENoYXJ0U2VsZWN0ZWREYXRhKG9Db250cm9sLmdldF9jaGFydCgpKTtcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhU2VsZWN0ZWREYXRhUG9pbnRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdFx0YVNlbGVjdGVkQ29udGV4dHMucHVzaChhU2VsZWN0ZWREYXRhUG9pbnRzW2ldLmNvbnRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gYVNlbGVjdGVkQ29udGV4dHM7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiAob0NvbnRyb2wgJiYgb0NvbnRyb2wuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogU2V0IHRoZSBmaWx0ZXIgdmFsdWVzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgaW4gdGhlIGZpbHRlciBiYXIuXG5cdCAqIFRoZSBmaWx0ZXIgdmFsdWVzIGNhbiBiZSBlaXRoZXIgYSBzaW5nbGUgdmFsdWUgb3IgYW4gYXJyYXkgb2YgdmFsdWVzLlxuXHQgKiBFYWNoIGZpbHRlciB2YWx1ZSBtdXN0IGJlIHJlcHJlc2VudGVkIGFzIGEgc3RyaW5nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIG9wZXJhdG9yLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gc0NvbmRpdGlvblBhdGggVGhlIHBhdGggdG8gdGhlIHByb3BlcnR5IGFzIGEgY29uZGl0aW9uIHBhdGhcblx0ICogQHBhcmFtIHtzdHJpbmd9IFtzT3BlcmF0b3JdIFRoZSBvcGVyYXRvciB0byBiZSB1c2VkIChvcHRpb25hbCkgLSBpZiBub3Qgc2V0LCB0aGUgZGVmYXVsdCBvcGVyYXRvciAoRVEpIHdpbGwgYmUgdXNlZFxuXHQgKiBAcGFyYW0ge3VuZGVmaW5lZCB8IHN0cmluZyB8IHN0cmluZ1tdfSB2VmFsdWVzIFRoZSB2YWx1ZXMgdG8gYmUgYXBwbGllZFxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LkV4dGVuc2lvbkFQSSNzZXRGaWx0ZXJWYWx1ZXNcblx0ICogQHJldHVybnMge1Byb21pc2V9IEEgcHJvbWlzZSBmb3IgYXN5bmNocm9ub3VzIGhhbmRsaW5nXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHNldEZpbHRlclZhbHVlcyhzQ29uZGl0aW9uUGF0aDogc3RyaW5nLCBzT3BlcmF0b3I6IHN0cmluZyB8IHVuZGVmaW5lZCwgdlZhbHVlczogdW5kZWZpbmVkIHwgc3RyaW5nIHwgc3RyaW5nW10pIHtcblx0XHRyZXR1cm4gRmlsdGVyVXRpbHMuc2V0RmlsdGVyVmFsdWVzKHRoaXMuX2NvbnRyb2xsZXIuX2dldEZpbHRlckJhckNvbnRyb2woKSwgc0NvbmRpdGlvblBhdGgsIHNPcGVyYXRvciwgdlZhbHVlcyk7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgY29udmVydHMgZmlsdGVyIGNvbmRpdGlvbnMgdG8gZmlsdGVycy5cblx0ICpcblx0ICogQHBhcmFtIHttYXB9IG1GaWx0ZXJDb25kaXRpb25zIE1hcCBjb250YWluaW5nIHRoZSBmaWx0ZXIgY29uZGl0aW9ucyBvZiB0aGUgRmlsdGVyQmFyLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LkV4dGVuc2lvbkFQSSNjcmVhdGVGaWx0ZXJzRnJvbUZpbHRlckNvbmRpdGlvbnNcblx0ICogQHJldHVybnMge29iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnZlcnRlZCBGaWx0ZXJCYXIgZmlsdGVycy5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Y3JlYXRlRmlsdGVyc0Zyb21GaWx0ZXJDb25kaXRpb25zKG1GaWx0ZXJDb25kaXRpb25zOiBhbnkpIHtcblx0XHRjb25zdCBvRmlsdGVyQmFyID0gdGhpcy5fY29udHJvbGxlci5fZ2V0RmlsdGVyQmFyQ29udHJvbCgpO1xuXHRcdHJldHVybiBGaWx0ZXJVdGlscy5nZXRGaWx0ZXJJbmZvKG9GaWx0ZXJCYXIsIHVuZGVmaW5lZCwgbUZpbHRlckNvbmRpdGlvbnMpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExpc3RSZXBvcnRFeHRlbnNpb25BUEk7XG4iXX0=
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJuYW1lcyI6WyJMaXN0UmVwb3J0RXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwib0ZpbHRlckJhciIsIl9jb250cm9sbGVyIiwiX2dldEZpbHRlckJhckNvbnRyb2wiLCJ3YWl0Rm9ySW5pdGlhbGl6YXRpb24iLCJ0aGVuIiwidHJpZ2dlclNlYXJjaCIsIlByb21pc2UiLCJyZXNvbHZlIiwiZ2V0U2VsZWN0ZWRDb250ZXh0cyIsIm9Db250cm9sIiwiX2lzTXVsdGlNb2RlIiwiX2dldEN1cnJlbnRDb250cm9sIiwiX2dldFRhYmxlIiwiaXNBIiwiYVNlbGVjdGVkQ29udGV4dHMiLCJnZXRfY2hhcnQiLCJhU2VsZWN0ZWREYXRhUG9pbnRzIiwiQ2hhcnRVdGlscyIsImdldENoYXJ0U2VsZWN0ZWREYXRhIiwiaSIsImxlbmd0aCIsInB1c2giLCJjb250ZXh0Iiwic2V0RmlsdGVyVmFsdWVzIiwic0NvbmRpdGlvblBhdGgiLCJzT3BlcmF0b3IiLCJ2VmFsdWVzIiwiZmlsdGVyQmFyIiwiX2dldEFkYXB0YXRpb25GaWx0ZXJCYXJDb250cm9sIiwiRmlsdGVyVXRpbHMiLCJjcmVhdGVGaWx0ZXJzRnJvbUZpbHRlckNvbmRpdGlvbnMiLCJtRmlsdGVyQ29uZGl0aW9ucyIsImdldEZpbHRlckluZm8iLCJ1bmRlZmluZWQiLCJFeHRlbnNpb25BUEkiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxzQixXQURMQyxjQUFjLENBQUMsMENBQUQsQzs7Ozs7Ozs7O0FBR2Q7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO1dBQ0NDLE8sR0FBQSxtQkFBVTtBQUNULFVBQU1DLFVBQVUsR0FBRyxLQUFLQyxXQUFMLENBQWlCQyxvQkFBakIsRUFBbkI7O0FBQ0EsVUFBSUYsVUFBSixFQUFnQjtBQUNmLGVBQU9BLFVBQVUsQ0FBQ0cscUJBQVgsR0FBbUNDLElBQW5DLENBQXdDLFlBQVk7QUFDMURKLFVBQUFBLFVBQVUsQ0FBQ0ssYUFBWDtBQUNBLFNBRk0sQ0FBUDtBQUdBLE9BSkQsTUFJTztBQUNOO0FBQ0EsZUFBT0MsT0FBTyxDQUFDQyxPQUFSLEVBQVA7QUFDQTtBQUNEO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1dBQ0NDLG1CLEdBQUEsK0JBQXNCO0FBQ3JCLFVBQU1DLFFBQVEsR0FBSyxLQUFLUixXQUFMLENBQWlCUyxZQUFqQixNQUFtQyxLQUFLVCxXQUFMLENBQWlCVSxrQkFBakIsRUFBcEMsSUFDakIsS0FBS1YsV0FBTCxDQUFpQlcsU0FBakIsRUFERDs7QUFFQSxVQUFJSCxRQUFRLENBQUNJLEdBQVQsQ0FBYSxrQkFBYixDQUFKLEVBQXNDO0FBQ3JDLFlBQU1DLGlCQUFpQixHQUFHLEVBQTFCOztBQUNBLFlBQUlMLFFBQVEsSUFBSUEsUUFBUSxDQUFDTSxTQUFULEVBQWhCLEVBQXNDO0FBQ3JDLGNBQU1DLG1CQUFtQixHQUFHQyxVQUFVLENBQUNDLG9CQUFYLENBQWdDVCxRQUFRLENBQUNNLFNBQVQsRUFBaEMsQ0FBNUI7O0FBQ0EsZUFBSyxJQUFJSSxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHSCxtQkFBbUIsQ0FBQ0ksTUFBeEMsRUFBZ0RELENBQUMsRUFBakQsRUFBcUQ7QUFDcERMLFlBQUFBLGlCQUFpQixDQUFDTyxJQUFsQixDQUF1QkwsbUJBQW1CLENBQUNHLENBQUQsQ0FBbkIsQ0FBdUJHLE9BQTlDO0FBQ0E7QUFDRDs7QUFDRCxlQUFPUixpQkFBUDtBQUNBLE9BVEQsTUFTTztBQUNOLGVBQVFMLFFBQVEsSUFBSUEsUUFBUSxDQUFDRCxtQkFBVCxFQUFiLElBQWdELEVBQXZEO0FBQ0E7QUFDRDtBQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1dBQ0NlLGUsR0FBQSx5QkFDQ0MsY0FERCxFQUVDQyxTQUZELEVBR0NDLE9BSEQsRUFJRTtBQUNEO0FBQ0E7QUFDQSxVQUFNQyxTQUFTLEdBQUcsS0FBSzFCLFdBQUwsQ0FBaUIyQiw4QkFBakIsTUFBcUQsS0FBSzNCLFdBQUwsQ0FBaUJDLG9CQUFqQixFQUF2RTs7QUFDQSxhQUFPMkIsV0FBVyxDQUFDTixlQUFaLENBQTRCSSxTQUE1QixFQUF1Q0gsY0FBdkMsRUFBdURDLFNBQXZELEVBQWtFQyxPQUFsRSxDQUFQO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztXQUNDSSxpQyxHQUFBLDJDQUFrQ0MsaUJBQWxDLEVBQTBEO0FBQ3pELFVBQU0vQixVQUFVLEdBQUcsS0FBS0MsV0FBTCxDQUFpQkMsb0JBQWpCLEVBQW5COztBQUNBLGFBQU8yQixXQUFXLENBQUNHLGFBQVosQ0FBMEJoQyxVQUExQixFQUFzQ2lDLFNBQXRDLEVBQWlERixpQkFBakQsQ0FBUDtBQUNBLEs7OztJQXRGbUNHLFk7U0F5RnRCckMsc0IiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeHRlbnNpb25BUEkgZnJvbSBcInNhcC9mZS9jb3JlL0V4dGVuc2lvbkFQSVwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDaGFydFV0aWxzIGZyb20gXCJzYXAvZmUvbWFjcm9zL2NoYXJ0L0NoYXJ0VXRpbHNcIjtcbmltcG9ydCBGaWx0ZXJVdGlscyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWx0ZXIvRmlsdGVyVXRpbHNcIjtcbmltcG9ydCBMaXN0UmVwb3J0Q29udHJvbGxlciBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9MaXN0UmVwb3J0L0xpc3RSZXBvcnRDb250cm9sbGVyLmNvbnRyb2xsZXJcIjtcblxuLyoqXG4gKiBFeHRlbnNpb24gQVBJIGZvciBsaXN0IHJlcG9ydHMgb24gU0FQIEZpb3JpIGVsZW1lbnRzIGZvciBPRGF0YSBWNC5cbiAqXG4gKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LkV4dGVuc2lvbkFQSVxuICogQHB1YmxpY1xuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQGZpbmFsXG4gKiBAc2luY2UgMS43OS4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydC5FeHRlbnNpb25BUElcIilcbmNsYXNzIExpc3RSZXBvcnRFeHRlbnNpb25BUEkgZXh0ZW5kcyBFeHRlbnNpb25BUEkge1xuXHRwcm90ZWN0ZWQgX2NvbnRyb2xsZXIhOiBMaXN0UmVwb3J0Q29udHJvbGxlcjtcblx0LyoqXG5cdCAqIFJlZnJlc2hlcyB0aGUgTGlzdCBSZXBvcnQuXG5cdCAqIFRoaXMgbWV0aG9kIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIHRyaWdnZXJpbmcgdGhlIHNlYXJjaCAoYnkgY2xpY2tpbmcgb24gdGhlIEdPIGJ1dHRvbilcblx0ICogaW4gdGhlIExpc3QgUmVwb3J0IEZpbHRlciBCYXIuIEl0IGNhbiBiZSB1c2VkIHRvIHJlcXVlc3QgdGhlIGluaXRpYWwgbG9hZCBvciB0byByZWZyZXNoIHRoZVxuXHQgKiBjdXJyZW50bHkgc2hvd24gZGF0YSBiYXNlZCBvbiB0aGUgZmlsdGVycyBlbnRlcmVkIGJ5IHRoZSB1c2VyLlxuXHQgKiBQbGVhc2Ugbm90ZTogVGhlIFByb21pc2UgaXMgcmVzb2x2ZWQgb25jZSB0aGUgc2VhcmNoIGlzIHRyaWdnZXJlZCBhbmQgbm90IG9uY2UgdGhlIGRhdGEgaXMgcmV0dXJuZWQuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuRXh0ZW5zaW9uQVBJI3JlZnJlc2hcblx0ICogQHJldHVybnMge1Byb21pc2V9IFJlc29sdmVkIG9uY2UgdGhlIGRhdGEgaXMgcmVmcmVzaGVkIG9yIHJlamVjdGVkIGlmIHRoZSByZXF1ZXN0IGZhaWxlZFxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRyZWZyZXNoKCkge1xuXHRcdGNvbnN0IG9GaWx0ZXJCYXIgPSB0aGlzLl9jb250cm9sbGVyLl9nZXRGaWx0ZXJCYXJDb250cm9sKCkgYXMgYW55O1xuXHRcdGlmIChvRmlsdGVyQmFyKSB7XG5cdFx0XHRyZXR1cm4gb0ZpbHRlckJhci53YWl0Rm9ySW5pdGlhbGl6YXRpb24oKS50aGVuKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0b0ZpbHRlckJhci50cmlnZ2VyU2VhcmNoKCk7XG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gVE9ETzogaWYgdGhlcmUgaXMgbm8gZmlsdGVyIGJhciwgbWFrZSByZWZyZXNoIHdvcmtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbGlzdCBlbnRyaWVzIGN1cnJlbnRseSBzZWxlY3RlZCBmb3IgdGhlIGRpc3BsYXllZCBjb250cm9sLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LkV4dGVuc2lvbkFQSSNnZXRTZWxlY3RlZENvbnRleHRzXG5cdCAqIEByZXR1cm5zIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dFtdfSBBcnJheSBjb250YWluaW5nIHRoZSBzZWxlY3RlZCBjb250ZXh0c1xuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRTZWxlY3RlZENvbnRleHRzKCkge1xuXHRcdGNvbnN0IG9Db250cm9sID0gKCh0aGlzLl9jb250cm9sbGVyLl9pc011bHRpTW9kZSgpICYmIHRoaXMuX2NvbnRyb2xsZXIuX2dldEN1cnJlbnRDb250cm9sKCkpIHx8XG5cdFx0XHR0aGlzLl9jb250cm9sbGVyLl9nZXRUYWJsZSgpKSBhcyBhbnk7XG5cdFx0aWYgKG9Db250cm9sLmlzQShcInNhcC51aS5tZGMuQ2hhcnRcIikpIHtcblx0XHRcdGNvbnN0IGFTZWxlY3RlZENvbnRleHRzID0gW107XG5cdFx0XHRpZiAob0NvbnRyb2wgJiYgb0NvbnRyb2wuZ2V0X2NoYXJ0KCkpIHtcblx0XHRcdFx0Y29uc3QgYVNlbGVjdGVkRGF0YVBvaW50cyA9IENoYXJ0VXRpbHMuZ2V0Q2hhcnRTZWxlY3RlZERhdGEob0NvbnRyb2wuZ2V0X2NoYXJ0KCkpO1xuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFTZWxlY3RlZERhdGFQb2ludHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRhU2VsZWN0ZWRDb250ZXh0cy5wdXNoKGFTZWxlY3RlZERhdGFQb2ludHNbaV0uY29udGV4dCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiBhU2VsZWN0ZWRDb250ZXh0cztcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIChvQ29udHJvbCAmJiBvQ29udHJvbC5nZXRTZWxlY3RlZENvbnRleHRzKCkpIHx8IFtdO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBTZXQgdGhlIGZpbHRlciB2YWx1ZXMgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eSBpbiB0aGUgZmlsdGVyIGJhci5cblx0ICogVGhlIGZpbHRlciB2YWx1ZXMgY2FuIGJlIGVpdGhlciBhIHNpbmdsZSB2YWx1ZSBvciBhbiBhcnJheSBvZiB2YWx1ZXMuXG5cdCAqIEVhY2ggZmlsdGVyIHZhbHVlIG11c3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBwcmltaXRpdmUgdmFsdWUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBzQ29uZGl0aW9uUGF0aCBUaGUgcGF0aCB0byB0aGUgcHJvcGVydHkgYXMgYSBjb25kaXRpb24gcGF0aFxuXHQgKiBAcGFyYW0ge3N0cmluZ30gW3NPcGVyYXRvcl0gVGhlIG9wZXJhdG9yIHRvIGJlIHVzZWQgKG9wdGlvbmFsKSAtIGlmIG5vdCBzZXQsIHRoZSBkZWZhdWx0IG9wZXJhdG9yIChFUSkgd2lsbCBiZSB1c2VkXG5cdCAqIEBwYXJhbSB7dW5kZWZpbmVkIHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IHN0cmluZ1tdIHwgbnVtYmVyW10gfCBib29sZWFuW119IHZWYWx1ZXMgVGhlIHZhbHVlcyB0byBiZSBhcHBsaWVkXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuRXh0ZW5zaW9uQVBJI3NldEZpbHRlclZhbHVlc1xuXHQgKiBAcmV0dXJucyB7UHJvbWlzZX0gQSBwcm9taXNlIGZvciBhc3luY2hyb25vdXMgaGFuZGxpbmdcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0c2V0RmlsdGVyVmFsdWVzKFxuXHRcdHNDb25kaXRpb25QYXRoOiBzdHJpbmcsXG5cdFx0c09wZXJhdG9yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdFx0dlZhbHVlczogdW5kZWZpbmVkIHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IHN0cmluZ1tdIHwgbnVtYmVyW10gfCBib29sZWFuW11cblx0KSB7XG5cdFx0Ly8gVGhlIExpc3QgUmVwb3J0IGhhcyB0d28gZmlsdGVyIGJhcnM6IFRoZSBmaWx0ZXIgYmFyIGluIHRoZSBoZWFkZXIgYW5kIHRoZSBmaWx0ZXIgYmFyIGluIHRoZSBcIkFkYXB0IEZpbHRlclwiIGRpYWxvZztcblx0XHQvLyB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlbmVkLCB0aGUgdXNlciBpcyB3b3JraW5nIHdpdGggdGhhdCBhY3RpdmUgY29udHJvbDogUGFzcyBpdCB0byB0aGUgc2V0RmlsdGVyVmFsdWVzIG1ldGhvZCFcblx0XHRjb25zdCBmaWx0ZXJCYXIgPSB0aGlzLl9jb250cm9sbGVyLl9nZXRBZGFwdGF0aW9uRmlsdGVyQmFyQ29udHJvbCgpIHx8IHRoaXMuX2NvbnRyb2xsZXIuX2dldEZpbHRlckJhckNvbnRyb2woKTtcblx0XHRyZXR1cm4gRmlsdGVyVXRpbHMuc2V0RmlsdGVyVmFsdWVzKGZpbHRlckJhciwgc0NvbmRpdGlvblBhdGgsIHNPcGVyYXRvciwgdlZhbHVlcyk7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgY29udmVydHMgZmlsdGVyIGNvbmRpdGlvbnMgdG8gZmlsdGVycy5cblx0ICpcblx0ICogQHBhcmFtIHttYXB9IG1GaWx0ZXJDb25kaXRpb25zIE1hcCBjb250YWluaW5nIHRoZSBmaWx0ZXIgY29uZGl0aW9ucyBvZiB0aGUgRmlsdGVyQmFyLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LkV4dGVuc2lvbkFQSSNjcmVhdGVGaWx0ZXJzRnJvbUZpbHRlckNvbmRpdGlvbnNcblx0ICogQHJldHVybnMge29iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnZlcnRlZCBGaWx0ZXJCYXIgZmlsdGVycy5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Y3JlYXRlRmlsdGVyc0Zyb21GaWx0ZXJDb25kaXRpb25zKG1GaWx0ZXJDb25kaXRpb25zOiBhbnkpIHtcblx0XHRjb25zdCBvRmlsdGVyQmFyID0gdGhpcy5fY29udHJvbGxlci5fZ2V0RmlsdGVyQmFyQ29udHJvbCgpO1xuXHRcdHJldHVybiBGaWx0ZXJVdGlscy5nZXRGaWx0ZXJJbmZvKG9GaWx0ZXJCYXIsIHVuZGVmaW5lZCwgbUZpbHRlckNvbmRpdGlvbnMpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExpc3RSZXBvcnRFeHRlbnNpb25BUEk7XG4iXX0=
@@ -68,18 +68,24 @@ class ListReportExtensionAPI extends ExtensionAPI {
68
68
  /**
69
69
  * Set the filter values for the given property in the filter bar.
70
70
  * The filter values can be either a single value or an array of values.
71
- * Each filter value must be represented as a string corresponding to the given operator.
71
+ * Each filter value must be represented as a primitive value.
72
72
  *
73
73
  * @param {string} sConditionPath The path to the property as a condition path
74
74
  * @param {string} [sOperator] The operator to be used (optional) - if not set, the default operator (EQ) will be used
75
- * @param {undefined | string | string[]} vValues The values to be applied
76
- *
75
+ * @param {undefined | string | number | boolean | string[] | number[] | boolean[]} vValues The values to be applied
77
76
  * @alias sap.fe.templates.ListReport.ExtensionAPI#setFilterValues
78
77
  * @returns {Promise} A promise for asynchronous handling
79
78
  * @public
80
79
  */
81
- setFilterValues(sConditionPath: string, sOperator: string | undefined, vValues: undefined | string | string[]) {
82
- return FilterUtils.setFilterValues(this._controller._getFilterBarControl(), sConditionPath, sOperator, vValues);
80
+ setFilterValues(
81
+ sConditionPath: string,
82
+ sOperator: string | undefined,
83
+ vValues: undefined | string | number | boolean | string[] | number[] | boolean[]
84
+ ) {
85
+ // The List Report has two filter bars: The filter bar in the header and the filter bar in the "Adapt Filter" dialog;
86
+ // when the dialog is opened, the user is working with that active control: Pass it to the setFilterValues method!
87
+ const filterBar = this._controller._getAdaptationFilterBarControl() || this._controller._getFilterBarControl();
88
+ return FilterUtils.setFilterValues(filterBar, sConditionPath, sOperator, vValues);
83
89
  }
84
90
 
85
91
  /**
@@ -13,10 +13,10 @@
13
13
  xmlns:unittest="http://schemas.sap.com/sapui5/preprocessorextension/sap.fe.unittesting/1"
14
14
  xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
15
15
  template:require="{
16
- CORE: 'sap/fe/core/AnnotationHelper',
17
16
  ID: 'sap/fe/core/helpers/StableIdHelper',
18
17
  COMMON: 'sap/fe/macros/CommonHelper',
19
- FILTER: 'sap/fe/core/templating/FilterHelper'
18
+ FILTER: 'sap/fe/core/templating/FilterHelper',
19
+ LR: 'sap/fe/templates/ListReport/ListReportTemplating'
20
20
  }"
21
21
  controllerName="sap.fe.templates.ListReport.ListReportController"
22
22
  >
@@ -29,7 +29,7 @@
29
29
  customData:singleTableId="{converterContext>singleTableId}"
30
30
  customData:singleChartId="{converterContext>singleChartId}"
31
31
  customData:filterBarId="{converterContext>filterBarId}"
32
- customData:defaultPath="{= CORE.getDefaultPath(${converterContext>views})}"
32
+ customData:defaultPath="{= LR.getDefaultPath(${converterContext>views})}"
33
33
  customData:visualFilterBarId="{= ID.generate(['visualFilter',${converterContext>filterBarId}])}"
34
34
  customData:filterBarVariantId="{converterContext>variantManagement/id}"
35
35
  customData:ListReportTitle="{= ${manifest>/sap.app/title} }"
@@ -42,16 +42,31 @@
42
42
  busyIndicatorDelay="0"
43
43
  class="{= !${converterContext>hasMultiVisualizations} &amp;&amp; ${converterContext>views}.length > 1 ? 'sapUiNoContentPadding' : 'sapUiResponsiveContentPadding'}"
44
44
  >
45
+ <f:dependents>
46
+ <template:if test="{converterContext>headerActions}">
47
+ <template:repeat list="{converterContext>headerActions}" var="headerAction">
48
+ <template:if test="{headerAction>command}">
49
+ <control:CommandExecution
50
+ core:require="{FPM: 'sap/fe/core/helpers/FPMHelper'}"
51
+ execute="{= COMMON.buildActionWrapper(${headerAction>})}"
52
+ visible="{headerAction>visible}"
53
+ enabled="{headerAction>enabled}"
54
+ command="{headerAction>command}"
55
+ />
56
+ </template:if>
57
+ </template:repeat>
58
+ </template:if>
59
+ </f:dependents>
45
60
  <f:title>
46
61
  <f:DynamicPageTitle>
47
62
  <f:heading>
48
63
  <template:with path="converterContext>kpiDefinitions" var="definitions">
49
64
  <template:if test="{definitions>length}">
50
- <template:then>
51
- <l:HorizontalLayout class="sapUiNoContentPadding sapUiNoMarginTop sapUiNoMarginBottom">
52
- <template:if test="{= ${viewData>/variantManagement} === 'Page'}">
53
- <template:then>
54
- <v:VariantManagement
65
+ <template:then>
66
+ <l:HorizontalLayout class="sapUiNoContentPadding sapUiNoMarginTop sapUiNoMarginBottom">
67
+ <template:if test="{= ${viewData>/variantManagement} === 'Page'}">
68
+ <template:then>
69
+ <v:VariantManagement
55
70
  id="fe::PageVariantManagement"
56
71
  unittest:id="listReportVMPageTest"
57
72
  for="{converterContext>variantManagement/targetControlIds}"
@@ -59,11 +74,13 @@
59
74
  select=".handlers.onVariantSelected"
60
75
  save=".handlers.onVariantSaved"
61
76
  displayTextForExecuteOnSelectionForStandardVariant="{= ${viewData>/initialLoad} === 'Auto' ? ${sap.fe.i18n>T_LR_VARIANT_APPLY_AUTOMATICALLY_WHEN_FILTER_SET} : undefined }"
62
- executeOnSelectionForStandardDefault="{= ${viewData>/initialLoad} === 'Enabled'}"
77
+ executeOnSelectionForStandardDefault="{= ${viewData>/initialLoad} === 'Enabled' || ${viewData>/initialLoad} === 'Auto'}"
63
78
  />
64
- </template:then>
65
- <template:elseif test="{= ${viewData>/variantManagement} === 'Control' &amp;&amp; !${converterContext>hideFilterBar}}">
66
- <v:VariantManagement
79
+ </template:then>
80
+ <template:elseif
81
+ test="{= ${viewData>/variantManagement} === 'Control' &amp;&amp; !${converterContext>hideFilterBar}}"
82
+ >
83
+ <v:VariantManagement
67
84
  id="{= ID.generate([ ${converterContext>filterBarId}, 'VariantManagement']) }"
68
85
  unittest:id="listReportVMControlTest"
69
86
  for="{converterContext>variantManagement/targetControlIds}"
@@ -71,24 +88,31 @@
71
88
  select=".handlers.onVariantSelected"
72
89
  save=".handlers.onVariantSaved"
73
90
  displayTextForExecuteOnSelectionForStandardVariant="{= ${viewData>/initialLoad} === 'Auto' ? ${sap.fe.i18n>T_LR_VARIANT_APPLY_AUTOMATICALLY_WHEN_FILTER_SET} : undefined }"
74
- executeOnSelectionForStandardDefault="{= ${viewData>/initialLoad} === 'Enabled'}"
91
+ executeOnSelectionForStandardDefault="{= ${viewData>/initialLoad} === 'Enabled' || ${viewData>/initialLoad} === 'Auto'}"
75
92
  />
76
- </template:elseif>
77
- <template:else>
78
- <Title unittest:id="listReportTitleTest" text="{= ${manifest>/sap.app/subTitle} || ${manifest>/sap.app/title} }" />
79
- </template:else>
80
- </template:if>
81
- <template:repeat list="{converterContext>kpiDefinitions}" var="kpi">
82
- <template:with path="kpi>datapoint" var="datapoint">
83
- <macro:KPITag id="{kpi>id}" metaPath="{datapoint>annotationPath}" hasUnit="{= ${datapoint>unit} !== undefined}" />
84
- </template:with>
85
- </template:repeat>
86
- </l:HorizontalLayout>
87
- </template:then>
88
- <template:else>
89
- <template:if test="{= ${viewData>/variantManagement} === 'Page'}">
90
- <template:then>
91
- <v:VariantManagement
93
+ </template:elseif>
94
+ <template:else>
95
+ <Title
96
+ unittest:id="listReportTitleTest"
97
+ text="{= ${manifest>/sap.app/subTitle} || ${manifest>/sap.app/title} }"
98
+ />
99
+ </template:else>
100
+ </template:if>
101
+ <template:repeat list="{converterContext>kpiDefinitions}" var="kpi">
102
+ <template:with path="kpi>datapoint" var="datapoint">
103
+ <macro:KPITag
104
+ id="{kpi>id}"
105
+ metaPath="{datapoint>annotationPath}"
106
+ hasUnit="{= ${datapoint>unit} !== undefined}"
107
+ />
108
+ </template:with>
109
+ </template:repeat>
110
+ </l:HorizontalLayout>
111
+ </template:then>
112
+ <template:else>
113
+ <template:if test="{= ${viewData>/variantManagement} === 'Page'}">
114
+ <template:then>
115
+ <v:VariantManagement
92
116
  id="fe::PageVariantManagement"
93
117
  unittest:id="listReportVMPageTest"
94
118
  for="{converterContext>variantManagement/targetControlIds}"
@@ -96,11 +120,13 @@
96
120
  select=".handlers.onVariantSelected"
97
121
  save=".handlers.onVariantSaved"
98
122
  displayTextForExecuteOnSelectionForStandardVariant="{= ${viewData>/initialLoad} === 'Auto' ? ${sap.fe.i18n>T_LR_VARIANT_APPLY_AUTOMATICALLY_WHEN_FILTER_SET} : undefined }"
99
- executeOnSelectionForStandardDefault="{= ${viewData>/initialLoad} === 'Enabled'}"
123
+ executeOnSelectionForStandardDefault="{= ${viewData>/initialLoad} === 'Enabled' || ${viewData>/initialLoad} === 'Auto'}"
100
124
  />
101
- </template:then>
102
- <template:elseif test="{= ${viewData>/variantManagement} === 'Control' &amp;&amp; !${converterContext>hideFilterBar}}">
103
- <v:VariantManagement
125
+ </template:then>
126
+ <template:elseif
127
+ test="{= ${viewData>/variantManagement} === 'Control' &amp;&amp; !${converterContext>hideFilterBar}}"
128
+ >
129
+ <v:VariantManagement
104
130
  id="{= ID.generate([ ${converterContext>filterBarId}, 'VariantManagement']) }"
105
131
  unittest:id="listReportVMControlTest"
106
132
  for="{converterContext>variantManagement/targetControlIds}"
@@ -108,14 +134,17 @@
108
134
  select=".handlers.onVariantSelected"
109
135
  save=".handlers.onVariantSaved"
110
136
  displayTextForExecuteOnSelectionForStandardVariant="{= ${viewData>/initialLoad} === 'Auto' ? ${sap.fe.i18n>T_LR_VARIANT_APPLY_AUTOMATICALLY_WHEN_FILTER_SET} : undefined }"
111
- executeOnSelectionForStandardDefault="{= ${viewData>/initialLoad} === 'Enabled'}"
137
+ executeOnSelectionForStandardDefault="{= ${viewData>/initialLoad} === 'Enabled' || ${viewData>/initialLoad} === 'Auto'}"
112
138
  />
113
- </template:elseif>
114
- <template:else>
115
- <Title unittest:id="listReportTitleTest" text="{= ${manifest>/sap.app/subTitle} || ${manifest>/sap.app/title} }" />
139
+ </template:elseif>
140
+ <template:else>
141
+ <Title
142
+ unittest:id="listReportTitleTest"
143
+ text="{= ${manifest>/sap.app/subTitle} || ${manifest>/sap.app/title} }"
144
+ />
145
+ </template:else>
146
+ </template:if>
116
147
  </template:else>
117
- </template:if>
118
- </template:else>
119
148
  </template:if>
120
149
  </template:with>
121
150
  </f:heading>
@@ -130,21 +159,31 @@
130
159
  core:require="{FPM: 'sap/fe/core/helpers/FPMHelper'}"
131
160
  id="{= ID.generate(['fe',${headerAction>id}])}"
132
161
  text="{headerAction>text}"
133
- press="{= CORE.buildActionWrapper(${headerAction>})}"
162
+ press="{= ${headerAction>command} ? ('cmd:' + ${headerAction>command}) : COMMON.buildActionWrapper(${headerAction>})}"
134
163
  type="Transparent"
135
164
  visible="{headerAction>visible}"
136
165
  enabled="{headerAction>enabled}"
137
166
  />
138
167
  </template:repeat>
139
168
  </template:if>
140
- <template:if test="{= ${converterContext>/filterLayout} === 'compactvisual' &amp;&amp; !${converterContext>hideFilterBar}}">
169
+ <template:if
170
+ test="{= ${converterContext>/filterLayout} === 'compactvisual' &amp;&amp; !${converterContext>hideFilterBar}}"
171
+ >
141
172
  <SegmentedButton
142
173
  id="{= ID.generate([ ${converterContext>filterBarId}, 'LayoutToggle']) }"
143
174
  selectedKey="{converterContext>/filterInitialLayout}"
144
175
  >
145
176
  <items>
146
- <SegmentedButtonItem tooltip="{sap.fe.i18n>T_SEGMENTED_BUTTON_TOOLTIP_COMPACT}" key="compact" icon="sap-icon://filter-fields" />
147
- <SegmentedButtonItem tooltip="{sap.fe.i18n>T_SEGMENTED_BUTTON_TOOLTIP_VISUAL}" key="visual" icon="sap-icon://filter-analytics" />
177
+ <SegmentedButtonItem
178
+ tooltip="{sap.fe.i18n>T_SEGMENTED_BUTTON_TOOLTIP_COMPACT}"
179
+ key="compact"
180
+ icon="sap-icon://filter-fields"
181
+ />
182
+ <SegmentedButtonItem
183
+ tooltip="{sap.fe.i18n>T_SEGMENTED_BUTTON_TOOLTIP_VISUAL}"
184
+ key="visual"
185
+ icon="sap-icon://filter-analytics"
186
+ />
148
187
  </items>
149
188
  </SegmentedButton>
150
189
  </template:if>
@@ -154,16 +193,16 @@
154
193
  </f:title>
155
194
  <f:header>
156
195
  <template:if test="{= !${converterContext>hideFilterBar} }">
157
- <template:then>
158
- <template:with path="converterContext>filterBar" var="filterBarContext">
159
- <f:DynamicPageHeader pinnable="{converterContext>showPinnableToggle}">
160
- <VBox>
161
- <macroInternal:FilterBar
196
+ <template:then>
197
+ <template:with path="converterContext>filterBar" var="filterBarContext">
198
+ <f:DynamicPageHeader pinnable="{converterContext>showPinnableToggle}">
199
+ <VBox>
200
+ <macroInternal:FilterBar
162
201
  unittest:id="listReportFilterBarTest"
163
202
  id="{converterContext>filterBarId}"
164
203
  _applyIdToContent="true"
165
204
  contextPath="{entityType>}"
166
- variantBackreference="{= CORE.getVariantBackReference(${viewData>}, ${converterContext>} )}"
205
+ variantBackreference="{= LR.getVariantBackReference(${viewData>}, ${converterContext>} )}"
167
206
  selectionFields="{filterBarContext>selectionFields}"
168
207
  propertyInfo="{filterBarContext>propertyInfo}"
169
208
  filterChanged=".handlers.onFiltersChanged"
@@ -177,12 +216,12 @@
177
216
  suspendSelection="true"
178
217
  toggleControlId="{= ${converterContext>/filterLayout} === 'compactvisual' ? ID.generate([ ${converterContext>filterBarId}, 'LayoutToggle']) : undefined }"
179
218
  initialLayout="{= ${converterContext>/filterLayout} === 'compactvisual' ? ${converterContext>/filterInitialLayout} : undefined }"
180
- stateChanged=".handlers.onStateChanged"
219
+ stateChange=".handlers.onStateChange"
181
220
  />
182
- </VBox>
183
- </f:DynamicPageHeader>
184
- </template:with>
185
- </template:then>
221
+ </VBox>
222
+ </f:DynamicPageHeader>
223
+ </template:with>
224
+ </template:then>
186
225
  </template:if>
187
226
  </f:header>
188
227
  <f:content>
@@ -191,13 +230,21 @@
191
230
  <template:then>
192
231
  <fragments:MultipleMode />
193
232
  </template:then>
194
- <template:elseif test="{= ${converterContext>views}.length === 1 &amp;&amp; !${converterContext>hasMultiVisualizations} }">
233
+ <template:elseif
234
+ test="{= ${converterContext>views}.length === 1 &amp;&amp; !${converterContext>hasMultiVisualizations} }"
235
+ >
195
236
  <template:with path="converterContext>views/0/presentation" var="presentationContext">
196
- <core:Fragment fragmentName="sap.fe.templates.ListReport.view.fragments.CollectionVisualization" type="XML" />
237
+ <core:Fragment
238
+ fragmentName="sap.fe.templates.ListReport.view.fragments.CollectionVisualization"
239
+ type="XML"
240
+ />
197
241
  </template:with>
198
242
  </template:elseif>
199
243
  <template:else>
200
- <core:Fragment fragmentName="sap.fe.templates.ListReport.view.fragments.CollectionVisualization" type="XML" />
244
+ <core:Fragment
245
+ fragmentName="sap.fe.templates.ListReport.view.fragments.CollectionVisualization"
246
+ type="XML"
247
+ />
201
248
  </template:else>
202
249
  </template:if>
203
250
  </template:if>