@datagrok-libraries/statistics 1.10.0 → 1.12.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.
- package/CHANGELOG.md +5 -0
- package/css/styles.css +234 -0
- package/package.json +3 -2
- package/src/mpo/dialogs/desirability-mode-dialog.d.ts +14 -0
- package/src/mpo/dialogs/desirability-mode-dialog.d.ts.map +1 -0
- package/src/mpo/dialogs/desirability-mode-dialog.js +198 -0
- package/src/mpo/editors/desirability-editor-factory.d.ts +16 -0
- package/src/mpo/editors/desirability-editor-factory.d.ts.map +1 -0
- package/src/mpo/editors/desirability-editor-factory.js +11 -0
- package/src/mpo/editors/mpo-categorical-editor.d.ts +24 -0
- package/src/mpo/editors/mpo-categorical-editor.d.ts.map +1 -0
- package/src/mpo/editors/mpo-categorical-editor.js +113 -0
- package/src/mpo/editors/mpo-line-editor.d.ts +47 -0
- package/src/mpo/editors/mpo-line-editor.d.ts.map +1 -0
- package/src/mpo/editors/mpo-line-editor.js +600 -0
- package/src/mpo/mpo-profile-editor.d.ts +42 -6
- package/src/mpo/mpo-profile-editor.d.ts.map +1 -1
- package/src/mpo/mpo-profile-editor.js +369 -59
- package/src/mpo/mpo.d.ts +53 -3
- package/src/mpo/mpo.d.ts.map +1 -1
- package/src/mpo/mpo.js +92 -16
- package/src/mpo/utils.d.ts +6 -0
- package/src/mpo/utils.d.ts.map +1 -0
- package/src/mpo/utils.js +17 -0
- package/src/mpo/mpo-line-editor.d.ts +0 -10
- package/src/mpo/mpo-line-editor.d.ts.map +0 -1
- package/src/mpo/mpo-line-editor.js +0 -258
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import * as ui from 'datagrok-api/ui';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
export class MpoCategoricalEditor {
|
|
4
|
+
constructor(prop, design = false, showControls = false) {
|
|
5
|
+
this.onChanged = new Subject();
|
|
6
|
+
this.supportsModeDialog = true;
|
|
7
|
+
this.desirabilityInputs = [];
|
|
8
|
+
this.form = null;
|
|
9
|
+
this.columnCategories = null;
|
|
10
|
+
this._prop = prop;
|
|
11
|
+
this.design = design;
|
|
12
|
+
this.showControls = showControls;
|
|
13
|
+
this.root = ui.divV([], 'statistics-mpo-cat-editor');
|
|
14
|
+
this.buildForm();
|
|
15
|
+
}
|
|
16
|
+
buildForm() {
|
|
17
|
+
var _a;
|
|
18
|
+
const categories = (_a = this._prop.categories) !== null && _a !== void 0 ? _a : [];
|
|
19
|
+
if (this.form) {
|
|
20
|
+
ui.empty(this.root);
|
|
21
|
+
this.form = null;
|
|
22
|
+
this.desirabilityInputs = [];
|
|
23
|
+
}
|
|
24
|
+
if (this.design)
|
|
25
|
+
this.buildDesignForm(categories);
|
|
26
|
+
else
|
|
27
|
+
this.buildViewForm(categories);
|
|
28
|
+
}
|
|
29
|
+
createDesirabilityInput(label, cat) {
|
|
30
|
+
var _a;
|
|
31
|
+
const input = ui.input.float(label, { value: (_a = cat.desirability) !== null && _a !== void 0 ? _a : 0.5, min: 0, max: 1, format: '#0.000',
|
|
32
|
+
onValueChanged: (value) => {
|
|
33
|
+
cat.desirability = value;
|
|
34
|
+
this.onChanged.next(this._prop);
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
this.desirabilityInputs.push(input);
|
|
38
|
+
return input;
|
|
39
|
+
}
|
|
40
|
+
buildViewForm(categories) {
|
|
41
|
+
for (const cat of categories)
|
|
42
|
+
this.createDesirabilityInput(cat.name, cat);
|
|
43
|
+
this.form = ui.form(this.desirabilityInputs);
|
|
44
|
+
this.root.append(this.form);
|
|
45
|
+
}
|
|
46
|
+
buildDesignForm(categories) {
|
|
47
|
+
const header = ui.divH([
|
|
48
|
+
ui.divText('Name', 'statistics-mpo-cat-col-header statistics-mpo-cat-name'),
|
|
49
|
+
ui.divText('Score', 'statistics-mpo-cat-col-header statistics-mpo-cat-desirability'),
|
|
50
|
+
...(this.showControls ? [ui.div([], { style: { width: '40px' } })] : []),
|
|
51
|
+
], 'statistics-mpo-cat-row statistics-mpo-cat-header-row');
|
|
52
|
+
const rows = categories.map((cat, idx) => this.buildCategoryRow(cat, idx));
|
|
53
|
+
this.form = ui.divV([header, ...rows]);
|
|
54
|
+
this.root.append(this.form);
|
|
55
|
+
}
|
|
56
|
+
buildCategoryRow(cat, idx) {
|
|
57
|
+
const nameInput = this.columnCategories ?
|
|
58
|
+
ui.input.choice('', { items: this.columnCategories, nullable: true, value: cat.name || null,
|
|
59
|
+
onValueChanged: (v) => {
|
|
60
|
+
cat.name = v !== null && v !== void 0 ? v : '';
|
|
61
|
+
this.onChanged.next(this._prop);
|
|
62
|
+
},
|
|
63
|
+
}) :
|
|
64
|
+
ui.input.string('', { value: cat.name, onValueChanged: (v) => {
|
|
65
|
+
cat.name = v;
|
|
66
|
+
this.onChanged.next(this._prop);
|
|
67
|
+
} });
|
|
68
|
+
nameInput.root.classList.add('statistics-mpo-cat-name');
|
|
69
|
+
const desInput = this.createDesirabilityInput('', cat);
|
|
70
|
+
desInput.root.classList.add('statistics-mpo-cat-desirability');
|
|
71
|
+
const elements = [nameInput.root, desInput.root];
|
|
72
|
+
if (this.showControls) {
|
|
73
|
+
const add = ui.icons.add(() => {
|
|
74
|
+
const newCat = { name: this.columnCategories ? '' : `Category ${this._prop.categories.length + 1}`, desirability: 1 };
|
|
75
|
+
this._prop.categories.splice(idx + 1, 0, newCat);
|
|
76
|
+
this.buildForm();
|
|
77
|
+
this.onChanged.next(this._prop);
|
|
78
|
+
});
|
|
79
|
+
const del = ui.icons.delete(() => {
|
|
80
|
+
this._prop.categories.splice(idx, 1);
|
|
81
|
+
this.buildForm();
|
|
82
|
+
this.onChanged.next(this._prop);
|
|
83
|
+
});
|
|
84
|
+
elements.push(ui.divH([add, del], 'statistics-mpo-control-buttons'));
|
|
85
|
+
}
|
|
86
|
+
return ui.divH(elements, 'statistics-mpo-cat-row');
|
|
87
|
+
}
|
|
88
|
+
redrawAll(notify = true) {
|
|
89
|
+
this.buildForm();
|
|
90
|
+
if (notify)
|
|
91
|
+
this.onChanged.next(this._prop);
|
|
92
|
+
}
|
|
93
|
+
setChoices(choices) {
|
|
94
|
+
this.columnCategories = choices;
|
|
95
|
+
this.buildForm();
|
|
96
|
+
}
|
|
97
|
+
setColumn(col) {
|
|
98
|
+
var _a, _b;
|
|
99
|
+
if (!col)
|
|
100
|
+
return;
|
|
101
|
+
this.columnCategories = col.isCategorical ? [...col.categories] : null;
|
|
102
|
+
const existing = new Map((_b = (_a = this._prop.categories) === null || _a === void 0 ? void 0 : _a.map((c) => [c.name, c.desirability])) !== null && _b !== void 0 ? _b : []);
|
|
103
|
+
this._prop.categories = col.categories.map((c) => {
|
|
104
|
+
var _a;
|
|
105
|
+
return ({
|
|
106
|
+
name: c,
|
|
107
|
+
desirability: (_a = existing.get(c)) !== null && _a !== void 0 ? _a : 1,
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
this.buildForm();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXBvLWNhdGVnb3JpY2FsLWVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1wby1jYXRlZ29yaWNhbC1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd0QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRzdCLE1BQU0sT0FBTyxvQkFBb0I7SUFZL0IsWUFBWSxJQUE2QixFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsWUFBWSxHQUFHLEtBQUs7UUFWL0UsY0FBUyxHQUFHLElBQUksT0FBTyxFQUEyQixDQUFDO1FBQ25ELHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUszQix1QkFBa0IsR0FBbUIsRUFBRSxDQUFDO1FBQ3hDLFNBQUksR0FBdUIsSUFBSSxDQUFDO1FBQ2hDLHFCQUFnQixHQUFvQixJQUFJLENBQUM7UUFHL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU8sU0FBUzs7UUFDZixNQUFNLFVBQVUsR0FBRyxNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxtQ0FBSSxFQUFFLENBQUM7UUFFL0MsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztTQUM5QjtRQUVELElBQUksSUFBSSxDQUFDLE1BQU07WUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDOztZQUVqQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyx1QkFBdUIsQ0FDN0IsS0FBYSxFQUNiLEdBQXlDOztRQUV6QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBQSxHQUFHLENBQUMsWUFBWSxtQ0FBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRO1lBQ25HLGNBQWMsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO2dCQUNoQyxHQUFHLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUFrRDtRQUN0RSxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVU7WUFDMUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQWtEO1FBQ3hFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDckIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsdURBQXVELENBQUM7WUFDM0UsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsK0RBQStELENBQUM7WUFDcEYsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNyRSxFQUFFLHNEQUFzRCxDQUFDLENBQUM7UUFFM0QsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLEdBQXlDLEVBQ3pDLEdBQVc7UUFFWCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUN2QyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSTtnQkFDeEYsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ3BCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxhQUFELENBQUMsY0FBRCxDQUFDLEdBQUksRUFBRSxDQUFDO29CQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7YUFDRixDQUFDLENBQUMsQ0FBQztZQUNKLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUMxRCxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztvQkFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLENBQUMsRUFBQyxDQUFDLENBQUM7UUFDTixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUV4RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBRS9ELE1BQU0sUUFBUSxHQUFrQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQzVCLE1BQU0sTUFBTSxHQUFHLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFDLENBQUM7Z0JBQ3BILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBRUgsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLGdDQUFnQyxDQUFDLENBQUMsQ0FBQztTQUN0RTtRQUVELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQWtCLElBQUk7UUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksTUFBTTtZQUNSLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWlCO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBcUI7O1FBQzdCLElBQUksQ0FBQyxHQUFHO1lBQ04sT0FBTztRQUVULElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkUsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBQSxNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSwwQ0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRTs7WUFBQyxPQUFBLENBQUM7Z0JBQ3pELElBQUksRUFBRSxDQUFDO2dCQUNQLFlBQVksRUFBRSxNQUFBLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLG1DQUFJLENBQUM7YUFDbkMsQ0FBQyxDQUFBO1NBQUEsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuXG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDYXRlZ29yaWNhbERlc2lyYWJpbGl0eX0gZnJvbSAnLi4vbXBvJztcblxuZXhwb3J0IGNsYXNzIE1wb0NhdGVnb3JpY2FsRWRpdG9yIHtcbiAgcm9vdDogSFRNTERpdkVsZW1lbnQ7XG4gIG9uQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PENhdGVnb3JpY2FsRGVzaXJhYmlsaXR5PigpO1xuICBzdXBwb3J0c01vZGVEaWFsb2c6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByaXZhdGUgX3Byb3A6IENhdGVnb3JpY2FsRGVzaXJhYmlsaXR5O1xuICBwcml2YXRlIGRlc2lnbjogYm9vbGVhbjtcbiAgcHJpdmF0ZSBzaG93Q29udHJvbHM6IGJvb2xlYW47XG4gIHByaXZhdGUgZGVzaXJhYmlsaXR5SW5wdXRzOiBERy5JbnB1dEJhc2VbXSA9IFtdO1xuICBwcml2YXRlIGZvcm06IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY29sdW1uQ2F0ZWdvcmllczogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcm9wOiBDYXRlZ29yaWNhbERlc2lyYWJpbGl0eSwgZGVzaWduID0gZmFsc2UsIHNob3dDb250cm9scyA9IGZhbHNlKSB7XG4gICAgdGhpcy5fcHJvcCA9IHByb3A7XG4gICAgdGhpcy5kZXNpZ24gPSBkZXNpZ247XG4gICAgdGhpcy5zaG93Q29udHJvbHMgPSBzaG93Q29udHJvbHM7XG4gICAgdGhpcy5yb290ID0gdWkuZGl2VihbXSwgJ3N0YXRpc3RpY3MtbXBvLWNhdC1lZGl0b3InKTtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XG4gICAgY29uc3QgY2F0ZWdvcmllcyA9IHRoaXMuX3Byb3AuY2F0ZWdvcmllcyA/PyBbXTtcblxuICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgIHVpLmVtcHR5KHRoaXMucm9vdCk7XG4gICAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgICAgdGhpcy5kZXNpcmFiaWxpdHlJbnB1dHMgPSBbXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kZXNpZ24pXG4gICAgICB0aGlzLmJ1aWxkRGVzaWduRm9ybShjYXRlZ29yaWVzKTtcbiAgICBlbHNlXG4gICAgICB0aGlzLmJ1aWxkVmlld0Zvcm0oY2F0ZWdvcmllcyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlc2lyYWJpbGl0eUlucHV0KFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgY2F0OiB7bmFtZTogc3RyaW5nOyBkZXNpcmFiaWxpdHk6IG51bWJlcn0sXG4gICk6IERHLklucHV0QmFzZSB7XG4gICAgY29uc3QgaW5wdXQgPSB1aS5pbnB1dC5mbG9hdChsYWJlbCwge3ZhbHVlOiBjYXQuZGVzaXJhYmlsaXR5ID8/IDAuNSwgbWluOiAwLCBtYXg6IDEsIGZvcm1hdDogJyMwLjAwMCcsXG4gICAgICBvblZhbHVlQ2hhbmdlZDogKHZhbHVlOiBudW1iZXIpID0+IHtcbiAgICAgICAgY2F0LmRlc2lyYWJpbGl0eSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlZC5uZXh0KHRoaXMuX3Byb3ApO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLmRlc2lyYWJpbGl0eUlucHV0cy5wdXNoKGlucHV0KTtcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkVmlld0Zvcm0oY2F0ZWdvcmllczoge25hbWU6IHN0cmluZzsgZGVzaXJhYmlsaXR5OiBudW1iZXJ9W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGNhdCBvZiBjYXRlZ29yaWVzKVxuICAgICAgdGhpcy5jcmVhdGVEZXNpcmFiaWxpdHlJbnB1dChjYXQubmFtZSwgY2F0KTtcblxuICAgIHRoaXMuZm9ybSA9IHVpLmZvcm0odGhpcy5kZXNpcmFiaWxpdHlJbnB1dHMpO1xuICAgIHRoaXMucm9vdC5hcHBlbmQodGhpcy5mb3JtKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGREZXNpZ25Gb3JtKGNhdGVnb3JpZXM6IHtuYW1lOiBzdHJpbmc7IGRlc2lyYWJpbGl0eTogbnVtYmVyfVtdKTogdm9pZCB7XG4gICAgY29uc3QgaGVhZGVyID0gdWkuZGl2SChbXG4gICAgICB1aS5kaXZUZXh0KCdOYW1lJywgJ3N0YXRpc3RpY3MtbXBvLWNhdC1jb2wtaGVhZGVyIHN0YXRpc3RpY3MtbXBvLWNhdC1uYW1lJyksXG4gICAgICB1aS5kaXZUZXh0KCdTY29yZScsICdzdGF0aXN0aWNzLW1wby1jYXQtY29sLWhlYWRlciBzdGF0aXN0aWNzLW1wby1jYXQtZGVzaXJhYmlsaXR5JyksXG4gICAgICAuLi4odGhpcy5zaG93Q29udHJvbHMgPyBbdWkuZGl2KFtdLCB7c3R5bGU6IHt3aWR0aDogJzQwcHgnfX0pXSA6IFtdKSxcbiAgICBdLCAnc3RhdGlzdGljcy1tcG8tY2F0LXJvdyBzdGF0aXN0aWNzLW1wby1jYXQtaGVhZGVyLXJvdycpO1xuXG4gICAgY29uc3Qgcm93cyA9IGNhdGVnb3JpZXMubWFwKChjYXQsIGlkeCkgPT4gdGhpcy5idWlsZENhdGVnb3J5Um93KGNhdCwgaWR4KSk7XG5cbiAgICB0aGlzLmZvcm0gPSB1aS5kaXZWKFtoZWFkZXIsIC4uLnJvd3NdKTtcbiAgICB0aGlzLnJvb3QuYXBwZW5kKHRoaXMuZm9ybSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ2F0ZWdvcnlSb3coXG4gICAgY2F0OiB7bmFtZTogc3RyaW5nOyBkZXNpcmFiaWxpdHk6IG51bWJlcn0sXG4gICAgaWR4OiBudW1iZXIsXG4gICk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBuYW1lSW5wdXQgPSB0aGlzLmNvbHVtbkNhdGVnb3JpZXMgP1xuICAgICAgdWkuaW5wdXQuY2hvaWNlKCcnLCB7aXRlbXM6IHRoaXMuY29sdW1uQ2F0ZWdvcmllcywgbnVsbGFibGU6IHRydWUsIHZhbHVlOiBjYXQubmFtZSB8fCBudWxsLFxuICAgICAgICBvblZhbHVlQ2hhbmdlZDogKHYpID0+IHtcbiAgICAgICAgICBjYXQubmFtZSA9IHYgPz8gJyc7XG4gICAgICAgICAgdGhpcy5vbkNoYW5nZWQubmV4dCh0aGlzLl9wcm9wKTtcbiAgICAgICAgfSxcbiAgICAgIH0pIDpcbiAgICAgIHVpLmlucHV0LnN0cmluZygnJywge3ZhbHVlOiBjYXQubmFtZSwgb25WYWx1ZUNoYW5nZWQ6ICh2KSA9PiB7XG4gICAgICAgIGNhdC5uYW1lID0gdjtcbiAgICAgICAgdGhpcy5vbkNoYW5nZWQubmV4dCh0aGlzLl9wcm9wKTtcbiAgICAgIH19KTtcbiAgICBuYW1lSW5wdXQucm9vdC5jbGFzc0xpc3QuYWRkKCdzdGF0aXN0aWNzLW1wby1jYXQtbmFtZScpO1xuXG4gICAgY29uc3QgZGVzSW5wdXQgPSB0aGlzLmNyZWF0ZURlc2lyYWJpbGl0eUlucHV0KCcnLCBjYXQpO1xuICAgIGRlc0lucHV0LnJvb3QuY2xhc3NMaXN0LmFkZCgnc3RhdGlzdGljcy1tcG8tY2F0LWRlc2lyYWJpbGl0eScpO1xuXG4gICAgY29uc3QgZWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbbmFtZUlucHV0LnJvb3QsIGRlc0lucHV0LnJvb3RdO1xuXG4gICAgaWYgKHRoaXMuc2hvd0NvbnRyb2xzKSB7XG4gICAgICBjb25zdCBhZGQgPSB1aS5pY29ucy5hZGQoKCkgPT4ge1xuICAgICAgICBjb25zdCBuZXdDYXQgPSB7bmFtZTogdGhpcy5jb2x1bW5DYXRlZ29yaWVzID8gJycgOiBgQ2F0ZWdvcnkgJHt0aGlzLl9wcm9wLmNhdGVnb3JpZXMubGVuZ3RoICsgMX1gLCBkZXNpcmFiaWxpdHk6IDF9O1xuICAgICAgICB0aGlzLl9wcm9wLmNhdGVnb3JpZXMuc3BsaWNlKGlkeCArIDEsIDAsIG5ld0NhdCk7XG4gICAgICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2VkLm5leHQodGhpcy5fcHJvcCk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZGVsID0gdWkuaWNvbnMuZGVsZXRlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcHJvcC5jYXRlZ29yaWVzLnNwbGljZShpZHgsIDEpO1xuICAgICAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlZC5uZXh0KHRoaXMuX3Byb3ApO1xuICAgICAgfSk7XG5cbiAgICAgIGVsZW1lbnRzLnB1c2godWkuZGl2SChbYWRkLCBkZWxdLCAnc3RhdGlzdGljcy1tcG8tY29udHJvbC1idXR0b25zJykpO1xuICAgIH1cblxuICAgIHJldHVybiB1aS5kaXZIKGVsZW1lbnRzLCAnc3RhdGlzdGljcy1tcG8tY2F0LXJvdycpO1xuICB9XG5cbiAgcmVkcmF3QWxsKG5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICAgIGlmIChub3RpZnkpXG4gICAgICB0aGlzLm9uQ2hhbmdlZC5uZXh0KHRoaXMuX3Byb3ApO1xuICB9XG5cbiAgc2V0Q2hvaWNlcyhjaG9pY2VzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uQ2F0ZWdvcmllcyA9IGNob2ljZXM7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgfVxuXG4gIHNldENvbHVtbihjb2w6IERHLkNvbHVtbiB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIWNvbClcbiAgICAgIHJldHVybjtcblxuICAgIHRoaXMuY29sdW1uQ2F0ZWdvcmllcyA9IGNvbC5pc0NhdGVnb3JpY2FsID8gWy4uLmNvbC5jYXRlZ29yaWVzXSA6IG51bGw7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBuZXcgTWFwKHRoaXMuX3Byb3AuY2F0ZWdvcmllcz8ubWFwKChjKSA9PiBbYy5uYW1lLCBjLmRlc2lyYWJpbGl0eV0pID8/IFtdKTtcbiAgICB0aGlzLl9wcm9wLmNhdGVnb3JpZXMgPSBjb2wuY2F0ZWdvcmllcy5tYXAoKGM6IHN0cmluZykgPT4gKHtcbiAgICAgIG5hbWU6IGMsXG4gICAgICBkZXNpcmFiaWxpdHk6IGV4aXN0aW5nLmdldChjKSA/PyAxLFxuICAgIH0pKTtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as DG from 'datagrok-api/dg';
|
|
2
|
+
import { DesirabilityLine, NumericalDesirability } from '../mpo';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
export declare class MpoDesirabilityLineEditor {
|
|
5
|
+
root: HTMLDivElement;
|
|
6
|
+
onChanged: Subject<DesirabilityLine>;
|
|
7
|
+
supportsModeDialog: boolean;
|
|
8
|
+
private _prop;
|
|
9
|
+
private barsLayer?;
|
|
10
|
+
private pendingBarValues?;
|
|
11
|
+
private stage?;
|
|
12
|
+
private layer?;
|
|
13
|
+
private konvaLine?;
|
|
14
|
+
private pointsGroup?;
|
|
15
|
+
private barValues?;
|
|
16
|
+
private redrawFn;
|
|
17
|
+
private specialHandle?;
|
|
18
|
+
onParamsChanged?: (prop: NumericalDesirability) => void;
|
|
19
|
+
private ignoreNextClick;
|
|
20
|
+
private dragScaleX;
|
|
21
|
+
private dragScaleY;
|
|
22
|
+
private _width;
|
|
23
|
+
private _height;
|
|
24
|
+
constructor(prop: NumericalDesirability, width: number, height: number);
|
|
25
|
+
private ensureDefaultLine;
|
|
26
|
+
private updateDragScales;
|
|
27
|
+
private isInPlotArea;
|
|
28
|
+
private initKonva;
|
|
29
|
+
get line(): DesirabilityLine;
|
|
30
|
+
private computeLine;
|
|
31
|
+
private drawAxes;
|
|
32
|
+
getMinX(): number;
|
|
33
|
+
getMaxX(): number;
|
|
34
|
+
getDefaultMean(): number;
|
|
35
|
+
getDefaultSigma(): number;
|
|
36
|
+
getDefaultX0(): number;
|
|
37
|
+
getDefaultK(): number;
|
|
38
|
+
redrawAll(notify?: boolean): void;
|
|
39
|
+
resize(width: number, height: number): void;
|
|
40
|
+
drawBars(values?: number[]): void;
|
|
41
|
+
private enableCurveDrag;
|
|
42
|
+
private addSpecialHandle;
|
|
43
|
+
private showPointEditor;
|
|
44
|
+
setRange(min: number, max: number): void;
|
|
45
|
+
setColumn(col: DG.Column | null): void;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=mpo-line-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mpo-line-editor.d.ts","sourceRoot":"","sources":["mpo-line-editor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,QAAQ,CAAC;AAC/D,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AA2D7B,qBAAa,yBAAyB;IACpC,IAAI,iBAA4C;IAChD,SAAS,4BAAmC;IAC5C,kBAAkB,EAAE,OAAO,CAAQ;IAEnC,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,gBAAgB,CAAC,CAAW;IAEpC,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,KAAK,CAAC,CAAc;IAE5B,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,SAAS,CAAC,CAAW;IAE7B,OAAO,CAAC,QAAQ,CAA8B;IAE9C,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAGxD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAYtE,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,YAAY;YASN,SAAS;IAwPvB,IAAI,IAAI,IAAI,gBAAgB,CAE3B;IAED,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,IAAI,MAAM;IAIjB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,SAAS,CAAC,MAAM,GAAE,OAAc,GAAG,IAAI;IAqBvC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAe3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE;IAgE1B,OAAO,CAAC,eAAe;IAoEvB,OAAO,CAAC,gBAAgB;IA2DxB,OAAO,CAAC,eAAe;IAoCvB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAkCxC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI;CAOvC"}
|