complexqa_frontend_core 1.21.3 → 1.21.5

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "complexqa_frontend_core",
3
- "version": "1.21.3",
3
+ "version": "1.21.5",
4
4
  "description": "core of web ",
5
5
  "type": "module",
6
6
  "exports": {
@@ -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
- let response = this.api_request(url, payload);
45
- response = this.handle_response(response, false);
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 (listing, status, delete).
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
- * @version v.2.0 (26/06/2026)
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(typeUtilExecution);
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 = this.handle_request_payload(payload);
71
- let response = this.api_request(url, payload);
72
- response = this.handle_response(response, false);
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 { typeUtilExecution } from '../../../types/family_utils/typeUtilExecution.js';
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 typeUtilExecution();
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
- * @version v.2.0 (26/06/2026)
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 = typeUtilExecutionScreenshotMulti_i18n.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