@ratiosolver/coco 0.0.2

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 (39) hide show
  1. package/README.md +3 -0
  2. package/dist/coco/coco.d.ts +313 -0
  3. package/dist/coco/coco.js +557 -0
  4. package/dist/coco/coco.js.map +1 -0
  5. package/dist/coco/components/chart.d.ts +30 -0
  6. package/dist/coco/components/chart.js +231 -0
  7. package/dist/coco/components/chart.js.map +1 -0
  8. package/dist/coco/components/item.d.ts +23 -0
  9. package/dist/coco/components/item.js +85 -0
  10. package/dist/coco/components/item.js.map +1 -0
  11. package/dist/coco/components/item_chart.d.ts +15 -0
  12. package/dist/coco/components/item_chart.js +88 -0
  13. package/dist/coco/components/item_chart.js.map +1 -0
  14. package/dist/coco/components/item_properties.d.ts +11 -0
  15. package/dist/coco/components/item_properties.js +59 -0
  16. package/dist/coco/components/item_properties.js.map +1 -0
  17. package/dist/coco/components/item_publisher.d.ts +15 -0
  18. package/dist/coco/components/item_publisher.js +152 -0
  19. package/dist/coco/components/item_publisher.js.map +1 -0
  20. package/dist/coco/components/offcanvas.d.ts +6 -0
  21. package/dist/coco/components/offcanvas.js +42 -0
  22. package/dist/coco/components/offcanvas.js.map +1 -0
  23. package/dist/coco/components/publisher.d.ts +22 -0
  24. package/dist/coco/components/publisher.js +281 -0
  25. package/dist/coco/components/publisher.js.map +1 -0
  26. package/dist/coco/components/taxonomy.d.ts +27 -0
  27. package/dist/coco/components/taxonomy.js +185 -0
  28. package/dist/coco/components/taxonomy.js.map +1 -0
  29. package/dist/coco/components/type.d.ts +37 -0
  30. package/dist/coco/components/type.js +165 -0
  31. package/dist/coco/components/type.js.map +1 -0
  32. package/dist/coco/rules.d.ts +30 -0
  33. package/dist/coco/rules.js +36 -0
  34. package/dist/coco/rules.js.map +1 -0
  35. package/dist/index.d.ts +14 -0
  36. package/dist/index.js +30 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/tsconfig.tsbuildinfo +1 -0
  39. package/package.json +40 -0
@@ -0,0 +1,152 @@
1
+ import { blink, Component } from "@ratiosolver/flick";
2
+ import { coco } from "../coco";
3
+ import { publisher } from "./publisher";
4
+ export class ItemPublisher extends Component {
5
+ constructor(item) {
6
+ super(item, document.createElement('div'));
7
+ this.val = {};
8
+ this.v_checks = new Map();
9
+ this.v_values = new Map();
10
+ const v_table = document.createElement('table');
11
+ v_table.createCaption().textContent = 'Values';
12
+ v_table.classList.add('table', 'caption-top');
13
+ const v_thead = v_table.createTHead();
14
+ const v_hrow = v_thead.insertRow();
15
+ const v_name = document.createElement('th');
16
+ v_name.scope = 'col';
17
+ v_name.textContent = 'Name';
18
+ v_name.classList.add('w-75');
19
+ v_hrow.appendChild(v_name);
20
+ const v_sel_all = document.createElement('th');
21
+ v_sel_all.scope = 'col';
22
+ v_sel_all.classList.add('w-auto', 'text-center'); // Auto width and centered content
23
+ this.v_sel_all_check = document.createElement('input');
24
+ this.v_sel_all_check.classList.add('form-check-input');
25
+ this.v_sel_all_check.type = 'checkbox';
26
+ this.v_sel_all_check.addEventListener('change', () => {
27
+ const val = this.payload.get_datum();
28
+ for (const [name, check] of this.v_checks) {
29
+ check.checked = this.v_sel_all_check.checked;
30
+ if (!this.v_sel_all_check.checked && val && val.data[name])
31
+ this.v_values.get(name).set_value(val.data[name]);
32
+ }
33
+ });
34
+ v_sel_all.appendChild(this.v_sel_all_check);
35
+ v_hrow.appendChild(v_sel_all);
36
+ const v_val = document.createElement('th');
37
+ v_val.scope = 'col';
38
+ v_val.textContent = 'Value';
39
+ v_val.classList.add('w-25');
40
+ v_hrow.appendChild(v_val);
41
+ const v_body = v_table.createTBody();
42
+ for (const [name, prop] of item.get_type().get_all_dynamic_properties()) {
43
+ const row = v_body.insertRow();
44
+ const v_name = document.createElement('th');
45
+ v_name.scope = 'col';
46
+ v_name.textContent = name;
47
+ row.appendChild(v_name);
48
+ const v_sel = document.createElement('td');
49
+ v_sel.classList.add('text-center');
50
+ const v_sel_check = document.createElement('input');
51
+ v_sel_check.classList.add('form-check-input');
52
+ v_sel_check.type = 'checkbox';
53
+ v_sel_check.addEventListener('change', () => {
54
+ if (this.v_checks.values().every(check => check.checked)) {
55
+ this.v_sel_all_check.indeterminate = false;
56
+ this.v_sel_all_check.checked = true;
57
+ }
58
+ else if (this.v_checks.values().every(check => !check.checked)) {
59
+ this.v_sel_all_check.indeterminate = false;
60
+ this.v_sel_all_check.checked = false;
61
+ const val = this.payload.get_datum();
62
+ if (val && val.data[name])
63
+ this.v_values.get(name).set_value(val.data[name]);
64
+ }
65
+ else
66
+ this.v_sel_all_check.indeterminate = true;
67
+ });
68
+ v_sel_check.classList.add('property-checkbox');
69
+ this.v_checks.set(name, v_sel_check);
70
+ v_sel.appendChild(v_sel_check);
71
+ row.appendChild(v_sel);
72
+ const v_value = document.createElement('td');
73
+ const pub = publisher.PublisherManager.get_instance().get_publisher_generator(prop.get_type().get_name()).make_publisher(name, prop, this.val);
74
+ this.v_values.set(name, pub);
75
+ v_value.append(pub.get_element());
76
+ row.appendChild(v_value);
77
+ }
78
+ this.element.append(v_table);
79
+ this.set_value();
80
+ const b_div = document.createElement('div');
81
+ b_div.classList.add('d-flex', 'justify-content-end', 'gap-2');
82
+ const fake_button = document.createElement('button');
83
+ fake_button.classList.add('btn', 'btn-secondary');
84
+ fake_button.textContent = 'Fake';
85
+ fake_button.addEventListener('click', () => {
86
+ if (!this.v_sel_all_check.checked) {
87
+ const pars = [];
88
+ for (const [name, check] of this.v_checks)
89
+ if (check.checked)
90
+ pars.push(name);
91
+ coco.CoCo.get_instance().fake_data(item.get_type(), pars).then(fake => {
92
+ const els = [];
93
+ for (const [name, v] of Object.entries(fake)) {
94
+ const v_val = this.v_values.get(name);
95
+ els.push(v_val.get_element().children[0]);
96
+ v_val.set_value(v);
97
+ }
98
+ blink(els);
99
+ });
100
+ }
101
+ else
102
+ coco.CoCo.get_instance().fake_data(item.get_type()).then(fake => {
103
+ const els = [];
104
+ for (const [name, v] of Object.entries(fake)) {
105
+ const v_val = this.v_values.get(name);
106
+ els.push(v_val.get_element().children[0]);
107
+ v_val.set_value(v);
108
+ }
109
+ blink(els);
110
+ });
111
+ });
112
+ b_div.append(fake_button);
113
+ const publish_button = document.createElement('button');
114
+ publish_button.classList.add('btn', 'btn-primary');
115
+ publish_button.textContent = 'Publish';
116
+ publish_button.addEventListener('click', () => {
117
+ const val = {};
118
+ for (const [name, v] of Object.entries(this.val))
119
+ if (this.v_checks.get(name).checked)
120
+ val[name] = v;
121
+ coco.CoCo.get_instance().publish(item, val);
122
+ });
123
+ b_div.append(publish_button);
124
+ this.element.append(b_div);
125
+ item.add_item_listener(this);
126
+ }
127
+ unmounting() { this.payload.remove_item_listener(this); }
128
+ properties_updated(_) { }
129
+ values_updated(_) { }
130
+ new_value(_i, _v) { this.set_value(); }
131
+ slots_updated(_) { }
132
+ set_value() {
133
+ const props = this.payload.get_type().get_all_dynamic_properties();
134
+ if (props.size > 0) {
135
+ this.element.hidden = false;
136
+ const val = this.payload.get_datum();
137
+ if (val) {
138
+ const els = [];
139
+ for (const [name, v] of Object.entries(val.data)) {
140
+ const v_val = this.v_values.get(name);
141
+ els.push(v_val.get_element().children[0]);
142
+ if (!this.v_checks.get(name).checked)
143
+ v_val.set_value(v);
144
+ }
145
+ blink(els);
146
+ }
147
+ }
148
+ else
149
+ this.element.hidden = true;
150
+ }
151
+ }
152
+ //# sourceMappingURL=item_publisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item_publisher.js","sourceRoot":"","sources":["../../../src/coco/components/item_publisher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { App, Component } from "@ratiosolver/flick";
2
+ export declare class Offcanvas extends Component<App, HTMLDivElement> {
3
+ private body;
4
+ constructor(id?: string);
5
+ get_id(): string;
6
+ }
@@ -0,0 +1,42 @@
1
+ import { App, Component, SelectorGroup } from "@ratiosolver/flick";
2
+ import { TypeList } from "./type";
3
+ import { ItemList } from "./item";
4
+ import { TaxonomyElement } from "./taxonomy";
5
+ class ULComponent extends Component {
6
+ constructor(group) {
7
+ super(undefined, document.createElement('ul'));
8
+ this.element.classList.add('nav', 'nav-pills', 'list-group', 'flex-column');
9
+ this.add_child(new TaxonomyElement(group));
10
+ }
11
+ }
12
+ class OffcanvasBody extends Component {
13
+ constructor() {
14
+ super(App.get_instance(), document.createElement('div'));
15
+ this.group = new SelectorGroup();
16
+ this.ul = new ULComponent(this.group);
17
+ this.type_list = new TypeList(this.group);
18
+ this.item_list = new ItemList(this.group);
19
+ this.element.classList.add('offcanvas-body', 'flex-column', 'flex-shrink-0', 'p-3', 'bg-light');
20
+ this.add_child(this.ul);
21
+ const types_lab = document.createElement('label');
22
+ types_lab.innerText = "Types";
23
+ this.element.append(types_lab);
24
+ this.add_child(this.type_list);
25
+ const items_lab = document.createElement('label');
26
+ items_lab.innerText = "Items";
27
+ this.element.append(items_lab);
28
+ this.add_child(this.item_list);
29
+ }
30
+ }
31
+ export class Offcanvas extends Component {
32
+ constructor(id = 'coco-offcanvas') {
33
+ super(App.get_instance(), document.createElement('div'));
34
+ this.element.classList.add('offcanvas', 'offcanvas-start', 'd-flex');
35
+ this.element.tabIndex = -1;
36
+ this.element.id = id;
37
+ this.body = new OffcanvasBody();
38
+ this.add_child(this.body);
39
+ }
40
+ get_id() { return this.element.id; }
41
+ }
42
+ //# sourceMappingURL=offcanvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offcanvas.js","sourceRoot":"","sources":["../../../src/coco/components/offcanvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAY,SAAQ,SAAiC;IAEzD,YAAY,KAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAE5E,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,aAAc,SAAQ,SAA8B;IAOxD;QACE,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QANnD,UAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAC5B,OAAE,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,cAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,cAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAI3C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAEhG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE/B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,SAA8B;IAI3D,YAAY,KAAa,gBAAgB;QACvC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;QAEhC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;CAC7C"}
@@ -0,0 +1,22 @@
1
+ import { coco } from '../coco';
2
+ export declare namespace publisher {
3
+ class PublisherManager {
4
+ private static instance;
5
+ private publishers;
6
+ private constructor();
7
+ static get_instance(): PublisherManager;
8
+ add_publisher_generator<V>(publisher: PublisherGenerator<V>): void;
9
+ get_publisher_generator(name: string): PublisherGenerator<unknown>;
10
+ }
11
+ abstract class PublisherGenerator<V> {
12
+ private name;
13
+ constructor(name: string);
14
+ get_name(): string;
15
+ abstract make_publisher(name: string, property: coco.taxonomy.Property<unknown>, val: Record<string, unknown>): Publisher<V>;
16
+ }
17
+ interface Publisher<V> {
18
+ get_value(): V;
19
+ set_value(v: V): void;
20
+ get_element(): HTMLElement;
21
+ }
22
+ }
@@ -0,0 +1,281 @@
1
+ export var publisher;
2
+ (function (publisher_1) {
3
+ class PublisherManager {
4
+ constructor() {
5
+ this.publishers = new Map();
6
+ this.add_publisher_generator(new BoolPublisherGenerator());
7
+ this.add_publisher_generator(new IntPublisherGenerator());
8
+ this.add_publisher_generator(new FloatPublisherGenerator());
9
+ this.add_publisher_generator(new StringPublisherGenerator());
10
+ this.add_publisher_generator(new SymbolPublisherGenerator());
11
+ this.add_publisher_generator(new ItemPublisherGenerator());
12
+ this.add_publisher_generator(new JSONPublisherGenerator());
13
+ }
14
+ static get_instance() {
15
+ if (!PublisherManager.instance)
16
+ PublisherManager.instance = new PublisherManager();
17
+ return PublisherManager.instance;
18
+ }
19
+ add_publisher_generator(publisher) { this.publishers.set(publisher.get_name(), publisher); }
20
+ get_publisher_generator(name) { return this.publishers.get(name); }
21
+ }
22
+ publisher_1.PublisherManager = PublisherManager;
23
+ class PublisherGenerator {
24
+ constructor(name) {
25
+ this.name = name;
26
+ }
27
+ get_name() { return this.name; }
28
+ }
29
+ publisher_1.PublisherGenerator = PublisherGenerator;
30
+ class BoolPublisherGenerator extends PublisherGenerator {
31
+ constructor() { super('bool'); }
32
+ make_publisher(name, property, val) { return new BoolPublisher(name, property, val); }
33
+ }
34
+ class IntPublisherGenerator extends PublisherGenerator {
35
+ constructor() { super('int'); }
36
+ make_publisher(name, property, val) { return new IntPublisher(name, property, val); }
37
+ }
38
+ class FloatPublisherGenerator extends PublisherGenerator {
39
+ constructor() { super('float'); }
40
+ make_publisher(name, property, val) { return new FloatPublisher(name, property, val); }
41
+ }
42
+ class StringPublisherGenerator extends PublisherGenerator {
43
+ constructor() { super('string'); }
44
+ make_publisher(name, property, val) { return new StringPublisher(name, property, val); }
45
+ }
46
+ class SymbolPublisherGenerator extends PublisherGenerator {
47
+ constructor() { super('symbol'); }
48
+ make_publisher(name, property, val) { return new SymbolPublisher(name, property, val); }
49
+ }
50
+ class ItemPublisherGenerator extends PublisherGenerator {
51
+ constructor() { super('item'); }
52
+ make_publisher(name, property, val) { return new ItemPublisher(name, property, val); }
53
+ }
54
+ class JSONPublisherGenerator extends PublisherGenerator {
55
+ constructor() { super('json'); }
56
+ make_publisher(name, property, val) { return new JSONPublisher(name, property, val); }
57
+ }
58
+ class BoolPublisher {
59
+ constructor(name, property, val) {
60
+ this.name = name;
61
+ this.val = val;
62
+ this.element = document.createElement('div');
63
+ this.element.classList.add('input-group');
64
+ this.input = document.createElement('input');
65
+ this.input.classList.add('form-check-input');
66
+ this.input.type = 'checkbox';
67
+ this.input.id = name;
68
+ if (val[name])
69
+ this.set_value(val[name]);
70
+ else if (property.has_default_value())
71
+ this.input.checked = property.get_default_value();
72
+ this.input.addEventListener('change', () => this.val[this.name] = this.input.checked);
73
+ this.element.append(this.input);
74
+ }
75
+ get_value() { return this.val[this.name]; }
76
+ set_value(v) {
77
+ this.val[this.name] = v;
78
+ this.input.checked = v;
79
+ }
80
+ get_element() { return this.element; }
81
+ }
82
+ class IntPublisher {
83
+ constructor(name, property, val) {
84
+ this.name = name;
85
+ this.val = val;
86
+ this.element = document.createElement('div');
87
+ this.element.classList.add('input-group');
88
+ this.input = document.createElement('input');
89
+ this.input.classList.add('form-control');
90
+ this.input.type = 'number';
91
+ this.input.id = name;
92
+ this.input.step = '1';
93
+ if (val[name])
94
+ this.set_value(val[name]);
95
+ else if (property.has_default_value())
96
+ this.set_value(property.get_default_value());
97
+ if (property.get_min() !== undefined)
98
+ this.input.min = property.get_min().toString();
99
+ if (property.get_max() !== undefined)
100
+ this.input.max = property.get_max().toString();
101
+ this.input.addEventListener('change', () => this.val[this.name] = parseInt(this.input.value));
102
+ this.element.append(this.input);
103
+ }
104
+ get_value() { return this.val[this.name]; }
105
+ set_value(v) {
106
+ this.val[this.name] = v;
107
+ this.input.value = v.toString();
108
+ }
109
+ get_element() { return this.element; }
110
+ }
111
+ class FloatPublisher {
112
+ constructor(name, property, val) {
113
+ this.name = name;
114
+ this.val = val;
115
+ this.element = document.createElement('div');
116
+ this.element.classList.add('input-group');
117
+ this.input = document.createElement('input');
118
+ this.input.classList.add('form-control');
119
+ this.input.type = 'number';
120
+ this.input.id = name;
121
+ if (val[name])
122
+ this.set_value(val[name]);
123
+ else if (property.has_default_value())
124
+ this.set_value(property.get_default_value());
125
+ if (property.get_min() !== undefined)
126
+ this.input.min = property.get_min().toString();
127
+ if (property.get_max() !== undefined)
128
+ this.input.max = property.get_max().toString();
129
+ this.input.addEventListener('change', () => this.val[this.name] = parseFloat(this.input.value));
130
+ this.element.append(this.input);
131
+ }
132
+ get_value() { return this.val[this.name]; }
133
+ set_value(v) {
134
+ this.val[this.name] = v;
135
+ this.input.value = v.toString();
136
+ }
137
+ get_element() { return this.element; }
138
+ }
139
+ class StringPublisher {
140
+ constructor(name, property, val) {
141
+ this.name = name;
142
+ this.val = val;
143
+ this.element = document.createElement('div');
144
+ this.element.classList.add('input-group');
145
+ this.input = document.createElement('input');
146
+ this.input.classList.add('form-control');
147
+ this.input.type = 'text';
148
+ this.input.id = name;
149
+ if (val[name])
150
+ this.set_value(val[name]);
151
+ else if (property.has_default_value())
152
+ this.set_value(property.get_default_value());
153
+ this.input.addEventListener('change', () => this.val[this.name] = this.input.value);
154
+ this.element.append(this.input);
155
+ }
156
+ get_value() { return this.val[this.name]; }
157
+ set_value(v) {
158
+ this.val[this.name] = v;
159
+ this.input.value = v;
160
+ }
161
+ get_element() { return this.element; }
162
+ }
163
+ class SymbolPublisher {
164
+ constructor(name, property, val) {
165
+ this.name = name;
166
+ this.multiple = property.is_multiple();
167
+ this.val = val;
168
+ this.element = document.createElement('div');
169
+ this.element.classList.add('input-group');
170
+ this.select = document.createElement('select');
171
+ this.select.classList.add('form-select');
172
+ this.select.id = name;
173
+ if (this.multiple)
174
+ this.select.multiple = true;
175
+ if (property.get_symbols())
176
+ property.get_symbols().forEach(s => {
177
+ const option = document.createElement('option');
178
+ option.value = s;
179
+ option.text = s;
180
+ this.select.append(option);
181
+ });
182
+ if (val[name])
183
+ this.set_value(val[name]);
184
+ else if (property.has_default_value())
185
+ this.set_value(property.get_default_value());
186
+ this.select.addEventListener('change', () => {
187
+ if (this.multiple) {
188
+ const selected = [];
189
+ for (let i = 0; i < this.select.options.length; i++)
190
+ if (this.select.options[i].selected)
191
+ selected.push(this.select.options[i].value);
192
+ this.val[this.name] = selected;
193
+ }
194
+ else
195
+ this.val[this.name] = this.select.value;
196
+ });
197
+ this.element.append(this.select);
198
+ }
199
+ get_value() { return this.val[this.name]; }
200
+ set_value(v) {
201
+ this.val[this.name] = v;
202
+ if (this.multiple)
203
+ for (let i = 0; i < this.select.options.length; i++)
204
+ this.select.options[i].selected = v.includes(this.select.options[i].value);
205
+ else
206
+ this.select.value = v;
207
+ }
208
+ get_element() { return this.element; }
209
+ }
210
+ class ItemPublisher {
211
+ constructor(name, property, val) {
212
+ this.name = name;
213
+ this.multiple = property.is_multiple();
214
+ this.val = val;
215
+ this.element = document.createElement('div');
216
+ this.element.classList.add('input-group');
217
+ this.select = document.createElement('select');
218
+ this.select.classList.add('form-select');
219
+ this.select.id = name;
220
+ if (this.multiple)
221
+ this.select.multiple = true;
222
+ if (property.get_domain().get_instances())
223
+ for (const i of property.get_domain().get_instances()) {
224
+ const option = document.createElement('option');
225
+ option.value = i.get_id();
226
+ option.text = i.to_string();
227
+ this.select.append(option);
228
+ }
229
+ if (val[name])
230
+ this.set_value(val[name]);
231
+ else if (property.has_default_value())
232
+ this.set_value(property.is_multiple() ? property.get_default_value().map(i => i.get_id()) : property.get_default_value().get_id());
233
+ this.select.addEventListener('change', () => {
234
+ if (this.multiple) {
235
+ const selected = [];
236
+ for (let i = 0; i < this.select.options.length; i++)
237
+ if (this.select.options[i].selected)
238
+ selected.push(this.select.options[i].value);
239
+ this.val[this.name] = selected;
240
+ }
241
+ else
242
+ this.val[this.name] = this.select.value;
243
+ });
244
+ this.element.append(this.select);
245
+ }
246
+ get_value() { return this.val[this.name]; }
247
+ set_value(v) {
248
+ this.val[this.name] = v;
249
+ if (this.multiple)
250
+ for (let i = 0; i < this.select.options.length; i++)
251
+ this.select.options[i].selected = v.includes(this.select.options[i].value);
252
+ else
253
+ this.select.value = v;
254
+ }
255
+ get_element() { return this.element; }
256
+ }
257
+ class JSONPublisher {
258
+ constructor(name, property, val) {
259
+ this.name = name;
260
+ this.val = val;
261
+ this.element = document.createElement('div');
262
+ this.element.classList.add('input-group');
263
+ this.textarea = document.createElement('textarea');
264
+ this.textarea.classList.add('form-control');
265
+ this.textarea.id = name;
266
+ if (val[name])
267
+ this.set_value(val[name]);
268
+ else if (property.has_default_value())
269
+ this.set_value(property.get_default_value());
270
+ this.textarea.addEventListener('change', () => this.val[this.name] = JSON.parse(this.textarea.value));
271
+ this.element.append(this.textarea);
272
+ }
273
+ get_value() { return this.val[this.name]; }
274
+ set_value(v) {
275
+ this.val[this.name] = v;
276
+ this.textarea.value = JSON.stringify(v);
277
+ }
278
+ get_element() { return this.element; }
279
+ }
280
+ })(publisher || (publisher = {}));
281
+ //# sourceMappingURL=publisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../src/coco/components/publisher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { App, Component, Selector, SelectorGroup } from "@ratiosolver/flick";
2
+ import { coco } from "../coco";
3
+ export declare class TaxonomyElement extends Component<App, HTMLLIElement> implements Selector {
4
+ private group;
5
+ private a;
6
+ constructor(group: SelectorGroup);
7
+ unmounting(): void;
8
+ select(): void;
9
+ unselect(): void;
10
+ }
11
+ export declare class TaxonomyGraph extends Component<coco.CoCo, HTMLDivElement> implements coco.CoCoListener, coco.taxonomy.TypeListener {
12
+ private cy;
13
+ private layout;
14
+ private tooltip_style;
15
+ constructor(id?: string);
16
+ mounted(): void;
17
+ unmounting(): void;
18
+ new_type(type: coco.taxonomy.Type): void;
19
+ parents_updated(type: coco.taxonomy.Type): void;
20
+ data_updated(_: coco.taxonomy.Type): void;
21
+ static_properties_updated(type: coco.taxonomy.Type): void;
22
+ dynamic_properties_updated(type: coco.taxonomy.Type): void;
23
+ new_item(_: coco.taxonomy.Item): void;
24
+ new_intent(_: coco.llm.Intent): void;
25
+ new_entity(_: coco.llm.Entity): void;
26
+ private create_type_node;
27
+ }