@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
@@ -50,6 +50,7 @@ xmlns:fesr="http://schemas.sap.com/sapui5/extension/sap.ui.core.FESR/1">
50
50
  type="Transparent"
51
51
  press=".onEasyFillClearAll"
52
52
  fesr:press="fe2:ef:clearAll"
53
+ enabled="{easyFillDialogModel>/isEasyFillButtonEnabled}"
53
54
  text="{i18n>EASYFILL_CLEAR_ALL}"/>
54
55
  </FlexBox>
55
56
  </FlexBox>
@@ -67,39 +68,65 @@ xmlns:fesr="http://schemas.sap.com/sapui5/extension/sap.ui.core.FESR/1">
67
68
  title="{path: 'easyFillDialogModel>/stateType', formatter: '.formatIllustrationTitle'}"
68
69
  description="{path: 'easyFillDialogModel>/stateType', formatter: '.formatIllustrationDescription'}"/>
69
70
  <!-- <ScrollContainer height="100%" horizontal = "true"> -->
70
- <uxap:ObjectPageLayout visible="{easyFillDialogModel>/isFormVisible}" id="EasyFillObjectPageLayout" sections="{path: 'easyFillDialogModel>/sections', templateShareable: false}">
71
+ <uxap:ObjectPageLayout visible="{easyFillDialogModel>/isFormVisible}" id="EasyFillObjectPageLayout" sections="{path: 'easyFillDialogModel>/sections', templateShareable: false}" alwaysShowContentHeader="true" upperCaseAnchorBar="false">
71
72
  <uxap:headerTitle>
72
- <uxap:ObjectPageHeader objectTitle="{i18n>EASY_FILL_FILLED_FIELDS}">
73
+ <uxap:ObjectPageDynamicHeaderTitle>
74
+ <uxap:heading>
75
+ <Title text="{i18n>EASY_FILL_FILLED_FIELDS}" wrapping="true" level="H2"/>
76
+ </uxap:heading>
73
77
  <uxap:actions>
74
- <SegmentedButton selectedKey="{easyFillDialogModel>/easyFillMode}" selectionChange=".onSelectionChange" class="sapUiSmallMarginBottom">
78
+ <SegmentedButton selectedKey="{easyFillDialogModel>/easyFillMode}" selectionChange=".onSelectionChange">
75
79
  <items>
76
- <SegmentedButtonItem icon="sap-icon://increase-line-height" key="CondensedMode"/>
77
- <SegmentedButtonItem icon="sap-icon://decrease-line-height" key="ObjectPageMode"/>
80
+ <SegmentedButtonItem icon="sap-icon://increase-line-height" key="ObjectPageMode" tooltip="{i18n>EASY_FILL_DETAILED_VIEW_TOOLTIP}"/>
81
+ <SegmentedButtonItem icon="sap-icon://decrease-line-height" key="CondensedMode" tooltip="{i18n>EASY_FILL_CONDENSED_VIEW_TOOLTIP}"/>
78
82
  </items>
79
83
  </SegmentedButton>
80
-
81
84
  <Button
82
85
  icon="{= ${easyFillDialogModel>/isFullScreen} ? 'sap-icon://full-screen' : 'sap-icon://exit-full-screen'}"
86
+ tooltip="{= ${easyFillDialogModel>/isFullScreen} ? ${i18n>EASY_FILL_ENTER_FULL_SCREEN_TOOLTIP} : ${i18n>EASY_FILL_EXIT_FULL_SCREEN_TOOLTIP}}"
83
87
  type="Transparent"
88
+ visible="{= !${easyFillDialogModel>/isSplitterPageMode} }"
84
89
  press=".onToggleFullScreen"/>
85
90
  </uxap:actions>
86
- </uxap:ObjectPageHeader>
91
+ </uxap:ObjectPageDynamicHeaderTitle>
87
92
  </uxap:headerTitle>
88
93
  <uxap:headerContent>
89
- <HBox gap="0.5rem" justifyContent="End" alignItems="Center" renderType="Bare" class="sapSmartTemplatesObjectPageEasyFillReviewAreaBanner">
90
- <Link text="{i18n>AI_LINK_NOTICE_TITLE}" press=".onLinkPress"/>
91
- <Label text="{i18n>AI_WARNING_TEXT}"/>
92
- </HBox>
94
+ <VBox width="100%">
95
+ <HBox gap="0.5rem" justifyContent="Start" alignItems="Center" renderType="Bare" class="sapSmartTemplatesObjectPageEasyFillReviewAreaBanner">
96
+ <Link text="{i18n>AI_LINK_NOTICE_TITLE}" press=".onLinkPress"/>
97
+ <ToggleButton icon = "sap-icon://thumb-up" type = "Transparent" fesr:press="fe2:ef:thumbsup" pressed="{easyFillDialogModel>/feedbackPressedUp}" enabled="{easyFillDialogModel>/feedbackEnabled}" press=".onFeedbackPress"/>
98
+ <ToggleButton icon = "sap-icon://thumb-down" type = "Transparent" fesr:press="fe2:ef:thumbsdown" pressed="{easyFillDialogModel>/feedbackPressedDown}" enabled="{easyFillDialogModel>/feedbackEnabled}" press=".onFeedbackPress"/>
99
+ </HBox>
100
+ <MessageStrip
101
+ visible="{easyFillDialogModel>/hasNonUpdatableFields}"
102
+ text="{i18n>EASY_FILL_READ_ONLY_WARNING}"
103
+ showIcon="true"
104
+ type="Warning"
105
+ class="sapUiSmallMarginBottom"/>
106
+ </VBox>
93
107
  </uxap:headerContent>
94
- <uxap:ObjectPageSection title="{path: 'easyFillDialogModel>title', formatter: '.formatSectionTitle'}">
108
+ <uxap:ObjectPageSection title="{path: 'easyFillDialogModel>title', formatter: '.formatSectionTitle'}" titleUppercase="false"
109
+ visible="{
110
+ parts: [
111
+ {path: 'easyFillDialogModel>fields'},
112
+ {path: 'easyFillDialogModel>children'}
113
+ ],
114
+ formatter: '.hasSectionFields'
115
+ }">
95
116
  <uxap:ObjectPageSubSection>
96
- <smartForm:SmartForm editable="true" id="EasyFillSmartForm" groups="{path: 'easyFillDialogModel>children', templateShareable: false}">
117
+ <smartForm:SmartForm editable="true" id="EasyFillSmartForm" validationMode="Async" groups="{path: 'easyFillDialogModel>children', templateShareable: false}">
118
+ <smartForm:customData>
119
+ <core:CustomData key="defaultInputFieldDisplayBehaviour" value="descriptionAndId"/>
120
+ <core:CustomData key="defaultDropDownDisplayBehaviour" value="descriptionOnly"/>
121
+ <core:CustomData key="defaultTextInEditModeSource" value="ValueList"/>
122
+ <core:CustomData key="dateFormatSettings" value='\{"UTC":true,"style":"medium"\}'/>
123
+ </smartForm:customData>
97
124
  <smartForm:layout>
98
125
  <smartForm:ColumnLayout
99
126
  columnsXL="3"
100
127
  columnsL="3"
101
128
  columnsM="2"
102
- labelCellsLarge="12"/>
129
+ labelCellsLarge="2"/>
103
130
  </smartForm:layout>
104
131
  <smartForm:Group
105
132
  title="{path: 'easyFillDialogModel>title', formatter: '.formatSectionTitle'}"
@@ -119,18 +146,6 @@ xmlns:fesr="http://schemas.sap.com/sapui5/extension/sap.ui.core.FESR/1">
119
146
  </uxap:ObjectPageSubSection>
120
147
  </uxap:ObjectPageSection>
121
148
  </uxap:ObjectPageLayout>
122
- <VBox id="EasyFillTablePreviewContainer" fitContainer="true" renderType="Bare" visible="{easyFillDialogModel>/hasTableUpdates}"/>
123
- <MessageStrip
124
- visible="{easyFillDialogModel>/hasTableUpdates}"
125
- text="{i18n>EASY_FILL_TABLE_UPDATES_INFO}"
126
- showIcon="true"
127
- type="Information"/>
128
-
129
- <MessageStrip
130
- visible="{easyFillDialogModel>/hasTableValidationErrors}"
131
- text="{easyFillDialogModel>/tableValidationMessage}"
132
- showIcon="true"
133
- type="Error"/>
134
149
  </FlexBox>
135
150
  </layout:SplitPane>
136
151
 
@@ -41,6 +41,10 @@ sap.ui.define([
41
41
  // variant load or Go press result. Used to suppress fnApplyEasyFilterVariantState from
42
42
  // overwriting the stale-query (placeholder) state that fnTokensChanged put in place.
43
43
  var bTokensModifiedByUser = false;
44
+ // Set to true when the user presses Reset Filter. Suppresses fnApplyEasyFilterVariantState
45
+ // from restoring the saved query into the (now intentionally empty) input field when
46
+ // afterVariantLoad fires as a side effect of the subsequent setUiState call.
47
+ var bFiltersResetByUser = false;
44
48
 
45
49
  /**
46
50
  * Calls setVariantCreationByUserAllowed(bAllowed) on the SmartVariantManagement control
@@ -108,54 +112,53 @@ sap.ui.define([
108
112
  var mEffectiveNonSortable = mOverrideNonSortable || mNonSortableProperties;
109
113
  entityType.property.forEach(function (oProperty) {
110
114
  var sTokenType = "ValueHelp";
111
- if (filterHelper.isPropertyFilterable(oProperty)) {
112
- var bIsCodeListRequired;
113
- var bIsHidden = false;
114
- var bIsHiddenFilter = false;
115
- var sFilterRestriction = "";
116
- oProperty.extensions && oProperty.extensions.forEach(function(oExtension) {
117
- if (oExtension.name === "value-list" && oExtension.value === "fixed-values") {
118
- sTokenType = "MenuWithCheckBox";
119
- bIsCodeListRequired = true;
120
- }
121
- if (oExtension.name === "hidden") {
122
- bIsHidden = oExtension.value === "true";
123
- }
124
- if (oExtension.name === "hidden-filter") {
125
- bIsHiddenFilter = oExtension.value === "true";
126
- }
127
- if (oExtension.name === "filter-restriction") {
128
- sFilterRestriction = oExtension.value;
129
- }
130
- });
131
- if ((oProperty.type === "Edm.DateTime" && oProperty["sap:display-format"] === "Date") ||
132
- (oProperty.type === "Edm.String" && oProperty["com.sap.vocabularies.Common.v1.IsCalendarDate"] && oProperty["com.sap.vocabularies.Common.v1.IsCalendarDate"].Bool === "true")) {
133
- sTokenType = "Calendar";
134
- } else if (oProperty.type === "Edm.DateTimeOffset") {
135
- sTokenType = "Time";
115
+ var bFilterable = filterHelper.isPropertyFilterable(oProperty);
116
+ var bIsCodeListRequired;
117
+ var bIsHidden = false;
118
+ var bIsHiddenFilter = false;
119
+ var sFilterRestriction = "";
120
+ oProperty.extensions && oProperty.extensions.forEach(function(oExtension) {
121
+ if (oExtension.name === "value-list" && oExtension.value === "fixed-values") {
122
+ sTokenType = "MenuWithCheckBox";
123
+ bIsCodeListRequired = true;
136
124
  }
137
- var propName = prefix ? prefix + "." + oProperty.name : oProperty.name;
138
- // Determine sortability: property is sortable unless entity set is not sortable,
139
- // property is in NonSortableProperties, or property has sap:sortable="false"
140
- var bSortable = bEffectiveSortable && !mEffectiveNonSortable[oProperty.name] && oProperty["sap:sortable"] !== "false";
141
- // Groupable follows the same logic as sortable: a property is groupable if it is sortable
142
- var bGroupable = bSortable;
143
- mFilterProperties[propName] = {
144
- name: propName,
145
- dataType: oProperty.type,
146
- defaultValue : [],
147
- filterable: true,
148
- sortable: bSortable,
149
- groupable: bGroupable,
150
- codeList : bIsCodeListRequired,
151
- type: sTokenType,
152
- unit: oProperty["sap:unit"] || "",
153
- required: oProperty["sap:required-in-filter"] === "true" ? true : false,
154
- hidden: bIsHidden,
155
- hiddenFilter: bIsHiddenFilter,
156
- filterRestriction: sFilterRestriction || undefined
157
- };
125
+ if (oExtension.name === "hidden") {
126
+ bIsHidden = oExtension.value === "true";
127
+ }
128
+ if (oExtension.name === "hidden-filter") {
129
+ bIsHiddenFilter = oExtension.value === "true";
130
+ }
131
+ if (oExtension.name === "filter-restriction") {
132
+ sFilterRestriction = oExtension.value;
133
+ }
134
+ });
135
+ if ((oProperty.type === "Edm.DateTime" && oProperty["sap:display-format"] === "Date") ||
136
+ (oProperty.type === "Edm.String" && oProperty["com.sap.vocabularies.Common.v1.IsCalendarDate"] && oProperty["com.sap.vocabularies.Common.v1.IsCalendarDate"].Bool === "true")) {
137
+ sTokenType = "Calendar";
138
+ } else if (oProperty.type === "Edm.DateTimeOffset") {
139
+ sTokenType = "Time";
158
140
  }
141
+ var propName = prefix ? prefix + "." + oProperty.name : oProperty.name;
142
+ // Determine sortability: property is sortable unless entity set is not sortable,
143
+ // property is in NonSortableProperties, or property has sap:sortable="false"
144
+ var bSortable = bEffectiveSortable && !mEffectiveNonSortable[oProperty.name] && oProperty["sap:sortable"] !== "false";
145
+ // Groupable follows the same logic as sortable: a property is groupable if it is sortable
146
+ var bGroupable = bSortable;
147
+ mFilterProperties[propName] = {
148
+ name: propName,
149
+ dataType: oProperty.type,
150
+ defaultValue : [],
151
+ filterable: bFilterable,
152
+ sortable: bSortable,
153
+ groupable: bGroupable,
154
+ codeList : bIsCodeListRequired,
155
+ type: sTokenType,
156
+ unit: oProperty["sap:unit"] || "",
157
+ required: oProperty["sap:required-in-filter"] === "true" ? true : false,
158
+ hidden: bIsHidden,
159
+ hiddenFilter: bIsHiddenFilter,
160
+ filterRestriction: sFilterRestriction || undefined
161
+ };
159
162
  });
160
163
  }
161
164
 
@@ -524,9 +527,9 @@ sap.ui.define([
524
527
  oSmartFilterbar.setVisible(false);
525
528
  var sQuery = oVariantState.easyFilter && oVariantState.easyFilter.query;
526
529
  if (sQuery) {
527
- // Tokens have been manually changed the query in the input is intentionally
528
- // stale (shown as placeholder). Do not overwrite it with the saved query.
529
- if (!bTokensModifiedByUser) {
530
+ // Do not restore the query if the user just pressed Reset Filter
531
+ // the input was intentionally cleared and must stay empty.
532
+ if (!bTokensModifiedByUser && !bFiltersResetByUser) {
530
533
  var oEasyFilterBar = fnGetEasyFilterBar();
531
534
  if (oEasyFilterBar) {
532
535
  var sCurrentQuery = oEasyFilterBar.getQuery();
@@ -539,6 +542,8 @@ sap.ui.define([
539
542
  } else {
540
543
  oSmartFilterbar.setVisible(true);
541
544
  }
545
+ // Reset so future variant switches are not suppressed.
546
+ bFiltersResetByUser = false;
542
547
  }
543
548
 
544
549
  /**
@@ -596,11 +601,16 @@ sap.ui.define([
596
601
  });
597
602
  }
598
603
 
599
- function fnClearFilters(oEvent) {
604
+ function fnClearFilters(oEvent) {
600
605
  //Making the SmartTable in dirty state
601
- var oTemplatePrivateModel = oTemplateUtils.oComponentUtils.getTemplatePrivateModel();
606
+ var oTemplatePrivateModel = oTemplateUtils.oComponentUtils.getTemplatePrivateModel();
602
607
  oTemplatePrivateModel.setProperty("/listReport/firstSelection", true);
603
608
  oTemplatePrivateModel.setProperty("/generic/bDataAreShownInTable", false);
609
+ var oSmartFilterbar = oState.oSmartFilterbar;
610
+ if (oSmartFilterbar.getSmartVariant()) {
611
+ oSmartFilterbar.getSmartVariant().currentVariantSetModified(true);
612
+ }
613
+ bFiltersResetByUser = true;
604
614
  }
605
615
 
606
616
  function fnAfterQueryProcessing(oEvent) {
@@ -615,9 +625,11 @@ sap.ui.define([
615
625
  }
616
626
 
617
627
  function fnTokensChanged(oEvent) {
618
- //When reset button is clicked no batch call should be triggered
628
+ // When reset button is clicked no batch call should be triggered.
629
+ // Also clear the user-edit flag so a subsequent Go press re-enables Save/SaveAs correctly [if clear tokens and resetFilter are clicked].
619
630
  if (oEvent.getParameter("reset")) {
620
- fnSetCreationAllowed(true);
631
+ bTokensModifiedByUser = false;
632
+ fnSetCreationAllowed(false);
621
633
  return;
622
634
  }
623
635
  var oSmartFilterbar = oState.oSmartFilterbar;
@@ -627,14 +639,18 @@ sap.ui.define([
627
639
  // manual token edits. tokensChangedByUser fires first on a user edit and sets
628
640
  // bTokensModifiedByUser — use that to tell the two cases apart.
629
641
  if (bTokensModifiedByUser) {
630
- // User manually edited a token — tokensChangedByUser already disabled
631
- // Save/SaveAs. Mark the variant dirty and stop; do not trigger search.
632
- oSmartFilterbar.getSmartVariant() && oSmartFilterbar.getSmartVariant().currentVariantSetModified(true);
633
- return;
642
+ // User manually removed a token — mark the variant dirty and fall through
643
+ // to update SFB state and trigger search with the remaining tokens.
644
+ // Keep Save/SaveAs disabled (do NOT call fnSetCreationAllowed(true) here)
645
+ // until a fresh Go press resolves new tokens.
646
+ if (oSmartFilterbar.getSmartVariant()) {
647
+ oSmartFilterbar.getSmartVariant().currentVariantSetModified(true);
648
+ }
649
+ } else {
650
+ // AI-resolved result path: reset the user-edit flag and re-enable Save/SaveAs.
651
+ fnSetCreationAllowed(true);
634
652
  }
635
- // AI-resolved result path: reset the user-edit flag and re-enable Save/SaveAs.
636
653
  bTokensModifiedByUser = false;
637
- fnSetCreationAllowed(true);
638
654
  var sSmartFilterBarId = oSmartFilterbar.getId();
639
655
  var oSmartFilterBarWrapper = oTemplateUtils.oCommonUtils.getControlStateWrapperById(sSmartFilterBarId, "SmartFilterBar");
640
656
  var oSmartFilterBarVariant = oSmartFilterBarWrapper.getState();
@@ -727,21 +743,19 @@ sap.ui.define([
727
743
  oPresentationVariant.SortOrder = undefined; // Clear existing sort order before applying new one
728
744
 
729
745
  // Set new sort order (empty array clears sorting)
730
- if (aSorters?.length) {
731
- const aSortersMapped = aSorters.map(function(oSorter) {
746
+ const aSortersMapped = (aSorters && aSorters.length ) ? aSorters.map(function (oSorter) {
732
747
  return {
733
748
  Property: oSorter.key,
734
749
  Descending: !!oSorter.descending
735
750
  };
736
- });
737
- oPresentationVariant.SortOrder = aSortersMapped;
738
- bApplyingSorting = true;
739
- try {
740
- oUiState.setPresentationVariant(oPresentationVariant);
741
- oControl.setUiState(oUiState);
742
- } finally {
743
- bApplyingSorting = false;
744
- }
751
+ }) : undefined;
752
+ oPresentationVariant.SortOrder = aSortersMapped;
753
+ bApplyingSorting = true;
754
+ try {
755
+ oUiState.setPresentationVariant(oPresentationVariant);
756
+ oControl.setUiState(oUiState);
757
+ } finally {
758
+ bApplyingSorting = false;
745
759
  }
746
760
 
747
761
  } catch (error) {
@@ -921,12 +935,15 @@ sap.ui.define([
921
935
  var sQuery = oGenericData.easyFilter && oGenericData.easyFilter.query;
922
936
  if (oEasyFilterBar) {
923
937
  if (sQuery) {
924
- oEasyFilterBar.setQuery(sQuery);
925
- // Only auto-trigger Go if "Apply Automatically" is checked on the variant.
926
- // If not checked, only the search string is restored — no search triggered.
927
938
  var bExecuteOnSelect = oEvent.getParameter("executeOnSelect");
928
939
  if (bExecuteOnSelect) {
940
+ // AutoApply on: Go press resolves fresh tokens — no need to pre-clear.
929
941
  oEasyFilterBar.onGoPress(sQuery);
942
+ } else {
943
+ // AutoApply off: clear stale tokens/thumbs/reset-button from the
944
+ // previous variant, then restore the new variant's query text.
945
+ oEasyFilterBar.resetState(false);
946
+ oEasyFilterBar.setQuery(sQuery);
930
947
  }
931
948
  } else {
932
949
  oEasyFilterBar.resetState(false);
@@ -764,13 +764,13 @@ RTA_CONTEXT_MENU_CONFIG=Configuration
764
764
  EASY_FILL_TITLE = Easy Fill
765
765
 
766
766
  # XTXT: EasyFill Description 1
767
- EASY_FILL_FIRST_LABEL_TEXT = You can use the Easy Fill feature to fill multiple fields simultaneously.
767
+ EASY_FILL_FIRST_LABEL_TEXT = You can use the Easy Fill feature to fill multiple fields simultaneously using natural language.
768
768
 
769
769
  # XTXT: EasyFill Description 1
770
- EASY_FILL_SECOND_LABEL_TEXT = Use data sources like spreadsheets, notes, and emails to populate the fields, or clearly describe the information you want to fill in. Then click Easy Fill.
770
+ EASY_FILL_SECOND_LABEL_TEXT = Provide any information that helps AI fill the appropriate fields. You can also upload a file containing the relevant information.
771
771
 
772
772
  # XTXT: EasyFill TextArea placeholder
773
- EASY_FILL_TEXTAREA_PLACEHOLDER = Provide the required information using data sources or by typing
773
+ EASY_FILL_TEXTAREA_PLACEHOLDER = Provide any information that helps AI fill the appropriate fields. Note that AI can only assist with visible fields and rows.
774
774
 
775
775
  # XTIT: EasyFill initial Illustration title
776
776
  EASY_FILL_ILLUSTRATION_TITLE_INITIAL = Let\u2019s fill in some fields
@@ -794,20 +794,23 @@ EASY_FILL_ILLUSTRATION_DESCRIPTION_ERROR =It looks like an error occurred. Try a
794
794
  EASY_FILL_CONFIRM = Confirm
795
795
 
796
796
  # XTXT: EasyFill AI Notice link
797
- AI_LINK_NOTICE_TITLE = Created with AI.
798
-
799
- # XTXT: EasyFill AI Notice warning
800
- AI_WARNING_TEXT = Verify results before use.
797
+ AI_LINK_NOTICE_TITLE = Created with AI. Verify results before use.
801
798
 
802
799
  # XTIT: EasyFill fillable fields title
803
800
  EASY_FILL_FILLED_FIELDS = Filled Fields
804
801
 
802
+ # XTIT: EasyFill unfilled fields title (condensed view section)
803
+ EASY_FILL_UNFILLED_FIELDS = Unfilled Fields
804
+
805
805
  # XTIT: EasyFill unable to fill fields title
806
806
  EASY_FILL_UNABLE_FILL = Unable to Fill
807
807
 
808
808
  # XTXT: EasyFill warning message
809
809
  EASY_FILL_WARNING_MESSAGE = The fields couldn\u2019t be filled in, for example because they are read-only fields or because you\u2019re not authorized to change them.
810
810
 
811
+ # XMSG: EasyFill read-only fields warning shown in header
812
+ EASY_FILL_READ_ONLY_WARNING = Some fields couldn't be filled. You can view them in the Unfilled Fields section.
813
+
811
814
  # XTIT: EasyFill proposed values
812
815
  EASY_FILL_PROPOSED_VALUES = Proposed Values
813
816
 
@@ -815,7 +818,7 @@ EASY_FILL_PROPOSED_VALUES = Proposed Values
815
818
  EASY_FILL_PREVIOUS_VALUES = Previous Values
816
819
 
817
820
  # XTXT: EasyFill AINotice link popover text
818
- EASY_FILL_POPOVER_AI_TEXT_1=The content was partially or fully generated by artificial intelligence(AI) technologies.
821
+ EASY_FILL_POPOVER_AI_TEXT_1=The content was partially or fully generated by AI.
819
822
 
820
823
  # XTXT: EasyFill AINotice link popover text
821
824
  EASY_FILL_POPOVER_AI_TEXT_2=The AI-generated content may contain inaccuracies due to using multiple information sources. Verify results before use.
@@ -838,6 +841,9 @@ EASY_FILL_TABLE_VIEW_PREVIOUS = Previous
838
841
  # XBUT: EasyFill table preview new values segment
839
842
  EASY_FILL_TABLE_VIEW_NEW = New
840
843
 
844
+ # XTXT: Text for the GenericTag shown next to a table title when the AI tried to fill read-only fields in that table
845
+ EASYFILL_TABLE_READONLY_TAG=Highlighted fields not filled
846
+
841
847
  # XTXT: EasyFill table row label used in validation messages
842
848
  EASY_FILL_TABLE_ROW_LABEL = Row {0}
843
849
 
@@ -849,3 +855,24 @@ EASY_FILL_TABLE_INVALID_CELL_SUFFIX = (invalid)
849
855
 
850
856
  # XTIT: EasyFill Section Title
851
857
  EASY_FILL_SECTION_HEADER = Header
858
+
859
+ # XTOL: EasyFill condensed view mode tooltip
860
+ EASY_FILL_CONDENSED_VIEW_TOOLTIP=Switch to condensed layout
861
+
862
+ # XTOL: EasyFill detailed view mode tooltip
863
+ EASY_FILL_DETAILED_VIEW_TOOLTIP=Switch to object page layout
864
+
865
+ # XTOL: EasyFill enter full screen tooltip (shows Maximize action)
866
+ EASY_FILL_ENTER_FULL_SCREEN_TOOLTIP=Maximize Filled Fields Panel
867
+
868
+ # XTOL: EasyFill exit full screen tooltip (shows Minimize action)
869
+ EASY_FILL_EXIT_FULL_SCREEN_TOOLTIP=Minimize Filled Fields Panel
870
+
871
+ # XTXT: EasyFill previously label shown next to the current field value
872
+ EASY_FILL_PREVIOUSLY_LABEL=Previously:
873
+
874
+ # XMSG: EasyFill warning when the AI proposed multiple new rows but only one is supported per table
875
+ EASY_FILL_TABLE_MULTIPLE_NEW_ROWS_WARNING=Only one row can be added at a time. Repeat the request to add additional rows.
876
+
877
+ # XMSG: EasyFill warning shown when adding new rows is not allowed by the table configuration
878
+ EASY_FILL_TABLE_NEW_ROW_NOT_ALLOWED=Row not added. Either row creation isn't enabled, or Easy Fill doesn't support adding rows to this table.
@@ -500,11 +500,11 @@ RTA_CONTEXT_MENU_CONFIG=\u0627\u0644\u062A\u0643\u0648\u064A\u0646
500
500
 
501
501
  EASY_FILL_TITLE=\u0645\u0644\u0621 \u0633\u0647\u0644
502
502
 
503
- EASY_FILL_FIRST_LABEL_TEXT=\u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0645\u064A\u0632\u0629 \u0627\u0644\u0645\u0644\u0621 \u0627\u0644\u0633\u0647\u0644 \u0644\u0645\u0644\u0621 \u062D\u0642\u0648\u0644 \u0645\u062A\u0639\u062F\u062F\u0629 \u0641\u064A \u0648\u0642\u062A \u0648\u0627\u062D\u062F.
503
+ EASY_FILL_FIRST_LABEL_TEXT=\u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0645\u064A\u0632\u0629 \u0627\u0644\u0645\u0644\u0621 \u0627\u0644\u0633\u0647\u0644 \u0644\u0645\u0644\u0621 \u062D\u0642\u0648\u0644 \u0645\u062A\u0639\u062F\u062F\u0629 \u0641\u064A \u0648\u0642\u062A \u0648\u0627\u062D\u062F \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0644\u063A\u0629 \u0627\u0644\u0637\u0628\u064A\u0639\u064A\u0629.
504
504
 
505
- EASY_FILL_SECOND_LABEL_TEXT=\u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0645\u0635\u0627\u062F\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0645\u062B\u0644 \u062C\u062F\u0627\u0648\u0644 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0648\u0627\u0644\u0645\u0644\u0627\u062D\u0638\u0627\u062A \u0648\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0628\u0631\u064A\u062F \u0627\u0644\u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A \u0644\u0645\u0644\u0621 \u0627\u0644\u062D\u0642\u0648\u0644\u060C \u0623\u0648 \u0648\u0635\u0641 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u0631\u064A\u062F \u0645\u0644\u0623\u0647\u0627 \u0628\u0648\u0636\u0648\u062D. \u062B\u0645 \u062D\u062F\u062F "\u0627\u0644\u0645\u0644\u0621 \u0627\u0644\u0633\u0647\u0644".
505
+ EASY_FILL_SECOND_LABEL_TEXT=\u0623\u062F\u062E\u0644 \u0623\u064A \u0645\u0639\u0644\u0648\u0645\u0627\u062A \u062A\u0633\u0627\u0639\u062F \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A \u0639\u0644\u0649 \u0645\u0644\u0621 \u0627\u0644\u062D\u0642\u0648\u0644 \u0627\u0644\u0645\u0646\u0627\u0633\u0628\u0629. \u064A\u0645\u0643\u0646\u0643 \u0623\u064A\u0636\u064B\u0627 \u062A\u062D\u0645\u064A\u0644 \u0645\u0644\u0641 \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0635\u0644\u0629.
506
506
 
507
- EASY_FILL_TEXTAREA_PLACEHOLDER=\u0642\u062F\u0645 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0645\u0635\u0627\u062F\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0623\u0648 \u0628\u0643\u062A\u0627\u0628\u062A\u0647\u0627.
507
+ EASY_FILL_TEXTAREA_PLACEHOLDER=\u0623\u062F\u062E\u0644 \u0623\u064A \u0645\u0639\u0644\u0648\u0645\u0627\u062A \u062A\u0633\u0627\u0639\u062F \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A \u0639\u0644\u0649 \u0645\u0644\u0621 \u0627\u0644\u062D\u0642\u0648\u0644 \u0627\u0644\u0645\u0646\u0627\u0633\u0628\u0629. \u0644\u0627\u062D\u0638 \u0623\u0646 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A \u0644\u0627 \u064A\u0645\u0643\u0646\u0647 \u0627\u0644\u0645\u0633\u0627\u0639\u062F\u0629 \u0625\u0644\u0627 \u0641\u064A \u0627\u0644\u062D\u0642\u0648\u0644 \u0648\u0627\u0644\u0635\u0641\u0648\u0641 \u0627\u0644\u0645\u0631\u0626\u064A\u0629 \u0641\u0642\u0637.
508
508
 
509
509
  EASY_FILL_ILLUSTRATION_TITLE_INITIAL=\u062F\u0639\u0646\u0627 \u0646\u0645\u0644\u0623 \u0628\u0639\u0636 \u0627\u0644\u062D\u0642\u0648\u0644
510
510
 
@@ -520,9 +520,7 @@ EASY_FILL_ILLUSTRATION_DESCRIPTION_ERROR=\u064A\u0628\u062F\u0648 \u0623\u0646\u
520
520
 
521
521
  EASY_FILL_CONFIRM=\u062A\u0623\u0643\u064A\u062F
522
522
 
523
- AI_LINK_NOTICE_TITLE=\u062A\u0645 \u0627\u0644\u0625\u0646\u0634\u0627\u0621 \u0628\u0648\u0627\u0633\u0637\u0629 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A.
524
-
525
- AI_WARNING_TEXT=\u062A\u062D\u0642\u0642 \u0645\u0646 \u0635\u062D\u0629 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0642\u0628\u0644 \u0627\u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645.
523
+ AI_LINK_NOTICE_TITLE=\u062A\u0645 \u0627\u0644\u0625\u0646\u0634\u0627\u0621 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A. \u062A\u062D\u0642\u0642 \u0645\u0646 \u0635\u062D\u0629 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0642\u0628\u0644 \u0627\u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645.
526
524
 
527
525
  EASY_FILL_FILLED_FIELDS=\u0627\u0644\u062D\u0642\u0648\u0644 \u0627\u0644\u0645\u0645\u0644\u0648\u0621\u0629
528
526
 
@@ -534,7 +532,7 @@ EASY_FILL_PROPOSED_VALUES=\u0627\u0644\u0642\u064A\u0645 \u0627\u0644\u0645\u064
534
532
 
535
533
  EASY_FILL_PREVIOUS_VALUES=\u0627\u0644\u0642\u064A\u0645 \u0627\u0644\u0633\u0627\u0628\u0642\u0629
536
534
 
537
- EASY_FILL_POPOVER_AI_TEXT_1=\u062A\u0645 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0645\u062D\u062A\u0648\u0649 \u062C\u0632\u0626\u064A\u064B\u0627 \u0623\u0648 \u0643\u0644\u064A\u064B\u0627 \u0628\u0648\u0627\u0633\u0637\u0629 \u062A\u0642\u0646\u064A\u0627\u062A \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A (AI).
535
+ EASY_FILL_POPOVER_AI_TEXT_1=\u062A\u0645 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0645\u062D\u062A\u0648\u0649 \u062C\u0632\u0626\u064A\u064B\u0627 \u0623\u0648 \u0643\u0644\u064A\u064B\u0627 \u0628\u0648\u0627\u0633\u0637\u0629 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A.
538
536
 
539
537
  EASY_FILL_POPOVER_AI_TEXT_2=\u0642\u062F \u064A\u062D\u062A\u0648\u064A \u0627\u0644\u0645\u062D\u062A\u0648\u0649 \u0627\u0644\u0645\u0646\u0634\u0623 \u0628\u0648\u0627\u0633\u0637\u0629 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A \u0639\u0644\u0649 \u0628\u064A\u0627\u0646\u0627\u062A \u063A\u064A\u0631 \u062F\u0642\u064A\u0642\u0629 \u0628\u0633\u0628\u0628 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0645\u0635\u0627\u062F\u0631 \u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0645\u062A\u0639\u062F\u062F\u0629. \u062A\u062D\u0642\u0642 \u0645\u0646 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0642\u0628\u0644 \u0627\u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645.
540
538
 
@@ -543,3 +541,27 @@ EASY_FILL_POPOVER_AI_TITLE=\u062A\u0645 \u0627\u0644\u0625\u0646\u0634\u0627\u06
543
541
  EASYFILL_RESULT_FEEDBACK=\u062A\u0645 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0645\u0644\u0627\u062D\u0638\u0627\u062A
544
542
 
545
543
  EASYFILL_CLEAR_ALL=\u062D\u0630\u0641 \u0627\u0644\u0627\u0633\u062A\u0639\u0644\u0627\u0645
544
+
545
+ EASY_FILL_TABLE_UPDATES_INFO=\u062A\u0645 \u0627\u0643\u062A\u0634\u0627\u0641 \u062A\u062D\u062F\u064A\u062B\u0627\u062A \u0635\u0641\u0648\u0641 \u0627\u0644\u062C\u062F\u0648\u0644 \u0648\u0633\u064A\u062A\u0645 \u062A\u0637\u0628\u064A\u0642\u0647\u0627 \u0639\u0646\u062F \u0627\u0644\u062A\u0623\u0643\u064A\u062F.
546
+
547
+ EASY_FILL_TABLE_VIEW_PREVIOUS=\u0627\u0644\u0633\u0627\u0628\u0642
548
+
549
+ EASY_FILL_TABLE_VIEW_NEW=\u062C\u062F\u064A\u062F
550
+
551
+ EASYFILL_TABLE_READONLY_TAG=\u0644\u0645 \u064A\u062A\u0645 \u0645\u0644\u0621 \u0627\u0644\u062D\u0642\u0648\u0644 \u0627\u0644\u0645\u0645\u064A\u0632\u0629
552
+
553
+ EASY_FILL_TABLE_ROW_LABEL=\u0627\u0644\u0635\u0641 {0}
554
+
555
+ EASY_FILL_TABLE_VALIDATION_MESSAGE=\u0628\u0639\u0636 \u0642\u064A\u0645 \u0627\u0644\u062C\u062F\u0648\u0644 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D\u0629 \u0644\u0645\u0633\u0627\u0639\u062F\u0629 \u0627\u0644\u0625\u062F\u062E\u0627\u0644\: {0}. \u0642\u0645 \u0628\u062A\u062D\u062F\u064A\u062B \u0637\u0644\u0628\u0643 \u0648\u062D\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649.
556
+
557
+ EASY_FILL_TABLE_INVALID_CELL_SUFFIX=(\u063A\u064A\u0631 \u0635\u0627\u0644\u062D)
558
+
559
+ EASY_FILL_SECTION_HEADER=\u0627\u0644\u0645\u0642\u062F\u0645\u0629
560
+
561
+ EASY_FILL_CONDENSED_VIEW_TOOLTIP=\u062A\u0628\u062F\u064A\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u062E\u0637\u0637 \u0627\u0644\u0645\u0643\u062B\u0641
562
+
563
+ EASY_FILL_DETAILED_VIEW_TOOLTIP=\u062A\u0628\u062F\u064A\u0644 \u0625\u0644\u0649 \u0645\u062E\u0637\u0637 \u0635\u0641\u062D\u0629 \u0627\u0644\u0643\u0627\u0626\u0646
564
+
565
+ EASY_FILL_ENTER_FULL_SCREEN_TOOLTIP=\u062A\u0643\u0628\u064A\u0631 \u0644\u0648\u062D\u0629 \u0627\u0644\u062D\u0642\u0648\u0644 \u0627\u0644\u0645\u0645\u0644\u0648\u0621\u0629
566
+
567
+ EASY_FILL_EXIT_FULL_SCREEN_TOOLTIP=\u062A\u0635\u063A\u064A\u0631 \u0644\u0648\u062D\u0629 \u0627\u0644\u062D\u0642\u0648\u0644 \u0627\u0644\u0645\u0645\u0644\u0648\u0621\u0629
@@ -500,11 +500,11 @@ RTA_CONTEXT_MENU_CONFIG=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u
500
500
 
501
501
  EASY_FILL_TITLE=\u041B\u0435\u0441\u043D\u043E \u043F\u043E\u043F\u044A\u043B\u0432\u0430\u043D\u0435
502
502
 
503
- EASY_FILL_FIRST_LABEL_TEXT=\u041C\u043E\u0436\u0435 \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u044F\u0442\u0430 \u0437\u0430 \u043B\u0435\u0441\u043D\u043E \u043F\u043E\u043F\u044A\u043B\u0432\u0430\u043D\u0435, \u0437\u0430 \u0434\u0430 \u043F\u043E\u043F\u044A\u043B\u043D\u0438\u0442\u0435 \u043D\u044F\u043A\u043E\u043B\u043A\u043E \u043F\u043E\u043B\u0435\u0442\u0430 \u0435\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E.
503
+ EASY_FILL_FIRST_LABEL_TEXT=\u041C\u043E\u0436\u0435 \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u044F\u0442\u0430 \u0437\u0430 \u043B\u0435\u0441\u043D\u043E \u043F\u043E\u043F\u044A\u043B\u0432\u0430\u043D\u0435, \u0437\u0430 \u0434\u0430 \u043F\u043E\u043F\u044A\u043B\u043D\u0438\u0442\u0435 \u043D\u044F\u043A\u043E\u043B\u043A\u043E \u043F\u043E\u043B\u0435\u0442\u0430 \u0435\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E, \u043A\u0430\u0442\u043E \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D \u0435\u0437\u0438\u043A.
504
504
 
505
- EASY_FILL_SECOND_LABEL_TEXT=\u041C\u043E\u0436\u0435 \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u0438\u0437\u0442\u043E\u0447\u043D\u0438\u0446\u0438 \u043D\u0430 \u0434\u0430\u043D\u043D\u0438 \u043A\u0430\u0442\u043E \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0438 \u0442\u0430\u0431\u043B\u0438\u0446\u0438, \u0431\u0435\u043B\u0435\u0436\u043A\u0438 \u0438 \u0438\u043C\u0435\u0439\u043B\u0438, \u0437\u0430 \u0434\u0430 \u043F\u043E\u043F\u044A\u043B\u043D\u0438\u0442\u0435 \u043F\u043E\u043B\u0435\u0442\u0430\u0442\u0430, \u0438\u043B\u0438 \u043E\u043F\u0438\u0448\u0435\u0442\u0435 \u044F\u0441\u043D\u043E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F\u0442\u0430, \u043A\u043E\u044F\u0442\u043E \u0438\u0441\u043A\u0430\u0442\u0435 \u0434\u0430 \u0432\u044A\u0432\u0435\u0434\u0435\u0442\u0435. \u0421\u043B\u0435\u0434 \u0442\u043E\u0432\u0430 \u043D\u0430\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u201E\u041B\u0435\u0441\u043D\u043E \u043F\u043E\u043F\u044A\u043B\u0432\u0430\u043D\u0435\u201C.
505
+ EASY_FILL_SECOND_LABEL_TEXT=\u0412\u044A\u0432\u0435\u0434\u0435\u0442\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F, \u043A\u043E\u044F\u0442\u043E \u043F\u043E\u043C\u0430\u0433\u0430 \u043D\u0430 AI \u0434\u0430 \u043F\u043E\u043F\u044A\u043B\u043D\u0438 \u0441\u044A\u043E\u0442\u0432\u0435\u0442\u043D\u0438\u0442\u0435 \u043F\u043E\u043B\u0435\u0442\u0430. \u041C\u043E\u0436\u0435 \u0441\u044A\u0449\u043E \u0434\u0430 \u043A\u0430\u0447\u0438\u0442\u0435 \u0444\u0430\u0439\u043B, \u0441\u044A\u0434\u044A\u0440\u0436\u0430\u0449 \u0440\u0435\u043B\u0435\u0432\u0430\u043D\u0442\u043D\u0430\u0442\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F.
506
506
 
507
- EASY_FILL_TEXTAREA_PLACEHOLDER=\u041F\u043E\u043F\u044A\u043B\u043D\u0435\u0442\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430\u0442\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u0440\u044A\u0447\u043D\u043E \u0438\u043B\u0438 \u0441 \u043F\u043E\u043C\u043E\u0449\u0442\u0430 \u043D\u0430 \u0438\u0437\u0442\u043E\u0447\u043D\u0438\u0446\u0438\u0442\u0435 \u043D\u0430 \u0434\u0430\u043D\u043D\u0438
507
+ EASY_FILL_TEXTAREA_PLACEHOLDER=\u0412\u044A\u0432\u0435\u0434\u0435\u0442\u0435 \u0432\u0441\u044F\u043A\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F, \u043A\u043E\u044F\u0442\u043E \u043F\u043E\u043C\u0430\u0433\u0430 \u043D\u0430 AI \u0434\u0430 \u043F\u043E\u043F\u044A\u043B\u043D\u0438 \u0441\u044A\u043E\u0442\u0432\u0435\u0442\u043D\u0438\u0442\u0435 \u043F\u043E\u043B\u0435\u0442\u0430. \u0418\u043C\u0430\u0439\u0442\u0435 \u043F\u0440\u0435\u0434\u0432\u0438\u0434, \u0447\u0435 AI \u043C\u043E\u0436\u0435 \u0434\u0430 \u043F\u043E\u043C\u043E\u0433\u043D\u0435 \u0441\u0430\u043C\u043E \u0441 \u0432\u0438\u0434\u0438\u043C\u0438 \u043F\u043E\u043B\u0435\u0442\u0430 \u0438 \u0440\u0435\u0434\u043E\u0432\u0435.
508
508
 
509
509
  EASY_FILL_ILLUSTRATION_TITLE_INITIAL=\u041D\u0435\u043A\u0430 \u043F\u043E\u043F\u044A\u043B\u043D\u0438\u043C \u043D\u044F\u043A\u043E\u0438 \u043F\u043E\u043B\u0435\u0442\u0430
510
510
 
@@ -520,9 +520,7 @@ EASY_FILL_ILLUSTRATION_DESCRIPTION_ERROR=\u0412\u044A\u0437\u043D\u0438\u043A\u0
520
520
 
521
521
  EASY_FILL_CONFIRM=\u041F\u043E\u0442\u0432\u044A\u0440\u0436\u0434\u0430\u0432\u0430\u043D\u0435
522
522
 
523
- AI_LINK_NOTICE_TITLE=\u0421\u044A\u0437\u0434\u0430\u0434\u0435\u043D\u043E \u0441 AI.
524
-
525
- AI_WARNING_TEXT=\u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438\u0442\u0435, \u043F\u0440\u0435\u0434\u0438 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435.
523
+ AI_LINK_NOTICE_TITLE=\u0421\u044A\u0437\u0434\u0430\u0434\u0435\u043D\u043E \u0441 AI. \u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438\u0442\u0435 \u043F\u0440\u0435\u0434\u0438 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430.
526
524
 
527
525
  EASY_FILL_FILLED_FIELDS=\u041F\u043E\u043F\u044A\u043B\u043D\u0435\u043D\u0438 \u043F\u043E\u043B\u0435\u0442\u0430
528
526
 
@@ -534,7 +532,7 @@ EASY_FILL_PROPOSED_VALUES=\u041F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D
534
532
 
535
533
  EASY_FILL_PREVIOUS_VALUES=\u041F\u0440\u0435\u0434\u0438\u0448\u043D\u0438 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0438
536
534
 
537
- EASY_FILL_POPOVER_AI_TEXT_1=\u0422\u043E\u0432\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\u043D\u0438\u0435 \u0435 \u0447\u0430\u0441\u0442\u0438\u0447\u043D\u043E \u0438\u043B\u0438 \u0438\u0437\u0446\u044F\u043B\u043E \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u0430\u043D\u043E \u0441 \u043F\u043E\u043C\u043E\u0449\u0442\u0430 \u043D\u0430 \u0438\u0437\u043A\u0443\u0441\u0442\u0432\u0435\u043D \u0438\u043D\u0442\u0435\u043B\u0435\u043A\u0442 (AI).
535
+ EASY_FILL_POPOVER_AI_TEXT_1=\u0421\u044A\u0434\u044A\u0440\u0436\u0430\u043D\u0438\u0435\u0442\u043E \u0435 \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u0430\u043D\u043E \u0447\u0430\u0441\u0442\u0438\u0447\u043D\u043E \u0438\u043B\u0438 \u0438\u0437\u0446\u044F\u043B\u043E \u043E\u0442 AI.
538
536
 
539
537
  EASY_FILL_POPOVER_AI_TEXT_2=\u0412 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\u043D\u0438\u0435\u0442\u043E, \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u0430\u043D\u043E \u043E\u0442 AI, \u043C\u043E\u0436\u0435 \u0434\u0430 \u0438\u043C\u0430 \u043D\u0435\u0442\u043E\u0447\u043D\u043E\u0441\u0442\u0438 \u043F\u043E\u0440\u0430\u0434\u0438 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u043D\u0435\u0442\u043E \u043D\u0430 \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u043E \u0438\u0437\u0442\u043E\u0447\u043D\u0438\u0446\u0438 \u043D\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F. \u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438\u0442\u0435 \u043F\u0440\u0435\u0434\u0438 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435.
540
538
 
@@ -543,3 +541,27 @@ EASY_FILL_POPOVER_AI_TITLE=\u0421\u044A\u0437\u0434\u0430\u0434\u0435\u043D\u043
543
541
  EASYFILL_RESULT_FEEDBACK=\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u0442\u0430 \u0432\u0440\u044A\u0437\u043A\u0430 \u0435 \u0438\u0437\u043F\u0440\u0430\u0442\u0435\u043D\u0430
544
542
 
545
543
  EASYFILL_CLEAR_ALL=\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442\u0432\u0430\u043D\u0435\u0442\u043E
544
+
545
+ EASY_FILL_TABLE_UPDATES_INFO=\u041E\u0442\u043A\u0440\u0438\u0442\u0438 \u0441\u0430 \u0430\u043A\u0442\u0443\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438 \u043D\u0430 \u0440\u0435\u0434\u043E\u0432\u0435\u0442\u0435 \u043D\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430 \u0438 \u0449\u0435 \u0431\u044A\u0434\u0430\u0442 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438, \u043A\u043E\u0433\u0430\u0442\u043E \u043F\u043E\u0442\u0432\u044A\u0440\u0434\u0438\u0442\u0435.
546
+
547
+ EASY_FILL_TABLE_VIEW_PREVIOUS=\u041D\u0430\u0437\u0430\u0434
548
+
549
+ EASY_FILL_TABLE_VIEW_NEW=\u041D\u043E\u0432\u043E
550
+
551
+ EASYFILL_TABLE_READONLY_TAG=\u041E\u0441\u0432\u0435\u0442\u0435\u043D\u0438\u0442\u0435 \u043F\u043E\u043B\u0435\u0442\u0430 \u043D\u0435 \u0441\u0430 \u043F\u043E\u043F\u044A\u043B\u043D\u0435\u043D\u0438
552
+
553
+ EASY_FILL_TABLE_ROW_LABEL=\u0420\u0435\u0434 {0}
554
+
555
+ EASY_FILL_TABLE_VALIDATION_MESSAGE=\u041D\u044F\u043A\u043E\u0438 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0438 \u043E\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430 \u0441\u0430 \u043D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0438 \u0437\u0430 \u043F\u043E\u043C\u043E\u0449\u0442\u0430 \u043F\u0440\u0438 \u0432\u044A\u0432\u0435\u0436\u0434\u0430\u043D\u0435 \u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\: {0}. \u0410\u043A\u0442\u0443\u0430\u043B\u0438\u0437\u0438\u0440\u0430\u0439\u0442\u0435 \u0437\u0430\u044F\u0432\u043A\u0430\u0442\u0430 \u0441\u0438 \u0438 \u043E\u043F\u0438\u0442\u0430\u0439\u0442\u0435 \u043E\u0442\u043D\u043E\u0432\u043E.
556
+
557
+ EASY_FILL_TABLE_INVALID_CELL_SUFFIX=(\u043D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E)
558
+
559
+ EASY_FILL_SECTION_HEADER=\u0417\u0430\u0433\u043B\u0430\u0432\u043A\u0430
560
+
561
+ EASY_FILL_CONDENSED_VIEW_TOOLTIP=\u041F\u0440\u0435\u0432\u043A\u043B\u044E\u0447\u0432\u0430\u043D\u0435 \u043A\u044A\u043C \u0441\u0431\u0438\u0442 \u0444\u043E\u0440\u043C\u0430\u0442
562
+
563
+ EASY_FILL_DETAILED_VIEW_TOOLTIP=\u041F\u0440\u0435\u0432\u043A\u043B\u044E\u0447\u0432\u0430\u043D\u0435 \u043A\u044A\u043C \u0444\u043E\u0440\u043C\u0430\u0442 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0437\u0430 \u043E\u0431\u0435\u043A\u0442
564
+
565
+ EASY_FILL_ENTER_FULL_SCREEN_TOOLTIP=\u041C\u0430\u043A\u0441\u0438\u043C\u0438\u0437\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u0430 \u0437\u0430 \u043F\u043E\u043F\u044A\u043B\u043D\u0435\u043D\u0438 \u043F\u043E\u043B\u0435\u0442\u0430
566
+
567
+ EASY_FILL_EXIT_FULL_SCREEN_TOOLTIP=\u041C\u0438\u043D\u0438\u043C\u0438\u0437\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u0430 \u0437\u0430 \u043F\u043E\u043F\u044A\u043B\u043D\u0435\u043D\u0438 \u043F\u043E\u043B\u0435\u0442\u0430