@sapui5/sap.fe.macros 1.142.0 → 1.142.1

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 (69) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/Field.js +5 -5
  4. package/src/sap/fe/macros/Field.ts +5 -3
  5. package/src/sap/fe/macros/FooterContent.js +3 -2
  6. package/src/sap/fe/macros/FooterContent.tsx +2 -10
  7. package/src/sap/fe/macros/MessageButton.js +3 -3
  8. package/src/sap/fe/macros/MessageButton.tsx +3 -2
  9. package/src/sap/fe/macros/Page.js +8 -4
  10. package/src/sap/fe/macros/Page.tsx +13 -4
  11. package/src/sap/fe/macros/RichTextEditor.js +12 -14
  12. package/src/sap/fe/macros/RichTextEditor.tsx +10 -13
  13. package/src/sap/fe/macros/ai/EasyFillDialog.js +2 -1
  14. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +1 -0
  15. package/src/sap/fe/macros/ai/SummarizationButton.js +6 -4
  16. package/src/sap/fe/macros/ai/SummarizationButton.tsx +5 -3
  17. package/src/sap/fe/macros/chart/Action.js +19 -7
  18. package/src/sap/fe/macros/chart/Action.ts +8 -0
  19. package/src/sap/fe/macros/chart/ChartDelegate.js +13 -2
  20. package/src/sap/fe/macros/chart/ChartDelegate.ts +20 -1
  21. package/src/sap/fe/macros/chart/MdcChartTemplate.js +8 -6
  22. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +13 -22
  23. package/src/sap/fe/macros/controls/FilterBar.js +1 -1
  24. package/src/sap/fe/macros/controls/FilterBar.ts +8 -1
  25. package/src/sap/fe/macros/controls/TextLink.js +15 -1
  26. package/src/sap/fe/macros/controls/TextLink.tsx +19 -0
  27. package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +23 -18
  28. package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +27 -25
  29. package/src/sap/fe/macros/field/FieldRuntimeHelper.js +4 -2
  30. package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +7 -7
  31. package/src/sap/fe/macros/field/FieldTemplating.js +8 -3
  32. package/src/sap/fe/macros/field/FieldTemplating.ts +7 -2
  33. package/src/sap/fe/macros/filterBar/FilterBar.block.js +10 -1
  34. package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +10 -0
  35. package/src/sap/fe/macros/form/FormContainer.block.js +9 -8
  36. package/src/sap/fe/macros/form/FormContainer.block.ts +10 -7
  37. package/src/sap/fe/macros/internal/field/EditStyle.js +11 -6
  38. package/src/sap/fe/macros/internal/field/EditStyle.tsx +7 -3
  39. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +36 -7
  40. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +35 -6
  41. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.js +54 -1
  42. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.ts +59 -0
  43. package/src/sap/fe/macros/library.js +5 -6
  44. package/src/sap/fe/macros/{library.ts → library.tsx} +1 -1
  45. package/src/sap/fe/macros/messagebundle.properties +6 -0
  46. package/src/sap/fe/macros/messages/MessageButton.js +21 -12
  47. package/src/sap/fe/macros/messages/MessageButton.ts +21 -11
  48. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +4 -3
  49. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +5 -2
  50. package/src/sap/fe/macros/quickView/QuickView.js +5 -4
  51. package/src/sap/fe/macros/quickView/QuickView.tsx +10 -3
  52. package/src/sap/fe/macros/table/ActionsTemplating.js +6 -5
  53. package/src/sap/fe/macros/table/ActionsTemplating.tsx +4 -4
  54. package/src/sap/fe/macros/table/MdcTableTemplate.js +27 -10
  55. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +31 -4
  56. package/src/sap/fe/macros/table/Table.block.js +3 -1
  57. package/src/sap/fe/macros/table/Table.block.tsx +7 -4
  58. package/src/sap/fe/macros/table/TableAPI.js +49 -28
  59. package/src/sap/fe/macros/table/TableAPI.ts +58 -32
  60. package/src/sap/fe/macros/table/TableEventHandlerProvider.js +6 -4
  61. package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +6 -3
  62. package/src/sap/fe/macros/table/delegates/TableDelegate.js +3 -3
  63. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +3 -4
  64. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +41 -15
  65. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +41 -22
  66. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +6 -6
  67. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +5 -5
  68. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +5 -3
  69. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +7 -4
@@ -5,6 +5,7 @@ import type {
5
5
  DataField,
6
6
  DataFieldForAction,
7
7
  DataFieldForAnnotation,
8
+ DataFieldTypes,
8
9
  DataPoint,
9
10
  FieldGroup,
10
11
  LineItem,
@@ -90,6 +91,7 @@ import ContextMenuSetting from "sap/m/plugins/ContextMenuSetting";
90
91
  import CopyProvider from "sap/m/plugins/CopyProvider";
91
92
  import DataStateIndicator from "sap/m/plugins/DataStateIndicator";
92
93
  import type Control from "sap/ui/core/Control";
94
+ import type CustomData from "sap/ui/core/CustomData";
93
95
  import type UI5Element from "sap/ui/core/Element";
94
96
  import Library from "sap/ui/core/Lib";
95
97
  import type { TitleLevel } from "sap/ui/core/library";
@@ -852,7 +854,6 @@ function getActionCommand(
852
854
  onExecuteAction: parameters.handlerProvider.getDataFieldForActionButtonPressHandler(
853
855
  dataField as DataFieldForAction,
854
856
  action,
855
- undefined,
856
857
  forContextMenu
857
858
  ),
858
859
  onExecuteIBN: parameters.handlerProvider.getDataFieldForIBNPressHandler(action, false),
@@ -1138,6 +1139,7 @@ function getCreationTemplate(
1138
1139
  * @param tableDefinition The table definition
1139
1140
  * @param column The column definition
1140
1141
  * @param dataFieldContext The data field context
1142
+ * @param dataFieldObjectPath The data field object path
1141
1143
  * @param collection The collection context
1142
1144
  * @param enableAnalytics Whether analytics are enabled
1143
1145
  * @param tableType The type of the table
@@ -1150,6 +1152,7 @@ function getCreationTemplate(
1150
1152
  * @param showEmptyIndicator Whether to show the empty indicator
1151
1153
  * @param className
1152
1154
  * @param handlerProvider The handler provider
1155
+ * @param isConnectedField Indicates if the field is a connected field
1153
1156
  * @returns The XML string representing the field.
1154
1157
  */
1155
1158
  export function getMacroFieldTemplate(
@@ -1157,6 +1160,7 @@ export function getMacroFieldTemplate(
1157
1160
  tableDefinition: TableVisualization,
1158
1161
  column: AnnotationTableColumn,
1159
1162
  dataFieldContext: Context,
1163
+ dataFieldObjectPath: DataModelObjectPath<DataFieldAbstractTypes>,
1160
1164
  collection: Context,
1161
1165
  enableAnalytics: boolean | undefined,
1162
1166
  tableType: TableType,
@@ -1212,6 +1216,19 @@ export function getMacroFieldTemplate(
1212
1216
  isAnalyticalAggregatedRow: tableDefinition.control.analyticalConfiguration?.aggregationOnLeafLevel,
1213
1217
  reactiveAreaMode: reactiveAreaMode
1214
1218
  };
1219
+ let customData: CustomData | undefined;
1220
+
1221
+ // In case we display a property with TextOnly text arragement in a non-analytical table, we still load the original property (using custom data)
1222
+ // to make sure intent-based navigation can use the value of the original property an not just its text representation.
1223
+ // For analytical tables, this is done by adding the original property as a context-defining property for the text property in the table converter (getExtensionInfoFromEntityType)
1224
+ if (
1225
+ tableDefinition.enableAnalytics !== true &&
1226
+ (
1227
+ dataFieldObjectPath.targetObject as DataFieldTypes | undefined
1228
+ )?.Value?.$target?.annotations?.Common?.Text?.annotations?.UI?.TextArrangement?.valueOf() === "UI.TextArrangementType/TextOnly"
1229
+ ) {
1230
+ customData = createCustomData("extraProperty", `{${(dataFieldObjectPath.targetObject as DataFieldTypes).Value.path}}`);
1231
+ }
1215
1232
  return (
1216
1233
  <Field
1217
1234
  vhIdPrefix={generate([tableId, "TableValueHelp"])}
@@ -1228,7 +1245,8 @@ export function getMacroFieldTemplate(
1228
1245
  disableStrictHandling={column.disableStrictHandling}
1229
1246
  >
1230
1247
  {{
1231
- formatOptions: <FieldFormatOptions {...formatOptions} />
1248
+ formatOptions: <FieldFormatOptions {...formatOptions} />,
1249
+ customData
1232
1250
  }}
1233
1251
  </Field>
1234
1252
  );
@@ -1332,7 +1350,7 @@ function getColumnContentTemplate(
1332
1350
  .createBindingContext(dataFieldContext.getPath() + "/Target/$AnnotationPath/Data");
1333
1351
  const fieldGroupCollectionLength = fieldGroup.Data.length - 1;
1334
1352
 
1335
- const items = fieldGroup.Data.map((fieldGroupDataField: DataFieldAbstractTypes, fieldGroupDataFieldIdx: number) => {
1353
+ const items = fieldGroup.Data.map((_fieldGroupDataField: DataFieldAbstractTypes, fieldGroupDataFieldIdx: number) => {
1336
1354
  const fieldGroupDataFieldContext = dataFieldCollectionContext
1337
1355
  .getModel()
1338
1356
  .createBindingContext(dataFieldCollectionContext.getPath() + "/" + fieldGroupDataFieldIdx);
@@ -1363,6 +1381,7 @@ function getColumnContentTemplate(
1363
1381
  tableDefinition,
1364
1382
  column,
1365
1383
  fieldGroupDataFieldContext,
1384
+ fieldGroupDataFieldOP,
1366
1385
  collection,
1367
1386
  enableAnalytics,
1368
1387
  tableType,
@@ -1392,6 +1411,7 @@ function getColumnContentTemplate(
1392
1411
  tableDefinition,
1393
1412
  column,
1394
1413
  fieldGroupDataFieldContext,
1414
+ fieldGroupDataFieldOP,
1395
1415
  collection,
1396
1416
  enableAnalytics,
1397
1417
  tableType,
@@ -1447,11 +1467,13 @@ function getColumnContentTemplate(
1447
1467
  const connectedFieldsElementContext = dataFieldContext
1448
1468
  .getModel()
1449
1469
  .createBindingContext(`${connectedFieldsContext.getPath()}/${(connectedFieldsElement as DataField)?.Value?.path}`);
1470
+ const connectedFieldsElementOP = getInvolvedDataModelObjects<DataFieldAbstractTypes>(connectedFieldsElementContext);
1450
1471
  const fieldTemplate = getMacroFieldTemplate(
1451
1472
  tableId,
1452
1473
  tableDefinition,
1453
1474
  column,
1454
1475
  connectedFieldsElementContext,
1476
+ connectedFieldsElementOP,
1455
1477
  collection,
1456
1478
  enableAnalytics,
1457
1479
  tableType,
@@ -1548,6 +1570,7 @@ function getColumnContentTemplate(
1548
1570
  tableDefinition,
1549
1571
  column,
1550
1572
  dataFieldContext,
1573
+ dataFieldOP,
1551
1574
  collection,
1552
1575
  enableAnalytics,
1553
1576
  tableType,
@@ -1854,7 +1877,10 @@ export function getMDCTableTemplate(tableProperties: TableBlockProperties, param
1854
1877
  { key: "updatablePropertyPath", value: updatablePropertyPath || "" },
1855
1878
  { key: "exportRequestSize", value: tableProperties.tableDefinition.control.exportRequestSize }
1856
1879
  ];
1857
-
1880
+ let rowPressHandler;
1881
+ if (tableType === "ResponsiveTable") {
1882
+ rowPressHandler = parameters.handlerProvider.rowPress ? parameters.handlerProvider.noop : undefined;
1883
+ }
1858
1884
  return (
1859
1885
  <MDCTable
1860
1886
  core:require={getCoreRequire(tableProperties.tableDefinition)}
@@ -1867,6 +1893,7 @@ export function getMDCTableTemplate(tableProperties: TableBlockProperties, param
1867
1893
  busyIndicatorDelay={0}
1868
1894
  enableExport={tableProperties.tableDefinition.control.enableExport}
1869
1895
  delegate={JSON.parse(delegate)}
1896
+ rowPress={rowPressHandler}
1870
1897
  beforeOpenContextMenu={parameters.handlerProvider.beforeOpenContextMenu}
1871
1898
  autoBindOnInit={tableProperties.useBasicSearch || !tableProperties.filterBar}
1872
1899
  selectionMode={tableProperties.tableDefinition.annotation.selectionMode || "None"}