complexqa_frontend_core 1.27.3 → 1.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/publish/api/api_abstract_element_class.js +35 -0
- package/publish/app_configuration/locale_table_tt.js +267 -0
- package/publish/app_configuration/table/sections/test_case_step.js +66 -66
- package/publish/app_configuration/table/table_base_config.js +5 -1
- package/publish/types/core/0_familyGeneralElement.js +43 -0
- package/publish/types/element_translate/typeCustomProperty.i18n.js +37 -0
- package/publish/types/element_translate/typeCustomPropertyValue.i18n.js +27 -0
- package/publish/types/element_translate/typeEvent.i18n.js +36 -36
- package/publish/types/element_translate/typeFile.i18n.js +21 -0
- package/publish/types/element_translate/typeFileScreenshot.i18n.js +1 -0
- package/publish/types/element_translate/typeTag.i18n.js +10 -0
- package/publish/types/element_translate/typeTagRelation.i18n.js +19 -0
- package/publish/types/element_translate/typeTeamDomain.i18n.js +28 -0
- package/publish/types/element_translate/typeTestCase.i18n.js +414 -414
- package/publish/types/element_translate/typeTestCaseStep.i18n.js +179 -179
- package/publish/types/element_translate/typeUtilExecutionUrlInspect.i18n.js +21 -0
- package/publish/types/element_translate/typeUtilExecutionUrlInspectCheck.i18n.js +47 -0
- package/publish/types/family_elements/0_familyGeneralElement.js +43 -0
- package/publish/types/family_elements/typeTestCase.js +5 -6
- package/publish/types/family_elements/typeTestCaseStep.js +2 -2
package/package.json
CHANGED
|
@@ -69,6 +69,41 @@ export class ApiAbstractElementClass extends ApiAbstractClass
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
|
|
72
|
+
/**
|
|
73
|
+
* Mass create. Payload: `{ items: object[] }`.
|
|
74
|
+
* Backend implements this per module; test_case is the first.
|
|
75
|
+
*
|
|
76
|
+
* @version v.1.0 (29/08/2026)
|
|
77
|
+
* @param payload
|
|
78
|
+
*/
|
|
79
|
+
async create_mass(payload)
|
|
80
|
+
{
|
|
81
|
+
if (!this.module_prefix)
|
|
82
|
+
{
|
|
83
|
+
throw new Error('Error #10-1152 in ApiAbstractClass');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (this.stage === 'development')
|
|
87
|
+
{
|
|
88
|
+
return {
|
|
89
|
+
response: payload,
|
|
90
|
+
payload : payload
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
let url = `/${ this.api_prefix }/${ this.module_prefix }/create_mass`;
|
|
95
|
+
|
|
96
|
+
payload = this.handle_request_payload(payload);
|
|
97
|
+
let response = this.api_request(url, payload);
|
|
98
|
+
response = this.handle_response(response, false);
|
|
99
|
+
|
|
100
|
+
return {
|
|
101
|
+
response: response,
|
|
102
|
+
payload : payload
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
|
|
72
107
|
/**
|
|
73
108
|
*
|
|
74
109
|
* @version v.0.1 (08/03/2026)
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
export const LOCALE_AG_GRID_TT = {
|
|
2
|
+
// Фильтр сайлау
|
|
3
|
+
selectAll: '(Барысын билгеләү)',
|
|
4
|
+
selectAllSearchResults: '(Эзләү нәтиҗәләренең барысын билгеләү)',
|
|
5
|
+
searchOoo: 'Эзләү...',
|
|
6
|
+
blanks: '(Буш)',
|
|
7
|
+
noMatches: 'Туры килүләр юк',
|
|
8
|
+
|
|
9
|
+
// Сан фильтры һәм текст фильтры
|
|
10
|
+
filterOoo: 'Фильтрлау...',
|
|
11
|
+
equals: 'Тигез',
|
|
12
|
+
notEqual: 'Тигез түгел',
|
|
13
|
+
empty: 'Берсен сайлагыз',
|
|
14
|
+
|
|
15
|
+
// Сан фильтры
|
|
16
|
+
lessThan: 'Кечерәк',
|
|
17
|
+
greaterThan: 'Зуррак',
|
|
18
|
+
lessThanOrEqual: 'Кечерәк яки тигез',
|
|
19
|
+
greaterThanOrEqual: 'Зуррак яки тигез',
|
|
20
|
+
inRange: 'Аралыкта',
|
|
21
|
+
inRangeStart: 'дан',
|
|
22
|
+
inRangeEnd: 'га',
|
|
23
|
+
|
|
24
|
+
// Текст фильтры
|
|
25
|
+
contains: 'Эчендә бар',
|
|
26
|
+
notContains: 'Эчендә юк',
|
|
27
|
+
startsWith: 'Башлана',
|
|
28
|
+
endsWith: 'Бетә',
|
|
29
|
+
|
|
30
|
+
// Дата фильтры
|
|
31
|
+
dateFormatOoo: 'dd-mm-yyyy',
|
|
32
|
+
|
|
33
|
+
// Фильтр шартлары
|
|
34
|
+
andCondition: 'ҺӘМ',
|
|
35
|
+
orCondition: 'ЯКИ',
|
|
36
|
+
|
|
37
|
+
// Фильтр төймәләре
|
|
38
|
+
applyFilter: 'Куллану',
|
|
39
|
+
resetFilter: 'Ташлау',
|
|
40
|
+
clearFilter: 'Чистарту',
|
|
41
|
+
cancelFilter: 'Баш тарту',
|
|
42
|
+
|
|
43
|
+
// Фильтр башлангычлары
|
|
44
|
+
textFilter: 'Текст фильтры',
|
|
45
|
+
numberFilter: 'Сан фильтры',
|
|
46
|
+
dateFilter: 'Дата фильтры',
|
|
47
|
+
setFilter: 'Фильтр сайлау',
|
|
48
|
+
|
|
49
|
+
// Ян панель
|
|
50
|
+
columns: 'Баганалар',
|
|
51
|
+
filters: 'Фильтрлар',
|
|
52
|
+
|
|
53
|
+
// Багана кораллары
|
|
54
|
+
pivotMode: 'Свод таблица режимы',
|
|
55
|
+
groups: 'Юл төркемнәре',
|
|
56
|
+
rowGroupColumnsEmptyMessage: 'Юллар буенча төркемләү өчен монда тартыгыз',
|
|
57
|
+
values: 'Кыйммәтләр',
|
|
58
|
+
valueColumnsEmptyMessage: 'Агрегация өчен монда тартыгыз',
|
|
59
|
+
pivots: 'Багана башлангычлары',
|
|
60
|
+
pivotColumnsEmptyMessage: 'Багана башлангычлары өчен монда тартыгыз',
|
|
61
|
+
|
|
62
|
+
// Төркем башлангычы
|
|
63
|
+
group: 'Төркем',
|
|
64
|
+
|
|
65
|
+
// Башка
|
|
66
|
+
loadingOoo: 'Йөкләнә...',
|
|
67
|
+
noRowsToShow: 'Мәгълүмат юк',
|
|
68
|
+
enabled: 'Кабызылган',
|
|
69
|
+
|
|
70
|
+
// Меню
|
|
71
|
+
pinColumn: 'Багананы беркетү',
|
|
72
|
+
pinLeft: 'Сулга беркетү',
|
|
73
|
+
pinRight: 'Уңга беркетү',
|
|
74
|
+
noPin: 'Беркетмәскә',
|
|
75
|
+
valueAggregation: 'Кыйммәт буенча агрегация',
|
|
76
|
+
autosizeThiscolumn: 'Бу багана зурлыгын автоматик кую',
|
|
77
|
+
autosizeAllColumns: 'Барлык багана зурлыгын автоматик кую',
|
|
78
|
+
groupBy: 'Төркемләү',
|
|
79
|
+
ungroupBy: 'Төркемне алу',
|
|
80
|
+
resetColumns: 'Баганаларны ташлау',
|
|
81
|
+
expandAll: 'Барысын җәю',
|
|
82
|
+
collapseAll: 'Барысын җыю',
|
|
83
|
+
copy: 'Күчерү',
|
|
84
|
+
ctrlC: 'Ctrl+C',
|
|
85
|
+
copyWithHeaders: 'Башлангычлар белән күчерү',
|
|
86
|
+
paste: 'Кую',
|
|
87
|
+
ctrlV: 'Ctrl+V',
|
|
88
|
+
export: 'Экспорт',
|
|
89
|
+
csvExport: 'CSV-га экспорт (.csv)',
|
|
90
|
+
excelExport: 'Excel-га экспорт (.xlsx)',
|
|
91
|
+
excelXmlExport: 'XML-га экспорт (.xml)',
|
|
92
|
+
|
|
93
|
+
// Агрегация
|
|
94
|
+
sum: 'Сумма',
|
|
95
|
+
min: 'Минимум',
|
|
96
|
+
max: 'Максимум',
|
|
97
|
+
none: 'Буш',
|
|
98
|
+
count: 'Сан',
|
|
99
|
+
avg: 'Уртача',
|
|
100
|
+
filteredRows: 'Фильтрланган',
|
|
101
|
+
selectedRows: 'Сайланган',
|
|
102
|
+
totalRows: 'Барлык юллар',
|
|
103
|
+
totalAndFilteredRows: 'Юллар',
|
|
104
|
+
more: 'күбрәк',
|
|
105
|
+
to: 'дан',
|
|
106
|
+
of: '/',
|
|
107
|
+
page: 'Бит',
|
|
108
|
+
nextPage: 'Киләсе бит',
|
|
109
|
+
lastPage: 'Соңгы бит',
|
|
110
|
+
firstPage: 'Беренче бит',
|
|
111
|
+
previousPage: 'Алдагы бит',
|
|
112
|
+
|
|
113
|
+
// Корпоратив меню (графиклар)
|
|
114
|
+
pivotChartAndPivotMode: 'Свод диаграмма һәм свод режим',
|
|
115
|
+
pivotChart: 'Свод диаграмма',
|
|
116
|
+
chartRange: 'Диаграмма аралыгы',
|
|
117
|
+
|
|
118
|
+
columnChart: 'Багана диаграммасы',
|
|
119
|
+
groupedColumn: 'Төркемләнгән',
|
|
120
|
+
stackedColumn: 'Кабатланган',
|
|
121
|
+
normalizedColumn: '100% кабатланган',
|
|
122
|
+
|
|
123
|
+
barChart: 'Панель',
|
|
124
|
+
groupedBar: 'Төркемләнгән',
|
|
125
|
+
stackedBar: 'Кабатланган',
|
|
126
|
+
normalizedBar: '100% кабатланган',
|
|
127
|
+
|
|
128
|
+
pieChart: 'Түгәрәк диаграмма',
|
|
129
|
+
pie: 'Түгәрәк диаграмма',
|
|
130
|
+
doughnut: 'Боҗра диаграммасы',
|
|
131
|
+
|
|
132
|
+
line: 'Сызык',
|
|
133
|
+
|
|
134
|
+
xyChart: 'X Y (Чәчү)',
|
|
135
|
+
scatter: 'Чәчү диаграммасы',
|
|
136
|
+
bubble: 'Куык диаграммасы',
|
|
137
|
+
|
|
138
|
+
areaChart: 'Мәйдан',
|
|
139
|
+
area: 'Мәйданлы диаграмма',
|
|
140
|
+
stackedArea: 'Кабатланган',
|
|
141
|
+
normalizedArea: '100% кабатланган',
|
|
142
|
+
|
|
143
|
+
histogramChart: 'Гистограмма',
|
|
144
|
+
|
|
145
|
+
// Графиклар
|
|
146
|
+
pivotChartTitle: 'Свод диаграмма',
|
|
147
|
+
rangeChartTitle: 'Аралык графигы',
|
|
148
|
+
settings: 'Көйләүләр',
|
|
149
|
+
data: 'Мәгълүмат',
|
|
150
|
+
format: 'Формат',
|
|
151
|
+
categories: 'Категорияләр',
|
|
152
|
+
defaultCategory: '(Буш)',
|
|
153
|
+
series: 'Серияләр',
|
|
154
|
+
xyValues: 'X Y кыйммәтләре',
|
|
155
|
+
paired: 'Парлы режим',
|
|
156
|
+
axis: 'Күчәр',
|
|
157
|
+
navigator: 'Навигация',
|
|
158
|
+
color: 'Төс',
|
|
159
|
+
thickness: 'Калынлык',
|
|
160
|
+
xType: 'X тип',
|
|
161
|
+
automatic: 'Автоматик',
|
|
162
|
+
category: 'Категория',
|
|
163
|
+
number: 'Сан',
|
|
164
|
+
time: 'Вакыт',
|
|
165
|
+
xRotation: 'X борылу',
|
|
166
|
+
yRotation: 'Y борылу',
|
|
167
|
+
ticks: 'Билгеләр',
|
|
168
|
+
width: 'Киңлек',
|
|
169
|
+
height: 'Биеклек',
|
|
170
|
+
length: 'Озынлык',
|
|
171
|
+
padding: 'Эчке ара',
|
|
172
|
+
spacing: 'Ара',
|
|
173
|
+
chart: 'Диаграмма',
|
|
174
|
+
title: 'Башлангыч',
|
|
175
|
+
titlePlaceholder: 'Диаграмма башлангычы — үзгәртү өчен ике тапкыр басыгыз',
|
|
176
|
+
background: 'Фон',
|
|
177
|
+
font: 'Шрифт',
|
|
178
|
+
top: 'Өс',
|
|
179
|
+
right: 'Уң',
|
|
180
|
+
bottom: 'Ас',
|
|
181
|
+
left: 'Сул',
|
|
182
|
+
labels: 'Ярлыклар',
|
|
183
|
+
size: 'Зурлык',
|
|
184
|
+
minSize: 'Минималь зурлык',
|
|
185
|
+
maxSize: 'Максималь зурлык',
|
|
186
|
+
legend: 'Легенда',
|
|
187
|
+
position: 'Урын',
|
|
188
|
+
markerSize: 'Маркер зурлыгы',
|
|
189
|
+
markerStroke: 'Маркер сызыгы',
|
|
190
|
+
markerPadding: 'Маркер эчке арасы',
|
|
191
|
+
itemSpacing: 'Элементлар арасы',
|
|
192
|
+
itemPaddingX: 'Элементның X эчке арасы',
|
|
193
|
+
itemPaddingY: 'Элементның Y эчке арасы',
|
|
194
|
+
layoutHorizontalSpacing: 'Горизонталь ара',
|
|
195
|
+
layoutVerticalSpacing: 'Вертикаль ара',
|
|
196
|
+
strokeWidth: 'Сызык киңлеге',
|
|
197
|
+
offset: 'Күчерү',
|
|
198
|
+
offsets: 'Күчерүләр',
|
|
199
|
+
tooltips: 'Калкып чыгучы ярдәм',
|
|
200
|
+
callout: 'Чагыштыру',
|
|
201
|
+
markers: 'Маркерлар',
|
|
202
|
+
shadow: 'Күләгә',
|
|
203
|
+
blur: 'Томанлану',
|
|
204
|
+
xOffset: 'X күчерүе',
|
|
205
|
+
yOffset: 'Y күчерүе',
|
|
206
|
+
lineWidth: 'Сызык киңлеге',
|
|
207
|
+
normal: 'Гади',
|
|
208
|
+
bold: 'Калын',
|
|
209
|
+
italic: 'Авыш',
|
|
210
|
+
boldItalic: 'Калын авыш',
|
|
211
|
+
predefined: 'Әзер',
|
|
212
|
+
fillOpacity: 'Тутыру үтә күренмәлеге',
|
|
213
|
+
strokeOpacity: 'Сызык үтә күренмәлеге',
|
|
214
|
+
histogramBinCount: 'Сегментлар саны',
|
|
215
|
+
columnGroup: 'Багана',
|
|
216
|
+
barGroup: 'Панель',
|
|
217
|
+
pieGroup: 'Түгәрәк',
|
|
218
|
+
lineGroup: 'Сызыклы',
|
|
219
|
+
scatterGroup: 'X Y (Чәчү)',
|
|
220
|
+
areaGroup: 'Мәйданлы',
|
|
221
|
+
histogramGroup: 'Гистограмма',
|
|
222
|
+
groupedColumnTooltip: 'Төркемләнгән',
|
|
223
|
+
stackedColumnTooltip: 'Кабатланган',
|
|
224
|
+
normalizedColumnTooltip: '100% кабатланган',
|
|
225
|
+
groupedBarTooltip: 'Төркемләнгән',
|
|
226
|
+
stackedBarTooltip: 'Кабатланган',
|
|
227
|
+
normalizedBarTooltip: '100% кабатланган',
|
|
228
|
+
pieTooltip: 'Түгәрәк',
|
|
229
|
+
doughnutTooltip: 'Боҗра',
|
|
230
|
+
lineTooltip: 'Сызыклы',
|
|
231
|
+
groupedAreaTooltip: 'Мәйданлы',
|
|
232
|
+
stackedAreaTooltip: 'Кабатланган',
|
|
233
|
+
normalizedAreaTooltip: '100% кабатланган',
|
|
234
|
+
scatterTooltip: 'Чәчү',
|
|
235
|
+
bubbleTooltip: 'Куык',
|
|
236
|
+
histogramTooltip: 'Гистограмма',
|
|
237
|
+
noDataToChart: 'Диаграмма өчен мәгълүмат юк.',
|
|
238
|
+
pivotChartRequiresPivotMode: 'Свод диаграмма өчен свод режимны кабызырга кирәк.',
|
|
239
|
+
chartSettingsToolbarTooltip: 'Меню',
|
|
240
|
+
chartLinkToolbarTooltip: 'Челтәр белән бәйләү',
|
|
241
|
+
chartUnlinkToolbarTooltip: 'Челтәрдән азу',
|
|
242
|
+
chartDownloadToolbarTooltip: 'Диаграмманы йөкләү',
|
|
243
|
+
|
|
244
|
+
// ARIA
|
|
245
|
+
ariaHidden: 'яшерен',
|
|
246
|
+
ariaVisible: 'күренә',
|
|
247
|
+
ariaChecked: 'билгеләнгән',
|
|
248
|
+
ariaUnchecked: 'билгеләнмәгән',
|
|
249
|
+
ariaIndeterminate: 'билгесез',
|
|
250
|
+
ariaColumnSelectAll: 'Барлык баганаларны сайлауны күчерү',
|
|
251
|
+
ariaInputEditor: 'Кертү редакторы',
|
|
252
|
+
ariaDateFilterInput: 'Дата фильтры кертүе',
|
|
253
|
+
ariaFilterInput: 'Фильтр кертүе',
|
|
254
|
+
ariaFilterColumnsInput: 'Багана фильтры кертүе',
|
|
255
|
+
ariaFilterValue: 'Фильтр кыйммәте',
|
|
256
|
+
ariaFilterFromValue: 'Кыйммәттән фильтрлау',
|
|
257
|
+
ariaFilterToValue: 'Кыйммәткә кадәр фильтрлау',
|
|
258
|
+
ariaFilteringOperator: 'Фильтрлау операторы',
|
|
259
|
+
ariaColumnToggleVisibility: 'багана күренүен күчерү',
|
|
260
|
+
ariaColumnGroupToggleVisibility: 'багана төркеме күренүен күчерү',
|
|
261
|
+
ariaRowSelect: 'Бу юлны сайлау өчен ПРОБЕЛ басыгыз',
|
|
262
|
+
ariaRowDeselect: 'Бу юл сайлауын алу өчен ПРОБЕЛ басыгыз',
|
|
263
|
+
ariaRowToggleSelection: 'Юл сайлауын күчерү өчен ПРОБЕЛ басыгыз',
|
|
264
|
+
ariaRowSelectAll: 'Барлык юллар сайлауын күчерү өчен ПРОБЕЛ басыгыз',
|
|
265
|
+
ariaSearch: 'Эзләү',
|
|
266
|
+
ariaSearchFilterValues: 'Фильтр кыйммәтләрен эзләү',
|
|
267
|
+
};
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import { typeTestCaseStep } from '../../../types/family_elements/typeTestCaseStep.js';
|
|
2
|
-
import { UserService } from '../../../services/UserService.js';
|
|
3
|
-
import { createColumn } from '../helpers/column_factory.js';
|
|
4
|
-
import { createListingFor, registerSection } from '../helpers/section_registry.js';
|
|
5
|
-
import { typeTableColumn } from '../../../types/family_service/typeTableColumn.js';
|
|
6
|
-
|
|
7
|
-
function build_test_case_step_shared_columns(locale)
|
|
8
|
-
{
|
|
9
|
-
const model = new typeTestCaseStep();
|
|
10
|
-
|
|
11
|
-
return [
|
|
12
|
-
createColumn(model, locale, 'sort_order', {
|
|
13
|
-
width : '150',
|
|
14
|
-
sort_order : '0',
|
|
15
|
-
default_sort: 'asc',
|
|
16
|
-
is_editable : true,
|
|
17
|
-
}),
|
|
18
|
-
createColumn(model, locale, 'step_element', { width: '200', is_editable: true }),
|
|
19
|
-
createColumn(model, locale, 'step_element_action', { width: '200', is_editable: true }),
|
|
20
|
-
createColumn(model, locale, '
|
|
21
|
-
width : '480',
|
|
22
|
-
is_editable: true,
|
|
23
|
-
is_title : true,
|
|
24
|
-
}),
|
|
25
|
-
new typeTableColumn({
|
|
26
|
-
header_name : '',
|
|
27
|
-
field : 'test_case_step_id',
|
|
28
|
-
width : '80',
|
|
29
|
-
sort_order : '99',
|
|
30
|
-
is_sortable : false,
|
|
31
|
-
is_filter : false,
|
|
32
|
-
is_editable : false,
|
|
33
|
-
column_kind : 'sort_action',
|
|
34
|
-
}),
|
|
35
|
-
];
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function build_test_case_steps_columns(locale)
|
|
39
|
-
{
|
|
40
|
-
return build_test_case_step_shared_columns(locale);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function build_test_case_presteps_columns(locale)
|
|
44
|
-
{
|
|
45
|
-
return build_test_case_step_shared_columns(locale);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Секции `test_case_step`: `steps`, `presteps` (шаги и престепы тест-кейса).
|
|
50
|
-
*
|
|
51
|
-
* @param {Object<string, Object<string, { config: import('../../../types/family_service/typeTableConfiguration.js').typeTableConfiguration }>>} config
|
|
52
|
-
* @returns {void}
|
|
53
|
-
*/
|
|
54
|
-
export function bootstrap_test_case_step(config)
|
|
55
|
-
{
|
|
56
|
-
const locale = UserService.get_current_language();
|
|
57
|
-
const embedded_for = createListingFor([ 'test_case_id', 'test_case_step_type' ]);
|
|
58
|
-
|
|
59
|
-
registerSection(config, 'test_case_step', 'steps', build_test_case_steps_columns(locale), {
|
|
60
|
-
for: embedded_for,
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
registerSection(config, 'test_case_step', 'presteps', build_test_case_presteps_columns(locale), {
|
|
64
|
-
for: embedded_for,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
1
|
+
import { typeTestCaseStep } from '../../../types/family_elements/typeTestCaseStep.js';
|
|
2
|
+
import { UserService } from '../../../services/UserService.js';
|
|
3
|
+
import { createColumn } from '../helpers/column_factory.js';
|
|
4
|
+
import { createListingFor, registerSection } from '../helpers/section_registry.js';
|
|
5
|
+
import { typeTableColumn } from '../../../types/family_service/typeTableColumn.js';
|
|
6
|
+
|
|
7
|
+
function build_test_case_step_shared_columns(locale)
|
|
8
|
+
{
|
|
9
|
+
const model = new typeTestCaseStep();
|
|
10
|
+
|
|
11
|
+
return [
|
|
12
|
+
createColumn(model, locale, 'sort_order', {
|
|
13
|
+
width : '150',
|
|
14
|
+
sort_order : '0',
|
|
15
|
+
default_sort: 'asc',
|
|
16
|
+
is_editable : true,
|
|
17
|
+
}),
|
|
18
|
+
createColumn(model, locale, 'step_element', { width: '200', is_editable: true }),
|
|
19
|
+
createColumn(model, locale, 'step_element_action', { width: '200', is_editable: true }),
|
|
20
|
+
createColumn(model, locale, 'step_expected_result', {
|
|
21
|
+
width : '480',
|
|
22
|
+
is_editable: true,
|
|
23
|
+
is_title : true,
|
|
24
|
+
}),
|
|
25
|
+
new typeTableColumn({
|
|
26
|
+
header_name : '',
|
|
27
|
+
field : 'test_case_step_id',
|
|
28
|
+
width : '80',
|
|
29
|
+
sort_order : '99',
|
|
30
|
+
is_sortable : false,
|
|
31
|
+
is_filter : false,
|
|
32
|
+
is_editable : false,
|
|
33
|
+
column_kind : 'sort_action',
|
|
34
|
+
}),
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function build_test_case_steps_columns(locale)
|
|
39
|
+
{
|
|
40
|
+
return build_test_case_step_shared_columns(locale);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function build_test_case_presteps_columns(locale)
|
|
44
|
+
{
|
|
45
|
+
return build_test_case_step_shared_columns(locale);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Секции `test_case_step`: `steps`, `presteps` (шаги и престепы тест-кейса).
|
|
50
|
+
*
|
|
51
|
+
* @param {Object<string, Object<string, { config: import('../../../types/family_service/typeTableConfiguration.js').typeTableConfiguration }>>} config
|
|
52
|
+
* @returns {void}
|
|
53
|
+
*/
|
|
54
|
+
export function bootstrap_test_case_step(config)
|
|
55
|
+
{
|
|
56
|
+
const locale = UserService.get_current_language();
|
|
57
|
+
const embedded_for = createListingFor([ 'test_case_id', 'test_case_step_type' ]);
|
|
58
|
+
|
|
59
|
+
registerSection(config, 'test_case_step', 'steps', build_test_case_steps_columns(locale), {
|
|
60
|
+
for: embedded_for,
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
registerSection(config, 'test_case_step', 'presteps', build_test_case_presteps_columns(locale), {
|
|
64
|
+
for: embedded_for,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LOCALE_AG_GRID_RU } from '../locale_table_ru.js';
|
|
2
2
|
import { LOCALE_AG_GRID_EG } from '../table_locale_ar.js';
|
|
3
|
+
import { LOCALE_AG_GRID_TT } from '../locale_table_tt.js';
|
|
3
4
|
import { TABLE_ELEMENT_MODELS } from './helpers/table_element_models.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -18,7 +19,7 @@ export class TableBaseConfig
|
|
|
18
19
|
*
|
|
19
20
|
* @param {string} element_type Ключ сущности — для `getRowNodeId` (primary key модели).
|
|
20
21
|
* @param {string} section Имя секции (зарезервировано; сейчас не влияет на ответ).
|
|
21
|
-
* @param {string} [lang='en'] Локаль UI ag-grid. Для `ru` и `
|
|
22
|
+
* @param {string} [lang='en'] Локаль UI ag-grid. Для `ru`, `ar` и `tt` добавляется `localeText`.
|
|
22
23
|
* @returns {Object} GridOptions-совместимый объект (без привязки к Vue).
|
|
23
24
|
*
|
|
24
25
|
* @example
|
|
@@ -61,6 +62,9 @@ export class TableBaseConfig
|
|
|
61
62
|
case 'ar':
|
|
62
63
|
response = LOCALE_AG_GRID_EG;
|
|
63
64
|
break;
|
|
65
|
+
case 'tt':
|
|
66
|
+
response = LOCALE_AG_GRID_TT;
|
|
67
|
+
break;
|
|
64
68
|
}
|
|
65
69
|
|
|
66
70
|
return response;
|
|
@@ -418,6 +418,49 @@ export class familyGeneralElement
|
|
|
418
418
|
}
|
|
419
419
|
|
|
420
420
|
|
|
421
|
+
/**
|
|
422
|
+
* Mass create. Payload: `{ items: object[] }`.
|
|
423
|
+
*
|
|
424
|
+
* @param {object} payload
|
|
425
|
+
* @param {array} payload.items
|
|
426
|
+
* @param {typeFunctionCallback|object|false} callback
|
|
427
|
+
* @version v.1.0 (29/08/2026)
|
|
428
|
+
*/
|
|
429
|
+
async create_mass(payload, callback)
|
|
430
|
+
{
|
|
431
|
+
if (!this.api_key)
|
|
432
|
+
{
|
|
433
|
+
throw new Error('Error #249-2215 - element has no api_key');
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
if (typeof callback?.before === 'function')
|
|
437
|
+
{
|
|
438
|
+
callback?.before({ payload });
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
return ApiService[ this.api_key ].create_mass(payload).then((response) =>
|
|
442
|
+
{
|
|
443
|
+
if (typeof callback?.success === 'function')
|
|
444
|
+
{
|
|
445
|
+
callback?.success({ response, payload })
|
|
446
|
+
}
|
|
447
|
+
}).catch((error) =>
|
|
448
|
+
{
|
|
449
|
+
echo({ error });
|
|
450
|
+
if (typeof callback?.error === 'function')
|
|
451
|
+
{
|
|
452
|
+
callback?.error({ error, payload })
|
|
453
|
+
}
|
|
454
|
+
}).finally((response) =>
|
|
455
|
+
{
|
|
456
|
+
if (typeof callback?.final === 'function')
|
|
457
|
+
{
|
|
458
|
+
callback?.final({ response, payload })
|
|
459
|
+
}
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
|
|
421
464
|
/**
|
|
422
465
|
* Обновление целой модели элемента
|
|
423
466
|
*
|
|
@@ -37,6 +37,22 @@ export const typeCustomProperty_i18n = {
|
|
|
37
37
|
created_at : 'Создано',
|
|
38
38
|
updated_at : 'Обновлено',
|
|
39
39
|
},
|
|
40
|
+
tt: {
|
|
41
|
+
custom_property_id: 'ID',
|
|
42
|
+
team_id : 'Команда',
|
|
43
|
+
element_type : 'Элемент тибы',
|
|
44
|
+
property_key : 'Ачкыч',
|
|
45
|
+
value_type : 'Кыйммәт тибы',
|
|
46
|
+
cardinality : 'Кардинальлек',
|
|
47
|
+
name : 'Исем',
|
|
48
|
+
description : 'Тасвирлама',
|
|
49
|
+
is_required : 'Мәҗбүри',
|
|
50
|
+
is_enabled : 'Кабызылган',
|
|
51
|
+
is_searchable : 'Эзләнергә',
|
|
52
|
+
sort_order : 'Тәртип',
|
|
53
|
+
created_at : 'Ясалган',
|
|
54
|
+
updated_at : 'Яңартылган',
|
|
55
|
+
},
|
|
40
56
|
},
|
|
41
57
|
enum_value_translate_matrix: {
|
|
42
58
|
en: {
|
|
@@ -81,5 +97,26 @@ export const typeCustomProperty_i18n = {
|
|
|
81
97
|
MULTIPLE: 'Несколько значений',
|
|
82
98
|
},
|
|
83
99
|
},
|
|
100
|
+
tt: {
|
|
101
|
+
element_type: {
|
|
102
|
+
test_case: 'Тест очрагы',
|
|
103
|
+
bug : 'Хата',
|
|
104
|
+
},
|
|
105
|
+
value_type: {
|
|
106
|
+
STRING : 'Юл',
|
|
107
|
+
TEXT : 'Текст',
|
|
108
|
+
INTEGER : 'Бөтен сан',
|
|
109
|
+
DATE : 'Дата',
|
|
110
|
+
URL : 'URL',
|
|
111
|
+
USER : 'Кулланучы',
|
|
112
|
+
DROPDOWN : 'Исемлек',
|
|
113
|
+
CHECKBOX : 'Билге',
|
|
114
|
+
MULTISELECT: 'Күпләп сайлау',
|
|
115
|
+
},
|
|
116
|
+
cardinality: {
|
|
117
|
+
SINGLE : 'Бер кыйммәт',
|
|
118
|
+
MULTIPLE: 'Берничә кыйммәт',
|
|
119
|
+
},
|
|
120
|
+
},
|
|
84
121
|
},
|
|
85
122
|
};
|
|
@@ -47,6 +47,27 @@ export const typeCustomPropertyValue_i18n = {
|
|
|
47
47
|
checkbox_value : 'Флажок',
|
|
48
48
|
option_id : 'Опция',
|
|
49
49
|
},
|
|
50
|
+
tt: {
|
|
51
|
+
custom_property_value_id: 'ID',
|
|
52
|
+
custom_property_id : 'Үзлек',
|
|
53
|
+
team_id : 'Команда',
|
|
54
|
+
project_id : 'Проект',
|
|
55
|
+
element_type : 'Элемент тибы',
|
|
56
|
+
element_id : 'Элемент',
|
|
57
|
+
sort_order : 'Тәртип',
|
|
58
|
+
user_id : 'Кулланучы',
|
|
59
|
+
created_at : 'Ясалган',
|
|
60
|
+
updated_at : 'Яңартылган',
|
|
61
|
+
string_value : 'Юл',
|
|
62
|
+
text_value : 'Текст',
|
|
63
|
+
integer_value : 'Бөтен сан',
|
|
64
|
+
date_value : 'Дата',
|
|
65
|
+
url : 'URL',
|
|
66
|
+
url_caption : 'Ярлык',
|
|
67
|
+
user_id_value : 'Кулланучы',
|
|
68
|
+
checkbox_value : 'Билге',
|
|
69
|
+
option_id : 'Вариант',
|
|
70
|
+
},
|
|
50
71
|
},
|
|
51
72
|
enum_value_translate_matrix: {
|
|
52
73
|
en: {
|
|
@@ -61,5 +82,11 @@ export const typeCustomPropertyValue_i18n = {
|
|
|
61
82
|
bug : 'Ошибка',
|
|
62
83
|
},
|
|
63
84
|
},
|
|
85
|
+
tt: {
|
|
86
|
+
element_type: {
|
|
87
|
+
test_case: 'Тест очрагы',
|
|
88
|
+
bug : 'Хата',
|
|
89
|
+
},
|
|
90
|
+
},
|
|
64
91
|
},
|
|
65
92
|
};
|