@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.
- package/package.json +9 -5
- package/src/sap/fe/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/Component.js +3 -2
- package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +5 -4
- package/src/sap/fe/templates/ListComponent.js +3 -2
- package/src/sap/fe/templates/ListReport/Component.js +18 -3
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js +12 -6
- package/src/sap/fe/templates/ListReport/ListReport.view.xml +33 -26
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +206 -125
- package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +18 -13
- package/src/sap/fe/templates/ListReport/overrides/Share.js +46 -29
- package/src/sap/fe/templates/ListReport/overrides/ViewState.js +131 -86
- package/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +8 -0
- package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +3 -3
- package/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +75 -13
- package/src/sap/fe/templates/ObjectPage/Component.js +21 -29
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +18 -2
- package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +76 -94
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +166 -155
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +10 -3
- package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +3 -2
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +3 -2
- package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +6 -2
- package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +3 -2
- package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +3 -2
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +3 -2
- package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +3 -2
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +3 -2
- package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +3 -2
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +3 -2
- package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +15 -2
- package/src/sap/fe/templates/ObjectPage/overrides/Share.js +50 -45
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +3 -22
- package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
- package/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +2 -2
- package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +36 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +5 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +33 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingAvatar.fragment.xml +17 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +18 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +24 -5
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +1 -4
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +181 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +4 -3
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +4 -3
- package/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +6 -3
- package/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +6 -3
- package/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +136 -125
- package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +3 -2
- package/src/sap/fe/templates/TableScroller.js +3 -2
- package/src/sap/fe/templates/controls/Table.fragment.xml +1 -1
- package/src/sap/fe/templates/library.js +4 -3
- package/src/sap/fe/templates/messagebundle.properties +15 -8
- package/src/sap/fe/templates/messagebundle_ar.properties +9 -6
- package/src/sap/fe/templates/messagebundle_bg.properties +9 -6
- package/src/sap/fe/templates/messagebundle_ca.properties +9 -6
- package/src/sap/fe/templates/messagebundle_cs.properties +9 -6
- package/src/sap/fe/templates/messagebundle_cy.properties +9 -6
- package/src/sap/fe/templates/messagebundle_da.properties +9 -6
- package/src/sap/fe/templates/messagebundle_de.properties +9 -6
- package/src/sap/fe/templates/messagebundle_el.properties +10 -7
- package/src/sap/fe/templates/messagebundle_en.properties +9 -6
- package/src/sap/fe/templates/messagebundle_en_GB.properties +9 -6
- package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +10 -7
- package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +10 -7
- package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +10 -7
- package/src/sap/fe/templates/messagebundle_es.properties +17 -14
- package/src/sap/fe/templates/messagebundle_es_MX.properties +9 -6
- package/src/sap/fe/templates/messagebundle_et.properties +9 -6
- package/src/sap/fe/templates/messagebundle_fi.properties +9 -6
- package/src/sap/fe/templates/messagebundle_fr.properties +10 -7
- package/src/sap/fe/templates/messagebundle_fr_CA.properties +9 -6
- package/src/sap/fe/templates/messagebundle_hi.properties +9 -6
- package/src/sap/fe/templates/messagebundle_hr.properties +10 -7
- package/src/sap/fe/templates/messagebundle_hu.properties +9 -6
- package/src/sap/fe/templates/messagebundle_id.properties +11 -8
- package/src/sap/fe/templates/messagebundle_it.properties +9 -6
- package/src/sap/fe/templates/messagebundle_iw.properties +9 -6
- package/src/sap/fe/templates/messagebundle_ja.properties +10 -7
- package/src/sap/fe/templates/messagebundle_kk.properties +9 -6
- package/src/sap/fe/templates/messagebundle_ko.properties +9 -6
- package/src/sap/fe/templates/messagebundle_lt.properties +9 -6
- package/src/sap/fe/templates/messagebundle_lv.properties +9 -6
- package/src/sap/fe/templates/messagebundle_ms.properties +9 -6
- package/src/sap/fe/templates/messagebundle_nl.properties +9 -6
- package/src/sap/fe/templates/messagebundle_no.properties +9 -6
- package/src/sap/fe/templates/messagebundle_pl.properties +9 -6
- package/src/sap/fe/templates/messagebundle_pt.properties +12 -9
- package/src/sap/fe/templates/messagebundle_pt_PT.properties +10 -7
- package/src/sap/fe/templates/messagebundle_ro.properties +9 -6
- package/src/sap/fe/templates/messagebundle_ru.properties +9 -6
- package/src/sap/fe/templates/messagebundle_sh.properties +9 -6
- package/src/sap/fe/templates/messagebundle_sk.properties +9 -6
- package/src/sap/fe/templates/messagebundle_sl.properties +9 -6
- package/src/sap/fe/templates/messagebundle_sv.properties +10 -7
- package/src/sap/fe/templates/messagebundle_th.properties +9 -6
- package/src/sap/fe/templates/messagebundle_tr.properties +10 -7
- package/src/sap/fe/templates/messagebundle_uk.properties +10 -7
- package/src/sap/fe/templates/messagebundle_vi.properties +9 -6
- package/src/sap/fe/templates/messagebundle_zh_CN.properties +9 -6
- package/src/sap/fe/templates/messagebundle_zh_TW.properties +9 -6
- package/ui5.yaml +0 -3
- 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
|
-
|
|
13
|
-
|
|
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
|
-
|
|
13
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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#
|
|
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
|
-
|
|
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
|
-
*
|
|
222
|
+
* Fetches the value of the HeaderInfo title for a given path.
|
|
223
223
|
*
|
|
224
|
-
* @
|
|
225
|
-
* @
|
|
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
|
-
|
|
238
|
-
{ context:
|
|
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
|
-
|
|
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
|
|
242
|
+
var oBindingViewContext = oModel.createBindingContext(sPath);
|
|
243
|
+
var oPropertyBinding = oModel.bindProperty(sTitlePath, oBindingViewContext);
|
|
244
|
+
|
|
247
245
|
oPropertyBinding.initialize();
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
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
|
-
}
|
|
266
|
-
|
|
267
|
-
|
|
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
|
-
|
|
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 {*}
|
|
351
|
+
* @param {*} oView The current view
|
|
352
|
+
* @returns {*} A Promise that is resolved when the menu is filled properly
|
|
302
353
|
*/
|
|
303
|
-
|
|
354
|
+
_computeTitleHierarchy: function(oView) {
|
|
304
355
|
var that = this,
|
|
305
|
-
|
|
306
|
-
oAppComponent = oData.oAppComponent,
|
|
356
|
+
oAppComponent = this.getAppComponent(),
|
|
307
357
|
oContext = oView.getBindingContext(),
|
|
308
358
|
oCurrentPage = oView.getParent(),
|
|
309
359
|
aTitleInformationPromises = [],
|
|
310
|
-
sAppSpecificHash =
|
|
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
|
-
|
|
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
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
aPathParts.
|
|
333
|
-
|
|
334
|
-
aPathParts.forEach(function(sPathPart
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
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
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
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.
|
|
403
|
-
sTitle =
|
|
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
|
})
|
|
@@ -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.
|
|
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
|
-
|
|
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.
|
|
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 =
|
|
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
|