@fctc/edu-logic-lib 1.1.7 → 1.1.9

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 (47) hide show
  1. package/dist/chunk-4K3QAEZ6.js +90 -0
  2. package/dist/chunk-6BLY7NZ6.mjs +120 -0
  3. package/dist/chunk-6QXB3XX7.mjs +256 -0
  4. package/dist/chunk-7JD5GMIZ.js +2 -0
  5. package/dist/chunk-AYUH66EE.mjs +62 -0
  6. package/dist/chunk-CZHZLKNA.mjs +585 -0
  7. package/dist/chunk-EK43MEN4.js +635 -0
  8. package/dist/chunk-ELARQVCE.mjs +2344 -0
  9. package/dist/chunk-FVGPSTJ7.js +122 -0
  10. package/dist/chunk-GGOFXFSX.js +2362 -0
  11. package/dist/chunk-IXDDYGKE.js +61 -0
  12. package/dist/chunk-MLJQPO4Q.mjs +57 -0
  13. package/dist/chunk-OADBRQ4A.js +32 -0
  14. package/dist/chunk-OBR6UTC5.mjs +1 -0
  15. package/dist/chunk-OFUXC2LA.mjs +86 -0
  16. package/dist/chunk-P2IGWJDZ.js +1068 -0
  17. package/dist/chunk-QLUONJPQ.mjs +519 -0
  18. package/dist/chunk-RWRHCIQI.mjs +1059 -0
  19. package/dist/chunk-RZBHZYXG.js +582 -0
  20. package/dist/chunk-S7B3VKMJ.mjs +85 -0
  21. package/dist/chunk-S7YF2I23.js +95 -0
  22. package/dist/chunk-UY6GNZNB.js +262 -0
  23. package/dist/chunk-XYVK476U.mjs +29 -0
  24. package/dist/chunk-YOV6KAT2.js +66 -0
  25. package/dist/config.js +6 -257
  26. package/dist/config.mjs +2 -256
  27. package/dist/constants.js +53 -152
  28. package/dist/constants.mjs +2 -141
  29. package/dist/environment.js +16 -840
  30. package/dist/environment.mjs +4 -841
  31. package/dist/hooks.js +180 -4851
  32. package/dist/hooks.mjs +9 -4814
  33. package/dist/index.js +626 -5324
  34. package/dist/index.mjs +12 -5169
  35. package/dist/models.js +18 -3217
  36. package/dist/models.mjs +9 -3217
  37. package/dist/provider.js +17 -3224
  38. package/dist/provider.mjs +8 -3224
  39. package/dist/services.js +31 -4032
  40. package/dist/services.mjs +7 -4032
  41. package/dist/store.js +248 -576
  42. package/dist/store.mjs +1 -519
  43. package/dist/types.js +2 -0
  44. package/dist/types.mjs +1 -1
  45. package/dist/utils.js +61 -2355
  46. package/dist/utils.mjs +1 -2344
  47. package/package.json +1 -1
@@ -0,0 +1,122 @@
1
+ 'use strict';
2
+
3
+ var chunkS7YF2I23_js = require('./chunk-S7YF2I23.js');
4
+
5
+ // src/models/base-model/index.ts
6
+ var BaseModel = class {
7
+ name;
8
+ view;
9
+ actContext;
10
+ fields;
11
+ constructor(init) {
12
+ this.name = init.name;
13
+ this.view = init.view;
14
+ this.actContext = init.actContext;
15
+ this.fields = init.fields;
16
+ }
17
+ getSpecificationByFields({
18
+ fields = [],
19
+ specification = {},
20
+ modelsData,
21
+ model,
22
+ modelRoot
23
+ }) {
24
+ if (Array.isArray(fields)) {
25
+ let spec = { ...specification };
26
+ fields.forEach((field) => {
27
+ if (!field?.type_co || field?.name && field?.type_co === "field" /* FIELD */) {
28
+ if (modelsData?.[model]?.[field?.name]) {
29
+ if (modelsData?.[model]?.[field?.name]?.type === "one2many" /* ONE2MANY */ || modelsData?.[model]?.[field?.name]?.type === "many2many" /* MANY2MANY */) {
30
+ const relation = modelsData?.[model]?.[field?.name]?.relation;
31
+ const modelRelation = modelsData?.[relation];
32
+ if (modelRelation) {
33
+ spec[field?.name] = {
34
+ fields: {}
35
+ };
36
+ if (modelRoot && modelRoot === relation) {
37
+ spec[field?.name].fields = { id: {} };
38
+ } else {
39
+ spec[field?.name].fields = this.getSpecificationByFields({
40
+ fields: Object.values(modelRelation),
41
+ specification: {},
42
+ modelsData,
43
+ model: relation,
44
+ modelRoot: model
45
+ });
46
+ }
47
+ } else {
48
+ spec[field?.name] = {
49
+ fields: {
50
+ id: {},
51
+ display_name: {}
52
+ }
53
+ };
54
+ }
55
+ } else if (modelsData?.[model]?.[field?.name]?.type === "many2one" /* MANY2ONE */) {
56
+ spec[field?.name] = {
57
+ fields: {
58
+ id: {},
59
+ display_name: {},
60
+ ...chunkS7YF2I23_js.WIDGETAVATAR[field?.widget] ? { image_256: {} } : {},
61
+ ...field?.name === "currency_id" && fields?.find((item) => item?.widget === "monetary") ? { symbol: {} } : {},
62
+ ...field?.widget === "many2many_binary" ? { mimetype: {} } : {}
63
+ }
64
+ };
65
+ } else {
66
+ spec[field?.name] = {};
67
+ }
68
+ }
69
+ } else if (field?.type_co === "group" /* GROUP */ || field?.type_co === "div" /* DIV */ || field?.type_co === "span" /* SPAN */) {
70
+ const specGroup = this.getSpecificationByFields({
71
+ fields: field?.fields,
72
+ specification: spec,
73
+ modelsData,
74
+ model
75
+ });
76
+ spec = { ...spec, ...specGroup };
77
+ } else if (field?.type_co === "tree" /* TREE */ || field?.type_co === "list" /* LIST */) {
78
+ const relation = modelsData?.[model]?.[field?.name]?.relation;
79
+ const specTreee = this.getSpecificationByFields({
80
+ fields: field?.fields,
81
+ specification: {},
82
+ modelsData,
83
+ model: relation,
84
+ modelRoot: model
85
+ });
86
+ spec = {
87
+ ...spec,
88
+ [field?.name]: {
89
+ fields: { ...spec?.[field?.name]?.fields, ...specTreee }
90
+ }
91
+ };
92
+ }
93
+ });
94
+ return spec;
95
+ } else {
96
+ console.warn("fields is not array");
97
+ }
98
+ }
99
+ getTreeProps() {
100
+ const props = this.view?.views?.list || {};
101
+ return props;
102
+ }
103
+ getTreeFields() {
104
+ const fields = this.view?.views?.list?.fields || [];
105
+ return fields;
106
+ }
107
+ getSpecification() {
108
+ const specInit = {};
109
+ const modelData = this.view?.models || {};
110
+ const specification = this.getSpecificationByFields({
111
+ fields: this.fields,
112
+ specification: specInit,
113
+ modelsData: modelData,
114
+ model: this.name,
115
+ modelRoot: ""
116
+ });
117
+ return specification;
118
+ }
119
+ };
120
+ var base_model_default = BaseModel;
121
+
122
+ exports.base_model_default = base_model_default;