@sapui5/sap.suite.ui.generic.template 1.133.0 → 1.134.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/package.json +1 -1
  2. package/src/sap/suite/ui/generic/template/.library +1 -1
  3. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n.properties +7 -7
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
  5. package/src/sap/suite/ui/generic/template/Canvas/extensionAPI/ExtensionAPI.js +11 -3
  6. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
  7. package/src/sap/suite/ui/generic/template/ListReport/extensionAPI/ExtensionAPI.js +11 -9
  8. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +3 -3
  9. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
  10. package/src/sap/suite/ui/generic/template/ListReport/view/ListReport.view.xml +1 -1
  11. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartFilterBar.fragment.xml +1 -1
  12. package/src/sap/suite/ui/generic/template/ObjectPage/controller/MessageSortingHandler.js +22 -5
  13. package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/DraftTransactionController.js +8 -10
  14. package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI.js +34 -14
  15. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +22 -4
  16. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
  17. package/src/sap/suite/ui/generic/template/ObjectPage/templateSpecificPreparationHelper.js +233 -125
  18. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Facet.fragment.xml +32 -27
  19. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +7 -11
  20. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  21. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  22. package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +29 -12
  23. package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +29 -28
  24. package/src/sap/suite/ui/generic/template/designtime/floorplans/AnalyticalListPage.designtime.js +3 -1
  25. package/src/sap/suite/ui/generic/template/designtime/floorplans/ListReport.designtime.js +3 -1
  26. package/src/sap/suite/ui/generic/template/designtime/floorplans/ObjectPage.designtime.js +4 -1
  27. package/src/sap/suite/ui/generic/template/detailTemplates/DiscardEditHandler.js +13 -0
  28. package/src/sap/suite/ui/generic/template/fragments/DraftAdminDataPopover.fragment.xml +1 -0
  29. package/src/sap/suite/ui/generic/template/fragments/MessagePopover.fragment.xml +2 -2
  30. package/src/sap/suite/ui/generic/template/fragments/SmartControlContextMenu.fragment.xml +1 -1
  31. package/src/sap/suite/ui/generic/template/genericUtilities/filterHelper.js +3 -1
  32. package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +65 -8
  33. package/src/sap/suite/ui/generic/template/js/AnnotationHelperStreamSupport.js +1 -1
  34. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -2
  35. package/src/sap/suite/ui/generic/template/lib/Application.js +2 -0
  36. package/src/sap/suite/ui/generic/template/lib/ComponentUtils.js +13 -2
  37. package/src/sap/suite/ui/generic/template/lib/ContextBookkeeping.js +1 -0
  38. package/src/sap/suite/ui/generic/template/lib/ContextMenuHandler.js +124 -2
  39. package/src/sap/suite/ui/generic/template/lib/SideEffectUtil.js +39 -2
  40. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +17 -11
  41. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +2 -0
  42. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +4 -2
  43. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +4 -2
  44. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +3 -1
  45. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +3 -1
  46. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +2 -0
  47. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +3 -1
  48. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +4 -2
  49. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +4 -2
  50. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +4 -2
  51. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +4 -2
  52. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +4 -2
  53. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +2 -0
  54. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +4 -2
  55. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +3 -1
  56. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +4 -2
  57. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +4 -2
  58. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +2 -0
  59. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +3 -1
  60. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +6 -4
  61. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +3 -1
  62. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +4 -2
  63. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +2 -0
  64. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +3 -1
  65. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +3 -1
  66. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +3 -1
  67. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +4 -2
  68. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +4 -2
  69. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +4 -2
  70. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +3 -1
  71. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +5 -3
  72. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +4 -2
  73. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +2 -0
  74. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +4 -2
  75. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +4 -2
  76. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +4 -2
  77. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +4 -2
  78. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +3 -1
  79. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +2 -0
  80. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +4 -2
  81. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +3 -1
  82. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +4 -2
  83. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +3 -1
  84. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +3 -1
  85. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +4 -2
  86. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +4 -2
  87. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +3 -1
  88. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +4 -2
  89. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +32 -20
  90. package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +4 -5
  91. package/src/sap/suite/ui/generic/template/library.js +1 -1
@@ -210,6 +210,19 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
210
210
  }
211
211
  }
212
212
 
213
+ var getLineItemAnnotationFromPresentationVariant = function(oPresentationVariant) {
214
+ if (!oPresentationVariant
215
+ || !oPresentationVariant.Visualizations
216
+ || !oPresentationVariant.Visualizations.length
217
+ || !oPresentationVariant.Visualizations[0].AnnotationPath
218
+ // First entry in Visualizations should be 'com.sap.vocabularies.UI.v1.LineItem'
219
+ || oPresentationVariant.Visualizations[0].AnnotationPath.indexOf('com.sap.vocabularies.UI.v1.LineItem') < 0
220
+ ) {
221
+ return undefined;
222
+ }
223
+ return oPresentationVariant.Visualizations[0].AnnotationPath;
224
+ };
225
+
213
226
  var oAnnotationHelper = {
214
227
  formatMessage: formatMessage,
215
228
  getNewVariable: function (oContext){
@@ -522,8 +535,8 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
522
535
  } else {
523
536
  oP13N.leadingProperty && (aAdditionalPropertiesForSCColumn.indexOf(oP13N.leadingProperty) === -1) ? aAdditionalPropertiesForSCColumn.push(oP13N.leadingProperty) : Function.prototype;
524
537
  oP13N.leadingProperty && (aAdditionalSortPropertiesForSCColumn.indexOf(oP13N.leadingProperty) === -1) ? aAdditionalSortPropertiesForSCColumn.push(oP13N.leadingProperty) : Function.prototype;
525
- }
526
-
538
+ }
539
+
527
540
  oP13N.navigationProperty && (aNavigationPropertiesForSCColumn.indexOf(oP13N.navigationProperty) === -1) ? aNavigationPropertiesForSCColumn.push(oP13N.navigationProperty) : Function.prototype;
528
541
  // Add "additionalProperty" of current data field to the "additionalProperty" of current column's p13n
529
542
  oP13N.additionalProperty && (aAdditionalPropertiesForSCColumn.indexOf(oP13N.additionalProperty) === -1) ? aAdditionalPropertiesForSCColumn.push(oP13N.additionalProperty) : Function.prototype;
@@ -544,8 +557,8 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
544
557
  sP13N += '", "filterProperty":"' + "";
545
558
 
546
559
  // Add the leading property to "leadingProperty" and "sortProperty" of p13n
547
- //
548
- // IMPORTANT: Please don't remove the "leadingProperty" from p13nData.
560
+ //
561
+ // IMPORTANT: Please don't remove the "leadingProperty" from p13nData.
549
562
  // If it's removed, the column won't appear in exported excel.
550
563
  if (sLeadingPropertyForSCColumn) {
551
564
  sP13N += '", "leadingProperty":"' + sLeadingPropertyForSCColumn;
@@ -2948,7 +2961,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
2948
2961
  oInterface = oInterface.getInterface(0);
2949
2962
  var oMetaModel = oInterface.getModel();
2950
2963
  var oEntityType = oMetaModel.getODataEntityType(oEntitySet.entityType);
2951
-
2964
+
2952
2965
  var sTextArrangement = "descriptionAndId";
2953
2966
  if (oField?.Value?.Path && oMetaModel.getODataProperty(oEntityType, oField.Value.Path)) {
2954
2967
  var oPropertyTextModel = oMetaModel.getODataProperty(oEntityType, oField.Value.Path)["com.sap.vocabularies.Common.v1.Text"];
@@ -4207,6 +4220,50 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
4207
4220
  }
4208
4221
  },
4209
4222
 
4223
+ checkFacetHasLineItemAnnotations: function(annotationPath, listEntityType) {
4224
+ if (!annotationPath) {
4225
+ return false;
4226
+ }
4227
+ if (annotationPath.indexOf('com.sap.vocabularies.UI.v1.LineItem') > -1) {
4228
+ return true;
4229
+ }
4230
+ if (annotationPath.indexOf('com.sap.vocabularies.UI.v1.PresentationVariant') > -1) {
4231
+ var aPresentationVariantAnnotations = annotationPath.split("/@");
4232
+ if (aPresentationVariantAnnotations.length < 2) {
4233
+ return false;
4234
+ }
4235
+ if (!listEntityType
4236
+ || !getLineItemAnnotationFromPresentationVariant(listEntityType[aPresentationVariantAnnotations[1]])) {
4237
+ return false;
4238
+ }
4239
+ return true;
4240
+ }
4241
+ return false;
4242
+ },
4243
+
4244
+ getListItemCollection: function(target) {
4245
+ if (!target) {
4246
+ return target;
4247
+ }
4248
+ var oTarget = target.getObject();
4249
+ if (!oTarget || !oTarget.AnnotationPath) {
4250
+ return target;
4251
+ }
4252
+ if (oTarget.AnnotationPath.indexOf('com.sap.vocabularies.UI.v1.LineItem') >= 0) {
4253
+ return AnnotationHelperModel.resolvePath(target);
4254
+ }
4255
+ if (oTarget.AnnotationPath.indexOf('com.sap.vocabularies.UI.v1.PresentationVariant') >= 0) {
4256
+ var oPresentationVariant = target.getProperty(AnnotationHelperModel.resolvePath(target)),
4257
+ sLineItem = getLineItemAnnotationFromPresentationVariant(oPresentationVariant);
4258
+ if (!sLineItem || sLineItem.indexOf('@') !== 0) {
4259
+ return target;
4260
+ }
4261
+ var oEntityType = target.getModel().getODataEntityType(target.getProperty(AnnotationHelperModel.gotoEntitySet(target)).entityType);
4262
+ return oEntityType.$path + "/" + sLineItem.slice(1);
4263
+ }
4264
+ return target;
4265
+ },
4266
+
4210
4267
  getSaveAndNextButtonVisibility: function(oManifest) {
4211
4268
  var sEditFlow = oManifest["sap.ui.generic.app"].pages[0].component.settings && oManifest["sap.ui.generic.app"].pages[0].component.settings.editFlow;
4212
4269
  if (sEditFlow === "direct") {
@@ -4385,7 +4442,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
4385
4442
  * - Returns OverflowToolbarPriority.Low
4386
4443
  * Otherwise
4387
4444
  * - Returns the default value OverflowToolbarPriority.High
4388
- *
4445
+ *
4389
4446
  * @param {string} sImportance Importance from annotation (for annotated actions) or manifest (breakout actions).
4390
4447
  * The possible importance values
4391
4448
  * - High
@@ -4394,7 +4451,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
4394
4451
  * - com.sap.vocabularies.UI.v1.ImportanceType/High
4395
4452
  * - com.sap.vocabularies.UI.v1.ImportanceType/Medium
4396
4453
  * - com.sap.vocabularies.UI.v1.ImportanceType/Low
4397
- * @returns {sap.m.OverflowToolbarPriority} The priority
4454
+ * @returns {sap.m.OverflowToolbarPriority} The priority
4398
4455
  */
4399
4456
  getToolbarButtonPriorityFromImportance: function (sImportance) {
4400
4457
  var sPriority = "";
@@ -4409,7 +4466,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
4409
4466
  case "Medium":
4410
4467
  sPriority = OverflowToolbarPriority.High;
4411
4468
  break;
4412
- case "Low":
4469
+ case "Low":
4413
4470
  sPriority = OverflowToolbarPriority.Low;
4414
4471
  break;
4415
4472
  default:
@@ -126,7 +126,7 @@ sap.ui.define([
126
126
 
127
127
  // funtion return the controlling binding path form by annotation/metadata/fieldcontrol path
128
128
  getControlPath: function(oEntitySet, oFieldControl) {
129
- var sAnnotationUpdatablePath = oEntitySet && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"] && (oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"]["Updatable"] || oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"]["Updatable"].Path);
129
+ var sAnnotationUpdatablePath = oEntitySet && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"] && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"]["Updatable"] && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"]["Updatable"].Path;
130
130
  var sMetadataUpdatable = oEntitySet && (oEntitySet["sap:updatable"] || oEntitySet["sap:updatable-path"]);
131
131
  if (sAnnotationUpdatablePath || sMetadataUpdatable) {
132
132
  return '${' + (sAnnotationUpdatablePath || sMetadataUpdatable) + '} !== false';
@@ -918,7 +918,6 @@ sap.ui.define([
918
918
  * @param [object] oStartupParameters if provided it defines the object for which data should be refreshed. Otherwise, all data should be refreshed.
919
919
  * @param {boolean} bIsCurrentlyVisible information whether myInbox is currently displaying this component
920
920
  * @internal
921
- * @experimental
922
921
  */
923
922
  refreshForStartupParameter: function(oStartupParameters, bIsCurrentlyVisible){
924
923
  bRefreshDataNeeded = true;
@@ -951,7 +950,7 @@ sap.ui.define([
951
950
  * @public
952
951
  * @extends sap.ui.core.UIComponent
953
952
  * @author SAP SE
954
- * @version 1.133.0
953
+ * @version 1.134.2
955
954
  * @name sap.suite.ui.generic.template.lib.AppComponent
956
955
  */
957
956
  var oAppComponent = UIComponent.extend("sap.suite.ui.generic.template.lib.AppComponent", {
@@ -801,6 +801,7 @@ sap.ui.define(["sap/ui/base/Object",
801
801
  }
802
802
 
803
803
  oTemplateContract.oApplicationProxy = { // inject own api for AppComponent into the Template Contract. Other classes (NavigationController, BusyHelper) will call these functions accordingly.
804
+ createDraftSiblingPromise: oContextBookkeeping.createDraftSiblingPromise,
804
805
  getDraftSiblingPromise: oContextBookkeeping.getDraftSiblingPromise,
805
806
  getSiblingPromise: oContextBookkeeping.getSiblingPromise,
806
807
  fillSiblingKeyPromise: fnFillSiblingKeyPromise,
@@ -866,6 +867,7 @@ sap.ui.define(["sap/ui/base/Object",
866
867
  Promise.all([getOperationEndedPromise(true), oTemplateContract.oBusyHelper.getUnbusy()]).then(fnMessageBox);
867
868
  },
868
869
  registerStateChanger: fnRegisterStateChanger,
870
+ createDraftSiblingPromise: oContextBookkeeping.createDraftSiblingPromise,
869
871
  getDraftSiblingPromise: oContextBookkeeping.getDraftSiblingPromise,
870
872
  registerContext: oContextBookkeeping.registerContext,
871
873
  getDraftInfoForContext: oContextBookkeeping.getDraftInfoForContext,
@@ -770,6 +770,11 @@ sap.ui.define([
770
770
  oComponentRegistryEntry.oTemplateContract.oNavigationControllerProxy.navigateFromNodeAccordingToContext(oTreeNode, oNavigationContext, iDisplayMode, bReplace);
771
771
  }
772
772
 
773
+ function getAppTitle(){
774
+ var oManifest = oComponent.getAppComponent().getManifestEntry("sap.app");
775
+ return oManifest.title ?? "";
776
+ }
777
+
773
778
  function getTitle(){
774
779
  return oTreeNode.headerTitle;
775
780
  }
@@ -1106,7 +1111,11 @@ sap.ui.define([
1106
1111
  function fnOpenContextInNewTab (oNavigationContext) {
1107
1112
  oComponentRegistryEntry.oTemplateContract.oNavigationControllerProxy.openContextInNewTab(oTreeNode, oNavigationContext);
1108
1113
  }
1109
-
1114
+
1115
+ function fnGetTargetIdentityForContext(oNavigationContext){
1116
+ return oComponentRegistryEntry.oTemplateContract.oNavigationControllerProxy.getTargetIdentityForContext(oTreeNode, oNavigationContext);
1117
+ }
1118
+
1110
1119
  return {
1111
1120
  getBusyHelper: function() {
1112
1121
  return oComponentRegistryEntry.oApplication.getBusyHelper();
@@ -1145,6 +1154,7 @@ sap.ui.define([
1145
1154
  getCommunicationObject: getCommunicationObject,
1146
1155
  navigateRoute: fnNavigateRoute,
1147
1156
  navigateAccordingToContext: fnNavigateAccordingToContext,
1157
+ getAppTitle: getAppTitle,
1148
1158
  getTitle: getTitle,
1149
1159
  setText: setText,
1150
1160
  onBeforeDraftTransfer: onBeforeDraftTransfer,
@@ -1187,7 +1197,8 @@ sap.ui.define([
1187
1197
  getToolbarDataFieldForIBNCommandDetails: oCommandComponentUtils.getToolbarDataFieldForIBNCommandDetails,
1188
1198
  isStateHandlingSuspended: fnIsStateHandlingSuspended,
1189
1199
  getUI5VersionInfo: fnGetUI5VersionInfo,
1190
- openContextInNewTab: fnOpenContextInNewTab
1200
+ openContextInNewTab: fnOpenContextInNewTab,
1201
+ getTargetIdentityForContext: fnGetTargetIdentityForContext
1191
1202
  };
1192
1203
  }
1193
1204
 
@@ -871,6 +871,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/base/util/each", "sap/base/util/extend
871
871
  activationStarted: activationStarted,
872
872
  cancellationStarted: cancellationStarted,
873
873
  editingStarted: editingStarted,
874
+ createDraftSiblingPromise: createDraftSiblingPromise,
874
875
  getDraftSiblingPromise: getDraftSiblingPromise,
875
876
  getSiblingPromise: getSiblingPromise,
876
877
  getAlternativeIdentityPromise: getAlternativeIdentityPromise,
@@ -2,11 +2,12 @@ sap.ui.define([
2
2
  "sap/base/util/extend",
3
3
  "sap/base/util/ObjectPath",
4
4
  "sap/m/MessageBox",
5
+ "sap/suite/ui/commons/collaboration/ServiceContainer",
5
6
  "sap/suite/ui/generic/template/genericUtilities/controlHelper",
6
7
  "sap/suite/ui/generic/template/genericUtilities/FeLogger",
7
8
  "sap/ui/base/Object",
8
9
  "sap/ui/base/Event"
9
- ], function (extend, ObjectPath, MessageBox, controlHelper, FeLogger, BaseObject, Event) {
10
+ ], function (extend, ObjectPath, MessageBox, ServiceContainer, controlHelper, FeLogger, BaseObject, Event) {
10
11
  "use strict";
11
12
 
12
13
  /* This class provides generic functionality for handling of the context menu for one smart control (oSourceControl).
@@ -17,6 +18,7 @@ sap.ui.define([
17
18
 
18
19
  // Constants
19
20
  var MAX_RECORDS_OPEN_IN_NEW_TAB = 10;
21
+ var MAX_RECORDS_SHARE_TO_CM = 1;
20
22
  var aToolbarContentsToBeOmitted = ["btnPersonalisation", "btnExcelExport"];
21
23
 
22
24
  function getMethods(oController, oTemplateUtils, oState, oSourceControl, oConfiguration) {
@@ -64,6 +66,9 @@ sap.ui.define([
64
66
  // Store the outbound navigation target
65
67
  var sOutboundNavigationTarget = oSourceControl.getTable().getContextMenu().data("CrossNavigation");
66
68
  var oOutbound = sOutboundNavigationTarget && fnGetOutboundInfoFromManifest(sOutboundNavigationTarget);
69
+ // SAP Collaboration Manager service
70
+ var oCollaborationManager;
71
+
67
72
  /**
68
73
  * The method does the following
69
74
  * - Adds an entry (menu item) to the context menu.
@@ -385,6 +390,121 @@ sap.ui.define([
385
390
  }
386
391
  }
387
392
 
393
+ /**
394
+ * Initialize the SAP Collaboration Manager service
395
+ *
396
+ * @returns {Promise<{sap.suite.ui.commons.collaboration.CollaborationManagerService|undefined}>} Returns the promise that is resolved to the SAP Collaboration Manager service
397
+ */
398
+ function fnInitToCollaborationManager() {
399
+ var { promise, resolve, reject } = Promise.withResolvers();
400
+
401
+ if (!oCollaborationManager) {
402
+ ServiceContainer.getCollaborationServices().then(function (mResults) {
403
+ if (mResults && mResults.oCMHelperService) {
404
+ var oCMOptions = mResults.oCMHelperService.getOptions();
405
+ if (oCMOptions) {
406
+ oCollaborationManager = mResults.oCMHelperService;
407
+ resolve(oCollaborationManager);
408
+ } else {
409
+ reject();
410
+ }
411
+ } else {
412
+ reject();
413
+ }
414
+ });
415
+ } else {
416
+ resolve(oCollaborationManager);
417
+ }
418
+
419
+ return promise;
420
+ }
421
+
422
+ /**
423
+ * Returns the promise which resolves the event handler for "Share to SAP Collaboration Manager" entry.
424
+ *
425
+ * Negative scenario: It just returns without any value when anyone of the following condition met.
426
+ * So that, "Share to SAP Collaboration Manager" option isn't added in context menu:
427
+ * a. SAP Collaboration Manager service is unavailable
428
+ * b. Navigation is not supported by the table
429
+ * c. Table is configured with onListNavigationExtension
430
+ * d. Navigation target is a draft without an active version
431
+ * e. Navigation target is a child of own draft in edit mode
432
+ * f. Navigation target is outbound
433
+ * g. Direct edit flow is enabled
434
+ *
435
+ * @param {sap.suite.ui.generic.template.lib.ContextMenuHandler.FocusInfo} oFocusInfo
436
+ * @param {sap.suite.ui.commons.collaboration.CollaborationManagerService} oCMHelperService
437
+ * @returns {Promise<Function|undefined>} Promise which resolves the handler method
438
+ */
439
+ function getSharePromiseForCollaborationManager (oFocusInfo, oCMHelperService) {
440
+ // Enable the context menu entry only if at least one navigable context is available
441
+ var aNavigableContexts = oFocusInfo.applicableContexts.filter(fnIsContextNavigable);
442
+ if (!aNavigableContexts.length) {
443
+ return;
444
+ }
445
+
446
+ var oActiveEntity = aNavigableContexts[0].getObject();
447
+ var bIsDraftSupported = oComponentUtils.isDraftEnabled();
448
+ var bIsDraft = bIsDraftSupported && oActiveEntity.IsActiveEntity === false;
449
+ var bHasActiveEntity = bIsDraft ? oActiveEntity.HasActiveEntity === true : true;
450
+ var bIsOwnDraftChild = bIsDraft ? oFocusInfo.focussedBindingContext.sPath !== oFocusInfo.focussedBindingContext.sDeepPath : false;
451
+ var bDirectEdit = oTemplateUtils.oServices.oApplication.getEditFlowOfRoot() === "direct";
452
+ var bOnListNavigationExtensionFound = oController.hasOwnProperty("onListNavigationExtension");
453
+
454
+ if (!oCMHelperService || !bNavigationSupported || bOnListNavigationExtensionFound || !bHasActiveEntity || bIsOwnDraftChild || oOutbound || bDirectEdit) {
455
+ return;
456
+ }
457
+
458
+ return Promise.resolve(function () {
459
+ if (aNavigableContexts.length > MAX_RECORDS_SHARE_TO_CM) {
460
+ var sWarningMessage = oCommonUtils.getText("T_TABLE_SHARE_TO_COLLABORATION_MANAGER_TOO_MANY_ITEMS_SELECTED", [MAX_RECORDS_SHARE_TO_CM]);
461
+ MessageBox.warning(sWarningMessage);
462
+ return;
463
+ }
464
+ var sAppTitle = oComponentUtils.getAppTitle();
465
+ if (bIsDraft) {
466
+ var oBusyHelper = oTemplateUtils.oServices.oApplication.getBusyHelper();
467
+ if (oBusyHelper.isBusy()) {
468
+ return; // Ignore user interaction while the app is busy.
469
+ }
470
+ var oSiblingContextPromise = oTemplateUtils.oServices.oApplication.createDraftSiblingPromise(oFocusInfo.focussedBindingContext.oModel, oFocusInfo.focussedBindingContext.sPath);
471
+ var URLParser = new sap.ushell.services.URLParsing();
472
+ oBusyHelper.setBusy(oSiblingContextPromise.then(function(oSiblingContext) {
473
+ var sPath = document.URL.split(URLParser.getHash(document.URL))[0] + URLParser.getShellHash(document.URL) + "&" + oSiblingContext.sPath;
474
+ var sSiblingURL = sPath.replace(/\(/g, '%28').replace(/\)/g, '%29');
475
+ oCMHelperService.publishData({
476
+ sAppTitle: sAppTitle,
477
+ sCurrentURL: sSiblingURL
478
+ });
479
+ }));
480
+ } else {
481
+ var sTargetURLPromise = oComponentUtils.getTargetIdentityForContext(oFocusInfo.focussedBindingContext);
482
+ sTargetURLPromise.then(function (sTargetURL) {
483
+ oCMHelperService.publishData({
484
+ sAppTitle: sAppTitle,
485
+ sCurrentURL: sTargetURL
486
+ });
487
+ });
488
+ }
489
+ });
490
+ }
491
+
492
+ /**
493
+ * Adds "Share to SAP Collaboration Manager" entry to context menu
494
+ * @param {sap.suite.ui.generic.template.lib.ContextMenuHandler.FocusInfo} oFocusInfo
495
+ * @param {Array<sap.suite.ui.generic.template.lib.ContextMenuHandler.ContextMenuEntry>} aItems
496
+ */
497
+ function fnAddShareToCollaborationManager(oFocusInfo, aItems) {
498
+ fnInitToCollaborationManager().then(function (oCMHelperService) {
499
+ var oSharePromise = getSharePromiseForCollaborationManager(oFocusInfo, oCMHelperService);
500
+ if (oSharePromise) {
501
+ fnAddMainMenuItem(aItems, oCommonUtils.getText("ST_SHARE_TO_COLLABORATION_MANAGER"), null, false, oSharePromise);
502
+ }
503
+ }).catch(function (oError) {
504
+ oLogger.error("SAP Collaboration Manager is unavailable" + oError);
505
+ });
506
+ }
507
+
388
508
  /************************************************************
389
509
  * End of methods related to "Open in new tab" functionality
390
510
  ************************************************************/
@@ -395,8 +515,10 @@ sap.ui.define([
395
515
  var aRet = [];
396
516
  // Add the toolbar buttons to context menu
397
517
  fnAddToolbarButtonsToContextMenu(oFocusInfo, aRet);
398
- //Add an entry for "Open in new tab or window"
518
+ // Add an entry for "Open in new tab or window"
399
519
  fnAddOpenInNewTabToContextMenu(oFocusInfo, aRet);
520
+ // Add an entry for "Share to SAP Collaboration Manager"
521
+ fnAddShareToCollaborationManager(oFocusInfo, aRet);
400
522
  return aRet;
401
523
  }
402
524
 
@@ -209,7 +209,6 @@ sap.ui.define(["sap/suite/ui/generic/template/js/AnnotationHelper",
209
209
 
210
210
  /**
211
211
  * Configures a side effect for custom field.
212
- * @param {Object} oView - The view instance of the object page.
213
212
  * @param {Object} oControl - The control object for the custom field.
214
213
  * @param {String} sProperty - The name of the property associated with the custom field.
215
214
  * @param {String} sEntitySet - The entity set to which the custom field belongs.
@@ -260,12 +259,50 @@ sap.ui.define(["sap/suite/ui/generic/template/js/AnnotationHelper",
260
259
  }
261
260
  }
262
261
 
262
+ /**
263
+ * Configures a side effect for custom column.
264
+ * @param {Object} oTable - The controller for the custom column.
265
+ * @param {String} sProperty - The name of the property associated with the custom column.
266
+ * @param {String} sEntitySet - The entity set to which the custom column belongs.
267
+ * @param {String} oController - Object page controller.
268
+ */
269
+ function registerCustomColumnForSideEffect(oTable, sProperty, sEntitySet, oController) {
270
+ var aRows;
271
+ if (oTable.isA("sap.m.Table")) {
272
+ aRows = oTable.getAggregation("items");
273
+ } else if (oTable.isA("sap.ui.table.Table")) {
274
+ aRows = oTable.getAggregation("rows");
275
+ }
276
+ var oMetaModel = oController.getView().getModel().getMetaModel();
277
+ var oEntitySet = oMetaModel.getODataEntitySet(sEntitySet);
278
+ var oEntityType = oMetaModel.getODataEntityType(oEntitySet.entityType);
279
+ var oProperty = oMetaModel.getODataProperty(oEntityType, sProperty);
280
+ let columnIndex = oTable.getAggregation("columns").findIndex(oCol => {
281
+ return oCol.data("p13nData").leadingProperty == sProperty;
282
+
283
+ });
284
+ //The method SharedUtil.applyFieldGroupIDs takes in the control and its metadata, reads the Side Effect annotations configured for it
285
+ //and assigns the fieldGroupID accordingly.
286
+ aRows.forEach(oRows => {
287
+ var aCells = oRows.getCells();
288
+ SharedUtil.applyFieldGroupIDs(aCells[columnIndex], {
289
+ entitySet: oEntitySet,
290
+ entityType: oEntityType,
291
+ path: sProperty,
292
+ property: {
293
+ property: oProperty
294
+ }
295
+ });
296
+ });
297
+ }
298
+
263
299
  return {
264
300
  handleSideEffectForField : fnHandleSideEffectForField,
265
301
  assignFieldGroupIds: fnAssignFieldGroupIds,
266
302
  getPropsForLinkFields: fnGetPropsForLinkFields,
267
303
  assignFieldGroupIdsToLinkField: fnAssignFieldGroupIdsToLinkField,
268
304
  registerCustomFieldForSideEffect: registerCustomFieldForSideEffect,
269
- fieldGroupChangeRegister: fieldGroupChangeRegister
305
+ fieldGroupChangeRegister: fieldGroupChangeRegister,
306
+ registerCustomColumnForSideEffect: registerCustomColumnForSideEffect
270
307
  };
271
308
  });
@@ -2,10 +2,10 @@
2
2
  # __ldi.translation.uuid=31fa9df0-f676-11e5-a837-0800200c9a66
3
3
 
4
4
  #XMSG: Message box text for deleted draft which has been edited (and does have active version)
5
- ST_GENERIC_DRAFT_WITH_ACTIVE_DOCUMENT_DELETED=Changes discarded.
5
+ ST_GENERIC_DRAFT_WITH_ACTIVE_DOCUMENT_DELETED=Changes discarded
6
6
 
7
7
  #XMSG: Message box text for deleted draft which has been just created (and does not have active version)
8
- ST_GENERIC_DRAFT_WITHOUT_ACTIVE_DOCUMENT_DELETED=Draft discarded.
8
+ ST_GENERIC_DRAFT_WITHOUT_ACTIVE_DOCUMENT_DELETED=Draft discarded
9
9
 
10
10
  #XTIT: Title for navigation not found --> message page
11
11
  ST_GENERIC_UNKNOWN_NAVIGATION_TARGET=Target was not found.
@@ -14,7 +14,7 @@ ST_GENERIC_UNKNOWN_NAVIGATION_TARGET=Target was not found.
14
14
  ST_GENERIC_ERROR_LOAD_DATA_TEXT=The requested data was not found.
15
15
 
16
16
  # YMSG,70: message displayed if no item was selected
17
- ST_GENERIC_NO_ITEM_SELECTED=Select an item.
17
+ ST_GENERIC_NO_ITEM_SELECTED=Select an item
18
18
 
19
19
  # YMSG,70: message displayed if more than one item was selected
20
20
  ST_GENERIC_MULTIPLE_ITEMS_SELECTED=Select one item only.
@@ -112,6 +112,12 @@ ST_SEND_CARD_TO_CHAT=Send
112
112
  #XBUT, 50: opens an object in new tab or window
113
113
  ST_OPEN_NEW_TAB_OR_WINDOW=Open in New Tab or Window
114
114
 
115
+ #XBUT, 100: Context menu item for sharing table lineitem in SAP Collaboration Manager
116
+ ST_SHARE_TO_COLLABORATION_MANAGER=Share to SAP Collaboration Manager
117
+
118
+ # XMSG,150: User selects too many records and tries to share them to SAP Collaboration Manager through table context menu
119
+ T_TABLE_SHARE_TO_COLLABORATION_MANAGER_TOO_MANY_ITEMS_SELECTED=You can only share {0} item at the same time.
120
+
115
121
  #XTIT: messagebox title for warning in message view
116
122
  ST_MESSAGES_DIALOG_TITLE_WARNING=Warning
117
123
 
@@ -215,16 +221,16 @@ RATING_INDICATOR_AGGREGATE_COUNT=({0})
215
221
  #----------Error Handling Messages-------------------------------------------
216
222
 
217
223
  #YMSG, 30: User not authenticated message (HTTP status code: 400)
218
- ST_GENERIC_BAD_REQUEST=No data found.
224
+ ST_GENERIC_BAD_REQUEST=No data found
219
225
 
220
226
  #YMSG, 50: User not authenticated message (HTTP status code: 401)
221
- ST_GENERIC_ERROR_AUTHENTICATED_FAILED=Authentication failed.
227
+ ST_GENERIC_ERROR_AUTHENTICATED_FAILED=Authentication failed
222
228
 
223
229
  #YMSG, 100: User not authenticated message description (HTTP status code: 401)
224
230
  ST_GENERIC_ERROR_AUTHENTICATED_FAILED_DESC=The credentials you used to sign in are invalid.
225
231
 
226
232
  #YMSG, 40: User not authorized message (HTTP status code: 403)
227
- ST_GENERIC_ERROR_NOT_AUTORIZED=No authorization.
233
+ ST_GENERIC_ERROR_NOT_AUTORIZED=No authorization
228
234
 
229
235
  #YMSG, 100: User not authorized message description (HTTP status code: 401)
230
236
  ST_GENERIC_ERROR_NOT_AUTORIZED_DESC=You don't have authorization to view this data.
@@ -358,7 +364,7 @@ ST_GENERIC_DELETE_REMAINING_UNSAVED_CHANGES=The remaining object has unsaved cha
358
364
  ST_GENERIC_DELETE_REMAINING_UNSAVED_CHANGES_PLURAL=The remaining objects have unsaved changes by other users. \n\nDo you still want to delete them?
359
365
 
360
366
  #YMSG, 40: Delete success message. "objects" to be redefined.
361
- ST_GENERIC_DELETE_SUCCESS_PLURAL=Objects were deleted.
367
+ ST_GENERIC_DELETE_SUCCESS_PLURAL=Objects were deleted
362
368
 
363
369
  #YMSG, 60: Delete error message. "objects" to be redefined.
364
370
  ST_GENERIC_DELETE_ERROR=The selected object cannot be deleted.
@@ -375,7 +381,7 @@ DELETE_WITH_OBJECTINFO=Delete this object ({1} {2})?
375
381
  DELETE_WITH_OBJECTTITLE=Delete Object {0}?
376
382
 
377
383
  #XMSG: Message box text after successfully deleting an object or sub-item. "object" to be redefined.
378
- ST_GENERIC_OBJECT_DELETED=Object was deleted.
384
+ ST_GENERIC_OBJECT_DELETED=Object was deleted
379
385
 
380
386
  #--- d) Texts that are relevant for the list report, and the object page of the root object
381
387
 
@@ -395,7 +401,7 @@ ST_NAV_ERROR_NOT_AUTHORIZED_DESC=Navigation to this application is not supported
395
401
  NEW_OBJECT=Unnamed Object
396
402
 
397
403
  # XFLD,40: used in object page table when no items available in and no filter applied.
398
- NOITEMS_SMARTTABLE=No items available.
404
+ NOITEMS_SMARTTABLE=No items available
399
405
 
400
406
  # XFLD,100: used in object page table when no items available in and filters applied.
401
407
  NOITEMS_SMARTTABLE_WITH_FILTER=No items available. Try adjusting the search or filter parameters.
@@ -404,7 +410,7 @@ NOITEMS_SMARTTABLE_WITH_FILTER=No items available. Try adjusting the search or f
404
410
  NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON=There are no items for the selected filter criteria and table view.
405
411
 
406
412
  # XFLD,30: used in object page chart when no data found in and no filter applied.
407
- NOITEMS_SMARTCHART=No data found.
413
+ NOITEMS_SMARTCHART=No data found
408
414
 
409
415
  # XFLD,100: used in list report page chart when no data found in.
410
416
  NOITEMS_LR_SMARTCHART=There is no data for the selected filter criteria and chart view.
@@ -416,7 +422,7 @@ NOITEMS_SMARTCHART_WITH_FILTER=No data found. Try adjusting the filter parameter
416
422
  SMARTCHART_INITIAL_NODATA=To start, set the relevant filters and choose "Go".
417
423
 
418
424
  # XFLD,30: used in list report page table when no data found in and no filter applied.
419
- NOITEMS_LR_SMARTTABLE=No data found.
425
+ NOITEMS_LR_SMARTTABLE=No data found
420
426
 
421
427
  # XFLD,100: used in list report page table when no data found in and filters applied.
422
428
  NOITEMS_LR_SMARTTABLE_WITH_FILTER=No data found. Try adjusting the search or filter criteria.
@@ -332,6 +332,8 @@ RTA_CONFIGURATION_TITLE_TABLE=\u062A\u0643\u0648\u064A\u0646 \u0627\u0644\u062C\
332
332
 
333
333
  RTA_CONFIGURATION_TITLE_LIST_REPORT=\u062A\u0643\u0648\u064A\u0646 \u062A\u0642\u0631\u064A\u0631 \u0627\u0644\u0642\u0627\u0626\u0645\u0629
334
334
 
335
+ RTA_CONFIGURATION_TITLE_ANALYTICAL_LIST_PAGE=\u062A\u0643\u0648\u064A\u0646 \u0635\u0641\u062D\u0629 \u0627\u0644\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062A\u062D\u0644\u064A\u0644\u064A\u0629
336
+
335
337
  RTA_CONFIGURATION_TITLE_FILTER_BAR=\u062A\u0643\u0648\u064A\u0646 \u0634\u0631\u064A\u0637 \u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629
336
338
 
337
339
  RTA_CONFIGURATION_TITLE_OBJECT_PAGE=\u062A\u0643\u0648\u064A\u0646 \u0635\u0641\u062D\u0629 \u0627\u0644\u0643\u0627\u0626\u0646
@@ -89,7 +89,7 @@ ST_MESSAGE_GENERAL_TITLE=\u041E\u0431\u0449\u043E
89
89
 
90
90
  LOCKED_OBJECT_POPOVER_TITLE=\u0417\u0430\u043A\u043B\u044E\u0447\u0435\u043D
91
91
 
92
- PARAMETER_COMBINATION_NOT_SUPPORTED=\u041A\u043E\u043C\u0431\u0438\u043D\u0430\u0446\u0438\u044F\u0442\u0430 \u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438 \u043D\u0435 \u0441\u0435 \u043F\u043E\u0434\u0434\u044A\u0440\u0436\u0430\:\n Mode\: {0}\n preferredMode\: {1}
92
+ PARAMETER_COMBINATION_NOT_SUPPORTED=\u041D\u0435 \u0441\u0435 \u043F\u043E\u0434\u0434\u044A\u0440\u0436\u0430 \u043A\u043E\u043C\u0431\u0438\u043D\u0430\u0446\u0438\u044F\u0442\u0430 \u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438\:\n \u0420\u0435\u0436\u0438\u043C\: {0}\n \u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u043D \u0440\u0435\u0436\u0438\u043C\: {1}
93
93
 
94
94
  ST_NAV_ERROR_TARGET_ENTITYSET_IS_MISSING=\u0426\u0435\u043B\u0435\u0432\u0438 \u043D\u0430\u0431\u043E\u0440 \u0432\u0435\u043B\u0438\u0447\u0438\u043D\u0438 {0} \u043B\u0438\u043F\u0441\u0432\u0430.
95
95
 
@@ -249,7 +249,7 @@ ST_GENERIC_LOCKED_OBJECT_POPOVER_TEXT=\u0412 \u043C\u043E\u043C\u0435\u043D\u044
249
249
 
250
250
  ST_GENERIC_UNSAVED_OBJECT_POPOVER_TEXT=\u0422\u043E\u0437\u0438 \u043E\u0431\u0435\u043A\u0442 \u0438\u043C\u0430 \u043D\u0435\u0437\u0430\u043F\u0430\u0437\u0435\u043D\u0438 \u043F\u0440\u043E\u043C\u0435\u043D\u0438 \u043E\u0442 {0}.
251
251
 
252
- DRAFT_LOCK_EXPIRED=\u0414\u0440\u0443\u0433 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B \u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u043B \u043E\u0431\u0435\u043A\u0442\u0430, \u0431\u0435\u0437 \u0434\u0430 \u0437\u0430\u043F\u0430\u0437\u0438 \u043F\u0440\u043E\u043C\u0435\u043D\u0438\u0442\u0435\:\n\n{0} \n\n\u0410\u043A\u043E \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435, \u043F\u0440\u043E\u043C\u0435\u043D\u0438\u0442\u0435 \u0449\u0435 \u0431\u044A\u0434\u0430\u0442 \u0438\u0437\u0433\u0443\u0431\u0435\u043D\u0438.
252
+ DRAFT_LOCK_EXPIRED=\u0414\u0440\u0443\u0433 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B \u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u043B \u043E\u0431\u0435\u043A\u0442\u0430, \u0431\u0435\u0437 \u0434\u0430 \u0437\u0430\u043F\u0430\u0437\u0438 \u043F\u0440\u043E\u043C\u0435\u043D\u0438\u0442\u0435\:\n\n {0} \n\n \u0410\u043A\u043E \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435, \u043F\u0440\u043E\u043C\u0435\u043D\u0438\u0442\u0435 \u0449\u0435 \u0431\u044A\u0434\u0430\u0442 \u0438\u0437\u0433\u0443\u0431\u0435\u043D\u0438.
253
253
 
254
254
  ST_NAV_ERROR_NOT_AUTHORIZED_DESC=\u041D\u0430\u0432\u0438\u0433\u0438\u0440\u0430\u043D\u0435 \u0434\u043E \u0442\u043E\u0432\u0430 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0441\u0435 \u043F\u043E\u0434\u0434\u044A\u0440\u0436\u0430.
255
255
 
@@ -332,6 +332,8 @@ RTA_CONFIGURATION_TITLE_TABLE=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u
332
332
 
333
333
  RTA_CONFIGURATION_TITLE_LIST_REPORT=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u043E\u0442\u0447\u0435\u0442 \u0437\u0430 \u0441\u043F\u0438\u0441\u044A\u043A
334
334
 
335
+ RTA_CONFIGURATION_TITLE_ANALYTICAL_LIST_PAGE=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043D\u0430 \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u0447\u0435\u043D \u0441\u043F\u0438\u0441\u044A\u043A
336
+
335
337
  RTA_CONFIGURATION_TITLE_FILTER_BAR=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u043B\u0435\u043D\u0442\u0430 \u0437\u0430 \u0444\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u043D\u0435
336
338
 
337
339
  RTA_CONFIGURATION_TITLE_OBJECT_PAGE=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0437\u0430 \u043E\u0431\u0435\u043A\u0442
@@ -89,7 +89,7 @@ ST_MESSAGE_GENERAL_TITLE=General
89
89
 
90
90
  LOCKED_OBJECT_POPOVER_TITLE=Bloquejat
91
91
 
92
- PARAMETER_COMBINATION_NOT_SUPPORTED=No s''admet la combinaci\u00F3 de par\u00E0metres\:\n Mode\: {0}\n preferredMode\: {1}
92
+ PARAMETER_COMBINATION_NOT_SUPPORTED=No s''admet la combinaci\u00F3 de par\u00E0metres\:\n Mode\: {0}\n Mode preferit\: {1}
93
93
 
94
94
  ST_NAV_ERROR_TARGET_ENTITYSET_IS_MISSING=Falta el conjunt d''entitats de destinaci\u00F3 {0}.
95
95
 
@@ -249,7 +249,7 @@ ST_GENERIC_LOCKED_OBJECT_POPOVER_TEXT=En aquest moment no podeu editar aquest ob
249
249
 
250
250
  ST_GENERIC_UNSAVED_OBJECT_POPOVER_TEXT=Aquest objecte cont\u00E9 modificacions no desades de {0}.
251
251
 
252
- DRAFT_LOCK_EXPIRED=Hi ha alt.usuar.q.han edit.aq.obj.sense desar les modif\:\n\n {0} \n\n Si tran.obj., totes mod.es perd.
252
+ DRAFT_LOCK_EXPIRED=Hi ha altres usuaris que han tractat aquest objecte sense desar les modificacions\:\n\n {0} \n\n Si transferiu l''objecte, totes les modificacions es perdran.
253
253
 
254
254
  ST_NAV_ERROR_NOT_AUTHORIZED_DESC=No s'admet la navegaci\u00F3 a aquesta aplicaci\u00F3
255
255
 
@@ -332,6 +332,8 @@ RTA_CONFIGURATION_TITLE_TABLE=Configurar taula
332
332
 
333
333
  RTA_CONFIGURATION_TITLE_LIST_REPORT=Configurar informe de llista
334
334
 
335
+ RTA_CONFIGURATION_TITLE_ANALYTICAL_LIST_PAGE=Configurar p\u00E0gina de llista anal\u00EDtica
336
+
335
337
  RTA_CONFIGURATION_TITLE_FILTER_BAR=Configurar la barra de filtres
336
338
 
337
339
  RTA_CONFIGURATION_TITLE_OBJECT_PAGE=Configurar p\u00E0gina d'objecte
@@ -249,7 +249,7 @@ ST_GENERIC_LOCKED_OBJECT_POPOVER_TEXT=Trenutno ne mo\u017Eete urediti ovaj objek
249
249
 
250
250
  ST_GENERIC_UNSAVED_OBJECT_POPOVER_TEXT=Ovaj objekat sadr\u017Ei nesa\u010Duvane promjene koje je izvr\u0161io {0}.
251
251
 
252
- DRAFT_LOCK_EXPIRED=Drugi kor.je uredio ovaj obj.bez snim.prom.\:\n\n {0} \n\n Ako vi preuzm., sve prom.\u0107e biti izgubljene.
252
+ DRAFT_LOCK_EXPIRED=Drugi korisnik je uredio ovaj objekat bez snimanja promjena\:\n\n {0} \n\n Ako vi preuzmete, sve promjene \u0107e biti izgubljene.
253
253
 
254
254
  ST_NAV_ERROR_NOT_AUTHORIZED_DESC=Usmjeravanje na ovu aplikaciju nije podr\u017Eano.
255
255
 
@@ -332,6 +332,8 @@ RTA_CONFIGURATION_TITLE_TABLE=Konfiguri\u0161i tabelu
332
332
 
333
333
  RTA_CONFIGURATION_TITLE_LIST_REPORT=Konfiguri\u0161i izvje\u0161taj liste
334
334
 
335
+ RTA_CONFIGURATION_TITLE_ANALYTICAL_LIST_PAGE=Konfiguri\u0161i stranicu analiti\u010Dke liste
336
+
335
337
  RTA_CONFIGURATION_TITLE_FILTER_BAR=Konfiguri\u0161i traku filtera
336
338
 
337
339
  RTA_CONFIGURATION_TITLE_OBJECT_PAGE=Konfiguri\u0161i stranicu objekta
@@ -89,7 +89,7 @@ ST_MESSAGE_GENERAL_TITLE=V\u0161eobecn\u00E9
89
89
 
90
90
  LOCKED_OBJECT_POPOVER_TITLE=Blokov\u00E1no
91
91
 
92
- PARAMETER_COMBINATION_NOT_SUPPORTED=Kombinace parametr\u016F nen\u00ED podporov\u00E1na.\n Re\u017Eim\: {0}\n Preferovan\u00FD re\u017Eim\: {1}
92
+ PARAMETER_COMBINATION_NOT_SUPPORTED=Kombinace parametr\u016F nen\u00ED podporov\u00E1na\:\n Re\u017Eim\: {0}\n Preferovan\u00FD re\u017Eim\: {1}
93
93
 
94
94
  ST_NAV_ERROR_TARGET_ENTITYSET_IS_MISSING=Chyb\u00ED c\u00EDlov\u00E1 mno\u017Eina entit {0}.
95
95
 
@@ -332,6 +332,8 @@ RTA_CONFIGURATION_TITLE_TABLE=Konfigurovat tabulku
332
332
 
333
333
  RTA_CONFIGURATION_TITLE_LIST_REPORT=Konfigurovat v\u00FDkaz seznamu
334
334
 
335
+ RTA_CONFIGURATION_TITLE_ANALYTICAL_LIST_PAGE=Konfigurovat analytickou str\u00E1nku seznamu
336
+
335
337
  RTA_CONFIGURATION_TITLE_FILTER_BAR=Konfigurovat panel filtrov\u00E1n\u00ED
336
338
 
337
339
  RTA_CONFIGURATION_TITLE_OBJECT_PAGE=Konfigurovat str\u00E1nku objektu