@openui5/sap.ui.rta 1.99.1 → 1.102.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/THIRDPARTY.txt +5 -5
  2. package/package.json +6 -6
  3. package/src/sap/ui/rta/.library +1 -1
  4. package/src/sap/ui/rta/Client.js +1 -1
  5. package/src/sap/ui/rta/RuntimeAuthoring.js +146 -92
  6. package/src/sap/ui/rta/Utils.js +3 -5
  7. package/src/sap/ui/rta/appVariant/AppVariantManager.js +1 -1
  8. package/src/sap/ui/rta/appVariant/AppVariantUtils.js +2 -2
  9. package/src/sap/ui/rta/appVariant/manageApps/webapp/controller/ManageApps.controller.js +0 -17
  10. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n.properties +0 -4
  11. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_ar.properties +0 -2
  12. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_bg.properties +0 -2
  13. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_ca.properties +0 -2
  14. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_cs.properties +0 -2
  15. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_cy.properties +0 -2
  16. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_da.properties +0 -2
  17. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_de.properties +0 -2
  18. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_el.properties +0 -2
  19. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_en.properties +0 -2
  20. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_en_GB.properties +0 -2
  21. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_en_US_sappsd.properties +0 -2
  22. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_en_US_saprigi.properties +0 -2
  23. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_en_US_saptrc.properties +0 -2
  24. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_es.properties +0 -2
  25. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_es_MX.properties +0 -2
  26. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_et.properties +0 -2
  27. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_fi.properties +0 -2
  28. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_fr.properties +0 -2
  29. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_fr_CA.properties +0 -2
  30. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_hi.properties +0 -2
  31. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_hr.properties +0 -2
  32. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_hu.properties +0 -2
  33. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_id.properties +0 -2
  34. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_it.properties +0 -2
  35. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_iw.properties +0 -2
  36. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_ja.properties +0 -2
  37. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_kk.properties +0 -2
  38. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_ko.properties +0 -2
  39. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_lt.properties +0 -2
  40. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_lv.properties +0 -2
  41. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_ms.properties +0 -2
  42. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_nl.properties +0 -2
  43. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_no.properties +0 -2
  44. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_pl.properties +0 -2
  45. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_pt.properties +0 -2
  46. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_pt_PT.properties +0 -2
  47. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_ro.properties +0 -2
  48. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_ru.properties +0 -2
  49. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_sh.properties +0 -2
  50. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_sk.properties +0 -2
  51. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_sl.properties +0 -2
  52. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_sv.properties +0 -2
  53. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_th.properties +0 -2
  54. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_tr.properties +0 -2
  55. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_uk.properties +0 -2
  56. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_vi.properties +0 -2
  57. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_zh_CN.properties +0 -2
  58. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_zh_TW.properties +0 -2
  59. package/src/sap/ui/rta/appVariant/manageApps/webapp/view/ManageApps.view.xml +0 -1
  60. package/src/sap/ui/rta/command/AddIFrame.js +1 -1
  61. package/src/sap/ui/rta/command/AddProperty.js +1 -1
  62. package/src/sap/ui/rta/command/AddXML.js +3 -2
  63. package/src/sap/ui/rta/command/AddXMLAtExtensionPoint.js +3 -2
  64. package/src/sap/ui/rta/command/AppDescriptorCommand.js +1 -1
  65. package/src/sap/ui/rta/command/BaseCommand.js +1 -1
  66. package/src/sap/ui/rta/command/BindProperty.js +3 -2
  67. package/src/sap/ui/rta/command/Combine.js +1 -1
  68. package/src/sap/ui/rta/command/CommandFactory.js +10 -4
  69. package/src/sap/ui/rta/command/CompositeCommand.js +1 -1
  70. package/src/sap/ui/rta/command/ControlVariantConfigure.js +1 -1
  71. package/src/sap/ui/rta/command/ControlVariantSave.js +1 -1
  72. package/src/sap/ui/rta/command/ControlVariantSaveAs.js +1 -1
  73. package/src/sap/ui/rta/command/ControlVariantSetTitle.js +1 -1
  74. package/src/sap/ui/rta/command/ControlVariantSwitch.js +1 -1
  75. package/src/sap/ui/rta/command/CreateContainer.js +1 -1
  76. package/src/sap/ui/rta/command/CustomAdd.js +1 -1
  77. package/src/sap/ui/rta/command/FlexCommand.js +1 -1
  78. package/src/sap/ui/rta/command/LREPSerializer.js +3 -3
  79. package/src/sap/ui/rta/command/LocalReset.js +1 -1
  80. package/src/sap/ui/rta/command/Move.js +1 -1
  81. package/src/sap/ui/rta/command/Property.js +1 -1
  82. package/src/sap/ui/rta/command/Remove.js +1 -1
  83. package/src/sap/ui/rta/command/Rename.js +1 -1
  84. package/src/sap/ui/rta/command/Resize.js +45 -0
  85. package/src/sap/ui/rta/command/Reveal.js +1 -1
  86. package/src/sap/ui/rta/command/Settings.js +1 -1
  87. package/src/sap/ui/rta/command/Split.js +1 -1
  88. package/src/sap/ui/rta/command/Stack.js +15 -12
  89. package/src/sap/ui/rta/command/appDescriptor/AddLibrary.js +1 -1
  90. package/src/sap/ui/rta/command/compVariant/CompVariantContent.js +82 -0
  91. package/src/sap/ui/rta/command/compVariant/CompVariantSaveAs.js +1 -1
  92. package/src/sap/ui/rta/command/compVariant/CompVariantSwitch.js +1 -1
  93. package/src/sap/ui/rta/command/compVariant/CompVariantUpdate.js +1 -1
  94. package/src/sap/ui/rta/enablement/elementActionTest.js +1 -1
  95. package/src/sap/ui/rta/library.js +6 -9
  96. package/src/sap/ui/rta/messagebundle.properties +24 -8
  97. package/src/sap/ui/rta/messagebundle_ar.properties +14 -6
  98. package/src/sap/ui/rta/messagebundle_bg.properties +16 -8
  99. package/src/sap/ui/rta/messagebundle_ca.properties +15 -7
  100. package/src/sap/ui/rta/messagebundle_cs.properties +14 -6
  101. package/src/sap/ui/rta/messagebundle_cy.properties +14 -6
  102. package/src/sap/ui/rta/messagebundle_da.properties +14 -6
  103. package/src/sap/ui/rta/messagebundle_de.properties +14 -6
  104. package/src/sap/ui/rta/messagebundle_el.properties +14 -6
  105. package/src/sap/ui/rta/messagebundle_en.properties +14 -6
  106. package/src/sap/ui/rta/messagebundle_en_GB.properties +14 -6
  107. package/src/sap/ui/rta/messagebundle_en_US_sappsd.properties +14 -6
  108. package/src/sap/ui/rta/messagebundle_en_US_saprigi.properties +14 -6
  109. package/src/sap/ui/rta/messagebundle_en_US_saptrc.properties +14 -6
  110. package/src/sap/ui/rta/messagebundle_es.properties +14 -6
  111. package/src/sap/ui/rta/messagebundle_es_MX.properties +14 -6
  112. package/src/sap/ui/rta/messagebundle_et.properties +14 -6
  113. package/src/sap/ui/rta/messagebundle_fi.properties +14 -6
  114. package/src/sap/ui/rta/messagebundle_fr.properties +14 -6
  115. package/src/sap/ui/rta/messagebundle_fr_CA.properties +14 -6
  116. package/src/sap/ui/rta/messagebundle_hi.properties +13 -5
  117. package/src/sap/ui/rta/messagebundle_hr.properties +14 -6
  118. package/src/sap/ui/rta/messagebundle_hu.properties +14 -6
  119. package/src/sap/ui/rta/messagebundle_id.properties +14 -6
  120. package/src/sap/ui/rta/messagebundle_it.properties +14 -6
  121. package/src/sap/ui/rta/messagebundle_iw.properties +14 -6
  122. package/src/sap/ui/rta/messagebundle_ja.properties +14 -6
  123. package/src/sap/ui/rta/messagebundle_kk.properties +14 -6
  124. package/src/sap/ui/rta/messagebundle_ko.properties +14 -6
  125. package/src/sap/ui/rta/messagebundle_lt.properties +14 -6
  126. package/src/sap/ui/rta/messagebundle_lv.properties +14 -6
  127. package/src/sap/ui/rta/messagebundle_ms.properties +14 -6
  128. package/src/sap/ui/rta/messagebundle_nl.properties +14 -6
  129. package/src/sap/ui/rta/messagebundle_no.properties +14 -6
  130. package/src/sap/ui/rta/messagebundle_pl.properties +14 -6
  131. package/src/sap/ui/rta/messagebundle_pt.properties +14 -6
  132. package/src/sap/ui/rta/messagebundle_pt_PT.properties +14 -6
  133. package/src/sap/ui/rta/messagebundle_ro.properties +14 -6
  134. package/src/sap/ui/rta/messagebundle_ru.properties +14 -6
  135. package/src/sap/ui/rta/messagebundle_sh.properties +14 -6
  136. package/src/sap/ui/rta/messagebundle_sk.properties +14 -6
  137. package/src/sap/ui/rta/messagebundle_sl.properties +14 -6
  138. package/src/sap/ui/rta/messagebundle_sv.properties +14 -6
  139. package/src/sap/ui/rta/messagebundle_th.properties +14 -6
  140. package/src/sap/ui/rta/messagebundle_tr.properties +14 -6
  141. package/src/sap/ui/rta/messagebundle_uk.properties +14 -6
  142. package/src/sap/ui/rta/messagebundle_vi.properties +14 -6
  143. package/src/sap/ui/rta/messagebundle_zh_CN.properties +14 -6
  144. package/src/sap/ui/rta/messagebundle_zh_TW.properties +15 -7
  145. package/src/sap/ui/rta/plugin/AddXMLAtExtensionPoint.js +1 -1
  146. package/src/sap/ui/rta/plugin/BaseCreate.js +1 -1
  147. package/src/sap/ui/rta/plugin/Combine.js +6 -12
  148. package/src/sap/ui/rta/plugin/CompVariant.js +85 -66
  149. package/src/sap/ui/rta/plugin/ControlVariant.js +1 -1
  150. package/src/sap/ui/rta/plugin/CreateContainer.js +1 -3
  151. package/src/sap/ui/rta/plugin/CutPaste.js +1 -1
  152. package/src/sap/ui/rta/plugin/DragDrop.js +1 -1
  153. package/src/sap/ui/rta/plugin/EasyAdd.js +1 -1
  154. package/src/sap/ui/rta/plugin/EasyRemove.js +1 -1
  155. package/src/sap/ui/rta/plugin/LocalReset.js +1 -1
  156. package/src/sap/ui/rta/plugin/Plugin.js +32 -11
  157. package/src/sap/ui/rta/plugin/RTAElementMover.js +1 -1
  158. package/src/sap/ui/rta/plugin/Remove.js +25 -26
  159. package/src/sap/ui/rta/plugin/Rename.js +6 -19
  160. package/src/sap/ui/rta/plugin/RenameHandler.js +23 -6
  161. package/src/sap/ui/rta/plugin/Resize.js +432 -0
  162. package/src/sap/ui/rta/plugin/Selection.js +1 -1
  163. package/src/sap/ui/rta/plugin/Settings.js +1 -1
  164. package/src/sap/ui/rta/plugin/Split.js +5 -11
  165. package/src/sap/ui/rta/plugin/Stretch.js +1 -1
  166. package/src/sap/ui/rta/plugin/additionalElements/ActionExtractor.js +1 -1
  167. package/src/sap/ui/rta/plugin/additionalElements/AddElementsDialog.js +1 -1
  168. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsAnalyzer.js +20 -10
  169. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsPlugin.js +1 -1
  170. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsUtils.js +1 -1
  171. package/src/sap/ui/rta/plugin/additionalElements/CommandBuilder.js +1 -1
  172. package/src/sap/ui/rta/plugin/iframe/AddIFrame.js +1 -1
  173. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialog.js +1 -1
  174. package/src/sap/ui/rta/service/Action.js +1 -1
  175. package/src/sap/ui/rta/service/ControllerExtension.js +1 -1
  176. package/src/sap/ui/rta/service/Outline.js +1 -1
  177. package/src/sap/ui/rta/service/Property.js +1 -1
  178. package/src/sap/ui/rta/service/Selection.js +1 -1
  179. package/src/sap/ui/rta/themes/base/AddIFrame.less +37 -29
  180. package/src/sap/ui/rta/themes/base/ChangeVisualization.less +63 -69
  181. package/src/sap/ui/rta/themes/base/ContextMenu.less +25 -0
  182. package/src/sap/ui/rta/themes/base/Dialogs.less +79 -0
  183. package/src/sap/ui/rta/themes/base/FieldRepository.less +14 -61
  184. package/src/sap/ui/rta/themes/base/Overlay.less +96 -98
  185. package/src/sap/ui/rta/themes/base/OverlayWithScrollbar.less +7 -1
  186. package/src/sap/ui/rta/themes/base/Toolbar.adaptation.less +178 -36
  187. package/src/sap/ui/rta/themes/base/Toolbar.base.less +23 -154
  188. package/src/sap/ui/rta/themes/base/Toolbar.fiori.less +2 -21
  189. package/src/sap/ui/rta/themes/base/Toolbar.personalization.less +3 -14
  190. package/src/sap/ui/rta/themes/base/Toolbar.standalone.less +0 -9
  191. package/src/sap/ui/rta/themes/base/library.source.less +2 -0
  192. package/src/sap/ui/rta/themes/sap_hcb/ChangeVisualization.less +7 -0
  193. package/src/sap/ui/rta/themes/sap_hcb/ContextMenu.less +5 -0
  194. package/src/sap/ui/rta/themes/sap_hcb/Dialogs.less +28 -0
  195. package/src/sap/ui/rta/themes/sap_hcb/FieldRepository.less +18 -0
  196. package/src/sap/ui/rta/themes/sap_hcb/Overlay.less +52 -12
  197. package/src/sap/ui/rta/themes/sap_hcb/Toolbar.adaptation.less +38 -0
  198. package/src/sap/ui/rta/themes/sap_hcb/Toolbar.base.less +14 -2
  199. package/src/sap/ui/rta/themes/sap_hcb/Toolbar.personalization.less +8 -2
  200. package/src/sap/ui/rta/themes/sap_hcb/library.source.less +5 -2
  201. package/src/sap/ui/rta/toolbar/Adaptation.fragment.xml +33 -32
  202. package/src/sap/ui/rta/toolbar/Adaptation.js +68 -24
  203. package/src/sap/ui/rta/toolbar/Base.js +1 -1
  204. package/src/sap/ui/rta/toolbar/Fiori.js +1 -1
  205. package/src/sap/ui/rta/toolbar/FioriLike.js +1 -1
  206. package/src/sap/ui/rta/toolbar/OverflowToolbarButton.js +1 -1
  207. package/src/sap/ui/rta/toolbar/Personalization.js +1 -1
  208. package/src/sap/ui/rta/toolbar/Standalone.js +1 -1
  209. package/src/sap/ui/rta/toolbar/VersionHistory.fragment.xml +2 -1
  210. package/src/sap/ui/rta/toolbar/translation/DownloadTranslationDialog.fragment.xml +20 -17
  211. package/src/sap/ui/rta/toolbar/translation/Translation.js +104 -98
  212. package/src/sap/ui/rta/toolbar/translation/UploadTranslationDialog.fragment.xml +4 -2
  213. package/src/sap/ui/rta/util/PluginManager.js +10 -4
  214. package/src/sap/ui/rta/util/PopupManager.js +33 -12
  215. package/src/sap/ui/rta/util/ServiceEventBus.js +1 -1
  216. package/src/sap/ui/rta/util/adaptationStarter.js +102 -80
  217. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicator.js +11 -4
  218. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicatorCategorySelection.fragment.xml +30 -0
  219. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicatorPopover.fragment.xml +1 -1
  220. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicatorRegistry.js +1 -6
  221. package/src/sap/ui/rta/util/changeVisualization/ChangeVisualization.js +108 -32
  222. package/src/sap/ui/rta/util/changeVisualization/categories/MoveVisualization.js +25 -7
  223. package/src/sap/ui/rta/themes/sap_hcb/Toolbar.standalone.less +0 -9
@@ -5,31 +5,35 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
+ "sap/m/GroupHeaderListItem",
8
9
  "sap/ui/core/format/DateFormat",
9
10
  "sap/ui/core/Fragment",
10
11
  "sap/ui/core/library",
11
- "sap/ui/fl/library",
12
+ "sap/ui/fl/write/api/Version",
12
13
  "sap/ui/rta/Utils",
13
14
  "sap/ui/rta/toolbar/translation/Translation",
15
+ "sap/ui/fl/write/api/FeaturesAPI",
14
16
  "sap/ui/rta/appVariant/Feature",
15
17
  "sap/ui/rta/toolbar/Base",
18
+ "sap/ui/model/Sorter",
16
19
  "sap/ui/Device"
17
- ],
18
- function(
20
+ ], function(
21
+ GroupHeaderListItem,
19
22
  DateFormat,
20
23
  Fragment,
21
24
  coreLibrary,
22
- flexLibrary,
25
+ Version,
23
26
  Utils,
24
27
  Translation,
28
+ FeaturesAPI,
25
29
  AppVariantFeature,
26
30
  Base,
31
+ Sorter,
27
32
  Device
28
33
  ) {
29
34
  "use strict";
30
35
 
31
36
  var MessageType = coreLibrary.MessageType;
32
- var Versions = flexLibrary.Versions;
33
37
 
34
38
  /**
35
39
  * Constructor for a new sap.ui.rta.toolbar.Adaptation control
@@ -39,7 +43,7 @@ function(
39
43
  * @extends sap.ui.rta.toolbar.Base
40
44
  *
41
45
  * @author SAP SE
42
- * @version 1.99.1
46
+ * @version 1.102.0
43
47
  *
44
48
  * @constructor
45
49
  * @private
@@ -59,13 +63,15 @@ function(
59
63
  undo: {},
60
64
  redo: {},
61
65
  exit: {},
66
+ save: {},
62
67
  restore: {},
63
68
  transport: {},
69
+ publishVersion: {},
64
70
  modeChange: {},
65
71
  activate: {},
66
72
  discardDraft: {},
67
73
  switchVersion: {},
68
- onCommandCategorySelection: {}
74
+ openChangeCategorySelectionPopover: {}
69
75
  }
70
76
  }
71
77
  });
@@ -113,8 +119,13 @@ function(
113
119
  oButton.setIcon(sIcon || "");
114
120
  }
115
121
 
116
- Adaptation.prototype.formatDiscardDraftVisible = function (sDisplayedVersion, bVersioningEnabled) {
117
- return sDisplayedVersion === Versions.Draft && bVersioningEnabled;
122
+ Adaptation.prototype.formatPublishVersionVisibility = function (bPublishVisible, bVersioningEnabled, sDisplayedVersion, sModeSwitcher) {
123
+ return bPublishVisible && bVersioningEnabled && sDisplayedVersion !== Version.Number.Draft && sModeSwitcher === "adaptation";
124
+ };
125
+
126
+
127
+ Adaptation.prototype.formatDiscardDraftVisible = function (sDisplayedVersion, bVersioningEnabled, sModeSwitcher) {
128
+ return sDisplayedVersion === Version.Number.Draft && bVersioningEnabled && sModeSwitcher === "adaptation";
118
129
  };
119
130
 
120
131
  Adaptation.prototype.formatVersionButtonText = function (aVersions, sDisplayedVersion) {
@@ -123,7 +134,7 @@ function(
123
134
  var sType = "Active";
124
135
  aVersions = aVersions || [];
125
136
 
126
- if (sDisplayedVersion === undefined || sDisplayedVersion === Versions.Original) {
137
+ if (sDisplayedVersion === undefined || sDisplayedVersion === Version.Number.Original) {
127
138
  sText = oTextResources.getText("TIT_ORIGINAL_APP");
128
139
  sType = "inactive";
129
140
  if (aVersions.length === 0 || (aVersions.length === 1 && aVersions[0].type === "draft")) {
@@ -135,7 +146,7 @@ function(
135
146
  });
136
147
  if (oDisplayedVersion) {
137
148
  sType = oDisplayedVersion.type;
138
- if (sDisplayedVersion === Versions.Draft) {
149
+ if (sDisplayedVersion === Version.Number.Draft) {
139
150
  sText = oTextResources.getText("TIT_DRAFT");
140
151
  } else {
141
152
  sText = oDisplayedVersion.title || oTextResources.getText("TIT_VERSION_1");
@@ -212,7 +223,7 @@ function(
212
223
 
213
224
  Adaptation.prototype.versionSelected = function (oEvent) {
214
225
  var oVersionsBindingContext = oEvent.getSource().getBindingContext("versions");
215
- var sVersion = Versions.Original;
226
+ var sVersion = Version.Number.Original;
216
227
 
217
228
  if (oVersionsBindingContext) {
218
229
  // the original Version does not have a version binding Context
@@ -228,7 +239,7 @@ function(
228
239
  if (!this.oVersionDialogPromise) {
229
240
  this.oVersionDialogPromise = Fragment.load({
230
241
  name: "sap.ui.rta.toolbar.VersionHistory",
231
- id: this.getId() + "_versionHistoryDialog",
242
+ id: this.getId() + "_fragment--sapUiRta_versionHistoryDialog",
232
243
  controller: {
233
244
  formatVersionTitle: this.formatVersionTitle.bind(this),
234
245
  formatVersionTimeStamp: this.formatVersionTimeStamp.bind(this),
@@ -237,26 +248,39 @@ function(
237
248
  formatHighlightText: this.formatHighlightText.bind(this),
238
249
  formatOriginalAppHighlight: this.formatOriginalAppHighlight.bind(this),
239
250
  formatOriginalAppHighlightText: this.formatOriginalAppHighlightText.bind(this),
240
- versionSelected: this.versionSelected.bind(this)
251
+ versionSelected: this.versionSelected.bind(this),
252
+ getGroupHeaderFactory: this.getGroupHeaderFactory.bind(this)
241
253
  }
242
- }).then(function (oVersionsDialog) {
243
- oVersionButton.addDependent(oVersionsDialog);
244
- return oVersionsDialog;
254
+ }).then(function(oDialog) {
255
+ oVersionButton.addDependent(oDialog);
256
+ return oDialog;
245
257
  });
246
258
  }
247
259
 
248
260
  return this.oVersionDialogPromise.then(function (oVersionsDialog) {
249
261
  if (!oVersionsDialog.isOpen()) {
250
262
  oVersionsDialog.openBy(oVersionButton);
263
+ if (this.getModel("controls").getProperty("/publishVisible")) {
264
+ var oList = this.getControl("versionHistoryDialog--versionList");
265
+ var oSorter = new Sorter({
266
+ path: "isPublished",
267
+ group: true
268
+ });
269
+ oList.getBinding("items").sort(oSorter);
270
+ }
251
271
  } else {
252
272
  oVersionsDialog.close();
253
273
  }
254
- });
274
+ }.bind(this));
255
275
  };
256
276
 
257
- Adaptation.prototype.showTranslationPopover = function (oEvent) {
258
- var oTranslation = this.addExtension("translation", Translation);
259
- return oTranslation.showTranslationPopover(oEvent, this);
277
+ Adaptation.prototype.getGroupHeaderFactory = function (oGroup) {
278
+ var oTextResources = sap.ui.getCore().getLibraryResourceBundle("sap.ui.rta");
279
+ return new GroupHeaderListItem({
280
+ title: oGroup.key ? oTextResources.getText("TIT_VERSION_HISTORY_PUBLISHED") : oTextResources.getText("TIT_VERSION_HISTORY_UNPUBLISHED"),
281
+ upperCase: false,
282
+ visible: this.getModel("controls").getProperty("/publishVisible")
283
+ }).addStyleClass("sapUiRtaVersionHistoryGrouping").addStyleClass("sapUiRtaVersionHistory");
260
284
  };
261
285
 
262
286
  Adaptation.prototype.showRestore = function (bVersioningEnabled) {
@@ -331,16 +355,20 @@ function(
331
355
  activate: this._openVersionTitleDialog.bind(this),
332
356
  discardDraft: this.eventHandler.bind(this, "DiscardDraft"),
333
357
  formatDiscardDraftVisible: this.formatDiscardDraftVisible.bind(this),
358
+ formatPublishVersionVisibility: this.formatPublishVersionVisibility.bind(this),
334
359
  modeChange: this.eventHandler.bind(this, "ModeChange"),
335
- showTranslationPopover: this.showTranslationPopover.bind(this),
360
+ openDownloadTranslationDialog: onOpenDownloadTranslationDialog.bind(this),
361
+ openUploadTranslationDialog: onOpenUploadTranslationDialog.bind(this),
336
362
  undo: this.eventHandler.bind(this, "Undo"),
337
363
  redo: this.eventHandler.bind(this, "Redo"),
338
- onCommandCategorySelection: this.eventHandler.bind(this, "OnCommandCategorySelection"),
364
+ openChangeCategorySelectionPopover: this.eventHandler.bind(this, "OpenChangeCategorySelectionPopover"),
339
365
  manageApps: onManageAppsPressed.bind(this),
340
366
  appVariantOverview: onOverviewPressed.bind(this),
341
367
  saveAs: onSaveAsPressed.bind(this),
368
+ formatSaveAsEnabled: formatSaveAsEnabled,
342
369
  restore: this.eventHandler.bind(this, "Restore"),
343
370
  publish: this.eventHandler.bind(this, "Transport"),
371
+ publishVersion: this.eventHandler.bind(this, "PublishVersion"),
344
372
  exit: this.eventHandler.bind(this, "Exit"),
345
373
  formatVersionButtonText: this.formatVersionButtonText.bind(this),
346
374
  showVersionHistory: this.showVersionHistory.bind(this),
@@ -349,6 +377,22 @@ function(
349
377
  });
350
378
  };
351
379
 
380
+ function onOpenDownloadTranslationDialog() {
381
+ var mPropertyBag = {
382
+ layer: this.getRtaInformation().flexSettings.layer,
383
+ selector: this.getRtaInformation().rootControl
384
+ };
385
+ this.addExtension("translation", Translation).openDownloadTranslationDialog(mPropertyBag);
386
+ }
387
+
388
+ function onOpenUploadTranslationDialog() {
389
+ this.addExtension("translation", Translation).openUploadTranslationDialog();
390
+ }
391
+
392
+ function formatSaveAsEnabled(bGeneralSaveAsEnabled, sDisplayedVersion) {
393
+ return bGeneralSaveAsEnabled && sDisplayedVersion !== Version.Number.Draft;
394
+ }
395
+
352
396
  function onSaveAsPressed() {
353
397
  AppVariantFeature.onSaveAs(true, true, this.getRtaInformation().flexSettings.layer, null);
354
398
  }
@@ -410,7 +454,7 @@ function(
410
454
  return oDialogPromise.then(function () {
411
455
  var oTextResources = sap.ui.getCore().getLibraryResourceBundle("sap.ui.rta");
412
456
  var sTitle = oTextResources.getText("TIT_VERSION_TITLE_DIALOG");
413
- if (sDisplayedVersion !== Versions.Draft) {
457
+ if (sDisplayedVersion !== Version.Number.Draft) {
414
458
  sTitle = oTextResources.getText("TIT_REACTIVATE_VERSION_TITLE_DIALOG");
415
459
  }
416
460
  this._oDialog.setTitle(sTitle);
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.m.HBox
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.99.1
28
+ * @version 1.102.0
29
29
  *
30
30
  * @constructor
31
31
  * @private
@@ -32,7 +32,7 @@ function(
32
32
  * @extends sap.ui.rta.toolbar.Adaptation
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.99.1
35
+ * @version 1.102.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -20,7 +20,7 @@ function(
20
20
  * @extends sap.ui.rta.toolbar.Adaptation
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.99.1
23
+ * @version 1.102.0
24
24
  *
25
25
  * @constructor
26
26
  * @private
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.m.OverflowToolbarButton
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.99.1
26
+ * @version 1.102.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -22,7 +22,7 @@ function(
22
22
  * @extends sap.ui.rta.toolbar.Base
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.99.1
25
+ * @version 1.102.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -20,7 +20,7 @@ function(
20
20
  * @extends sap.ui.rta.toolbar.Adaptation
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.99.1
23
+ * @version 1.102.0
24
24
  *
25
25
  * @constructor
26
26
  * @private
@@ -6,9 +6,10 @@
6
6
  showHeader="false"
7
7
  placement="Bottom" >
8
8
  <List
9
+ id="versionList"
9
10
  class="sapUiRtaVersionsList"
10
11
  visible="{path: 'versions>/versions/length', formatter: '.formatVersionTableVisibility'}"
11
- items="{versions>/versions}" >
12
+ items="{path: 'versions>/versions', groupHeaderFactory: '.getGroupHeaderFactory'}" >
12
13
  <FeedListItem
13
14
  text="{parts: [{path: 'versions>title'}, {path: 'versions>type'}], formatter: '.formatVersionTitle'}"
14
15
  info="{versions>activatedBy}"
@@ -13,26 +13,28 @@
13
13
  text="{i18n>MSG_DOWNLOAD_CHANGED_TEXTS}"
14
14
  class="sapUiTinyMarginBottom">
15
15
  </Label>
16
- <VBox
16
+ <MessageStrip
17
+ id="dirtyChangesExistsMessage"
18
+ text="{i18n>MSG_DOWNLOAD_CHANGED_TEXTS_DIRTY_CHANGES_EXIST}"
19
+ class="sapUiTinyMarginBottom"
20
+ visible="{translation>/translationRelevantDirtyChangesExist}">
21
+ </MessageStrip>
22
+ <Select
17
23
  width="100%"
18
- id="languageSelection">
19
- <Select
20
- width="100%"
21
- id="selectedSourceLanguage"
22
- items="{translation>/sourceLanguages}"
23
- selectedKey="{translation>/sourceLanguage}">
24
- <core:Item key="{translation>}" text="{translation>}"/>
25
- </Select>
26
- <Input
27
- width="100%"
28
- id="selectedTargetLanguage"
29
- value="{translation>/targetLanguage}"
30
- placeholder="{i18n>TXT_TARGET_LANGUAGE}">
31
- </Input>
32
- </VBox>
24
+ id="selectedSourceLanguage"
25
+ items="{translation>/sourceLanguages}"
26
+ selectedKey="{translation>/sourceLanguage}">
27
+ <core:Item key="{translation>}" text="{translation>}"/>
28
+ </Select>
29
+ <Input
30
+ width="100%"
31
+ id="selectedTargetLanguage"
32
+ value="{translation>/targetLanguage}"
33
+ placeholder="{i18n>TXT_TARGET_LANGUAGE}">
34
+ </Input>
33
35
  <beginButton>
34
36
  <Button
35
- id="sapUiRta_downloadChangedTextsButton"
37
+ id="downloadTranslation"
36
38
  text="{i18n>BTN_DOWNLOAD_CHANGED_TEXTS}"
37
39
  type="Emphasized"
38
40
  icon="sap-icon://download"
@@ -41,6 +43,7 @@
41
43
  </beginButton>
42
44
  <endButton>
43
45
  <Button
46
+ id="cancelDownloadTranslation"
44
47
  text="{i18n>BUT_DOWNLOAD_CHANGED_TEXTS_CANCEL}"
45
48
  press=".onCancelDownloadDialog" />
46
49
  </endButton>
@@ -7,6 +7,7 @@
7
7
  /* global FormData */
8
8
 
9
9
  sap.ui.define([
10
+ "sap/base/Log",
10
11
  "sap/ui/base/ManagedObject",
11
12
  "sap/ui/core/Fragment",
12
13
  "sap/ui/rta/Utils",
@@ -15,9 +16,11 @@ sap.ui.define([
15
16
  "sap/m/MessageBox",
16
17
  "sap/m/MessageToast",
17
18
  "sap/ui/fl/write/api/TranslationAPI",
19
+ "sap/ui/fl/write/api/VersionsAPI",
18
20
  "sap/ui/fl/Layer",
19
21
  "sap/ui/core/util/File"
20
22
  ], function(
23
+ Log,
21
24
  ManagedObject,
22
25
  Fragment,
23
26
  Utils,
@@ -26,11 +29,23 @@ sap.ui.define([
26
29
  MessageBox,
27
30
  MessageToast,
28
31
  TranslationAPI,
32
+ VersionsAPI,
29
33
  Layer,
30
34
  FileUtil
31
35
  ) {
32
36
  "use strict";
33
37
 
38
+ function showError (vError) {
39
+ var sErrorMessage = vError.userMessage || vError.stack || vError.message || vError.status || vError;
40
+ var oTextResources = sap.ui.getCore().getLibraryResourceBundle("sap.ui.rta");
41
+ Log.error(sErrorMessage);
42
+ var sMsg = oTextResources.getText("MSG_LREP_TRANSFER_ERROR") + "\n"
43
+ + oTextResources.getText("MSG_ERROR_REASON", sErrorMessage);
44
+ MessageBox.error(sMsg, {
45
+ styleClass: Utils.getRtaStyleClassName()
46
+ });
47
+ }
48
+
34
49
  /**
35
50
  * Controller for the <code>sap.ui.rta.toolbar.translation.Translation</code> controls.
36
51
  * Contains implementation of translation functionality.
@@ -38,7 +53,7 @@ sap.ui.define([
38
53
  * @class
39
54
  *
40
55
  * @author SAP SE
41
- * @version 1.99.1
56
+ * @version 1.102.0
42
57
  *
43
58
  * @constructor
44
59
  * @private
@@ -55,73 +70,86 @@ sap.ui.define([
55
70
  },
56
71
  constructor: function () {
57
72
  ManagedObject.prototype.constructor.apply(this, arguments);
58
- this._oTranslationModel = new JSONModel(getTranslationModelData());
73
+ this._oTranslationModel = new JSONModel(getInitialTranslationModelData());
59
74
  }
60
75
  });
61
76
 
62
- function saveFiles(oEvent) {
63
- this._oTranslationModel.setProperty("/file", oEvent.getParameter("files")[0]);
64
- }
77
+ function downloadFile(oEvent) {
78
+ var oModel = oEvent.getSource().getModel("translation");
79
+ var sSourceLanguage = oModel.getProperty("/sourceLanguage");
80
+ var sTargetLanguage = oModel.getProperty("/targetLanguage");
81
+ var sFileName = sSourceLanguage + "_" + sTargetLanguage + "_" + "TranslationXLIFF";
82
+
83
+ var mPropertyBag = {
84
+ layer: Layer.CUSTOMER,
85
+ sourceLanguage: sSourceLanguage,
86
+ targetLanguage: sTargetLanguage,
87
+ selector: this.getToolbar().getRtaInformation().rootControl
88
+ };
89
+
90
+ var oSavePromise = new Promise(function (resolve) {
91
+ if (oModel.getProperty("/translationRelevantDirtyChangesExist")) {
92
+ oSavePromise = this.getToolbar().fireSave({
93
+ callback: resolve
94
+ });
95
+ } else {
96
+ resolve();
97
+ }
98
+ }.bind(this));
65
99
 
66
- function resetDownloadTranslationDialog() {
67
- this._oTranslationModel.setData(getTranslationModelData());
68
- return Promise.resolve(this._oDialogDownload);
100
+ oSavePromise
101
+ .then(TranslationAPI.getTexts.bind(undefined, mPropertyBag))
102
+ .then(function (translationTextsXML) {
103
+ FileUtil.save(translationTextsXML, sFileName, "xml", "application/xml");
104
+ this._oDownloadDialog.close();
105
+ }.bind(this)).catch(function (e) {
106
+ showError(e);
107
+ });
69
108
  }
70
109
 
71
- function createDownloadTranslationDialog() {
110
+ Translation.prototype._createDownloadTranslationDialog = function() {
72
111
  return Fragment.load({
73
112
  name: "sap.ui.rta.toolbar.translation.DownloadTranslationDialog",
74
113
  id: this.getToolbar().getId() + "_download_translation_fragment",
75
114
  controller: {
76
- onDownloadFile: function (oEvent) {
77
- var oModel = oEvent.getSource().getModel("translation");
78
- var sSourceLanguage = oModel.getProperty("/sourceLanguage");
79
- var sTargetLanguage = oModel.getProperty("/targetLanguage");
80
- var sFileName = sSourceLanguage + "_" + sTargetLanguage + "_" + "TranslationXLIFF";
81
-
82
- var mPropertyBag = {
83
- layer: Layer.CUSTOMER,
84
- sourceLanguage: sSourceLanguage,
85
- targetLanguage: sTargetLanguage,
86
- selector: this.getToolbar().getRtaInformation().rootControl
87
- };
88
- TranslationAPI.getTexts(mPropertyBag).then(function (translationTextsXML) {
89
- FileUtil.save(translationTextsXML, sFileName, "xml", "application/xml");
90
- }).catch(function (e) {
91
- MessageBox.error("Translation texts export failed: " + e);
92
- });
93
- }.bind(this),
115
+ onDownloadFile: downloadFile.bind(this),
94
116
  onCancelDownloadDialog: function () {
95
- this._oDialogDownload.close();
117
+ this._oDownloadDialog.close();
96
118
  }.bind(this)
97
119
  }
98
- }).then(function (oTranslationDialog) {
99
- this._oDialogDownload = oTranslationDialog;
100
- this._oDialogDownload.setModel(this._oTranslationModel, "translation");
101
- this.getToolbar().addDependent(this._oDialogDownload);
120
+ }).then(function (oDownloadDialog) {
121
+ this._oDownloadDialog = oDownloadDialog;
122
+ this._oDownloadDialog.setModel(this._oTranslationModel, "translation");
123
+ this.getToolbar().addDependent(this._oDownloadDialog);
124
+ return oDownloadDialog;
102
125
  }.bind(this));
103
- }
126
+ };
104
127
 
105
- function createUploadTranslationDialog() {
128
+ Translation.prototype._createUploadTranslationDialog = function() {
106
129
  var sUploadId = this.getToolbar().getId() + "_upload_translation_fragment";
107
130
  return Fragment.load({
108
131
  name: "sap.ui.rta.toolbar.translation.UploadTranslationDialog",
109
132
  id: sUploadId,
110
133
  controller: {
111
134
  onCancelUploadDialog: function () {
112
- this._oDialogUpload.close();
135
+ this._oUploadDialog.close();
136
+ }.bind(this),
137
+ formatUploadEnabled: function () {
138
+ var oFileUploader = sap.ui.getCore().byId(sUploadId + "--fileUploader");
139
+ return oFileUploader.checkFileReadable();
140
+ },
141
+ saveFiles: function(oEvent) {
142
+ this._oTranslationModel.setProperty("/file", oEvent.getParameter("files")[0]);
113
143
  }.bind(this),
114
- saveFiles: saveFiles.bind(this),
115
144
  handleUploadPress: handleUploadPress.bind(this, sUploadId)
116
145
  }
117
- }).then(function (oTranslationDialog) {
118
- this._oDialogUpload = oTranslationDialog;
119
- this._oDialogUpload.setModel(this._oTranslationModel, "translation");
120
- this.getToolbar().addDependent(this._oDialogUpload);
121
- return sUploadId;
146
+ }).then(function (oUploadDialog) {
147
+ this._oUploadDialog = oUploadDialog;
148
+ this._oUploadDialog.setModel(this._oTranslationModel, "translation");
149
+ this.getToolbar().addDependent(this._oUploadDialog);
150
+ return this._oUploadDialog;
122
151
  }.bind(this));
123
- }
124
-
152
+ };
125
153
 
126
154
  function handleUploadPress(sUploadId) {
127
155
  var oFileUploader = sap.ui.getCore().byId(sUploadId + "--fileUploader");
@@ -132,16 +160,21 @@ sap.ui.define([
132
160
  payload: new FormData()
133
161
  };
134
162
  mPropertyBag.payload.append("file", this._oTranslationModel.getProperty("/file"), oFileUploader.getValue());
135
- TranslationAPI.postTranslationTexts(mPropertyBag).then(function () {
136
- MessageToast.show("Translation texts import successful");
137
- }).catch(function (sError) {
138
- MessageBox.error("Translation texts import failed: " + sError);
163
+ return TranslationAPI.uploadTranslationTexts(mPropertyBag).then(function () {
164
+ var oTextResources = sap.ui.getCore().getLibraryResourceBundle("sap.ui.rta");
165
+ var sMsg = oTextResources.getText("MSG_UPLOAD_TRANSLATION_SUCCESS");
166
+ MessageToast.show(sMsg, {
167
+ styleClass: Utils.getRtaStyleClassName()
168
+ });
169
+ this._oUploadDialog.close();
170
+ }.bind(this)).catch(function (e) {
171
+ showError(e);
139
172
  }).finally(oFileUploader.clear.bind(oFileUploader));
140
173
  }
141
174
  }.bind(this));
142
175
  }
143
176
 
144
- function getTranslationModelData() {
177
+ function getInitialTranslationModelData() {
145
178
  return Object.assign({}, {
146
179
  sourceLanguage: "",
147
180
  sourceLanguages: [],
@@ -150,67 +183,40 @@ sap.ui.define([
150
183
  });
151
184
  }
152
185
 
153
- Translation.prototype.showTranslationPopover = function (oEvent) {
154
- var oTranslationButton = oEvent.getSource();
155
-
156
- if (!this._oPopoverPromise) {
157
- this._oPopoverPromise = Fragment.load({
158
- name: "sap.ui.rta.toolbar.translation.TranslationPopover",
159
- id: this.getToolbar().getId() + "_translationPopoverDialog",
160
- controller: {
161
- openDownloadTranslationDialog: this.openDownloadTranslationDialog.bind(this),
162
- openUploadTranslationDialog: this.openUploadTranslationDialog.bind(this)
163
- }
164
- }).then(function (oTranslationPopover) {
165
- this._oPopover = oTranslationPopover;
166
- oTranslationButton.addDependent(this._oPopover);
167
- return this._oPopover;
168
- }.bind(this));
169
- }
170
-
171
- return this._oPopoverPromise.then(function (oTranslationDialog) {
172
- if (!oTranslationDialog.isOpen()) {
173
- oTranslationDialog.openBy(oTranslationButton);
174
- } else {
175
- oTranslationDialog.close();
176
- }
177
- });
178
- };
186
+ Translation.prototype.openDownloadTranslationDialog = function (mPropertyBag) {
187
+ var bHasTranslationRelevantDirtyChange = TranslationAPI.hasTranslationRelevantDirtyChanges(mPropertyBag);
188
+ this._oTranslationModel.setProperty("/translationRelevantDirtyChangesExist", bHasTranslationRelevantDirtyChange);
179
189
 
180
- Translation.prototype.openDownloadTranslationDialog = function () {
181
- if (this._oDialogDownload) {
182
- this._oDialogPromise = resetDownloadTranslationDialog.call(this);
183
- } else {
184
- this._oDialogPromise = createDownloadTranslationDialog.call(this);
185
- }
186
- return this._oDialogPromise.then(function () {
187
- var mPropertyBag = {
188
- layer: Layer.CUSTOMER,
189
- selector: this.getToolbar().getRtaInformation().rootControl
190
- };
191
- TranslationAPI.getSourceLanguages(mPropertyBag).then(function (oResponse) {
192
- var aSourceLanguages = oResponse.sourceLanguages;
190
+ return TranslationAPI.getSourceLanguages(mPropertyBag)
191
+ .then(function (aSourceLanguages) {
193
192
  if (aSourceLanguages) {
194
193
  this._oTranslationModel.setProperty("/sourceLanguages", aSourceLanguages);
195
194
  this._oTranslationModel.setProperty("/sourceLanguage", aSourceLanguages[0] || "");
196
195
  }
197
- this.getToolbar().addDependent(this._oDialogDownload);
198
- this._oDialogDownload.open();
199
196
  }.bind(this))
200
- .catch(function (e) {
201
- MessageBox.error("Get translation source languages failed: " + e);
197
+ .then(function () {
198
+ if (this._oDownloadDialogPromise) {
199
+ this._oTranslationModel.setProperty("/targetLanguage", "");
200
+ } else {
201
+ this._oDownloadDialogPromise = this._createDownloadTranslationDialog();
202
+ }
203
+ return this._oDownloadDialogPromise;
204
+ }.bind(this))
205
+ .then(function (oDialog) {
206
+ return oDialog.open();
207
+ })
208
+ .catch(function (vError) {
209
+ showError(vError);
202
210
  });
203
- return this._oDialogDownload;
204
- }.bind(this));
205
211
  };
206
212
 
207
213
  Translation.prototype.openUploadTranslationDialog = function () {
208
- if (!this._oDialogUpload) {
209
- this._oDialogPromise = createUploadTranslationDialog.call(this);
214
+ if (!this._oUploadDialogPromise) {
215
+ this._oUploadDialogPromise = this._createUploadTranslationDialog();
210
216
  }
211
- return this._oDialogPromise.then(function () {
212
- this.getToolbar().addDependent(this._oDialogUpload);
213
- return this._oDialogUpload.open();
217
+ return this._oUploadDialogPromise.then(function (oUploadDialog) {
218
+ this.getToolbar().addDependent(oUploadDialog);
219
+ return oUploadDialog.open();
214
220
  }.bind(this));
215
221
  };
216
222
 
@@ -18,6 +18,7 @@
18
18
  sameFilenameAllowed="true"
19
19
  fileType="xml"
20
20
  width="100%"
21
+ value="{translation>/filePath}"
21
22
  icon="sap-icon://upload"
22
23
  change=".saveFiles">
23
24
  <u:xhrSettings>
@@ -26,14 +27,15 @@
26
27
  </u:FileUploader>
27
28
  <beginButton>
28
29
  <Button
29
- id="sapUiRta_uploadChangedTextsButton"
30
+ id="uploadTranslation"
30
31
  text="{i18n>BTN_UPLOAD_CHANGED_TEXTS}"
32
+ enabled="{= !!${translation>/filePath}}"
31
33
  type="Emphasized"
32
- enabled="{= ${translation>/uploadChangedTexts}}"
33
34
  press=".handleUploadPress" />
34
35
  </beginButton>
35
36
  <endButton>
36
37
  <Button
38
+ id="cancelTranslationUpload"
37
39
  text="{i18n>BUT_UPLOAD_CHANGED_TEXTS_CANCEL}"
38
40
  press=".onCancelUploadDialog" />
39
41
  </endButton>