@sapui5/sap.fe.templates 1.97.0 → 1.100.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 (107) hide show
  1. package/package.json +9 -5
  2. package/src/sap/fe/templates/.library +1 -1
  3. package/src/sap/fe/templates/AnalyticalListPage/Component.js +3 -2
  4. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +5 -4
  5. package/src/sap/fe/templates/ListComponent.js +3 -2
  6. package/src/sap/fe/templates/ListReport/Component.js +18 -3
  7. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +12 -6
  8. package/src/sap/fe/templates/ListReport/ListReport.view.xml +33 -26
  9. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +206 -125
  10. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +18 -13
  11. package/src/sap/fe/templates/ListReport/overrides/Share.js +46 -29
  12. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +131 -86
  13. package/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +8 -0
  14. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +3 -3
  15. package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +75 -13
  16. package/src/sap/fe/templates/ObjectPage/Component.js +21 -29
  17. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +18 -2
  18. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +76 -94
  19. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +166 -155
  20. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +10 -3
  21. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +3 -2
  22. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +3 -2
  23. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +6 -2
  24. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +3 -2
  25. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +3 -2
  26. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +3 -2
  27. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +3 -2
  28. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +3 -2
  29. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +3 -2
  30. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +3 -2
  31. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +15 -2
  32. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +50 -45
  33. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +3 -22
  34. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
  35. package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +2 -2
  36. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +1 -1
  37. package/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +36 -0
  38. package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +1 -1
  39. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +5 -1
  40. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -0
  41. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +1 -0
  42. package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +33 -0
  43. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingAvatar.fragment.xml +17 -0
  44. package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +18 -0
  45. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +24 -5
  46. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +1 -4
  47. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +181 -0
  48. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +4 -3
  49. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +4 -3
  50. package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +6 -3
  51. package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +6 -3
  52. package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +136 -125
  53. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +3 -2
  54. package/src/sap/fe/templates/TableScroller.js +3 -2
  55. package/src/sap/fe/templates/controls/Table.fragment.xml +1 -1
  56. package/src/sap/fe/templates/library.js +4 -3
  57. package/src/sap/fe/templates/messagebundle.properties +15 -8
  58. package/src/sap/fe/templates/messagebundle_ar.properties +9 -6
  59. package/src/sap/fe/templates/messagebundle_bg.properties +9 -6
  60. package/src/sap/fe/templates/messagebundle_ca.properties +9 -6
  61. package/src/sap/fe/templates/messagebundle_cs.properties +9 -6
  62. package/src/sap/fe/templates/messagebundle_cy.properties +9 -6
  63. package/src/sap/fe/templates/messagebundle_da.properties +9 -6
  64. package/src/sap/fe/templates/messagebundle_de.properties +9 -6
  65. package/src/sap/fe/templates/messagebundle_el.properties +10 -7
  66. package/src/sap/fe/templates/messagebundle_en.properties +9 -6
  67. package/src/sap/fe/templates/messagebundle_en_GB.properties +9 -6
  68. package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +10 -7
  69. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +10 -7
  70. package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +10 -7
  71. package/src/sap/fe/templates/messagebundle_es.properties +17 -14
  72. package/src/sap/fe/templates/messagebundle_es_MX.properties +9 -6
  73. package/src/sap/fe/templates/messagebundle_et.properties +9 -6
  74. package/src/sap/fe/templates/messagebundle_fi.properties +9 -6
  75. package/src/sap/fe/templates/messagebundle_fr.properties +10 -7
  76. package/src/sap/fe/templates/messagebundle_fr_CA.properties +9 -6
  77. package/src/sap/fe/templates/messagebundle_hi.properties +9 -6
  78. package/src/sap/fe/templates/messagebundle_hr.properties +10 -7
  79. package/src/sap/fe/templates/messagebundle_hu.properties +9 -6
  80. package/src/sap/fe/templates/messagebundle_id.properties +11 -8
  81. package/src/sap/fe/templates/messagebundle_it.properties +9 -6
  82. package/src/sap/fe/templates/messagebundle_iw.properties +9 -6
  83. package/src/sap/fe/templates/messagebundle_ja.properties +10 -7
  84. package/src/sap/fe/templates/messagebundle_kk.properties +9 -6
  85. package/src/sap/fe/templates/messagebundle_ko.properties +9 -6
  86. package/src/sap/fe/templates/messagebundle_lt.properties +9 -6
  87. package/src/sap/fe/templates/messagebundle_lv.properties +9 -6
  88. package/src/sap/fe/templates/messagebundle_ms.properties +9 -6
  89. package/src/sap/fe/templates/messagebundle_nl.properties +9 -6
  90. package/src/sap/fe/templates/messagebundle_no.properties +9 -6
  91. package/src/sap/fe/templates/messagebundle_pl.properties +9 -6
  92. package/src/sap/fe/templates/messagebundle_pt.properties +12 -9
  93. package/src/sap/fe/templates/messagebundle_pt_PT.properties +10 -7
  94. package/src/sap/fe/templates/messagebundle_ro.properties +9 -6
  95. package/src/sap/fe/templates/messagebundle_ru.properties +9 -6
  96. package/src/sap/fe/templates/messagebundle_sh.properties +9 -6
  97. package/src/sap/fe/templates/messagebundle_sk.properties +9 -6
  98. package/src/sap/fe/templates/messagebundle_sl.properties +9 -6
  99. package/src/sap/fe/templates/messagebundle_sv.properties +10 -7
  100. package/src/sap/fe/templates/messagebundle_th.properties +9 -6
  101. package/src/sap/fe/templates/messagebundle_tr.properties +10 -7
  102. package/src/sap/fe/templates/messagebundle_uk.properties +10 -7
  103. package/src/sap/fe/templates/messagebundle_vi.properties +9 -6
  104. package/src/sap/fe/templates/messagebundle_zh_CN.properties +9 -6
  105. package/src/sap/fe/templates/messagebundle_zh_TW.properties +9 -6
  106. package/ui5.yaml +0 -3
  107. package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderImage.fragment.xml +0 -24
@@ -1,6 +1,6 @@
1
1
  <core:FragmentDefinition
2
2
  xmlns:core="sap.ui.core"
3
- xmlns:macro="sap.fe.macros"
3
+ xmlns:macro="sap.fe.macros.internal"
4
4
  xmlns="sap.m"
5
5
  xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
6
6
  template:require="{
@@ -9,10 +9,11 @@
9
9
  >
10
10
  <macro:Form
11
11
  id="{= ID.generate([${subSection>formDefinition/id}, 'Content']) }"
12
- facet="{subSection>annotationPath}"
13
- entitySet="{entitySet>}"
12
+ metaPath="{subSection>annotationPath}"
13
+ contextPath="{entitySet>}"
14
14
  useFormContainerLabels="{= ${subSection>formDefinition/useFormContainerLabels}}"
15
15
  partOfPreview="true"
16
16
  formContainers="{subSection>formDefinition/formContainers}"
17
+ isVisible="{subSection>formDefinition/isVisible}"
17
18
  />
18
19
  </core:FragmentDefinition>
@@ -1,7 +1,7 @@
1
1
  <core:FragmentDefinition
2
2
  xmlns:core="sap.ui.core"
3
3
  xmlns="sap.m"
4
- xmlns:macro="sap.fe.macros"
4
+ xmlns:macro="sap.fe.macros.internal"
5
5
  xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
6
6
  template:require="{
7
7
  ID: 'sap/fe/core/helpers/StableIdHelper'
@@ -9,10 +9,11 @@
9
9
  >
10
10
  <macro:Form
11
11
  id="{= ID.generate([${subSection>formDefinition/id}, 'MoreContent']) }"
12
- facet="{subSection>annotationPath}"
13
- entitySet="{entitySet>}"
12
+ metaPath="{subSection>annotationPath}"
13
+ contextPath="{entitySet>}"
14
14
  useFormContainerLabels="{= ${subSection>formDefinition/useFormContainerLabels}}"
15
15
  partOfPreview="false"
16
16
  formContainers="{subSection>formDefinition/formContainers}"
17
+ isVisible="{subSection>formDefinition/isVisible}"
17
18
  />
18
19
  </core:FragmentDefinition>
@@ -1,6 +1,7 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+
4
5
  */
5
6
  sap.ui.define(
6
7
  [
@@ -91,12 +92,14 @@ sap.ui.define(
91
92
  onRestore: function() {
92
93
  var oView = this.getView(),
93
94
  oNavContainer = oView.byId("appContent");
95
+ var oFCLController = this.getView().getController();
94
96
  var oInternalModel = oNavContainer.getModel("internal");
95
97
  var oPages = oInternalModel.getProperty("/pages");
96
98
 
97
99
  for (var sComponentId in oPages) {
98
100
  oInternalModel.setProperty("/pages/" + sComponentId + "/restoreStatus", "pending");
99
101
  }
102
+ oFCLController.onContainerReady();
100
103
  },
101
104
  onSuspend: function() {
102
105
  var oFCLController = this.getView().getController();
@@ -762,7 +765,7 @@ sap.ui.define(
762
765
  }, aRestorePromises);
763
766
  return Promise.all(aRestorePromises);
764
767
  },
765
-
768
+
766
769
  getRightmostContext: function() {
767
770
  var oContext;
768
771
  switch (this.getFclControl().getLayout()) {
@@ -1,6 +1,7 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+
4
5
  */
5
6
  sap.ui.define(
6
7
  [
@@ -44,13 +45,15 @@ sap.ui.define(
44
45
  },
45
46
  onRestore: function() {
46
47
  var oView = this.getView(),
47
- oNavContainer = oView.byId("appContent");
48
+ oNavContainer = oView.byId("appContent"),
49
+ oController = oView.getController();
48
50
  var oInternalModel = oNavContainer.getModel("internal");
49
51
  var oPages = oInternalModel.getProperty("/pages");
50
52
 
51
53
  for (var sComponentId in oPages) {
52
54
  oInternalModel.setProperty("/pages/" + sComponentId + "/restoreStatus", "pending");
53
55
  }
56
+ oController.onContainerReady();
54
57
  },
55
58
  onSuspend: function() {
56
59
  var oView = this.getView(),
@@ -1,6 +1,7 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+
4
5
  */
5
6
  sap.ui.define(
6
7
  [
@@ -156,14 +157,13 @@ sap.ui.define(
156
157
  }
157
158
 
158
159
  var oAppComponent = that.getAppComponent();
159
- var oData = { oView: oView, oAppComponent: oAppComponent };
160
160
  that._scrollTablesToLastNavigatedItems();
161
161
  if (oAppComponent.getEnvironmentCapabilities().getCapabilities().UShell) {
162
- that.computeTitleHierarchy(oData);
162
+ that._computeTitleHierarchy(oView);
163
163
  }
164
164
  var bForceFocus = oAppComponent.getRouterProxy().isFocusForced();
165
165
  oAppComponent.getRouterProxy().setFocusForced(false); // reset
166
- if (oView.getController() && oView.getController().onPageReady) {
166
+ if (oView.getController() && oView.getController().onPageReady && oView.getParent().onPageReady) {
167
167
  oView.getParent().onPageReady({ forceFocus: bForceFocus });
168
168
  }
169
169
  if (that.onContainerReady) {
@@ -182,12 +182,12 @@ sap.ui.define(
182
182
  /**
183
183
  * This function returns the TitleHierarchy cache ( or initializes it if undefined).
184
184
  *
185
- * @name sap.fe.templates.RootContainer.controller.BaseController#getTitleHierarchyCache
185
+ * @name sap.fe.templates.RootContainer.controller.BaseController#_getTitleHierarchyCache
186
186
  * @memberof sap.fe.templates.RootContainer.controller.BaseController
187
187
  *
188
188
  * @returns {object} The TitleHierarchy cache
189
189
  */
190
- getTitleHierarchyCache: function() {
190
+ _getTitleHierarchyCache: function() {
191
191
  if (!this.oTitleHierarchyCache) {
192
192
  this.oTitleHierarchyCache = {};
193
193
  }
@@ -219,53 +219,86 @@ sap.ui.define(
219
219
  },
220
220
 
221
221
  /**
222
- * This function is updating the cache to store Title Information
222
+ * Fetches the value of the HeaderInfo title for a given path.
223
223
  *
224
- * @name sap.fe.templates.RootContainer.controller.BaseController#addNewEntryINCacheTitle
225
- * @memberof sap.fe.templates.RootContainer.controller.BaseController
226
- * @param {*} sPath path of the context to retrieve title information from MetaModel
227
- * @param {*} oAppComponent reference to the oAppComponent
228
- *
229
- * @returns {promise} oTitleinformation returned as promise
224
+ * @param {string} sPath The path to the entity
225
+ * @returns {Promise} A promise containing the value of the title, or an empty string if no HeaderInfo title annotation is available
230
226
  */
227
+ _fetchTitleValue: function(sPath) {
228
+ var oAppComponent = this.getAppComponent(),
229
+ oModel = this.getView().getModel(),
230
+ oMetaModel = oAppComponent.getMetaModel(),
231
+ sMetaPath = oMetaModel.getMetaPath(sPath);
231
232
 
232
- addNewEntryInCacheTitle: function(sPath, oAppComponent) {
233
- var oTitleModel = this.getView().getModel();
234
- var that = this;
235
- var sEntityPath = sPath.replace(/ *\([^)]*\) */g, "");
236
233
  var sTitleExpression = AnnotationHelper.format(
237
- oAppComponent.getMetaModel().getProperty(sEntityPath + "/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value"),
238
- { context: oAppComponent.getMetaModel().createBindingContext("/") }
234
+ oMetaModel.getProperty(sMetaPath + "/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value"),
235
+ { context: oMetaModel.createBindingContext("/") }
239
236
  );
240
237
  var oTitleExpression = BindingParser.complexParser(sTitleExpression);
241
- var sTypeName = oAppComponent.getMetaModel().getProperty(sEntityPath + "/@com.sap.vocabularies.UI.v1.HeaderInfo/TypeName");
242
- var oBindingViewContext = oTitleModel.createBindingContext(sPath);
238
+
243
239
  if (oTitleExpression) {
244
240
  var sTitlePath = oTitleExpression.parts ? oTitleExpression.parts[0].path : oTitleExpression.path;
245
241
  var fnTitleFormatter = oTitleExpression.formatter;
246
- var oPropertyBinding = oTitleModel.bindProperty(sTitlePath, oBindingViewContext);
242
+ var oBindingViewContext = oModel.createBindingContext(sPath);
243
+ var oPropertyBinding = oModel.bindProperty(sTitlePath, oBindingViewContext);
244
+
247
245
  oPropertyBinding.initialize();
248
- }
249
- return new Promise(function(resolve, reject) {
250
- var sAppSpecificHash = HashChanger.getInstance().hrefForAppSpecificHash
251
- ? HashChanger.getInstance().hrefForAppSpecificHash("")
252
- : "";
253
- var sIntent = sAppSpecificHash + sPath.slice(1);
254
- var oTitleHierarchyCache = that.getTitleHierarchyCache();
255
- var fnChange = function(oEvent) {
256
- var sTargetValue = fnTitleFormatter
257
- ? fnTitleFormatter(oEvent.getSource().getValue())
258
- : oEvent.getSource().getValue();
259
- oTitleHierarchyCache[sPath] = that._computeTitleInfo(sTypeName, sTargetValue, sIntent);
260
- resolve(oTitleHierarchyCache[sPath]);
261
- oPropertyBinding.detachChange(fnChange);
262
- };
263
- if (oPropertyBinding) {
246
+
247
+ return new Promise(function(resolve) {
248
+ var fnChange = function(oEvent) {
249
+ var sTargetValue = fnTitleFormatter
250
+ ? fnTitleFormatter(oEvent.getSource().getValue())
251
+ : oEvent.getSource().getValue();
252
+
253
+ oPropertyBinding.detachChange(fnChange);
254
+ resolve(sTargetValue);
255
+ };
256
+
264
257
  oPropertyBinding.attachChange(fnChange);
265
- } else {
266
- oTitleHierarchyCache[sPath] = that._computeTitleInfo(sTypeName, "", sIntent);
267
- resolve(oTitleHierarchyCache[sPath]);
268
- }
258
+ });
259
+ } else {
260
+ return Promise.resolve("");
261
+ }
262
+ },
263
+
264
+ _getAppSpecificHash: function() {
265
+ return HashChanger.getInstance().hrefForAppSpecificHash ? HashChanger.getInstance().hrefForAppSpecificHash("") : "";
266
+ },
267
+
268
+ _getHash: function() {
269
+ return HashChanger.getInstance().getHash();
270
+ },
271
+
272
+ /**
273
+ * This function returns titleInformation from a path.
274
+ * It updates the cache to store Title Information if necessary
275
+ *
276
+ * @name sap.fe.templates.RootContainer.controller.BaseController#getTitleInfoFromPath
277
+ * @memberof sap.fe.templates.RootContainer.controller.BaseController
278
+ * @param {*} sPath path of the context to retrieve title information from MetaModel
279
+ *
280
+ * @returns {promise} oTitleinformation returned as promise
281
+ */
282
+
283
+ getTitleInfoFromPath: function(sPath) {
284
+ var oTitleHierarchyCache = this._getTitleHierarchyCache();
285
+
286
+ if (oTitleHierarchyCache[sPath]) {
287
+ // The title info is already stored in the cache
288
+ return Promise.resolve(oTitleHierarchyCache[sPath]);
289
+ }
290
+
291
+ var oMetaModel = this.getAppComponent().getMetaModel();
292
+ var that = this;
293
+ var sEntityPath = oMetaModel.getMetaPath(sPath);
294
+ var sTypeName = oMetaModel.getProperty(sEntityPath + "/@com.sap.vocabularies.UI.v1.HeaderInfo/TypeName");
295
+ var sAppSpecificHash = this._getAppSpecificHash();
296
+ var sIntent = sAppSpecificHash + sPath.slice(1);
297
+
298
+ return this._fetchTitleValue(sPath).then(function(sTitle) {
299
+ var oTitleInfo = that._computeTitleInfo(sTypeName, sTitle, sIntent);
300
+ oTitleHierarchyCache[sPath] = oTitleInfo;
301
+ return oTitleInfo;
269
302
  });
270
303
  },
271
304
  /**
@@ -281,7 +314,7 @@ sap.ui.define(
281
314
  * @param {*} aHierarchy Shell title hierarchy
282
315
  * @returns {*} Copy of shell title hierarchy containing all elements as strings
283
316
  */
284
- ensureHierarchyElementsAreStrings: function(aHierarchy) {
317
+ _ensureHierarchyElementsAreStrings: function(aHierarchy) {
285
318
  var aHierarchyShell = [];
286
319
  for (var level in aHierarchy) {
287
320
  var oHierarchy = aHierarchy[level];
@@ -294,113 +327,91 @@ sap.ui.define(
294
327
  return aHierarchyShell;
295
328
  },
296
329
 
330
+ _getTargetTypeFromHash: function(sHash) {
331
+ var oAppComponent = this.getAppComponent();
332
+ var sTargetType = "";
333
+
334
+ var aRoutes = oAppComponent.getManifestEntry("/sap.ui5/routing/routes");
335
+ for (var j = 0; j < aRoutes.length; j++) {
336
+ var oRoute = oAppComponent.getRouter().getRoute(aRoutes[j].name);
337
+ if (oRoute.match(sHash)) {
338
+ var sTarget = Array.isArray(aRoutes[j].target) ? aRoutes[j].target[0] : aRoutes[j].target;
339
+ sTargetType = oAppComponent.getRouter().getTarget(sTarget)._oOptions.name;
340
+ break;
341
+ }
342
+ }
343
+
344
+ return sTargetType;
345
+ },
346
+
297
347
  /**
298
348
  * This function is updating the shell title after each navigation.
299
349
  *
300
350
  * @memberof sap.fe.templates.RootContainer.controller.BaseController
301
- * @param {*} oData Object containing reference to view and to oAppComponent
351
+ * @param {*} oView The current view
352
+ * @returns {*} A Promise that is resolved when the menu is filled properly
302
353
  */
303
- computeTitleHierarchy: function(oData) {
354
+ _computeTitleHierarchy: function(oView) {
304
355
  var that = this,
305
- oView = oData.oView,
306
- oAppComponent = oData.oAppComponent,
356
+ oAppComponent = this.getAppComponent(),
307
357
  oContext = oView.getBindingContext(),
308
358
  oCurrentPage = oView.getParent(),
309
359
  aTitleInformationPromises = [],
310
- sAppSpecificHash = HashChanger.getInstance().hrefForAppSpecificHash
311
- ? HashChanger.getInstance().hrefForAppSpecificHash("")
312
- : "",
360
+ sAppSpecificHash = this._getAppSpecificHash(),
313
361
  sAppTitle = oAppComponent.getMetadata().getManifestEntry("sap.app").title || "",
314
362
  sAppSubTitle = oAppComponent.getMetadata().getManifestEntry("sap.app").appSubTitle || "",
315
- sAppRootPath = sAppSpecificHash,
316
- oPageTitleInformationPromise,
363
+ oPageTitleInformation,
317
364
  sNewPath;
318
365
 
319
- if (this.bIsComputingTitleHierachy === true) {
320
- Log.warning("computeTitleHierarchy already running ... this call is canceled");
321
- return;
322
- }
323
- this.bIsComputingTitleHierachy = true;
324
-
325
366
  if (oCurrentPage && oCurrentPage._getPageTitleInformation) {
326
367
  if (oContext) {
368
+ // If the first page of the application is a LR, use the title and subtitle from the manifest
369
+ if (this._getTargetTypeFromHash("") === "sap.fe.templates.ListReport") {
370
+ aTitleInformationPromises.push(
371
+ Promise.resolve(that._computeTitleInfo(sAppTitle, sAppSubTitle, sAppSpecificHash))
372
+ );
373
+ }
374
+
375
+ // Then manage other pages
327
376
  sNewPath = oContext.getPath();
328
377
  var aPathParts = sNewPath.split("/"),
329
- sTargetType,
330
- sPath = "",
331
- iNbPathParts = aPathParts.length;
332
- aPathParts.splice(-1, 1);
333
-
334
- aPathParts.forEach(function(sPathPart, i) {
335
- if (i === 0) {
336
- var aRoutes = oAppComponent.getManifestEntry("/sap.ui5/routing/routes"),
337
- aTargets = oAppComponent.getManifestEntry("/sap.ui5/routing/targets");
338
- var fnTargetTypeEval = function(sTarget) {
339
- if (typeof aRoutes[this.index].target === "string") {
340
- return sTarget === aRoutes[this.index].target;
341
- } else if (typeof aRoutes[this.index].target === "object") {
342
- for (var k = 0; k < aRoutes[this.index].target.length; k++) {
343
- return sTarget === aRoutes[this.index].target[k];
344
- }
345
- }
346
- };
347
- for (var j = 0; j < aRoutes.length; j++) {
348
- var oRoute = oAppComponent.getRouter().getRoute(aRoutes[j].name);
349
- if (oRoute.match(aPathParts[i])) {
350
- var sTarget = Object.keys(aTargets).find(fnTargetTypeEval, { index: j });
351
- sTargetType = oAppComponent.getRouter().getTarget(sTarget)._oOptions.name;
352
- break;
353
- }
354
- }
355
- if (sTargetType === "sap.fe.templates.ListReport") {
356
- aTitleInformationPromises.push(
357
- Promise.resolve(that._computeTitleInfo(sAppTitle, sAppSubTitle, sAppRootPath))
358
- );
359
- }
360
- } else if (i < iNbPathParts) {
361
- sPath += "/" + sPathPart;
362
- var oMetaModel = oAppComponent.getMetaModel(),
363
- sParameterPath = oMetaModel.getMetaPath(sPath),
364
- bIsParameterized = oMetaModel.getObject(
365
- sParameterPath + "/@com.sap.vocabularies.Common.v1.ResultContext"
366
- );
367
- if (bIsParameterized) {
368
- return;
369
- }
370
- if (!that.getTitleHierarchyCache()[sPath]) {
371
- aTitleInformationPromises.push(that.addNewEntryInCacheTitle(sPath, oAppComponent));
372
- } else {
373
- aTitleInformationPromises.push(Promise.resolve(that.getTitleHierarchyCache()[sPath]));
374
- }
378
+ sPath = "";
379
+
380
+ aPathParts.shift(); // Remove the first segment (empty string) as it has been managed above
381
+ aPathParts.pop(); // Remove the last segment as it corresponds to the current page and shouldn't appear in the menu
382
+
383
+ aPathParts.forEach(function(sPathPart) {
384
+ sPath += "/" + sPathPart;
385
+ var oMetaModel = oAppComponent.getMetaModel(),
386
+ sParameterPath = oMetaModel.getMetaPath(sPath),
387
+ bIsParameterized = oMetaModel.getObject(sParameterPath + "/@com.sap.vocabularies.Common.v1.ResultContext");
388
+ if (!bIsParameterized) {
389
+ aTitleInformationPromises.push(that.getTitleInfoFromPath(sPath));
375
390
  }
376
391
  });
377
392
  }
378
- oPageTitleInformationPromise = oCurrentPage._getPageTitleInformation().then(function(oPageTitleInformation) {
379
- var sPageHash = HashChanger.getInstance().getHash();
380
- var aParts = sPageHash.split("/");
381
- if (aParts[aParts.length - 1].indexOf("?") === -1) {
382
- sPageHash += "?restoreHistory=true";
383
- } else {
384
- sPageHash += "&restoreHistory=true";
385
- }
386
393
 
387
- oPageTitleInformation.intent = sAppSpecificHash + sPageHash;
388
- if (oContext) {
389
- that.getTitleHierarchyCache()[sNewPath] = oPageTitleInformation;
390
- } else {
391
- that.getTitleHierarchyCache()[sAppRootPath] = oPageTitleInformation;
392
- }
393
- return oPageTitleInformation;
394
- });
395
- aTitleInformationPromises.push(oPageTitleInformationPromise);
394
+ // Current page
395
+ oPageTitleInformation = oCurrentPage._getPageTitleInformation();
396
+ oPageTitleInformation = that._computeTitleInfo(
397
+ oPageTitleInformation.title,
398
+ oPageTitleInformation.subtitle,
399
+ sAppSpecificHash + this._getHash()
400
+ );
401
+
402
+ if (oContext) {
403
+ that._getTitleHierarchyCache()[sNewPath] = oPageTitleInformation;
404
+ } else {
405
+ that._getTitleHierarchyCache()[sAppSpecificHash] = oPageTitleInformation;
406
+ }
396
407
  } else {
397
408
  aTitleInformationPromises.push(Promise.reject("Title information missing in HeaderInfo"));
398
409
  }
399
- Promise.all(aTitleInformationPromises)
410
+ return Promise.all(aTitleInformationPromises)
400
411
  .then(function(aTitleInfoHierarchy) {
401
412
  // workaround for shell which is expecting all elements being of type string
402
- var aTitleInfoHierarchyShell = that.ensureHierarchyElementsAreStrings(aTitleInfoHierarchy),
403
- sTitle = aTitleInfoHierarchyShell.pop().title;
413
+ var aTitleInfoHierarchyShell = that._ensureHierarchyElementsAreStrings(aTitleInfoHierarchy),
414
+ sTitle = oPageTitleInformation.title;
404
415
  oAppComponent.getShellServices().setHierarchy(aTitleInfoHierarchyShell.reverse());
405
416
  oAppComponent.getShellServices().setTitle(sTitle);
406
417
  })
@@ -1,6 +1,7 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+
4
5
  */
5
6
  sap.ui.define([], function() {
6
7
  "use strict";
@@ -1,6 +1,7 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+
4
5
  */
5
6
  sap.ui.define(
6
7
  [],
@@ -20,7 +20,7 @@
20
20
  visible="{= ${converterContext>hasMultiVisualizations} ? '{= ${pageInternal>alpContentView} !== \'Chart\'}' : 'true' }"
21
21
  tabTitle="{view>title}"
22
22
  fieldMode='{= ${converterContext>templateType} === "ListReport" ? "nowrapper" : ""}'
23
- stateChanged='{= ${converterContext>template} !== "ObjectPage" ? ".handlers.onTableStateChanged" : undefined}'
23
+ stateChanged='{= ${converterContext>template} !== "ObjectPage" ? ".handlers.onStateChanged" : undefined}'
24
24
  >
25
25
  </macro:Table>
26
26
  </core:FragmentDefinition>
@@ -1,6 +1,7 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+
4
5
  */
5
6
  /**
6
7
  * Initialization Code and shared classes of library sap.fe.templates
@@ -46,7 +47,7 @@ sap.ui.define(
46
47
  interfaces: [],
47
48
  controls: [],
48
49
  elements: [],
49
- version: "1.97.0",
50
+ version: "1.100.0",
50
51
  noLibraryCSS: true
51
52
  });
52
53
  if (!sap.fe.templates.ObjectPage) {
@@ -10,7 +10,7 @@ T_LR_VARIANT_APPLY_AUTOMATICALLY_WHEN_FILTER_SET=If predefined filter values are
10
10
 
11
11
 
12
12
  # XTIT,25: Default Header Title for the Object Page with no Header Info
13
- T_ANNOTATION_HELPER_DEFAULT_OBJECT_PAGE_HEADER_TITLE_NO_HEADER_INFO = (Unnamed Object)
13
+ T_ANNOTATION_HELPER_DEFAULT_OBJECT_PAGE_HEADER_TITLE_NO_HEADER_INFO = Unnamed Object
14
14
 
15
15
  # XTIT,25: Default Title for the Draft Object
16
16
  T_NEW_OBJECT = New Object
@@ -147,13 +147,6 @@ T_COMMON_UTILS_NAVIGATION_AWAY_CANCEL_BUTTON=Cancel
147
147
  # YMSG, 100
148
148
  T_COMMON_UTILS_NAVIGATION_AWAY_MSG=Your entries will be lost when you leave this page.
149
149
 
150
- #-------------Paste Button on the table toolbar-------------------------
151
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_IOS_DESKTOP=To paste, use the keyboard shortcut Cmd+V.
152
-
153
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_WINDOWS_DESKTOP=To paste, use the keyboard shortcut Crtl+V.
154
-
155
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_TOUCH_DEVICE=Paste is not available for touch devices. Please use a desktop.
156
-
157
150
  #-------------List Report Multi Table Message with several entity sets-------------------------
158
151
  # YMSG, 100: Text for messageStrip when single not applicable FilterBar fields in desktop
159
152
  C_LR_MULTITABLES_SINGLE_IGNORED_FILTER_LARGE=The filter \"{0}\" isn''t relevant for the tab \"{1}\". Setting this filter has no effect on the results.
@@ -167,6 +160,20 @@ C_LR_MULTITABLES_MULTI_IGNORED_FILTER_LARGE=Some of the filters aren''t relevant
167
160
  # YMSG, 100: Text for messageStrip when multi not applicable FilterBar fields in desktop
168
161
  C_LR_MULTITABLES_MULTI_IGNORED_FILTER_SMALL=You can''t use the following filters on the \"{1}\" tab\: \"{0}\"
169
162
 
163
+ #-------------List Report Multi Viz Messages -------------------------
164
+
165
+ # YMSG: Text for messageStrip when a single filter from the FilterBar is not applicable to a chart in desktop
166
+ C_LR_MULTIVIZ_CHART_SINGLE_IGNORED_FILTER_LARGE=The filter \"{0}\" isn''t relevant for this chart. Setting this filter has no effect on the results.
167
+
168
+ # YMSG: Text for messageStrip when a single filter from the FilterBar is not applicable to a chart in mobile/tablet
169
+ C_LR_MULTIVIZ_CHART_SINGLE_IGNORED_FILTER_SMALL=You can''t filter by \"{0}\".
170
+
171
+ # YMSG: Text for messageStrip when several filters from the FilterBar are not applicable to a chart in desktop
172
+ C_LR_MULTIVIZ_CHART_MULTI_IGNORED_FILTER_LARGE=Some of the filters aren''t relevant for this chart ({0}). Setting these filters has no effect on the results.
173
+
174
+ # YMSG: Text for messageStrip when several filters from the FilterBar are not applicable to a chart in mobile/tablet
175
+ C_LR_MULTIVIZ_CHART_MULTI_IGNORED_FILTER_SMALL=You can''t use the following filters \: \"{0}\"
176
+
170
177
  #------------Keyboard shortcut tooltips-----------------
171
178
  # XTOL,25
172
179
  T_KEYBOARD_SHORTCUT_SHARE_WIN = Shift+CTRL+S
@@ -92,12 +92,6 @@ T_COMMON_UTILS_NAVIGATION_AWAY_CANCEL_BUTTON=\u0625\u0644\u063A\u0627\u0621
92
92
 
93
93
  T_COMMON_UTILS_NAVIGATION_AWAY_MSG=\u0633\u064A\u062A\u0645 \u0641\u0642\u062F \u0625\u062F\u062E\u0627\u0644\u0627\u062A\u0643 \u0639\u0646\u062F \u0645\u063A\u0627\u062F\u0631\u0629 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629.
94
94
 
95
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_IOS_DESKTOP=\u0644\u0644\u0635\u0642\u060C \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u062E\u062A\u0635\u0627\u0631 \u0644\u0648\u062D\u0629 \u0627\u0644\u0645\u0641\u0627\u062A\u064A\u062D Cmd+V.
96
-
97
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_WINDOWS_DESKTOP=\u0644\u0644\u0635\u0642\u060C \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u062E\u062A\u0635\u0627\u0631 \u0644\u0648\u062D\u0629 \u0627\u0644\u0645\u0641\u0627\u062A\u064A\u062D Crtl+V.
98
-
99
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_TOUCH_DEVICE=\u0627\u0644\u0644\u0635\u0642 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0644\u0644\u0623\u062C\u0647\u0632\u0629 \u0627\u0644\u062A\u064A \u062A\u0639\u0645\u0644 \u0628\u0627\u0644\u0644\u0645\u0633. \u064A\u064F\u0631\u062C\u0649 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0633\u0637\u062D \u0627\u0644\u0645\u0643\u062A\u0628.
100
-
101
95
  C_LR_MULTITABLES_SINGLE_IGNORED_FILTER_LARGE=\u0639\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 "{0}" \u063A\u064A\u0631 \u0630\u064A \u0635\u0644\u0629 \u0628\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u062A\u0628\u0648\u064A\u0628 "{1}". \u0648\u0644\u0630\u0627 \u0641\u062A\u0639\u064A\u064A\u0646 \u0639\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0647\u0630\u0627 \u0644\u0627 \u064A\u0624\u062B\u0631 \u0639\u0644\u0649 \u0627\u0644\u0646\u062A\u0627\u0626\u062C.
102
96
 
103
97
  C_LR_MULTITABLES_SINGLE_IGNORED_FILTER_SMALL=\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u062D\u0633\u0628 "{0}" \u0641\u064A \u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u062A\u0628\u0648\u064A\u0628 "{1}"
@@ -106,6 +100,15 @@ C_LR_MULTITABLES_MULTI_IGNORED_FILTER_LARGE=\u0628\u0639\u0636 \u0639\u0648\u062
106
100
 
107
101
  C_LR_MULTITABLES_MULTI_IGNORED_FILTER_SMALL=\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629 \u0641\u064A \u0639\u0644\u0627\u0645\u0629 \u062A\u0628\u0648\u064A\u0628 "{1}"\: "{0}".
108
102
 
103
+
104
+ C_LR_MULTIVIZ_CHART_SINGLE_IGNORED_FILTER_LARGE=\u0639\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 "{0}" \u063A\u064A\u0631 \u0630\u064A \u0635\u0644\u0629 \u0628\u0647\u0630\u0627 \u0627\u0644\u0645\u062E\u0637\u0637. \u0648\u0644\u0630\u0627 \u0641\u062A\u0639\u064A\u064A\u0646 \u0639\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0647\u0630\u0627 \u0644\u0627 \u064A\u0624\u062B\u0631 \u0639\u0644\u0649 \u0627\u0644\u0646\u062A\u0627\u0626\u062C.
105
+
106
+ C_LR_MULTIVIZ_CHART_SINGLE_IGNORED_FILTER_SMALL=\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u062D\u0633\u0628 "{0}".
107
+
108
+ C_LR_MULTIVIZ_CHART_MULTI_IGNORED_FILTER_LARGE=\u0628\u0639\u0636 \u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u063A\u064A\u0631 \u0630\u0627\u062A \u0635\u0644\u0629 \u0628\u0647\u0630\u0627 \u0627\u0644\u0645\u062E\u0637\u0637 ({0}). \u0648\u0644\u0630\u0627 \u0641\u062A\u0639\u064A\u064A\u0646 \u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0647\u0630\u0647 \u0644\u0627 \u064A\u0624\u062B\u0631 \u0639\u0644\u0649 \u0627\u0644\u0646\u062A\u0627\u0626\u062C.
109
+
110
+ C_LR_MULTIVIZ_CHART_MULTI_IGNORED_FILTER_SMALL=\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629\: "{0}"
111
+
109
112
  T_KEYBOARD_SHORTCUT_SHARE_WIN=Shift+CTRL+S
110
113
 
111
114
  T_KEYBOARD_SHORTCUT_SHARE_MAC=Shift+CMD+S
@@ -92,12 +92,6 @@ T_COMMON_UTILS_NAVIGATION_AWAY_CANCEL_BUTTON=\u041E\u0442\u043A\u0430\u0437
92
92
 
93
93
  T_COMMON_UTILS_NAVIGATION_AWAY_MSG=\u0412\u0430\u0448\u0438\u0442\u0435 \u0437\u0430\u043F\u0438\u0441\u0438 \u0449\u0435 \u0431\u044A\u0434\u0430\u0442 \u0438\u0437\u0433\u0443\u0431\u0435\u043D\u0438, \u043A\u043E\u0433\u0430\u0442\u043E \u043D\u0430\u043F\u0443\u0441\u043D\u0435\u0442\u0435 \u0442\u0430\u0437\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430.
94
94
 
95
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_IOS_DESKTOP=\u0417\u0430 \u0434\u0430 \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435, \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0439\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u043D\u0430\u0442\u0430 \u043A\u043E\u043C\u0431\u0438\u043D\u0430\u0446\u0438\u044F Cmd+V.
96
-
97
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_WINDOWS_DESKTOP=\u0417\u0430 \u0434\u0430 \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435, \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0439\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u043D\u0430\u0442\u0430 \u043A\u043E\u043C\u0431\u0438\u043D\u0430\u0446\u0438\u044F Crtl+V.
98
-
99
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_TOUCH_DEVICE=\u041F\u043E\u0441\u0442\u0430\u0432\u044F\u043D\u0435\u0442\u043E \u043D\u0435 \u0435 \u043D\u0430\u043B\u0438\u0447\u043D\u043E \u0437\u0430 \u0441\u0435\u043D\u0437\u043E\u0440\u043D\u0438 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430. \u041C\u043E\u043B\u044F, \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0439\u0442\u0435 \u0434\u0435\u0441\u043A\u0442\u043E\u043F.
100
-
101
95
  C_LR_MULTITABLES_SINGLE_IGNORED_FILTER_LARGE=\u0424\u0438\u043B\u0442\u044A\u0440\u044A\u0442 "{0}" \u043D\u0435 \u0435 \u0440\u0435\u043B\u0435\u0432\u0430\u043D\u0442\u0435\u043D \u0437\u0430 \u0442\u0430\u0431 "{1}". \u0417\u0430\u0434\u0430\u0432\u0430\u043D\u0435\u0442\u043E \u043D\u0430 \u0442\u043E\u0437\u0438 \u0444\u0438\u043B\u0442\u044A\u0440 \u043D\u0435 \u043E\u043A\u0430\u0437\u0432\u0430 \u0432\u043B\u0438\u044F\u043D\u0438\u0435 \u043D\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438\u0442\u0435.
102
96
 
103
97
  C_LR_MULTITABLES_SINGLE_IGNORED_FILTER_SMALL=\u041D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0444\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u0442\u0435 \u043F\u043E "{0}" \u0432 \u0442\u0430\u0431 "{1}".
@@ -106,6 +100,15 @@ C_LR_MULTITABLES_MULTI_IGNORED_FILTER_LARGE=\u041D\u044F\u043A\u043E\u0438 \u044
106
100
 
107
101
  C_LR_MULTITABLES_MULTI_IGNORED_FILTER_SMALL=\u041D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u0441\u043B\u0435\u0434\u043D\u0438\u0442\u0435 \u0444\u0438\u043B\u0442\u0440\u0438 \u0437\u0430 \u0442\u0430\u0431 "{1}"\: "{0}".
108
102
 
103
+
104
+ C_LR_MULTIVIZ_CHART_SINGLE_IGNORED_FILTER_LARGE=\u0424\u0438\u043B\u0442\u044A\u0440\u044A\u0442 "{0}" \u043D\u0435 \u0435 \u0440\u0435\u043B\u0435\u0432\u0430\u043D\u0442\u0435\u043D \u0437\u0430 \u0442\u0430\u0437\u0438 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u0430. \u0417\u0430\u0434\u0430\u0432\u0430\u043D\u0435\u0442\u043E \u043D\u0430 \u0442\u043E\u0437\u0438 \u0444\u0438\u043B\u0442\u044A\u0440 \u043D\u0435 \u043E\u043A\u0430\u0437\u0432\u0430 \u0432\u043B\u0438\u044F\u043D\u0438\u0435 \u043D\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438\u0442\u0435.
105
+
106
+ C_LR_MULTIVIZ_CHART_SINGLE_IGNORED_FILTER_SMALL=\u041D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0444\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u0442\u0435 \u043F\u043E "{0}".
107
+
108
+ C_LR_MULTIVIZ_CHART_MULTI_IGNORED_FILTER_LARGE=\u041D\u044F\u043A\u043E\u0438 \u0444\u0438\u043B\u0442\u0440\u0438 \u043D\u0435 \u0441\u0430 \u0440\u0435\u043B\u0435\u0432\u0430\u043D\u0442\u043D\u0438 \u0437\u0430 \u0442\u0430\u0437\u0438 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u0430 ({0}). \u0417\u0430\u0434\u0430\u0432\u0430\u043D\u0435\u0442\u043E \u0438\u043C \u043D\u0435 \u043E\u043A\u0430\u0437\u0432\u0430 \u0432\u043B\u0438\u044F\u043D\u0438\u0435 \u043D\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438\u0442\u0435.
109
+
110
+ C_LR_MULTIVIZ_CHART_MULTI_IGNORED_FILTER_SMALL=\u041D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u0441\u043B\u0435\u0434\u043D\u0438\u0442\u0435 \u0444\u0438\u043B\u0442\u0440\u0438\: "{0}"
111
+
109
112
  T_KEYBOARD_SHORTCUT_SHARE_WIN=Shift+CTRL+S
110
113
 
111
114
  T_KEYBOARD_SHORTCUT_SHARE_MAC=Shift+CMD+S
@@ -92,12 +92,6 @@ T_COMMON_UTILS_NAVIGATION_AWAY_CANCEL_BUTTON=Cancel\u00B7lar
92
92
 
93
93
  T_COMMON_UTILS_NAVIGATION_AWAY_MSG=Les vostres entrades es perdran si sortiu d'aquesta p\u00E0gina.
94
94
 
95
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_IOS_DESKTOP=Per enganxar, utilitzeu la drecera de teclat Cmd+V.
96
-
97
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_WINDOWS_DESKTOP=Per enganxar, utilitzeu la drecera de teclat Ctrl+V.
98
-
99
- T_OP_CONTROLLER_TABLE_PASTE_BUTTON_ACTION_MESSAGE_TOUCH_DEVICE=La funci\u00F3 enganxar no est\u00E0 disponible per a dispositius t\u00E0ctils. Utilitzeu un dispositiu d'escriptori.
100
-
101
95
  C_LR_MULTITABLES_SINGLE_IGNORED_FILTER_LARGE=El filtre "{0}" no \u00E9s rellevant per a la pestanya "{1}", configurar-lo no t\u00E9 cap efecte en els resultats.
102
96
 
103
97
  C_LR_MULTITABLES_SINGLE_IGNORED_FILTER_SMALL=No podeu filtrar per "{0}" a la pestanya "{1}".
@@ -106,6 +100,15 @@ C_LR_MULTITABLES_MULTI_IGNORED_FILTER_LARGE=Alguns filtres no s\u00F3n rel.per a
106
100
 
107
101
  C_LR_MULTITABLES_MULTI_IGNORED_FILTER_SMALL=No podeu utilitzar els seg\u00FCents filtres a la pestanya "{1}"\: "{0}".
108
102
 
103
+
104
+ C_LR_MULTIVIZ_CHART_SINGLE_IGNORED_FILTER_LARGE=El filtre "{0}" no \u00E9s rellevant per aquest gr\u00E0fic. Configurar aquest filtre no t\u00E9 cap efecte en els resultats.
105
+
106
+ C_LR_MULTIVIZ_CHART_SINGLE_IGNORED_FILTER_SMALL=No podeu filtrar per "{0}".
107
+
108
+ C_LR_MULTIVIZ_CHART_MULTI_IGNORED_FILTER_LARGE=Alguns filtres no s\u00F3n rellevants per aquest gr\u00E0fic ({0}). Configurar aquests filtres no t\u00E9 cap efecte en els resultats.
109
+
110
+ C_LR_MULTIVIZ_CHART_MULTI_IGNORED_FILTER_SMALL=No podeu utilitzar els seg\u00FCents filtres\: "{0}"
111
+
109
112
  T_KEYBOARD_SHORTCUT_SHARE_WIN=Maj\u00FAs+CTRL+S
110
113
 
111
114
  T_KEYBOARD_SHORTCUT_SHARE_MAC=Maj\u00FAs+CMD+S