complexqa_frontend_core 1.21.3 → 1.21.4
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/util/browser_tools_screenshot_multi_api.js +5 -2
- package/publish/api/util/browser_tools_util_execution_api.js +12 -34
- package/publish/app_configuration/table/helpers/table_element_models.js +2 -0
- package/publish/app_configuration/table/sections/util_execution.js +2 -2
- package/publish/types/element_translate/typeUtilExecutionScreenshotMulti.i18n.js +22 -0
- package/publish/types/family_utils/typeUtilExecutionScreenshotMulti.js +40 -2
package/package.json
CHANGED
|
@@ -41,8 +41,11 @@ export class BrowserToolsScreenshotMultiApi extends ApiAbstractElementClass
|
|
|
41
41
|
let url = `/${ this.api_prefix }/${ this.module_prefix }/details/${ util_execution_id }`;
|
|
42
42
|
|
|
43
43
|
payload = this.handle_request_payload(payload);
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
const prev_method = this.method;
|
|
45
|
+
this.method = 'get';
|
|
46
|
+
let response = this.api_request(url, payload, 'GET');
|
|
47
|
+
this.method = prev_method;
|
|
48
|
+
response = await this.handle_response(response, false);
|
|
46
49
|
|
|
47
50
|
return {
|
|
48
51
|
response: typeUtilExecution.composeDetails(response),
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { ApiAbstractElementClass } from "../api_abstract_element_class.js";
|
|
2
|
-
import { is_array } from "../../utils/utils.js";
|
|
3
2
|
import { typeUtilExecution } from "../../types/family_utils/typeUtilExecution.js";
|
|
3
|
+
import { typeUtilExecutionScreenshotMulti } from "../../types/family_utils/typeUtilExecutionScreenshotMulti.js";
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Browser Tools — util execution lifecycle (
|
|
7
|
+
* Browser Tools — util execution lifecycle (search, status, delete).
|
|
8
8
|
*
|
|
9
9
|
* Base path: /web_api/util/browser_tools/util_executions
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* Search rows — typeUtilExecutionScreenshotMulti (inherited search()).
|
|
12
|
+
*
|
|
13
|
+
* @version v.2.1 (28/06/2026)
|
|
12
14
|
*/
|
|
13
15
|
export class BrowserToolsUtilExecutionApi extends ApiAbstractElementClass
|
|
14
16
|
{
|
|
@@ -18,34 +20,7 @@ export class BrowserToolsUtilExecutionApi extends ApiAbstractElementClass
|
|
|
18
20
|
constructor(options)
|
|
19
21
|
{
|
|
20
22
|
super(options);
|
|
21
|
-
this.set_element_class_instance(
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* GET listing?project_id=
|
|
27
|
-
*
|
|
28
|
-
* @param {object} payload
|
|
29
|
-
*
|
|
30
|
-
* @returns {Promise<{payload, response: object}>}
|
|
31
|
-
*/
|
|
32
|
-
async listing(payload)
|
|
33
|
-
{
|
|
34
|
-
let url = `/${ this.api_prefix }/${ this.module_prefix }/listing`;
|
|
35
|
-
|
|
36
|
-
payload = this.handle_request_payload(payload);
|
|
37
|
-
let response = this.api_request(url, payload);
|
|
38
|
-
response = this.handle_response(response, false);
|
|
39
|
-
|
|
40
|
-
if (response?.items && is_array(response.items))
|
|
41
|
-
{
|
|
42
|
-
response.items = response.items.map((row) => new typeUtilExecution(row));
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return {
|
|
46
|
-
response: response,
|
|
47
|
-
payload : payload,
|
|
48
|
-
};
|
|
23
|
+
this.set_element_class_instance(typeUtilExecutionScreenshotMulti);
|
|
49
24
|
}
|
|
50
25
|
|
|
51
26
|
|
|
@@ -67,9 +42,12 @@ export class BrowserToolsUtilExecutionApi extends ApiAbstractElementClass
|
|
|
67
42
|
|
|
68
43
|
let url = `/${ this.api_prefix }/${ this.module_prefix }/status/${ util_execution_id }`;
|
|
69
44
|
|
|
70
|
-
payload
|
|
71
|
-
|
|
72
|
-
|
|
45
|
+
payload = this.handle_request_payload(payload);
|
|
46
|
+
const prev_method = this.method;
|
|
47
|
+
this.method = 'get';
|
|
48
|
+
let response = this.api_request(url, payload, 'GET');
|
|
49
|
+
this.method = prev_method;
|
|
50
|
+
response = await this.handle_response(response, false);
|
|
73
51
|
|
|
74
52
|
return {
|
|
75
53
|
response: new typeUtilExecution(response),
|
|
@@ -10,6 +10,7 @@ import { typeTeamMember } from '../../../types/family_elements/typeTeamMember.js
|
|
|
10
10
|
import { typeTestCaseStep } from '../../../types/family_elements/typeTestCaseStep.js';
|
|
11
11
|
import { typeUser } from '../../../types/family_elements/typeUser.js';
|
|
12
12
|
import { typeTeam } from '../../../types/family_elements/typeTeam.js';
|
|
13
|
+
import { typeUtilExecutionScreenshotMulti } from '../../../types/family_utils/typeUtilExecutionScreenshotMulti.js';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Реестр классов моделей по ключу `element_type`.
|
|
@@ -35,4 +36,5 @@ export const TABLE_ELEMENT_MODELS = {
|
|
|
35
36
|
test_case_step : typeTestCaseStep,
|
|
36
37
|
user : typeUser,
|
|
37
38
|
team : typeTeam,
|
|
39
|
+
util_execution : typeUtilExecutionScreenshotMulti,
|
|
38
40
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { typeUtilExecutionScreenshotMulti } from '../../../types/family_utils/typeUtilExecutionScreenshotMulti.js';
|
|
2
2
|
import { UserService } from '../../../services/UserService.js';
|
|
3
3
|
import { createColumn, createGoToColumn, createPrimaryKeyColumn, createRowSelectColumn } from '../helpers/column_factory.js';
|
|
4
4
|
import { createListingFor, registerSection } from '../helpers/section_registry.js';
|
|
5
5
|
|
|
6
6
|
function build_util_execution_listing_columns(locale, { include_select = true } = {})
|
|
7
7
|
{
|
|
8
|
-
const model = new
|
|
8
|
+
const model = new typeUtilExecutionScreenshotMulti();
|
|
9
9
|
const columns = [];
|
|
10
10
|
|
|
11
11
|
if (include_select)
|
|
@@ -9,6 +9,17 @@ export const typeUtilExecutionScreenshotMulti_i18n = {
|
|
|
9
9
|
attribute_name_translate_matrix: {
|
|
10
10
|
en: {
|
|
11
11
|
util_execution_id : 'Execution',
|
|
12
|
+
util_action_id : 'Action ID',
|
|
13
|
+
util_action_key : 'Action',
|
|
14
|
+
project_id : 'Project',
|
|
15
|
+
user_id : 'User',
|
|
16
|
+
execution_status : 'Status',
|
|
17
|
+
external_job_id : 'External job',
|
|
18
|
+
error_message : 'Error',
|
|
19
|
+
submitted_at : 'Submitted at',
|
|
20
|
+
completed_at : 'Completed at',
|
|
21
|
+
created_at : 'Created at',
|
|
22
|
+
screenshot_count : 'Screenshots',
|
|
12
23
|
page_url : 'Page URL',
|
|
13
24
|
wait_until : 'Wait until',
|
|
14
25
|
full_page : 'Full page',
|
|
@@ -22,6 +33,17 @@ export const typeUtilExecutionScreenshotMulti_i18n = {
|
|
|
22
33
|
},
|
|
23
34
|
ru: {
|
|
24
35
|
util_execution_id : 'Запуск',
|
|
36
|
+
util_action_id : 'ID действия',
|
|
37
|
+
util_action_key : 'Действие',
|
|
38
|
+
project_id : 'Проект',
|
|
39
|
+
user_id : 'Пользователь',
|
|
40
|
+
execution_status : 'Статус',
|
|
41
|
+
external_job_id : 'Внешняя задача',
|
|
42
|
+
error_message : 'Ошибка',
|
|
43
|
+
submitted_at : 'Отправлено',
|
|
44
|
+
completed_at : 'Завершено',
|
|
45
|
+
created_at : 'Создано',
|
|
46
|
+
screenshot_count : 'Скриншоты',
|
|
25
47
|
page_url : 'URL страницы',
|
|
26
48
|
wait_until : 'Ожидание загрузки',
|
|
27
49
|
full_page : 'Полная страница',
|
|
@@ -2,12 +2,15 @@ import { familyUtil } from "./familyUtil.js";
|
|
|
2
2
|
import { is_object } from "../../utils/utils.js";
|
|
3
3
|
import { typeUtilExecutionScreenshotMulti_i18n } from "../element_translate/typeUtilExecutionScreenshotMulti.i18n.js";
|
|
4
4
|
import { typeUtilExecutionScreenshotMultiCapture } from "./typeUtilExecutionScreenshotMultiCapture.js";
|
|
5
|
+
import { familyUtil_i18n } from "../element_translate/_familyUtil.i18n.js";
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Action screenshot.multi — entry point для create и typed payload (1:1 к util_execution).
|
|
9
10
|
*
|
|
10
|
-
*
|
|
11
|
+
* Listing row = lifecycle + action fields (flat wire для таблицы).
|
|
12
|
+
*
|
|
13
|
+
* @version v.2.1 (28/06/2026)
|
|
11
14
|
*/
|
|
12
15
|
export class typeUtilExecutionScreenshotMulti extends familyUtil
|
|
13
16
|
{
|
|
@@ -15,6 +18,18 @@ export class typeUtilExecutionScreenshotMulti extends familyUtil
|
|
|
15
18
|
static UTIL_ACTION_KEY = 'screenshot.multi';
|
|
16
19
|
|
|
17
20
|
util_execution_id;
|
|
21
|
+
util_action_id;
|
|
22
|
+
util_action_key;
|
|
23
|
+
project_id;
|
|
24
|
+
user_id;
|
|
25
|
+
execution_status;
|
|
26
|
+
external_job_id;
|
|
27
|
+
error_message;
|
|
28
|
+
submitted_at;
|
|
29
|
+
completed_at;
|
|
30
|
+
created_at;
|
|
31
|
+
screenshot_count;
|
|
32
|
+
|
|
18
33
|
page_url;
|
|
19
34
|
wait_until;
|
|
20
35
|
full_page;
|
|
@@ -34,6 +49,17 @@ export class typeUtilExecutionScreenshotMulti extends familyUtil
|
|
|
34
49
|
|
|
35
50
|
structure_scheme = {
|
|
36
51
|
util_execution_id : 'integer | optional',
|
|
52
|
+
util_action_id : 'integer | optional',
|
|
53
|
+
util_action_key : 'string | max:120 | optional',
|
|
54
|
+
project_id : 'integer | optional',
|
|
55
|
+
user_id : 'integer | optional',
|
|
56
|
+
execution_status : 'string | enum | optional',
|
|
57
|
+
external_job_id : 'string | max:120 | optional',
|
|
58
|
+
error_message : 'string | optional',
|
|
59
|
+
submitted_at : 'timestamp | optional',
|
|
60
|
+
completed_at : 'timestamp | optional',
|
|
61
|
+
created_at : 'timestamp | optional',
|
|
62
|
+
screenshot_count : 'integer | optional',
|
|
37
63
|
page_url : 'string | max:2048 | require',
|
|
38
64
|
wait_until : 'string | enum | optional',
|
|
39
65
|
full_page : 'integer | optional',
|
|
@@ -58,15 +84,27 @@ export class typeUtilExecutionScreenshotMulti extends familyUtil
|
|
|
58
84
|
];
|
|
59
85
|
|
|
60
86
|
available_enum_values = {
|
|
87
|
+
execution_status : familyUtil.get_execution_status_values(),
|
|
61
88
|
capture_matrix_preset: [ 'default', 'custom' ],
|
|
62
89
|
wait_until : [ 'load', 'domcontentloaded', 'networkidle', 'commit' ],
|
|
63
90
|
last_callback_status : [ 'completed', 'failed' ],
|
|
64
91
|
};
|
|
65
92
|
|
|
66
|
-
enum_value_translate_matrix =
|
|
93
|
+
enum_value_translate_matrix = {
|
|
94
|
+
...typeUtilExecutionScreenshotMulti_i18n.enum_value_translate_matrix,
|
|
95
|
+
execution_status: familyUtil_i18n.execution_status,
|
|
96
|
+
};
|
|
67
97
|
|
|
68
98
|
attribute_name_translate_matrix = typeUtilExecutionScreenshotMulti_i18n.attribute_name_translate_matrix;
|
|
69
99
|
|
|
100
|
+
status_color = {
|
|
101
|
+
pending : '#4D92FA',
|
|
102
|
+
submit_failed: '#E66565',
|
|
103
|
+
queued : '#009688',
|
|
104
|
+
completed : '#009688',
|
|
105
|
+
failed : '#E66565',
|
|
106
|
+
};
|
|
107
|
+
|
|
70
108
|
|
|
71
109
|
/**
|
|
72
110
|
* @param {object|false|undefined} data
|