complexqa_frontend_core 1.21.8 → 1.22.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.
Files changed (26) hide show
  1. package/package.json +1 -1
  2. package/publish/api/api_abstract_class.js +1 -1
  3. package/publish/api/file_app_api.js +30 -3
  4. package/publish/api/index.js +6 -0
  5. package/publish/api/project_api.js +31 -8
  6. package/publish/api/public_text_document_api.js +59 -0
  7. package/publish/api/text_document_api.js +205 -0
  8. package/publish/api/text_document_folder_api.js +16 -0
  9. package/publish/app_configuration/table/helpers/table_element_models.js +2 -0
  10. package/publish/app_configuration/table/sections/text_document.js +31 -0
  11. package/publish/app_configuration/table/table_configuration.js +2 -0
  12. package/publish/app_configuration/text_document_editor_config.js +31 -0
  13. package/publish/constants/text_document_limits.js +18 -0
  14. package/publish/index.js +11 -0
  15. package/publish/services/FileAppService.js +103 -10
  16. package/publish/types/core/0_familyGeneralElement.js +0 -2
  17. package/publish/types/element_translate/_familyUtil.i18n.js +302 -68
  18. package/publish/types/element_translate/typeTextDocument.i18n.js +201 -0
  19. package/publish/types/element_translate/typeTextDocumentFolder.i18n.js +108 -0
  20. package/publish/types/element_translate/typeUtilExecution.i18n.js +171 -0
  21. package/publish/types/element_translate/typeUtilExecutionScreenshotMulti.i18n.js +281 -65
  22. package/publish/types/family_elements/typeProject.js +35 -10
  23. package/publish/types/family_files/typeTextDocument.js +88 -0
  24. package/publish/types/family_files/typeTextDocumentFolder.js +68 -0
  25. package/publish/types/family_utils/typeUtilExecution.js +14 -3
  26. package/publish/utils/text_document_image.js +84 -0
@@ -1,65 +1,281 @@
1
- import { familyUtil_i18n } from './_familyUtil.i18n.js';
2
-
3
- /**
4
- * Переводы для typeUtilExecutionScreenshotMulti.
5
- *
6
- * @see typeUtilExecutionScreenshotMulti
7
- */
8
- export const typeUtilExecutionScreenshotMulti_i18n = {
9
- attribute_name_translate_matrix: {
10
- en: {
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',
23
- page_url : 'Page URL',
24
- wait_until : 'Wait until',
25
- full_page : 'Full page',
26
- navigation_timeout_milliseconds: 'Navigation timeout (ms)',
27
- capture_matrix_preset : 'Capture matrix',
28
- last_callback_status : 'Last callback status',
29
- captures_total : 'Captures total',
30
- captures_succeeded : 'Captures succeeded',
31
- captures_failed : 'Captures failed',
32
- duration_milliseconds : 'Duration (ms)',
33
- },
34
- ru: {
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 : 'Скриншоты',
47
- page_url : 'URL страницы',
48
- wait_until : 'Ожидание загрузки',
49
- full_page : 'Полная страница',
50
- navigation_timeout_milliseconds: 'Таймаут навигации (мс)',
51
- capture_matrix_preset : 'Матрица захвата',
52
- last_callback_status : 'Статус callback',
53
- captures_total : 'Всего захватов',
54
- captures_succeeded : 'Успешных захватов',
55
- captures_failed : 'Ошибок захвата',
56
- duration_milliseconds : 'Длительность (мс)',
57
- },
58
- },
59
-
60
- enum_value_translate_matrix: {
61
- capture_matrix_preset: familyUtil_i18n.capture_matrix_preset,
62
- wait_until : familyUtil_i18n.wait_until,
63
- last_callback_status : familyUtil_i18n.execution_status,
64
- },
65
- };
1
+ import { familyUtil_i18n } from './_familyUtil.i18n.js';
2
+
3
+ /**
4
+ * Переводы для typeUtilExecutionScreenshotMulti.
5
+ *
6
+ * @see typeUtilExecutionScreenshotMulti
7
+ */
8
+ export const typeUtilExecutionScreenshotMulti_i18n = {
9
+ attribute_name_translate_matrix: {
10
+ en: {
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',
23
+ page_url : 'Page URL',
24
+ wait_until : 'Wait until',
25
+ full_page : 'Full page',
26
+ navigation_timeout_milliseconds: 'Նավիգացիայի timeout (ms)',
27
+ capture_matrix_preset : 'Capture matrix',
28
+ last_callback_status : 'Last callback status',
29
+ captures_total : 'Captures total',
30
+ captures_succeeded : 'Captures succeeded',
31
+ captures_failed : 'Captures failed',
32
+ duration_milliseconds : 'Duration (ms)',
33
+ },
34
+ ru: {
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 : 'Скриншоты',
47
+ page_url : 'URL страницы',
48
+ wait_until : 'Ожидание загрузки',
49
+ full_page : 'Полная страница',
50
+ navigation_timeout_milliseconds: 'Таймаут навигации (мс)',
51
+ capture_matrix_preset : 'Матрица захвата',
52
+ last_callback_status : 'Статус callback',
53
+ captures_total : 'Всего захватов',
54
+ captures_succeeded : 'Успешных захватов',
55
+ captures_failed : 'Ошибок захвата',
56
+ duration_milliseconds : 'Длительность (мс)',
57
+ },
58
+ de: {
59
+ util_execution_id : 'Ausführung',
60
+ util_action_id : 'Aktions-ID',
61
+ util_action_key : 'Aktion',
62
+ project_id : 'Projekt',
63
+ user_id : 'Benutzer',
64
+ execution_status : 'Status',
65
+ external_job_id : 'Externer Job',
66
+ error_message : 'Fehler',
67
+ submitted_at : 'Gesendet am',
68
+ completed_at : 'Abgeschlossen am',
69
+ created_at : 'Erstellt am',
70
+ screenshot_count : 'Screenshots',
71
+ page_url : 'Seiten-URL',
72
+ wait_until : 'Warten bis',
73
+ full_page : 'Ganze Seite',
74
+ navigation_timeout_milliseconds: 'Navigations-Timeout (ms)',
75
+ capture_matrix_preset : 'Aufnahme-Matrix',
76
+ last_callback_status : 'Letzter Callback-Status',
77
+ captures_total : 'Aufnahmen gesamt',
78
+ captures_succeeded : 'Erfolgreiche Aufnahmen',
79
+ captures_failed : 'Fehlgeschlagene Aufnahmen',
80
+ duration_milliseconds : 'Dauer (ms)',
81
+ },
82
+ ar: {
83
+ util_execution_id : 'التشغيل',
84
+ util_action_id : 'معرف الإجراء',
85
+ util_action_key : 'الإجراء',
86
+ project_id : 'المشروع',
87
+ user_id : 'المستخدم',
88
+ execution_status : 'الحالة',
89
+ external_job_id : 'المهمة الخارجية',
90
+ error_message : 'خطأ',
91
+ submitted_at : 'تاريخ الإرسال',
92
+ completed_at : 'تاريخ الإكمال',
93
+ created_at : 'تاريخ الإنشاء',
94
+ screenshot_count : 'لقطات الشاشة',
95
+ page_url : 'رابط الصفحة',
96
+ wait_until : 'انتظار حتى',
97
+ full_page : 'صفحة كاملة',
98
+ navigation_timeout_milliseconds: 'مهلة التنقل (مللي ثانية)',
99
+ capture_matrix_preset : 'مصفوفة الالتقاط',
100
+ last_callback_status : 'آخر حالة callback',
101
+ captures_total : 'إجمالي الالتقاطات',
102
+ captures_succeeded : 'التقاطات ناجحة',
103
+ captures_failed : 'التقاطات فاشلة',
104
+ duration_milliseconds : 'المدة (مللي ثانية)',
105
+ },
106
+ es: {
107
+ util_execution_id : 'Ejecución',
108
+ util_action_id : 'ID de acción',
109
+ util_action_key : 'Acción',
110
+ project_id : 'Proyecto',
111
+ user_id : 'Usuario',
112
+ execution_status : 'Estado',
113
+ external_job_id : 'Trabajo externo',
114
+ error_message : 'Error',
115
+ submitted_at : 'Enviado el',
116
+ completed_at : 'Completado el',
117
+ created_at : 'Creado el',
118
+ screenshot_count : 'Capturas',
119
+ page_url : 'URL de página',
120
+ wait_until : 'Esperar hasta',
121
+ full_page : 'Página completa',
122
+ navigation_timeout_milliseconds: 'Tiempo de espera de navegación (ms)',
123
+ capture_matrix_preset : 'Matriz de captura',
124
+ last_callback_status : 'Último estado callback',
125
+ captures_total : 'Capturas totales',
126
+ captures_succeeded : 'Capturas exitosas',
127
+ captures_failed : 'Capturas fallidas',
128
+ duration_milliseconds : 'Duración (ms)',
129
+ },
130
+ fr: {
131
+ util_execution_id : 'Exécution',
132
+ util_action_id : 'ID action',
133
+ util_action_key : 'Action',
134
+ project_id : 'Projet',
135
+ user_id : 'Utilisateur',
136
+ execution_status : 'Statut',
137
+ external_job_id : 'Tâche externe',
138
+ error_message : 'Erreur',
139
+ submitted_at : 'Soumis le',
140
+ completed_at : 'Terminé le',
141
+ created_at : 'Créé le',
142
+ screenshot_count : 'Captures',
143
+ page_url : 'URL de page',
144
+ wait_until : 'Attendre jusqu\'à',
145
+ full_page : 'Page entière',
146
+ navigation_timeout_milliseconds: 'Délai de navigation (ms)',
147
+ capture_matrix_preset : 'Matrice de capture',
148
+ last_callback_status : 'Dernier statut callback',
149
+ captures_total : 'Captures totales',
150
+ captures_succeeded : 'Captures réussies',
151
+ captures_failed : 'Captures échouées',
152
+ duration_milliseconds : 'Durée (ms)',
153
+ },
154
+ hy: {
155
+ util_execution_id : 'Գործարկում',
156
+ util_action_id : 'Գործողության ID',
157
+ util_action_key : 'Գործողություն',
158
+ project_id : 'Նախագիծ',
159
+ user_id : 'Օգտատեր',
160
+ execution_status : 'Կարգավիճակ',
161
+ external_job_id : 'Արտաքին աշխատանք',
162
+ error_message : 'Սխալ',
163
+ submitted_at : 'Ուղարկված',
164
+ completed_at : 'Ավարտված',
165
+ created_at : 'Ստեղծված',
166
+ screenshot_count : 'Screenshot-ներ',
167
+ page_url : 'Էջի URL',
168
+ wait_until : 'Սպասել մինչև',
169
+ full_page : 'Ամբողջ էջ',
170
+ navigation_timeout_milliseconds: 'Navigation timeout (ms)',
171
+ capture_matrix_preset : 'Նկարահանման մատրիցա',
172
+ last_callback_status : 'Վերջին callback կարգավիճակ',
173
+ captures_total : 'Ընդամենը նկարահանում',
174
+ captures_succeeded : 'Հաջող նկարահանում',
175
+ captures_failed : 'Ձախողված նկարահանում',
176
+ duration_milliseconds : 'Տևողություն (ms)',
177
+ },
178
+ it: {
179
+ util_execution_id : 'Esecuzione',
180
+ util_action_id : 'ID azione',
181
+ util_action_key : 'Azione',
182
+ project_id : 'Progetto',
183
+ user_id : 'Utente',
184
+ execution_status : 'Stato',
185
+ external_job_id : 'Job esterno',
186
+ error_message : 'Errore',
187
+ submitted_at : 'Inviato il',
188
+ completed_at : 'Completato il',
189
+ created_at : 'Creato il',
190
+ screenshot_count : 'Screenshot',
191
+ page_url : 'URL pagina',
192
+ wait_until : 'Attendi fino a',
193
+ full_page : 'Pagina intera',
194
+ navigation_timeout_milliseconds: 'Timeout navigazione (ms)',
195
+ capture_matrix_preset : 'Matrice acquisizione',
196
+ last_callback_status : 'Ultimo stato callback',
197
+ captures_total : 'Acquisizioni totali',
198
+ captures_succeeded : 'Acquisizioni riuscite',
199
+ captures_failed : 'Acquisizioni fallite',
200
+ duration_milliseconds : 'Durata (ms)',
201
+ },
202
+ pl: {
203
+ util_execution_id : 'Uruchomienie',
204
+ util_action_id : 'ID akcji',
205
+ util_action_key : 'Akcja',
206
+ project_id : 'Projekt',
207
+ user_id : 'Użytkownik',
208
+ execution_status : 'Status',
209
+ external_job_id : 'Zadanie zewnętrzne',
210
+ error_message : 'Błąd',
211
+ submitted_at : 'Wysłano',
212
+ completed_at : 'Ukończono',
213
+ created_at : 'Utworzono',
214
+ screenshot_count : 'Zrzuty ekranu',
215
+ page_url : 'URL strony',
216
+ wait_until : 'Czekaj do',
217
+ full_page : 'Pełna strona',
218
+ navigation_timeout_milliseconds: 'Limit nawigacji (ms)',
219
+ capture_matrix_preset : 'Macierz przechwyceń',
220
+ last_callback_status : 'Ostatni status callback',
221
+ captures_total : 'Łącznie przechwyceń',
222
+ captures_succeeded : 'Udane przechwycenia',
223
+ captures_failed : 'Nieudane przechwycenia',
224
+ duration_milliseconds : 'Czas trwania (ms)',
225
+ },
226
+ pt: {
227
+ util_execution_id : 'Execução',
228
+ util_action_id : 'ID da ação',
229
+ util_action_key : 'Ação',
230
+ project_id : 'Projeto',
231
+ user_id : 'Utilizador',
232
+ execution_status : 'Estado',
233
+ external_job_id : 'Tarefa externa',
234
+ error_message : 'Erro',
235
+ submitted_at : 'Enviado em',
236
+ completed_at : 'Concluído em',
237
+ created_at : 'Criado em',
238
+ screenshot_count : 'Capturas de ecrã',
239
+ page_url : 'URL da página',
240
+ wait_until : 'Aguardar até',
241
+ full_page : 'Página completa',
242
+ navigation_timeout_milliseconds: 'Tempo limite de navegação (ms)',
243
+ capture_matrix_preset : 'Matriz de captura',
244
+ last_callback_status : 'Último estado callback',
245
+ captures_total : 'Capturas totais',
246
+ captures_succeeded : 'Capturas bem-sucedidas',
247
+ captures_failed : 'Capturas falhadas',
248
+ duration_milliseconds : 'Duração (ms)',
249
+ },
250
+ tt: {
251
+ util_execution_id : 'Йөгертү',
252
+ util_action_id : 'Гамәл ID',
253
+ util_action_key : 'Гамәл',
254
+ project_id : 'Проект',
255
+ user_id : 'Кулланучы',
256
+ execution_status : 'Статус',
257
+ external_job_id : 'Тыш эш',
258
+ error_message : 'Хата',
259
+ submitted_at : 'Җибәрелгән',
260
+ completed_at : 'Тәмамланган',
261
+ created_at : 'Ясалган',
262
+ screenshot_count : 'Скриншотлар',
263
+ page_url : 'Бит URL',
264
+ wait_until : 'Көтәргә',
265
+ full_page : 'Тулы бит',
266
+ navigation_timeout_milliseconds: 'Навигация таймауты (ms)',
267
+ capture_matrix_preset : 'Үз матрицасы',
268
+ last_callback_status : 'Соңгы callback статусы',
269
+ captures_total : 'Барлыгы тоту',
270
+ captures_succeeded : 'Уңышлы тоту',
271
+ captures_failed : 'Хаталы тоту',
272
+ duration_milliseconds : 'Озынлыгы (ms)',
273
+ },
274
+ },
275
+
276
+ enum_value_translate_matrix: {
277
+ capture_matrix_preset: familyUtil_i18n.capture_matrix_preset,
278
+ wait_until : familyUtil_i18n.wait_until,
279
+ last_callback_status : familyUtil_i18n.execution_status,
280
+ },
281
+ };
@@ -99,13 +99,12 @@ export class typeProject extends familyGeneralElement
99
99
 
100
100
  /**
101
101
  *
102
- * All test cases + suites
103
- * @version v.1.0 (23/08/2025)
104
- * @param project_id
105
- * @param callback
102
+ * @param {string} methodName
103
+ * @param {number|false} project_id
104
+ * @param {object} callback
106
105
  * @returns {Promise<any>}
107
106
  */
108
- async get_test_structure(project_id = false, callback = {})
107
+ async _get_project_structure(methodName, project_id = false, callback = {})
109
108
  {
110
109
  if (!project_id)
111
110
  {
@@ -114,11 +113,9 @@ export class typeProject extends familyGeneralElement
114
113
 
115
114
  let payload = {
116
115
  project_id: project_id
117
- }
118
- /**
119
- * {Api} ApiService
120
- */
121
- return ApiService[ this.api_key ].get_test_structure(payload).then((response) =>
116
+ };
117
+
118
+ return ApiService[ this.api_key ][ methodName ](payload).then((response) =>
122
119
  {
123
120
  if (typeof callback?.success === 'function')
124
121
  {
@@ -141,6 +138,34 @@ export class typeProject extends familyGeneralElement
141
138
  }
142
139
 
143
140
 
141
+ /**
142
+ *
143
+ * All test cases + suites
144
+ * @version v.1.0 (23/08/2025)
145
+ * @param project_id
146
+ * @param callback
147
+ * @returns {Promise<any>}
148
+ */
149
+ async get_test_structure(project_id = false, callback = {})
150
+ {
151
+ return this._get_project_structure('get_test_structure', project_id, callback);
152
+ }
153
+
154
+
155
+ /**
156
+ *
157
+ * All text documents + folders
158
+ * @version v.1.0 (04/07/2026)
159
+ * @param project_id
160
+ * @param callback
161
+ * @returns {Promise<any>}
162
+ */
163
+ async get_text_document_structure(project_id = false, callback = {})
164
+ {
165
+ return this._get_project_structure('get_text_document_structure', project_id, callback);
166
+ }
167
+
168
+
144
169
  /**
145
170
  *
146
171
  * @version v.0.1 (05/06/2025)
@@ -0,0 +1,88 @@
1
+ import { is_object } from "../../utils/utils.js";
2
+ import { familyGeneralElement } from "../core/0_familyGeneralElement.js";
3
+ import { typeTextDocument_i18n } from "../element_translate/typeTextDocument.i18n.js";
4
+
5
+ /**
6
+ * Text document — standalone WYSIWYG entity (Contour B).
7
+ *
8
+ * @see docs/Text Document/README.md
9
+ *
10
+ * @version v.1.0 (04/07/2026)
11
+ */
12
+ export class typeTextDocument extends familyGeneralElement
13
+ {
14
+ text_document_id;
15
+ project_id;
16
+ team_id;
17
+ text_document_folder_id;
18
+ text_document_title;
19
+ text_document_status;
20
+ file_uuid;
21
+ created_by_user_id;
22
+ created_at;
23
+ updated_at;
24
+
25
+ primary_key = 'text_document_id';
26
+ api_key = 'text_document';
27
+
28
+ structure_scheme = {
29
+ text_document_id : 'integer | require',
30
+ project_id : 'integer | require',
31
+ team_id : 'integer | require',
32
+ text_document_folder_id: 'integer | optional',
33
+ text_document_title : 'string | require',
34
+ text_document_status : 'string | enum | require',
35
+ file_uuid : 'string | optional',
36
+ created_by_user_id : 'integer | optional',
37
+ created_at : 'timestamp | require',
38
+ updated_at : 'timestamp | optional',
39
+ };
40
+
41
+ create_scheme = [
42
+ 'project_id',
43
+ 'text_document_folder_id',
44
+ ];
45
+
46
+ available_enum_values = {
47
+ text_document_status: [ 'DRAFT', 'PUBLISHED', 'ARCHIVED' ],
48
+ };
49
+
50
+ attribute_name_translate_matrix = typeTextDocument_i18n.attribute_name_translate_matrix;
51
+
52
+ enum_value_translate_matrix = typeTextDocument_i18n.enum_value_translate_matrix;
53
+
54
+ status_color = {
55
+ PUBLISHED: '#009688',
56
+ ARCHIVED : '#E0E0E0',
57
+ DRAFT : '#C4B040',
58
+ };
59
+
60
+ /**
61
+ * @param {object|false|undefined} data
62
+ */
63
+ constructor(data = false)
64
+ {
65
+ super();
66
+
67
+ if (data && is_object(data))
68
+ {
69
+ _.mapObject(data, (value, key) =>
70
+ {
71
+ if (this.hasOwnProperty(key))
72
+ {
73
+ this [ key ] = value;
74
+ }
75
+ });
76
+ }
77
+
78
+ return this;
79
+ }
80
+
81
+ /**
82
+ * @returns {string}
83
+ */
84
+ get_element_name()
85
+ {
86
+ return this.text_document_title || '';
87
+ }
88
+ }
@@ -0,0 +1,68 @@
1
+ import { is_object } from "../../utils/utils.js";
2
+ import { familyGeneralElement } from "../core/0_familyGeneralElement.js";
3
+ import { typeTextDocumentFolder_i18n } from "../element_translate/typeTextDocumentFolder.i18n.js";
4
+
5
+ /**
6
+ * Folder tree node for text documents within a project.
7
+ *
8
+ * @version v.1.0 (04/07/2026)
9
+ */
10
+ export class typeTextDocumentFolder extends familyGeneralElement
11
+ {
12
+ text_document_folder_id;
13
+ project_id;
14
+ team_id;
15
+ parent_text_document_folder_id;
16
+ text_document_folder_name;
17
+ created_at;
18
+ updated_at;
19
+
20
+ primary_key = 'text_document_folder_id';
21
+ api_key = 'text_document_folder';
22
+
23
+ structure_scheme = {
24
+ text_document_folder_id : 'integer | require',
25
+ project_id : 'integer | require',
26
+ team_id : 'integer | require',
27
+ parent_text_document_folder_id: 'integer | optional',
28
+ text_document_folder_name : 'string | optional',
29
+ created_at : 'timestamp | require',
30
+ updated_at : 'timestamp | optional',
31
+ };
32
+
33
+ create_scheme = [
34
+ 'project_id',
35
+ 'parent_text_document_folder_id',
36
+ ];
37
+
38
+ attribute_name_translate_matrix = typeTextDocumentFolder_i18n.attribute_name_translate_matrix;
39
+
40
+ /**
41
+ * @param {object|false|undefined} data
42
+ */
43
+ constructor(data = false)
44
+ {
45
+ super();
46
+
47
+ if (data && is_object(data))
48
+ {
49
+ _.mapObject(data, (value, key) =>
50
+ {
51
+ if (this.hasOwnProperty(key))
52
+ {
53
+ this [ key ] = value;
54
+ }
55
+ });
56
+ }
57
+
58
+ return this;
59
+ }
60
+
61
+ /**
62
+ * @returns {string}
63
+ */
64
+ get_element_name()
65
+ {
66
+ return this.text_document_folder_name || '';
67
+ }
68
+ }
@@ -5,7 +5,6 @@ import { typeUtilExecutionScreenshotMulti } from "./typeUtilExecutionScreenshotM
5
5
  import { typeUtilExecutionScreenshotMultiCapture } from "./typeUtilExecutionScreenshotMultiCapture.js";
6
6
  import { typeUtilExecutionScreenshotMultiScreenshot } from "./typeUtilExecutionScreenshotMultiScreenshot.js";
7
7
  import { typeUtilExecutionScreenshotMultiCaptureError } from "./typeUtilExecutionScreenshotMultiCaptureError.js";
8
- import { typeUtilExecutionEvent } from "./typeUtilExecutionEvent.js";
9
8
  import { typeFile } from "../family_files/typeFile.js";
10
9
  import { create_type_file_from_wire } from "../family_files/typeFileFactory.js";
11
10
 
@@ -121,7 +120,12 @@ export class typeUtilExecution extends familyUtil
121
120
  * file: import('../family_files/typeFile.js').typeFile|false,
122
121
  * }>,
123
122
  * capture_errors: typeUtilExecutionScreenshotMultiCaptureError[],
124
- * events: typeUtilExecutionEvent[],
123
+ * events: Array<{
124
+ * util_execution_event_id?: number,
125
+ * util_execution_id?: number,
126
+ * event_type?: string,
127
+ * created_at?: string,
128
+ * }>,
125
129
  * }|false}
126
130
  */
127
131
  static composeDetails(data)
@@ -149,7 +153,14 @@ export class typeUtilExecution extends familyUtil
149
153
  ? data.capture_errors.map((row) => new typeUtilExecutionScreenshotMultiCaptureError(row))
150
154
  : [],
151
155
  events : Array.isArray(data.events)
152
- ? data.events.map((row) => new typeUtilExecutionEvent(row))
156
+ ? data.events
157
+ .filter((row) => is_object(row))
158
+ .map((row) => ({
159
+ util_execution_event_id: row.util_execution_event_id,
160
+ util_execution_id : row.util_execution_id,
161
+ event_type : row.event_type,
162
+ created_at : row.created_at,
163
+ }))
153
164
  : [],
154
165
  };
155
166
  }