@sapui5/sap.fe.core 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 (311) hide show
  1. package/package.json +5 -5
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppComponent.js +62 -26
  4. package/src/sap/fe/core/AppComponent.ts +56 -40
  5. package/src/sap/fe/core/AppStateHandler.js +10 -10
  6. package/src/sap/fe/core/AppStateHandler.ts +9 -9
  7. package/src/sap/fe/core/BaseController.js +11 -9
  8. package/src/sap/fe/core/BaseController.ts +15 -13
  9. package/src/sap/fe/core/CommonUtils.js +236 -109
  10. package/src/sap/fe/core/CommonUtils.ts +252 -136
  11. package/src/sap/fe/core/ExtensionAPI.js +24 -27
  12. package/src/sap/fe/core/ExtensionAPI.ts +36 -38
  13. package/src/sap/fe/core/PageController.js +4 -4
  14. package/src/sap/fe/core/PageController.ts +4 -5
  15. package/src/sap/fe/core/TemplateComponent.js +1 -1
  16. package/src/sap/fe/core/TemplateComponent.ts +6 -6
  17. package/src/sap/fe/core/TemplateModel.js +1 -1
  18. package/src/sap/fe/core/TemplateModel.ts +1 -1
  19. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
  20. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +8 -8
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +11 -10
  23. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +27 -27
  24. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +28 -26
  25. package/src/sap/fe/core/controllerextensions/EditFlow.js +129 -118
  26. package/src/sap/fe/core/controllerextensions/EditFlow.ts +154 -141
  27. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
  28. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  29. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +31 -26
  30. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +34 -35
  31. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +70 -70
  32. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +77 -77
  33. package/src/sap/fe/core/controllerextensions/InternalRouting.js +84 -78
  34. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +105 -101
  35. package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
  36. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  37. package/src/sap/fe/core/controllerextensions/MassEdit.js +8 -8
  38. package/src/sap/fe/core/controllerextensions/MassEdit.ts +19 -26
  39. package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
  40. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +29 -14
  41. package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
  42. package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -34
  43. package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
  44. package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
  45. package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
  46. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  47. package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
  48. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  49. package/src/sap/fe/core/controllerextensions/Share.js +22 -22
  50. package/src/sap/fe/core/controllerextensions/Share.ts +30 -29
  51. package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
  52. package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
  53. package/src/sap/fe/core/controllerextensions/ViewState.js +65 -62
  54. package/src/sap/fe/core/controllerextensions/ViewState.ts +68 -63
  55. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
  56. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +6 -6
  58. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +12 -17
  59. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
  60. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
  61. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
  62. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
  63. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +184 -137
  64. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +253 -206
  65. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +113 -121
  66. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +148 -158
  67. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +198 -148
  68. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +223 -159
  69. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
  70. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
  71. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -44
  72. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +90 -60
  73. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +52 -55
  74. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -58
  75. package/src/sap/fe/core/controls/Any.js +9 -5
  76. package/src/sap/fe/core/controls/Any.ts +10 -4
  77. package/src/sap/fe/core/controls/CommandExecution.js +11 -25
  78. package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
  79. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  80. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  81. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
  82. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
  83. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
  84. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
  85. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
  86. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
  87. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  88. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  89. package/src/sap/fe/core/controls/FileWrapper.js +2 -2
  90. package/src/sap/fe/core/controls/FileWrapper.ts +11 -11
  91. package/src/sap/fe/core/controls/FilterBar.js +6 -2
  92. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  93. package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  94. package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
  95. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  96. package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
  97. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
  98. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
  99. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  100. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
  101. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  102. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +47 -47
  103. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +52 -52
  104. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
  105. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
  106. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
  107. package/src/sap/fe/core/converters/ConverterContext.js +26 -33
  108. package/src/sap/fe/core/converters/ConverterContext.ts +51 -60
  109. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  110. package/src/sap/fe/core/converters/ManifestSettings.ts +14 -14
  111. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  112. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  113. package/src/sap/fe/core/converters/MetaModelConverter.js +50 -32
  114. package/src/sap/fe/core/converters/MetaModelConverter.ts +145 -127
  115. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  116. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  117. package/src/sap/fe/core/converters/annotations/DataField.js +54 -34
  118. package/src/sap/fe/core/converters/annotations/DataField.ts +97 -75
  119. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
  120. package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
  121. package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
  122. package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
  123. package/src/sap/fe/core/converters/controls/Common/Chart.ts +23 -26
  124. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  125. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  126. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +28 -28
  127. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
  128. package/src/sap/fe/core/converters/controls/Common/Form.js +25 -27
  129. package/src/sap/fe/core/converters/controls/Common/Form.ts +37 -45
  130. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  131. package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
  132. package/src/sap/fe/core/converters/controls/Common/Table.js +174 -183
  133. package/src/sap/fe/core/converters/controls/Common/Table.ts +237 -250
  134. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
  135. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
  136. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
  137. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +64 -57
  138. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  139. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  140. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  141. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  142. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
  143. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
  144. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +73 -72
  145. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +98 -96
  146. package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
  147. package/src/sap/fe/core/converters/helpers/Aggregation.ts +10 -13
  148. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
  149. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
  150. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
  151. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
  152. package/src/sap/fe/core/converters/helpers/ID.js +46 -46
  153. package/src/sap/fe/core/converters/helpers/ID.ts +25 -25
  154. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  155. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  156. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  157. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -4
  158. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  159. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  160. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
  161. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
  162. package/src/sap/fe/core/converters/templates/ListReportConverter.js +30 -29
  163. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
  164. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
  165. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
  166. package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
  167. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
  168. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  169. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  170. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  171. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  172. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  173. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  174. package/src/sap/fe/core/formatters/StandardFormatter.js +89 -0
  175. package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -0
  176. package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
  177. package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
  178. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  179. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  180. package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
  181. package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
  182. package/src/sap/fe/core/helpers/BindingToolkit.js +1809 -0
  183. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +365 -264
  184. package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
  185. package/src/sap/fe/core/helpers/ClassSupport.ts +14 -10
  186. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  187. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  188. package/src/sap/fe/core/helpers/EditState.js +1 -6
  189. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  190. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  191. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  192. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  193. package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
  194. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  195. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  196. package/src/sap/fe/core/helpers/MassEditHelper.js +281 -254
  197. package/src/sap/fe/core/helpers/MassEditHelper.ts +337 -289
  198. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  199. package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
  200. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  201. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  202. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  203. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  204. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  205. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  206. package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
  207. package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
  208. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  209. package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
  210. package/src/sap/fe/core/library.js +42 -3
  211. package/src/sap/fe/core/library.ts +38 -0
  212. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  213. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  214. package/src/sap/fe/core/messagebundle.properties +49 -35
  215. package/src/sap/fe/core/messagebundle_ar.properties +13 -5
  216. package/src/sap/fe/core/messagebundle_bg.properties +13 -5
  217. package/src/sap/fe/core/messagebundle_ca.properties +13 -5
  218. package/src/sap/fe/core/messagebundle_cs.properties +13 -5
  219. package/src/sap/fe/core/messagebundle_cy.properties +14 -6
  220. package/src/sap/fe/core/messagebundle_da.properties +13 -5
  221. package/src/sap/fe/core/messagebundle_de.properties +15 -7
  222. package/src/sap/fe/core/messagebundle_el.properties +14 -6
  223. package/src/sap/fe/core/messagebundle_en.properties +9 -1
  224. package/src/sap/fe/core/messagebundle_en_GB.properties +11 -3
  225. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -1
  226. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -1
  227. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +44 -85
  228. package/src/sap/fe/core/messagebundle_es.properties +13 -5
  229. package/src/sap/fe/core/messagebundle_es_MX.properties +13 -5
  230. package/src/sap/fe/core/messagebundle_et.properties +13 -5
  231. package/src/sap/fe/core/messagebundle_fi.properties +14 -6
  232. package/src/sap/fe/core/messagebundle_fr.properties +14 -6
  233. package/src/sap/fe/core/messagebundle_fr_CA.properties +14 -6
  234. package/src/sap/fe/core/messagebundle_hi.properties +14 -6
  235. package/src/sap/fe/core/messagebundle_hr.properties +14 -6
  236. package/src/sap/fe/core/messagebundle_hu.properties +13 -5
  237. package/src/sap/fe/core/messagebundle_id.properties +13 -5
  238. package/src/sap/fe/core/messagebundle_it.properties +33 -25
  239. package/src/sap/fe/core/messagebundle_iw.properties +13 -5
  240. package/src/sap/fe/core/messagebundle_ja.properties +14 -6
  241. package/src/sap/fe/core/messagebundle_kk.properties +13 -5
  242. package/src/sap/fe/core/messagebundle_ko.properties +13 -5
  243. package/src/sap/fe/core/messagebundle_lt.properties +13 -5
  244. package/src/sap/fe/core/messagebundle_lv.properties +14 -6
  245. package/src/sap/fe/core/messagebundle_ms.properties +13 -5
  246. package/src/sap/fe/core/messagebundle_nl.properties +13 -5
  247. package/src/sap/fe/core/messagebundle_no.properties +13 -5
  248. package/src/sap/fe/core/messagebundle_pl.properties +13 -5
  249. package/src/sap/fe/core/messagebundle_pt.properties +13 -5
  250. package/src/sap/fe/core/messagebundle_pt_PT.properties +14 -6
  251. package/src/sap/fe/core/messagebundle_ro.properties +13 -5
  252. package/src/sap/fe/core/messagebundle_ru.properties +13 -5
  253. package/src/sap/fe/core/messagebundle_sh.properties +13 -5
  254. package/src/sap/fe/core/messagebundle_sk.properties +13 -5
  255. package/src/sap/fe/core/messagebundle_sl.properties +17 -9
  256. package/src/sap/fe/core/messagebundle_sv.properties +14 -6
  257. package/src/sap/fe/core/messagebundle_th.properties +13 -5
  258. package/src/sap/fe/core/messagebundle_tr.properties +13 -5
  259. package/src/sap/fe/core/messagebundle_uk.properties +13 -5
  260. package/src/sap/fe/core/messagebundle_vi.properties +13 -5
  261. package/src/sap/fe/core/messagebundle_zh_CN.properties +14 -6
  262. package/src/sap/fe/core/messagebundle_zh_TW.properties +13 -5
  263. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  264. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  265. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -2
  266. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
  267. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  268. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
  269. package/src/sap/fe/core/services/NavigationServiceFactory.js +53 -44
  270. package/src/sap/fe/core/services/NavigationServiceFactory.ts +54 -46
  271. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  272. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  273. package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
  274. package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
  275. package/src/sap/fe/core/services/ShellServicesFactory.js +72 -76
  276. package/src/sap/fe/core/services/ShellServicesFactory.ts +76 -82
  277. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
  278. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  279. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +20 -15
  280. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +26 -21
  281. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  282. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  283. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  284. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  285. package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
  286. package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
  287. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  288. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  289. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  290. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  291. package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
  292. package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
  293. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  294. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
  295. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
  296. package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
  297. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  298. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  299. package/src/sap/fe/core/templating/FilterHelper.js +10 -9
  300. package/src/sap/fe/core/templating/FilterHelper.ts +13 -13
  301. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  302. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  303. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  304. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  305. package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
  306. package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
  307. package/src/sap/fe/core/templating/UIFormatters.js +148 -93
  308. package/src/sap/fe/core/templating/UIFormatters.ts +196 -124
  309. package/src/sap/fe/core/type/Email.js +2 -2
  310. package/src/sap/fe/core/type/Email.ts +2 -2
  311. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
@@ -0,0 +1,89 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/fe/core/controls/Any", "sap/fe/core/helpers/BindingToolkit"], function (Any, BindingToolkit) {
6
+ "use strict";
7
+
8
+ var transformRecursively = BindingToolkit.transformRecursively;
9
+ var constant = BindingToolkit.constant;
10
+ var compileExpression = BindingToolkit.compileExpression;
11
+
12
+ var evaluateComplexExpression = function (expressionAsString) {
13
+ var _this = this;
14
+
15
+ for (var _len = arguments.length, partsToConcat = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
16
+ partsToConcat[_key - 1] = arguments[_key];
17
+ }
18
+
19
+ var myExpression = JSON.parse(expressionAsString);
20
+ transformRecursively(myExpression, "Constant", function (constantDef) {
21
+ if (constantDef.value.startsWith("$")) {
22
+ constantDef.value = partsToConcat[parseInt(constantDef.value.substring(1), 10)];
23
+ }
24
+
25
+ return constantDef;
26
+ });
27
+ transformRecursively(myExpression, "ComplexType", function (complexTypeDef) {
28
+ var compiledExpression = compileExpression(complexTypeDef);
29
+
30
+ if (compiledExpression) {
31
+ return constant(getValue(compiledExpression, _this));
32
+ }
33
+
34
+ return constant(compiledExpression);
35
+ });
36
+ var myCompiledExpression = compileExpression(myExpression);
37
+ return getValue(myCompiledExpression, this);
38
+ };
39
+
40
+ var getValue = function (myExpression, target) {
41
+ var myAny = new Any({
42
+ anyText: myExpression
43
+ });
44
+ myAny.setModel(target.getModel());
45
+ myAny.setBindingContext(target.getBindingContext());
46
+ return myAny.getAnyText();
47
+ };
48
+
49
+ evaluateComplexExpression.__functionName = "sap.fe.core.formatters.StandardFormatter#evaluateComplexExpression";
50
+
51
+ var concat = function () {
52
+ for (var _len2 = arguments.length, partsToConcat = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
53
+ partsToConcat[_key2] = arguments[_key2];
54
+ }
55
+
56
+ return partsToConcat.join("");
57
+ };
58
+
59
+ concat.__functionName = "sap.fe.core.formatters.StandardFormatter#concat";
60
+ /**
61
+ * Collection of table formatters.
62
+ *
63
+ * @param this The context
64
+ * @param sName The inner function name
65
+ * @param oArgs The inner function parameters
66
+ * @returns The value from the inner function
67
+ */
68
+
69
+ var standardFormatter = function (sName) {
70
+ if (standardFormatter.hasOwnProperty(sName)) {
71
+ for (var _len3 = arguments.length, oArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
72
+ oArgs[_key3 - 1] = arguments[_key3];
73
+ }
74
+
75
+ return standardFormatter[sName].apply(this, oArgs);
76
+ } else {
77
+ return "";
78
+ }
79
+ };
80
+
81
+ standardFormatter.evaluateComplexExpression = evaluateComplexExpression;
82
+ standardFormatter.concat = concat;
83
+ /**
84
+ * @global
85
+ */
86
+
87
+ return standardFormatter;
88
+ }, true);
89
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0YW5kYXJkRm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbImV2YWx1YXRlQ29tcGxleEV4cHJlc3Npb24iLCJleHByZXNzaW9uQXNTdHJpbmciLCJwYXJ0c1RvQ29uY2F0IiwibXlFeHByZXNzaW9uIiwiSlNPTiIsInBhcnNlIiwidHJhbnNmb3JtUmVjdXJzaXZlbHkiLCJjb25zdGFudERlZiIsInZhbHVlIiwic3RhcnRzV2l0aCIsInBhcnNlSW50Iiwic3Vic3RyaW5nIiwiY29tcGxleFR5cGVEZWYiLCJjb21waWxlZEV4cHJlc3Npb24iLCJjb21waWxlRXhwcmVzc2lvbiIsImNvbnN0YW50IiwiZ2V0VmFsdWUiLCJteUNvbXBpbGVkRXhwcmVzc2lvbiIsInRhcmdldCIsIm15QW55IiwiQW55IiwiYW55VGV4dCIsInNldE1vZGVsIiwiZ2V0TW9kZWwiLCJzZXRCaW5kaW5nQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0IiwiZ2V0QW55VGV4dCIsIl9fZnVuY3Rpb25OYW1lIiwiY29uY2F0Iiwiam9pbiIsInN0YW5kYXJkRm9ybWF0dGVyIiwic05hbWUiLCJoYXNPd25Qcm9wZXJ0eSIsIm9BcmdzIiwiYXBwbHkiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUEsTUFBTUEseUJBQXlCLEdBQUcsVUFBeUJDLGtCQUF6QixFQUF5RjtBQUFBOztBQUFBLHNDQUFqQ0MsYUFBaUM7QUFBakNBLE1BQUFBLGFBQWlDO0FBQUE7O0FBQzFILFFBQU1DLFlBQVksR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdKLGtCQUFYLENBQXJCO0FBQ0FLLElBQUFBLG9CQUFvQixDQUFDSCxZQUFELEVBQWUsVUFBZixFQUEyQixVQUFDSSxXQUFELEVBQTBDO0FBQ3hGLFVBQUlBLFdBQVcsQ0FBQ0MsS0FBWixDQUFrQkMsVUFBbEIsQ0FBNkIsR0FBN0IsQ0FBSixFQUF1QztBQUN0Q0YsUUFBQUEsV0FBVyxDQUFDQyxLQUFaLEdBQW9CTixhQUFhLENBQUNRLFFBQVEsQ0FBQ0gsV0FBVyxDQUFDQyxLQUFaLENBQWtCRyxTQUFsQixDQUE0QixDQUE1QixDQUFELEVBQWlDLEVBQWpDLENBQVQsQ0FBakM7QUFDQTs7QUFDRCxhQUFPSixXQUFQO0FBQ0EsS0FMbUIsQ0FBcEI7QUFNQUQsSUFBQUEsb0JBQW9CLENBQUNILFlBQUQsRUFBZSxhQUFmLEVBQThCLFVBQUNTLGNBQUQsRUFBb0I7QUFDckUsVUFBTUMsa0JBQWtCLEdBQUdDLGlCQUFpQixDQUFDRixjQUFELENBQTVDOztBQUNBLFVBQUlDLGtCQUFKLEVBQXdCO0FBQ3ZCLGVBQU9FLFFBQVEsQ0FBQ0MsUUFBUSxDQUFDSCxrQkFBRCxFQUFxQixLQUFyQixDQUFULENBQWY7QUFDQTs7QUFDRCxhQUFPRSxRQUFRLENBQUNGLGtCQUFELENBQWY7QUFDQSxLQU5tQixDQUFwQjtBQU9BLFFBQU1JLG9CQUFvQixHQUFHSCxpQkFBaUIsQ0FBQ1gsWUFBRCxDQUE5QztBQUVBLFdBQU9hLFFBQVEsQ0FBQ0Msb0JBQUQsRUFBdUIsSUFBdkIsQ0FBZjtBQUNBLEdBbEJEOztBQW9CQSxNQUFNRCxRQUFRLEdBQUcsVUFBVWIsWUFBVixFQUEwRGUsTUFBMUQsRUFBMkU7QUFDM0YsUUFBTUMsS0FBSyxHQUFHLElBQUlDLEdBQUosQ0FBUTtBQUFFQyxNQUFBQSxPQUFPLEVBQUVsQjtBQUFYLEtBQVIsQ0FBZDtBQUNBZ0IsSUFBQUEsS0FBSyxDQUFDRyxRQUFOLENBQWVKLE1BQU0sQ0FBQ0ssUUFBUCxFQUFmO0FBQ0FKLElBQUFBLEtBQUssQ0FBQ0ssaUJBQU4sQ0FBd0JOLE1BQU0sQ0FBQ08saUJBQVAsRUFBeEI7QUFDQSxXQUFPTixLQUFLLENBQUNPLFVBQU4sRUFBUDtBQUNBLEdBTEQ7O0FBTUExQixFQUFBQSx5QkFBeUIsQ0FBQzJCLGNBQTFCLEdBQTJDLG9FQUEzQzs7QUFDQSxNQUFNQyxNQUFNLEdBQUcsWUFBOEM7QUFBQSx1Q0FBakMxQixhQUFpQztBQUFqQ0EsTUFBQUEsYUFBaUM7QUFBQTs7QUFDNUQsV0FBT0EsYUFBYSxDQUFDMkIsSUFBZCxDQUFtQixFQUFuQixDQUFQO0FBQ0EsR0FGRDs7QUFHQUQsRUFBQUEsTUFBTSxDQUFDRCxjQUFQLEdBQXdCLGlEQUF4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsTUFBTUcsaUJBQWlCLEdBQUcsVUFBd0JDLEtBQXhCLEVBQTZEO0FBQ3RGLFFBQUlELGlCQUFpQixDQUFDRSxjQUFsQixDQUFpQ0QsS0FBakMsQ0FBSixFQUE2QztBQUFBLHlDQURzQkUsS0FDdEI7QUFEc0JBLFFBQUFBLEtBQ3RCO0FBQUE7O0FBQzVDLGFBQVFILGlCQUFELENBQTJCQyxLQUEzQixFQUFrQ0csS0FBbEMsQ0FBd0MsSUFBeEMsRUFBOENELEtBQTlDLENBQVA7QUFDQSxLQUZELE1BRU87QUFDTixhQUFPLEVBQVA7QUFDQTtBQUNELEdBTkQ7O0FBUUFILEVBQUFBLGlCQUFpQixDQUFDOUIseUJBQWxCLEdBQThDQSx5QkFBOUM7QUFDQThCLEVBQUFBLGlCQUFpQixDQUFDRixNQUFsQixHQUEyQkEsTUFBM0I7QUFFQTtBQUNBO0FBQ0E7O1NBQ2VFLGlCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQW55IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9scy9BbnlcIjtcbmltcG9ydCB7XG5cdENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uLFxuXHRjb21waWxlRXhwcmVzc2lvbixcblx0Y29uc3RhbnQsXG5cdENvbnN0YW50RXhwcmVzc2lvbixcblx0dHJhbnNmb3JtUmVjdXJzaXZlbHlcbn0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5cbmNvbnN0IGV2YWx1YXRlQ29tcGxleEV4cHJlc3Npb24gPSBmdW5jdGlvbiAodGhpczogQ29udHJvbCwgZXhwcmVzc2lvbkFzU3RyaW5nOiBzdHJpbmcsIC4uLnBhcnRzVG9Db25jYXQ6IHN0cmluZ1tdKTogc3RyaW5nIHtcblx0Y29uc3QgbXlFeHByZXNzaW9uID0gSlNPTi5wYXJzZShleHByZXNzaW9uQXNTdHJpbmcpO1xuXHR0cmFuc2Zvcm1SZWN1cnNpdmVseShteUV4cHJlc3Npb24sIFwiQ29uc3RhbnRcIiwgKGNvbnN0YW50RGVmOiBDb25zdGFudEV4cHJlc3Npb248YW55PikgPT4ge1xuXHRcdGlmIChjb25zdGFudERlZi52YWx1ZS5zdGFydHNXaXRoKFwiJFwiKSkge1xuXHRcdFx0Y29uc3RhbnREZWYudmFsdWUgPSBwYXJ0c1RvQ29uY2F0W3BhcnNlSW50KGNvbnN0YW50RGVmLnZhbHVlLnN1YnN0cmluZygxKSwgMTApXTtcblx0XHR9XG5cdFx0cmV0dXJuIGNvbnN0YW50RGVmO1xuXHR9KTtcblx0dHJhbnNmb3JtUmVjdXJzaXZlbHkobXlFeHByZXNzaW9uLCBcIkNvbXBsZXhUeXBlXCIsIChjb21wbGV4VHlwZURlZikgPT4ge1xuXHRcdGNvbnN0IGNvbXBpbGVkRXhwcmVzc2lvbiA9IGNvbXBpbGVFeHByZXNzaW9uKGNvbXBsZXhUeXBlRGVmKTtcblx0XHRpZiAoY29tcGlsZWRFeHByZXNzaW9uKSB7XG5cdFx0XHRyZXR1cm4gY29uc3RhbnQoZ2V0VmFsdWUoY29tcGlsZWRFeHByZXNzaW9uLCB0aGlzKSk7XG5cdFx0fVxuXHRcdHJldHVybiBjb25zdGFudChjb21waWxlZEV4cHJlc3Npb24pO1xuXHR9KTtcblx0Y29uc3QgbXlDb21waWxlZEV4cHJlc3Npb24gPSBjb21waWxlRXhwcmVzc2lvbihteUV4cHJlc3Npb24pO1xuXG5cdHJldHVybiBnZXRWYWx1ZShteUNvbXBpbGVkRXhwcmVzc2lvbiwgdGhpcyk7XG59O1xuXG5jb25zdCBnZXRWYWx1ZSA9IGZ1bmN0aW9uIChteUV4cHJlc3Npb246IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uLCB0YXJnZXQ6IENvbnRyb2wpIHtcblx0Y29uc3QgbXlBbnkgPSBuZXcgQW55KHsgYW55VGV4dDogbXlFeHByZXNzaW9uIH0pO1xuXHRteUFueS5zZXRNb2RlbCh0YXJnZXQuZ2V0TW9kZWwoKSk7XG5cdG15QW55LnNldEJpbmRpbmdDb250ZXh0KHRhcmdldC5nZXRCaW5kaW5nQ29udGV4dCgpKTtcblx0cmV0dXJuIG15QW55LmdldEFueVRleHQoKTtcbn07XG5ldmFsdWF0ZUNvbXBsZXhFeHByZXNzaW9uLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlN0YW5kYXJkRm9ybWF0dGVyI2V2YWx1YXRlQ29tcGxleEV4cHJlc3Npb25cIjtcbmNvbnN0IGNvbmNhdCA9IGZ1bmN0aW9uICguLi5wYXJ0c1RvQ29uY2F0OiBzdHJpbmdbXSk6IHN0cmluZyB7XG5cdHJldHVybiBwYXJ0c1RvQ29uY2F0LmpvaW4oXCJcIik7XG59O1xuY29uY2F0Ll9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlN0YW5kYXJkRm9ybWF0dGVyI2NvbmNhdFwiO1xuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIHRhYmxlIGZvcm1hdHRlcnMuXG4gKlxuICogQHBhcmFtIHRoaXMgVGhlIGNvbnRleHRcbiAqIEBwYXJhbSBzTmFtZSBUaGUgaW5uZXIgZnVuY3Rpb24gbmFtZVxuICogQHBhcmFtIG9BcmdzIFRoZSBpbm5lciBmdW5jdGlvbiBwYXJhbWV0ZXJzXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgZnJvbSB0aGUgaW5uZXIgZnVuY3Rpb25cbiAqL1xuY29uc3Qgc3RhbmRhcmRGb3JtYXR0ZXIgPSBmdW5jdGlvbiAodGhpczogb2JqZWN0LCBzTmFtZTogc3RyaW5nLCAuLi5vQXJnczogYW55W10pOiBhbnkge1xuXHRpZiAoc3RhbmRhcmRGb3JtYXR0ZXIuaGFzT3duUHJvcGVydHkoc05hbWUpKSB7XG5cdFx0cmV0dXJuIChzdGFuZGFyZEZvcm1hdHRlciBhcyBhbnkpW3NOYW1lXS5hcHBseSh0aGlzLCBvQXJncyk7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIFwiXCI7XG5cdH1cbn07XG5cbnN0YW5kYXJkRm9ybWF0dGVyLmV2YWx1YXRlQ29tcGxleEV4cHJlc3Npb24gPSBldmFsdWF0ZUNvbXBsZXhFeHByZXNzaW9uO1xuc3RhbmRhcmRGb3JtYXR0ZXIuY29uY2F0ID0gY29uY2F0O1xuXG4vKipcbiAqIEBnbG9iYWxcbiAqL1xuZXhwb3J0IGRlZmF1bHQgc3RhbmRhcmRGb3JtYXR0ZXI7XG4iXX0=
@@ -0,0 +1,64 @@
1
+ import Any from "sap/fe/core/controls/Any";
2
+ import {
3
+ CompiledBindingToolkitExpression,
4
+ compileExpression,
5
+ constant,
6
+ ConstantExpression,
7
+ transformRecursively
8
+ } from "sap/fe/core/helpers/BindingToolkit";
9
+ import Control from "sap/ui/core/Control";
10
+
11
+ const evaluateComplexExpression = function (this: Control, expressionAsString: string, ...partsToConcat: string[]): string {
12
+ const myExpression = JSON.parse(expressionAsString);
13
+ transformRecursively(myExpression, "Constant", (constantDef: ConstantExpression<any>) => {
14
+ if (constantDef.value.startsWith("$")) {
15
+ constantDef.value = partsToConcat[parseInt(constantDef.value.substring(1), 10)];
16
+ }
17
+ return constantDef;
18
+ });
19
+ transformRecursively(myExpression, "ComplexType", (complexTypeDef) => {
20
+ const compiledExpression = compileExpression(complexTypeDef);
21
+ if (compiledExpression) {
22
+ return constant(getValue(compiledExpression, this));
23
+ }
24
+ return constant(compiledExpression);
25
+ });
26
+ const myCompiledExpression = compileExpression(myExpression);
27
+
28
+ return getValue(myCompiledExpression, this);
29
+ };
30
+
31
+ const getValue = function (myExpression: CompiledBindingToolkitExpression, target: Control) {
32
+ const myAny = new Any({ anyText: myExpression });
33
+ myAny.setModel(target.getModel());
34
+ myAny.setBindingContext(target.getBindingContext());
35
+ return myAny.getAnyText();
36
+ };
37
+ evaluateComplexExpression.__functionName = "sap.fe.core.formatters.StandardFormatter#evaluateComplexExpression";
38
+ const concat = function (...partsToConcat: string[]): string {
39
+ return partsToConcat.join("");
40
+ };
41
+ concat.__functionName = "sap.fe.core.formatters.StandardFormatter#concat";
42
+ /**
43
+ * Collection of table formatters.
44
+ *
45
+ * @param this The context
46
+ * @param sName The inner function name
47
+ * @param oArgs The inner function parameters
48
+ * @returns The value from the inner function
49
+ */
50
+ const standardFormatter = function (this: object, sName: string, ...oArgs: any[]): any {
51
+ if (standardFormatter.hasOwnProperty(sName)) {
52
+ return (standardFormatter as any)[sName].apply(this, oArgs);
53
+ } else {
54
+ return "";
55
+ }
56
+ };
57
+
58
+ standardFormatter.evaluateComplexExpression = evaluateComplexExpression;
59
+ standardFormatter.concat = concat;
60
+
61
+ /**
62
+ * @global
63
+ */
64
+ export default standardFormatter;
@@ -30,8 +30,8 @@ sap.ui.define(["sap/fe/core/formatters/TableFormatterTypes"], function (TableFor
30
30
  *
31
31
  * @function
32
32
  * @name validateCreationRowFields
33
- * @param {object} fieldValidityObject Object holding the fields
34
- * @returns {boolean} `true` if all the fields in the creation row are valid, `false` otherwise
33
+ * @param fieldValidityObject Object holding the fields
34
+ * @returns `true` if all the fields in the creation row are valid, `false` otherwise
35
35
  */
36
36
 
37
37
 
@@ -48,10 +48,10 @@ sap.ui.define(["sap/fe/core/formatters/TableFormatterTypes"], function (TableFor
48
48
 
49
49
  validateCreationRowFields.__functionName = "sap.fe.core.formatters.TableFormatter#validateCreationRowFields";
50
50
  /**
51
- * @param {object} this The context.
52
- * @param {string} semanticKeyHasDraftIndicator The draft indicator property name.
53
- * @param {Array} aFilteredMessages Array of messages.
54
- * @returns {boolean} The value for Object Status visibility property.
51
+ * @param this The context.
52
+ * @param semanticKeyHasDraftIndicator The draft indicator property name.
53
+ * @param aFilteredMessages Array of messages.
54
+ * @returns The value for Object Status visibility property.
55
55
  */
56
56
 
57
57
  var getErrorStatusTextVisibilityFormatter = function (semanticKeyHasDraftIndicator, aFilteredMessages) {
@@ -212,10 +212,10 @@ sap.ui.define(["sap/fe/core/formatters/TableFormatterTypes"], function (TableFor
212
212
  /**
213
213
  * Collection of table formatters.
214
214
  *
215
- * @param {object} this The context
216
- * @param {string} sName The inner function name
217
- * @param {object[]} oArgs The inner function parameters
218
- * @returns {object} The value from the inner function
215
+ * @param this The context
216
+ * @param sName The inner function name
217
+ * @param oArgs The inner function parameters
218
+ * @returns The value from the inner function
219
219
  */
220
220
 
221
221
  var tableFormatter = function (sName) {
@@ -243,4 +243,4 @@ sap.ui.define(["sap/fe/core/formatters/TableFormatterTypes"], function (TableFor
243
243
 
244
244
  return tableFormatter;
245
245
  }, true);
246
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlRm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbImdldE1lc3NhZ2V0eXBlT3JkZXIiLCJtZXNzYWdlVHlwZSIsInZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHMiLCJmaWVsZFZhbGlkaXR5T2JqZWN0IiwiZmllbGRLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImV2ZXJ5Iiwia2V5IiwiX19mdW5jdGlvbk5hbWUiLCJnZXRFcnJvclN0YXR1c1RleHRWaXNpYmlsaXR5Rm9ybWF0dGVyIiwic2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciIsImFGaWx0ZXJlZE1lc3NhZ2VzIiwiYlN0YXR1c1Zpc2liaWxpdHkiLCJhU2VtYW50aWNLZXlDb2x1bW5zIiwiZ2V0UGFyZW50IiwiZ2V0QWdncmVnYXRpb24iLCJzQ29sdW1uUHJvcGVydHkiLCJnZXRCaW5kaW5nIiwiZ2V0UGF0aCIsInNDdXJyZW50Q29udGV4dFBhdGgiLCJnZXRCaW5kaW5nQ29udGV4dCIsInVuZGVmaW5lZCIsImZvckVhY2giLCJvTWVzc2FnZSIsInR5cGUiLCJhVGFyZ2V0cyIsImluZGV4T2YiLCJyb3dIaWdobGlnaHRpbmciLCJjcml0aWNhbGl0eVZhbHVlIiwiaGFzQWN0aXZlRW50aXR5IiwiaXNBY3RpdmVFbnRpdHkiLCJpc0RyYWZ0Um9vdCIsImlzTmV3T2JqZWN0IiwiaUhpZ2hlc3RDcml0aWNhbGl0eVZhbHVlIiwiTWVzc2FnZVR5cGUiLCJFcnJvciIsIldhcm5pbmciLCJTdWNjZXNzIiwiSW5mb3JtYXRpb24iLCJOb25lIiwibmF2aWdhdGVkUm93Iiwic0RlZXBlc3RQYXRoIiwic1BhdGgiLCJpc1JhdGluZ0luZGljYXRvciIsIm9Db250cm9sIiwiaXNBIiwidkNvbnRlbnREaXNwbGF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZ2V0Q29udGVudERpc3BsYXkiLCJfdXBkYXRlU3R5bGVDbGFzc0ZvclJhdGluZ0luZGljYXRvciIsIm9GaWVsZFdyYXBwZXIiLCJiTGFzdCIsInZDb250ZW50RWRpdCIsImdldENvbnRlbnRFZGl0IiwiYWRkU3R5bGVDbGFzcyIsInJlbW92ZVN0eWxlQ2xhc3MiLCJnZXRWQm94VmlzaWJpbGl0eSIsImFJdGVtcyIsImdldEl0ZW1zIiwiYkxhc3RFbGVtZW50Rm91bmQiLCJhcmdzIiwiaW5kZXgiLCJ0YWJsZUZvcm1hdHRlciIsInNOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJvQXJncyIsImFwcGx5Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFFQSxNQUFNQSxtQkFBbUIsR0FBRyxVQUFVQyxXQUFWLEVBQXVDO0FBQ2xFLFlBQVFBLFdBQVI7QUFDQyxXQUFLLE9BQUw7QUFDQyxlQUFPLENBQVA7O0FBQ0QsV0FBSyxTQUFMO0FBQ0MsZUFBTyxDQUFQOztBQUNELFdBQUssYUFBTDtBQUNDLGVBQU8sQ0FBUDs7QUFDRCxXQUFLLE1BQUw7QUFDQyxlQUFPLENBQVA7O0FBQ0Q7QUFDQyxlQUFPLENBQUMsQ0FBUjtBQVZGO0FBWUEsR0FiRDtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLE1BQU1DLHlCQUF5QixHQUFHLFVBQVVDLG1CQUFWLEVBQXFDO0FBQ3RFLFFBQUksQ0FBQ0EsbUJBQUwsRUFBMEI7QUFDekIsYUFBTyxLQUFQO0FBQ0E7O0FBQ0QsUUFBTUMsU0FBUyxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWUgsbUJBQVosQ0FBbEI7QUFDQSxXQUNDQyxTQUFTLENBQUNHLE1BQVYsR0FBbUIsQ0FBbkIsSUFDQUgsU0FBUyxDQUFDSSxLQUFWLENBQWdCLFVBQVVDLEdBQVYsRUFBZTtBQUM5QixhQUFPTixtQkFBbUIsQ0FBQ00sR0FBRCxDQUFuQixDQUF5QixVQUF6QixDQUFQO0FBQ0EsS0FGRCxDQUZEO0FBTUEsR0FYRDs7QUFZQVAsRUFBQUEseUJBQXlCLENBQUNRLGNBQTFCLEdBQTJDLGlFQUEzQztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxNQUFNQyxxQ0FBcUMsR0FB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LENBQUNwQyxlQUFmLEdBQWlDQSxlQUFqQztBQUNBb0MsRUFBQUEsY0FBYyxDQUFDdkIsWUFBZixHQUE4QkEsWUFBOUI7QUFDQXVCLEVBQUFBLGNBQWMsQ0FBQ3RELHFDQUFmLEdBQXVEQSxxQ0FBdkQ7QUFDQXNELEVBQUFBLGNBQWMsQ0FBQ04saUJBQWYsR0FBbUNBLGlCQUFuQztBQUNBTSxFQUFBQSxjQUFjLENBQUNwQixpQkFBZixHQUFtQ0EsaUJBQW5DLEMsQ0FBc0Q7O0FBRXREO0FBQ0E7QUFDQTs7U0FDZW9CLGMiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2Zvcm1hdHRlcnMvVGFibGVGb3JtYXR0ZXJUeXBlc1wiO1xuaW1wb3J0IFRhYmxlIGZyb20gXCJzYXAvbS9UYWJsZVwiO1xuaW1wb3J0IE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcblxuY29uc3QgZ2V0TWVzc2FnZXR5cGVPcmRlciA9IGZ1bmN0aW9uIChtZXNzYWdlVHlwZTogc3RyaW5nKTogbnVtYmVyIHtcblx0c3dpdGNoIChtZXNzYWdlVHlwZSkge1xuXHRcdGNhc2UgXCJFcnJvclwiOlxuXHRcdFx0cmV0dXJuIDQ7XG5cdFx0Y2FzZSBcIldhcm5pbmdcIjpcblx0XHRcdHJldHVybiAzO1xuXHRcdGNhc2UgXCJJbmZvcm1hdGlvblwiOlxuXHRcdFx0cmV0dXJuIDI7XG5cdFx0Y2FzZSBcIk5vbmVcIjpcblx0XHRcdHJldHVybiAxO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRyZXR1cm4gLTE7XG5cdH1cbn07XG5cbi8qKlxuICogR2V0cyB0aGUgdmFsaWRpdHkgb2YgY3JlYXRpb24gcm93IGZpZWxkcy5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBuYW1lIHZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHNcbiAqIEBwYXJhbSB7b2JqZWN0fSBmaWVsZFZhbGlkaXR5T2JqZWN0IE9iamVjdCBob2xkaW5nIHRoZSBmaWVsZHNcbiAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgYWxsIHRoZSBmaWVsZHMgaW4gdGhlIGNyZWF0aW9uIHJvdyBhcmUgdmFsaWQsIGBmYWxzZWAgb3RoZXJ3aXNlXG4gKi9cbmNvbnN0IHZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHMgPSBmdW5jdGlvbiAoZmllbGRWYWxpZGl0eU9iamVjdD86IGFueSkge1xuXHRpZiAoIWZpZWxkVmFsaWRpdHlPYmplY3QpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0Y29uc3QgZmllbGRLZXlzID0gT2JqZWN0LmtleXMoZmllbGRWYWxpZGl0eU9iamVjdCk7XG5cdHJldHVybiAoXG5cdFx0ZmllbGRLZXlzLmxlbmd0aCA+IDAgJiZcblx0XHRmaWVsZEtleXMuZXZlcnkoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0cmV0dXJuIGZpZWxkVmFsaWRpdHlPYmplY3Rba2V5XVtcInZhbGlkaXR5XCJdO1xuXHRcdH0pXG5cdCk7XG59O1xudmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciN2YWxpZGF0ZUNyZWF0aW9uUm93RmllbGRzXCI7XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IHRoaXMgVGhlIGNvbnRleHQuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciBUaGUgZHJhZnQgaW5kaWNhdG9yIHByb3BlcnR5IG5hbWUuXG4gKiBAcGFyYW0ge0FycmF5fSBhRmlsdGVyZWRNZXNzYWdlcyBBcnJheSBvZiBtZXNzYWdlcy5cbiAqIEByZXR1cm5zIHtib29sZWFufSBUaGUgdmFsdWUgZm9yIE9iamVjdCBTdGF0dXMgdmlzaWJpbGl0eSBwcm9wZXJ0eS5cbiAqL1xuY29uc3QgZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlciA9IGZ1bmN0aW9uIChcblx0dGhpczogTWFuYWdlZE9iamVjdCB8IGFueSxcblx0c2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvcjogc3RyaW5nLFxuXHRhRmlsdGVyZWRNZXNzYWdlczogYW55XG4pIHtcblx0bGV0IGJTdGF0dXNWaXNpYmlsaXR5ID0gZmFsc2U7XG5cdGNvbnN0IGFTZW1hbnRpY0tleUNvbHVtbnMgPSB0aGlzLmdldFBhcmVudCgpLmdldEFnZ3JlZ2F0aW9uKFwiaXRlbXNcIik7XG5cdGNvbnN0IHNDb2x1bW5Qcm9wZXJ0eSA9IGFTZW1hbnRpY0tleUNvbHVtbnNbMF0hLmdldEJpbmRpbmcoXCJ0aXRsZVwiKT8uZ2V0UGF0aCgpO1xuXHRpZiAoYUZpbHRlcmVkTWVzc2FnZXMgJiYgYUZpbHRlcmVkTWVzc2FnZXMubGVuZ3RoID4gMCAmJiBzQ29sdW1uUHJvcGVydHkgPT09IHNlbWFudGljS2V5SGFzRHJhZnRJbmRpY2F0b3IpIHtcblx0XHRjb25zdCBzQ3VycmVudENvbnRleHRQYXRoID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpID8gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpLmdldFBhdGgoKSA6IHVuZGVmaW5lZDtcblx0XHRhRmlsdGVyZWRNZXNzYWdlcy5mb3JFYWNoKChvTWVzc2FnZTogYW55KSA9PiB7XG5cdFx0XHRpZiAob01lc3NhZ2UudHlwZSA9PT0gXCJFcnJvclwiICYmIG9NZXNzYWdlLmFUYXJnZXRzWzBdLmluZGV4T2Yoc0N1cnJlbnRDb250ZXh0UGF0aCkgPT09IDApIHtcblx0XHRcdFx0YlN0YXR1c1Zpc2liaWxpdHkgPSB0cnVlO1xuXHRcdFx0XHRyZXR1cm4gYlN0YXR1c1Zpc2liaWxpdHk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGJTdGF0dXNWaXNpYmlsaXR5O1xufTtcbmdldEVycm9yU3RhdHVzVGV4dFZpc2liaWxpdHlGb3JtYXR0ZXIuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVGFibGVGb3JtYXR0ZXIjZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlclwiO1xuXG4vKipcbiAqIHJvd0hpZ2hsaWdodGluZ1xuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSB0aGlzIFRoZSBjb250ZXh0XG4gKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IENyaXRpY2FsaXR5VmFsdWUgVGhlIGNyaXRpY2FsaXR5IHZhbHVlXG4gKiBAcGFyYW0ge251bWJlcn0gbWVzc2FnZUxhc3RVcGRhdGUgVGltZXN0YW1wIG9mIHRoZSBsYXN0IG1lc3NhZ2UgdGhhdCB3YXMgY3JlYXRlZC4gSXQncyBkZWZpbmVkIGFzIGFuIGlucHV0IHZhbHVlLCBidXQgbm90IHVzZWQgaW4gdGhlIGJvZHkgb2YgdGhlIGZ1bmN0aW9uXG4gKiBJdCBpcyB1c2VkIHRvIHJlZnJlc2ggdGhlIGZvcm1hdHRpbmcgb2YgdGhlIHRhYmxlIGVhY2ggdGltZSBhIG5ldyBtZXNzYWdlIGlzIHVwZGF0ZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9IFRoZSB2YWx1ZSBmcm9tIHRoZSBpbm5lciBmdW5jdGlvblxuICovXG5cbmNvbnN0IHJvd0hpZ2hsaWdodGluZyA9IGZ1bmN0aW9uIChcblx0dGhpczogTWFuYWdlZE9iamVjdCxcblx0Y3JpdGljYWxpdHlWYWx1ZTogc3RyaW5nIHwgbnVtYmVyLFxuXHRhRmlsdGVyZWRNZXNzYWdlczogYW55W10sXG5cdGhhc0FjdGl2ZUVudGl0eTogYm9vbGVhbixcblx0aXNBY3RpdmVFbnRpdHk6IGJvb2xlYW4sXG5cdGlzRHJhZnRSb290OiBzdHJpbmcsXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0Li4uYXJnczogYW55W11cbik6IE1lc3NhZ2VUeXBlIHtcblx0Y29uc3QgaXNOZXdPYmplY3QgPSAhaGFzQWN0aXZlRW50aXR5ICYmICFpc0FjdGl2ZUVudGl0eTtcblx0bGV0IGlIaWdoZXN0Q3JpdGljYWxpdHlWYWx1ZTogbnVtYmVyID0gLTE7XG5cdGlmIChhRmlsdGVyZWRNZXNzYWdlcyAmJiBhRmlsdGVyZWRNZXNzYWdlcy5sZW5ndGggPiAwKSB7XG5cdFx0Y29uc3Qgc0N1cnJlbnRDb250ZXh0UGF0aCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKT8uZ2V0UGF0aCgpO1xuXHRcdGFGaWx0ZXJlZE1lc3NhZ2VzLmZvckVhY2goKG9NZXNzYWdlOiBhbnkpID0+IHtcblx0XHRcdGlmIChvTWVzc2FnZS5hVGFyZ2V0c1swXS5pbmRleE9mKHNDdXJyZW50Q29udGV4dFBhdGgpID09PSAwICYmIGlIaWdoZXN0Q3JpdGljYWxpdHlWYWx1ZSA8IGdldE1lc3NhZ2V0eXBlT3JkZXIob01lc3NhZ2UudHlwZSkpIHtcblx0XHRcdFx0aUhpZ2hlc3RDcml0aWNhbGl0eVZhbHVlID0gZ2V0TWVzc2FnZXR5cGVPcmRlcihvTWVzc2FnZS50eXBlKTtcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IG9NZXNzYWdlLnR5cGU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0aWYgKHR5cGVvZiBjcml0aWNhbGl0eVZhbHVlICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0c3dpdGNoIChjcml0aWNhbGl0eVZhbHVlKSB7XG5cdFx0XHRjYXNlIDE6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5FcnJvcjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIDI6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5XYXJuaW5nO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgMzpcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IE1lc3NhZ2VUeXBlLlN1Y2Nlc3M7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSA1OlxuXHRcdFx0XHRjcml0aWNhbGl0eVZhbHVlID0gTWVzc2FnZVR5cGUuSW5mb3JtYXRpb247XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IE1lc3NhZ2VUeXBlLk5vbmU7XG5cdFx0fVxuXHR9XG5cblx0aWYgKGNyaXRpY2FsaXR5VmFsdWUgPT09IE1lc3NhZ2VUeXBlLk5vbmUpIHtcblx0XHRpZiAoaXNEcmFmdFJvb3QgPT09IFwidHJ1ZVwiICYmIGlzTmV3T2JqZWN0KSB7XG5cdFx0XHRyZXR1cm4gTWVzc2FnZVR5cGUuSW5mb3JtYXRpb247XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBNZXNzYWdlVHlwZS5Ob25lO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gY3JpdGljYWxpdHlWYWx1ZSBhcyBNZXNzYWdlVHlwZTtcblx0fVxufTtcbnJvd0hpZ2hsaWdodGluZy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciNyb3dIaWdobGlnaHRpbmdcIjtcblxuY29uc3QgbmF2aWdhdGVkUm93ID0gZnVuY3Rpb24gKHRoaXM6IE1hbmFnZWRPYmplY3QsIHNEZWVwZXN0UGF0aDogc3RyaW5nKSB7XG5cdGNvbnN0IHNQYXRoID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpPy5nZXRQYXRoKCk7XG5cdGlmIChzUGF0aCAmJiBzRGVlcGVzdFBhdGgpIHtcblx0XHRyZXR1cm4gc0RlZXBlc3RQYXRoLmluZGV4T2Yoc1BhdGgpID09PSAwO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxufTtcbm5hdmlnYXRlZFJvdy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciNuYXZpZ2F0ZWRSb3dcIjtcblxuZnVuY3Rpb24gaXNSYXRpbmdJbmRpY2F0b3Iob0NvbnRyb2w6IGFueSk6IGJvb2xlYW4ge1xuXHRpZiAob0NvbnRyb2wuaXNBKFwic2FwLmZlLmNvcmUuY29udHJvbHMuRmllbGRXcmFwcGVyXCIpKSB7XG5cdFx0Y29uc3QgdkNvbnRlbnREaXNwbGF5ID0gQXJyYXkuaXNBcnJheShvQ29udHJvbC5nZXRDb250ZW50RGlzcGxheSgpKVxuXHRcdFx0PyBvQ29udHJvbC5nZXRDb250ZW50RGlzcGxheSgpWzBdXG5cdFx0XHQ6IG9Db250cm9sLmdldENvbnRlbnREaXNwbGF5KCk7XG5cdFx0aWYgKHZDb250ZW50RGlzcGxheSAmJiB2Q29udGVudERpc3BsYXkuaXNBKFwic2FwLm0uUmF0aW5nSW5kaWNhdG9yXCIpKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gX3VwZGF0ZVN0eWxlQ2xhc3NGb3JSYXRpbmdJbmRpY2F0b3Iob0ZpZWxkV3JhcHBlcjogYW55LCBiTGFzdDogYm9vbGVhbikge1xuXHRjb25zdCB2Q29udGVudERpc3BsYXkgPSBBcnJheS5pc0FycmF5KG9GaWVsZFdyYXBwZXIuZ2V0Q29udGVudERpc3BsYXkoKSlcblx0XHQ/IG9GaWVsZFdyYXBwZXIuZ2V0Q29udGVudERpc3BsYXkoKVswXVxuXHRcdDogb0ZpZWxkV3JhcHBlci5nZXRDb250ZW50RGlzcGxheSgpO1xuXHRjb25zdCB2Q29udGVudEVkaXQgPSBBcnJheS5pc0FycmF5KG9GaWVsZFdyYXBwZXIuZ2V0Q29udGVudEVkaXQoKSkgPyBvRmllbGRXcmFwcGVyLmdldENvbnRlbnRFZGl0KClbMF0gOiBvRmllbGRXcmFwcGVyLmdldENvbnRlbnRFZGl0KCk7XG5cblx0aWYgKGJMYXN0KSB7XG5cdFx0dkNvbnRlbnREaXNwbGF5LmFkZFN0eWxlQ2xhc3MoXCJzYXBVaU5vTWFyZ2luQm90dG9tXCIpO1xuXHRcdHZDb250ZW50RGlzcGxheS5hZGRTdHlsZUNsYXNzKFwic2FwVWlOb01hcmdpblRvcFwiKTtcblx0XHR2Q29udGVudEVkaXQucmVtb3ZlU3R5bGVDbGFzcyhcInNhcFVpVGlueU1hcmdpbkJvdHRvbVwiKTtcblx0fSBlbHNlIHtcblx0XHR2Q29udGVudERpc3BsYXkuYWRkU3R5bGVDbGFzcyhcInNhcFVpTm9NYXJnaW5Cb3R0b21cIik7XG5cdFx0dkNvbnRlbnREaXNwbGF5LnJlbW92ZVN0eWxlQ2xhc3MoXCJzYXBVaU5vTWFyZ2luVG9wXCIpO1xuXHRcdHZDb250ZW50RWRpdC5hZGRTdHlsZUNsYXNzKFwic2FwVWlUaW55TWFyZ2luQm90dG9tXCIpO1xuXHR9XG59XG5mdW5jdGlvbiBnZXRWQm94VmlzaWJpbGl0eSh0aGlzOiBUYWJsZSwgLi4uYXJnczogYW55W10pIHtcblx0Y29uc3QgYUl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuXHRsZXQgYkxhc3RFbGVtZW50Rm91bmQgPSBmYWxzZTtcblx0Zm9yIChsZXQgaW5kZXggPSBhSXRlbXMubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuXHRcdGlmICghYkxhc3RFbGVtZW50Rm91bmQpIHtcblx0XHRcdGlmIChhcmdzW2luZGV4XSAhPT0gdHJ1ZSkge1xuXHRcdFx0XHRiTGFzdEVsZW1lbnRGb3VuZCA9IHRydWU7XG5cdFx0XHRcdGlmIChpc1JhdGluZ0luZGljYXRvcihhSXRlbXNbaW5kZXhdKSkge1xuXHRcdFx0XHRcdF91cGRhdGVTdHlsZUNsYXNzRm9yUmF0aW5nSW5kaWNhdG9yKGFJdGVtc1tpbmRleF0sIHRydWUpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGFJdGVtc1tpbmRleF0ucmVtb3ZlU3R5bGVDbGFzcyhcInNhcFVpVGlueU1hcmdpbkJvdHRvbVwiKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoaXNSYXRpbmdJbmRpY2F0b3IoYUl0ZW1zW2luZGV4XSkpIHtcblx0XHRcdF91cGRhdGVTdHlsZUNsYXNzRm9yUmF0aW5nSW5kaWNhdG9yKGFJdGVtc1tpbmRleF0sIGZhbHNlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YUl0ZW1zW2luZGV4XS5hZGRTdHlsZUNsYXNzKFwic2FwVWlUaW55TWFyZ2luQm90dG9tXCIpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gdHJ1ZTtcbn1cbmdldFZCb3hWaXNpYmlsaXR5Ll9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlRhYmxlRm9ybWF0dGVyI2dldFZCb3hWaXNpYmlsaXR5XCI7XG5cbi8vIFNlZSBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay9mdW5jdGlvbnMuaHRtbCN0aGlzLXBhcmFtZXRlcnMgZm9yIG1vcmUgZGV0YWlsIG9uIHRoaXMgd2VpcmQgc3ludGF4XG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdGFibGUgZm9ybWF0dGVycy5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gdGhpcyBUaGUgY29udGV4dFxuICogQHBhcmFtIHtzdHJpbmd9IHNOYW1lIFRoZSBpbm5lciBmdW5jdGlvbiBuYW1lXG4gKiBAcGFyYW0ge29iamVjdFtdfSBvQXJncyBUaGUgaW5uZXIgZnVuY3Rpb24gcGFyYW1ldGVyc1xuICogQHJldHVybnMge29iamVjdH0gVGhlIHZhbHVlIGZyb20gdGhlIGlubmVyIGZ1bmN0aW9uXG4gKi9cbmNvbnN0IHRhYmxlRm9ybWF0dGVyID0gZnVuY3Rpb24gKHRoaXM6IG9iamVjdCwgc05hbWU6IHN0cmluZywgLi4ub0FyZ3M6IGFueVtdKTogYW55IHtcblx0aWYgKHRhYmxlRm9ybWF0dGVyLmhhc093blByb3BlcnR5KHNOYW1lKSkge1xuXHRcdHJldHVybiAodGFibGVGb3JtYXR0ZXIgYXMgYW55KVtzTmFtZV0uYXBwbHkodGhpcywgb0FyZ3MpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBcIlwiO1xuXHR9XG59O1xuXG50YWJsZUZvcm1hdHRlci52YWxpZGF0ZUNyZWF0aW9uUm93RmllbGRzID0gdmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcztcbnRhYmxlRm9ybWF0dGVyLnJvd0hpZ2hsaWdodGluZyA9IHJvd0hpZ2hsaWdodGluZztcbnRhYmxlRm9ybWF0dGVyLm5hdmlnYXRlZFJvdyA9IG5hdmlnYXRlZFJvdztcbnRhYmxlRm9ybWF0dGVyLmdldEVycm9yU3RhdHVzVGV4dFZpc2liaWxpdHlGb3JtYXR0ZXIgPSBnZXRFcnJvclN0YXR1c1RleHRWaXNpYmlsaXR5Rm9ybWF0dGVyO1xudGFibGVGb3JtYXR0ZXIuZ2V0VkJveFZpc2liaWxpdHkgPSBnZXRWQm94VmlzaWJpbGl0eTtcbnRhYmxlRm9ybWF0dGVyLmlzUmF0aW5nSW5kaWNhdG9yID0gaXNSYXRpbmdJbmRpY2F0b3I7IC8vIGZvciB1bml0IHRlc3RzXG5cbi8qKlxuICogQGdsb2JhbFxuICovXG5leHBvcnQgZGVmYXVsdCB0YWJsZUZvcm1hdHRlcjtcbiJdfQ==
246
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlRm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbImdldE1lc3NhZ2V0eXBlT3JkZXIiLCJtZXNzYWdlVHlwZSIsInZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHMiLCJmaWVsZFZhbGlkaXR5T2JqZWN0IiwiZmllbGRLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImV2ZXJ5Iiwia2V5IiwiX19mdW5jdGlvbk5hbWUiLCJnZXRFcnJvclN0YXR1c1RleHRWaXNpYmlsaXR5Rm9ybWF0dGVyIiwic2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciIsImFGaWx0ZXJlZE1lc3NhZ2VzIiwiYlN0YXR1c1Zpc2liaWxpdHkiLCJhU2VtYW50aWNLZXlDb2x1bW5zIiwiZ2V0UGFyZW50IiwiZ2V0QWdncmVnYXRpb24iLCJzQ29sdW1uUHJvcGVydHkiLCJnZXRCaW5kaW5nIiwiZ2V0UGF0aCIsInNDdXJyZW50Q29udGV4dFBhdGgiLCJnZXRCaW5kaW5nQ29udGV4dCIsInVuZGVmaW5lZCIsImZvckVhY2giLCJvTWVzc2FnZSIsInR5cGUiLCJhVGFyZ2V0cyIsImluZGV4T2YiLCJyb3dIaWdobGlnaHRpbmciLCJjcml0aWNhbGl0eVZhbHVlIiwiaGFzQWN0aXZlRW50aXR5IiwiaXNBY3RpdmVFbnRpdHkiLCJpc0RyYWZ0Um9vdCIsImlzTmV3T2JqZWN0IiwiaUhpZ2hlc3RDcml0aWNhbGl0eVZhbHVlIiwiTWVzc2FnZVR5cGUiLCJFcnJvciIsIldhcm5pbmciLCJTdWNjZXNzIiwiSW5mb3JtYXRpb24iLCJOb25lIiwibmF2aWdhdGVkUm93Iiwic0RlZXBlc3RQYXRoIiwic1BhdGgiLCJpc1JhdGluZ0luZGljYXRvciIsIm9Db250cm9sIiwiaXNBIiwidkNvbnRlbnREaXNwbGF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZ2V0Q29udGVudERpc3BsYXkiLCJfdXBkYXRlU3R5bGVDbGFzc0ZvclJhdGluZ0luZGljYXRvciIsIm9GaWVsZFdyYXBwZXIiLCJiTGFzdCIsInZDb250ZW50RWRpdCIsImdldENvbnRlbnRFZGl0IiwiYWRkU3R5bGVDbGFzcyIsInJlbW92ZVN0eWxlQ2xhc3MiLCJnZXRWQm94VmlzaWJpbGl0eSIsImFJdGVtcyIsImdldEl0ZW1zIiwiYkxhc3RFbGVtZW50Rm91bmQiLCJhcmdzIiwiaW5kZXgiLCJ0YWJsZUZvcm1hdHRlciIsInNOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJvQXJncyIsImFwcGx5Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFFQSxNQUFNQSxtQkFBbUIsR0FBRyxVQUFVQyxXQUFWLEVBQXVDO0FBQ2xFLFlBQVFBLFdBQVI7QUFDQyxXQUFLLE9BQUw7QUFDQyxlQUFPLENBQVA7O0FBQ0QsV0FBSyxTQUFMO0FBQ0MsZUFBTyxDQUFQOztBQUNELFdBQUssYUFBTDtBQUNDLGVBQU8sQ0FBUDs7QUFDRCxXQUFLLE1BQUw7QUFDQyxlQUFPLENBQVA7O0FBQ0Q7QUFDQyxlQUFPLENBQUMsQ0FBUjtBQVZGO0FBWUEsR0FiRDtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLE1BQU1DLHlCQUF5QixHQUFHLFVBQVVDLG1CQUFWLEVBQXFDO0FBQ3RFLFFBQUksQ0FBQ0EsbUJBQUwsRUFBMEI7QUFDekIsYUFBTyxLQUFQO0FBQ0E7O0FBQ0QsUUFBTUMsU0FBUyxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWUgsbUJBQVosQ0FBbEI7QUFDQSxXQUNDQyxTQUFTLENBQUNHLE1BQVYsR0FBbUIsQ0FBbkIsSUFDQUgsU0FBUyxDQUFDSSxLQUFWLENBQWdCLFVBQVVDLEdBQVYsRUFBZTtBQUM5QixhQUFPTixtQkFBbUIsQ0FBQ00sR0FBRCxDQUFuQixDQUF5QixVQUF6QixDQUFQO0FBQ0EsS0FGRCxDQUZEO0FBTUEsR0FYRDs7QUFZQVAsRUFBQUEseUJBQXlCLENBQUNRLGNBQTFCLEdBQTJDLGlFQUEzQztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxNQUFNQyxxQ0FBcUMsR0FB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LENBQUNwQyxlQUFmLEdBQWlDQSxlQUFqQztBQUNBb0MsRUFBQUEsY0FBYyxDQUFDdkIsWUFBZixHQUE4QkEsWUFBOUI7QUFDQXVCLEVBQUFBLGNBQWMsQ0FBQ3RELHFDQUFmLEdBQXVEQSxxQ0FBdkQ7QUFDQXNELEVBQUFBLGNBQWMsQ0FBQ04saUJBQWYsR0FBbUNBLGlCQUFuQztBQUNBTSxFQUFBQSxjQUFjLENBQUNwQixpQkFBZixHQUFtQ0EsaUJBQW5DLEMsQ0FBc0Q7O0FBRXREO0FBQ0E7QUFDQTs7U0FDZW9CLGMiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2Zvcm1hdHRlcnMvVGFibGVGb3JtYXR0ZXJUeXBlc1wiO1xuaW1wb3J0IHR5cGUgVGFibGUgZnJvbSBcInNhcC9tL1RhYmxlXCI7XG5pbXBvcnQgdHlwZSBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5cbmNvbnN0IGdldE1lc3NhZ2V0eXBlT3JkZXIgPSBmdW5jdGlvbiAobWVzc2FnZVR5cGU6IHN0cmluZyk6IG51bWJlciB7XG5cdHN3aXRjaCAobWVzc2FnZVR5cGUpIHtcblx0XHRjYXNlIFwiRXJyb3JcIjpcblx0XHRcdHJldHVybiA0O1xuXHRcdGNhc2UgXCJXYXJuaW5nXCI6XG5cdFx0XHRyZXR1cm4gMztcblx0XHRjYXNlIFwiSW5mb3JtYXRpb25cIjpcblx0XHRcdHJldHVybiAyO1xuXHRcdGNhc2UgXCJOb25lXCI6XG5cdFx0XHRyZXR1cm4gMTtcblx0XHRkZWZhdWx0OlxuXHRcdFx0cmV0dXJuIC0xO1xuXHR9XG59O1xuXG4vKipcbiAqIEdldHMgdGhlIHZhbGlkaXR5IG9mIGNyZWF0aW9uIHJvdyBmaWVsZHMuXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAbmFtZSB2YWxpZGF0ZUNyZWF0aW9uUm93RmllbGRzXG4gKiBAcGFyYW0gZmllbGRWYWxpZGl0eU9iamVjdCBPYmplY3QgaG9sZGluZyB0aGUgZmllbGRzXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgYWxsIHRoZSBmaWVsZHMgaW4gdGhlIGNyZWF0aW9uIHJvdyBhcmUgdmFsaWQsIGBmYWxzZWAgb3RoZXJ3aXNlXG4gKi9cbmNvbnN0IHZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHMgPSBmdW5jdGlvbiAoZmllbGRWYWxpZGl0eU9iamVjdD86IGFueSkge1xuXHRpZiAoIWZpZWxkVmFsaWRpdHlPYmplY3QpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0Y29uc3QgZmllbGRLZXlzID0gT2JqZWN0LmtleXMoZmllbGRWYWxpZGl0eU9iamVjdCk7XG5cdHJldHVybiAoXG5cdFx0ZmllbGRLZXlzLmxlbmd0aCA+IDAgJiZcblx0XHRmaWVsZEtleXMuZXZlcnkoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0cmV0dXJuIGZpZWxkVmFsaWRpdHlPYmplY3Rba2V5XVtcInZhbGlkaXR5XCJdO1xuXHRcdH0pXG5cdCk7XG59O1xudmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciN2YWxpZGF0ZUNyZWF0aW9uUm93RmllbGRzXCI7XG5cbi8qKlxuICogQHBhcmFtIHRoaXMgVGhlIGNvbnRleHQuXG4gKiBAcGFyYW0gc2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciBUaGUgZHJhZnQgaW5kaWNhdG9yIHByb3BlcnR5IG5hbWUuXG4gKiBAcGFyYW0gYUZpbHRlcmVkTWVzc2FnZXMgQXJyYXkgb2YgbWVzc2FnZXMuXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgZm9yIE9iamVjdCBTdGF0dXMgdmlzaWJpbGl0eSBwcm9wZXJ0eS5cbiAqL1xuY29uc3QgZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlciA9IGZ1bmN0aW9uIChcblx0dGhpczogTWFuYWdlZE9iamVjdCB8IGFueSxcblx0c2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvcjogc3RyaW5nLFxuXHRhRmlsdGVyZWRNZXNzYWdlczogYW55XG4pIHtcblx0bGV0IGJTdGF0dXNWaXNpYmlsaXR5ID0gZmFsc2U7XG5cdGNvbnN0IGFTZW1hbnRpY0tleUNvbHVtbnMgPSB0aGlzLmdldFBhcmVudCgpLmdldEFnZ3JlZ2F0aW9uKFwiaXRlbXNcIik7XG5cdGNvbnN0IHNDb2x1bW5Qcm9wZXJ0eSA9IGFTZW1hbnRpY0tleUNvbHVtbnNbMF0hLmdldEJpbmRpbmcoXCJ0aXRsZVwiKT8uZ2V0UGF0aCgpO1xuXHRpZiAoYUZpbHRlcmVkTWVzc2FnZXMgJiYgYUZpbHRlcmVkTWVzc2FnZXMubGVuZ3RoID4gMCAmJiBzQ29sdW1uUHJvcGVydHkgPT09IHNlbWFudGljS2V5SGFzRHJhZnRJbmRpY2F0b3IpIHtcblx0XHRjb25zdCBzQ3VycmVudENvbnRleHRQYXRoID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpID8gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpLmdldFBhdGgoKSA6IHVuZGVmaW5lZDtcblx0XHRhRmlsdGVyZWRNZXNzYWdlcy5mb3JFYWNoKChvTWVzc2FnZTogYW55KSA9PiB7XG5cdFx0XHRpZiAob01lc3NhZ2UudHlwZSA9PT0gXCJFcnJvclwiICYmIG9NZXNzYWdlLmFUYXJnZXRzWzBdLmluZGV4T2Yoc0N1cnJlbnRDb250ZXh0UGF0aCkgPT09IDApIHtcblx0XHRcdFx0YlN0YXR1c1Zpc2liaWxpdHkgPSB0cnVlO1xuXHRcdFx0XHRyZXR1cm4gYlN0YXR1c1Zpc2liaWxpdHk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGJTdGF0dXNWaXNpYmlsaXR5O1xufTtcbmdldEVycm9yU3RhdHVzVGV4dFZpc2liaWxpdHlGb3JtYXR0ZXIuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVGFibGVGb3JtYXR0ZXIjZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlclwiO1xuXG4vKipcbiAqIHJvd0hpZ2hsaWdodGluZ1xuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSB0aGlzIFRoZSBjb250ZXh0XG4gKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IENyaXRpY2FsaXR5VmFsdWUgVGhlIGNyaXRpY2FsaXR5IHZhbHVlXG4gKiBAcGFyYW0ge251bWJlcn0gbWVzc2FnZUxhc3RVcGRhdGUgVGltZXN0YW1wIG9mIHRoZSBsYXN0IG1lc3NhZ2UgdGhhdCB3YXMgY3JlYXRlZC4gSXQncyBkZWZpbmVkIGFzIGFuIGlucHV0IHZhbHVlLCBidXQgbm90IHVzZWQgaW4gdGhlIGJvZHkgb2YgdGhlIGZ1bmN0aW9uXG4gKiBJdCBpcyB1c2VkIHRvIHJlZnJlc2ggdGhlIGZvcm1hdHRpbmcgb2YgdGhlIHRhYmxlIGVhY2ggdGltZSBhIG5ldyBtZXNzYWdlIGlzIHVwZGF0ZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9IFRoZSB2YWx1ZSBmcm9tIHRoZSBpbm5lciBmdW5jdGlvblxuICovXG5cbmNvbnN0IHJvd0hpZ2hsaWdodGluZyA9IGZ1bmN0aW9uIChcblx0dGhpczogTWFuYWdlZE9iamVjdCxcblx0Y3JpdGljYWxpdHlWYWx1ZTogc3RyaW5nIHwgbnVtYmVyLFxuXHRhRmlsdGVyZWRNZXNzYWdlczogYW55W10sXG5cdGhhc0FjdGl2ZUVudGl0eTogYm9vbGVhbixcblx0aXNBY3RpdmVFbnRpdHk6IGJvb2xlYW4sXG5cdGlzRHJhZnRSb290OiBzdHJpbmcsXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0Li4uYXJnczogYW55W11cbik6IE1lc3NhZ2VUeXBlIHtcblx0Y29uc3QgaXNOZXdPYmplY3QgPSAhaGFzQWN0aXZlRW50aXR5ICYmICFpc0FjdGl2ZUVudGl0eTtcblx0bGV0IGlIaWdoZXN0Q3JpdGljYWxpdHlWYWx1ZTogbnVtYmVyID0gLTE7XG5cdGlmIChhRmlsdGVyZWRNZXNzYWdlcyAmJiBhRmlsdGVyZWRNZXNzYWdlcy5sZW5ndGggPiAwKSB7XG5cdFx0Y29uc3Qgc0N1cnJlbnRDb250ZXh0UGF0aCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKT8uZ2V0UGF0aCgpO1xuXHRcdGFGaWx0ZXJlZE1lc3NhZ2VzLmZvckVhY2goKG9NZXNzYWdlOiBhbnkpID0+IHtcblx0XHRcdGlmIChvTWVzc2FnZS5hVGFyZ2V0c1swXS5pbmRleE9mKHNDdXJyZW50Q29udGV4dFBhdGgpID09PSAwICYmIGlIaWdoZXN0Q3JpdGljYWxpdHlWYWx1ZSA8IGdldE1lc3NhZ2V0eXBlT3JkZXIob01lc3NhZ2UudHlwZSkpIHtcblx0XHRcdFx0aUhpZ2hlc3RDcml0aWNhbGl0eVZhbHVlID0gZ2V0TWVzc2FnZXR5cGVPcmRlcihvTWVzc2FnZS50eXBlKTtcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IG9NZXNzYWdlLnR5cGU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0aWYgKHR5cGVvZiBjcml0aWNhbGl0eVZhbHVlICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0c3dpdGNoIChjcml0aWNhbGl0eVZhbHVlKSB7XG5cdFx0XHRjYXNlIDE6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5FcnJvcjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIDI6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5XYXJuaW5nO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgMzpcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IE1lc3NhZ2VUeXBlLlN1Y2Nlc3M7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSA1OlxuXHRcdFx0XHRjcml0aWNhbGl0eVZhbHVlID0gTWVzc2FnZVR5cGUuSW5mb3JtYXRpb247XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IE1lc3NhZ2VUeXBlLk5vbmU7XG5cdFx0fVxuXHR9XG5cblx0aWYgKGNyaXRpY2FsaXR5VmFsdWUgPT09IE1lc3NhZ2VUeXBlLk5vbmUpIHtcblx0XHRpZiAoaXNEcmFmdFJvb3QgPT09IFwidHJ1ZVwiICYmIGlzTmV3T2JqZWN0KSB7XG5cdFx0XHRyZXR1cm4gTWVzc2FnZVR5cGUuSW5mb3JtYXRpb247XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBNZXNzYWdlVHlwZS5Ob25lO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gY3JpdGljYWxpdHlWYWx1ZSBhcyBNZXNzYWdlVHlwZTtcblx0fVxufTtcbnJvd0hpZ2hsaWdodGluZy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciNyb3dIaWdobGlnaHRpbmdcIjtcblxuY29uc3QgbmF2aWdhdGVkUm93ID0gZnVuY3Rpb24gKHRoaXM6IE1hbmFnZWRPYmplY3QsIHNEZWVwZXN0UGF0aDogc3RyaW5nKSB7XG5cdGNvbnN0IHNQYXRoID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpPy5nZXRQYXRoKCk7XG5cdGlmIChzUGF0aCAmJiBzRGVlcGVzdFBhdGgpIHtcblx0XHRyZXR1cm4gc0RlZXBlc3RQYXRoLmluZGV4T2Yoc1BhdGgpID09PSAwO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxufTtcbm5hdmlnYXRlZFJvdy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciNuYXZpZ2F0ZWRSb3dcIjtcblxuZnVuY3Rpb24gaXNSYXRpbmdJbmRpY2F0b3Iob0NvbnRyb2w6IGFueSk6IGJvb2xlYW4ge1xuXHRpZiAob0NvbnRyb2wuaXNBKFwic2FwLmZlLmNvcmUuY29udHJvbHMuRmllbGRXcmFwcGVyXCIpKSB7XG5cdFx0Y29uc3QgdkNvbnRlbnREaXNwbGF5ID0gQXJyYXkuaXNBcnJheShvQ29udHJvbC5nZXRDb250ZW50RGlzcGxheSgpKVxuXHRcdFx0PyBvQ29udHJvbC5nZXRDb250ZW50RGlzcGxheSgpWzBdXG5cdFx0XHQ6IG9Db250cm9sLmdldENvbnRlbnREaXNwbGF5KCk7XG5cdFx0aWYgKHZDb250ZW50RGlzcGxheSAmJiB2Q29udGVudERpc3BsYXkuaXNBKFwic2FwLm0uUmF0aW5nSW5kaWNhdG9yXCIpKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gX3VwZGF0ZVN0eWxlQ2xhc3NGb3JSYXRpbmdJbmRpY2F0b3Iob0ZpZWxkV3JhcHBlcjogYW55LCBiTGFzdDogYm9vbGVhbikge1xuXHRjb25zdCB2Q29udGVudERpc3BsYXkgPSBBcnJheS5pc0FycmF5KG9GaWVsZFdyYXBwZXIuZ2V0Q29udGVudERpc3BsYXkoKSlcblx0XHQ/IG9GaWVsZFdyYXBwZXIuZ2V0Q29udGVudERpc3BsYXkoKVswXVxuXHRcdDogb0ZpZWxkV3JhcHBlci5nZXRDb250ZW50RGlzcGxheSgpO1xuXHRjb25zdCB2Q29udGVudEVkaXQgPSBBcnJheS5pc0FycmF5KG9GaWVsZFdyYXBwZXIuZ2V0Q29udGVudEVkaXQoKSkgPyBvRmllbGRXcmFwcGVyLmdldENvbnRlbnRFZGl0KClbMF0gOiBvRmllbGRXcmFwcGVyLmdldENvbnRlbnRFZGl0KCk7XG5cblx0aWYgKGJMYXN0KSB7XG5cdFx0dkNvbnRlbnREaXNwbGF5LmFkZFN0eWxlQ2xhc3MoXCJzYXBVaU5vTWFyZ2luQm90dG9tXCIpO1xuXHRcdHZDb250ZW50RGlzcGxheS5hZGRTdHlsZUNsYXNzKFwic2FwVWlOb01hcmdpblRvcFwiKTtcblx0XHR2Q29udGVudEVkaXQucmVtb3ZlU3R5bGVDbGFzcyhcInNhcFVpVGlueU1hcmdpbkJvdHRvbVwiKTtcblx0fSBlbHNlIHtcblx0XHR2Q29udGVudERpc3BsYXkuYWRkU3R5bGVDbGFzcyhcInNhcFVpTm9NYXJnaW5Cb3R0b21cIik7XG5cdFx0dkNvbnRlbnREaXNwbGF5LnJlbW92ZVN0eWxlQ2xhc3MoXCJzYXBVaU5vTWFyZ2luVG9wXCIpO1xuXHRcdHZDb250ZW50RWRpdC5hZGRTdHlsZUNsYXNzKFwic2FwVWlUaW55TWFyZ2luQm90dG9tXCIpO1xuXHR9XG59XG5mdW5jdGlvbiBnZXRWQm94VmlzaWJpbGl0eSh0aGlzOiBUYWJsZSwgLi4uYXJnczogYW55W10pIHtcblx0Y29uc3QgYUl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuXHRsZXQgYkxhc3RFbGVtZW50Rm91bmQgPSBmYWxzZTtcblx0Zm9yIChsZXQgaW5kZXggPSBhSXRlbXMubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuXHRcdGlmICghYkxhc3RFbGVtZW50Rm91bmQpIHtcblx0XHRcdGlmIChhcmdzW2luZGV4XSAhPT0gdHJ1ZSkge1xuXHRcdFx0XHRiTGFzdEVsZW1lbnRGb3VuZCA9IHRydWU7XG5cdFx0XHRcdGlmIChpc1JhdGluZ0luZGljYXRvcihhSXRlbXNbaW5kZXhdKSkge1xuXHRcdFx0XHRcdF91cGRhdGVTdHlsZUNsYXNzRm9yUmF0aW5nSW5kaWNhdG9yKGFJdGVtc1tpbmRleF0sIHRydWUpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGFJdGVtc1tpbmRleF0ucmVtb3ZlU3R5bGVDbGFzcyhcInNhcFVpVGlueU1hcmdpbkJvdHRvbVwiKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoaXNSYXRpbmdJbmRpY2F0b3IoYUl0ZW1zW2luZGV4XSkpIHtcblx0XHRcdF91cGRhdGVTdHlsZUNsYXNzRm9yUmF0aW5nSW5kaWNhdG9yKGFJdGVtc1tpbmRleF0sIGZhbHNlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YUl0ZW1zW2luZGV4XS5hZGRTdHlsZUNsYXNzKFwic2FwVWlUaW55TWFyZ2luQm90dG9tXCIpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gdHJ1ZTtcbn1cbmdldFZCb3hWaXNpYmlsaXR5Ll9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlRhYmxlRm9ybWF0dGVyI2dldFZCb3hWaXNpYmlsaXR5XCI7XG5cbi8vIFNlZSBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay9mdW5jdGlvbnMuaHRtbCN0aGlzLXBhcmFtZXRlcnMgZm9yIG1vcmUgZGV0YWlsIG9uIHRoaXMgd2VpcmQgc3ludGF4XG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdGFibGUgZm9ybWF0dGVycy5cbiAqXG4gKiBAcGFyYW0gdGhpcyBUaGUgY29udGV4dFxuICogQHBhcmFtIHNOYW1lIFRoZSBpbm5lciBmdW5jdGlvbiBuYW1lXG4gKiBAcGFyYW0gb0FyZ3MgVGhlIGlubmVyIGZ1bmN0aW9uIHBhcmFtZXRlcnNcbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSBmcm9tIHRoZSBpbm5lciBmdW5jdGlvblxuICovXG5jb25zdCB0YWJsZUZvcm1hdHRlciA9IGZ1bmN0aW9uICh0aGlzOiBvYmplY3QsIHNOYW1lOiBzdHJpbmcsIC4uLm9BcmdzOiBhbnlbXSk6IGFueSB7XG5cdGlmICh0YWJsZUZvcm1hdHRlci5oYXNPd25Qcm9wZXJ0eShzTmFtZSkpIHtcblx0XHRyZXR1cm4gKHRhYmxlRm9ybWF0dGVyIGFzIGFueSlbc05hbWVdLmFwcGx5KHRoaXMsIG9BcmdzKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxufTtcblxudGFibGVGb3JtYXR0ZXIudmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcyA9IHZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHM7XG50YWJsZUZvcm1hdHRlci5yb3dIaWdobGlnaHRpbmcgPSByb3dIaWdobGlnaHRpbmc7XG50YWJsZUZvcm1hdHRlci5uYXZpZ2F0ZWRSb3cgPSBuYXZpZ2F0ZWRSb3c7XG50YWJsZUZvcm1hdHRlci5nZXRFcnJvclN0YXR1c1RleHRWaXNpYmlsaXR5Rm9ybWF0dGVyID0gZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlcjtcbnRhYmxlRm9ybWF0dGVyLmdldFZCb3hWaXNpYmlsaXR5ID0gZ2V0VkJveFZpc2liaWxpdHk7XG50YWJsZUZvcm1hdHRlci5pc1JhdGluZ0luZGljYXRvciA9IGlzUmF0aW5nSW5kaWNhdG9yOyAvLyBmb3IgdW5pdCB0ZXN0c1xuXG4vKipcbiAqIEBnbG9iYWxcbiAqL1xuZXhwb3J0IGRlZmF1bHQgdGFibGVGb3JtYXR0ZXI7XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { MessageType } from "sap/fe/core/formatters/TableFormatterTypes";
2
- import Table from "sap/m/Table";
3
- import ManagedObject from "sap/ui/base/ManagedObject";
2
+ import type Table from "sap/m/Table";
3
+ import type ManagedObject from "sap/ui/base/ManagedObject";
4
4
 
5
5
  const getMessagetypeOrder = function (messageType: string): number {
6
6
  switch (messageType) {
@@ -22,8 +22,8 @@ const getMessagetypeOrder = function (messageType: string): number {
22
22
  *
23
23
  * @function
24
24
  * @name validateCreationRowFields
25
- * @param {object} fieldValidityObject Object holding the fields
26
- * @returns {boolean} `true` if all the fields in the creation row are valid, `false` otherwise
25
+ * @param fieldValidityObject Object holding the fields
26
+ * @returns `true` if all the fields in the creation row are valid, `false` otherwise
27
27
  */
28
28
  const validateCreationRowFields = function (fieldValidityObject?: any) {
29
29
  if (!fieldValidityObject) {
@@ -40,10 +40,10 @@ const validateCreationRowFields = function (fieldValidityObject?: any) {
40
40
  validateCreationRowFields.__functionName = "sap.fe.core.formatters.TableFormatter#validateCreationRowFields";
41
41
 
42
42
  /**
43
- * @param {object} this The context.
44
- * @param {string} semanticKeyHasDraftIndicator The draft indicator property name.
45
- * @param {Array} aFilteredMessages Array of messages.
46
- * @returns {boolean} The value for Object Status visibility property.
43
+ * @param this The context.
44
+ * @param semanticKeyHasDraftIndicator The draft indicator property name.
45
+ * @param aFilteredMessages Array of messages.
46
+ * @returns The value for Object Status visibility property.
47
47
  */
48
48
  const getErrorStatusTextVisibilityFormatter = function (
49
49
  this: ManagedObject | any,
@@ -192,10 +192,10 @@ getVBoxVisibility.__functionName = "sap.fe.core.formatters.TableFormatter#getVBo
192
192
  /**
193
193
  * Collection of table formatters.
194
194
  *
195
- * @param {object} this The context
196
- * @param {string} sName The inner function name
197
- * @param {object[]} oArgs The inner function parameters
198
- * @returns {object} The value from the inner function
195
+ * @param this The context
196
+ * @param sName The inner function name
197
+ * @param oArgs The inner function parameters
198
+ * @returns The value from the inner function
199
199
  */
200
200
  const tableFormatter = function (this: object, sName: string, ...oArgs: any[]): any {
201
201
  if (tableFormatter.hasOwnProperty(sName)) {
@@ -10,10 +10,10 @@ sap.ui.define(["sap/ui/core/Core", "sap/ui/core/format/DateFormat"], function (C
10
10
  /**
11
11
  * Collection of table formatters.
12
12
  *
13
- * @param {object} this The context
14
- * @param {string} sName The inner function name
15
- * @param {object[]} oArgs The inner function parameters
16
- * @returns {object} The value from the inner function
13
+ * @param this The context
14
+ * @param sName The inner function name
15
+ * @param oArgs The inner function parameters
16
+ * @returns The value from the inner function
17
17
  */
18
18
  var valueFormatters = function (sName) {
19
19
  if (valueFormatters.hasOwnProperty(sName)) {
@@ -38,7 +38,7 @@ sap.ui.define(["sap/ui/core/Core", "sap/ui/core/format/DateFormat"], function (C
38
38
  formatWithBrackets.__functionName = "sap.fe.core.formatters.ValueFormatter#formatWithBrackets";
39
39
 
40
40
  var formatWithPercentage = function (sValue) {
41
- return sValue !== null && sValue !== undefined ? sValue + " %" : "";
41
+ return sValue !== null && sValue !== undefined ? "".concat(sValue, " %") : "";
42
42
  };
43
43
 
44
44
  formatWithPercentage.__functionName = "sap.fe.core.formatters.ValueFormatter#formatWithPercentage";
@@ -100,7 +100,7 @@ sap.ui.define(["sap/ui/core/Core", "sap/ui/core/format/DateFormat"], function (C
100
100
  } else if (val === "UI.CriticalityType/Positive" || val === "3" || val === 3) {
101
101
  sValueState = "Success";
102
102
  } else if (val === "UI.CriticalityType/Information" || val === "5" || val === 5) {
103
- sValueState = "Indication05";
103
+ sValueState = "Information";
104
104
  } else {
105
105
  sValueState = "None";
106
106
  }
@@ -152,7 +152,7 @@ sap.ui.define(["sap/ui/core/Core", "sap/ui/core/format/DateFormat"], function (C
152
152
  var _localeData$dateField, _localeData$units, _localeData$units$sho;
153
153
 
154
154
  var unitSplit = unit.split("-");
155
- var searchUnit = (unitSplit[1] === undefined ? unit : unitSplit[1]) + "-narrow";
155
+ var searchUnit = "".concat(unitSplit[1] === undefined ? unit : unitSplit[1], "-narrow");
156
156
  var dateFormat = DateFormat.getDateInstance();
157
157
  var localeData = dateFormat.oLocaleData.mData;
158
158
  var oResourceModel = Core.getLibraryResourceBundle("sap.fe.macros");
@@ -184,4 +184,4 @@ sap.ui.define(["sap/ui/core/Core", "sap/ui/core/format/DateFormat"], function (C
184
184
 
185
185
  return valueFormatters;
186
186
  }, true);
187
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZhbHVlRm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbInZhbHVlRm9ybWF0dGVycyIsInNOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJvQXJncyIsImFwcGx5IiwiZm9ybWF0V2l0aEJyYWNrZXRzIiwiZmlyc3RQYXJ0Iiwic2Vjb25kUGFydCIsIkNvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJnZXRUZXh0IiwiX19mdW5jdGlvbk5hbWUiLCJmb3JtYXRXaXRoUGVyY2VudGFnZSIsInNWYWx1ZSIsInVuZGVmaW5lZCIsImNvbXB1dGVQZXJjZW50YWdlIiwidmFsdWUiLCJ0YXJnZXQiLCJzVW5pdCIsInNQZXJjZW50U3RyaW5nIiwiaVZhbHVlIiwicGFyc2VGbG9hdCIsImlUYXJnZXQiLCJ0b1N0cmluZyIsImZvcm1hdENyaXRpY2FsaXR5SWNvbiIsInZhbCIsInNJY29uIiwiZm9ybWF0Q3JpdGljYWxpdHlWYWx1ZVN0YXRlIiwic1ZhbHVlU3RhdGUiLCJmb3JtYXRDcml0aWNhbGl0eUJ1dHRvblR5cGUiLCJzVHlwZSIsImZvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0Iiwic0NvbG9yIiwiZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0IiwidW5pdCIsInVuaXRTcGxpdCIsInNwbGl0Iiwic2VhcmNoVW5pdCIsImRhdGVGb3JtYXQiLCJEYXRlRm9ybWF0IiwiZ2V0RGF0ZUluc3RhbmNlIiwibG9jYWxlRGF0YSIsIm9Mb2NhbGVEYXRhIiwibURhdGEiLCJvUmVzb3VyY2VNb2RlbCIsInVuaXREaXNwbGF5ZWQiLCJkYXRlRmllbGRzIiwiZGlzcGxheU5hbWUiLCJ1bml0cyIsInNob3J0Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTUEsZUFBZSxHQUFHLFVBQXVCQyxLQUF2QixFQUE0RDtBQUNuRixRQUFJRCxlQUFlLENBQUNFLGNBQWhC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QkMsS0FBbkIsQ0FBeUJmLElBQXpCLENBQUosa0RBQUksc0JBQWdDYSxXQUFwQyxFQUFpRDtBQUN2REYsUUFBQUEsYUFBYSxHQUFHSixVQUFVLENBQUNPLEtBQVgsQ0FBaUJDLEtBQWpCLENBQXVCZixJQUF2QixFQUE2QmEsV0FBN0M7QUFDQTs7QUFFRCxhQUFPSCxjQUFjLENBQUNsQyxPQUFmLENBQXVCLG9EQUF2QixFQUE2RSxDQUFDTSxLQUFELEVBQVFDLE1BQVIsRUFBZ0I0QixhQUFoQixDQUE3RSxDQUFQO0FBQ0E7QUFDRCxHQWhCTTs7QUFpQlBaLEVBQUFBLDJCQUEyQixDQUFDdEIsY0FBNUIsR0FBNkMsbUVBQTdDOztBQUVBWCxFQUFBQSxlQUFlLENBQUNLLGtCQUFoQixHQUFxQ0Esa0JBQXJDO0FBQ0FMLEVBQUFBLGVBQWUsQ0FBQ1ksb0JBQWhCLEdBQXVDQSxvQkFBdkM7QUFDQVosRUFBQUEsZUFBZSxDQUFDZSxpQkFBaEIsR0FBb0NBLGlCQUFwQztBQUNBZixFQUFBQSxlQUFlLENBQUN3QixxQkFBaEIsR0FBd0NBLHFCQUF4QztBQUNBeEIsRUFBQUEsZUFBZSxDQUFDMkIsMkJBQWhCLEdBQThDQSwyQkFBOUM7QUFDQTNCLEVBQUFBLGVBQWUsQ0FBQzZCLDJCQUFoQixHQUE4Q0EsMkJBQTlDO0FBQ0E3QixFQUFBQSxlQUFlLENBQUMrQixnQ0FBaEIsR0FBbURBLGdDQUFuRDtBQUNBL0IsRUFBQUEsZUFBZSxDQUFDaUMsMkJBQWhCLEdBQThDQSwyQkFBOUM7QUFDQTtBQUNBO0FBQ0E7O1NBQ2VqQyxlIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29yZSBmcm9tIFwic2FwL3VpL2NvcmUvQ29yZVwiO1xuaW1wb3J0IERhdGVGb3JtYXQgZnJvbSBcInNhcC91aS9jb3JlL2Zvcm1hdC9EYXRlRm9ybWF0XCI7XG5pbXBvcnQgeyBDb3JlRXggfSBmcm9tIFwidHlwZXMvZXh0ZW5zaW9uX3R5cGVzXCI7XG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdGFibGUgZm9ybWF0dGVycy5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gdGhpcyBUaGUgY29udGV4dFxuICogQHBhcmFtIHtzdHJpbmd9IHNOYW1lIFRoZSBpbm5lciBmdW5jdGlvbiBuYW1lXG4gKiBAcGFyYW0ge29iamVjdFtdfSBvQXJncyBUaGUgaW5uZXIgZnVuY3Rpb24gcGFyYW1ldGVyc1xuICogQHJldHVybnMge29iamVjdH0gVGhlIHZhbHVlIGZyb20gdGhlIGlubmVyIGZ1bmN0aW9uXG4gKi9cbmNvbnN0IHZhbHVlRm9ybWF0dGVycyA9IGZ1bmN0aW9uKHRoaXM6IG9iamVjdCwgc05hbWU6IHN0cmluZywgLi4ub0FyZ3M6IGFueVtdKTogYW55IHtcblx0aWYgKHZhbHVlRm9ybWF0dGVycy5oYXNPd25Qcm9wZXJ0eShzTmFtZSkpIHtcblx0XHRyZXR1cm4gKHZhbHVlRm9ybWF0dGVycyBhcyBhbnkpW3NOYW1lXS5hcHBseSh0aGlzLCBvQXJncyk7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIFwiXCI7XG5cdH1cbn07XG5cbmNvbnN0IGZvcm1hdFdpdGhCcmFja2V0cyA9IChmaXJzdFBhcnQ/OiBzdHJpbmcsIHNlY29uZFBhcnQ/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuXHRpZiAoZmlyc3RQYXJ0ICYmIHNlY29uZFBhcnQpIHtcblx0XHRyZXR1cm4gKENvcmUgYXMgQ29yZUV4KS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUuY29yZVwiKS5nZXRUZXh0KFwiQ19GT1JNQVRfRk9SX1RFWFRfQVJSQU5HRU1FTlRcIiwgW2ZpcnN0UGFydCwgc2Vjb25kUGFydF0pO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBmaXJzdFBhcnQgfHwgc2Vjb25kUGFydCB8fCBcIlwiO1xuXHR9XG59O1xuZm9ybWF0V2l0aEJyYWNrZXRzLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdFdpdGhCcmFja2V0c1wiO1xuXG5jb25zdCBmb3JtYXRXaXRoUGVyY2VudGFnZSA9IChzVmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuXHRyZXR1cm4gc1ZhbHVlICE9PSBudWxsICYmIHNWYWx1ZSAhPT0gdW5kZWZpbmVkID8gc1ZhbHVlICsgXCIgJVwiIDogXCJcIjtcbn07XG5mb3JtYXRXaXRoUGVyY2VudGFnZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRXaXRoUGVyY2VudGFnZVwiO1xuXG5jb25zdCBjb21wdXRlUGVyY2VudGFnZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLCB0YXJnZXQ6IHN0cmluZyB8IG51bWJlciwgc1VuaXQ/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRsZXQgc1BlcmNlbnRTdHJpbmc6IHN0cmluZztcblx0Y29uc3QgaVZhbHVlOiBudW1iZXIgPSB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgPyBwYXJzZUZsb2F0KHZhbHVlKSA6IHZhbHVlO1xuXHRjb25zdCBpVGFyZ2V0OiBudW1iZXIgPSB0eXBlb2YgdGFyZ2V0ID09PSBcInN0cmluZ1wiID8gcGFyc2VGbG9hdCh0YXJnZXQpIDogdGFyZ2V0O1xuXG5cdGlmIChzVW5pdCA9PT0gXCIlXCIpIHtcblx0XHRpZiAoaVZhbHVlID4gMTAwKSB7XG5cdFx0XHRzUGVyY2VudFN0cmluZyA9IFwiMTAwXCI7XG5cdFx0fSBlbHNlIGlmIChpVmFsdWUgPD0gMCkge1xuXHRcdFx0c1BlcmNlbnRTdHJpbmcgPSBcIjBcIjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c1BlcmNlbnRTdHJpbmcgPSB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgPyB2YWx1ZSA6IHZhbHVlPy50b1N0cmluZygpO1xuXHRcdH1cblx0fSBlbHNlIGlmIChpVmFsdWUgPiBpVGFyZ2V0KSB7XG5cdFx0c1BlcmNlbnRTdHJpbmcgPSBcIjEwMFwiO1xuXHR9IGVsc2UgaWYgKGlWYWx1ZSA8PSAwKSB7XG5cdFx0c1BlcmNlbnRTdHJpbmcgPSBcIjBcIjtcblx0fSBlbHNlIHtcblx0XHRzUGVyY2VudFN0cmluZyA9IGlWYWx1ZSAmJiBpVGFyZ2V0ID8gKChpVmFsdWUgLyBpVGFyZ2V0KSAqIDEwMCkudG9TdHJpbmcoKSA6IFwiMFwiO1xuXHR9XG5cdHJldHVybiBzUGVyY2VudFN0cmluZztcbn07XG5jb21wdXRlUGVyY2VudGFnZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNjb21wdXRlUGVyY2VudGFnZVwiO1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Q3JpdGljYWxpdHlJY29uID0gKHZhbD86IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGxldCBzSWNvbjogc3RyaW5nO1xuXHRpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9OZWdhdGl2ZVwiIHx8IHZhbCA9PT0gXCIxXCIgfHwgdmFsID09PSAxKSB7XG5cdFx0c0ljb24gPSBcInNhcC1pY29uOi8vbWVzc2FnZS1lcnJvclwiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvQ3JpdGljYWxcIiB8fCB2YWwgPT09IFwiMlwiIHx8IHZhbCA9PT0gMikge1xuXHRcdHNJY29uID0gXCJzYXAtaWNvbjovL21lc3NhZ2Utd2FybmluZ1wiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvUG9zaXRpdmVcIiB8fCB2YWwgPT09IFwiM1wiIHx8IHZhbCA9PT0gMykge1xuXHRcdHNJY29uID0gXCJzYXAtaWNvbjovL21lc3NhZ2Utc3VjY2Vzc1wiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvSW5mb3JtYXRpb25cIiB8fCB2YWwgPT09IFwiNVwiIHx8IHZhbCA9PT0gNSkge1xuXHRcdHNJY29uID0gXCJzYXAtaWNvbjovL21lc3NhZ2UtaW5mb3JtYXRpb25cIjtcblx0fSBlbHNlIHtcblx0XHRzSWNvbiA9IFwiXCI7XG5cdH1cblx0cmV0dXJuIHNJY29uO1xufTtcbmZvcm1hdENyaXRpY2FsaXR5SWNvbi5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRDcml0aWNhbGl0eUljb25cIjtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdENyaXRpY2FsaXR5VmFsdWVTdGF0ZSA9ICh2YWw/OiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRsZXQgc1ZhbHVlU3RhdGU6IHN0cmluZztcblx0aWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvTmVnYXRpdmVcIiB8fCB2YWwgPT09IFwiMVwiIHx8IHZhbCA9PT0gMSkge1xuXHRcdHNWYWx1ZVN0YXRlID0gXCJFcnJvclwiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvQ3JpdGljYWxcIiB8fCB2YWwgPT09IFwiMlwiIHx8IHZhbCA9PT0gMikge1xuXHRcdHNWYWx1ZVN0YXRlID0gXCJXYXJuaW5nXCI7XG5cdH0gZWxzZSBpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9Qb3NpdGl2ZVwiIHx8IHZhbCA9PT0gXCIzXCIgfHwgdmFsID09PSAzKSB7XG5cdFx0c1ZhbHVlU3RhdGUgPSBcIlN1Y2Nlc3NcIjtcblx0fSBlbHNlIGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL0luZm9ybWF0aW9uXCIgfHwgdmFsID09PSBcIjVcIiB8fCB2YWwgPT09IDUpIHtcblx0XHRzVmFsdWVTdGF0ZSA9IFwiSW5kaWNhdGlvbjA1XCI7XG5cdH0gZWxzZSB7XG5cdFx0c1ZhbHVlU3RhdGUgPSBcIk5vbmVcIjtcblx0fVxuXHRyZXR1cm4gc1ZhbHVlU3RhdGU7XG59O1xuZm9ybWF0Q3JpdGljYWxpdHlWYWx1ZVN0YXRlLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdENyaXRpY2FsaXR5VmFsdWVTdGF0ZVwiO1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Q3JpdGljYWxpdHlCdXR0b25UeXBlID0gKHZhbD86IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGxldCBzVHlwZTogc3RyaW5nO1xuXHRpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9OZWdhdGl2ZVwiIHx8IHZhbCA9PT0gXCIxXCIgfHwgdmFsID09PSAxKSB7XG5cdFx0c1R5cGUgPSBcIlJlamVjdFwiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvUG9zaXRpdmVcIiB8fCB2YWwgPT09IFwiM1wiIHx8IHZhbCA9PT0gMykge1xuXHRcdHNUeXBlID0gXCJBY2NlcHRcIjtcblx0fSBlbHNlIHtcblx0XHRzVHlwZSA9IFwiRGVmYXVsdFwiO1xuXHR9XG5cdHJldHVybiBzVHlwZTtcbn07XG5mb3JtYXRDcml0aWNhbGl0eUJ1dHRvblR5cGUuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVmFsdWVGb3JtYXR0ZXIjZm9ybWF0Q3JpdGljYWxpdHlCdXR0b25UeXBlXCI7XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRDcml0aWNhbGl0eUNvbG9yTWljcm9DaGFydCA9ICh2YWw/OiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRsZXQgc0NvbG9yOiBzdHJpbmc7XG5cdGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL05lZ2F0aXZlXCIgfHwgdmFsID09PSBcIjFcIiB8fCB2YWwgPT09IDEpIHtcblx0XHRzQ29sb3IgPSBcIkVycm9yXCI7XG5cdH0gZWxzZSBpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9Dcml0aWNhbFwiIHx8IHZhbCA9PT0gXCIyXCIgfHwgdmFsID09PSAyKSB7XG5cdFx0c0NvbG9yID0gXCJDcml0aWNhbFwiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvUG9zaXRpdmVcIiB8fCB2YWwgPT09IFwiM1wiIHx8IHZhbCA9PT0gMykge1xuXHRcdHNDb2xvciA9IFwiR29vZFwiO1xuXHR9IGVsc2Uge1xuXHRcdHNDb2xvciA9IFwiTmV1dHJhbFwiO1xuXHR9XG5cdHJldHVybiBzQ29sb3I7XG59O1xuZm9ybWF0Q3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnQuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVmFsdWVGb3JtYXR0ZXIjZm9ybWF0Q3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnRcIjtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFByb2dyZXNzSW5kaWNhdG9yVGV4dCA9ICh2YWx1ZTogYW55LCB0YXJnZXQ6IGFueSwgdW5pdDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKHZhbHVlICYmIHRhcmdldCAmJiB1bml0KSB7XG5cdFx0Y29uc3QgdW5pdFNwbGl0ID0gdW5pdC5zcGxpdChcIi1cIik7XG5cdFx0Y29uc3Qgc2VhcmNoVW5pdCA9ICh1bml0U3BsaXRbMV0gPT09IHVuZGVmaW5lZCA/IHVuaXQgOiB1bml0U3BsaXRbMV0pICsgXCItbmFycm93XCI7XG5cdFx0Y29uc3QgZGF0ZUZvcm1hdCA9IERhdGVGb3JtYXQuZ2V0RGF0ZUluc3RhbmNlKCkgYXMgYW55O1xuXHRcdGNvbnN0IGxvY2FsZURhdGEgPSBkYXRlRm9ybWF0Lm9Mb2NhbGVEYXRhLm1EYXRhO1xuXHRcdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gKENvcmUgYXMgQ29yZUV4KS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUubWFjcm9zXCIpO1xuXHRcdGxldCB1bml0RGlzcGxheWVkID0gdW5pdDtcblx0XHRpZiAobG9jYWxlRGF0YT8uZGF0ZUZpZWxkc1tzZWFyY2hVbml0XT8uZGlzcGxheU5hbWUpIHtcblx0XHRcdHVuaXREaXNwbGF5ZWQgPSBsb2NhbGVEYXRhLmRhdGVGaWVsZHNbc2VhcmNoVW5pdF0uZGlzcGxheU5hbWU7XG5cdFx0fSBlbHNlIGlmIChsb2NhbGVEYXRhPy51bml0cz8uc2hvcnRbdW5pdF0/LmRpc3BsYXlOYW1lKSB7XG5cdFx0XHR1bml0RGlzcGxheWVkID0gbG9jYWxlRGF0YS51bml0cy5zaG9ydFt1bml0XS5kaXNwbGF5TmFtZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQ09NTU9OX1BST0dSRVNTX0lORElDQVRPUl9ESVNQTEFZX1ZBTFVFX1dJVEhfVU9NXCIsIFt2YWx1ZSwgdGFyZ2V0LCB1bml0RGlzcGxheWVkXSk7XG5cdH1cbn07XG5mb3JtYXRQcm9ncmVzc0luZGljYXRvclRleHQuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVmFsdWVGb3JtYXR0ZXIjZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0XCI7XG5cbnZhbHVlRm9ybWF0dGVycy5mb3JtYXRXaXRoQnJhY2tldHMgPSBmb3JtYXRXaXRoQnJhY2tldHM7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0V2l0aFBlcmNlbnRhZ2UgPSBmb3JtYXRXaXRoUGVyY2VudGFnZTtcbnZhbHVlRm9ybWF0dGVycy5jb21wdXRlUGVyY2VudGFnZSA9IGNvbXB1dGVQZXJjZW50YWdlO1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdENyaXRpY2FsaXR5SWNvbiA9IGZvcm1hdENyaXRpY2FsaXR5SWNvbjtcbnZhbHVlRm9ybWF0dGVycy5mb3JtYXRDcml0aWNhbGl0eVZhbHVlU3RhdGUgPSBmb3JtYXRDcml0aWNhbGl0eVZhbHVlU3RhdGU7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0Q3JpdGljYWxpdHlCdXR0b25UeXBlID0gZm9ybWF0Q3JpdGljYWxpdHlCdXR0b25UeXBlO1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0ID0gZm9ybWF0Q3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnQ7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0ID0gZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0O1xuLyoqXG4gKiBAZ2xvYmFsXG4gKi9cbmV4cG9ydCBkZWZhdWx0IHZhbHVlRm9ybWF0dGVycztcbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZhbHVlRm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbInZhbHVlRm9ybWF0dGVycyIsInNOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJvQXJncyIsImFwcGx5IiwiZm9ybWF0V2l0aEJyYWNrZXRzIiwiZmlyc3RQYXJ0Iiwic2Vjb25kUGFydCIsIkNvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJnZXRUZXh0IiwiX19mdW5jdGlvbk5hbWUiLCJmb3JtYXRXaXRoUGVyY2VudGFnZSIsInNWYWx1ZSIsInVuZGVmaW5lZCIsImNvbXB1dGVQZXJjZW50YWdlIiwidmFsdWUiLCJ0YXJnZXQiLCJzVW5pdCIsInNQZXJjZW50U3RyaW5nIiwiaVZhbHVlIiwicGFyc2VGbG9hdCIsImlUYXJnZXQiLCJ0b1N0cmluZyIsImZvcm1hdENyaXRpY2FsaXR5SWNvbiIsInZhbCIsInNJY29uIiwiZm9ybWF0Q3JpdGljYWxpdHlWYWx1ZVN0YXRlIiwic1ZhbHVlU3RhdGUiLCJmb3JtYXRDcml0aWNhbGl0eUJ1dHRvblR5cGUiLCJzVHlwZSIsImZvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0Iiwic0NvbG9yIiwiZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0IiwidW5pdCIsInVuaXRTcGxpdCIsInNwbGl0Iiwic2VhcmNoVW5pdCIsImRhdGVGb3JtYXQiLCJEYXRlRm9ybWF0IiwiZ2V0RGF0ZUluc3RhbmNlIiwibG9jYWxlRGF0YSIsIm9Mb2NhbGVEYXRhIiwibURhdGEiLCJvUmVzb3VyY2VNb2RlbCIsInVuaXREaXNwbGF5ZWQiLCJkYXRlRmllbGRzIiwiZGlzcGxheU5hbWUiLCJ1bml0cyIsInNob3J0Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTUEsZUFBZSxHQUFHLFVBQXdCQyxLQUF4QixFQUE2RDtBQUNwRixRQUFJRCxlQUFlLENBQUNFLGNBQWhC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LENBQUosa0RBQUksc0JBQWdDYSxXQUFwQyxFQUFpRDtBQUN2REYsUUFBQUEsYUFBYSxHQUFHSixVQUFVLENBQUNPLEtBQVgsQ0FBaUJDLEtBQWpCLENBQXVCZixJQUF2QixFQUE2QmEsV0FBN0M7QUFDQTs7QUFFRCxhQUFPSCxjQUFjLENBQUNsQyxPQUFmLENBQXVCLG9EQUF2QixFQUE2RSxDQUFDTSxLQUFELEVBQVFDLE1BQVIsRUFBZ0I0QixhQUFoQixDQUE3RSxDQUFQO0FBQ0E7QUFDRCxHQWhCTTs7QUFpQlBaLEVBQUFBLDJCQUEyQixDQUFDdEIsY0FBNUIsR0FBNkMsbUVBQTdDOztBQUVBWCxFQUFBQSxlQUFlLENBQUNLLGtCQUFoQixHQUFxQ0Esa0JBQXJDO0FBQ0FMLEVBQUFBLGVBQWUsQ0FBQ1ksb0JBQWhCLEdBQXVDQSxvQkFBdkM7QUFDQVosRUFBQUEsZUFBZSxDQUFDZSxpQkFBaEIsR0FBb0NBLGlCQUFwQztBQUNBZixFQUFBQSxlQUFlLENBQUN3QixxQkFBaEIsR0FBd0NBLHFCQUF4QztBQUNBeEIsRUFBQUEsZUFBZSxDQUFDMkIsMkJBQWhCLEdBQThDQSwyQkFBOUM7QUFDQTNCLEVBQUFBLGVBQWUsQ0FBQzZCLDJCQUFoQixHQUE4Q0EsMkJBQTlDO0FBQ0E3QixFQUFBQSxlQUFlLENBQUMrQixnQ0FBaEIsR0FBbURBLGdDQUFuRDtBQUNBL0IsRUFBQUEsZUFBZSxDQUFDaUMsMkJBQWhCLEdBQThDQSwyQkFBOUM7QUFDQTtBQUNBO0FBQ0E7O1NBQ2VqQyxlIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29yZSBmcm9tIFwic2FwL3VpL2NvcmUvQ29yZVwiO1xuaW1wb3J0IERhdGVGb3JtYXQgZnJvbSBcInNhcC91aS9jb3JlL2Zvcm1hdC9EYXRlRm9ybWF0XCI7XG5pbXBvcnQgdHlwZSB7IENvcmVFeCB9IGZyb20gXCJ0eXBlcy9leHRlbnNpb25fdHlwZXNcIjtcbi8qKlxuICogQ29sbGVjdGlvbiBvZiB0YWJsZSBmb3JtYXR0ZXJzLlxuICpcbiAqIEBwYXJhbSB0aGlzIFRoZSBjb250ZXh0XG4gKiBAcGFyYW0gc05hbWUgVGhlIGlubmVyIGZ1bmN0aW9uIG5hbWVcbiAqIEBwYXJhbSBvQXJncyBUaGUgaW5uZXIgZnVuY3Rpb24gcGFyYW1ldGVyc1xuICogQHJldHVybnMgVGhlIHZhbHVlIGZyb20gdGhlIGlubmVyIGZ1bmN0aW9uXG4gKi9cbmNvbnN0IHZhbHVlRm9ybWF0dGVycyA9IGZ1bmN0aW9uICh0aGlzOiBvYmplY3QsIHNOYW1lOiBzdHJpbmcsIC4uLm9BcmdzOiBhbnlbXSk6IGFueSB7XG5cdGlmICh2YWx1ZUZvcm1hdHRlcnMuaGFzT3duUHJvcGVydHkoc05hbWUpKSB7XG5cdFx0cmV0dXJuICh2YWx1ZUZvcm1hdHRlcnMgYXMgYW55KVtzTmFtZV0uYXBwbHkodGhpcywgb0FyZ3MpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBcIlwiO1xuXHR9XG59O1xuXG5jb25zdCBmb3JtYXRXaXRoQnJhY2tldHMgPSAoZmlyc3RQYXJ0Pzogc3RyaW5nLCBzZWNvbmRQYXJ0Pzogc3RyaW5nKTogc3RyaW5nID0+IHtcblx0aWYgKGZpcnN0UGFydCAmJiBzZWNvbmRQYXJ0KSB7XG5cdFx0cmV0dXJuIChDb3JlIGFzIENvcmVFeCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLmNvcmVcIikuZ2V0VGV4dChcIkNfRk9STUFUX0ZPUl9URVhUX0FSUkFOR0VNRU5UXCIsIFtmaXJzdFBhcnQsIHNlY29uZFBhcnRdKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZmlyc3RQYXJ0IHx8IHNlY29uZFBhcnQgfHwgXCJcIjtcblx0fVxufTtcbmZvcm1hdFdpdGhCcmFja2V0cy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRXaXRoQnJhY2tldHNcIjtcblxuY29uc3QgZm9ybWF0V2l0aFBlcmNlbnRhZ2UgPSAoc1ZhbHVlPzogc3RyaW5nKTogc3RyaW5nID0+IHtcblx0cmV0dXJuIHNWYWx1ZSAhPT0gbnVsbCAmJiBzVmFsdWUgIT09IHVuZGVmaW5lZCA/IGAke3NWYWx1ZX0gJWAgOiBcIlwiO1xufTtcbmZvcm1hdFdpdGhQZXJjZW50YWdlLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdFdpdGhQZXJjZW50YWdlXCI7XG5cbmNvbnN0IGNvbXB1dGVQZXJjZW50YWdlID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIHRhcmdldDogc3RyaW5nIHwgbnVtYmVyLCBzVW5pdD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGxldCBzUGVyY2VudFN0cmluZzogc3RyaW5nO1xuXHRjb25zdCBpVmFsdWU6IG51bWJlciA9IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IHBhcnNlRmxvYXQodmFsdWUpIDogdmFsdWU7XG5cdGNvbnN0IGlUYXJnZXQ6IG51bWJlciA9IHR5cGVvZiB0YXJnZXQgPT09IFwic3RyaW5nXCIgPyBwYXJzZUZsb2F0KHRhcmdldCkgOiB0YXJnZXQ7XG5cblx0aWYgKHNVbml0ID09PSBcIiVcIikge1xuXHRcdGlmIChpVmFsdWUgPiAxMDApIHtcblx0XHRcdHNQZXJjZW50U3RyaW5nID0gXCIxMDBcIjtcblx0XHR9IGVsc2UgaWYgKGlWYWx1ZSA8PSAwKSB7XG5cdFx0XHRzUGVyY2VudFN0cmluZyA9IFwiMFwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzUGVyY2VudFN0cmluZyA9IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlIDogdmFsdWU/LnRvU3RyaW5nKCk7XG5cdFx0fVxuXHR9IGVsc2UgaWYgKGlWYWx1ZSA+IGlUYXJnZXQpIHtcblx0XHRzUGVyY2VudFN0cmluZyA9IFwiMTAwXCI7XG5cdH0gZWxzZSBpZiAoaVZhbHVlIDw9IDApIHtcblx0XHRzUGVyY2VudFN0cmluZyA9IFwiMFwiO1xuXHR9IGVsc2Uge1xuXHRcdHNQZXJjZW50U3RyaW5nID0gaVZhbHVlICYmIGlUYXJnZXQgPyAoKGlWYWx1ZSAvIGlUYXJnZXQpICogMTAwKS50b1N0cmluZygpIDogXCIwXCI7XG5cdH1cblx0cmV0dXJuIHNQZXJjZW50U3RyaW5nO1xufTtcbmNvbXB1dGVQZXJjZW50YWdlLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2NvbXB1dGVQZXJjZW50YWdlXCI7XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRDcml0aWNhbGl0eUljb24gPSAodmFsPzogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0bGV0IHNJY29uOiBzdHJpbmc7XG5cdGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL05lZ2F0aXZlXCIgfHwgdmFsID09PSBcIjFcIiB8fCB2YWwgPT09IDEpIHtcblx0XHRzSWNvbiA9IFwic2FwLWljb246Ly9tZXNzYWdlLWVycm9yXCI7XG5cdH0gZWxzZSBpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9Dcml0aWNhbFwiIHx8IHZhbCA9PT0gXCIyXCIgfHwgdmFsID09PSAyKSB7XG5cdFx0c0ljb24gPSBcInNhcC1pY29uOi8vbWVzc2FnZS13YXJuaW5nXCI7XG5cdH0gZWxzZSBpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9Qb3NpdGl2ZVwiIHx8IHZhbCA9PT0gXCIzXCIgfHwgdmFsID09PSAzKSB7XG5cdFx0c0ljb24gPSBcInNhcC1pY29uOi8vbWVzc2FnZS1zdWNjZXNzXCI7XG5cdH0gZWxzZSBpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9JbmZvcm1hdGlvblwiIHx8IHZhbCA9PT0gXCI1XCIgfHwgdmFsID09PSA1KSB7XG5cdFx0c0ljb24gPSBcInNhcC1pY29uOi8vbWVzc2FnZS1pbmZvcm1hdGlvblwiO1xuXHR9IGVsc2Uge1xuXHRcdHNJY29uID0gXCJcIjtcblx0fVxuXHRyZXR1cm4gc0ljb247XG59O1xuZm9ybWF0Q3JpdGljYWxpdHlJY29uLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdENyaXRpY2FsaXR5SWNvblwiO1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Q3JpdGljYWxpdHlWYWx1ZVN0YXRlID0gKHZhbD86IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGxldCBzVmFsdWVTdGF0ZTogc3RyaW5nO1xuXHRpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9OZWdhdGl2ZVwiIHx8IHZhbCA9PT0gXCIxXCIgfHwgdmFsID09PSAxKSB7XG5cdFx0c1ZhbHVlU3RhdGUgPSBcIkVycm9yXCI7XG5cdH0gZWxzZSBpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9Dcml0aWNhbFwiIHx8IHZhbCA9PT0gXCIyXCIgfHwgdmFsID09PSAyKSB7XG5cdFx0c1ZhbHVlU3RhdGUgPSBcIldhcm5pbmdcIjtcblx0fSBlbHNlIGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL1Bvc2l0aXZlXCIgfHwgdmFsID09PSBcIjNcIiB8fCB2YWwgPT09IDMpIHtcblx0XHRzVmFsdWVTdGF0ZSA9IFwiU3VjY2Vzc1wiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvSW5mb3JtYXRpb25cIiB8fCB2YWwgPT09IFwiNVwiIHx8IHZhbCA9PT0gNSkge1xuXHRcdHNWYWx1ZVN0YXRlID0gXCJJbmZvcm1hdGlvblwiO1xuXHR9IGVsc2Uge1xuXHRcdHNWYWx1ZVN0YXRlID0gXCJOb25lXCI7XG5cdH1cblx0cmV0dXJuIHNWYWx1ZVN0YXRlO1xufTtcbmZvcm1hdENyaXRpY2FsaXR5VmFsdWVTdGF0ZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRDcml0aWNhbGl0eVZhbHVlU3RhdGVcIjtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdENyaXRpY2FsaXR5QnV0dG9uVHlwZSA9ICh2YWw/OiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRsZXQgc1R5cGU6IHN0cmluZztcblx0aWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvTmVnYXRpdmVcIiB8fCB2YWwgPT09IFwiMVwiIHx8IHZhbCA9PT0gMSkge1xuXHRcdHNUeXBlID0gXCJSZWplY3RcIjtcblx0fSBlbHNlIGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL1Bvc2l0aXZlXCIgfHwgdmFsID09PSBcIjNcIiB8fCB2YWwgPT09IDMpIHtcblx0XHRzVHlwZSA9IFwiQWNjZXB0XCI7XG5cdH0gZWxzZSB7XG5cdFx0c1R5cGUgPSBcIkRlZmF1bHRcIjtcblx0fVxuXHRyZXR1cm4gc1R5cGU7XG59O1xuZm9ybWF0Q3JpdGljYWxpdHlCdXR0b25UeXBlLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdENyaXRpY2FsaXR5QnV0dG9uVHlwZVwiO1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Q3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnQgPSAodmFsPzogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0bGV0IHNDb2xvcjogc3RyaW5nO1xuXHRpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9OZWdhdGl2ZVwiIHx8IHZhbCA9PT0gXCIxXCIgfHwgdmFsID09PSAxKSB7XG5cdFx0c0NvbG9yID0gXCJFcnJvclwiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvQ3JpdGljYWxcIiB8fCB2YWwgPT09IFwiMlwiIHx8IHZhbCA9PT0gMikge1xuXHRcdHNDb2xvciA9IFwiQ3JpdGljYWxcIjtcblx0fSBlbHNlIGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL1Bvc2l0aXZlXCIgfHwgdmFsID09PSBcIjNcIiB8fCB2YWwgPT09IDMpIHtcblx0XHRzQ29sb3IgPSBcIkdvb2RcIjtcblx0fSBlbHNlIHtcblx0XHRzQ29sb3IgPSBcIk5ldXRyYWxcIjtcblx0fVxuXHRyZXR1cm4gc0NvbG9yO1xufTtcbmZvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0Ll9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0XCI7XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRQcm9ncmVzc0luZGljYXRvclRleHQgPSAodmFsdWU6IGFueSwgdGFyZ2V0OiBhbnksIHVuaXQ6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGlmICh2YWx1ZSAmJiB0YXJnZXQgJiYgdW5pdCkge1xuXHRcdGNvbnN0IHVuaXRTcGxpdCA9IHVuaXQuc3BsaXQoXCItXCIpO1xuXHRcdGNvbnN0IHNlYXJjaFVuaXQgPSBgJHt1bml0U3BsaXRbMV0gPT09IHVuZGVmaW5lZCA/IHVuaXQgOiB1bml0U3BsaXRbMV19LW5hcnJvd2A7XG5cdFx0Y29uc3QgZGF0ZUZvcm1hdCA9IERhdGVGb3JtYXQuZ2V0RGF0ZUluc3RhbmNlKCkgYXMgYW55O1xuXHRcdGNvbnN0IGxvY2FsZURhdGEgPSBkYXRlRm9ybWF0Lm9Mb2NhbGVEYXRhLm1EYXRhO1xuXHRcdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gKENvcmUgYXMgQ29yZUV4KS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUubWFjcm9zXCIpO1xuXHRcdGxldCB1bml0RGlzcGxheWVkID0gdW5pdDtcblx0XHRpZiAobG9jYWxlRGF0YT8uZGF0ZUZpZWxkc1tzZWFyY2hVbml0XT8uZGlzcGxheU5hbWUpIHtcblx0XHRcdHVuaXREaXNwbGF5ZWQgPSBsb2NhbGVEYXRhLmRhdGVGaWVsZHNbc2VhcmNoVW5pdF0uZGlzcGxheU5hbWU7XG5cdFx0fSBlbHNlIGlmIChsb2NhbGVEYXRhPy51bml0cz8uc2hvcnRbdW5pdF0/LmRpc3BsYXlOYW1lKSB7XG5cdFx0XHR1bml0RGlzcGxheWVkID0gbG9jYWxlRGF0YS51bml0cy5zaG9ydFt1bml0XS5kaXNwbGF5TmFtZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQ09NTU9OX1BST0dSRVNTX0lORElDQVRPUl9ESVNQTEFZX1ZBTFVFX1dJVEhfVU9NXCIsIFt2YWx1ZSwgdGFyZ2V0LCB1bml0RGlzcGxheWVkXSk7XG5cdH1cbn07XG5mb3JtYXRQcm9ncmVzc0luZGljYXRvclRleHQuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVmFsdWVGb3JtYXR0ZXIjZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0XCI7XG5cbnZhbHVlRm9ybWF0dGVycy5mb3JtYXRXaXRoQnJhY2tldHMgPSBmb3JtYXRXaXRoQnJhY2tldHM7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0V2l0aFBlcmNlbnRhZ2UgPSBmb3JtYXRXaXRoUGVyY2VudGFnZTtcbnZhbHVlRm9ybWF0dGVycy5jb21wdXRlUGVyY2VudGFnZSA9IGNvbXB1dGVQZXJjZW50YWdlO1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdENyaXRpY2FsaXR5SWNvbiA9IGZvcm1hdENyaXRpY2FsaXR5SWNvbjtcbnZhbHVlRm9ybWF0dGVycy5mb3JtYXRDcml0aWNhbGl0eVZhbHVlU3RhdGUgPSBmb3JtYXRDcml0aWNhbGl0eVZhbHVlU3RhdGU7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0Q3JpdGljYWxpdHlCdXR0b25UeXBlID0gZm9ybWF0Q3JpdGljYWxpdHlCdXR0b25UeXBlO1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0ID0gZm9ybWF0Q3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnQ7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0ID0gZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0O1xuLyoqXG4gKiBAZ2xvYmFsXG4gKi9cbmV4cG9ydCBkZWZhdWx0IHZhbHVlRm9ybWF0dGVycztcbiJdfQ==
@@ -1,15 +1,15 @@
1
1
  import Core from "sap/ui/core/Core";
2
2
  import DateFormat from "sap/ui/core/format/DateFormat";
3
- import { CoreEx } from "types/extension_types";
3
+ import type { CoreEx } from "types/extension_types";
4
4
  /**
5
5
  * Collection of table formatters.
6
6
  *
7
- * @param {object} this The context
8
- * @param {string} sName The inner function name
9
- * @param {object[]} oArgs The inner function parameters
10
- * @returns {object} The value from the inner function
7
+ * @param this The context
8
+ * @param sName The inner function name
9
+ * @param oArgs The inner function parameters
10
+ * @returns The value from the inner function
11
11
  */
12
- const valueFormatters = function(this: object, sName: string, ...oArgs: any[]): any {
12
+ const valueFormatters = function (this: object, sName: string, ...oArgs: any[]): any {
13
13
  if (valueFormatters.hasOwnProperty(sName)) {
14
14
  return (valueFormatters as any)[sName].apply(this, oArgs);
15
15
  } else {
@@ -27,7 +27,7 @@ const formatWithBrackets = (firstPart?: string, secondPart?: string): string =>
27
27
  formatWithBrackets.__functionName = "sap.fe.core.formatters.ValueFormatter#formatWithBrackets";
28
28
 
29
29
  const formatWithPercentage = (sValue?: string): string => {
30
- return sValue !== null && sValue !== undefined ? sValue + " %" : "";
30
+ return sValue !== null && sValue !== undefined ? `${sValue} %` : "";
31
31
  };
32
32
  formatWithPercentage.__functionName = "sap.fe.core.formatters.ValueFormatter#formatWithPercentage";
33
33
 
@@ -81,7 +81,7 @@ export const formatCriticalityValueState = (val?: string | number): string | und
81
81
  } else if (val === "UI.CriticalityType/Positive" || val === "3" || val === 3) {
82
82
  sValueState = "Success";
83
83
  } else if (val === "UI.CriticalityType/Information" || val === "5" || val === 5) {
84
- sValueState = "Indication05";
84
+ sValueState = "Information";
85
85
  } else {
86
86
  sValueState = "None";
87
87
  }
@@ -120,7 +120,7 @@ formatCriticalityColorMicroChart.__functionName = "sap.fe.core.formatters.ValueF
120
120
  export const formatProgressIndicatorText = (value: any, target: any, unit: any): string | undefined => {
121
121
  if (value && target && unit) {
122
122
  const unitSplit = unit.split("-");
123
- const searchUnit = (unitSplit[1] === undefined ? unit : unitSplit[1]) + "-narrow";
123
+ const searchUnit = `${unitSplit[1] === undefined ? unit : unitSplit[1]}-narrow`;
124
124
  const dateFormat = DateFormat.getDateInstance() as any;
125
125
  const localeData = dateFormat.oLocaleData.mData;
126
126
  const oResourceModel = (Core as CoreEx).getLibraryResourceBundle("sap.fe.macros");