@sapui5/sap.suite.ui.generic.template 1.148.0 → 1.148.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 (81) 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_fr_CA.properties +2 -2
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
  5. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
  6. package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +6 -3
  7. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr.properties +1 -1
  8. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
  9. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
  10. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Actions.fragment.xml +13 -13
  11. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  12. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  13. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartFilterBarWrapper.js +20 -1
  14. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -1
  15. package/src/sap/suite/ui/generic/template/lib/CRUDManager.js +0 -7
  16. package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +57 -6
  17. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillAIOrchestrator.js +216 -0
  18. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillApplyHandler.js +325 -0
  19. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillDialogController.js +358 -0
  20. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillFieldCollector.js +848 -0
  21. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillFormRenderer.js +292 -0
  22. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillHandler.js +652 -1071
  23. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillTableRenderer.js +940 -0
  24. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillDialog.fragment.xml +41 -26
  25. package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +90 -73
  26. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +35 -8
  27. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +29 -7
  28. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +29 -7
  29. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +29 -7
  30. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +29 -7
  31. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +29 -7
  32. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +29 -7
  33. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +29 -7
  34. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +29 -7
  35. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +29 -7
  36. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +29 -7
  37. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +29 -7
  38. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +29 -7
  39. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +29 -7
  40. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +29 -7
  41. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +29 -7
  42. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +29 -7
  43. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +30 -8
  44. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +31 -9
  45. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +29 -7
  46. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +30 -8
  47. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +29 -7
  48. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +29 -7
  49. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +29 -7
  50. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +29 -7
  51. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +29 -7
  52. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +29 -7
  53. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +29 -7
  54. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +29 -7
  55. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +29 -7
  56. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +29 -7
  57. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +29 -7
  58. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +30 -8
  59. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +29 -7
  60. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +29 -7
  61. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +29 -7
  62. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +29 -7
  63. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +29 -7
  64. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +29 -7
  65. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +29 -7
  66. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +29 -7
  67. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +29 -7
  68. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +29 -7
  69. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +29 -7
  70. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +29 -7
  71. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +29 -7
  72. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +29 -7
  73. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +29 -7
  74. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +29 -7
  75. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +29 -7
  76. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +1 -1
  77. package/src/sap/suite/ui/generic/template/library.js +1 -1
  78. package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +30 -4
  79. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/ObjectPageSectionHandler.js +0 -282
  80. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillNonUpdatableSmartForm.fragment.xml +0 -18
  81. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillUpdatebleSmartForm.fragment.xml +0 -15
@@ -500,11 +500,11 @@ RTA_CONTEXT_MENU_CONFIG=\u914D\u7F6E
500
500
 
501
501
  EASY_FILL_TITLE=\u8F7B\u677E\u586B\u5145
502
502
 
503
- EASY_FILL_FIRST_LABEL_TEXT=\u53EF\u4EE5\u4F7F\u7528\u8F7B\u677E\u586B\u5145\u540C\u65F6\u586B\u5145\u591A\u4E2A\u5B57\u6BB5\u3002
503
+ EASY_FILL_FIRST_LABEL_TEXT=\u53EF\u4EE5\u4F7F\u7528\u8F7B\u677E\u586B\u5145\u529F\u80FD\u4EE5\u81EA\u7136\u8BED\u8A00\u540C\u65F6\u586B\u5145\u591A\u4E2A\u5B57\u6BB5\u3002
504
504
 
505
- EASY_FILL_SECOND_LABEL_TEXT=\u53EF\u4EE5\u4F7F\u7528\u8BF8\u5982\u7535\u5B50\u8868\u683C\u3001\u6CE8\u91CA\u548C\u7535\u5B50\u90AE\u4EF6\u7B49\u6570\u636E\u6E90\u586B\u5145\u5B57\u6BB5\uFF0C\u4E5F\u53EF\u6E05\u6670\u63CF\u8FF0\u8981\u586B\u5199\u7684\u4FE1\u606F\uFF0C\u7136\u540E\u9009\u62E9\u201C\u8F7B\u677E\u586B\u5145\u201D\u3002
505
+ EASY_FILL_SECOND_LABEL_TEXT=\u63D0\u4F9B\u4EFB\u4F55\u6709\u52A9\u4E8E AI \u586B\u5145\u76F8\u5E94\u5B57\u6BB5\u7684\u4FE1\u606F\u3002\u8FD8\u53EF\u4EE5\u4E0A\u8F7D\u5305\u542B\u76F8\u5173\u4FE1\u606F\u7684\u6587\u4EF6\u3002
506
506
 
507
- EASY_FILL_TEXTAREA_PLACEHOLDER=\u4F7F\u7528\u6570\u636E\u6E90\u6216\u76F4\u63A5\u952E\u5165\u6765\u63D0\u4F9B\u6240\u9700\u4FE1\u606F
507
+ EASY_FILL_TEXTAREA_PLACEHOLDER=\u63D0\u4F9B\u4EFB\u4F55\u6709\u52A9\u4E8E AI \u586B\u5145\u76F8\u5E94\u5B57\u6BB5\u7684\u4FE1\u606F\u3002\u8BF7\u6CE8\u610F\uFF0CAI \u53EA\u80FD\u534F\u52A9\u5904\u7406\u53EF\u89C1\u5B57\u6BB5\u548C\u884C\u3002
508
508
 
509
509
  EASY_FILL_ILLUSTRATION_TITLE_INITIAL=\u8BA9\u6211\u4EEC\u6765\u586B\u5199\u4E00\u4E9B\u5B57\u6BB5
510
510
 
@@ -520,9 +520,7 @@ EASY_FILL_ILLUSTRATION_DESCRIPTION_ERROR=\u4F3C\u4E4E\u51FA\u73B0\u9519\u8BEF\u3
520
520
 
521
521
  EASY_FILL_CONFIRM=\u786E\u8BA4
522
522
 
523
- AI_LINK_NOTICE_TITLE=\u4F7F\u7528 AI \u521B\u5EFA\u3002
524
-
525
- AI_WARNING_TEXT=\u5728\u4F7F\u7528\u524D\u5BF9\u7ED3\u679C\u8FDB\u884C\u68C0\u9A8C\u3002
523
+ AI_LINK_NOTICE_TITLE=\u4F7F\u7528 AI \u521B\u5EFA\u3002\u4F7F\u7528\u524D\u5BF9\u7ED3\u679C\u8FDB\u884C\u68C0\u9A8C\u3002
526
524
 
527
525
  EASY_FILL_FILLED_FIELDS=\u5DF2\u586B\u5145\u5B57\u6BB5
528
526
 
@@ -534,7 +532,7 @@ EASY_FILL_PROPOSED_VALUES=\u5EFA\u8BAE\u503C
534
532
 
535
533
  EASY_FILL_PREVIOUS_VALUES=\u5148\u524D\u503C
536
534
 
537
- EASY_FILL_POPOVER_AI_TEXT_1=\u5185\u5BB9\u90E8\u5206\u6216\u5168\u90E8\u7531\u4EBA\u5DE5\u667A\u80FD (AI) \u6280\u672F\u751F\u6210\u3002
535
+ EASY_FILL_POPOVER_AI_TEXT_1=\u5185\u5BB9\u90E8\u5206\u6216\u5168\u90E8\u7531 AI \u751F\u6210\u3002
538
536
 
539
537
  EASY_FILL_POPOVER_AI_TEXT_2=\u7531\u4E8E\u4F7F\u7528\u4E86\u591A\u4E2A\u4FE1\u606F\u6E90\uFF0CAI \u751F\u6210\u7684\u5185\u5BB9\u53EF\u80FD\u6709\u4E0D\u51C6\u786E\u4E4B\u5904\u3002\u4F7F\u7528\u524D\u5BF9\u7ED3\u679C\u8FDB\u884C\u68C0\u9A8C\u3002
540
538
 
@@ -543,3 +541,27 @@ EASY_FILL_POPOVER_AI_TITLE=\u4F7F\u7528 AI \u521B\u5EFA
543
541
  EASYFILL_RESULT_FEEDBACK=\u53CD\u9988\u5DF2\u53D1\u9001
544
542
 
545
543
  EASYFILL_CLEAR_ALL=\u5220\u9664\u67E5\u8BE2
544
+
545
+ EASY_FILL_TABLE_UPDATES_INFO=\u68C0\u6D4B\u5230\u8868\u884C\u66F4\u65B0\uFF0C\u5C06\u5728\u786E\u8BA4\u65F6\u4E88\u4EE5\u5E94\u7528\u3002
546
+
547
+ EASY_FILL_TABLE_VIEW_PREVIOUS=\u5148\u524D
548
+
549
+ EASY_FILL_TABLE_VIEW_NEW=\u65B0
550
+
551
+ EASYFILL_TABLE_READONLY_TAG=\u672A\u586B\u5145\u7A81\u51FA\u663E\u793A\u7684\u5B57\u6BB5
552
+
553
+ EASY_FILL_TABLE_ROW_LABEL=\u884C {0}
554
+
555
+ EASY_FILL_TABLE_VALIDATION_MESSAGE=\u67D0\u4E9B\u8868\u503C\u5BF9\u503C\u5E2E\u52A9\u65E0\u6548\uFF1A{0}\u3002\u66F4\u65B0\u8BF7\u6C42\u5E76\u91CD\u8BD5\u3002
556
+
557
+ EASY_FILL_TABLE_INVALID_CELL_SUFFIX=\uFF08\u65E0\u6548\uFF09
558
+
559
+ EASY_FILL_SECTION_HEADER=\u62AC\u5934
560
+
561
+ EASY_FILL_CONDENSED_VIEW_TOOLTIP=\u5207\u6362\u5230\u7CBE\u7B80\u5E03\u5C40
562
+
563
+ EASY_FILL_DETAILED_VIEW_TOOLTIP=\u5207\u6362\u5230\u5BF9\u8C61\u9875\u9762\u5E03\u5C40
564
+
565
+ EASY_FILL_ENTER_FULL_SCREEN_TOOLTIP=\u6700\u5927\u5316\u5DF2\u586B\u5145\u5B57\u6BB5\u9762\u677F
566
+
567
+ EASY_FILL_EXIT_FULL_SCREEN_TOOLTIP=\u6700\u5C0F\u5316\u5DF2\u586B\u5145\u5B57\u6BB5\u9762\u677F
@@ -500,11 +500,11 @@ RTA_CONTEXT_MENU_CONFIG=\u7D44\u614B
500
500
 
501
501
  EASY_FILL_TITLE=\u7C21\u6613\u586B\u5165
502
502
 
503
- EASY_FILL_FIRST_LABEL_TEXT=\u60A8\u53EF\u4F7F\u7528 [\u7C21\u6613\u586B\u5165] \u4EE5\u540C\u6642\u586B\u5165\u591A\u500B\u6B04\u4F4D\u3002
503
+ EASY_FILL_FIRST_LABEL_TEXT=\u60A8\u53EF\u904B\u7528 [\u7C21\u6613\u586B\u5165] \u529F\u80FD\u4EE5\u4F7F\u7528\u81EA\u7136\u8A9E\u8A00\u540C\u6642\u586B\u5165\u591A\u500B\u6B04\u4F4D\u3002
504
504
 
505
- EASY_FILL_SECOND_LABEL_TEXT=\u60A8\u53EF\u4F7F\u7528\u8A66\u7B97\u8868\u3001\u8A3B\u8A18\u548C\u96FB\u5B50\u90F5\u4EF6\u7B49\u8CC7\u6599\u4F86\u6E90\u586B\u5165\u6B04\u4F4D\uFF0C\u6216\u662F\u6E05\u695A\u8AAA\u660E\u60A8\u8981\u586B\u5165\u7684\u8CC7\u8A0A\uFF0C\u7136\u5F8C\u9078\u64C7 [\u7C21\u6613\u586B\u5165]\u3002
505
+ EASY_FILL_SECOND_LABEL_TEXT=\u63D0\u4F9B\u5354\u52A9 AI \u586B\u5165\u9069\u7576\u6B04\u4F4D\u7684\u8CC7\u8A0A\uFF0C\u60A8\u4E5F\u53EF\u4E0A\u50B3\u5305\u542B\u76F8\u95DC\u8CC7\u8A0A\u7684\u6A94\u6848\u3002
506
506
 
507
- EASY_FILL_TEXTAREA_PLACEHOLDER=\u4F7F\u7528\u8CC7\u6599\u4F86\u6E90\u6216\u662F\u900F\u904E\u8F38\u5165\u4F86\u63D0\u4F9B\u6240\u9700\u8CC7\u8A0A
507
+ EASY_FILL_TEXTAREA_PLACEHOLDER=\u63D0\u4F9B\u5354\u52A9 AI \u586B\u5165\u9069\u7576\u6B04\u4F4D\u7684\u8CC7\u8A0A\u3002\u8ACB\u6CE8\u610F\uFF0CAI \u53EA\u80FD\u5354\u52A9\u586B\u5165\u53EF\u770B\u5230\u7684\u6B04\u4F4D\u548C\u5217\u3002
508
508
 
509
509
  EASY_FILL_ILLUSTRATION_TITLE_INITIAL=\u586B\u5165\u90E8\u4EFD\u6B04\u4F4D
510
510
 
@@ -520,9 +520,7 @@ EASY_FILL_ILLUSTRATION_DESCRIPTION_ERROR=\u4F3C\u4E4E\u767C\u751F\u932F\u8AA4\uF
520
520
 
521
521
  EASY_FILL_CONFIRM=\u78BA\u8A8D
522
522
 
523
- AI_LINK_NOTICE_TITLE=\u5DF2\u4F7F\u7528 AI \u5EFA\u7ACB\u3002
524
-
525
- AI_WARNING_TEXT=\u8ACB\u5728\u4F7F\u7528\u7D50\u679C\u524D\u5148\u52A0\u4EE5\u9A57\u8B49\u3002
523
+ AI_LINK_NOTICE_TITLE=\u4F7F\u7528 AI \u5EFA\u7ACB\u3002\u8ACB\u5728\u4F7F\u7528\u7D50\u679C\u524D\u5148\u9A57\u8B49\u3002
526
524
 
527
525
  EASY_FILL_FILLED_FIELDS=\u5DF2\u586B\u5165\u6B04\u4F4D
528
526
 
@@ -534,7 +532,7 @@ EASY_FILL_PROPOSED_VALUES=\u5EFA\u8B70\u503C
534
532
 
535
533
  EASY_FILL_PREVIOUS_VALUES=\u5148\u524D\u503C
536
534
 
537
- EASY_FILL_POPOVER_AI_TEXT_1=\u672C\u5167\u5BB9\u90E8\u4EFD\u6216\u5168\u90E8\u662F\u7531\u4EBA\u5DE5\u667A\u6167 (AI) \u6280\u8853\u7522\u751F\u3002
535
+ EASY_FILL_POPOVER_AI_TEXT_1=\u90E8\u4EFD\u6216\u5168\u90E8\u5167\u5BB9\u5DF2\u7531 AI \u7522\u751F\u3002
538
536
 
539
537
  EASY_FILL_POPOVER_AI_TEXT_2=\u7531\u65BC\u4F7F\u7528\u591A\u500B\u8CC7\u8A0A\u4F86\u6E90\uFF0C\u4EBA\u5DE5\u667A\u6167\u7522\u751F\u7684\u5167\u5BB9\u53EF\u80FD\u5305\u542B\u4E0D\u6E96\u78BA\u7684\u5167\u5BB9\u3002\u4F7F\u7528\u7522\u751F\u7684\u7D50\u679C\u524D\u8ACB\u5148\u52A0\u4EE5\u9A57\u8B49\u3002
540
538
 
@@ -543,3 +541,27 @@ EASY_FILL_POPOVER_AI_TITLE=\u5DF2\u4F7F\u7528 AI \u5EFA\u7ACB
543
541
  EASYFILL_RESULT_FEEDBACK=\u5DF2\u50B3\u9001\u53CD\u994B
544
542
 
545
543
  EASYFILL_CLEAR_ALL=\u522A\u9664\u67E5\u8A62
544
+
545
+ EASY_FILL_TABLE_UPDATES_INFO=\u5DF2\u5075\u6E2C\u5230\u8868\u683C\u5217\u66F4\u65B0\uFF0C\u7576\u60A8\u78BA\u8A8D\u5F8C\u5C07\u6703\u5957\u7528\u3002
546
+
547
+ EASY_FILL_TABLE_VIEW_PREVIOUS=\u4E0A\u4E00\u500B
548
+
549
+ EASY_FILL_TABLE_VIEW_NEW=\u65B0\u589E
550
+
551
+ EASYFILL_TABLE_READONLY_TAG=\u672A\u586B\u5165\u53CD\u767D\u7684\u6B04\u4F4D
552
+
553
+ EASY_FILL_TABLE_ROW_LABEL=\u5217 {0}
554
+
555
+ EASY_FILL_TABLE_VALIDATION_MESSAGE=\u90E8\u4EFD\u8868\u683C\u503C\u4E0D\u9069\u7528\u65BC\u8F38\u5165\u8F14\u52A9\u8AAA\u660E\uFF1A{0}\u3002\u8ACB\u66F4\u65B0\u8ACB\u6C42\u4E26\u518D\u8A66\u4E00\u6B21\u3002
556
+
557
+ EASY_FILL_TABLE_INVALID_CELL_SUFFIX=(\u7121\u6548)
558
+
559
+ EASY_FILL_SECTION_HEADER=\u8868\u982D
560
+
561
+ EASY_FILL_CONDENSED_VIEW_TOOLTIP=\u5207\u63DB\u81F3\u58D3\u7E2E\u914D\u7F6E
562
+
563
+ EASY_FILL_DETAILED_VIEW_TOOLTIP=\u5207\u63DB\u81F3\u7269\u4EF6\u9801\u9762\u914D\u7F6E
564
+
565
+ EASY_FILL_ENTER_FULL_SCREEN_TOOLTIP=\u6700\u5927\u5316\u586B\u5165\u7684\u6B04\u4F4D\u9762\u677F
566
+
567
+ EASY_FILL_EXIT_FULL_SCREEN_TOOLTIP=\u6700\u5C0F\u5316\u586B\u5165\u7684\u6B04\u4F4D\u9762\u677F
@@ -3222,7 +3222,7 @@ sap.ui.define(["sap/ui/base/Object",
3222
3222
  * @param {sap.suite.ui.generic.template.lib.AppComponent} oAppComponent The AppComponent instance
3223
3223
  * @public
3224
3224
  * @extends sap.ui.base.Object
3225
- * @version 1.148.0
3225
+ * @version 1.148.2
3226
3226
  * @since 1.30.0
3227
3227
  * @alias sap.suite.ui.generic.template.lib.NavigationController
3228
3228
  */
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  interfaces: [],
69
69
  controls: [],
70
70
  elements: [],
71
- version: "1.148.0",
71
+ version: "1.148.2",
72
72
  extensions: {
73
73
  //Configuration used for rule loading of Support Assistant
74
74
  "sap.ui.support": {
@@ -413,9 +413,17 @@ html[dir='rtl'] .sapSmartTemplatesObjectPage .sapSmartTemplatesObjectPageSubSect
413
413
 
414
414
  .sapSmartTemplatesObjectPageEasyFillReviewArea {
415
415
  background-color: var(--sapShell_Background);
416
- padding-left: 2rem;
416
+ height: 100%;
417
+
418
+ .sapUiFormCL .sapUiFormCLElement .sapEasyFillPreviouslyLabel {
419
+ min-width: 5rem;
420
+ }
417
421
 
418
- .sapSmartTemplatesObjectPageEasyFillReviewAreaTitleUpdatable {
422
+ .sapUxAPBlockContainer {
423
+ min-width: 20rem;
424
+ }
425
+
426
+ .sapSmartTemplatesObjectPageEasyFillReviewAreaTitleUpdatable {
419
427
  bottom: 1.5rem;
420
428
  }
421
429
 
@@ -458,6 +466,19 @@ html[dir='rtl'] .sapSmartTemplatesObjectPage .sapSmartTemplatesObjectPageSubSect
458
466
  .sapSmartTemplatesObjectPageEasyFillTablePreview {
459
467
  margin-top: 0.5rem;
460
468
  }
469
+
470
+ /* For Easy Fill table uneditable fields, the background style
471
+ --sapField_ReadOnly_BackgroundStyle is applied to display dotted lines for the fields */
472
+ .sapUiEasyFillWarningCell {
473
+ background: var(--sapField_ReadOnly_BackgroundStyle) !important;
474
+ background-color: var(--sapField_WarningBackground) !important;
475
+ }
476
+
477
+ /* For Easy Fill SmartForm read-only fields, keep read-only semantics but show input-like shell */
478
+ .sapUiEasyFillReadOnlyInputLike {
479
+ background: var(--sapField_ReadOnly_BackgroundStyle) !important;
480
+ background-color: var(--sapField_ReadOnly_Background) !important;
481
+ }
461
482
  }
462
483
 
463
484
  .sapMDialogScrollCont {
@@ -467,9 +488,14 @@ html[dir='rtl'] .sapSmartTemplatesObjectPage .sapSmartTemplatesObjectPageSubSect
467
488
  }
468
489
 
469
490
  .sapSmartTemplatesObjectPageEasyFillAINoticePopover {
470
- width: 22.8125rem;
471
-
472
491
  .sapSmartTemplatesObjectPageEasyFillAINotice {
473
492
  padding: 1rem 1rem 0.5rem 1rem;
474
493
  }
494
+ }
495
+
496
+ .sapUxAPObjectPageHeaderContent .sapUxAPObjectPageHeaderContentItem {
497
+ line-height: 2rem;
498
+ .sapMBtn {
499
+ padding-top: 0px;
500
+ }
475
501
  }
@@ -1,282 +0,0 @@
1
- sap.ui.define([
2
- ],function(){
3
- "use strict";
4
- /**
5
- * This class extracts the what sections are present according to the property from the manifest and EntityType and show it in objectpage
6
- * Currently it only supports the default annotations from the ObjectPage, In future we should make sure to add Custom Sections and Reusable Components to integrate in it
7
- * @namespace suite.ui.generic.template.lib.ai.EasyFill.ObjectPageSectionHandler.js
8
- * @private
9
- */
10
- return {
11
- getSectionsForObjectPageView: function (oEntityType,oLLMResult,oRb) {
12
- let aSections = [];
13
- //Extract the Header Information,Section and SubObject table information
14
- aSections = aSections.concat(this.getSectionsForHeader(oEntityType,oRb))
15
- .concat(this.getSectionsForObjectPageFacets(oEntityType));
16
- const aTree = this.transformToTree(aSections,oEntityType);
17
- // return aTree;
18
- return this.filterTreeByLLMResult(aTree,oLLMResult);
19
- },
20
-
21
- getSectionsForCondensedView: function (oLLMResult) {
22
- return this.transformToTreeExpanded(oLLMResult);
23
- },
24
-
25
- getSectionsForObjectPageFacets: function (oEntityType) {
26
- const aSectionFacets = oEntityType["com.sap.vocabularies.UI.v1.Facets"];
27
- if (aSectionFacets && aSectionFacets.length > 0) {
28
- return this.extractFacetInfoRecursively(oEntityType,aSectionFacets,[]);
29
- }
30
- return [];
31
- },
32
-
33
- //We have to write a recursive code, as there might be nested CollectionFacets
34
- extractFacetInfoRecursively: function(oEntityType,aFacets,aTitle) {
35
- let aRes = [];
36
- aFacets.forEach((oFacet) => {
37
- if (oFacet.RecordType === "com.sap.vocabularies.UI.v1.CollectionFacet") {
38
- const aInnerFacets = oFacet.Facets;
39
- if (aInnerFacets && aInnerFacets.length > 0) {
40
- aRes = aRes.concat(this.extractFacetInfoRecursively(oEntityType,aInnerFacets,aTitle.concat(oFacet.Label.String ? oFacet.Label.String : [])));
41
- }
42
- } else {
43
- aRes = aRes.concat(this.extractSectionInfoFromReferenceFacet(oEntityType,[oFacet],aTitle));
44
- }
45
- });
46
- return aRes;
47
- },
48
-
49
- //For HeaderFacets we only have one section and the rest of the fields will be part of it, currently we are not supporting multiple subsections in the header
50
- getSectionsForHeader: function (oEntityType,oRb) {
51
- let aRes = [];
52
- //Fetch the HeaderInfo and HeaderFacets, if not present return empty array, as we will not be able to find any section without it
53
- const oHeaderInfo = oEntityType["com.sap.vocabularies.UI.v1.HeaderInfo"];
54
- const aHeaderFacets = oEntityType["com.sap.vocabularies.UI.v1.HeaderFacets"];
55
-
56
- if (oHeaderInfo && Object.keys(oHeaderInfo).length > 0) {
57
- const aKeys = Object.keys(oHeaderInfo).filter(sKey => oHeaderInfo[sKey].RecordType === "com.sap.vocabularies.UI.v1.DataField");
58
- aKeys?.forEach((sKey) => {
59
- aRes.push({title:[oRb.getText("EASY_FILL_SECTION_HEADER"),oRb.getText("EASY_FILL_SECTION_HEADER")],property: oHeaderInfo[sKey].Value.Path});
60
- });
61
- }
62
-
63
- if (aHeaderFacets && aHeaderFacets.length > 0) {
64
- const aSection = this.extractSectionInfoFromReferenceFacet(oEntityType,aHeaderFacets);
65
- aSection.forEach((oSection) => {
66
- oSection.title = [oRb.getText("EASY_FILL_SECTION_HEADER"),oRb.getText("EASY_FILL_SECTION_HEADER")];
67
- });
68
- aRes.push(...aSection);
69
- }
70
-
71
- return aRes;
72
- },
73
-
74
- //Use it once you get the reference facets, if the sText is already known then we will give that as priority
75
- extractSectionInfoFromReferenceFacet: function(oEntityType,aFacets,aText = []) {
76
- // eslint-disable-next-line no-warning-comments
77
- //TODO: Handle the LineItem Code here only and SemanticObjects for intentbased Navigation
78
- const aRes = [];
79
- aFacets.forEach((oFacet) => {
80
- //We are skipping the IntentBased Navigation for now, as we will be handling it in a different way, as we need to check the SemanticObject and Action for it,
81
- //so we will be doing it in a different method
82
- if (oFacet.RecordType === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation") {
83
- return;
84
- }
85
-
86
- const aTempText = [...aText];
87
- const sAnnotationPath = oFacet.Target.AnnotationPath.substring(1);
88
- const oAnnotation = oEntityType[sAnnotationPath];
89
- let sTitle = null;
90
-
91
- if (oFacet?.Label) {
92
- sTitle = oFacet.Label.String;
93
- } else if (oAnnotation?.Label) {
94
- sTitle = oAnnotation.Label.String;
95
- } else if (oFacet?.Title) {
96
- sTitle = oFacet.Title.String;
97
- } else if (oAnnotation?.Title) {
98
- sTitle = oAnnotation.Title.String;
99
- }
100
-
101
-
102
- // if (oFacet.Label) {
103
- // sTitle = oFacet.Label.String;
104
- // } else if (oFacet.Title) {
105
- // sTitle = oFacet.Title.String;
106
- // }
107
-
108
- if (sTitle) {
109
- aTempText.push(sTitle);
110
- }
111
-
112
- if (oAnnotation) {
113
- if (oAnnotation.Data) {
114
- oAnnotation.Data.forEach((oData) => {
115
- if (!this.isSupportedRecordType(oData.RecordType)) {
116
- return;
117
- }
118
- aRes.push({title:aTempText,property:oData.Value.Path});
119
- });
120
- } else if (Array.isArray(oAnnotation)) {
121
- const aArray = oAnnotation;
122
- aArray.forEach((oAnno) => {
123
- if (!this.isSupportedRecordType(oAnno.RecordType)) {
124
- return;
125
- }
126
- aRes.push({title:aTempText,property:oAnno.Value.Path});
127
- });
128
- } else if (oAnnotation.Value && oAnnotation.Value.Path) {
129
- aRes.push({title:aTempText,property:oAnnotation.Value.Path});
130
- }
131
- }
132
- });
133
- return aRes;
134
- },
135
-
136
- //We have to support most of the below annotations in our future waves
137
- isSupportedRecordType: function(sRecordType) {
138
- if (sRecordType === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" || sRecordType === "com.sap.vocabularies.UI.v1.DataFieldForAnnotation"
139
- || sRecordType === "com.sap.vocabularies.UI.v1.DataFieldForAction"
140
- ) {
141
- return false;
142
- }
143
- return true;
144
- },
145
-
146
- transformToTreeExpanded: function(oLLMRes) {
147
- return [
148
- {
149
- title: "",
150
- fields: [],
151
- children: [{
152
- title: "",
153
- fields: Object.keys(oLLMRes),
154
- id: this.generateId("", Object.keys(oLLMRes))
155
- }]
156
- }
157
- ];
158
- },
159
-
160
-
161
- transformToTree: function (data, oEntityType) {
162
- const rootMap = {};
163
- const seen = new Set();
164
- const that = this;
165
-
166
- data.forEach(({ title, property }) => {
167
- if (seen.has(property)) {
168
- return;
169
- }
170
- seen.add(property);
171
-
172
- let currentMap = rootMap;
173
- let sTitlePath = "";
174
-
175
- title.forEach((level, index) => {
176
- const isLast = index === title.length - 1;
177
-
178
- // Build cumulative title path: "Header_Header", "GeneralInformation_SalesOrdertotalamount"
179
- sTitlePath = sTitlePath ? `${sTitlePath}_${level}` : level;
180
-
181
- if (!currentMap[level]) {
182
- currentMap[level] = {
183
- title: level,
184
- titlePath: sTitlePath, // ✅ Store full path for ID generation later
185
- fields: [],
186
- _childrenMap: {}
187
- };
188
- }
189
-
190
- if (isLast) {
191
- currentMap[level].fields.push(property);
192
- } else {
193
- currentMap = currentMap[level]._childrenMap;
194
- }
195
- });
196
- });
197
-
198
- // ID is generated here - after all fields are collected
199
- function convertToArray(oMap) {
200
- return Object.values(oMap).map((oNode) => ({
201
- title: oNode.title,
202
- id: that.generateId(oNode.titlePath, oNode.fields), // ✅ title path + fields combined
203
- fields: oNode.fields,
204
- children: oNode._childrenMap ? convertToArray(oNode._childrenMap) : []
205
- }));
206
- }
207
-
208
- return convertToArray(rootMap);
209
- },
210
-
211
- generateId: function(sTitlePath, aFields) {
212
- const sSanitizedTitle = sTitlePath
213
- .replace(/\s+/g, "_")
214
- .replace(/[^a-zA-Z0-9_]/g, "")
215
- .toLowerCase();
216
-
217
- // Join fields to make it unique per section content
218
- const sFieldsPart = aFields
219
- .join("_")
220
- .replace(/[^a-zA-Z0-9_]/g, "")
221
- .toLowerCase();
222
-
223
- return "EasyFillSmartForm_" + sSanitizedTitle + (sFieldsPart ? "_" + sFieldsPart : "");
224
- },
225
-
226
- filterTreeByLLMResult: function(aTree, oLLMResult) {
227
- const aRequestedKeys = Object.keys(oLLMResult);
228
- const aMatchedKeys = new Set();
229
-
230
- function generateId(sTitlePath, aFields) {
231
- const sSanitizedTitle = sTitlePath
232
- .replace(/\s+/g, "_")
233
- .replace(/[^a-zA-Z0-9_]/g, "")
234
- .toLowerCase();
235
- const sFieldsPart = aFields
236
- .join("_")
237
- .replace(/[^a-zA-Z0-9_]/g, "")
238
- .toLowerCase();
239
- return "EasyFillSmartForm_" + sSanitizedTitle + (sFieldsPart ? "_" + sFieldsPart : "");
240
- }
241
-
242
- function filterNode(oNode, sParentPath) {
243
- const sTitlePath = sParentPath ? `${sParentPath}_${oNode.title}` : oNode.title;
244
-
245
- const aFilteredFields = oNode.fields.filter((sField) => {
246
- if (aRequestedKeys.includes(sField)) {
247
- aMatchedKeys.add(sField);
248
- return true;
249
- }
250
- return false;
251
- });
252
-
253
- const aFilteredChildren = oNode.children
254
- .map((oChild) => filterNode(oChild, sTitlePath))
255
- .filter((oChild) => oChild.fields.length > 0 || oChild.children.length > 0);
256
-
257
- return {
258
- title: oNode.title,
259
- id: generateId(sTitlePath, aFilteredFields), // ✅ Regenerate ID with filtered fields
260
- fields: aFilteredFields,
261
- children: aFilteredChildren
262
- };
263
- }
264
-
265
- const aFilteredTree = aTree
266
- .map((oNode) => filterNode(oNode, ""))
267
- .filter((oNode) => oNode.fields.length > 0 || oNode.children.length > 0);
268
-
269
- const aUnmatchedKeys = aRequestedKeys.filter((sKey) => !aMatchedKeys.has(sKey));
270
- if (aUnmatchedKeys.length > 0) {
271
- aFilteredTree.push({
272
- title: "unableToFill",
273
- id: generateId("unableToFill", aUnmatchedKeys),
274
- fields: aUnmatchedKeys,
275
- children: []
276
- });
277
- }
278
-
279
- return aFilteredTree;
280
- }
281
- };
282
- });
@@ -1,18 +0,0 @@
1
- <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core" xmlns:sfo="sap.ui.comp.smartform" xmlns:smartField="sap.ui.comp.smartfield"
2
- xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
3
- template:require="{AH: 'sap/suite/ui/generic/template/js/AnnotationHelper'}">
4
- <Title text="{i18n>EASY_FILL_UNABLE_FILL}" class="sapSmartTemplatesObjectPageEasyFillReviewAreaSmartFormNonUpdatableTitle"/>
5
- <MessageStrip
6
- text="{i18n>EASY_FILL_WARNING_MESSAGE}"
7
- showIcon="true"
8
- type="Warning">
9
- </MessageStrip>
10
- <sfo:SmartForm
11
- id="EasyFillNonUpdatebleForm"
12
- class = "sapSmartTemplatesObjectPageEasyFillReviewAreaSmartForm sapSmartTemplatesObjectPageEasyFillReviewAreaSmartFormNonUpdatable"
13
- editable="false">
14
- <sfo:layout>
15
- <sfo:ColumnLayout columnsM="2" columnsL="3" columnsXL="4"/>
16
- </sfo:layout>
17
- </sfo:SmartForm>
18
- </core:FragmentDefinition>
@@ -1,15 +0,0 @@
1
- <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core" xmlns:sfo="sap.ui.comp.smartform" xmlns:smartField="sap.ui.comp.smartfield"
2
- xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
3
- template:require="{AH: 'sap/suite/ui/generic/template/js/AnnotationHelper'}">
4
-
5
- <Title class="sapSmartTemplatesObjectPageEasyFillReviewAreaTitleUpdatable" text="{i18n>EASY_FILL_FILLED_FIELDS}"></Title>
6
- <sfo:SmartForm
7
- id="EasyFillUpdatebleForm"
8
- validationMode = "Async"
9
- class="sapSmartTemplatesObjectPageEasyFillReviewAreaSmartForm"
10
- editable="true">
11
- <sfo:layout>
12
- <sfo:ColumnLayout columnsM="2" columnsL="3" columnsXL="4"/>
13
- </sfo:layout>
14
- </sfo:SmartForm>
15
- </core:FragmentDefinition>