@sapui5/sap.fe.core 1.101.1 → 1.102.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppComponent.js +5 -5
  4. package/src/sap/fe/core/AppComponent.ts +19 -18
  5. package/src/sap/fe/core/AppStateHandler.js +4 -4
  6. package/src/sap/fe/core/AppStateHandler.ts +9 -9
  7. package/src/sap/fe/core/CommonUtils.js +59 -93
  8. package/src/sap/fe/core/CommonUtils.ts +80 -99
  9. package/src/sap/fe/core/ExtensionAPI.js +2 -4
  10. package/src/sap/fe/core/ExtensionAPI.ts +1 -3
  11. package/src/sap/fe/core/PageController.js +14 -9
  12. package/src/sap/fe/core/PageController.ts +8 -2
  13. package/src/sap/fe/core/TemplateComponent.js +6 -6
  14. package/src/sap/fe/core/TemplateComponent.ts +5 -5
  15. package/src/sap/fe/core/TemplateModel.js +2 -2
  16. package/src/sap/fe/core/TemplateModel.ts +2 -2
  17. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +303 -75
  18. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +273 -64
  19. package/src/sap/fe/core/{BusyLocker.js → controllerextensions/BusyLocker.js} +1 -1
  20. package/src/sap/fe/core/{BusyLocker.ts → controllerextensions/BusyLocker.ts} +7 -7
  21. package/src/sap/fe/core/controllerextensions/EditFlow.js +234 -123
  22. package/src/sap/fe/core/controllerextensions/EditFlow.ts +176 -114
  23. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +34 -10
  24. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +44 -12
  25. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +30 -28
  26. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +38 -31
  27. package/src/sap/fe/core/controllerextensions/InternalRouting.js +157 -102
  28. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +155 -103
  29. package/src/sap/fe/core/controllerextensions/MassEdit.js +4 -3
  30. package/src/sap/fe/core/controllerextensions/MassEdit.ts +15 -14
  31. package/src/sap/fe/core/controllerextensions/MessageHandler.js +3 -3
  32. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +10 -2
  33. package/src/sap/fe/core/controllerextensions/Paginator.js +12 -3
  34. package/src/sap/fe/core/controllerextensions/Paginator.ts +11 -2
  35. package/src/sap/fe/core/controllerextensions/Share.js +19 -1
  36. package/src/sap/fe/core/controllerextensions/Share.ts +18 -0
  37. package/src/sap/fe/core/controllerextensions/SideEffects.js +2 -2
  38. package/src/sap/fe/core/controllerextensions/SideEffects.ts +2 -2
  39. package/src/sap/fe/core/controllerextensions/ViewState.js +11 -1
  40. package/src/sap/fe/core/controllerextensions/ViewState.ts +10 -0
  41. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +105 -0
  42. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +98 -0
  43. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +360 -0
  44. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ActivitySync.ts +57 -106
  45. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +146 -0
  46. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.ts +6 -6
  47. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.js +4 -4
  48. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.ts +3 -3
  49. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ManageDialog.fragment.xml +0 -0
  50. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/UserDetails.fragment.xml +5 -7
  51. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1587 -0
  52. package/src/sap/fe/core/{TransactionHelper.ts → controllerextensions/editFlow/TransactionHelper.ts} +26 -13
  53. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +785 -0
  54. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/draft.ts +179 -22
  55. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1175 -0
  56. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/operations.ts +203 -98
  57. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +190 -0
  58. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/sticky.ts +76 -12
  59. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +597 -0
  60. package/src/sap/fe/core/{actions → controllerextensions/messageHandler}/messageHandling.ts +46 -27
  61. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +940 -0
  62. package/src/sap/fe/core/{RouterProxy.ts → controllerextensions/routing/RouterProxy.ts} +20 -18
  63. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +21 -18
  64. package/src/sap/fe/core/controls/CommandExecution.js +14 -3
  65. package/src/sap/fe/core/controls/CommandExecution.ts +11 -2
  66. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +34 -29
  67. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +33 -29
  68. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -1
  69. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +1 -0
  70. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +11 -3
  71. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +17 -7
  72. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +9 -3
  73. package/src/sap/fe/core/controls/FileWrapper.js +49 -2
  74. package/src/sap/fe/core/controls/FileWrapper.ts +34 -1
  75. package/src/sap/fe/core/controls/FormElementWrapper.js +12 -2
  76. package/src/sap/fe/core/controls/FormElementWrapper.ts +12 -1
  77. package/src/sap/fe/core/controls/MassEditSelect.js +33 -0
  78. package/src/sap/fe/core/controls/MassEditSelect.ts +45 -0
  79. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +2 -2
  80. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +23 -28
  81. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +28 -63
  82. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +107 -0
  83. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +550 -36
  84. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +604 -36
  85. package/src/sap/fe/core/converters/ManifestSettings.js +2 -1
  86. package/src/sap/fe/core/converters/ManifestSettings.ts +4 -1
  87. package/src/sap/fe/core/converters/MetaModelConverter.js +11 -40
  88. package/src/sap/fe/core/converters/MetaModelConverter.ts +56 -84
  89. package/src/sap/fe/core/converters/annotations/DataField.js +20 -4
  90. package/src/sap/fe/core/converters/annotations/DataField.ts +24 -2
  91. package/src/sap/fe/core/converters/controls/Common/Action.js +5 -12
  92. package/src/sap/fe/core/converters/controls/Common/Action.ts +3 -9
  93. package/src/sap/fe/core/converters/controls/Common/Chart.js +10 -3
  94. package/src/sap/fe/core/converters/controls/Common/Chart.ts +8 -3
  95. package/src/sap/fe/core/converters/controls/Common/Form.js +12 -14
  96. package/src/sap/fe/core/converters/controls/Common/Form.ts +17 -19
  97. package/src/sap/fe/core/converters/controls/Common/Table.js +149 -66
  98. package/src/sap/fe/core/converters/controls/Common/Table.ts +136 -52
  99. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +22 -12
  100. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +23 -12
  101. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +7 -5
  102. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +15 -10
  103. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +26 -24
  104. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +35 -33
  105. package/src/sap/fe/core/converters/helpers/Aggregation.js +10 -2
  106. package/src/sap/fe/core/converters/helpers/Aggregation.ts +18 -13
  107. package/src/sap/fe/core/converters/helpers/BindingHelper.js +3 -2
  108. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +6 -5
  109. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +25 -25
  110. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +35 -38
  111. package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -3
  112. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +8 -6
  113. package/src/sap/fe/core/formatters/TableFormatter.js +73 -12
  114. package/src/sap/fe/core/formatters/TableFormatter.ts +70 -15
  115. package/src/sap/fe/core/fpm/Component.js +2 -2
  116. package/src/sap/fe/core/fpm/Component.ts +1 -1
  117. package/src/sap/fe/core/helpers/BindingExpression.js +10 -7
  118. package/src/sap/fe/core/helpers/BindingExpression.ts +37 -35
  119. package/src/sap/fe/core/helpers/ClassSupport.js +1 -1
  120. package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
  121. package/src/sap/fe/core/helpers/FPMHelper.js +3 -2
  122. package/src/sap/fe/core/helpers/FPMHelper.ts +9 -8
  123. package/src/sap/fe/core/helpers/MassEditHelper.js +399 -152
  124. package/src/sap/fe/core/helpers/MassEditHelper.ts +385 -163
  125. package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  126. package/src/sap/fe/core/helpers/ModelHelper.ts +20 -30
  127. package/src/sap/fe/core/helpers/StableIdHelper.js +5 -1
  128. package/src/sap/fe/core/helpers/StableIdHelper.ts +8 -4
  129. package/src/sap/fe/core/{Synchronization.js → helpers/Synchronization.js} +1 -1
  130. package/src/sap/fe/core/{Synchronization.ts → helpers/Synchronization.ts} +1 -1
  131. package/src/sap/fe/core/library.js +12 -3
  132. package/src/sap/fe/core/library.ts +9 -0
  133. package/src/sap/fe/core/messagebundle.properties +125 -180
  134. package/src/sap/fe/core/messagebundle_ar.properties +30 -63
  135. package/src/sap/fe/core/messagebundle_bg.properties +30 -63
  136. package/src/sap/fe/core/messagebundle_ca.properties +30 -63
  137. package/src/sap/fe/core/messagebundle_cs.properties +30 -63
  138. package/src/sap/fe/core/messagebundle_cy.properties +30 -63
  139. package/src/sap/fe/core/messagebundle_da.properties +31 -64
  140. package/src/sap/fe/core/messagebundle_de.properties +30 -63
  141. package/src/sap/fe/core/messagebundle_el.properties +31 -64
  142. package/src/sap/fe/core/messagebundle_en.properties +31 -64
  143. package/src/sap/fe/core/messagebundle_en_GB.properties +31 -64
  144. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +40 -73
  145. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +31 -64
  146. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +49 -82
  147. package/src/sap/fe/core/messagebundle_es.properties +30 -63
  148. package/src/sap/fe/core/messagebundle_es_MX.properties +30 -63
  149. package/src/sap/fe/core/messagebundle_et.properties +30 -63
  150. package/src/sap/fe/core/messagebundle_fi.properties +30 -63
  151. package/src/sap/fe/core/messagebundle_fr.properties +33 -66
  152. package/src/sap/fe/core/messagebundle_fr_CA.properties +30 -63
  153. package/src/sap/fe/core/messagebundle_hi.properties +30 -63
  154. package/src/sap/fe/core/messagebundle_hr.properties +30 -63
  155. package/src/sap/fe/core/messagebundle_hu.properties +29 -62
  156. package/src/sap/fe/core/messagebundle_id.properties +31 -64
  157. package/src/sap/fe/core/messagebundle_it.properties +30 -63
  158. package/src/sap/fe/core/messagebundle_iw.properties +30 -63
  159. package/src/sap/fe/core/messagebundle_ja.properties +30 -63
  160. package/src/sap/fe/core/messagebundle_kk.properties +30 -63
  161. package/src/sap/fe/core/messagebundle_ko.properties +30 -63
  162. package/src/sap/fe/core/messagebundle_lt.properties +30 -63
  163. package/src/sap/fe/core/messagebundle_lv.properties +30 -63
  164. package/src/sap/fe/core/messagebundle_ms.properties +31 -64
  165. package/src/sap/fe/core/messagebundle_nl.properties +31 -64
  166. package/src/sap/fe/core/messagebundle_no.properties +30 -63
  167. package/src/sap/fe/core/messagebundle_pl.properties +31 -64
  168. package/src/sap/fe/core/messagebundle_pt.properties +31 -64
  169. package/src/sap/fe/core/messagebundle_pt_PT.properties +30 -63
  170. package/src/sap/fe/core/messagebundle_ro.properties +30 -63
  171. package/src/sap/fe/core/messagebundle_ru.properties +30 -63
  172. package/src/sap/fe/core/messagebundle_sh.properties +30 -63
  173. package/src/sap/fe/core/messagebundle_sk.properties +30 -63
  174. package/src/sap/fe/core/messagebundle_sl.properties +32 -65
  175. package/src/sap/fe/core/messagebundle_sv.properties +30 -63
  176. package/src/sap/fe/core/messagebundle_th.properties +30 -63
  177. package/src/sap/fe/core/messagebundle_tr.properties +30 -63
  178. package/src/sap/fe/core/messagebundle_uk.properties +31 -64
  179. package/src/sap/fe/core/messagebundle_vi.properties +31 -64
  180. package/src/sap/fe/core/messagebundle_zh_CN.properties +30 -63
  181. package/src/sap/fe/core/messagebundle_zh_TW.properties +31 -64
  182. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +6 -3
  183. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +10 -9
  184. package/src/sap/fe/core/services/NavigationServiceFactory.js +2 -2
  185. package/src/sap/fe/core/services/NavigationServiceFactory.ts +8 -4
  186. package/src/sap/fe/core/services/RoutingServiceFactory.js +9 -6
  187. package/src/sap/fe/core/services/RoutingServiceFactory.ts +10 -9
  188. package/src/sap/fe/core/services/ShellServicesFactory.js +36 -1
  189. package/src/sap/fe/core/services/ShellServicesFactory.ts +38 -1
  190. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +5 -4
  191. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +34 -36
  192. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  193. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +1 -1
  194. package/src/sap/fe/core/templating/EntitySetHelper.js +1 -9
  195. package/src/sap/fe/core/templating/EntitySetHelper.ts +11 -13
  196. package/src/sap/fe/core/templating/FilterHelper.js +4 -4
  197. package/src/sap/fe/core/templating/FilterHelper.ts +6 -5
  198. package/src/sap/fe/core/templating/PropertyHelper.js +58 -35
  199. package/src/sap/fe/core/templating/PropertyHelper.ts +19 -4
  200. package/src/sap/fe/core/templating/UIFormatters.js +16 -5
  201. package/src/sap/fe/core/templating/UIFormatters.ts +14 -5
  202. package/src/sap/fe/core/type/DateTimeWithTimezone.js +47 -0
  203. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +23 -0
  204. package/src/sap/fe/core/AnnotationHelper.js +0 -331
  205. package/src/sap/fe/core/AnnotationHelper.ts +0 -321
  206. package/src/sap/fe/core/RouterProxy.js +0 -938
  207. package/src/sap/fe/core/TransactionHelper.js +0 -1577
  208. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +0 -406
  209. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +0 -146
  210. package/src/sap/fe/core/actions/draft.js +0 -665
  211. package/src/sap/fe/core/actions/messageHandling.js +0 -579
  212. package/src/sap/fe/core/actions/nonDraft.js +0 -20
  213. package/src/sap/fe/core/actions/nonDraft.ts +0 -12
  214. package/src/sap/fe/core/actions/operations.js +0 -1096
  215. package/src/sap/fe/core/actions/sticky.js +0 -130
  216. package/src/sap/fe/core/formatters/CriticalityFormatter.js +0 -77
  217. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +0 -58
@@ -4,7 +4,7 @@
4
4
  import { aggregation, defineUI5Class, event, implementInterface, property } from "sap/fe/core/helpers/ClassSupport";
5
5
  import SemanticDateOperators from "sap/fe/core/helpers/SemanticDateOperators";
6
6
  import ManagedObjectObserver from "sap/ui/base/ManagedObjectObserver";
7
- import Control from "sap/ui/core/Control";
7
+ import Control from "sap/ui/core/Control"; //import Control from "sap/ui/mdc/field/FieldBase";
8
8
  import { IFormContent } from "sap/ui/core/library";
9
9
  import RenderManager from "sap/ui/core/RenderManager";
10
10
  import Condition, { ConditionObject } from "sap/ui/mdc/condition/Condition";
@@ -50,8 +50,8 @@ export default class CustomFilterFieldContentWrapper extends Control implements
50
50
  @event()
51
51
  conditionsChange!: Function;
52
52
 
53
- // TODO: Consider using FieldBase as base control (instead of Control)
54
- // TODO: If FieldBase is used, add 'change' event & corresponding handler to bubble it
53
+ // Note: FieldBase might be used as base control (instead of Control) in a later version;
54
+ // in that case, you should add a 'change' event and bubble it to the corresponding handlers
55
55
 
56
56
  private _filterModel: any;
57
57
  private _conditionsObserver: any;
@@ -164,30 +164,40 @@ export default class CustomFilterFieldContentWrapper extends Control implements
164
164
  this._conditionsObserver.observe(this, {
165
165
  properties: ["conditions"]
166
166
  });
167
+ this._filterModel = new JSONModel();
168
+ this._filterModel.attachPropertyChange(this._handleFilterModelChange, this);
169
+ this.setModel(this._filterModel, CustomFilterFieldContentWrapper.FILTER_MODEL_ALIAS);
167
170
  }
168
171
 
169
172
  /**
170
- * Listens to property changes.
173
+ * Overrides {@link sap.ui.core.Control#clone Control.clone} to clone additional
174
+ * internal states.
171
175
  *
172
- * @param {any} changes Property changes
173
- * @private
176
+ * @param {string} [sIdSuffix] A suffix to be appended to the cloned control id
177
+ * @param {string[]} [aLocalIds] An array of local IDs within the cloned hierarchy (internally used)
178
+ * @returns {CustomFilterFieldContentWrapper} Reference to the newly created clone
179
+ * @protected
174
180
  */
175
- _observeChanges(changes: any): void {
176
- if (changes.name === "conditions") {
177
- this._handleConditionsChange(changes.current);
178
- }
181
+ clone(sIdSuffix: string | undefined, aLocalIds: string[] | undefined): this {
182
+ const clone = super.clone(sIdSuffix, aLocalIds);
183
+ // During cloning, the old model will be copied and overwrites any new model (same alias) that
184
+ // you introduce during init(); hence you need to overwrite it again by the new one that you've
185
+ // created during init() (i.e. clone._filterModel); that standard behaviour of super.clone()
186
+ // can't even be suppressed in an own constructor; for a detailed investigation of the cloning,
187
+ // please overwrite the setModel() method and check the list of callers and steps induced by them.
188
+ clone.setModel(clone._filterModel, CustomFilterFieldContentWrapper.FILTER_MODEL_ALIAS);
189
+ return clone;
179
190
  }
180
191
 
181
192
  /**
182
- * Registers the internal filter model (alias 'filterValues').
193
+ * Listens to property changes.
183
194
  *
195
+ * @param {any} changes Property changes
184
196
  * @private
185
197
  */
186
- _registerFilterModel(): void {
187
- if (!this._filterModel) {
188
- this._filterModel = new JSONModel();
189
- this._filterModel.attachPropertyChange(this._handleFilterModelChange, this);
190
- this.setModel(this._filterModel, CustomFilterFieldContentWrapper.FILTER_MODEL_ALIAS);
198
+ _observeChanges(changes: any): void {
199
+ if (changes.name === "conditions") {
200
+ this._handleConditionsChange(changes.current);
191
201
  }
192
202
  }
193
203
 
@@ -198,7 +208,6 @@ export default class CustomFilterFieldContentWrapper extends Control implements
198
208
  * @private
199
209
  */
200
210
  getContent(): Control {
201
- this._registerFilterModel();
202
211
  return this.getAggregation("content") as Control;
203
212
  }
204
213
 
@@ -215,11 +224,13 @@ export default class CustomFilterFieldContentWrapper extends Control implements
215
224
  /**
216
225
  * Sets the value for control property 'conditions'.
217
226
  *
218
- * @param {Array} conditions Array of filter conditions
227
+ * @param {object[]} [conditions] Array of filter conditions
228
+ * @returns {CustomFilterFieldContentWrapper} Reference to this wrapper
219
229
  * @private
220
230
  */
221
- setConditions(conditions: object[]): void {
222
- this.setProperty("conditions", conditions);
231
+ setConditions(conditions: object[]): this {
232
+ this.setProperty("conditions", conditions || []);
233
+ return this;
223
234
  }
224
235
 
225
236
  /**
@@ -237,10 +248,10 @@ export default class CustomFilterFieldContentWrapper extends Control implements
237
248
  * sent by ExtensionAPI#setFilterValues().
238
249
  *
239
250
  * @param {any} values The filter values
240
- * @param {string} operator The operator name
251
+ * @param {string} [operator] The operator name
241
252
  * @private
242
253
  */
243
- updateConditionsByFilterValues(values: any, operator: string): void {
254
+ updateConditionsByFilterValues(values: any, operator?: string): void {
244
255
  const conditions = CustomFilterFieldContentWrapper._filterValuesToConditions(values, operator);
245
256
  this.setConditions(conditions);
246
257
  }
@@ -253,11 +264,6 @@ export default class CustomFilterFieldContentWrapper extends Control implements
253
264
  * @private
254
265
  */
255
266
  updateFilterModelByConditions(conditions: any[]): void {
256
- // When the filter field is created via "Adapt Filter"
257
- // this handler is fired before the filter model is created
258
- // -> in general, create it, if needed!
259
- // TODO: Consider using method Control#clone() to register filter model
260
- this._registerFilterModel();
261
267
  const operator = conditions[0]?.operator || "";
262
268
  const formatOptions: FormatOptionsType = operator !== "" ? { operators: [operator] } : { operators: [] };
263
269
  if (this.getBindingContext(CustomFilterFieldContentWrapper.FILTER_MODEL_ALIAS)) {
@@ -269,8 +275,6 @@ export default class CustomFilterFieldContentWrapper extends Control implements
269
275
  }
270
276
  }
271
277
 
272
- // TODO: Check, if implementation of _setAriaLabelledBy() is needed ?
273
-
274
278
  getAccessibilityInfo(): any {
275
279
  const content = this.getContent();
276
280
  return content?.getAccessibilityInfo?.() || {};
@@ -96,6 +96,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/helpers/ClassSupport", "s
96
96
  oShellHash = oShellServiceHelper.parseShellHash(sTargetHref);
97
97
  } else {
98
98
  oShellHash = oShellServiceHelper.parseShellHash(sQuickViewPageTitleLinkIntent);
99
+ oShellHash.params = oNavArgs.params;
99
100
  }
100
101
  }
101
102
  } else {
@@ -167,4 +168,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/helpers/ClassSupport", "s
167
168
  })), _class2)) || _class);
168
169
  return CustomQuickViewPage;
169
170
  }, false);
170
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkN1c3RvbVF1aWNrVmlld1BhZ2UudHMiXSwibmFtZXMiOlsiQ3VzdG9tUXVpY2tWaWV3UGFnZSIsImRlZmluZVVJNUNsYXNzIiwiYWdncmVnYXRpb24iLCJ0eXBlIiwibXVsdGlwbGUiLCJzaW5ndWxhck5hbWUiLCJpc0RlZmF1bHQiLCJvbkJlZm9yZVJlbmRlcmluZyIsIm9FdmVudCIsImdldFBhcmVudCIsImlzQSIsImdldFByb3BlcnR5Iiwic2V0Q3Jvc3NBcHBOYXZDYWxsYmFjayIsInNRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSHJlZiIsIkRlbGVnYXRlVXRpbCIsImdldEN1c3RvbURhdGEiLCJvVmlldyIsIkNvbW1vblV0aWxzIiwiZ2V0VGFyZ2V0VmlldyIsIm9BcHBDb21wb25lbnQiLCJnZXRBcHBDb21wb25lbnQiLCJvU2hlbGxTZXJ2aWNlSGVscGVyIiwiZ2V0U2hlbGxTZXJ2aWNlcyIsIm9TaGVsbEhhc2giLCJwYXJzZVNoZWxsSGFzaCIsIm9OYXZBcmdzIiwidGFyZ2V0Iiwic2VtYW50aWNPYmplY3QiLCJhY3Rpb24iLCJwYXJhbXMiLCJzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCIsIm9Dcm9zc0FwcE5hdmlnYXRvciIsImlzTmF2aWdhdGlvblN1cHBvcnRlZCIsInNUYXJnZXRIcmVmIiwib0xpbmtDb250cm9sIiwiX2FMaW5rcyIsImdldE1vZGVsIiwibGVuZ3RoIiwiaSIsImtleSIsImhyZWYiLCJLZWVwQWxpdmVIZWxwZXIiLCJzdG9yZUNvbnRyb2xSZWZyZXNoU3RyYXRlZ3lGb3JIYXNoIiwib0N1cnJlbnRTaGVsbEhhc2giLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhhc2giLCJhcHBTcGVjaWZpY1JvdXRlIiwib1BhZ2VDb250ZW50IiwiZ2V0UGFnZUNvbnRlbnQiLCJvRm9ybSIsImZvcm0iLCJfYUNvbnRlbnQiLCJjdXN0b21Db250ZW50IiwiZm9yRWFjaCIsIl9vQ29udGVudCIsIl9vQ29udGVudENsb25lIiwiY2xvbmUiLCJzZXRNb2RlbCIsInNldEJpbmRpbmdDb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJhZGRDb250ZW50Iiwic2V0VGltZW91dCIsInJlcmVuZGVyIiwiUXVpY2tWaWV3UGFnZSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BTU1BLG1CLFdBRExDLGNBQWMsQ0FBQywwQ0FBRCxDLFVBRWJDLFdBQVcsQ0FBQztBQUFFQyxJQUFBQSxJQUFJLEVBQUUscUJBQVI7QUFBK0JDLElBQUFBLFFBQVEsRUFBRTtBQUF6QyxHQUFELEMsVUFFWEYsV0FBVyxDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRSxzQkFBUjtBQUFnQ0MsSUFBQUEsUUFBUSxFQUFFLElBQTFDO0FBQWdEQyxJQUFBQSxZQUFZLEVBQUUsT0FBOUQ7QUFBdUVDLElBQUFBLFNBQVMsRUFBRTtBQUFsRixHQUFELEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQUdaQyxpQixHQUFBLDJCQUFrQkMsTUFBbEIsRUFBK0I7QUFBQTs7QUFDOUIsVUFDQyxLQUFLQyxTQUFMLE1BQ0EsS0FBS0EsU0FBTCxHQUFpQkMsR0FBakIsQ0FBcUIseUNBQXJCLENBREEsSUFFQSxLQUFLRCxTQUFMLEdBQWlCRSxXQUFqQixDQUE2QixXQUE3QixNQUE4QyxJQUgvQyxFQUlFO0FBQ0QsYUFBS0Msc0JBQUwsQ0FBNEIsWUFBTTtBQUNqQyxjQUFNQywyQkFBMkIsR0FBSUMsWUFBWSxDQUFDQyxhQUFkLENBQW9DLE1BQXBDLEVBQTBDLFdBQTFDLENBQXBDO0FBQ0EsY0FBTUMsS0FBSyxHQUFHQyxXQUFXLENBQUNDLGFBQVosQ0FBMEIsTUFBMUIsQ0FBZDtBQUNBLGNBQU1DLGFBQWEsR0FBR0YsV0FBVyxDQUFDRyxlQUFaLENBQTRCSixLQUE1QixDQUF0QjtBQUNBLGNBQU1LLG1CQUFtQixHQUFHRixhQUFhLENBQUNHLGdCQUFkLEVBQTVCO0FBQ0EsY0FBSUMsVUFBVSxHQUFHRixtQkFBbUIsQ0FBQ0csY0FBcEIsQ0FBbUNYLDJCQUFu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LGlCQUFpQixDQUFDaEIsY0FEM0I7QUFFUEMsZ0JBQUFBLE1BQU0sRUFBRWUsaUJBQWlCLENBQUNmLE1BRm5CO0FBR1BtQixnQkFBQUEsZ0JBQWdCLEVBQUVKLGlCQUFpQixDQUFDSTtBQUg3QixlQURGO0FBTU5sQixjQUFBQSxNQUFNLEVBQUVjLGlCQUFpQixDQUFDZDtBQU5wQixhQUFQO0FBUUE7QUFDRCxTQXBFRDtBQXFFQTs7QUFDRCwrQkFBTXRCLGlCQUFOLFlBQXdCQyxNQUF4Qjs7QUFDQSxVQUFNd0MsWUFBWSxHQUFHLEtBQUtDLGNBQUwsRUFBckI7QUFDQSxVQUFNQyxLQUFLLEdBQUdGLFlBQVksQ0FBQ0csSUFBM0I7O0FBQ0EsVUFBSUQsS0FBSixFQUFXO0FBQ1YsWUFBTUUsU0FBUyxHQUFHLEtBQUtDLGFBQXZCOztBQUNBLFlBQUlELFNBQVMsSUFBSUEsU0FBUyxDQUFDZixNQUFWLEdBQW1CLENBQXBDLEVBQXVDO0FBQ3RDZSxVQUFBQSxTQUFTLENBQUNFLE9BQVYsQ0FBa0IsVUFBQ0MsU0FBRCxFQUFvQjtBQUNyQyxnQkFBTUMsY0FBYyxHQUFHRCxTQUFTLENBQUNFLEtBQVYsRUFBdkI7O0FBQ0FELFlBQUFBLGNBQWMsQ0FBQ0UsUUFBZixDQUF3QixNQUFJLENBQUN0QixRQUFMLEVBQXhCOztBQUNBb0IsWUFBQUEsY0FBYyxDQUFDRyxpQkFBZixDQUFpQyxNQUFJLENBQUNDLGlCQUFMLEVBQWpDOztBQUNBVixZQUFBQSxLQUFLLENBQUNXLFVBQU4sQ0FBaUJMLGNBQWpCO0FBQ0EsV0FMRDs7QUFNQU0sVUFBQUEsVUFBVSxDQUFDLFlBQVk7QUFDdEJaLFlBQUFBLEtBQUssQ0FBQ2EsUUFBTjtBQUNBLFdBRlMsRUFFUCxDQUZPLENBQVY7QUFHQTtBQUNEO0FBQ0QsSzs7O0lBbkdnQ0MsYTs7Ozs7Ozs7Ozs7U0EyR25CaEUsbUIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IGFnZ3JlZ2F0aW9uLCBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEtlZXBBbGl2ZUhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9LZWVwQWxpdmVIZWxwZXJcIjtcbmltcG9ydCBEZWxlZ2F0ZVV0aWwgZnJvbSBcInNhcC9mZS9tYWNyb3MvRGVsZWdhdGVVdGlsXCI7XG5pbXBvcnQgUXVpY2tWaWV3UGFnZSBmcm9tIFwic2FwL20vUXVpY2tWaWV3UGFnZVwiO1xuaW1wb3J0IENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuQ3VzdG9tUXVpY2tWaWV3UGFnZVwiKVxuY2xhc3MgQ3VzdG9tUXVpY2tWaWV3UGFnZSBleHRlbmRzIFF1aWNrVmlld1BhZ2Uge1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIiwgbXVsdGlwbGU6IHRydWUgfSlcblx0Y3VzdG9tQ29udGVudCE6IENvbnRyb2xbXTtcblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5RdWlja1ZpZXdHcm91cFwiLCBtdWx0aXBsZTogdHJ1ZSwgc2luZ3VsYXJOYW1lOiBcImdyb3VwXCIsIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHRncm91cHMhOiBDb250cm9sW107XG5cblx0b25CZWZvcmVSZW5kZXJpbmcob0V2ZW50OiBhbnkpIHtcblx0XHRpZiAoXG5cdFx0XHR0aGlzLmdldFBhcmVudCgpICYmXG5cdFx0XHR0aGlzLmdldFBhcmVudCgpLmlzQShcInNhcC5mZS5jb3JlLmNvbnRyb2xzLkNvbmRpdGlvbmFsV3JhcHBlclwiKSAmJlxuXHRcdFx0dGhpcy5nZXRQYXJlbnQoKS5nZXRQcm9wZXJ0eShcImNvbmRpdGlvblwiKSA9PT0gdHJ1ZVxuXHRcdCkge1xuXHRcdFx0dGhpcy5zZXRDcm9zc0FwcE5hdkNhbGxiYWNrKCgpID0+IHtcblx0XHRcdFx0Y29uc3Qgc1F1aWNrVmlld1BhZ2VUaXRsZUxpbmtIcmVmID0gKERlbGVnYXRlVXRpbC5nZXRDdXN0b21EYXRhIGFzIGFueSkodGhpcywgXCJ0aXRsZUxpbmtcIik7XG5cdFx0XHRcdGNvbnN0IG9WaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzKTtcblx0XHRcdFx0Y29uc3Qgb0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudChvVmlldyk7XG5cdFx0XHRcdGNvbnN0IG9TaGVsbFNlcnZpY2VIZWxwZXIgPSBvQXBwQ29tcG9uZW50LmdldFNoZWxsU2VydmljZXMoKTtcblx0XHRcdFx0bGV0IG9TaGVsbEhhc2ggPSBvU2hlbGxTZXJ2aWNlSGVscGVyLnBhcnNlU2hlbGxIYXNoKHNRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSHJlZik7XG5cdFx0XHRcdGNvbnN0IG9OYXZBcmdzID0ge1xuXHRcdFx0XHRcdHRhcmdldDoge1xuXHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IG9TaGVsbEhhc2guc2VtYW50aWNPYmplY3QsXG5cdFx0XHRcdFx0XHRhY3Rpb246IG9TaGVsbEhhc2guYWN0aW9uXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRwYXJhbXM6IG9TaGVsbEhhc2gucGFyYW1zXG5cdFx0XHRcdH07XG5cdFx0XHRcdGNvbnN0IHNRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSW50ZW50ID0gb05hdkFyZ3MudGFyZ2V0LnNlbWFudGljT2JqZWN0ICsgXCItXCIgKyBvTmF2QXJncy50YXJnZXQuYWN0aW9uO1xuXG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHRzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCAmJlxuXHRcdFx0XHRcdHRoaXMub0Nyb3NzQXBwTmF2aWdhdG9yICYmXG5cdFx0XHRcdFx0dGhpcy5vQ3Jvc3NBcHBOYXZpZ2F0b3IuaXNOYXZpZ2F0aW9uU3VwcG9ydGVkKFtzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudF0pXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdGlmIChzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCAmJiBzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCAhPT0gXCJcIikge1xuXHRcdFx0XHRcdFx0aWYgKHR5cGVvZiBzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCA9PT0gXCJzdHJpbmdcIiAmJiBzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCAhPT0gXCJcIikge1xuXHRcdFx0XHRcdFx0XHRsZXQgc1RhcmdldEhyZWY7XG5cdFx0XHRcdFx0XHRcdGxldCBvTGlua0NvbnRyb2wgPSB0aGlzLmdldFBhcmVudCgpO1xuXHRcdFx0XHRcdFx0XHR3aGlsZSAob0xpbmtDb250cm9sICYmICFvTGlua0NvbnRyb2wuaXNBKFwic2FwLnVpLm1kYy5MaW5rXCIpKSB7XG5cdFx0XHRcdFx0XHRcdFx0b0xpbmtDb250cm9sID0gb0xpbmtDb250cm9sLmdldFBhcmVudCgpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdGNvbnN0IF9hTGlua3MgPSBvTGlua0NvbnRyb2wuZ2V0TW9kZWwoXCIkc2FwdWltZGNMaW5rXCIpLmdldFByb3BlcnR5KFwiL2xpbmtJdGVtc1wiKTtcblx0XHRcdFx0XHRcdFx0aWYgKF9hTGlua3MpIHtcblx0XHRcdFx0XHRcdFx0XHRpZiAoX2FMaW5rcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IF9hTGlua3MubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKF9hTGlua3NbaV0ua2V5ID09PSBzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNUYXJnZXRIcmVmID0gX2FMaW5rc1tpXS5ocmVmO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoc1RhcmdldEhyZWYpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0b1NoZWxsSGFzaCA9IG9TaGVsbFNlcnZpY2VIZWxwZXIucGFyc2VTaGVsbEhhc2goc1RhcmdldEhyZWYpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0b1NoZWxsSGFzaCA9IG9TaGVsbFNlcnZpY2VIZWxwZXIucGFyc2VTaGVsbEhhc2goc1F1aWNrVmlld1BhZ2VUaXRsZUxpbmtJbnRlbnQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRvU2hlbGxIYXNoID0gb1NoZWxsU2VydmljZUhlbHBlci5wYXJzZVNoZWxsSGFzaChzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0S2VlcEFsaXZlSGVscGVyLnN0b3JlQ29udHJvbFJlZnJlc2hTdHJhdGVneUZvckhhc2gob1ZpZXcsIG9TaGVsbEhhc2gpO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdHRhcmdldDoge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IG9TaGVsbEhhc2guc2VtYW50aWNPYmplY3QsXG5cdFx0XHRcdFx0XHRcdFx0XHRhY3Rpb246IG9TaGVsbEhhc2guYWN0aW9uXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRwYXJhbXM6IG9TaGVsbEhhc2gucGFyYW1zXG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnN0IG9DdXJyZW50U2hlbGxIYXNoID0gb1NoZWxsU2VydmljZUhlbHBlci5wYXJzZVNoZWxsSGFzaCh3aW5kb3cubG9jYXRpb24uaGFzaCk7XG5cdFx0XHRcdFx0S2VlcEFsaXZlSGVscGVyLnN0b3JlQ29udHJvbFJlZnJlc2hTdHJhdGVneUZvckhhc2gob1ZpZXcsIG9DdXJyZW50U2hlbGxIYXNoKTtcblxuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHR0YXJnZXQ6IHtcblx0XHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IG9DdXJyZW50U2hlbGxIYXNoLnNlbWFudGljT2JqZWN0LFxuXHRcdFx0XHRcdFx0XHRhY3Rpb246IG9DdXJyZW50U2hlbGxIYXNoLmFjdGlvbixcblx0XHRcdFx0XHRcdFx0YXBwU3BlY2lmaWNSb3V0ZTogb0N1cnJlbnRTaGVsbEhhc2guYXBwU3BlY2lmaWNSb3V0ZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHBhcmFtczogb0N1cnJlbnRTaGVsbEhhc2gucGFyYW1zXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHN1cGVyLm9uQmVmb3JlUmVuZGVyaW5nKG9FdmVudCk7XG5cdFx0Y29uc3Qgb1BhZ2VDb250ZW50ID0gdGhpcy5nZXRQYWdlQ29udGVudCgpO1xuXHRcdGNvbnN0IG9Gb3JtID0gb1BhZ2VDb250ZW50LmZvcm07XG5cdFx0aWYgKG9Gb3JtKSB7XG5cdFx0XHRjb25zdCBfYUNvbnRlbnQgPSB0aGlzLmN1c3RvbUNvbnRlbnQ7XG5cdFx0XHRpZiAoX2FDb250ZW50ICYmIF9hQ29udGVudC5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdF9hQ29udGVudC5mb3JFYWNoKChfb0NvbnRlbnQ6IGFueSkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IF9vQ29udGVudENsb25lID0gX29Db250ZW50LmNsb25lKCk7XG5cdFx0XHRcdFx0X29Db250ZW50Q2xvbmUuc2V0TW9kZWwodGhpcy5nZXRNb2RlbCgpKTtcblx0XHRcdFx0XHRfb0NvbnRlbnRDbG9uZS5zZXRCaW5kaW5nQ29udGV4dCh0aGlzLmdldEJpbmRpbmdDb250ZXh0KCkpO1xuXHRcdFx0XHRcdG9Gb3JtLmFkZENvbnRlbnQoX29Db250ZW50Q2xvbmUpO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0b0Zvcm0ucmVyZW5kZXIoKTtcblx0XHRcdFx0fSwgMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5pbnRlcmZhY2UgQ3VzdG9tUXVpY2tWaWV3UGFnZSB7XG5cdC8vIFByaXZhdGUgaW4gVUk1XG5cdG9Dcm9zc0FwcE5hdmlnYXRvcjogYW55O1xuXHQvLyBQcml2YXRlIGluIFVJNVxuXHRnZXRQYWdlQ29udGVudCgpOiBhbnk7XG59XG5leHBvcnQgZGVmYXVsdCBDdXN0b21RdWlja1ZpZXdQYWdlO1xuIl19
171
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkN1c3RvbVF1aWNrVmlld1BhZ2UudHMiXSwibmFtZXMiOlsiQ3VzdG9tUXVpY2tWaWV3UGFnZSIsImRlZmluZVVJNUNsYXNzIiwiYWdncmVnYXRpb24iLCJ0eXBlIiwibXVsdGlwbGUiLCJzaW5ndWxhck5hbWUiLCJpc0RlZmF1bHQiLCJvbkJlZm9yZVJlbmRlcmluZyIsIm9FdmVudCIsImdldFBhcmVudCIsImlzQSIsImdldFByb3BlcnR5Iiwic2V0Q3Jvc3NBcHBOYXZDYWxsYmFjayIsInNRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSHJlZiIsIkRlbGVnYXRlVXRpbCIsImdldEN1c3RvbURhdGEiLCJvVmlldyIsIkNvbW1vblV0aWxzIiwiZ2V0VGFyZ2V0VmlldyIsIm9BcHBDb21wb25lbnQiLCJnZXRBcHBDb21wb25lbnQiLCJvU2hlbGxTZXJ2aWNlSGVscGVyIiwiZ2V0U2hlbGxTZXJ2aWNlcyIsIm9TaGVsbEhhc2giLCJwYXJzZVNoZWxsSGFzaCIsIm9OYXZBcmdzIiwidGFyZ2V0Iiwic2VtYW50aWNPYmplY3QiLCJhY3Rpb24iLCJwYXJhbXMiLCJzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCIsIm9Dcm9zc0FwcE5hdmlnYXRvciIsImlzTmF2aWdhdGlvblN1cHBvcnRlZCIsInNUYXJnZXRIcmVmIiwib0xpbmtDb250cm9sIiwiX2FMaW5rcyIsImdldE1vZGVsIiwibGVuZ3RoIiwiaSIsImtleSIsImhyZWYiLCJLZWVwQWxpdmVIZWxwZXIiLCJzdG9yZUNvbnRyb2xSZWZyZXNoU3RyYXRlZ3lGb3JIYXNoIiwib0N1cnJlbnRTaGVsbEhhc2giLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhhc2giLCJhcHBTcGVjaWZpY1JvdXRlIiwib1BhZ2VDb250ZW50IiwiZ2V0UGFnZUNvbnRlbnQiLCJvRm9ybSIsImZvcm0iLCJfYUNvbnRlbnQiLCJjdXN0b21Db250ZW50IiwiZm9yRWFjaCIsIl9vQ29udGVudCIsIl9vQ29udGVudENsb25lIiwiY2xvbmUiLCJzZXRNb2RlbCIsInNldEJpbmRpbmdDb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJhZGRDb250ZW50Iiwic2V0VGltZW91dCIsInJlcmVuZGVyIiwiUXVpY2tWaWV3UGFnZSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BTU1BLG1CLFdBRExDLGNBQWMsQ0FBQywwQ0FBRCxDLFVBRWJDLFdBQVcsQ0FBQztBQUFFQyxJQUFBQSxJQUFJLEVBQUUscUJBQVI7QUFBK0JDLElBQUFBLFFBQVEsRUFBRTtBQUF6QyxHQUFELEMsVUFFWEYsV0FBVyxDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRSxzQkFBUjtBQUFnQ0MsSUFBQUEsUUFBUSxFQUFFLElBQTFDO0FBQWdEQyxJQUFBQSxZQUFZLEVBQUUsT0FBOUQ7QUFBdUVDLElBQUFBLFNBQVMsRUFBRTtBQUFsRixHQUFELEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQUdaQyxpQixHQUFBLDJCQUFrQkMsTUFBbEIsRUFBK0I7QUFBQTs7QUFDOUIsVUFDQyxLQUFLQyxTQUFMLE1BQ0EsS0FBS0EsU0FBTCxHQUFpQkMsR0FBakIsQ0FBcUIseUNBQXJCLENBREEsSUFFQSxLQUFLRCxTQUFMLEdBQWlCRSxXQUFqQixDQUE2QixXQUE3QixNQUE4QyxJQUgvQyxFQUlFO0FBQ0QsYUFBS0Msc0JBQUwsQ0FBNEIsWUFBTTtBQUNqQyxjQUFNQywyQkFBMkIsR0FBSUMsWUFBWSxDQUFDQyxhQUFkLENBQW9DLE1BQXBDLEVBQTBDLFdBQTFDLENBQXBDO0FBQ0EsY0FBTUMsS0FBSyxHQUFHQyxXQUFXLENBQUNDLGFBQVosQ0FBMEIsTUFBMUIsQ0FBZDtBQUNBLGNBQU1DLGFBQWEsR0FBR0YsV0FBVyxDQUFDRyxlQUFaLENBQTRCSixLQUE1QixDQUF0QjtBQUNBLGNBQU1LLG1CQUFtQixHQUFHRixhQUFhLENBQUNHLGdCQUFkLEVBQTVCO0FBQ0EsY0FBSUMsVUFBVSxHQUFHRixtQkFBbUIsQ0FBQ0csY0FBcEIsQ0FBbUNYLDJCQUFu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aW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgS2VlcEFsaXZlSGVscGVyIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0tlZXBBbGl2ZUhlbHBlclwiO1xuaW1wb3J0IERlbGVnYXRlVXRpbCBmcm9tIFwic2FwL2ZlL21hY3Jvcy9EZWxlZ2F0ZVV0aWxcIjtcbmltcG9ydCBRdWlja1ZpZXdQYWdlIGZyb20gXCJzYXAvbS9RdWlja1ZpZXdQYWdlXCI7XG5pbXBvcnQgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5jb250cm9scy5DdXN0b21RdWlja1ZpZXdQYWdlXCIpXG5jbGFzcyBDdXN0b21RdWlja1ZpZXdQYWdlIGV4dGVuZHMgUXVpY2tWaWV3UGFnZSB7XG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLnVpLmNvcmUuQ29udHJvbFwiLCBtdWx0aXBsZTogdHJ1ZSB9KVxuXHRjdXN0b21Db250ZW50ITogQ29udHJvbFtdO1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC5tLlF1aWNrVmlld0dyb3VwXCIsIG11bHRpcGxlOiB0cnVlLCBzaW5ndWxhck5hbWU6IFwiZ3JvdXBcIiwgaXNEZWZhdWx0OiB0cnVlIH0pXG5cdGdyb3VwcyE6IENvbnRyb2xbXTtcblxuXHRvbkJlZm9yZVJlbmRlcmluZyhvRXZlbnQ6IGFueSkge1xuXHRcdGlmIChcblx0XHRcdHRoaXMuZ2V0UGFyZW50KCkgJiZcblx0XHRcdHRoaXMuZ2V0UGFyZW50KCkuaXNBKFwic2FwLmZlLmNvcmUuY29udHJvbHMuQ29uZGl0aW9uYWxXcmFwcGVyXCIpICYmXG5cdFx0XHR0aGlzLmdldFBhcmVudCgpLmdldFByb3BlcnR5KFwiY29uZGl0aW9uXCIpID09PSB0cnVlXG5cdFx0KSB7XG5cdFx0XHR0aGlzLnNldENyb3NzQXBwTmF2Q2FsbGJhY2soKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0hyZWYgPSAoRGVsZWdhdGVVdGlsLmdldEN1c3RvbURhdGEgYXMgYW55KSh0aGlzLCBcInRpdGxlTGlua1wiKTtcblx0XHRcdFx0Y29uc3Qgb1ZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMpO1xuXHRcdFx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KG9WaWV3KTtcblx0XHRcdFx0Y29uc3Qgb1NoZWxsU2VydmljZUhlbHBlciA9IG9BcHBDb21wb25lbnQuZ2V0U2hlbGxTZXJ2aWNlcygpO1xuXHRcdFx0XHRsZXQgb1NoZWxsSGFzaCA9IG9TaGVsbFNlcnZpY2VIZWxwZXIucGFyc2VTaGVsbEhhc2goc1F1aWNrVmlld1BhZ2VUaXRsZUxpbmtIcmVmKTtcblx0XHRcdFx0Y29uc3Qgb05hdkFyZ3MgPSB7XG5cdFx0XHRcdFx0dGFyZ2V0OiB7XG5cdFx0XHRcdFx0XHRzZW1hbnRpY09iamVjdDogb1NoZWxsSGFzaC5zZW1hbnRpY09iamVjdCxcblx0XHRcdFx0XHRcdGFjdGlvbjogb1NoZWxsSGFzaC5hY3Rpb25cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHBhcmFtczogb1NoZWxsSGFzaC5wYXJhbXNcblx0XHRcdFx0fTtcblx0XHRcdFx0Y29uc3Qgc1F1aWNrVmlld1BhZ2VUaXRsZUxpbmtJbnRlbnQgPSBvTmF2QXJncy50YXJnZXQuc2VtYW50aWNPYmplY3QgKyBcIi1cIiArIG9OYXZBcmdzLnRhcmdldC5hY3Rpb247XG5cblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdHNRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSW50ZW50ICYmXG5cdFx0XHRcdFx0dGhpcy5vQ3Jvc3NBcHBOYXZpZ2F0b3IgJiZcblx0XHRcdFx0XHR0aGlzLm9Dcm9zc0FwcE5hdmlnYXRvci5pc05hdmlnYXRpb25TdXBwb3J0ZWQoW3NRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSW50ZW50XSlcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0aWYgKHNRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSW50ZW50ICYmIHNRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSW50ZW50ICE9PSBcIlwiKSB7XG5cdFx0XHRcdFx0XHRpZiAodHlwZW9mIHNRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSW50ZW50ID09PSBcInN0cmluZ1wiICYmIHNRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSW50ZW50ICE9PSBcIlwiKSB7XG5cdFx0XHRcdFx0XHRcdGxldCBzVGFyZ2V0SHJlZjtcblx0XHRcdFx0XHRcdFx0bGV0IG9MaW5rQ29udHJvbCA9IHRoaXMuZ2V0UGFyZW50KCk7XG5cdFx0XHRcdFx0XHRcdHdoaWxlIChvTGlua0NvbnRyb2wgJiYgIW9MaW5rQ29udHJvbC5pc0EoXCJzYXAudWkubWRjLkxpbmtcIikpIHtcblx0XHRcdFx0XHRcdFx0XHRvTGlua0NvbnRyb2wgPSBvTGlua0NvbnRyb2wuZ2V0UGFyZW50KCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0Y29uc3QgX2FMaW5rcyA9IG9MaW5rQ29udHJvbC5nZXRNb2RlbChcIiRzYXB1aW1kY0xpbmtcIikuZ2V0UHJvcGVydHkoXCIvbGlua0l0ZW1zXCIpO1xuXHRcdFx0XHRcdFx0XHRpZiAoX2FMaW5rcykge1xuXHRcdFx0XHRcdFx0XHRcdGlmIChfYUxpbmtzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgX2FMaW5rcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoX2FMaW5rc1tpXS5rZXkgPT09IHNRdWlja1ZpZXdQYWdlVGl0bGVMaW5rSW50ZW50KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c1RhcmdldEhyZWYgPSBfYUxpbmtzW2ldLmhyZWY7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdGlmIChzVGFyZ2V0SHJlZikge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRvU2hlbGxIYXNoID0gb1NoZWxsU2VydmljZUhlbHBlci5wYXJzZVNoZWxsSGFzaChzVGFyZ2V0SHJlZik7XG5cdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRvU2hlbGxIYXNoID0gb1NoZWxsU2VydmljZUhlbHBlci5wYXJzZVNoZWxsSGFzaChzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9TaGVsbEhhc2gucGFyYW1zID0gb05hdkFyZ3MucGFyYW1zO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRvU2hlbGxIYXNoID0gb1NoZWxsU2VydmljZUhlbHBlci5wYXJzZVNoZWxsSGFzaChzUXVpY2tWaWV3UGFnZVRpdGxlTGlua0ludGVudCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0S2VlcEFsaXZlSGVscGVyLnN0b3JlQ29udHJvbFJlZnJlc2hTdHJhdGVneUZvckhhc2gob1ZpZXcsIG9TaGVsbEhhc2gpO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdHRhcmdldDoge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IG9TaGVsbEhhc2guc2VtYW50aWNPYmplY3QsXG5cdFx0XHRcdFx0XHRcdFx0XHRhY3Rpb246IG9TaGVsbEhhc2guYWN0aW9uXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRwYXJhbXM6IG9TaGVsbEhhc2gucGFyYW1zXG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnN0IG9DdXJyZW50U2hlbGxIYXNoID0gb1NoZWxsU2VydmljZUhlbHBlci5wYXJzZVNoZWxsSGFzaCh3aW5kb3cubG9jYXRpb24uaGFzaCk7XG5cdFx0XHRcdFx0S2VlcEFsaXZlSGVscGVyLnN0b3JlQ29udHJvbFJlZnJlc2hTdHJhdGVneUZvckhhc2gob1ZpZXcsIG9DdXJyZW50U2hlbGxIYXNoKTtcblxuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHR0YXJnZXQ6IHtcblx0XHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IG9DdXJyZW50U2hlbGxIYXNoLnNlbWFudGljT2JqZWN0LFxuXHRcdFx0XHRcdFx0XHRhY3Rpb246IG9DdXJyZW50U2hlbGxIYXNoLmFjdGlvbixcblx0XHRcdFx0XHRcdFx0YXBwU3BlY2lmaWNSb3V0ZTogb0N1cnJlbnRTaGVsbEhhc2guYXBwU3BlY2lmaWNSb3V0ZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHBhcmFtczogb0N1cnJlbnRTaGVsbEhhc2gucGFyYW1zXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHN1cGVyLm9uQmVmb3JlUmVuZGVyaW5nKG9FdmVudCk7XG5cdFx0Y29uc3Qgb1BhZ2VDb250ZW50ID0gdGhpcy5nZXRQYWdlQ29udGVudCgpO1xuXHRcdGNvbnN0IG9Gb3JtID0gb1BhZ2VDb250ZW50LmZvcm07XG5cdFx0aWYgKG9Gb3JtKSB7XG5cdFx0XHRjb25zdCBfYUNvbnRlbnQgPSB0aGlzLmN1c3RvbUNvbnRlbnQ7XG5cdFx0XHRpZiAoX2FDb250ZW50ICYmIF9hQ29udGVudC5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdF9hQ29udGVudC5mb3JFYWNoKChfb0NvbnRlbnQ6IGFueSkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IF9vQ29udGVudENsb25lID0gX29Db250ZW50LmNsb25lKCk7XG5cdFx0XHRcdFx0X29Db250ZW50Q2xvbmUuc2V0TW9kZWwodGhpcy5nZXRNb2RlbCgpKTtcblx0XHRcdFx0XHRfb0NvbnRlbnRDbG9uZS5zZXRCaW5kaW5nQ29udGV4dCh0aGlzLmdldEJpbmRpbmdDb250ZXh0KCkpO1xuXHRcdFx0XHRcdG9Gb3JtLmFkZENvbnRlbnQoX29Db250ZW50Q2xvbmUpO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0b0Zvcm0ucmVyZW5kZXIoKTtcblx0XHRcdFx0fSwgMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5pbnRlcmZhY2UgQ3VzdG9tUXVpY2tWaWV3UGFnZSB7XG5cdC8vIFByaXZhdGUgaW4gVUk1XG5cdG9Dcm9zc0FwcE5hdmlnYXRvcjogYW55O1xuXHQvLyBQcml2YXRlIGluIFVJNVxuXHRnZXRQYWdlQ29udGVudCgpOiBhbnk7XG59XG5leHBvcnQgZGVmYXVsdCBDdXN0b21RdWlja1ZpZXdQYWdlO1xuIl19
@@ -58,6 +58,7 @@ class CustomQuickViewPage extends QuickViewPage {
58
58
  oShellHash = oShellServiceHelper.parseShellHash(sTargetHref);
59
59
  } else {
60
60
  oShellHash = oShellServiceHelper.parseShellHash(sQuickViewPageTitleLinkIntent);
61
+ oShellHash.params = oNavArgs.params;
61
62
  }
62
63
  }
63
64
  } else {
@@ -1,7 +1,10 @@
1
1
  <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core">
2
2
  <Dialog title="{i18n>WARNING}" state="Warning" type="Message" contentWidth="22rem">
3
3
  <content>
4
- <Text text="{i18n>ST_DRAFT_DATALOSS_POPUP_MESSAGE}" wrapping="true" />
4
+ <Text
5
+ text="{= !%{HasActiveEntity} ? ${sap.fe.i18n>ST_DRAFT_DATALOSS_POPUP_MESSAGE_CREATE} : ${sap.fe.i18n>ST_DRAFT_DATALOSS_POPUP_MESSAGE_SAVE} }"
6
+ wrapping="true"
7
+ />
5
8
  <List
6
9
  mode="SingleSelectLeft"
7
10
  showSeparators="None"
@@ -18,8 +21,13 @@
18
21
  <core:CustomData key="itemKey" value="draftDataLossOptionSave" />
19
22
  </customData>
20
23
  <VBox class="sapUiTinyMargin">
21
- <Label text="{i18n>ST_DRAFT_DATALOSS_SAVE_DRAFT_RBL}" design="Bold" />
22
- <Text text="{i18n>ST_DRAFT_DATALOSS_SAVE_DRAFT_TOL}" />
24
+ <Label
25
+ text="{= !%{HasActiveEntity} ? ${sap.fe.i18n>ST_DRAFT_DATALOSS_CREATE_ENTITY_RBL} : ${sap.fe.i18n>ST_DRAFT_DATALOSS_SAVE_DRAFT_RBL} }"
26
+ design="Bold"
27
+ />
28
+ <Text
29
+ text="{= !%{HasActiveEntity} ? ${sap.fe.i18n>ST_DRAFT_DATALOSS_CREATE_ENTITY_TOL} : ${sap.fe.i18n>ST_DRAFT_DATALOSS_SAVE_DRAFT_TOL} }"
30
+ />
23
31
  </VBox>
24
32
  </CustomListItem>
25
33
  <CustomListItem>
@@ -81,9 +81,11 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Fragment", "sap/ui/core/util/XMLPrep
81
81
  });
82
82
  }).then(function (popup) {
83
83
  dataLossPopup = popup;
84
+ popup.attachAfterOpen(function () {
85
+ selectAndFocusFirstEntry(dataLossPopup);
86
+ });
84
87
  view.addDependent(dataLossPopup);
85
88
  dataLossPopup.open();
86
- selectAndFocusFirstEntry(dataLossPopup);
87
89
  fragmentController.setDataLossPopup(dataLossPopup);
88
90
  }).catch(function (error) {
89
91
  Log.error("Error while opening the Discard Dialog fragment", error);
@@ -131,7 +133,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Fragment", "sap/ui/core/util/XMLPrep
131
133
  if (controller.isA("sap.fe.templates.ObjectPage.ObjectPageController")) {
132
134
  return controller._saveDocument(context);
133
135
  } else {
134
- controller.editFlow.saveDocument(context);
136
+ return controller.editFlow.saveDocument(context);
135
137
  }
136
138
  }
137
139
 
@@ -154,13 +156,21 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Fragment", "sap/ui/core/util/XMLPrep
154
156
  // use it here for finding the correct list in the dialog.
155
157
  var dataLossOptionsList = dataLossPopup.getContent().find(function (element) {
156
158
  return element.data("listIdentifier") === "draftDataLossOptionsList";
157
- });
159
+ }); // Preselect the first entry in the list
160
+
158
161
  var firstListItemOption = dataLossOptionsList.getItems()[0];
159
- dataLossOptionsList.setSelectedItem(firstListItemOption);
160
- firstListItemOption.focus();
162
+ dataLossOptionsList.setSelectedItem(firstListItemOption); // By default set the focus on the first button of the dialog
163
+
164
+ dataLossPopup.getButtons()[0].focus();
161
165
  }
162
166
 
163
167
  _exports.selectAndFocusFirstEntry = selectAndFocusFirstEntry;
164
- return _exports;
168
+ return {
169
+ performAfterDiscardorKeepDraft: performAfterDiscardorKeepDraft,
170
+ discardDraft: discardDraft,
171
+ saveDocument: saveDocument,
172
+ getSelectedKey: getSelectedKey,
173
+ selectAndFocusFirstEntry: selectAndFocusFirstEntry
174
+ };
165
175
  }, false);
166
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFMb3NzT3JEcmFmdERpc2NhcmRIYW5kbGVyLnRzIl0sIm5hbWVzIjpbIkRyYWZ0RGF0YUxvc3NPcHRpb25zIiwiZm5PbkRhdGFMb3NzQ29uZmlybWVkIiwiZm5PbkRhdGFMb3NzQ2FuY2VsIiwiZm5EYXRhTG9zc0NvbmZpcm1hdGlvbiIsIm9uRGF0YUxvc3NPayIsIm9uRGF0YUxvc3NDYW5jZWwiLCJjb250cm9sbGVyIiwic2tpcEJpbmRpbmdUb1ZpZXciLCJkYXRhTG9zc1BvcHVwIiwiZnJhZ21lbnROYW1lIiwidmlldyIsImdldFZpZXciLCJmcmFnbWVudENvbnRyb2xsZXIiLCJzZWxlY3RlZEtleSIsImdldFNlbGVjdGVkS2V5IiwiU2F2ZSIsInNhdmVEb2N1bWVudCIsInRoZW4iLCJjYXRjaCIsImVycm9yIiwiTG9nIiwiY2xvc2UiLCJLZWVwIiwiRGlzY2FyZCIsImRpc2NhcmREcmFmdCIsInNldERhdGFMb3NzUG9wdXAiLCJpMThuTW9kZWwiLCJnZXRNb2RlbCIsImxvY2FsVGhpc01vZGVsIiwiSlNPTk1vZGVsIiwicHJlcHJvY2Vzc29yU2V0dGluZ3MiLCJiaW5kaW5nQ29udGV4dHMiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsIm1vZGVscyIsIm9wZW4iLCJzZWxlY3RBbmRGb2N1c0ZpcnN0RW50cnkiLCJkaWFsb2dGcmFnbWVudCIsIlhNTFRlbXBsYXRlUHJvY2Vzc29yIiwibG9hZFRlbXBsYXRlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJYTUxQcmVwcm9jZXNzb3IiLCJwcm9jZXNzIiwibmFtZSIsImZyYWdtZW50IiwiRnJhZ21lbnQiLCJsb2FkIiwiZGVmaW5pdGlvbiIsInBvcHVwIiwiYWRkRGVwZW5kZW50IiwicGVyZm9ybUFmdGVyRGlzY2FyZG9yS2VlcERyYWZ0IiwicHJvY2Vzc0Z1bmN0aW9uT25EYXRhbG9zc09rIiwicHJvY2Vzc0Z1bmN0aW9uT25EYXRhbG9zc0NhbmNlbCIsInJlamVjdCIsImRhdGFMb3NzUG9wdXBPayIsImNvbnRleHQiLCJyZXR1cm5WYWx1ZSIsImRhdGFMb3NzUG9wdXBDYW5jZWwiLCJnZXRCaW5kaW5nQ29udGV4dCIsInBhcmFtcyIsInNraXBCYWNrTmF2aWdhdGlvbiIsInNraXBEaXNjYXJkUG9wb3ZlciIsInVuZGVmaW5lZCIsImVkaXRGbG93IiwiY2FuY2VsRG9jdW1lbnQiLCJpc0EiLCJfc2F2ZURvY3VtZW50IiwiZGF0YUxvc3NPcHRpb25zTGlzdCIsImdldENvbnRlbnQiLCJmaW5kIiwiZWxlbWVudCIsImRhdGEiLCJnZXRTZWxlY3RlZEl0ZW0iLCJmaXJzdExpc3RJdGVtT3B0aW9uIiwiZ2V0SXRlbXMiLCJzZXRTZWxlY3RlZEl0ZW0iLCJmb2N1cyJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7O01BT0tBLG9COzthQUFBQSxvQjtBQUFBQSxJQUFBQSxvQjtBQUFBQSxJQUFBQSxvQjtBQUFBQSxJQUFBQSxvQjtLQUFBQSxvQixLQUFBQSxvQjs7QUFNTCxNQUFJQyxxQkFBSjtBQUNBLE1BQUlDLGtCQUFKOztBQUNBLFdBQVNDLHNCQUFULENBQWdDQyxZQUFoQyxFQUFtREMsZ0JBQW5ELEVBQTBFQyxVQUExRSxFQUEyRkMsaUJBQTNGLEVBQW1IO0FBQ2xIO0FBQ0E7QUFDQTtBQUNBLFFBQUlDLGFBQUo7QUFDQVAsSUFBQUEscUJBQXFCLEdBQUdHLFlBQXhCO0FBQ0FGLElBQUFBLGtCQUFrQixHQUFHRyxnQkFBckI7QUFDQSxRQUFNSSxZQUFZLEdBQUcsMkRBQXJCO0FBQ0EsUUFBTUMsSUFBSSxHQUFHSixVQUFVLENBQUNLLE9BQVgsRUFBYjtBQUNBLFFBQU1DLGtCQUF1QixHQUFHO0FBQy9CUixNQUFBQSxZQUFZLEVBQUUsWUFBWTtBQUN6QixZQUFNUyxXQUFXLEdBQUdDLGNBQWMsQ0FBQ04sYUFBRCxDQUFsQzs7QUFDQSxZQUFJSyxXQUFXLEtBQUtiLG9CQUFvQixDQUFDZSxJQUF6QyxFQUErQztBQUM5Q0MsVUFBQUEsWUFBWSxDQUFDVixVQUFELENBQVosQ0FDRVcsSUFERixDQUNP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bXBvcnQgQ3VzdG9tTGlzdEl0ZW0gZnJvbSBcInNhcC9tL0N1c3RvbUxpc3RJdGVtXCI7XG5pbXBvcnQgRGlhbG9nIGZyb20gXCJzYXAvbS9EaWFsb2dcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJzYXAvbS9MaXN0XCI7XG5pbXBvcnQgRnJhZ21lbnQgZnJvbSBcInNhcC91aS9jb3JlL0ZyYWdtZW50XCI7XG5pbXBvcnQgWE1MUHJlcHJvY2Vzc29yIGZyb20gXCJzYXAvdWkvY29yZS91dGlsL1hNTFByZXByb2Nlc3NvclwiO1xuaW1wb3J0IFhNTFRlbXBsYXRlUHJvY2Vzc29yIGZyb20gXCJzYXAvdWkvY29yZS9YTUxUZW1wbGF0ZVByb2Nlc3NvclwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5cbmVudW0gRHJhZnREYXRhTG9zc09wdGlvbnMge1xuXHRTYXZlID0gXCJkcmFmdERhdGFMb3NzT3B0aW9uU2F2ZVwiLFxuXHRLZWVwID0gXCJkcmFmdERhdGFMb3NzT3B0aW9uS2VlcFwiLFxuXHREaXNjYXJkID0gXCJkcmFmdERhdGFMb3NzT3B0aW9uRGlzY2FyZFwiXG59XG5cbmxldCBmbk9uRGF0YUxvc3NDb25maXJtZWQ6IEZ1bmN0aW9uO1xubGV0IGZuT25EYXRhTG9zc0NhbmNlbDogRnVuY3Rpb247XG5mdW5jdGlvbiBmbkRhdGFMb3NzQ29uZmlybWF0aW9uKG9uRGF0YUxvc3NPazogYW55LCBvbkRhdGFMb3NzQ2FuY2VsOiBhbnksIGNvbnRyb2xsZXI6IGFueSwgc2tpcEJpbmRpbmdUb1ZpZXc6IGFueSkge1xuXHQvLyBPcGVuIHRoZSBkYXRhIGxvc3MgcG9wdXAgYW5kIGFmdGVyIHByb2Nlc3NpbmcgdGhlIHNlbGVjdGVkIGZ1bmN0aW9uIGZpbmFsbHkgY2FsbFxuXHQvLyBvbkRhdGFMb3NzQ29uZmlybWVkIHdoaWNoIHJlc29sdmVzIHRoZSBwcm9taXNlIGFuZCBsZWFkcyB0byBwcm9jZXNzaW5nIG9mIHRoZSBvcmlnaW5hbGx5XG5cdC8vIHRyaWdnZXJlZCBhY3Rpb24gbGlrZSBlLmcuIGEgYmFjayBuYXZpZ2F0aW9uXG5cdGxldCBkYXRhTG9zc1BvcHVwOiBEaWFsb2c7XG5cdGZuT25EYXRhTG9zc0NvbmZpcm1lZCA9IG9uRGF0YUxvc3NPaztcblx0Zm5PbkRhdGFMb3NzQ2FuY2VsID0gb25EYXRhTG9zc0NhbmNlbDtcblx0Y29uc3QgZnJhZ21lbnROYW1lID0gXCJzYXAuZmUuY29yZS5jb250cm9scy5EYXRhTG9zc09yRHJhZnREaXNjYXJkLkRhdGFMb3NzRHJhZnRcIjtcblx0Y29uc3QgdmlldyA9IGNvbnRyb2xsZXIuZ2V0VmlldygpO1xuXHRjb25zdCBmcmFnbWVudENvbnRyb2xsZXI6IGFueSA9IHtcblx0XHRvbkRhdGFMb3NzT2s6IGZ1bmN0aW9uICgpIHtcblx0XHRcdGNvbnN0IHNlbGVjdGVkS2V5ID0gZ2V0U2VsZWN0ZWRLZXkoZGF0YUxvc3NQb3B1cCk7XG5cdFx0XHRpZiAoc2VsZWN0ZWRLZXkgPT09IERyYWZ0RGF0YUxvc3NPcHRpb25zLlNhdmUpIHtcblx0XHRcdFx0c2F2ZURvY3VtZW50KGNvbnRyb2xsZXIpXG5cdFx0XHRcdFx0LnRoZW4oZm5PbkRhdGFMb3NzQ29uZmlybWVkKVxuXHRcdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xuXHRcdFx0XHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgc2F2aW5nIGRvY3VtZW50XCIsIGVycm9yKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0ZGF0YUxvc3NQb3B1cC5jbG9zZSgpO1xuXHRcdFx0fSBlbHNlIGlmIChzZWxlY3RlZEtleSA9PT0gRHJhZnREYXRhTG9zc09wdGlvbnMuS2VlcCkge1xuXHRcdFx0XHRmbk9uRGF0YUxvc3NDb25maXJtZWQoKTtcblx0XHRcdFx0ZGF0YUxvc3NQb3B1cC5jbG9zZSgpO1xuXHRcdFx0fSBlbHNlIGlmIChzZWxlY3RlZEtleSA9PT0gRHJhZnREYXRhTG9zc09wdGlvbnMuRGlzY2FyZCkge1xuXHRcdFx0XHRkaXNjYXJkRHJhZnQoY29udHJvbGxlciwgc2tpcEJpbmRpbmdUb1ZpZXcpXG5cdFx0XHRcdFx0LnRoZW4oZm5PbkRhdGFMb3NzQ29uZmlybWVkKVxuXHRcdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xuXHRcdFx0XHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgZGlzY2FyZGluZyBkcmFmdFwiLCBlcnJvcik7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdGRhdGFMb3NzUG9wdXAuY2xvc2UoKTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdG9uRGF0YUxvc3NDYW5jZWw6IGZ1bmN0aW9uICgpIHtcblx0XHRcdGZuT25EYXRhTG9zc0NhbmNlbCgpO1xuXHRcdFx0ZGF0YUxvc3NQb3B1cC5jbG9zZSgpO1xuXHRcdH0sXG5cdFx0c2V0RGF0YUxvc3NQb3B1cDogZnVuY3Rpb24gKGRhdGFMb3NzUG9wdXA6IERpYWxvZykge1xuXHRcdFx0Y29udHJvbGxlci5kYXRhTG9zc1BvcHVwID0gZGF0YUxvc3NQb3B1cDtcblx0XHR9XG5cdH07XG5cblx0Y29uc3QgaTE4bk1vZGVsID0gdmlldy5nZXRNb2RlbChcInNhcC5mZS5pMThuXCIpO1xuXHRjb25zdCBsb2NhbFRoaXNNb2RlbCA9IG5ldyBKU09OTW9kZWwoe30pLFxuXHRcdHByZXByb2Nlc3NvclNldHRpbmdzID0ge1xuXHRcdFx0YmluZGluZ0NvbnRleHRzOiB7XG5cdFx0XHRcdFwidGhpc1wiOiBsb2NhbFRoaXNNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIilcblx0XHRcdH0sXG5cdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XCJ0aGlzXCI6IGxvY2FsVGhpc01vZGVsLFxuXHRcdFx0XHRcImkxOG5cIjogaTE4bk1vZGVsXG5cdFx0XHR9XG5cdFx0fTtcblxuXHRpZiAoY29udHJvbGxlci5kYXRhTG9zc1BvcHVwKSB7XG5cdFx0ZGF0YUxvc3NQb3B1cCA9IGNvbnRyb2xsZXIuZGF0YUxvc3NQb3B1cDtcblx0XHRkYXRhTG9zc1BvcHVwLm9wZW4oKTtcblx0XHRzZWxlY3RBbmRGb2N1c0ZpcnN0RW50cnkoZGF0YUxvc3NQb3B1cCk7XG5cdH0gZWxzZSB7XG5cdFx0Y29uc3QgZGlhbG9nRnJhZ21lbnQgPSBYTUxUZW1wbGF0ZVByb2Nlc3Nvci5sb2FkVGVtcGxhdGUoZnJhZ21lbnROYW1lLCBcImZyYWdtZW50XCIpO1xuXHRcdFByb21pc2UucmVzb2x2ZShYTUxQcmVwcm9jZXNzb3IucHJvY2VzcyhkaWFsb2dGcmFnbWVudCwgeyBuYW1lOiBmcmFnbWVudE5hbWUgfSwgcHJlcHJvY2Vzc29yU2V0dGluZ3MpKVxuXHRcdFx0LnRoZW4oKGZyYWdtZW50KSA9PiB7XG5cdFx0XHRcdHJldHVybiBGcmFnbWVudC5sb2FkKHsgZGVmaW5pdGlvbjogZnJhZ21lbnQsIGNvbnRyb2xsZXI6IGZyYWdtZW50Q29udHJvbGxlciB9KTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbigocG9wdXA6IGFueSkgPT4ge1xuXHRcdFx0XHRkYXRhTG9zc1BvcHVwID0gcG9wdXA7XG5cdFx0XHRcdHZpZXcuYWRkRGVwZW5kZW50KGRhdGFMb3NzUG9wdXApO1xuXHRcdFx0XHRkYXRhTG9zc1BvcHVwLm9wZW4oKTtcblx0XHRcdFx0c2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5KGRhdGFMb3NzUG9wdXApO1xuXHRcdFx0XHRmcmFnbWVudENvbnRyb2xsZXIuc2V0RGF0YUxvc3NQb3B1cChkYXRhTG9zc1BvcHVwKTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcblx0XHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgb3BlbmluZyB0aGUgRGlzY2FyZCBEaWFsb2cgZnJhZ21lbnRcIiwgZXJyb3IpO1xuXHRcdFx0fSk7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBlcmZvcm1BZnRlckRpc2NhcmRvcktlZXBEcmFmdChcblx0cHJvY2Vzc0Z1bmN0aW9uT25EYXRhbG9zc09rOiBhbnksXG5cdHByb2Nlc3NGdW5jdGlvbk9uRGF0YWxvc3NDYW5jZWw6IGFueSxcblx0Y29udHJvbGxlcjogYW55LFxuXHRza2lwQmluZGluZ1RvVmlldzogYW55XG4pIHtcblx0Ly8gRGVwZW5kaW5nIG9uIGlmIHRoZSB1c2VyIGNsb3NlZCB0aGUgZGF0YSBsb3NzIHBvcHVwIHdpdGggT2sgb3IgQ2FuY2VsLFxuXHQvLyBleGVjdXRlIHRoZSBwcm92aWRlZCBmb2xsb3ctdXAgZnVuY3Rpb24gYW5kIHJlc29sdmUgb3IgcmVqZWN0IHRoZSBwcm9taXNlXG5cdHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQsIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCkge1xuXHRcdGNvbnN0IGRhdGFMb3NzUG9wdXBPayA9IGZ1bmN0aW9uIChjb250ZXh0OiBhbnkpIHtcblx0XHRcdGNvbnN0IHJldHVyblZhbHVlID0gcHJvY2Vzc0Z1bmN0aW9uT25EYXRhbG9zc09rKGNvbnRleHQpO1xuXHRcdFx0cmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG5cdFx0fTtcblx0XHRjb25zdCBkYXRhTG9zc1BvcHVwQ2FuY2VsID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0cHJvY2Vzc0Z1bmN0aW9uT25EYXRhbG9zc0NhbmNlbCgpO1xuXHRcdFx0cmVqZWN0KCk7XG5cdFx0fTtcblx0XHRmbkRhdGFMb3NzQ29uZmlybWF0aW9uKGRhdGFMb3NzUG9wdXBPaywgZGF0YUxvc3NQb3B1cENhbmNlbCwgY29udHJvbGxlciwgc2tpcEJpbmRpbmdUb1ZpZXcpO1xuXHR9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpc2NhcmREcmFmdChjb250cm9sbGVyOiBhbnksIHNraXBCaW5kaW5nVG9WaWV3OiBhbnkpIHtcblx0Y29uc3QgY29udGV4dCA9IGNvbnRyb2xsZXIuZ2V0VmlldygpLmdldEJpbmRpbmdDb250ZXh0KCk7XG5cdGNvbnN0IHBhcmFtcyA9IHtcblx0XHRza2lwQmFja05hdmlnYXRpb246IHRydWUsXG5cdFx0c2tpcERpc2NhcmRQb3BvdmVyOiB0cnVlLFxuXHRcdHNraXBCaW5kaW5nVG9WaWV3OiBza2lwQmluZGluZ1RvVmlldyAhPT0gdW5kZWZpbmVkID8gc2tpcEJpbmRpbmdUb1ZpZXcgOiB0cnVlXG5cdH07XG5cdHJldHVybiBjb250cm9sbGVyLmVkaXRGbG93LmNhbmNlbERvY3VtZW50KGNvbnRleHQsIHBhcmFtcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzYXZlRG9jdW1lbnQoY29udHJvbGxlcjogYW55KSB7XG5cdGNvbnN0IGNvbnRleHQgPSBjb250cm9sbGVyLmdldFZpZXcoKS5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHQvLyBXZSBjaGVjayBpZiB3ZSBhcmUgb24gdGhlIE9QIGFuZCB0aGVuIGNhbGwgdGhlIGludGVybmFsIF9zYXZlRG9jdW1lbnQgZnJvbSB0aGUgT1AgY29udHJvbGxlclxuXHQvLyBzaW5jZSBoZXJlIHNvbWUgc3BlY2lhbCBoYW5kbGluZyBpcyBkb25lIGZvciBjcmVhdGlvblJvdyBiZWZvcmUgZWRpdEZsb3cuc2F2ZURvY3VtZW50IGlzIGNhbGxlZC5cblx0Ly8gSW4gY2FzZSBvZiBhIGN1c3RvbSBjb250cm9sbGVyIHdlIGRpcmVjdGx5IGNhbGwgc2F2ZURvY3VtZW50IGZyb20gdGhlIGVkaXRGbG93XG5cdGlmIChjb250cm9sbGVyLmlzQShcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5PYmplY3RQYWdlQ29udHJvbGxlclwiKSkge1xuXHRcdHJldHVybiBjb250cm9sbGVyLl9zYXZlRG9jdW1lbnQoY29udGV4dCk7XG5cdH0gZWxzZSB7XG5cdFx0Y29udHJvbGxlci5lZGl0Rmxvdy5zYXZlRG9jdW1lbnQoY29udGV4dCk7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdGVkS2V5KGRhdGFMb3NzUG9wdXA6IERpYWxvZykge1xuXHQvLyBGb3Igbm90IHVzaW5nIGNvbnRyb2wgSURzIHdlIGludHJvZHVjZWQgY3VzdG9tRGF0YSBpbiB0aGUgZnJhZ21lbnQgYW5kXG5cdC8vIHVzZSBpdCBoZXJlIGZvciBmaW5kaW5nIHRoZSBjb3JyZWN0IGxpc3QgaW4gdGhlIGRpYWxvZyBhbmQgZm9yXG5cdC8vIGRldGVybWluaW5nIHRoZSBzZWxlY3RlZCBvcHRpb24gZnJvbSB0aGUgbGlzdFxuXHRjb25zdCBkYXRhTG9zc09wdGlvbnNMaXN0OiBMaXN0ID0gZGF0YUxvc3NQb3B1cFxuXHRcdC5nZXRDb250ZW50KClcblx0XHQuZmluZCgoZWxlbWVudCkgPT4gZWxlbWVudC5kYXRhKFwibGlzdElkZW50aWZpZXJcIikgPT09IFwiZHJhZnREYXRhTG9zc09wdGlvbnNMaXN0XCIpIGFzIExpc3Q7XG5cdHJldHVybiBkYXRhTG9zc09wdGlvbnNMaXN0LmdldFNlbGVjdGVkSXRlbSgpLmRhdGEoXCJpdGVtS2V5XCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5KGRhdGFMb3NzUG9wdXA6IERpYWxvZykge1xuXHQvLyBGb3Igbm90IHVzaW5nIGNvbnRyb2wgSURzIHdlIGludHJvZHVjZWQgY3VzdG9tRGF0YSBpbiB0aGUgZnJhZ21lbnQgYW5kXG5cdC8vIHVzZSBpdCBoZXJlIGZvciBmaW5kaW5nIHRoZSBjb3JyZWN0IGxpc3QgaW4gdGhlIGRpYWxvZy5cblx0Y29uc3QgZGF0YUxvc3NPcHRpb25zTGlzdDogTGlzdCA9IGRhdGFMb3NzUG9wdXBcblx0XHQuZ2V0Q29udGVudCgpXG5cdFx0LmZpbmQoKGVsZW1lbnQpID0+IGVsZW1lbnQuZGF0YShcImxpc3RJZGVudGlmaWVyXCIpID09PSBcImRyYWZ0RGF0YUxvc3NPcHRpb25zTGlzdFwiKSBhcyBMaXN0O1xuXHRjb25zdCBmaXJzdExpc3RJdGVtT3B0aW9uOiBDdXN0b21MaXN0SXRlbSA9IGRhdGFMb3NzT3B0aW9uc0xpc3QuZ2V0SXRlbXMoKVswXSBhcyBDdXN0b21MaXN0SXRlbTtcblx0ZGF0YUxvc3NPcHRpb25zTGlzdC5zZXRTZWxlY3RlZEl0ZW0oZmlyc3RMaXN0SXRlbU9wdGlvbik7XG5cdGZpcnN0TGlzdEl0ZW1PcHRpb24uZm9jdXMoKTtcbn1cbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFMb3NzT3JEcmFmdERpc2NhcmRIYW5kbGVyLnRzIl0sIm5hbWVzIjpbIkRyYWZ0RGF0YUxvc3NPcHRpb25zIiwiZm5PbkRhdGFMb3NzQ29uZmlybWVkIiwiZm5PbkRhdGFMb3NzQ2FuY2VsIiwiZm5EYXRhTG9zc0NvbmZpcm1hdGlvbiIsIm9uRGF0YUxvc3NPayIsIm9uRGF0YUxvc3NDYW5jZWwiLCJjb250cm9sbGVyIiwic2tpcEJpbmRpbmdUb1ZpZXciLCJkYXRhTG9zc1BvcHVwIiwiZnJhZ21lbnROYW1lIiwidmlldyIsImdldFZpZXciLCJmcmFnbWVudENvbnRyb2xsZXIiLCJzZWxlY3RlZEtleSIsImdldFNlbGVjdGVkS2V5IiwiU2F2ZSIsInNhdmVEb2N1bWVudCIsInRoZW4iLCJjYXRjaCIsImVycm9yIiwiTG9nIiwiY2xvc2UiLCJLZWVwIiwiRGlzY2FyZCIsImRpc2NhcmREcmFmdCIsInNldERhdGFMb3NzUG9wdXAiLCJpMThuTW9kZWwiLCJnZXRNb2RlbCIsImxvY2FsVGhpc01vZGVsIiwiSlNPTk1vZGVsIiwicHJlcHJvY2Vzc29yU2V0dGluZ3MiLCJiaW5kaW5nQ29udGV4dHMiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsIm1vZGVscyIsIm9wZW4iLCJzZWxlY3RBbmRGb2N1c0ZpcnN0RW50cnkiLCJkaWFsb2dGcmFnbWVudCIsIlhNTFRlbXBsYXRlUHJvY2Vzc29yIiwibG9hZFRlbXBsYXRlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJYTUxQcmVwcm9jZXNzb3IiLCJwcm9jZXNzIiwibmFtZSIsImZyYWdtZW50IiwiRnJhZ21lbnQiLCJsb2FkIiwiZGVmaW5pdGlvbiIsInBvcHVwIiwiYXR0YWNoQWZ0ZXJPcGVuIiwiYWRkRGVwZW5kZW50IiwicGVyZm9ybUFmdGVyRGlzY2FyZG9yS2VlcERyYWZ0IiwicHJvY2Vzc0Z1bmN0aW9uT25EYXRhbG9zc09rIiwicHJvY2Vzc0Z1bmN0aW9uT25EYXRhbG9zc0NhbmNlbCIsInJlamVjdCIsImRhdGFMb3NzUG9wdXBPayIsImNvbnRleHQiLCJyZXR1cm5WYWx1ZSIsImRhdGFMb3NzUG9wdXBDYW5jZWwiLCJnZXRCaW5kaW5nQ29udGV4dCIsInBhcmFtcyIsInNraXBCYWNrTmF2aWdhdGlvbiIsInNraXBEaXNjYXJkUG9wb3ZlciIsInVuZGVmaW5lZCIsImVkaXRGbG93IiwiY2FuY2VsRG9jdW1lbnQiLCJpc0EiLCJfc2F2ZURvY3VtZW50IiwiZGF0YUxvc3NPcHRpb25zTGlzdCIsImdldENvbnRlbnQiLCJmaW5kIiwiZWxlbWVudCIsImRhdGEiLCJnZXRTZWxlY3RlZEl0ZW0iLCJmaXJzdExpc3RJdGVtT3B0aW9uIiwiZ2V0SXRlbXMiLCJzZXRTZWxlY3RlZEl0ZW0iLCJnZXRCdXR0b25zIiwiZm9jdXMiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztNQU9LQSxvQjs7YUFBQUEsb0I7QUFBQUEsSUFBQUEsb0I7QUFBQUEsSUFBQUEsb0I7QUFBQUEsSUFBQUEsb0I7S0FBQUEsb0IsS0FBQUEsb0I7O0FBTUwsTUFBSUMscUJBQUo7QUFDQSxNQUFJQyxrQkFBSjs7QUFDQSxXQUFTQyxzQkFBVCxDQUFnQ0MsWUFBaEMsRUFBbURDLGdCQUFuRCxFQUEwRUMsVUFBMUUsRUFBMkZDLGlCQUEzRixFQUFtSDtBQUNsSDtBQUNBO0FBQ0E7QUFDQSxRQUFJQyxhQUFKO0FBQ0FQLElBQUFBLHFCQUFxQixHQUFHRyxZQUF4QjtBQUNBRixJQUFBQSxrQkFBa0IsR0FBR0csZ0JBQXJCO0FBQ0EsUUFBTUksWUFBWSxHQUFHLDJEQUFyQjtBQUNBLFFBQU1DLElBQUksR0FBR0osVUFBVSxDQUFDSyxPQUFYLEVBQWI7QUFDQSxRQUFNQyxrQkFBdUIsR0FBRztBQUMvQlIsTUFBQUEsWUFBWSxFQUFFLFlBQVk7QUFDekIsWUFBTVMsV0FBVyxHQUFHQyxjQUFjLENBQUNOLGFBQUQsQ0FBbEM7O0FBQ0EsWUFBSUssV0FBVyxLQUFLYixvQkFBb0IsQ0FBQ2UsSUFBekMsRUFBK0M7QUFDOUNDLFVBQUFBLFlBQVksQ0FBQ1YsVUFBRCxDQUFaLENBQ0VXLElBREYsQ0FDT2hCLHFCQURQLEVBRUVpQixLQUZGLENBRVEsVUFBVUMsS0FBVixFQUFzQjtBQUM1QkMsWUFBQUEsR0FBRyxDQUFDRCxLQUFKLENBQVUsNkJBQVYsRUFBeUNBLEtBQXpDO0FBQ0EsV0FKRjtBQUtBWCxVQUFBQSxhQUFhLENBQUNhLEtBQWQ7QUFDQSxTQVBELE1BT08sSUFBSVIsV0FBVyxLQUFLYixvQkFBb0IsQ0FBQ3NCLElBQXpDLEVBQStDO0FBQ3JEckIsVUFBQUEscUJBQXFCO0FBQ3JCTyxVQUFBQSxhQUFhLENBQUNhLEtBQWQ7QUFDQSxTQUhNLE1BR0EsSUFBSVIsV0FBVyxLQUFLYixvQkFBb0IsQ0FBQ3VCLE9BQXpDLEVBQWtEO0FBQ3hEQyxVQUFBQSxZQUFZLENBQUNsQixVQUFELEVBQWFDLGlCQUFiLENBQVosQ0FDRVUsSUFERixDQUNPaEIscUJBRFAsRUFFRWlCLEtBRkYsQ0FFUSxVQUFVQyxLQUFWLEVBQXNCO0FBQzVCQyxZQUFBQSxHQUFHLENBQUNELEtBQUosQ0FBVSw4QkFBVixFQUEwQ0EsS0FBMUM7QUFDQSxXQUpGO0FBS0FYLFVBQUFBLGFBQWEsQ0FBQ2EsS0FBZDtBQUNBO0FBQ0QsT0FyQjhCO0FBc0IvQmhCLE1BQUFBLGdCQUFnQixFQUFFLFlBQVk7QUFDN0JILFFBQUFBLGtCQUFrQjtBQUNsQk0sUUFBQUEsYUFBYSxDQUFDYSxLQUFkO0FBQ0EsT0F6QjhCO0FBMEIvQkksTUFBQUEsZ0JBQWdCLEVBQUUsVUFBVWpCLGFBQVYsRUFBaUM7QUFDbERGLFFBQUFBLFVBQVUsQ0FBQ0UsYUFBWCxHQUEyQkEsYUFBM0I7QUFDQTtBQTVCOEIsS0FBaEM7QUErQkEsUUFBTWtCLFNBQVMsR0FBR2hCLElBQUksQ0FBQ2lCLFFBQUwsQ0FBYyxhQUFkLENBQWxCO0FBQ0EsUUFBTUMsY0FBYyxHQUFHLElBQUlDLFNBQUosQ0FBYyxFQUFkLENBQXZCO0FBQUEsUUFDQ0Msb0JBQW9CLEdBQUc7QUFDdEJDLE1BQUFBLGVBQWUsRUFBRTtBQUNoQixnQkFBUUgsY0FBYyxDQUFDSSxvQkFBZixDQUFvQyxHQUFwQztBQURRLE9BREs7QUFJdEJDLE1BQUFBLE1BQU0sRUFBRTtBQUNQLGdCQUFRTCxjQUREO0FBRVAsZ0JBQVFGO0FBRkQ7QUFKYyxLQUR4Qjs7QUFXQSxRQUFJcEIsVUFBVSxDQUFDRSxhQUFmLEVBQThCO0FBQzdCQSxNQUFBQSxhQUFhLEdBQUdGLFVBQVUsQ0FBQ0UsYUFBM0I7QUFDQUEsTUFBQUEsYUFBYSxDQUFDMEIsSUFBZDtBQUNBQyxNQUFBQSx3QkFBd0IsQ0FBQzNCLGFBQUQsQ0FBeEI7QUFDQSxLQUpELE1BSU87QUFDTixVQUFNNEIsY0FBYyxHQUFHQyxvQkFBb0IsQ0FBQ0MsWUFBckIsQ0FBa0M3QixZQUFsQyxFQUFnRCxVQUFoRCxDQUF2QjtBQUNBOEIsTUFBQUEsT0FBTyxDQUFDQyxPQUFSLENBQWdCQyxlQUFlLENBQUNDLE9BQWhCLENBQXdCTixjQUF4QixFQUF3QztBQUFFTyxRQUFBQSxJQUFJLEVBQUVsQztBQUFSLE9BQXhDLEVBQWdFcUIsb0JBQWhFLENBQWhCLEVBQ0ViLElBREYsQ0FDTyxVQUFDMkIsUUFBRCxFQUFjO0FBQ25CLGVBQU9DLFFBQVEsQ0FBQ0MsSUFBVCxDQUFjO0FBQUVDLFVBQUFBLFVBQVUsRUFBRUgsUUFBZDtBQUF3QnRDLFVBQUFBLFVBQVUsRUFBRU07QUFBcEMsU0FBZCxDQUFQO0FBQ0EsT0FIRixFQUlFSyxJQUpGLENBSU8sVUFBQytCLEtBQUQsRUFBZ0I7QUFDckJ4QyxRQUFBQSxhQUFhLEdBQUd3QyxLQUFoQjtBQUNBQSxRQUFBQSxLQUFLLENBQUNDLGVBQU4sQ0FBc0IsWUFBTTtBQUMzQmQsVUFBQUEsd0JBQXdCLENBQUMzQixhQUFELENBQXhCO0FBQ0EsU0FGRDtBQUdBRSxRQUFBQSxJQUFJLENBQUN3QyxZQUFMLENBQWtCMUMsYUFBbEI7QUFDQUEsUUFBQUEsYUFBYSxDQUFDMEIsSUFBZDtBQUNBdEIsUUFBQUEsa0JBQWtCLENBQUNhLGdCQUFuQixDQUFvQ2pCLGFBQXBDO0FBQ0EsT0FaRixFQWFFVSxLQWJGLENBYVEsVUFBVUMsS0FBVixFQUFzQjtBQUM1QkMsUUFBQUEsR0FBRyxDQUFDRCxLQUFKLENBQVUsaURBQVYsRUFBNkRBLEtBQTdEO0FBQ0EsT0FmRjtBQWdCQTtBQUNEOztBQUVNLFdBQVNnQyw4QkFBVCxDQUNOQywyQkFETSxFQUVOQywrQkFGTSxFQUdOL0MsVUFITSxFQUlOQyxpQkFKTSxFQUtMO0FBQ0Q7QUFDQTtBQUNBLFdBQU8sSUFBSWdDLE9BQUosQ0FBWSxVQUFVQyxPQUFWLEVBQXlDYyxNQUF6QyxFQUF5RTtBQUMzRixVQUFNQyxlQUFlLEdBQUcsVUFBVUMsT0FBVixFQUF3QjtBQUMvQyxZQUFNQyxXQUFXLEdBQUdMLDJCQUEyQixDQUFDSSxPQUFELENBQS9DO0FBQ0FoQixRQUFBQSxPQUFPLENBQUNpQixXQUFELENBQVA7QUFDQSxPQUhEOztBQUlBLFVBQU1DLG1CQUFtQixHQUFHLFlBQVk7QUFDdkNMLFFBQUFBLCtCQUErQjtBQUMvQkMsUUFBQUEsTUFBTTtBQUNOLE9BSEQ7O0FBSUFuRCxNQUFBQSxzQkFBc0IsQ0FBQ29ELGVBQUQsRUFBa0JHLG1CQUFsQixFQUF1Q3BELFVBQXZDLEVBQW1EQyxpQkFBbkQsQ0FBdEI7QUFDQSxLQVZNLENBQVA7QUFXQTs7OztBQUVNLFdBQVNpQixZQUFULENBQXNCbEIsVUFBdEIsRUFBdUNDLGlCQUF2QyxFQUErRDtBQUNyRSxRQUFNaUQsT0FBTyxHQUFHbEQsVUFBVSxDQUFDSyxPQUFYLEdBQXFCZ0QsaUJBQXJCLEVBQWhCO0FBQ0EsUUFBTUMsTUFBTSxHQUFHO0FBQ2RDLE1BQUFBLGtCQUFrQixFQUFFLElBRE47QUFFZEMsTUFBQUEsa0JBQWtCLEVBQUUsSUFGTjtBQUdkdkQsTUFBQUEsaUJBQWlCLEVBQUVBLGlCQUFpQixLQUFLd0QsU0FBdEIsR0FBa0N4RCxpQkFBbEMsR0FBc0Q7QUFIM0QsS0FBZjtBQUtBLFdBQU9ELFVBQVUsQ0FBQzBELFFBQVgsQ0FBb0JDLGNBQXBCLENBQW1DVCxPQUFuQyxFQUE0Q0ksTUFBNUMsQ0FBUDtBQUNBOzs7O0FBRU0sV0FBUzVDLFlBQVQsQ0FBc0JWLFVBQXRCLEVBQXVDO0FBQzdDLFFBQU1rRCxPQUFPLEdBQUdsRCxVQUFVLENBQUNLLE9BQVgsR0FBcUJnRCxpQkFBckIsRUFBaEIsQ0FENkMsQ0FFN0M7QUFDQTtBQUNBOztBQUNBLFFBQUlyRCxVQUFVLENBQUM0RCxHQUFYLENBQWUsa0RBQWYsQ0FBSixFQUF3RTtBQUN2RSxhQUFPNUQsVUFBVSxDQUFDNkQsYUFBWCxDQUF5QlgsT0FBekIsQ0FBUDtBQUNBLEtBRkQsTUFFTztBQUNOLGFBQU9sRCxVQUFVLENBQUMwRCxRQUFYLENBQW9CaEQsWUFBcEIsQ0FBaUN3QyxPQUFqQyxDQUFQO0FBQ0E7QUFDRDs7OztBQUVNLFdBQVMxQyxjQUFULENBQXdCTixhQUF4QixFQUErQztBQUNyRDtBQUNBO0FBQ0E7QUFDQSxRQUFNNEQsbUJBQXlCLEdBQUc1RCxhQUFhLENBQzdDNkQsVUFEZ0MsR0FFaENDLElBRmdDLENBRTNCLFVBQUNDLE9BQUQ7QUFBQSxhQUFhQSxPQUFPLENBQUNDLElBQVIsQ0FBYSxnQkFBYixNQUFtQywwQkFBaEQ7QUFBQSxLQUYyQixDQUFsQztBQUdBLFdBQU9KLG1CQUFtQixDQUFDSyxlQUFwQixHQUFzQ0QsSUFBdEMsQ0FBMkMsU0FBM0MsQ0FBUDtBQUNBOzs7O0FBRU0sV0FBU3JDLHdCQUFULENBQWtDM0IsYUFBbEMsRUFBeUQ7QUFDL0Q7QUFDQTtBQUNBLFFBQU00RCxtQkFBeUIsR0FBRzVELGFBQWEsQ0FDN0M2RCxVQURnQyxHQUVoQ0MsSUFGZ0MsQ0FFM0IsVUFBQ0MsT0FBRDtBQUFBLGFBQWFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLGdCQUFiLE1BQW1DLDBCQUFoRDtBQUFBLEtBRjJCLENBQWxDLENBSCtELENBTS9EOztBQUNBLFFBQU1FLG1CQUFtQyxHQUFHTixtQkFBbUIsQ0FBQ08sUUFBcEIsR0FBK0IsQ0FBL0IsQ0FBNUM7QUFDQVAsSUFBQUEsbUJBQW1CLENBQUNRLGVBQXBCLENBQW9DRixtQkFBcEMsRUFSK0QsQ0FTL0Q7O0FBQ0FsRSxJQUFBQSxhQUFhLENBQUNxRSxVQUFkLEdBQTJCLENBQTNCLEVBQThCQyxLQUE5QjtBQUNBOzs7U0FFYztBQUFFM0IsSUFBQUEsOEJBQThCLEVBQTlCQSw4QkFBRjtBQUFrQzNCLElBQUFBLFlBQVksRUFBWkEsWUFBbEM7QUFBZ0RSLElBQUFBLFlBQVksRUFBWkEsWUFBaEQ7QUFBOERGLElBQUFBLGNBQWMsRUFBZEEsY0FBOUQ7QUFBOEVxQixJQUFBQSx3QkFBd0IsRUFBeEJBO0FBQTlFLEciLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IEN1c3RvbUxpc3RJdGVtIGZyb20gXCJzYXAvbS9DdXN0b21MaXN0SXRlbVwiO1xuaW1wb3J0IERpYWxvZyBmcm9tIFwic2FwL20vRGlhbG9nXCI7XG5pbXBvcnQgTGlzdCBmcm9tIFwic2FwL20vTGlzdFwiO1xuaW1wb3J0IEZyYWdtZW50IGZyb20gXCJzYXAvdWkvY29yZS9GcmFnbWVudFwiO1xuaW1wb3J0IFhNTFByZXByb2Nlc3NvciBmcm9tIFwic2FwL3VpL2NvcmUvdXRpbC9YTUxQcmVwcm9jZXNzb3JcIjtcbmltcG9ydCBYTUxUZW1wbGF0ZVByb2Nlc3NvciBmcm9tIFwic2FwL3VpL2NvcmUvWE1MVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuXG5lbnVtIERyYWZ0RGF0YUxvc3NPcHRpb25zIHtcblx0U2F2ZSA9IFwiZHJhZnREYXRhTG9zc09wdGlvblNhdmVcIixcblx0S2VlcCA9IFwiZHJhZnREYXRhTG9zc09wdGlvbktlZXBcIixcblx0RGlzY2FyZCA9IFwiZHJhZnREYXRhTG9zc09wdGlvbkRpc2NhcmRcIlxufVxuXG5sZXQgZm5PbkRhdGFMb3NzQ29uZmlybWVkOiBGdW5jdGlvbjtcbmxldCBmbk9uRGF0YUxvc3NDYW5jZWw6IEZ1bmN0aW9uO1xuZnVuY3Rpb24gZm5EYXRhTG9zc0NvbmZpcm1hdGlvbihvbkRhdGFMb3NzT2s6IGFueSwgb25EYXRhTG9zc0NhbmNlbDogYW55LCBjb250cm9sbGVyOiBhbnksIHNraXBCaW5kaW5nVG9WaWV3OiBhbnkpIHtcblx0Ly8gT3BlbiB0aGUgZGF0YSBsb3NzIHBvcHVwIGFuZCBhZnRlciBwcm9jZXNzaW5nIHRoZSBzZWxlY3RlZCBmdW5jdGlvbiBmaW5hbGx5IGNhbGxcblx0Ly8gb25EYXRhTG9zc0NvbmZpcm1lZCB3aGljaCByZXNvbHZlcyB0aGUgcHJvbWlzZSBhbmQgbGVhZHMgdG8gcHJvY2Vzc2luZyBvZiB0aGUgb3JpZ2luYWxseVxuXHQvLyB0cmlnZ2VyZWQgYWN0aW9uIGxpa2UgZS5nLiBhIGJhY2sgbmF2aWdhdGlvblxuXHRsZXQgZGF0YUxvc3NQb3B1cDogRGlhbG9nO1xuXHRmbk9uRGF0YUxvc3NDb25maXJtZWQgPSBvbkRhdGFMb3NzT2s7XG5cdGZuT25EYXRhTG9zc0NhbmNlbCA9IG9uRGF0YUxvc3NDYW5jZWw7XG5cdGNvbnN0IGZyYWdtZW50TmFtZSA9IFwic2FwLmZlLmNvcmUuY29udHJvbHMuRGF0YUxvc3NPckRyYWZ0RGlzY2FyZC5EYXRhTG9zc0RyYWZ0XCI7XG5cdGNvbnN0IHZpZXcgPSBjb250cm9sbGVyLmdldFZpZXcoKTtcblx0Y29uc3QgZnJhZ21lbnRDb250cm9sbGVyOiBhbnkgPSB7XG5cdFx0b25EYXRhTG9zc09rOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRjb25zdCBzZWxlY3RlZEtleSA9IGdldFNlbGVjdGVkS2V5KGRhdGFMb3NzUG9wdXApO1xuXHRcdFx0aWYgKHNlbGVjdGVkS2V5ID09PSBEcmFmdERhdGFMb3NzT3B0aW9ucy5TYXZlKSB7XG5cdFx0XHRcdHNhdmVEb2N1bWVudChjb250cm9sbGVyKVxuXHRcdFx0XHRcdC50aGVuKGZuT25EYXRhTG9zc0NvbmZpcm1lZClcblx0XHRcdFx0XHQuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcblx0XHRcdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIHNhdmluZyBkb2N1bWVudFwiLCBlcnJvcik7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdGRhdGFMb3NzUG9wdXAuY2xvc2UoKTtcblx0XHRcdH0gZWxzZSBpZiAoc2VsZWN0ZWRLZXkgPT09IERyYWZ0RGF0YUxvc3NPcHRpb25zLktlZXApIHtcblx0XHRcdFx0Zm5PbkRhdGFMb3NzQ29uZmlybWVkKCk7XG5cdFx0XHRcdGRhdGFMb3NzUG9wdXAuY2xvc2UoKTtcblx0XHRcdH0gZWxzZSBpZiAoc2VsZWN0ZWRLZXkgPT09IERyYWZ0RGF0YUxvc3NPcHRpb25zLkRpc2NhcmQpIHtcblx0XHRcdFx0ZGlzY2FyZERyYWZ0KGNvbnRyb2xsZXIsIHNraXBCaW5kaW5nVG9WaWV3KVxuXHRcdFx0XHRcdC50aGVuKGZuT25EYXRhTG9zc0NvbmZpcm1lZClcblx0XHRcdFx0XHQuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcblx0XHRcdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIGRpc2NhcmRpbmcgZHJhZnRcIiwgZXJyb3IpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRkYXRhTG9zc1BvcHVwLmNsb3NlKCk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRvbkRhdGFMb3NzQ2FuY2VsOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRmbk9uRGF0YUxvc3NDYW5jZWwoKTtcblx0XHRcdGRhdGFMb3NzUG9wdXAuY2xvc2UoKTtcblx0XHR9LFxuXHRcdHNldERhdGFMb3NzUG9wdXA6IGZ1bmN0aW9uIChkYXRhTG9zc1BvcHVwOiBEaWFsb2cpIHtcblx0XHRcdGNvbnRyb2xsZXIuZGF0YUxvc3NQb3B1cCA9IGRhdGFMb3NzUG9wdXA7XG5cdFx0fVxuXHR9O1xuXG5cdGNvbnN0IGkxOG5Nb2RlbCA9IHZpZXcuZ2V0TW9kZWwoXCJzYXAuZmUuaTE4blwiKTtcblx0Y29uc3QgbG9jYWxUaGlzTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHt9KSxcblx0XHRwcmVwcm9jZXNzb3JTZXR0aW5ncyA9IHtcblx0XHRcdGJpbmRpbmdDb250ZXh0czoge1xuXHRcdFx0XHRcInRoaXNcIjogbG9jYWxUaGlzTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvXCIpXG5cdFx0XHR9LFxuXHRcdFx0bW9kZWxzOiB7XG5cdFx0XHRcdFwidGhpc1wiOiBsb2NhbFRoaXNNb2RlbCxcblx0XHRcdFx0XCJpMThuXCI6IGkxOG5Nb2RlbFxuXHRcdFx0fVxuXHRcdH07XG5cblx0aWYgKGNvbnRyb2xsZXIuZGF0YUxvc3NQb3B1cCkge1xuXHRcdGRhdGFMb3NzUG9wdXAgPSBjb250cm9sbGVyLmRhdGFMb3NzUG9wdXA7XG5cdFx0ZGF0YUxvc3NQb3B1cC5vcGVuKCk7XG5cdFx0c2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5KGRhdGFMb3NzUG9wdXApO1xuXHR9IGVsc2Uge1xuXHRcdGNvbnN0IGRpYWxvZ0ZyYWdtZW50ID0gWE1MVGVtcGxhdGVQcm9jZXNzb3IubG9hZFRlbXBsYXRlKGZyYWdtZW50TmFtZSwgXCJmcmFnbWVudFwiKTtcblx0XHRQcm9taXNlLnJlc29sdmUoWE1MUHJlcHJvY2Vzc29yLnByb2Nlc3MoZGlhbG9nRnJhZ21lbnQsIHsgbmFtZTogZnJhZ21lbnROYW1lIH0sIHByZXByb2Nlc3NvclNldHRpbmdzKSlcblx0XHRcdC50aGVuKChmcmFnbWVudCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gRnJhZ21lbnQubG9hZCh7IGRlZmluaXRpb246IGZyYWdtZW50LCBjb250cm9sbGVyOiBmcmFnbWVudENvbnRyb2xsZXIgfSk7XG5cdFx0XHR9KVxuXHRcdFx0LnRoZW4oKHBvcHVwOiBhbnkpID0+IHtcblx0XHRcdFx0ZGF0YUxvc3NQb3B1cCA9IHBvcHVwO1xuXHRcdFx0XHRwb3B1cC5hdHRhY2hBZnRlck9wZW4oKCkgPT4ge1xuXHRcdFx0XHRcdHNlbGVjdEFuZEZvY3VzRmlyc3RFbnRyeShkYXRhTG9zc1BvcHVwKTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHZpZXcuYWRkRGVwZW5kZW50KGRhdGFMb3NzUG9wdXApO1xuXHRcdFx0XHRkYXRhTG9zc1BvcHVwLm9wZW4oKTtcblx0XHRcdFx0ZnJhZ21lbnRDb250cm9sbGVyLnNldERhdGFMb3NzUG9wdXAoZGF0YUxvc3NQb3B1cCk7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XG5cdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIG9wZW5pbmcgdGhlIERpc2NhcmQgRGlhbG9nIGZyYWdtZW50XCIsIGVycm9yKTtcblx0XHRcdH0pO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwZXJmb3JtQWZ0ZXJEaXNjYXJkb3JLZWVwRHJhZnQoXG5cdHByb2Nlc3NGdW5jdGlvbk9uRGF0YWxvc3NPazogYW55LFxuXHRwcm9jZXNzRnVuY3Rpb25PbkRhdGFsb3NzQ2FuY2VsOiBhbnksXG5cdGNvbnRyb2xsZXI6IGFueSxcblx0c2tpcEJpbmRpbmdUb1ZpZXc6IGFueVxuKSB7XG5cdC8vIERlcGVuZGluZyBvbiBpZiB0aGUgdXNlciBjbG9zZWQgdGhlIGRhdGEgbG9zcyBwb3B1cCB3aXRoIE9rIG9yIENhbmNlbCxcblx0Ly8gZXhlY3V0ZSB0aGUgcHJvdmlkZWQgZm9sbG93LXVwIGZ1bmN0aW9uIGFuZCByZXNvbHZlIG9yIHJlamVjdCB0aGUgcHJvbWlzZVxuXHRyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmU6ICh2YWx1ZTogYW55KSA9PiB2b2lkLCByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQpIHtcblx0XHRjb25zdCBkYXRhTG9zc1BvcHVwT2sgPSBmdW5jdGlvbiAoY29udGV4dDogYW55KSB7XG5cdFx0XHRjb25zdCByZXR1cm5WYWx1ZSA9IHByb2Nlc3NGdW5jdGlvbk9uRGF0YWxvc3NPayhjb250ZXh0KTtcblx0XHRcdHJlc29sdmUocmV0dXJuVmFsdWUpO1xuXHRcdH07XG5cdFx0Y29uc3QgZGF0YUxvc3NQb3B1cENhbmNlbCA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdHByb2Nlc3NGdW5jdGlvbk9uRGF0YWxvc3NDYW5jZWwoKTtcblx0XHRcdHJlamVjdCgpO1xuXHRcdH07XG5cdFx0Zm5EYXRhTG9zc0NvbmZpcm1hdGlvbihkYXRhTG9zc1BvcHVwT2ssIGRhdGFMb3NzUG9wdXBDYW5jZWwsIGNvbnRyb2xsZXIsIHNraXBCaW5kaW5nVG9WaWV3KTtcblx0fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkaXNjYXJkRHJhZnQoY29udHJvbGxlcjogYW55LCBza2lwQmluZGluZ1RvVmlldzogYW55KSB7XG5cdGNvbnN0IGNvbnRleHQgPSBjb250cm9sbGVyLmdldFZpZXcoKS5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHRjb25zdCBwYXJhbXMgPSB7XG5cdFx0c2tpcEJhY2tOYXZpZ2F0aW9uOiB0cnVlLFxuXHRcdHNraXBEaXNjYXJkUG9wb3ZlcjogdHJ1ZSxcblx0XHRza2lwQmluZGluZ1RvVmlldzogc2tpcEJpbmRpbmdUb1ZpZXcgIT09IHVuZGVmaW5lZCA/IHNraXBCaW5kaW5nVG9WaWV3IDogdHJ1ZVxuXHR9O1xuXHRyZXR1cm4gY29udHJvbGxlci5lZGl0Rmxvdy5jYW5jZWxEb2N1bWVudChjb250ZXh0LCBwYXJhbXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2F2ZURvY3VtZW50KGNvbnRyb2xsZXI6IGFueSkge1xuXHRjb25zdCBjb250ZXh0ID0gY29udHJvbGxlci5nZXRWaWV3KCkuZ2V0QmluZGluZ0NvbnRleHQoKTtcblx0Ly8gV2UgY2hlY2sgaWYgd2UgYXJlIG9uIHRoZSBPUCBhbmQgdGhlbiBjYWxsIHRoZSBpbnRlcm5hbCBfc2F2ZURvY3VtZW50IGZyb20gdGhlIE9QIGNvbnRyb2xsZXJcblx0Ly8gc2luY2UgaGVyZSBzb21lIHNwZWNpYWwgaGFuZGxpbmcgaXMgZG9uZSBmb3IgY3JlYXRpb25Sb3cgYmVmb3JlIGVkaXRGbG93LnNhdmVEb2N1bWVudCBpcyBjYWxsZWQuXG5cdC8vIEluIGNhc2Ugb2YgYSBjdXN0b20gY29udHJvbGxlciB3ZSBkaXJlY3RseSBjYWxsIHNhdmVEb2N1bWVudCBmcm9tIHRoZSBlZGl0Rmxvd1xuXHRpZiAoY29udHJvbGxlci5pc0EoXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuT2JqZWN0UGFnZUNvbnRyb2xsZXJcIikpIHtcblx0XHRyZXR1cm4gY29udHJvbGxlci5fc2F2ZURvY3VtZW50KGNvbnRleHQpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBjb250cm9sbGVyLmVkaXRGbG93LnNhdmVEb2N1bWVudChjb250ZXh0KTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VsZWN0ZWRLZXkoZGF0YUxvc3NQb3B1cDogRGlhbG9nKSB7XG5cdC8vIEZvciBub3QgdXNpbmcgY29udHJvbCBJRHMgd2UgaW50cm9kdWNlZCBjdXN0b21EYXRhIGluIHRoZSBmcmFnbWVudCBhbmRcblx0Ly8gdXNlIGl0IGhlcmUgZm9yIGZpbmRpbmcgdGhlIGNvcnJlY3QgbGlzdCBpbiB0aGUgZGlhbG9nIGFuZCBmb3Jcblx0Ly8gZGV0ZXJtaW5pbmcgdGhlIHNlbGVjdGVkIG9wdGlvbiBmcm9tIHRoZSBsaXN0XG5cdGNvbnN0IGRhdGFMb3NzT3B0aW9uc0xpc3Q6IExpc3QgPSBkYXRhTG9zc1BvcHVwXG5cdFx0LmdldENvbnRlbnQoKVxuXHRcdC5maW5kKChlbGVtZW50KSA9PiBlbGVtZW50LmRhdGEoXCJsaXN0SWRlbnRpZmllclwiKSA9PT0gXCJkcmFmdERhdGFMb3NzT3B0aW9uc0xpc3RcIikgYXMgTGlzdDtcblx0cmV0dXJuIGRhdGFMb3NzT3B0aW9uc0xpc3QuZ2V0U2VsZWN0ZWRJdGVtKCkuZGF0YShcIml0ZW1LZXlcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RBbmRGb2N1c0ZpcnN0RW50cnkoZGF0YUxvc3NQb3B1cDogRGlhbG9nKSB7XG5cdC8vIEZvciBub3QgdXNpbmcgY29udHJvbCBJRHMgd2UgaW50cm9kdWNlZCBjdXN0b21EYXRhIGluIHRoZSBmcmFnbWVudCBhbmRcblx0Ly8gdXNlIGl0IGhlcmUgZm9yIGZpbmRpbmcgdGhlIGNvcnJlY3QgbGlzdCBpbiB0aGUgZGlhbG9nLlxuXHRjb25zdCBkYXRhTG9zc09wdGlvbnNMaXN0OiBMaXN0ID0gZGF0YUxvc3NQb3B1cFxuXHRcdC5nZXRDb250ZW50KClcblx0XHQuZmluZCgoZWxlbWVudCkgPT4gZWxlbWVudC5kYXRhKFwibGlzdElkZW50aWZpZXJcIikgPT09IFwiZHJhZnREYXRhTG9zc09wdGlvbnNMaXN0XCIpIGFzIExpc3Q7XG5cdC8vIFByZXNlbGVjdCB0aGUgZmlyc3QgZW50cnkgaW4gdGhlIGxpc3Rcblx0Y29uc3QgZmlyc3RMaXN0SXRlbU9wdGlvbjogQ3VzdG9tTGlzdEl0ZW0gPSBkYXRhTG9zc09wdGlvbnNMaXN0LmdldEl0ZW1zKClbMF0gYXMgQ3VzdG9tTGlzdEl0ZW07XG5cdGRhdGFMb3NzT3B0aW9uc0xpc3Quc2V0U2VsZWN0ZWRJdGVtKGZpcnN0TGlzdEl0ZW1PcHRpb24pO1xuXHQvLyBCeSBkZWZhdWx0IHNldCB0aGUgZm9jdXMgb24gdGhlIGZpcnN0IGJ1dHRvbiBvZiB0aGUgZGlhbG9nXG5cdGRhdGFMb3NzUG9wdXAuZ2V0QnV0dG9ucygpWzBdLmZvY3VzKCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHsgcGVyZm9ybUFmdGVyRGlzY2FyZG9yS2VlcERyYWZ0LCBkaXNjYXJkRHJhZnQsIHNhdmVEb2N1bWVudCwgZ2V0U2VsZWN0ZWRLZXksIHNlbGVjdEFuZEZvY3VzRmlyc3RFbnRyeSB9O1xuIl19
@@ -79,9 +79,11 @@ function fnDataLossConfirmation(onDataLossOk: any, onDataLossCancel: any, contro
79
79
  })
80
80
  .then((popup: any) => {
81
81
  dataLossPopup = popup;
82
+ popup.attachAfterOpen(() => {
83
+ selectAndFocusFirstEntry(dataLossPopup);
84
+ });
82
85
  view.addDependent(dataLossPopup);
83
86
  dataLossPopup.open();
84
- selectAndFocusFirstEntry(dataLossPopup);
85
87
  fragmentController.setDataLossPopup(dataLossPopup);
86
88
  })
87
89
  .catch(function (error: any) {
@@ -129,7 +131,7 @@ export function saveDocument(controller: any) {
129
131
  if (controller.isA("sap.fe.templates.ObjectPage.ObjectPageController")) {
130
132
  return controller._saveDocument(context);
131
133
  } else {
132
- controller.editFlow.saveDocument(context);
134
+ return controller.editFlow.saveDocument(context);
133
135
  }
134
136
  }
135
137
 
@@ -149,7 +151,11 @@ export function selectAndFocusFirstEntry(dataLossPopup: Dialog) {
149
151
  const dataLossOptionsList: List = dataLossPopup
150
152
  .getContent()
151
153
  .find((element) => element.data("listIdentifier") === "draftDataLossOptionsList") as List;
154
+ // Preselect the first entry in the list
152
155
  const firstListItemOption: CustomListItem = dataLossOptionsList.getItems()[0] as CustomListItem;
153
156
  dataLossOptionsList.setSelectedItem(firstListItemOption);
154
- firstListItemOption.focus();
157
+ // By default set the focus on the first button of the dialog
158
+ dataLossPopup.getButtons()[0].focus();
155
159
  }
160
+
161
+ export default { performAfterDiscardorKeepDraft, discardDraft, saveDocument, getSelectedKey, selectAndFocusFirstEntry };
@@ -95,9 +95,56 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/helpers/ClassSupport", "s
95
95
 
96
96
  var _proto = FileWrapper.prototype;
97
97
 
98
+ _proto.getAccessibilityInfo = function getAccessibilityInfo() {
99
+ var accInfo = [];
100
+
101
+ if (this.avatar) {
102
+ accInfo.push(this.avatar);
103
+ }
104
+
105
+ if (this.icon) {
106
+ accInfo.push(this.icon);
107
+ }
108
+
109
+ if (this.link) {
110
+ accInfo.push(this.link);
111
+ }
112
+
113
+ if (this.text) {
114
+ accInfo.push(this.text);
115
+ }
116
+
117
+ if (this.fileUploader) {
118
+ accInfo.push(this.fileUploader);
119
+ }
120
+
121
+ if (this.deleteButton) {
122
+ accInfo.push(this.deleteButton);
123
+ }
124
+
125
+ return {
126
+ children: accInfo
127
+ };
128
+ };
129
+
98
130
  _proto.onBeforeRendering = function onBeforeRendering() {
99
- this._addSideEffects(); // super.onBeforeRendering();
131
+ this._setAriaLabels();
132
+
133
+ this._addSideEffects();
134
+ };
135
+
136
+ _proto._setAriaLabels = function _setAriaLabels() {
137
+ this._setAriaLabelledBy(this.avatar);
138
+
139
+ this._setAriaLabelledBy(this.icon);
140
+
141
+ this._setAriaLabelledBy(this.link);
142
+
143
+ this._setAriaLabelledBy(this.text);
144
+
145
+ this._setAriaLabelledBy(this.fileUploader);
100
146
 
147
+ this._setAriaLabelledBy(this.deleteButton);
101
148
  };
102
149
 
103
150
  _proto._addSideEffects = function _addSideEffects() {
@@ -310,4 +357,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/helpers/ClassSupport", "s
310
357
  })), _class2)) || _class);
311
358
  return FileWrapper;
312
359
  }, false);
313
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbGVXcmFwcGVyLnRzIl0sIm5hbWVzIjpbIkZpbGVXcmFwcGVyIiwiZGVmaW5lVUk1Q2xhc3MiLCJwcm9wZXJ0eSIsInR5cGUiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2J1c3kiLCJvbkJlZm9yZVJlbmRlcmluZyIsIl9hZGRTaWRlRWZmZWN0cyIsInNvdXJjZVByb3BlcnR5Iiwic291cmNlUGF0aCIsInBhdGgiLCJwYXJlbnRFbnRpdHlTZXRXaXRoU2xhc2giLCJuYXZpZ2F0aW9uUHJvcGVydGllcyIsImdldEN1c3RvbURhdGEiLCJmb3JFYWNoIiwiaXRlbSIsImdldFByb3BlcnR5IiwicGFyZW50RW50aXR5U2V0Iiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsImxlbmd0aCIsInJlcGxhY2UiLCJwcm9wZXJ0eVBhdGgiLCJwdXNoIiwiZmlsZW5hbWUiLCJtZWRpYVR5cGUiLCJfZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIiLCJhZGRDb250cm9sU2lkZUVmZmVjdHMiLCJwYXJlbnRFbnRpdHlUeXBlIiwiU291cmNlUHJvcGVydGllcyIsIlRhcmdldEVudGl0aWVzIiwic291cmNlQ29udHJvbElkIiwiZ2V0SWQiLCJjb250cm9sbGVyIiwiX2dldFZpZXdDb250cm9sbGVyIiwiX3NpZGVFZmZlY3RzIiwidW5kZWZpbmVkIiwidmlldyIsIkNvbW1vblV0aWxzIiwiZ2V0VGFyZ2V0VmlldyIsImdldENvbnRyb2xsZXIiLCJnZXRVcGxvYWRVcmwiLCJjb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJ1cGxvYWRVcmwiLCJnZXRQYXRoIiwiZ2V0Q2Fub25pY2FsUGF0aCIsInNldFVJQnVzeSIsImJ1c3kiLCJ0aGF0IiwiYnVzeURpYWxvZyIsIkJ1c3lEaWFsb2ciLCJ0ZXh0IiwiUmVzb3VyY2VNb2RlbCIsImdldFRleHQiLCJzaG93Q2FuY2VsQnV0dG9uIiwic2V0VGltZW91dCIsIm9wZW4iLCJjbG9zZSIsInJlbmRlciIsInJlbmRlck1hbmFnZXIiLCJmaWxlV3JhcHBlciIsIm9wZW5TdGFydCIsInN0eWxlIiwid2lkdGgiLCJvcGVuRW5kIiwiYXZhdGFyIiwicmVuZGVyQ29udHJvbCIsImljb24iLCJsaW5rIiwiZmlsZVVwbG9hZGVyIiwiZGVsZXRlQnV0dG9uIiwiZGVzdHJveSIsImJTdXBwcmVzc0ludmFsaWRhdGUiLCJvU2lkZUVmZmVjdHMiLCJyZW1vdmVDb250cm9sU2lkZUVmZmVjdHMiLCJGaWVsZFdyYXBwZXIiLCJwcm90b3R5cGUiLCJhcHBseSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQWVNQSxXLFdBRExDLGNBQWMsQ0FBQyxrQ0FBRCxDLFVBRWJDLFFBQVEsQ0FBQztBQUFFQyxJQUFBQSxJQUFJLEVBQUU7QUFBUixHQUFELEMsVUFFUkQsUUFBUSxDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRTtBQUFSLEdBQUQsQyxVQUVSRCxRQUFRLENBQUM7QUFBRUMsSUFBQUEsSUFBSSxFQUFFO0FBQVIsR0FBRCxDLFVBRVJELFFBQVEsQ0FBQztBQUFFQyxJQUFBQSxJQUFJLEVBQUU7QUFBUixHQUFELEMsVUFFUkQsUUFBUSxDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRTtBQUFSLEdBQUQsQyxVQUVSRCxRQUFRLENBQUM7QUFBRUMsSUFBQUEsSUFBSSxFQUFFO0FBQVIsR0FBRCxDLFVBRVJDLFdBQVcsQ0FBQztBQUFFRCxJQUFBQSxJQUFJLEVBQUUsY0FBUjtBQUF3QkUsSUFBQUEsUUFBUSxFQUFFO0FBQWxDLEdBQUQsQyxVQUVYRCxXQUFXLENBQUM7QUFBRUQsSUFBQUEsSUFBSSxFQUFFLGtCQUFSO0FBQTRCRSxJQUFBQSxRQUFRLEVBQUU7QUFBdEMsR0FBRCxDLFdBRVhELFdBQVcsQ0FBQztBQUFFRCxJQUFBQSxJQUFJLEVBQUUsWUFBUjtBQUFzQkUsSUFBQUEsUUFBUSxFQUFFO0FBQWhDLEdBQUQsQyxXQUVYRCxXQUFXLENBQUM7QUFBRUQsSUFBQUEsSUFBSSxFQUFFLFlBQVI7QUFBc0JFLElB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QixLQUF4QixFQWhDcUUsQ0FnQ3JDOztBQUNoQ0YsTUFBQUEsYUFBYSxDQUFDRyxLQUFkLENBQW9CLFNBQXBCLEVBQStCLE1BQS9CO0FBQ0FILE1BQUFBLGFBQWEsQ0FBQ0csS0FBZCxDQUFvQixhQUFwQixFQUFtQyxRQUFuQztBQUNBSCxNQUFBQSxhQUFhLENBQUNLLE9BQWQ7QUFDQUwsTUFBQUEsYUFBYSxDQUFDTyxhQUFkLENBQTRCTixXQUFXLENBQUNTLFlBQXhDLEVBcENxRSxDQW9DZDs7QUFDdkRWLE1BQUFBLGFBQWEsQ0FBQ08sYUFBZCxDQUE0Qk4sV0FBVyxDQUFDVSxZQUF4QyxFQXJDcUUsQ0FxQ2Q7O0FBQ3ZEWCxNQUFBQSxhQUFhLENBQUNGLEtBQWQsQ0FBb0IsS0FBcEIsRUF0Q3FFLENBc0N6Qzs7QUFFNUJFLE1BQUFBLGFBQWEsQ0FBQ0YsS0FBZCxDQUFvQixLQUFwQixFQXhDcUUsQ0F3Q3pDOztBQUU1QkUsTUFBQUEsYUFBYSxDQUFDRixLQUFkLENBQW9CLEtBQXBCLEVBMUNxRSxDQTBDekM7QUFDNUIsSzs7V0FDRGMsTyxHQUFBLGlCQUFRQyxtQkFBUixFQUFzQztBQUNyQyxVQUFNQyxZQUFZLEdBQUcsS0FBS2hELHdCQUFMLEVBQXJCOztBQUNBLFVBQUlnRCxZQUFKLEVBQWtCO0FBQ2pCQSxRQUFBQSxZQUFZLENBQUNDLHdCQUFiLENBQXNDLElBQXRDO0FBQ0E7O0FBQ0QsYUFBTyxLQUFLekIsVUFBWjtBQUNBMEIsTUFBQUEsWUFBWSxDQUFDQyxTQUFiLENBQXVCTCxPQUF2QixDQUErQk0sS0FBL0IsQ0FBcUMsSUFBckMsRUFBMkMsQ0FBQ0wsbUJBQUQsQ0FBM0M7QUFDQSxLOzs7SUFwSndCRyxZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBdUpYN0UsVyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IFJlc291cmNlTW9kZWwgZnJvbSBcInNhcC9mZS9tYWNyb3MvUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IEF2YXRhciBmcm9tIFwic2FwL20vQXZhdGFyXCI7XG5pbXBvcnQgQnVzeURpYWxvZyBmcm9tIFwic2FwL20vQnVzeURpYWxvZ1wiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgTGluayBmcm9tIFwic2FwL20vTGlua1wiO1xuaW1wb3J0IFRleHQgZnJvbSBcInNhcC9tL1RleHRcIjtcbmltcG9ydCBJY29uIGZyb20gXCJzYXAvdWkvY29yZS9JY29uXCI7XG5pbXBvcnQgeyBVUkkgfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IFJlbmRlck1hbmFnZXIgZnJvbSBcInNhcC91aS9jb3JlL1JlbmRlck1hbmFnZXJcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IFY0Q29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBGaWxlVXBsb2FkZXIgZnJvbSBcInNhcC91aS91bmlmaWVkL0ZpbGVVcGxvYWRlclwiO1xuaW1wb3J0IEZpZWxkV3JhcHBlciBmcm9tIFwiLi9GaWVsZFdyYXBwZXJcIjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuRmlsZVdyYXBwZXJcIilcbmNsYXNzIEZpbGVXcmFwcGVyIGV4dGVuZHMgRmllbGRXcmFwcGVyIHtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJzYXAudWkuY29yZS5VUklcIiB9KVxuXHR1cGxvYWRVcmwhOiBVUkk7XG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIiB9KVxuXHRwYXJlbnRFbnRpdHlTZXQhOiBDb250ZXh0O1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC51aS5tb2RlbC5Db250ZXh0XCIgfSlcblx0cGFyZW50RW50aXR5VHlwZSE6IENvbnRleHQ7XG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0cHJvcGVydHlQYXRoITogc3RyaW5nO1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpbGVuYW1lITogc3RyaW5nO1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdG1lZGlhVHlwZSE6IHN0cmluZztcblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5BdmF0YXJcIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGF2YXRhciE6IEF2YXRhcjtcblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAudWkuY29yZS5JY29uXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRpY29uITogSWNvbjtcblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5MaW5rXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRsaW5rITogTGluaztcblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5UZXh0XCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHR0ZXh0ITogVGV4dDtcblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAudWkudW5pZmllZC5GaWxlVXBsb2FkZXJcIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGZpbGVVcGxvYWRlciE6IEZpbGVVcGxvYWRlcjtcblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5CdXR0b25cIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGRlbGV0ZUJ1dHRvbiE6IEJ1dHRvbjtcblx0cHJpdmF0ZSBfYnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXHRwcml2YXRlIGJ1c3lEaWFsb2c/OiBCdXN5RGlhbG9nO1xuXG5cdG9uQmVmb3JlUmVuZGVyaW5nKCkge1xuXHRcdHRoaXMuX2FkZFNpZGVFZmZlY3RzKCk7XG5cdFx0Ly8gc3VwZXIub25CZWZvcmVSZW5kZXJpbmcoKTtcblx0fVxuXHRfYWRkU2lkZUVmZmVjdHMoKSB7XG5cdFx0Ly8gYWRkIFNpZGVFZmZlY3RzIGZvciBzdHJlYW0gY29udGVudCwgZmlsZW5hbWUgYW5kIG1lZGlhdHlwZVxuXHRcdGxldCBzb3VyY2VQcm9wZXJ0eSA9IFwiXCIsXG5cdFx0XHRzb3VyY2VQYXRoID0gXCJcIixcblx0XHRcdHBhdGggPSBcIlwiLFxuXHRcdFx0cGFyZW50RW50aXR5U2V0V2l0aFNsYXNoID0gXCJcIjtcblx0XHRjb25zdCBuYXZpZ2F0aW9uUHJvcGVydGllczogb2JqZWN0W10gPSBbXTtcblx0XHR0aGlzLmdldEN1c3RvbURhdGEoKS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtOiBhbnkpIHtcblx0XHRcdGlmIChpdGVtLmdldFByb3BlcnR5KFwia2V5XCIpID09PSBcInNvdXJjZVBhdGhcIikge1xuXHRcdFx0XHRzb3VyY2VQYXRoID0gaXRlbS5nZXRQcm9wZXJ0eShcInZhbHVlXCIpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHBhcmVudEVudGl0eVNldFdpdGhTbGFzaCA9IFwiL1wiICsgdGhpcy5wYXJlbnRFbnRpdHlTZXQgKyBcIi9cIjtcblx0XHRzb3VyY2VQcm9wZXJ0eSA9IHNvdXJjZVBhdGguc3Vic3RyaW5nKFxuXHRcdFx0c291cmNlUGF0aC5pbmRleE9mKHBhcmVudEVudGl0eVNldFdpdGhTbGFzaCkgKyBwYXJlbnRFbnRpdHlTZXRXaXRoU2xhc2gubGVuZ3RoLFxuXHRcdFx0c291cmNlUGF0aC5sZW5ndGhcblx0XHQpO1xuXHRcdHBhdGggPSBzb3VyY2VQcm9wZXJ0eS5yZXBsYWNlKHRoaXMucHJvcGVydHlQYXRoLCBcIlwiKTtcblx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgXCIkTmF2aWdhdGlvblByb3BlcnR5UGF0aFwiOiBzb3VyY2VQcm9wZXJ0eSB9KTtcblx0XHRpZiAodGhpcy5maWxlbmFtZSkge1xuXHRcdFx0bmF2aWdhdGlvblByb3BlcnRpZXMucHVzaCh7IFwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGhcIjogcGF0aCArIHRoaXMuZmlsZW5hbWUgfSk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLm1lZGlhVHlwZSkge1xuXHRcdFx0bmF2aWdhdGlvblByb3BlcnRpZXMucHVzaCh7IFwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGhcIjogcGF0aCArIHRoaXMubWVkaWFUeXBlIH0pO1xuXHRcdH1cblx0XHR0aGlzLl9nZXRTaWRlRWZmZWN0Q29udHJvbGxlcigpLmFkZENvbnRyb2xTaWRlRWZmZWN0cyh0aGlzLnBhcmVudEVudGl0eVR5cGUsIHtcblx0XHRcdFNvdXJjZVByb3BlcnRpZXM6IHNvdXJjZVByb3BlcnR5LFxuXHRcdFx0VGFyZ2V0RW50aXRpZXM6IG5hdmlnYXRpb25Qcm9wZXJ0aWVzLFxuXHRcdFx0c291cmNlQ29udHJvbElkOiB0aGlzLmdldElkKClcblx0XHR9KTtcblx0fVxuXHRfZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKSB7XG5cdFx0Y29uc3QgY29udHJvbGxlciA9IHRoaXMuX2dldFZpZXdDb250cm9sbGVyKCk7XG5cdFx0cmV0dXJuIGNvbnRyb2xsZXIgPyBjb250cm9sbGVyLl9zaWRlRWZmZWN0cyA6IHVuZGVmaW5lZDtcblx0fVxuXHRfZ2V0Vmlld0NvbnRyb2xsZXIoKSB7XG5cdFx0Y29uc3QgdmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyk7XG5cdFx0cmV0dXJuIHZpZXcgJiYgdmlldy5nZXRDb250cm9sbGVyKCk7XG5cdH1cblx0Z2V0VXBsb2FkVXJsKCkge1xuXHRcdC8vIHNldCB1cGxvYWQgdXJsIGFzIGNhbm9uaWNhbCB1cmwgZm9yIE5hdmlnYXRpb25Qcm9wZXJ0aWVzXG5cdFx0Ly8gdGhpcyBpcyBhIHdvcmthcm91bmQgYXMgc29tZSBiYWNrZW5kcyBjYW5ub3QgcmVzb2x2ZSBOYXZpZ2F0aW9uc1Byb3BlcnRpZXMgZm9yIHN0cmVhbSB0eXBlc1xuXHRcdGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldEJpbmRpbmdDb250ZXh0KCkgYXMgVjRDb250ZXh0O1xuXHRcdHJldHVybiBjb250ZXh0ID8gdGhpcy51cGxvYWRVcmwucmVwbGFjZShjb250ZXh0LmdldFBhdGgoKSwgY29udGV4dC5nZXRDYW5vbmljYWxQYXRoKCkpIDogXCJcIjtcblx0fVxuXHRzZXRVSUJ1c3koYnVzeTogYm9vbGVhbikge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuXHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdHRoaXMuX2J1c3kgPSBidXN5O1xuXHRcdGlmIChidXN5KSB7XG5cdFx0XHRpZiAoIXRoaXMuYnVzeURpYWxvZykge1xuXHRcdFx0XHR0aGlzLmJ1c3lEaWFsb2cgPSBuZXcgQnVzeURpYWxvZyh7XG5cdFx0XHRcdFx0dGV4dDogUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiTV9GSUxFV1JBUFBFUl9CVVNZX0RJQUxPR19USVRMRVwiKSxcblx0XHRcdFx0XHRzaG93Q2FuY2VsQnV0dG9uOiBmYWxzZVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRpZiAodGhhdC5fYnVzeSkge1xuXHRcdFx0XHRcdHRoYXQuYnVzeURpYWxvZz8ub3BlbigpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LCAxMDAwKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5idXN5RGlhbG9nPy5jbG9zZShmYWxzZSk7XG5cdFx0fVxuXHR9XG5cdHN0YXRpYyByZW5kZXIocmVuZGVyTWFuYWdlcjogUmVuZGVyTWFuYWdlciwgZmlsZVdyYXBwZXI6IEZpbGVXcmFwcGVyKSB7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIiwgZmlsZVdyYXBwZXIpOyAvLyBGaWxlV3JhcHBlciBjb250cm9sIGRpdlxuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJ3aWR0aFwiLCBmaWxlV3JhcHBlci53aWR0aCk7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cblx0XHQvLyBPdXRlciBCb3hcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5TdGFydChcImRpdlwiKTsgLy8gZGl2IGZvciBhbGwgY29udHJvbHNcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiZGlzcGxheVwiLCBcImZsZXhcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImJveC1zaXppbmdcIiwgXCJib3JkZXItYm94XCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJqdXN0aWZ5LWNvbnRlbnRcIiwgXCJzcGFjZS1iZXR3ZWVuXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJhbGlnbi1pdGVtc1wiLCBcImNlbnRlclwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiZmxleC13cmFwXCIsIFwid3JhcFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24tY29udGVudFwiLCBcInN0cmV0Y2hcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcIndpZHRoXCIsIFwiMTAwJVwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5FbmQoKTtcblxuXHRcdC8vIERpc3BsYXkgTW9kZVxuXHRcdHJlbmRlck1hbmFnZXIub3BlblN0YXJ0KFwiZGl2XCIpOyAvLyBkaXYgZm9yIGNvbnRyb2xzIHNob3duIGluIERpc3BsYXkgbW9kZVxuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJkaXNwbGF5XCIsIFwiZmxleFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24taXRlbXNcIiwgXCJjZW50ZXJcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cblx0XHRpZiAoZmlsZVdyYXBwZXIuYXZhdGFyKSB7XG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuYXZhdGFyKTsgLy8gcmVuZGVyIHRoZSBBdmF0YXIgQ29udHJvbFxuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuaWNvbik7IC8vIHJlbmRlciB0aGUgSWNvbiBDb250cm9sXG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIubGluayk7IC8vIHJlbmRlciB0aGUgTGluayBDb250cm9sXG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIudGV4dCk7IC8vIHJlbmRlciB0aGUgVGV4dCBDb250cm9sIGZvciBlbXB0eSBmaWxlIGluZGljYXRpb25cblx0XHR9XG5cdFx0cmVuZGVyTWFuYWdlci5jbG9zZShcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5IG1vZGVcblxuXHRcdC8vIEFkZGl0aW9uYWwgY29udGVudCBmb3IgRWRpdCBNb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSArIEVkaXQgbW9kZVxuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJkaXNwbGF5XCIsIFwiZmxleFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24taXRlbXNcIiwgXCJjZW50ZXJcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmZpbGVVcGxvYWRlcik7IC8vIHJlbmRlciB0aGUgRmlsZVVwbG9hZGVyIENvbnRyb2xcblx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuZGVsZXRlQnV0dG9uKTsgLy8gcmVuZGVyIHRoZSBEZWxldGUgQnV0dG9uIENvbnRyb2xcblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBkaXYgZm9yIGNvbnRyb2xzIHNob3duIGluIERpc3BsYXkgKyBFZGl0IG1vZGVcblxuXHRcdHJlbmRlck1hbmFnZXIuY2xvc2UoXCJkaXZcIik7IC8vIGRpdiBmb3IgYWxsIGNvbnRyb2xzXG5cblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBlbmQgb2YgdGhlIGNvbXBsZXRlIENvbnRyb2xcblx0fVxuXHRkZXN0cm95KGJTdXBwcmVzc0ludmFsaWRhdGU6IGJvb2xlYW4pIHtcblx0XHRjb25zdCBvU2lkZUVmZmVjdHMgPSB0aGlzLl9nZXRTaWRlRWZmZWN0Q29udHJvbGxlcigpO1xuXHRcdGlmIChvU2lkZUVmZmVjdHMpIHtcblx0XHRcdG9TaWRlRWZmZWN0cy5yZW1vdmVDb250cm9sU2lkZUVmZmVjdHModGhpcyk7XG5cdFx0fVxuXHRcdGRlbGV0ZSB0aGlzLmJ1c3lEaWFsb2c7XG5cdFx0RmllbGRXcmFwcGVyLnByb3RvdHlwZS5kZXN0cm95LmFwcGx5KHRoaXMsIFtiU3VwcHJlc3NJbnZhbGlkYXRlXSk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRmlsZVdyYXBwZXI7XG4iXX0=
360
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbGVXcmFwcGVyLnRzIl0sIm5hbWVzIjpbIkZpbGVXcmFwcGVyIiwiZGVmaW5lVUk1Q2xhc3MiLCJwcm9wZXJ0eSIsInR5cGUiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2J1c3kiLCJnZXRBY2Nlc3NpYmlsaXR5SW5mbyIsImFjY0luZm8iLCJhdmF0YXIiLCJwdXNoIiwiaWNvbiIsImxpbmsiLCJ0ZXh0IiwiZmlsZVVwbG9hZGVyIiwiZGVsZXRlQnV0dG9uIiwiY2hpbGRyZW4iLCJvbkJlZm9yZVJlbmRlcmluZyIsIl9zZXRBcmlhTGFiZWxzIiwiX2FkZFNpZGVFZmZlY3RzIiwiX3NldEFyaWFMYWJlbGxlZEJ5Iiwic291cmNlUHJvcGVydHkiLCJzb3VyY2VQYXRoIiwicGF0aCIsInBhcmVudEVudGl0eVNldFdpdGhTbGFzaCIsIm5hdmlnYXRpb25Qcm9wZXJ0aWVzIiwiZ2V0Q3VzdG9tRGF0YSIsImZvckVhY2giLCJpdGVtIiwiZ2V0UHJvcGVydHkiLCJwYXJlbnRFbnRpdHlTZXQiLCJzdWJzdHJpbmciLCJpbmRleE9mIiwibGVuZ3RoIiwicmVwbGFjZSIsInByb3BlcnR5UGF0aCIsImZpbGVuYW1lIiwibWVkaWFUeXBlIiwiX2dldFNpZGVFZmZlY3RDb250cm9sbGVyIiwiYWRkQ29udHJvbFNpZGVFZmZlY3RzIiwicGFyZW50RW50aXR5VHlwZSIsIlNvdXJjZVByb3BlcnRpZXMiLCJUYXJnZXRFbnRpdGllcyIsInNvdXJjZUNvbnRyb2xJZCIsImdldElkIiwiY29udHJvbGxlciIsIl9nZXRWaWV3Q29udHJvbGxlciIsIl9zaWRlRWZmZWN0cyIsInVuZGVmaW5lZCIsInZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJnZXRDb250cm9sbGVyIiwiZ2V0VXBsb2FkVXJsIiwiY29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0IiwidXBsb2FkVXJsIiwiZ2V0UGF0aCIsImdldENhbm9uaWNhbFBhdGgiLCJzZXRVSUJ1c3kiLCJidXN5IiwidGhhdCIsImJ1c3lEaWFsb2ciLCJCdXN5RGlhbG9nIiwiUmVzb3VyY2VNb2RlbCIsImdldFRleHQiLCJzaG93Q2FuY2VsQnV0dG9uIiwic2V0VGltZW91dCIsIm9wZW4iLCJjbG9zZSIsInJlbmRlciIsInJlbmRlck1hbmFnZXIiLCJmaWxlV3JhcHBlciIsIm9wZW5TdGFydCIsInN0eWxlIiwid2lkdGgiLCJvcGVuRW5kIiwicmVuZGVyQ29udHJvbCIsImRlc3Ryb3kiLCJiU3VwcHJlc3NJbnZhbGlkYXRlIiwib1NpZGVFZmZlY3RzIiwicmVtb3ZlQ29udHJvbFNpZGVFZmZlY3RzIiwiRmllbGRXcmFwcGVyIiwicHJvdG90eXBlIiwiYXBwbHkiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFlTUEsVyxXQURMQyxjQUFjLENBQUMsa0NBQUQsQyxVQUViQyxRQUFRLENBQUM7QUFBRUMsSUFBQUEsSUFBSSxFQUFFO0FBQVIsR0FBRCxDLFVBRVJELFFBQVEsQ0FBQztBQUFFQyxJQUFBQSxJQUFJLEVBQUU7QUFBUixHQUFELEMsVUFFUkQsUUFBUSxDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRTtBQUFSLEdBQUQsQyxVQUVSRCxRQUFRLENBQUM7QUFBRUMsSUFBQUEsSUFBSSxFQUFFO0FBQVIsR0FBRCxDLFVBRVJELFFBQVEsQ0FBQztBQUFFQyxJQUFBQSxJQUFJLEVBQUU7QUFBUixHQUFELEMsVUFFUkQsUUFBUSxDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRTtBQUFSLEdBQUQsQyxVQUVSQyxXQUFXLENBQUM7QUFBRUQsSUFBQUEsSUFBSSxFQUFFLGNBQVI7QUFBd0JFLElBQUFBLFFBQVEsRUFBRTtBQUFsQyxHQUFELEMsVUFFWEQsV0FBVyxDQUFDO0FBQUVELElBQUFBLElBQUksRUFBRSxrQkFBUjtBQUE0QkUsSUFBQUEsUUFBUSxFQUFFO0FBQXRDLEdBQUQsQyxXQUVYRCxXQUFXLENBQUM7QUFBRUQsSUFBQUEsSUFBSSxFQUFFLFlBQVI7QUFBc0JF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LFNBQWQsQ0FBd0IsS0FBeEIsRUFoQ3FFLENBZ0NyQzs7QUFDaENGLE1BQUFBLGFBQWEsQ0FBQ0csS0FBZCxDQUFvQixTQUFwQixFQUErQixNQUEvQjtBQUNBSCxNQUFBQSxhQUFhLENBQUNHLEtBQWQsQ0FBb0IsYUFBcEIsRUFBbUMsUUFBbkM7QUFDQUgsTUFBQUEsYUFBYSxDQUFDSyxPQUFkO0FBQ0FMLE1BQUFBLGFBQWEsQ0FBQ00sYUFBZCxDQUE0QkwsV0FBVyxDQUFDMUQsWUFBeEMsRUFwQ3FFLENBb0NkOztBQUN2RHlELE1BQUFBLGFBQWEsQ0FBQ00sYUFBZCxDQUE0QkwsV0FBVyxDQUFDekQsWUFBeEMsRUFyQ3FFLENBcUNkOztBQUN2RHdELE1BQUFBLGFBQWEsQ0FBQ0YsS0FBZCxDQUFvQixLQUFwQixFQXRDcUUsQ0FzQ3pDOztBQUU1QkUsTUFBQUEsYUFBYSxDQUFDRixLQUFkLENBQW9CLEtBQXBCLEVBeENxRSxDQXdDekM7O0FBRTVCRSxNQUFBQSxhQUFhLENBQUNGLEtBQWQsQ0FBb0IsS0FBcEIsRUExQ3FFLENBMEN6QztBQUM1QixLOztXQUNEUyxPLEdBQUEsaUJBQVFDLG1CQUFSLEVBQXNDO0FBQ3JDLFVBQU1DLFlBQVksR0FBRyxLQUFLMUMsd0JBQUwsRUFBckI7O0FBQ0EsVUFBSTBDLFlBQUosRUFBa0I7QUFDakJBLFFBQUFBLFlBQVksQ0FBQ0Msd0JBQWIsQ0FBc0MsSUFBdEM7QUFDQTs7QUFDRCxhQUFPLEtBQUtuQixVQUFaO0FBQ0FvQixNQUFBQSxZQUFZLENBQUNDLFNBQWIsQ0FBdUJMLE9BQXZCLENBQStCTSxLQUEvQixDQUFxQyxJQUFyQyxFQUEyQyxDQUFDTCxtQkFBRCxDQUEzQztBQUNBLEs7OztJQXJMd0JHLFk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0F3TFhsRixXIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBhZ2dyZWdhdGlvbiwgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL21hY3Jvcy9SZXNvdXJjZU1vZGVsXCI7XG5pbXBvcnQgQXZhdGFyIGZyb20gXCJzYXAvbS9BdmF0YXJcIjtcbmltcG9ydCBCdXN5RGlhbG9nIGZyb20gXCJzYXAvbS9CdXN5RGlhbG9nXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBMaW5rIGZyb20gXCJzYXAvbS9MaW5rXCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwic2FwL20vVGV4dFwiO1xuaW1wb3J0IEljb24gZnJvbSBcInNhcC91aS9jb3JlL0ljb25cIjtcbmltcG9ydCB7IFVSSSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgUmVuZGVyTWFuYWdlciBmcm9tIFwic2FwL3VpL2NvcmUvUmVuZGVyTWFuYWdlclwiO1xuaW1wb3J0IENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgVjRDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IEZpbGVVcGxvYWRlciBmcm9tIFwic2FwL3VpL3VuaWZpZWQvRmlsZVVwbG9hZGVyXCI7XG5pbXBvcnQgRmllbGRXcmFwcGVyIGZyb20gXCIuL0ZpZWxkV3JhcHBlclwiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5jb250cm9scy5GaWxlV3JhcHBlclwiKVxuY2xhc3MgRmlsZVdyYXBwZXIgZXh0ZW5kcyBGaWVsZFdyYXBwZXIge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC51aS5jb3JlLlVSSVwiIH0pXG5cdHVwbG9hZFVybCE6IFVSSTtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJzYXAudWkubW9kZWwuQ29udGV4dFwiIH0pXG5cdHBhcmVudEVudGl0eVNldCE6IENvbnRleHQ7XG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIiB9KVxuXHRwYXJlbnRFbnRpdHlUeXBlITogQ29udGV4dDtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRwcm9wZXJ0eVBhdGghOiBzdHJpbmc7XG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZmlsZW5hbWUhOiBzdHJpbmc7XG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVkaWFUeXBlITogc3RyaW5nO1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC5tLkF2YXRhclwiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0YXZhdGFyITogQXZhdGFyO1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkljb25cIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGljb24hOiBJY29uO1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC5tLkxpbmtcIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGxpbmshOiBMaW5rO1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC5tLlRleHRcIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdHRleHQhOiBUZXh0O1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS51bmlmaWVkLkZpbGVVcGxvYWRlclwiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0ZmlsZVVwbG9hZGVyITogRmlsZVVwbG9hZGVyO1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC5tLkJ1dHRvblwiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0ZGVsZXRlQnV0dG9uITogQnV0dG9uO1xuXHRwcml2YXRlIF9idXN5OiBib29sZWFuID0gZmFsc2U7XG5cdHByaXZhdGUgYnVzeURpYWxvZz86IEJ1c3lEaWFsb2c7XG5cblx0Z2V0QWNjZXNzaWJpbGl0eUluZm8oKSB7XG5cdFx0Y29uc3QgYWNjSW5mbyA9IFtdO1xuXHRcdGlmICh0aGlzLmF2YXRhcikge1xuXHRcdFx0YWNjSW5mby5wdXNoKHRoaXMuYXZhdGFyKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuaWNvbikge1xuXHRcdFx0YWNjSW5mby5wdXNoKHRoaXMuaWNvbik7XG5cdFx0fVxuXHRcdGlmICh0aGlzLmxpbmspIHtcblx0XHRcdGFjY0luZm8ucHVzaCh0aGlzLmxpbmspO1xuXHRcdH1cblx0XHRpZiAodGhpcy50ZXh0KSB7XG5cdFx0XHRhY2NJbmZvLnB1c2godGhpcy50ZXh0KTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuZmlsZVVwbG9hZGVyKSB7XG5cdFx0XHRhY2NJbmZvLnB1c2godGhpcy5maWxlVXBsb2FkZXIpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5kZWxldGVCdXR0b24pIHtcblx0XHRcdGFjY0luZm8ucHVzaCh0aGlzLmRlbGV0ZUJ1dHRvbik7XG5cdFx0fVxuXHRcdHJldHVybiB7IGNoaWxkcmVuOiBhY2NJbmZvIH07XG5cdH1cblxuXHRvbkJlZm9yZVJlbmRlcmluZygpIHtcblx0XHR0aGlzLl9zZXRBcmlhTGFiZWxzKCk7XG5cdFx0dGhpcy5fYWRkU2lkZUVmZmVjdHMoKTtcblx0fVxuXG5cdF9zZXRBcmlhTGFiZWxzKCkge1xuXHRcdHRoaXMuX3NldEFyaWFMYWJlbGxlZEJ5KHRoaXMuYXZhdGFyKTtcblx0XHR0aGlzLl9zZXRBcmlhTGFiZWxsZWRCeSh0aGlzLmljb24pO1xuXHRcdHRoaXMuX3NldEFyaWFMYWJlbGxlZEJ5KHRoaXMubGluayk7XG5cdFx0dGhpcy5fc2V0QXJpYUxhYmVsbGVkQnkodGhpcy50ZXh0KTtcblx0XHR0aGlzLl9zZXRBcmlhTGFiZWxsZWRCeSh0aGlzLmZpbGVVcGxvYWRlcik7XG5cdFx0dGhpcy5fc2V0QXJpYUxhYmVsbGVkQnkodGhpcy5kZWxldGVCdXR0b24pO1xuXHR9XG5cblx0X2FkZFNpZGVFZmZlY3RzKCkge1xuXHRcdC8vIGFkZCBTaWRlRWZmZWN0cyBmb3Igc3RyZWFtIGNvbnRlbnQsIGZpbGVuYW1lIGFuZCBtZWRpYXR5cGVcblx0XHRsZXQgc291cmNlUHJvcGVydHkgPSBcIlwiLFxuXHRcdFx0c291cmNlUGF0aCA9IFwiXCIsXG5cdFx0XHRwYXRoID0gXCJcIixcblx0XHRcdHBhcmVudEVudGl0eVNldFdpdGhTbGFzaCA9IFwiXCI7XG5cdFx0Y29uc3QgbmF2aWdhdGlvblByb3BlcnRpZXM6IG9iamVjdFtdID0gW107XG5cdFx0dGhpcy5nZXRDdXN0b21EYXRhKCkuZm9yRWFjaChmdW5jdGlvbiAoaXRlbTogYW55KSB7XG5cdFx0XHRpZiAoaXRlbS5nZXRQcm9wZXJ0eShcImtleVwiKSA9PT0gXCJzb3VyY2VQYXRoXCIpIHtcblx0XHRcdFx0c291cmNlUGF0aCA9IGl0ZW0uZ2V0UHJvcGVydHkoXCJ2YWx1ZVwiKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRwYXJlbnRFbnRpdHlTZXRXaXRoU2xhc2ggPSBcIi9cIiArIHRoaXMucGFyZW50RW50aXR5U2V0ICsgXCIvXCI7XG5cdFx0c291cmNlUHJvcGVydHkgPSBzb3VyY2VQYXRoLnN1YnN0cmluZyhcblx0XHRcdHNvdXJjZVBhdGguaW5kZXhPZihwYXJlbnRFbnRpdHlTZXRXaXRoU2xhc2gpICsgcGFyZW50RW50aXR5U2V0V2l0aFNsYXNoLmxlbmd0aCxcblx0XHRcdHNvdXJjZVBhdGgubGVuZ3RoXG5cdFx0KTtcblx0XHRwYXRoID0gc291cmNlUHJvcGVydHkucmVwbGFjZSh0aGlzLnByb3BlcnR5UGF0aCwgXCJcIik7XG5cdFx0bmF2aWdhdGlvblByb3BlcnRpZXMucHVzaCh7IFwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGhcIjogc291cmNlUHJvcGVydHkgfSk7XG5cdFx0aWYgKHRoaXMuZmlsZW5hbWUpIHtcblx0XHRcdG5hdmlnYXRpb25Qcm9wZXJ0aWVzLnB1c2goeyBcIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoXCI6IHBhdGggKyB0aGlzLmZpbGVuYW1lIH0pO1xuXHRcdH1cblx0XHRpZiAodGhpcy5tZWRpYVR5cGUpIHtcblx0XHRcdG5hdmlnYXRpb25Qcm9wZXJ0aWVzLnB1c2goeyBcIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoXCI6IHBhdGggKyB0aGlzLm1lZGlhVHlwZSB9KTtcblx0XHR9XG5cdFx0dGhpcy5fZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKS5hZGRDb250cm9sU2lkZUVmZmVjdHModGhpcy5wYXJlbnRFbnRpdHlUeXBlLCB7XG5cdFx0XHRTb3VyY2VQcm9wZXJ0aWVzOiBzb3VyY2VQcm9wZXJ0eSxcblx0XHRcdFRhcmdldEVudGl0aWVzOiBuYXZpZ2F0aW9uUHJvcGVydGllcyxcblx0XHRcdHNvdXJjZUNvbnRyb2xJZDogdGhpcy5nZXRJZCgpXG5cdFx0fSk7XG5cdH1cblx0X2dldFNpZGVFZmZlY3RDb250cm9sbGVyKCkge1xuXHRcdGNvbnN0IGNvbnRyb2xsZXIgPSB0aGlzLl9nZXRWaWV3Q29udHJvbGxlcigpO1xuXHRcdHJldHVybiBjb250cm9sbGVyID8gY29udHJvbGxlci5fc2lkZUVmZmVjdHMgOiB1bmRlZmluZWQ7XG5cdH1cblx0X2dldFZpZXdDb250cm9sbGVyKCkge1xuXHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMpO1xuXHRcdHJldHVybiB2aWV3ICYmIHZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHR9XG5cdGdldFVwbG9hZFVybCgpIHtcblx0XHQvLyBzZXQgdXBsb2FkIHVybCBhcyBjYW5vbmljYWwgdXJsIGZvciBOYXZpZ2F0aW9uUHJvcGVydGllc1xuXHRcdC8vIHRoaXMgaXMgYSB3b3JrYXJvdW5kIGFzIHNvbWUgYmFja2VuZHMgY2Fubm90IHJlc29sdmUgTmF2aWdhdGlvbnNQcm9wZXJ0aWVzIGZvciBzdHJlYW0gdHlwZXNcblx0XHRjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpIGFzIFY0Q29udGV4dDtcblx0XHRyZXR1cm4gY29udGV4dCA/IHRoaXMudXBsb2FkVXJsLnJlcGxhY2UoY29udGV4dC5nZXRQYXRoKCksIGNvbnRleHQuZ2V0Q2Fub25pY2FsUGF0aCgpKSA6IFwiXCI7XG5cdH1cblx0c2V0VUlCdXN5KGJ1c3k6IGJvb2xlYW4pIHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcblx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHR0aGlzLl9idXN5ID0gYnVzeTtcblx0XHRpZiAoYnVzeSkge1xuXHRcdFx0aWYgKCF0aGlzLmJ1c3lEaWFsb2cpIHtcblx0XHRcdFx0dGhpcy5idXN5RGlhbG9nID0gbmV3IEJ1c3lEaWFsb2coe1xuXHRcdFx0XHRcdHRleHQ6IFJlc291cmNlTW9kZWwuZ2V0VGV4dChcIk1fRklMRVdSQVBQRVJfQlVTWV9ESUFMT0dfVElUTEVcIiksXG5cdFx0XHRcdFx0c2hvd0NhbmNlbEJ1dHRvbjogZmFsc2Vcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0aWYgKHRoYXQuX2J1c3kpIHtcblx0XHRcdFx0XHR0aGF0LmJ1c3lEaWFsb2c/Lm9wZW4oKTtcblx0XHRcdFx0fVxuXHRcdFx0fSwgMTAwMCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuYnVzeURpYWxvZz8uY2xvc2UoZmFsc2UpO1xuXHRcdH1cblx0fVxuXHRzdGF0aWMgcmVuZGVyKHJlbmRlck1hbmFnZXI6IFJlbmRlck1hbmFnZXIsIGZpbGVXcmFwcGVyOiBGaWxlV3JhcHBlcikge1xuXHRcdHJlbmRlck1hbmFnZXIub3BlblN0YXJ0KFwiZGl2XCIsIGZpbGVXcmFwcGVyKTsgLy8gRmlsZVdyYXBwZXIgY29udHJvbCBkaXZcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwid2lkdGhcIiwgZmlsZVdyYXBwZXIud2lkdGgpO1xuXHRcdHJlbmRlck1hbmFnZXIub3BlbkVuZCgpO1xuXG5cdFx0Ly8gT3V0ZXIgQm94XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIik7IC8vIGRpdiBmb3IgYWxsIGNvbnRyb2xzXG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImRpc3BsYXlcIiwgXCJmbGV4XCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJib3gtc2l6aW5nXCIsIFwiYm9yZGVyLWJveFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwianVzdGlmeS1jb250ZW50XCIsIFwic3BhY2UtYmV0d2VlblwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24taXRlbXNcIiwgXCJjZW50ZXJcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImZsZXgtd3JhcFwiLCBcIndyYXBcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWNvbnRlbnRcIiwgXCJzdHJldGNoXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJ3aWR0aFwiLCBcIjEwMCVcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cblx0XHQvLyBEaXNwbGF5IE1vZGVcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5TdGFydChcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5IG1vZGVcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiZGlzcGxheVwiLCBcImZsZXhcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWl0ZW1zXCIsIFwiY2VudGVyXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIub3BlbkVuZCgpO1xuXG5cdFx0aWYgKGZpbGVXcmFwcGVyLmF2YXRhcikge1xuXHRcdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmF2YXRhcik7IC8vIHJlbmRlciB0aGUgQXZhdGFyIENvbnRyb2xcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmljb24pOyAvLyByZW5kZXIgdGhlIEljb24gQ29udHJvbFxuXHRcdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmxpbmspOyAvLyByZW5kZXIgdGhlIExpbmsgQ29udHJvbFxuXHRcdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLnRleHQpOyAvLyByZW5kZXIgdGhlIFRleHQgQ29udHJvbCBmb3IgZW1wdHkgZmlsZSBpbmRpY2F0aW9uXG5cdFx0fVxuXHRcdHJlbmRlck1hbmFnZXIuY2xvc2UoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSBtb2RlXG5cblx0XHQvLyBBZGRpdGlvbmFsIGNvbnRlbnQgZm9yIEVkaXQgTW9kZVxuXHRcdHJlbmRlck1hbmFnZXIub3BlblN0YXJ0KFwiZGl2XCIpOyAvLyBkaXYgZm9yIGNvbnRyb2xzIHNob3duIGluIERpc3BsYXkgKyBFZGl0IG1vZGVcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiZGlzcGxheVwiLCBcImZsZXhcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWl0ZW1zXCIsIFwiY2VudGVyXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIub3BlbkVuZCgpO1xuXHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci5maWxlVXBsb2FkZXIpOyAvLyByZW5kZXIgdGhlIEZpbGVVcGxvYWRlciBDb250cm9sXG5cdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmRlbGV0ZUJ1dHRvbik7IC8vIHJlbmRlciB0aGUgRGVsZXRlIEJ1dHRvbiBDb250cm9sXG5cdFx0cmVuZGVyTWFuYWdlci5jbG9zZShcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5ICsgRWRpdCBtb2RlXG5cblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBkaXYgZm9yIGFsbCBjb250cm9sc1xuXG5cdFx0cmVuZGVyTWFuYWdlci5jbG9zZShcImRpdlwiKTsgLy8gZW5kIG9mIHRoZSBjb21wbGV0ZSBDb250cm9sXG5cdH1cblx0ZGVzdHJveShiU3VwcHJlc3NJbnZhbGlkYXRlOiBib29sZWFuKSB7XG5cdFx0Y29uc3Qgb1NpZGVFZmZlY3RzID0gdGhpcy5fZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKTtcblx0XHRpZiAob1NpZGVFZmZlY3RzKSB7XG5cdFx0XHRvU2lkZUVmZmVjdHMucmVtb3ZlQ29udHJvbFNpZGVFZmZlY3RzKHRoaXMpO1xuXHRcdH1cblx0XHRkZWxldGUgdGhpcy5idXN5RGlhbG9nO1xuXHRcdEZpZWxkV3JhcHBlci5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzLCBbYlN1cHByZXNzSW52YWxpZGF0ZV0pO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZpbGVXcmFwcGVyO1xuIl19
@@ -43,10 +43,43 @@ class FileWrapper extends FieldWrapper {
43
43
  private _busy: boolean = false;
44
44
  private busyDialog?: BusyDialog;
45
45
 
46
+ getAccessibilityInfo() {
47
+ const accInfo = [];
48
+ if (this.avatar) {
49
+ accInfo.push(this.avatar);
50
+ }
51
+ if (this.icon) {
52
+ accInfo.push(this.icon);
53
+ }
54
+ if (this.link) {
55
+ accInfo.push(this.link);
56
+ }
57
+ if (this.text) {
58
+ accInfo.push(this.text);
59
+ }
60
+ if (this.fileUploader) {
61
+ accInfo.push(this.fileUploader);
62
+ }
63
+ if (this.deleteButton) {
64
+ accInfo.push(this.deleteButton);
65
+ }
66
+ return { children: accInfo };
67
+ }
68
+
46
69
  onBeforeRendering() {
70
+ this._setAriaLabels();
47
71
  this._addSideEffects();
48
- // super.onBeforeRendering();
49
72
  }
73
+
74
+ _setAriaLabels() {
75
+ this._setAriaLabelledBy(this.avatar);
76
+ this._setAriaLabelledBy(this.icon);
77
+ this._setAriaLabelledBy(this.link);
78
+ this._setAriaLabelledBy(this.text);
79
+ this._setAriaLabelledBy(this.fileUploader);
80
+ this._setAriaLabelledBy(this.deleteButton);
81
+ }
82
+
50
83
  _addSideEffects() {
51
84
  // add SideEffects for stream content, filename and mediatype
52
85
  let sourceProperty = "",