complexqa_frontend_core 1.6.5 → 1.6.7

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.6.5",
3
+ "version": "1.6.7",
4
4
  "description": "core of web ",
5
5
  "type": "module",
6
6
  "exports": {
@@ -356,10 +356,11 @@ export class ApiAbstractElementClass
356
356
  /**
357
357
  *
358
358
  * @param {} response
359
+ * @param {} init_class_instance
359
360
  * @returns {Promise<any>}
360
- * @version v.0.1 (01/06/2024)
361
+ * @version v.0.1 (04/03/2026)
361
362
  */
362
- handle_response(response)
363
+ handle_response(response, init_class_instance = true)
363
364
  {
364
365
  response = response.then((api_response) =>
365
366
  {
@@ -385,7 +386,14 @@ export class ApiAbstractElementClass
385
386
  {
386
387
  let result = api_response?.data.api_result.map((row) =>
387
388
  {
388
- return new this.element_class_instance(row);
389
+ if (init_class_instance)
390
+ {
391
+ return new this.element_class_instance(row);
392
+ }
393
+ else
394
+ {
395
+ return row;
396
+ }
389
397
  });
390
398
 
391
399
  return result;
@@ -22,7 +22,7 @@ export class ProjectApi extends ApiAbstractElementClass
22
22
  *
23
23
  * All test cases + suites
24
24
  *
25
- * @version v.1.0 (23/08/2025)
25
+ * @version v.1.1 (04/02/2026)
26
26
  * @param payload
27
27
  * @todo - валидация входящих параметров
28
28
  */
@@ -32,7 +32,7 @@ export class ProjectApi extends ApiAbstractElementClass
32
32
 
33
33
  payload = this.handle_request_payload(payload);
34
34
  let response = this.api_request(url, payload);
35
- response = this.handle_response(response);
35
+ response = this.handle_response(response, false);
36
36
 
37
37
  return {
38
38
  response: response,
@@ -80,6 +80,7 @@ export class TableConfiguration extends abstractAppConfiguration
80
80
 
81
81
  this.bootstrap_test_case();
82
82
  this.bootstrap_team_member();
83
+ this.bootstrap_test_run();
83
84
 
84
85
  this.state.loaded = true;
85
86
  }
@@ -105,6 +106,26 @@ export class TableConfiguration extends abstractAppConfiguration
105
106
  }
106
107
 
107
108
 
109
+ /**
110
+ *
111
+ * @version v.0.1 (17/08/2025)
112
+ */
113
+ static bootstrap_test_run()
114
+ {
115
+ let payload_listing = {};
116
+
117
+ let columns = this.bootstrap_test_run_columns();
118
+
119
+ payload_listing.config = new typeTableConfiguration({
120
+ columns: columns
121
+ });
122
+
123
+ this.config.test_run = {
124
+ listing: payload_listing
125
+ }
126
+ }
127
+
128
+
108
129
  /**
109
130
  *
110
131
  * @version v.0.1 (08/01/2026)
@@ -290,4 +311,81 @@ export class TableConfiguration extends abstractAppConfiguration
290
311
 
291
312
  return response;
292
313
  }
314
+
315
+
316
+ /**
317
+ *
318
+ * @version v.0.1 (17/08/2025)
319
+ */
320
+ static bootstrap_test_run_columns()
321
+ {
322
+ let response = [];
323
+
324
+ response.push(new typeTableColumn({
325
+ header_name : 'ID',
326
+ field : 'test_run_id',
327
+ width : '120',
328
+ sort_order : '1',
329
+ cell_classes: 'bg-secondary',
330
+ default_sort: 'asc',
331
+ is_sortable : true,
332
+ is_filter : true,
333
+ is_hide : true,
334
+ is_editable : false,
335
+ }));
336
+
337
+ response.push(new typeTableColumn({
338
+ header_name : 'Name',
339
+ field : 'test_run_name',
340
+ width : '480',
341
+ sort_order : '1',
342
+ cell_classes: '',
343
+ default_sort: '',
344
+ is_sortable : true,
345
+ is_filter : true,
346
+ is_hide : false,
347
+ is_editable : true,
348
+ }));
349
+
350
+ response.push(new typeTableColumn({
351
+ header_name : 'description',
352
+ field : 'test_run_description',
353
+ width : '120',
354
+ sort_order : '2',
355
+ cell_classes: '',
356
+ default_sort: '',
357
+ is_sortable : true,
358
+ is_filter : true,
359
+ is_hide : false,
360
+ is_editable : true,
361
+ }));
362
+
363
+ response.push(new typeTableColumn({
364
+ header_name : 'status',
365
+ field : 'test_run_status',
366
+ width : '120',
367
+ sort_order : '2',
368
+ cell_classes: '',
369
+ default_sort: '',
370
+ is_sortable : true,
371
+ is_filter : true,
372
+ is_hide : false,
373
+ is_editable : true,
374
+ }));
375
+
376
+ response.push(new typeTableColumn({
377
+ header_name : 'completed at',
378
+ field : 'completed_at',
379
+ width : '120',
380
+ sort_order : '2',
381
+ cell_classes: 'bg-secondary',
382
+ default_sort: '',
383
+ is_sortable : true,
384
+ is_filter : true,
385
+ is_hide : true,
386
+ is_editable : false,
387
+ }));
388
+
389
+ return response;
390
+ }
293
391
  }
package/publish/index.js CHANGED
@@ -5,6 +5,7 @@ export { typeFilter } from './types/family_service/typeFilter.js';
5
5
  export { typeFOR } from './types/family_service/typeFOR.js';
6
6
  export { typeProject } from './types/family_elements/typeProject.js';
7
7
  export { typeTestCase } from './types/family_elements/typeTestCase.js';
8
+ export { typeTestRun } from './types/family_elements/typeTestRun.js'
8
9
  export { typeTestCaseStep } from './types/family_elements/typeTestCaseStep.js';
9
10
  export { UserService } from './services/UserService.js';
10
11
  export { Api } from "./api/index.js";