@sapui5/sap.suite.ui.generic.template 1.141.2 → 1.142.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -4
- package/src/sap/suite/ui/generic/template/.library +3 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_kk.properties +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/Component.js +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +58 -12
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +5 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ar.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_bg.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ca.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cnr.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cs.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cy.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_da.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_de.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_el.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_GB.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es_MX.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_et.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fi.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr_CA.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hi.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hr.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hu.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_id.properties +5 -2
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_it.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_iw.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ja.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_kk.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ko.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lt.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lv.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_mk.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ms.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_nl.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_no.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pl.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt.properties +4 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt_PT.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ro.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ru.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sh.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sk.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sl.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sr.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sv.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_th.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_tr.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_uk.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_vi.properties +5 -2
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_CN.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_TW.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +29 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +85 -21
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/RelatedAppsHandler.js +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/controllerFrameworkExtensions.js +8 -7
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ar.properties +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_vi.properties +2 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/templateSpecificPreparationHelper.js +2 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +0 -1
- package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/fragments/MessagePopover.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +0 -5
- package/src/sap/suite/ui/generic/template/js/AnnotationHelperStreamSupport.js +2 -1
- package/src/sap/suite/ui/generic/template/lib/AppComponent.js +20 -2
- package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +47 -1
- package/src/sap/suite/ui/generic/template/lib/TableNoDataHandler.js +107 -0
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillHandler.js +58 -6
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillDialog.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +44 -199
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterDataFetcherHelper.js +334 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +49 -13
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +29 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +34 -10
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +29 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +29 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +29 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +31 -7
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +32 -8
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +32 -8
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +33 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +33 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +14 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +33 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +33 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +32 -8
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +31 -7
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +28 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +26 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +38 -14
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +29 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +31 -7
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +31 -7
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +31 -7
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +33 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +31 -7
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +29 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +28 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +31 -7
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +29 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +29 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +33 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +32 -8
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +30 -6
- package/src/sap/suite/ui/generic/template/lib/insights/InsightsCardHelper.js +10 -0
- package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +6 -1
- package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartChartHandler.js +10 -5
- package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartListHandler.js +6 -1
- package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +36 -31
- package/src/sap/suite/ui/generic/template/library.js +1 -1
- package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +29 -28
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
sap.ui.define([
|
|
2
|
+
'sap/ui/model/FilterOperator',
|
|
3
|
+
'sap/ui/model/Filter',
|
|
4
|
+
'sap/suite/ui/generic/template/js/AnnotationHelper'
|
|
5
|
+
], function(FilterOperator, Filter, AnnotationHelper) {
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
const mReverseOperator = {};
|
|
9
|
+
fillReverseOperator();
|
|
10
|
+
|
|
11
|
+
function fillReverseOperator() {
|
|
12
|
+
mReverseOperator[FilterOperator.EQ] = FilterOperator.NE;
|
|
13
|
+
mReverseOperator[FilterOperator.Contains] = FilterOperator.NotContains;
|
|
14
|
+
mReverseOperator[FilterOperator.EndsWith] = FilterOperator.NotEndsWith;
|
|
15
|
+
mReverseOperator[FilterOperator.StartsWith] = FilterOperator.NotStartsWith;
|
|
16
|
+
mReverseOperator[FilterOperator.BT] = FilterOperator.NB;
|
|
17
|
+
|
|
18
|
+
mReverseOperator[FilterOperator.NE] = FilterOperator.EQ;
|
|
19
|
+
mReverseOperator[FilterOperator.NotContains] = FilterOperator.Contains;
|
|
20
|
+
mReverseOperator[FilterOperator.NotEndsWith] = FilterOperator.EndsWith;
|
|
21
|
+
mReverseOperator[FilterOperator.NotStartsWith] = FilterOperator.StartsWith;
|
|
22
|
+
mReverseOperator[FilterOperator.NB] = FilterOperator.BT;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function getFiltersForDataFetching(sKey, keySpecificSelectedResult) {
|
|
26
|
+
const aFilters = [];
|
|
27
|
+
|
|
28
|
+
for (let i = 0; i < keySpecificSelectedResult.length; ++i) {
|
|
29
|
+
const result = keySpecificSelectedResult[i];
|
|
30
|
+
if (result.operator === FilterOperator.BT || result.operator === FilterOperator.NB) {
|
|
31
|
+
aFilters.push(new Filter({
|
|
32
|
+
path: sKey,
|
|
33
|
+
operator: result.operator,
|
|
34
|
+
value1: result.selectedValues[0],
|
|
35
|
+
value2: result.selectedValues[1]
|
|
36
|
+
}));
|
|
37
|
+
} else {
|
|
38
|
+
for (let j = 0; j < result.selectedValues.length; ++j) {
|
|
39
|
+
aFilters.push(new Filter({
|
|
40
|
+
path: sKey,
|
|
41
|
+
operator: result.operator,
|
|
42
|
+
value1: result.selectedValues[j]
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return aFilters;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function isComparitveOperator(sFilter) {
|
|
51
|
+
return sFilter === FilterOperator.BT || sFilter === FilterOperator.NB ||
|
|
52
|
+
sFilter === FilterOperator.GT || sFilter === FilterOperator.LT ||
|
|
53
|
+
sFilter === FilterOperator.GE || sFilter === FilterOperator.LE;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function isNegationOperator(sOperator) {
|
|
57
|
+
return sOperator === FilterOperator.NE || sOperator === FilterOperator.NotContains ||
|
|
58
|
+
sOperator === FilterOperator.NotEndsWith || sOperator === FilterOperator.NotStartsWith ||
|
|
59
|
+
sOperator === FilterOperator.NB;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function getkeySpecifiedResultFromFilters(oFilter) {
|
|
63
|
+
let values = [];
|
|
64
|
+
if (oFilter.getOperator() === FilterOperator.BT || oFilter.getOperator() === FilterOperator.NB) {
|
|
65
|
+
values = [{
|
|
66
|
+
value: oFilter.getValue1(),
|
|
67
|
+
description: oFilter.getValue1()
|
|
68
|
+
},{
|
|
69
|
+
value: oFilter.getValue2(),
|
|
70
|
+
description: oFilter.getValue2()
|
|
71
|
+
}];
|
|
72
|
+
} else {
|
|
73
|
+
values.push({
|
|
74
|
+
value: oFilter.getValue1(),
|
|
75
|
+
description: oFilter.getValue1()
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
operator: oFilter.getOperator(),
|
|
80
|
+
selectedValues: values
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
async function fetchRecordsFromValueList(oValueList, oFilter, sKey, oSFBModel,oTemplateUtils) {
|
|
85
|
+
return new Promise((resolve, reject) => {
|
|
86
|
+
let oValueListDefaultBinding = oValueList[""];
|
|
87
|
+
let sValueListEntity = oValueListDefaultBinding.CollectionPath.String;
|
|
88
|
+
|
|
89
|
+
if (Array.isArray(oValueListDefaultBinding.Parameters)) {
|
|
90
|
+
let oParameter = oValueListDefaultBinding.Parameters.find(oParam => (oParam.RecordType === "com.sap.vocabularies.Common.v1.ValueListParameterInOut" && oParam.LocalDataProperty.PropertyPath === sKey));
|
|
91
|
+
if (oParameter) {
|
|
92
|
+
sKey = oParameter.ValueListProperty.String;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
let bIsNotOperator = isNegationOperator(oFilter.getOperator());
|
|
97
|
+
if (bIsNotOperator) {
|
|
98
|
+
oFilter = new Filter({
|
|
99
|
+
path: sKey,
|
|
100
|
+
operator: mReverseOperator[oFilter.getOperator()],
|
|
101
|
+
value1: oFilter.getValue1()
|
|
102
|
+
});
|
|
103
|
+
} else {
|
|
104
|
+
oFilter = new Filter({
|
|
105
|
+
path: sKey,
|
|
106
|
+
operator: oFilter.getOperator(),
|
|
107
|
+
value1: oFilter.getValue1()
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
oSFBModel.read("/" + sValueListEntity, {
|
|
112
|
+
filters: [oFilter],
|
|
113
|
+
success: async function(oResponse) {
|
|
114
|
+
const aResults = oResponse.results;
|
|
115
|
+
let aResponse;
|
|
116
|
+
try {
|
|
117
|
+
if (aResults.length > 0) {
|
|
118
|
+
aResponse = await getDescriptionForResponse(oResponse.results, sValueListEntity, sKey, oSFBModel,oTemplateUtils,oFilter);
|
|
119
|
+
} else {
|
|
120
|
+
aResponse = await fetchRecordsFromValueListUsingFuzzySearch(sValueListEntity, oFilter, sKey, oSFBModel,oTemplateUtils);
|
|
121
|
+
}
|
|
122
|
+
resolve({
|
|
123
|
+
operator: (bIsNotOperator) ? mReverseOperator[oFilter.getOperator()] : oFilter.getOperator(),
|
|
124
|
+
selectedValues: aResponse
|
|
125
|
+
});
|
|
126
|
+
} catch (error) {
|
|
127
|
+
reject(error);
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
error: async function(oError) {
|
|
131
|
+
//If the error is because of some property validation, we can try to do a fuzzy search
|
|
132
|
+
try {
|
|
133
|
+
const aResponse = await fetchRecordsFromValueListUsingFuzzySearch(sValueListEntity, oFilter, sKey, oSFBModel,oTemplateUtils);
|
|
134
|
+
resolve({
|
|
135
|
+
operator: (bIsNotOperator) ? mReverseOperator[oFilter.getOperator()] : oFilter.getOperator(),
|
|
136
|
+
selectedValues: aResponse
|
|
137
|
+
});
|
|
138
|
+
} catch (error) {
|
|
139
|
+
reject(error);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
async function fetchRecordsFromValueListUsingFuzzySearch(sValueListEntity, oFilter, sKey, oSFBModel,oTemplateUtils) {
|
|
147
|
+
return new Promise((resolve, reject) => {
|
|
148
|
+
oSFBModel.read("/" + sValueListEntity, {
|
|
149
|
+
urlParameters: {
|
|
150
|
+
search: oFilter.getValue1()
|
|
151
|
+
},
|
|
152
|
+
success: async function(oResponse) {
|
|
153
|
+
let aResults = oResponse.results;
|
|
154
|
+
if (aResults.length == 0) {
|
|
155
|
+
//If it dosent have any records, the return the original value
|
|
156
|
+
resolve([{
|
|
157
|
+
value: oFilter.getValue1(),
|
|
158
|
+
description: oFilter.getValue1()
|
|
159
|
+
}]);
|
|
160
|
+
} else {
|
|
161
|
+
try {
|
|
162
|
+
aResults = await getDescriptionForResponse(aResults, sValueListEntity, sKey, oSFBModel,oTemplateUtils,oFilter);
|
|
163
|
+
resolve(aResults);
|
|
164
|
+
} catch (oError) {
|
|
165
|
+
reject(oError);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
error: function(oError) {
|
|
170
|
+
reject(oError);
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
function performClientSideSearch(aResults, oFilter,sKey,sDescriptionField) {
|
|
177
|
+
if (!sKey || !sDescriptionField) {
|
|
178
|
+
return aResults;
|
|
179
|
+
}
|
|
180
|
+
if (oFilter.getOperator() === FilterOperator.EQ || oFilter.getOperator() === FilterOperator.NE) {
|
|
181
|
+
const aFilteredResults = aResults.filter(result => result[sKey].toString().toLowerCase() === oFilter.getValue1().toString().toLowerCase() || result[sDescriptionField].toString().toLowerCase() === oFilter.getValue1().toString().toLowerCase());
|
|
182
|
+
return aFilteredResults.length > 0 ? aFilteredResults : aResults;
|
|
183
|
+
}
|
|
184
|
+
return aResults;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
async function getDescriptionForResponse(aResults, sValueListEntity, sKey, oSFBModel, oTemplateUtils,oFilter) {
|
|
188
|
+
return new Promise((resolve, reject) => {
|
|
189
|
+
const aResultsWithTextArrangement = [];
|
|
190
|
+
|
|
191
|
+
let oSFBMetaModel = oSFBModel.getMetaModel();
|
|
192
|
+
let oValueHelpEntity = oTemplateUtils.oCommonUtils.getMetaModelEntityType(sValueListEntity);
|
|
193
|
+
let oValueHelpProperty = oSFBMetaModel.getODataProperty(oValueHelpEntity, sKey);
|
|
194
|
+
let sTextArrangementPath = AnnotationHelper.getTextArrangementPath(oValueHelpProperty);
|
|
195
|
+
let sTextArrangement = AnnotationHelper.getTextArrangementForEasyFilter(oValueHelpEntity, oValueHelpProperty);
|
|
196
|
+
let navigationProperty = null;
|
|
197
|
+
let sEntityForTextDescription = sValueListEntity;
|
|
198
|
+
|
|
199
|
+
if (sTextArrangementPath && sTextArrangementPath.split("/").length > 1) {
|
|
200
|
+
navigationProperty = sTextArrangementPath.split("/")[0];
|
|
201
|
+
sEntityForTextDescription = oSFBMetaModel.getODataAssociationSetEnd(oValueHelpEntity, navigationProperty).entitySet;
|
|
202
|
+
sTextArrangementPath = sTextArrangementPath.split("/")[1];
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
aResults = performClientSideSearch(aResults, oFilter,sKey,sTextArrangementPath);
|
|
206
|
+
|
|
207
|
+
if (sValueListEntity === sEntityForTextDescription) {
|
|
208
|
+
aResults.forEach((result) => {
|
|
209
|
+
aResultsWithTextArrangement.push({
|
|
210
|
+
value: result[sKey],
|
|
211
|
+
description: AnnotationHelper.getTextArrangementFinalString(result, sKey, sTextArrangementPath, sTextArrangement)
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
resolve(aResultsWithTextArrangement);
|
|
215
|
+
} else {
|
|
216
|
+
let aAllMatchedResults = aResults.map((result) => {
|
|
217
|
+
return result[sKey];
|
|
218
|
+
});
|
|
219
|
+
let aMatchedFilterResults = aAllMatchedResults.map((matchedResult) => {
|
|
220
|
+
return new Filter({
|
|
221
|
+
path: sKey,
|
|
222
|
+
operator: FilterOperator.EQ,
|
|
223
|
+
value1: matchedResult
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
// The below code only be executed when the textDescription and ValueList entities are different
|
|
228
|
+
oSFBModel.read("/" + sEntityForTextDescription, {
|
|
229
|
+
filters: aMatchedFilterResults,
|
|
230
|
+
success: function(oResponse) {
|
|
231
|
+
let aResults = oResponse.results;
|
|
232
|
+
|
|
233
|
+
aMatchedFilterResults.forEach((oFilter) => {
|
|
234
|
+
let result = aResults.find((res) => res[sKey] === oFilter.getValue1());
|
|
235
|
+
aResultsWithTextArrangement.push({
|
|
236
|
+
value: oFilter.getValue1(),
|
|
237
|
+
description: (result) ? AnnotationHelper.getTextArrangementFinalString(result, sKey, sTextArrangementPath, sTextArrangement) : oFilter.getValue1()
|
|
238
|
+
});
|
|
239
|
+
});
|
|
240
|
+
resolve(aResultsWithTextArrangement);
|
|
241
|
+
},
|
|
242
|
+
error: function(oError) {
|
|
243
|
+
reject(oError);
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* The primary responsibility of this function is to convert the given values into their corresponding
|
|
252
|
+
* IDs and Descriptions, respecting the defined TextArrangement.
|
|
253
|
+
*
|
|
254
|
+
* This process is carried out in two phases:
|
|
255
|
+
*
|
|
256
|
+
* Fetching the ID:
|
|
257
|
+
* 1) Make a $filter call using the provided value and operator.
|
|
258
|
+
* - If this returns results, we proceed to fetch the corresponding descriptions for these IDs.
|
|
259
|
+
* 2) If no results are returned, make a $search (fuzzy search) call instead.
|
|
260
|
+
*
|
|
261
|
+
* Fetching the Description:
|
|
262
|
+
* 1) The description is determined by the sap:text/com.sap.vocabularies.UI.v1.TextArrangement
|
|
263
|
+
* annotation of the ValueHelp entity, not from the main entity.
|
|
264
|
+
* 2) To fetch the description, we use a $filter call, since the IDs were already retrieved in the first step.
|
|
265
|
+
*
|
|
266
|
+
* Edge cases with negation operators:
|
|
267
|
+
* 1) For negation operators such as NB, NotStartsWith, etc., we make a batch call using the
|
|
268
|
+
* positive equivalent of these operators (e.g., BT, StartsWith).
|
|
269
|
+
* 2) After receiving the results, we return them with the original negation operator
|
|
270
|
+
* (e.g., NB, NotStartsWith).
|
|
271
|
+
*/
|
|
272
|
+
|
|
273
|
+
function fetchDataForKey(sKey, keySpecificSelectedResult, oState, oController, oTemplateUtils) {
|
|
274
|
+
return new Promise(async(resolve, reject) => {
|
|
275
|
+
try {
|
|
276
|
+
const aFinalResponse = [];
|
|
277
|
+
const oOwnerFilterControl = oState.oSmartFilterbar;
|
|
278
|
+
const sEntitySet = oController.getOwnerComponent().getEntitySet();
|
|
279
|
+
const oEntityType = oTemplateUtils.oCommonUtils.getMetaModelEntityType(sEntitySet);
|
|
280
|
+
const oSFBModel = oOwnerFilterControl.getModel();
|
|
281
|
+
const oSFBMetaModel = oSFBModel.getMetaModel();
|
|
282
|
+
const aFilters = getFiltersForDataFetching(sKey, keySpecificSelectedResult);
|
|
283
|
+
const oProperty = oSFBMetaModel.getODataProperty(oEntityType, sKey);
|
|
284
|
+
const sPropertyPath = oSFBMetaModel.getODataProperty(oEntityType, sKey, true);
|
|
285
|
+
const isValueHelpTableAvailable = AnnotationHelper.isValueHelpTableAvailable(oProperty);
|
|
286
|
+
|
|
287
|
+
if (!isValueHelpTableAvailable) {
|
|
288
|
+
// When there is no valueList associate, just return the original value in CodeList type
|
|
289
|
+
aFilters.forEach(oFilter => aFinalResponse.push(getkeySpecifiedResultFromFilters(oFilter)));
|
|
290
|
+
resolve(aFinalResponse);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
// Get value help lists from metadata
|
|
294
|
+
const oPropertyContext = oSFBMetaModel.createBindingContext(sPropertyPath);
|
|
295
|
+
const oValueList = await oSFBMetaModel.getODataValueLists(oPropertyContext);
|
|
296
|
+
|
|
297
|
+
// Process each filter in parallel
|
|
298
|
+
const pPromises = [];
|
|
299
|
+
|
|
300
|
+
for (const oFilter of aFilters) {
|
|
301
|
+
if (isComparitveOperator(oFilter.getOperator())) {
|
|
302
|
+
// For comparative operators, just add the original values
|
|
303
|
+
aFinalResponse.push(getkeySpecifiedResultFromFilters(oFilter));
|
|
304
|
+
} else {
|
|
305
|
+
// For other operators, fetch records from value list
|
|
306
|
+
pPromises.push(fetchRecordsFromValueList(oValueList, oFilter, sKey, oSFBModel, oTemplateUtils));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
// Wait for all promises to resolve
|
|
311
|
+
if (pPromises.length > 0) {
|
|
312
|
+
const aResponses = await Promise.all(pPromises);
|
|
313
|
+
aResponses.forEach(aResponse => {
|
|
314
|
+
aFinalResponse.push(aResponse);
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
resolve(aFinalResponse);
|
|
319
|
+
} catch (error) {
|
|
320
|
+
reject(error); // Re-throw to allow caller to handle
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
return {
|
|
326
|
+
fetchDataForKey: fetchDataForKey,
|
|
327
|
+
getFiltersForDataFetching: getFiltersForDataFetching,
|
|
328
|
+
isComparitveOperator: isComparitveOperator,
|
|
329
|
+
isNegationOperator: isNegationOperator,
|
|
330
|
+
getReverseOperator: function(operator) {
|
|
331
|
+
return mReverseOperator[operator];
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
});
|
|
@@ -310,7 +310,7 @@ ST_CARD_CREATION_FAILURE_REASON_SEMANTIC_DATE_FILTERS=Card creation isn\u2019t p
|
|
|
310
310
|
#XMSG: Info text
|
|
311
311
|
ST_CARD_NAVIGATION_FAILURE_INFO=Direct navigation to the object details isn’t possible from this insights card.
|
|
312
312
|
|
|
313
|
-
ST_AI_EE_BUTTON_LABEL=
|
|
313
|
+
ST_AI_EE_BUTTON_LABEL=Explain
|
|
314
314
|
|
|
315
315
|
#---Final block: texts to be redefined by the application ----------------------------------------------
|
|
316
316
|
|
|
@@ -406,12 +406,30 @@ UNNAMED_OBJECT=Unnamed Object
|
|
|
406
406
|
# XFLD,40: used in object page table when no items available in and no filter applied.
|
|
407
407
|
NOITEMS_SMARTTABLE=No items available
|
|
408
408
|
|
|
409
|
+
# XTIT: Title for illustrated message on object page table when no items available and no filter applied.
|
|
410
|
+
NOITEMS_SMARTTABLE_ILLUSTRATION_TITLE=There are no entries yet
|
|
411
|
+
|
|
412
|
+
# XTXT: Description for illustrated message on object page table when no items available and no filter applied.
|
|
413
|
+
NOITEMS_SMARTTABLE_ILLUSTRATION_DESCRIPTION=When there are, you\u2019ll see them here.
|
|
414
|
+
|
|
409
415
|
# XFLD,100: used in object page table when no items available in and filters applied.
|
|
410
416
|
NOITEMS_SMARTTABLE_WITH_FILTER=No items available. Try adjusting the search or filter parameters.
|
|
411
417
|
|
|
418
|
+
# XTIT: Title for illustrated message on object page table when no items available to match the filter conditions.
|
|
419
|
+
NOITEMS_SMARTTABLE_WITH_FILTER_ILLUSTRATION_TITLE=No results found
|
|
420
|
+
|
|
421
|
+
# XTXT: Description for illustrated message on object page table when no items available to match the filter conditions.
|
|
422
|
+
NOITEMS_SMARTTABLE_WITH_FILTER_ILLUSTRATION_DESCRIPTION=Try changing your filter criteria.
|
|
423
|
+
|
|
412
424
|
# XFLD,110: used in object page table when no items available for segmented button enabled table.
|
|
413
425
|
NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON=There are no items for the selected filter criteria and table view.
|
|
414
426
|
|
|
427
|
+
# XTIT: Title for illustrated message on object page table with segmented button when no items available.
|
|
428
|
+
NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON_ILLUSTRATION_TITLE=No results found
|
|
429
|
+
|
|
430
|
+
# XTXT: Description for illustrated message on object page table with segmented button when no items available.
|
|
431
|
+
NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON_ILLUSTRATION_DESCRIPTION=Try changing the view or filter criteria.
|
|
432
|
+
|
|
415
433
|
# XFLD,30: used in object page chart when no data found in and no filter applied.
|
|
416
434
|
NOITEMS_SMARTCHART=No data found
|
|
417
435
|
|
|
@@ -427,12 +445,30 @@ SMARTCHART_INITIAL_NODATA=To start, set the relevant filters and choose "Go".
|
|
|
427
445
|
# XFLD,30: used in list report page table when no data found in and no filter applied.
|
|
428
446
|
NOITEMS_LR_SMARTTABLE=No data found
|
|
429
447
|
|
|
448
|
+
# XTIT: Title for illustrated message on list report page table when no data found and no filter applied.
|
|
449
|
+
NOITEMS_LR_SMARTTABLE_ILLUSTRATION_TITLE=There are no entries yet
|
|
450
|
+
|
|
451
|
+
# XTXT: Description for illustrated message on list report page table when no data found and no filter applied.
|
|
452
|
+
NOITEMS_LR_SMARTTABLE_ILLUSTRATION_DESCRIPTION=When there are, you\u2019ll see them here.
|
|
453
|
+
|
|
430
454
|
# XFLD,100: used in list report page table when no data found in and filters applied.
|
|
431
455
|
NOITEMS_LR_SMARTTABLE_WITH_FILTER=No data found. Try adjusting the search or filter criteria.
|
|
432
456
|
|
|
457
|
+
# XTIT: Title for no data illustrated message on a list report table when filters applied
|
|
458
|
+
NOITEMS_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_TITLE=No results found
|
|
459
|
+
|
|
460
|
+
# XTXT: Description for no data illustrated message on a list report table when filters applied
|
|
461
|
+
NOITEMS_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_DESCRIPTION=Try changing your filter criteria.
|
|
462
|
+
|
|
433
463
|
# XFLD,100: used in list report page table when no data found for MultiView Application.
|
|
434
464
|
NOITEMS_MULTIVIEW_LR_SMARTTABLE_WITH_FILTER=There is no data for the selected filter criteria and table view.
|
|
435
465
|
|
|
466
|
+
# XTIT: Title for no data illustrated message on a multi view list report table
|
|
467
|
+
NOITEMS_MULTIVIEW_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_TITLE=No results found
|
|
468
|
+
|
|
469
|
+
# XTXT: Description for no data illustrated message on a multi view list report table
|
|
470
|
+
NOITEMS_MULTIVIEW_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_DESCRIPTION=Try changing the view or filter criteria.
|
|
471
|
+
|
|
436
472
|
# YMSG,100: used as text to suggest users to delete records individually in case of multiselect delete respons with warning
|
|
437
473
|
ST_GENERIC_DELETE_WITH_WARNING_SUGGESTION_SINGULAR=Hint: To ignore warnings, delete the object individually.
|
|
438
474
|
|
|
@@ -700,7 +736,7 @@ RTA_ENABLE_DATE_RANGE_FILTER_DESC = Enable Date Range
|
|
|
700
736
|
# XTIT: RTA Context Menu Action: Configuration
|
|
701
737
|
RTA_CONTEXT_MENU_CONFIG=Configuration
|
|
702
738
|
|
|
703
|
-
#
|
|
739
|
+
# XTIT: EasyFill title
|
|
704
740
|
EASY_FILL_TITLE = Easy Fill
|
|
705
741
|
|
|
706
742
|
# XTXT: EasyFill Description 1
|
|
@@ -712,26 +748,26 @@ EASY_FILL_SECOND_LABEL_TEXT = Use data sources like spreadsheets, notes, and ema
|
|
|
712
748
|
# XTXT: EasyFill TextArea placeholder
|
|
713
749
|
EASY_FILL_TEXTAREA_PLACEHOLDER = Provide the required information using data sources or by typing
|
|
714
750
|
|
|
715
|
-
#
|
|
751
|
+
# XTIT: EasyFill initial Illustration title
|
|
716
752
|
EASY_FILL_ILLUSTRATION_TITLE_INITIAL = Let\u2019s fill in some fields
|
|
717
753
|
|
|
718
754
|
# XTXT: EasyFill initial Illustration description
|
|
719
755
|
EASY_FILL_ILLUSTRATION_DESCRIPTION_INITIAL = Start by providing the required information to see the proposed results.
|
|
720
756
|
|
|
721
|
-
#
|
|
757
|
+
# XTIT: EasyFill no entries Illustration title
|
|
722
758
|
EASY_FILL_ILLUSTRATION_TITLE_NO_ENTRIES = No fields filled in
|
|
723
759
|
|
|
724
760
|
# XTXT: EasyFill no entries Illustration description
|
|
725
761
|
EASY_FILL_ILLUSTRATION_DESCRIPTION_NO_ENTRIES = We couldn\u2019t match your query to any of the existing fields.
|
|
726
762
|
|
|
727
|
-
#
|
|
763
|
+
# XTIT: EasyFill error Illustration title
|
|
728
764
|
EASY_FILL_ILLUSTRATION_TITLE_ERROR = Unable to fill in the fields
|
|
729
765
|
|
|
730
766
|
# XTXT: EasyFill error Illustration description
|
|
731
767
|
EASY_FILL_ILLUSTRATION_DESCRIPTION_ERROR =It looks like an error occurred. Try again and if that doesn\u2019t help, check with your administrator.
|
|
732
768
|
|
|
733
|
-
#
|
|
734
|
-
|
|
769
|
+
# XBUT: EasyFill save
|
|
770
|
+
EASY_FILL_CONFIRM = Confirm
|
|
735
771
|
|
|
736
772
|
# XTXT: EasyFill AI Notice link
|
|
737
773
|
AI_LINK_NOTICE_TITLE = Created with AI.
|
|
@@ -739,19 +775,19 @@ AI_LINK_NOTICE_TITLE = Created with AI.
|
|
|
739
775
|
# XTXT: EasyFill AI Notice warning
|
|
740
776
|
AI_WARNING_TEXT = Verify results before use.
|
|
741
777
|
|
|
742
|
-
#
|
|
778
|
+
# XTIT: EasyFill fillable fields title
|
|
743
779
|
EASY_FILL_FILLED_FIELDS = Filled Fields
|
|
744
780
|
|
|
745
|
-
#
|
|
781
|
+
# XTIT: EasyFill unable to fill fields title
|
|
746
782
|
EASY_FILL_UNABLE_FILL = Unable to Fill
|
|
747
783
|
|
|
748
784
|
# XTXT: EasyFill warning message
|
|
749
785
|
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.
|
|
750
786
|
|
|
751
|
-
#
|
|
787
|
+
# XTIT: EasyFill proposed values
|
|
752
788
|
EASY_FILL_PROPOSED_VALUES = Proposed Values
|
|
753
789
|
|
|
754
|
-
#
|
|
790
|
+
# XTIT: EasyFill previous values
|
|
755
791
|
EASY_FILL_PREVIOUS_VALUES = Previous Values
|
|
756
792
|
|
|
757
793
|
# XTXT: EasyFill AINotice link popover text
|
|
@@ -760,11 +796,11 @@ EASY_FILL_POPOVER_AI_TEXT_1=The content was partially or fully generated by arti
|
|
|
760
796
|
# XTXT: EasyFill AINotice link popover text
|
|
761
797
|
EASY_FILL_POPOVER_AI_TEXT_2=The AI-generated content may contain inaccuracies due to using multiple information sources. Verify results before use.
|
|
762
798
|
|
|
763
|
-
#
|
|
799
|
+
# XTIT: EasyFill Popover title
|
|
764
800
|
EASY_FILL_POPOVER_AI_TITLE=Created with AI
|
|
765
801
|
|
|
766
802
|
# XTXT: EasyFill feedback request
|
|
767
803
|
EASYFILL_RESULT_FEEDBACK=Feedback sent
|
|
768
804
|
|
|
769
|
-
#
|
|
805
|
+
# XBUT: EasyFill clear all
|
|
770
806
|
EASYFILL_CLEAR_ALL=Clear All
|
|
@@ -200,7 +200,7 @@ ST_CARD_CREATION_FAILURE_REASON_SEMANTIC_DATE_FILTERS=\u0644\u0627 \u064A\u0645\
|
|
|
200
200
|
|
|
201
201
|
ST_CARD_NAVIGATION_FAILURE_INFO=\u0627\u0644\u062A\u0646\u0642\u0644 \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0625\u0644\u0649 \u062A\u0641\u0627\u0635\u064A\u0644 \u0627\u0644\u0643\u0627\u0626\u0646 \u063A\u064A\u0631 \u0645\u0645\u0643\u0646 \u0645\u0646 \u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0644\u0645\u062D\u0627\u062A \u0627\u0644\u0639\u0627\u0645\u0629 \u0647\u0630\u0647.
|
|
202
202
|
|
|
203
|
-
ST_AI_EE_BUTTON_LABEL=\
|
|
203
|
+
ST_AI_EE_BUTTON_LABEL=\u0634\u0631\u062D
|
|
204
204
|
|
|
205
205
|
|
|
206
206
|
|
|
@@ -263,10 +263,22 @@ UNNAMED_OBJECT=\u0643\u0627\u0626\u0646 \u062F\u0648\u0646 \u0627\u0633\u0645
|
|
|
263
263
|
|
|
264
264
|
NOITEMS_SMARTTABLE=\u0644\u0627 \u062A\u062A\u0648\u0641\u0631 \u0623\u064A\u0629 \u0628\u0646\u0648\u062F.
|
|
265
265
|
|
|
266
|
+
NOITEMS_SMARTTABLE_ILLUSTRATION_TITLE=\u0644\u0627 \u062A\u0648\u062C\u062F \u0623\u064A \u0625\u062F\u062E\u0627\u0644\u0627\u062A \u0628\u0639\u062F
|
|
267
|
+
|
|
268
|
+
NOITEMS_SMARTTABLE_ILLUSTRATION_DESCRIPTION=\u0628\u0645\u062C\u0631\u062F \u0623\u0646 \u062A\u062A\u0648\u0641\u0631\u060C \u0633\u062A\u0638\u0647\u0631 \u0647\u0646\u0627.
|
|
269
|
+
|
|
266
270
|
NOITEMS_SMARTTABLE_WITH_FILTER=\u0644\u0627\u0628\u0646\u0648\u062F.\u0639\u062F\u0644 \u0645\u0639\u0627\u0645\u0644\u0627\u062A \u0628\u062D\u062B \u0623\u0648\u062A\u0635\u0641\u064A\u0629
|
|
267
271
|
|
|
272
|
+
NOITEMS_SMARTTABLE_WITH_FILTER_ILLUSTRATION_TITLE=\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0623\u064A \u0646\u062A\u0627\u0626\u062C
|
|
273
|
+
|
|
274
|
+
NOITEMS_SMARTTABLE_WITH_FILTER_ILLUSTRATION_DESCRIPTION=\u062D\u0627\u0648\u0644 \u062A\u063A\u064A\u064A\u0631 \u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0643.
|
|
275
|
+
|
|
268
276
|
NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON=\u0644\u0627 \u0628\u0646\u0648\u062F \u0644\u0639\u0631\u0636 \u062C\u062F\u0648\u0644 \u0648\u062A\u0635\u0641\u064A\u0629 \u0645\u062D\u062F\u062F\u0629
|
|
269
277
|
|
|
278
|
+
NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON_ILLUSTRATION_TITLE=\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0623\u064A \u0646\u062A\u0627\u0626\u062C
|
|
279
|
+
|
|
280
|
+
NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON_ILLUSTRATION_DESCRIPTION=\u062D\u0627\u0648\u0644 \u062A\u063A\u064A\u064A\u0631 \u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0623\u0648 \u0627\u0644\u0639\u0631\u0636.
|
|
281
|
+
|
|
270
282
|
NOITEMS_SMARTCHART=\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0623\u064A \u0628\u064A\u0627\u0646\u0627\u062A.
|
|
271
283
|
|
|
272
284
|
NOITEMS_LR_SMARTCHART=\u0644\u0627 \u062A\u0648\u062C\u062F \u0628\u064A\u0627\u0646\u0627\u062A \u0644\u0639\u0631\u0636 \u0627\u0644\u0645\u062E\u0637\u0637 \u0648\u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u0645\u062D\u062F\u062F\u0629.
|
|
@@ -277,10 +289,22 @@ SMARTCHART_INITIAL_NODATA=\u0644\u0644\u0628\u062F\u0621\u060C \u0639\u064A\u065
|
|
|
277
289
|
|
|
278
290
|
NOITEMS_LR_SMARTTABLE=\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0623\u064A \u0628\u064A\u0627\u0646\u0627\u062A.
|
|
279
291
|
|
|
292
|
+
NOITEMS_LR_SMARTTABLE_ILLUSTRATION_TITLE=\u0644\u0627 \u062A\u0648\u062C\u062F \u0623\u064A \u0625\u062F\u062E\u0627\u0644\u0627\u062A \u0628\u0639\u062F
|
|
293
|
+
|
|
294
|
+
NOITEMS_LR_SMARTTABLE_ILLUSTRATION_DESCRIPTION=\u0628\u0645\u062C\u0631\u062F \u0623\u0646 \u062A\u062A\u0648\u0641\u0631\u060C \u0633\u062A\u0638\u0647\u0631 \u0647\u0646\u0627.
|
|
295
|
+
|
|
280
296
|
NOITEMS_LR_SMARTTABLE_WITH_FILTER=\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u064A\u0627\u0646\u0627\u062A.\u062D\u0627\u0648\u0644 \u062A\u0639\u062F\u064A\u0644 \u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u0628\u062D\u062B \u0623\u0648 \u0627\u0644\u062A\u0635\u0641\u064A\u0629.
|
|
281
297
|
|
|
298
|
+
NOITEMS_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_TITLE=\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0623\u064A \u0646\u062A\u0627\u0626\u062C
|
|
299
|
+
|
|
300
|
+
NOITEMS_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_DESCRIPTION=\u062D\u0627\u0648\u0644 \u062A\u063A\u064A\u064A\u0631 \u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0643.
|
|
301
|
+
|
|
282
302
|
NOITEMS_MULTIVIEW_LR_SMARTTABLE_WITH_FILTER=\u0644\u0627 \u062A\u0648\u062C\u062F \u0628\u064A\u0627\u0646\u0627\u062A \u0644\u0639\u0631\u0636 \u0627\u0644\u062C\u062F\u0648\u0644 \u0648\u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u0645\u062D\u062F\u062F\u0629.
|
|
283
303
|
|
|
304
|
+
NOITEMS_MULTIVIEW_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_TITLE=\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0623\u064A \u0646\u062A\u0627\u0626\u062C
|
|
305
|
+
|
|
306
|
+
NOITEMS_MULTIVIEW_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_DESCRIPTION=\u062D\u0627\u0648\u0644 \u062A\u063A\u064A\u064A\u0631 \u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0623\u0648 \u0627\u0644\u0639\u0631\u0636.
|
|
307
|
+
|
|
284
308
|
ST_GENERIC_DELETE_WITH_WARNING_SUGGESTION_SINGULAR=\u062A\u0644\u0645\u064A\u062D\:\u0644\u062A\u062C\u0627\u0647\u0644 \u062A\u060C\u0627\u062D\u0630\u0641 \u0643\u0627\u0626\u0646 \u0641\u0631\u062F\u064A.
|
|
285
309
|
|
|
286
310
|
ST_GENERIC_DELETE_WITH_WARNING_SUGGESTION_PLURAL=\u062A\u0644\u0645\u064A\u062D\:\u0644\u062A\u062C\u0627\u0647\u0644 \u062A\u062D\u0630\u064A\u0631\u0627\u062D\u0630\u0641 \u0643 \u0641\u0631\u062F\u064A.
|
|
@@ -462,23 +486,23 @@ EASY_FILL_TITLE=\u0645\u0644\u0621 \u0633\u0647\u0644
|
|
|
462
486
|
|
|
463
487
|
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.
|
|
464
488
|
|
|
465
|
-
EASY_FILL_SECOND_LABEL_TEXT=\u0627\u0633\u062A\u062E\u062F\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 \
|
|
489
|
+
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".
|
|
466
490
|
|
|
467
491
|
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.
|
|
468
492
|
|
|
469
493
|
EASY_FILL_ILLUSTRATION_TITLE_INITIAL=\u062F\u0639\u0646\u0627 \u0646\u0645\u0644\u0623 \u0628\u0639\u0636 \u0627\u0644\u062D\u0642\u0648\u0644
|
|
470
494
|
|
|
471
|
-
EASY_FILL_ILLUSTRATION_DESCRIPTION_INITIAL=\u0627\u0628\u062F\
|
|
495
|
+
EASY_FILL_ILLUSTRATION_DESCRIPTION_INITIAL=\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0628\u062F\u0621 \u0628\u062A\u0642\u062F\u064A\u0645 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0644\u0639\u0631\u0636 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0627\u0644\u0645\u0642\u062A\u0631\u062D\u0629.
|
|
472
496
|
|
|
473
497
|
EASY_FILL_ILLUSTRATION_TITLE_NO_ENTRIES=\u0644\u0645 \u064A\u062A\u0645 \u0645\u0644\u0621 \u0627\u0644\u062D\u0642\u0648\u0644
|
|
474
498
|
|
|
475
499
|
EASY_FILL_ILLUSTRATION_DESCRIPTION_NO_ENTRIES=\u0644\u0645 \u0646\u062A\u0645\u0643\u0646 \u0645\u0646 \u0645\u0637\u0627\u0628\u0642\u0629 \u0627\u0633\u062A\u0639\u0644\u0627\u0645\u0643 \u0645\u0639 \u0623\u064A \u0645\u0646 \u0627\u0644\u062D\u0642\u0648\u0644 \u0627\u0644\u0645\u0648\u062C\u0648\u062F\u0629.
|
|
476
500
|
|
|
477
|
-
EASY_FILL_ILLUSTRATION_TITLE_ERROR=\u062A\u0639\u0630\u0631 \u0645\u0644\u0621 \u0627\u0644\u062D\u0642\u0648\u0644
|
|
501
|
+
EASY_FILL_ILLUSTRATION_TITLE_ERROR=\u064A\u062A\u0639\u0630\u0631 \u0645\u0644\u0621 \u0627\u0644\u062D\u0642\u0648\u0644
|
|
478
502
|
|
|
479
503
|
EASY_FILL_ILLUSTRATION_DESCRIPTION_ERROR=\u064A\u0628\u062F\u0648 \u0623\u0646\u0647 \u0642\u062F \u062D\u062F\u062B \u062E\u0637\u0623. \u062D\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649\u060C \u0648\u0625\u0630\u0627 \u0644\u0645 \u064A\u0633\u0627\u0639\u062F \u0630\u0644\u0643\u060C \u0641\u062A\u0623\u0643\u062F \u0645\u0646 \u0630\u0644\u0643 \u0645\u0639 \u0627\u0644\u0645\u0633\u0624\u0648\u0644 \u0644\u062F\u064A\u0643.
|
|
480
504
|
|
|
481
|
-
|
|
505
|
+
EASY_FILL_CONFIRM=\u062A\u0623\u0643\u064A\u062F
|
|
482
506
|
|
|
483
507
|
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.
|
|
484
508
|
|
|
@@ -488,7 +512,7 @@ EASY_FILL_FILLED_FIELDS=\u0627\u0644\u062D\u0642\u0648\u0644 \u0627\u0644\u0645\
|
|
|
488
512
|
|
|
489
513
|
EASY_FILL_UNABLE_FILL=\u064A\u062A\u0639\u0630\u0631 \u0627\u0644\u0645\u0644\u0621
|
|
490
514
|
|
|
491
|
-
EASY_FILL_WARNING_MESSAGE=\
|
|
515
|
+
EASY_FILL_WARNING_MESSAGE=\u0644\u0627 \u064A\u0645\u0643\u0646 \u0645\u0644\u0621 \u0627\u0644\u062D\u0642\u0648\u0644\u060C \u0639\u0644\u0649 \u0633\u0628\u064A\u0644 \u0627\u0644\u0645\u062B\u0627\u0644 \u0644\u0623\u0646\u0647\u0627 \u062D\u0642\u0648\u0644 \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637 \u0623\u0648 \u0623\u0646\u0643 \u063A\u064A\u0631 \u0645\u0641\u0648\u0651\u064E\u0636 \u0628\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u062D\u0642\u0648\u0644.
|
|
492
516
|
|
|
493
517
|
EASY_FILL_PROPOSED_VALUES=\u0627\u0644\u0642\u064A\u0645 \u0627\u0644\u0645\u0642\u062A\u0631\u062D\u0629
|
|
494
518
|
|