@datagrok-libraries/utils 0.2.7 → 0.4.0
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/.eslintrc.json +2 -1
- package/package.json +6 -5
- package/src/computation-view.d.ts +5 -51
- package/src/computation-view.d.ts.map +1 -1
- package/src/computation-view.js +24 -101
- package/src/function-view.d.ts +74 -6
- package/src/function-view.d.ts.map +1 -1
- package/src/function-view.js +347 -106
- package/src/similarity-metrics.d.ts +17 -0
- package/src/similarity-metrics.d.ts.map +1 -1
- package/src/similarity-metrics.js +59 -5
- package/src/test.d.ts +6 -0
- package/src/test.d.ts.map +1 -1
- package/src/test.js +36 -4
package/.eslintrc.json
CHANGED
package/package.json
CHANGED
|
@@ -4,25 +4,26 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"fullName": "Utils",
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.4.0",
|
|
8
8
|
"description": "Common utilities",
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"cash-dom": "latest",
|
|
11
10
|
"@types/node": "^14.14.37",
|
|
12
|
-
"
|
|
11
|
+
"cash-dom": "^8.1.1",
|
|
12
|
+
"datagrok-api": "^0.151.0",
|
|
13
13
|
"dts-bundle": "^0.7.3",
|
|
14
|
+
"exceljs": "^4.3.0",
|
|
14
15
|
"node-fetch": "^2.6.0",
|
|
15
16
|
"rxjs": "^7.4.0",
|
|
16
17
|
"wu": "latest"
|
|
17
18
|
},
|
|
18
19
|
"devDependencies": {
|
|
20
|
+
"@types/wu": "latest",
|
|
19
21
|
"@typescript-eslint/eslint-plugin": "^5.11.0",
|
|
20
22
|
"@typescript-eslint/parser": "^5.11.0",
|
|
21
23
|
"eslint": "^8.8.0",
|
|
22
24
|
"eslint-config-google": "^0.14.0",
|
|
23
25
|
"ts-loader": "^9.2.6",
|
|
24
|
-
"typescript": "^4.2.3"
|
|
25
|
-
"@types/wu": "latest"
|
|
26
|
+
"typescript": "^4.2.3"
|
|
26
27
|
},
|
|
27
28
|
"scripts": {
|
|
28
29
|
"link": "npm link",
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import * as rxjs from 'rxjs';
|
|
2
1
|
import * as DG from 'datagrok-api/dg';
|
|
3
|
-
import {
|
|
2
|
+
import { FunctionView } from './function-view';
|
|
4
3
|
/**
|
|
5
4
|
* Base class for handling Compute models (see https://github.com/datagrok-ai/public/blob/master/help/compute/compute.md).
|
|
6
5
|
* In most cases, the computation is a simple {@link Func}
|
|
@@ -16,56 +15,11 @@ import { FuncCall } from 'datagrok-api/dg';
|
|
|
16
15
|
* - entering the real, measured (as opposed to predicted) values manually
|
|
17
16
|
* - notifications for changing inputs, completion of computations, etc: {@link onInputChanged}
|
|
18
17
|
* */
|
|
19
|
-
export declare class ComputationView extends
|
|
20
|
-
func: DG.Func;
|
|
21
|
-
call: DG.FuncCall;
|
|
22
|
-
lastCall?: DG.FuncCall;
|
|
23
|
-
_inputFields: Map<string, DG.InputBase>;
|
|
24
|
-
onViewInitialized: rxjs.Subject<void>;
|
|
25
|
-
onInputChanged: rxjs.Subject<void>;
|
|
26
|
-
onComputationStarted: rxjs.Subject<FuncCall>;
|
|
27
|
-
onComputationCompleted: rxjs.Subject<FuncCall>;
|
|
28
|
-
onComputationSucceeded: rxjs.Subject<FuncCall>;
|
|
29
|
-
onComputationError: rxjs.Subject<FuncCall>;
|
|
18
|
+
export declare class ComputationView extends FunctionView {
|
|
30
19
|
constructor(func: DG.Func);
|
|
31
|
-
/** All inputs that are bound to fields */
|
|
32
|
-
get inputFields(): Map<string, DG.InputBase>;
|
|
33
|
-
/** Saves the computation results to the historical results, returns its id. See also {@link loadRun}. */
|
|
34
|
-
saveRun(call: FuncCall): Promise<string>;
|
|
35
|
-
/** Loads the specified historical results. See also {@link saveRun}. */
|
|
36
|
-
loadRun(runId: string): Promise<void>;
|
|
37
|
-
/** The actual computation function. */
|
|
38
|
-
compute(call: FuncCall): Promise<void>;
|
|
39
|
-
/** Maps inputs to parameters, computes, and maps output parameters to the UI. */
|
|
40
|
-
run(): Promise<void>;
|
|
41
|
-
/** Override to provide custom initialization. {@link onViewInitialized} gets fired after that. */
|
|
42
|
-
init(): Promise<void>;
|
|
43
|
-
/** Override to customize top menu*/
|
|
44
|
-
initTopMenu(menu: DG.Menu): void;
|
|
45
|
-
/** Override to customize ribbon panels */
|
|
46
|
-
initRibbonPanels(): void;
|
|
47
|
-
/** Builds the complete view. Override it if completely custom implementation is needed,
|
|
48
|
-
* otherwise consider overriding {@link buildInputBlock} and/or {@link buildOutputBlock} */
|
|
49
|
-
build(): HTMLElement;
|
|
50
|
-
/** Override to build completely custom input block (the one with inputs, usually on the left).
|
|
51
|
-
* If only specific field, consider overriding {@link buildCustomInputs}. */
|
|
52
|
-
buildInputBlock(): HTMLElement;
|
|
53
|
-
/** Custom inputs for the specified fields. Inputs for these fields will not be created by {@link buildInputBlock}. */
|
|
54
|
-
buildCustomInputs(): Map<String, DG.InputBase>;
|
|
55
20
|
/** Override to create output block. */
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
|
|
59
|
-
/** Creates function parameters based on the data entered by the user. */
|
|
60
|
-
inputFieldsToParameters(call: FuncCall): void;
|
|
61
|
-
/** Visualizes computation results */
|
|
62
|
-
outputParametersToView(call: FuncCall | null): void;
|
|
63
|
-
/** Override to provide custom computation error handling. */
|
|
64
|
-
processComputationError(call: FuncCall): void;
|
|
65
|
-
/** Override to provide supported export formats.
|
|
66
|
-
* These formats are available under the "Export" popup on the ribbon panel. */
|
|
67
|
-
get supportedExportFormats(): string[];
|
|
68
|
-
/** Override to provide custom export. */
|
|
69
|
-
export(format: string): Promise<Blob>;
|
|
21
|
+
buildOutputPanel(): HTMLElement;
|
|
22
|
+
/** helper methods */
|
|
23
|
+
buildInputForm(call: DG.FuncCall): HTMLElement;
|
|
70
24
|
}
|
|
71
25
|
//# sourceMappingURL=computation-view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computation-view.d.ts","sourceRoot":"","sources":["computation-view.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"computation-view.d.ts","sourceRoot":"","sources":["computation-view.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;KAcK;AACL,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,IAAI,EAAE,EAAE,CAAC,IAAI;IAIzB,uCAAuC;IAC9B,gBAAgB,IAAI,WAAW;IAYxC,qBAAqB;IACZ,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,GAAG,WAAW;CAWxD"}
|
package/src/computation-view.js
CHANGED
|
@@ -7,10 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import * as grok from 'datagrok-api/grok';
|
|
11
|
-
import * as rxjs from 'rxjs';
|
|
12
10
|
import * as ui from 'datagrok-api/ui';
|
|
13
|
-
import
|
|
11
|
+
import { FunctionView } from './function-view';
|
|
14
12
|
/**
|
|
15
13
|
* Base class for handling Compute models (see https://github.com/datagrok-ai/public/blob/master/help/compute/compute.md).
|
|
16
14
|
* In most cases, the computation is a simple {@link Func}
|
|
@@ -26,108 +24,33 @@ import * as DG from 'datagrok-api/dg';
|
|
|
26
24
|
* - entering the real, measured (as opposed to predicted) values manually
|
|
27
25
|
* - notifications for changing inputs, completion of computations, etc: {@link onInputChanged}
|
|
28
26
|
* */
|
|
29
|
-
export class ComputationView extends
|
|
27
|
+
export class ComputationView extends FunctionView {
|
|
30
28
|
constructor(func) {
|
|
31
29
|
super(func);
|
|
32
|
-
this._inputFields = new Map();
|
|
33
|
-
this.onViewInitialized = new rxjs.Subject();
|
|
34
|
-
this.onInputChanged = new rxjs.Subject();
|
|
35
|
-
this.onComputationStarted = new rxjs.Subject();
|
|
36
|
-
this.onComputationCompleted = new rxjs.Subject();
|
|
37
|
-
this.onComputationSucceeded = new rxjs.Subject();
|
|
38
|
-
this.onComputationError = new rxjs.Subject();
|
|
39
|
-
this.func = func;
|
|
40
|
-
this.call = func.prepare();
|
|
41
|
-
this.initTopMenu(this.ribbonMenu);
|
|
42
|
-
this.initRibbonPanels();
|
|
43
|
-
this.init().then((_) => {
|
|
44
|
-
this.root.appendChild(this.build());
|
|
45
|
-
return this.onViewInitialized.next();
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
/** All inputs that are bound to fields */
|
|
49
|
-
get inputFields() { return this._inputFields; }
|
|
50
|
-
/** Saves the computation results to the historical results, returns its id. See also {@link loadRun}. */
|
|
51
|
-
saveRun(call) {
|
|
52
|
-
return __awaiter(this, void 0, void 0, function* () { return 'xxx'; });
|
|
53
|
-
}
|
|
54
|
-
/** Loads the specified historical results. See also {@link saveRun}. */
|
|
55
|
-
loadRun(runId) {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () { });
|
|
57
|
-
}
|
|
58
|
-
/** The actual computation function. */
|
|
59
|
-
compute(call) {
|
|
60
|
-
return __awaiter(this, void 0, void 0, function* () { yield call.call(); });
|
|
61
|
-
}
|
|
62
|
-
/** Maps inputs to parameters, computes, and maps output parameters to the UI. */
|
|
63
|
-
run() {
|
|
64
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
-
this.lastCall = this.call.clone();
|
|
66
|
-
this.inputFieldsToParameters(this.lastCall);
|
|
67
|
-
try {
|
|
68
|
-
yield this.compute(this.lastCall);
|
|
69
|
-
}
|
|
70
|
-
catch (e) {
|
|
71
|
-
this.onComputationError.next(this.lastCall);
|
|
72
|
-
}
|
|
73
|
-
this.outputParametersToView(this.lastCall);
|
|
74
|
-
});
|
|
75
30
|
}
|
|
76
|
-
/** Override to provide custom initialization. {@link onViewInitialized} gets fired after that. */
|
|
77
|
-
init() {
|
|
78
|
-
return __awaiter(this, void 0, void 0, function* () { });
|
|
79
|
-
}
|
|
80
|
-
/** Override to customize top menu*/
|
|
81
|
-
initTopMenu(menu) {
|
|
82
|
-
menu
|
|
83
|
-
.group(this.func.friendlyName)
|
|
84
|
-
.item('Run', () => this.run());
|
|
85
|
-
}
|
|
86
|
-
/** Override to customize ribbon panels */
|
|
87
|
-
initRibbonPanels() {
|
|
88
|
-
this.setRibbonPanels([[
|
|
89
|
-
ui.bigButton('RUN', () => this.run()),
|
|
90
|
-
ui.comboPopup(ui.icons.save(null, 'Export'), this.supportedExportFormats, (format) => __awaiter(this, void 0, void 0, function* () { return DG.Utils.download('output.csv', yield this.export(format)); })),
|
|
91
|
-
]]);
|
|
92
|
-
}
|
|
93
|
-
/** Builds the complete view. Override it if completely custom implementation is needed,
|
|
94
|
-
* otherwise consider overriding {@link buildInputBlock} and/or {@link buildOutputBlock} */
|
|
95
|
-
build() { return ui.splitH([this.buildInputBlock(), this.buildOutputBlock()]); }
|
|
96
|
-
/** Override to build completely custom input block (the one with inputs, usually on the left).
|
|
97
|
-
* If only specific field, consider overriding {@link buildCustomInputs}. */
|
|
98
|
-
buildInputBlock() {
|
|
99
|
-
for (const p of this.func.inputs)
|
|
100
|
-
this._inputFields.set(p.name, DG.InputBase.forProperty(p, this.call.dart));
|
|
101
|
-
return ui.inputs(this._inputFields.values());
|
|
102
|
-
}
|
|
103
|
-
/** Custom inputs for the specified fields. Inputs for these fields will not be created by {@link buildInputBlock}. */
|
|
104
|
-
buildCustomInputs() { return new Map(); }
|
|
105
31
|
/** Override to create output block. */
|
|
106
|
-
|
|
107
|
-
/** Override to create a custom input control. */
|
|
108
|
-
buildRibbonPanel() {
|
|
109
|
-
return ui.divH([
|
|
110
|
-
ui.button('RUN', () => { }),
|
|
111
|
-
ui.comboPopup('Export', this.supportedExportFormats, (format) => this.export(format))
|
|
112
|
-
]);
|
|
113
|
-
}
|
|
114
|
-
/** Creates function parameters based on the data entered by the user. */
|
|
115
|
-
inputFieldsToParameters(call) { }
|
|
116
|
-
/** Visualizes computation results */
|
|
117
|
-
outputParametersToView(call) { }
|
|
118
|
-
/** Override to provide custom computation error handling. */
|
|
119
|
-
processComputationError(call) { grok.shell.error(call.errorMessage); }
|
|
120
|
-
/** Override to provide supported export formats.
|
|
121
|
-
* These formats are available under the "Export" popup on the ribbon panel. */
|
|
122
|
-
get supportedExportFormats() { return ['Excel', 'PDF', 'CSV']; }
|
|
123
|
-
/** Override to provide custom export. */
|
|
124
|
-
export(format) {
|
|
32
|
+
buildOutputPanel() {
|
|
125
33
|
var _a;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
34
|
+
console.log('ouptut updated');
|
|
35
|
+
const outputs = (_a = this.lastCall) === null || _a === void 0 ? void 0 : _a.outputs;
|
|
36
|
+
const panel = ui.accordion('Output data');
|
|
37
|
+
panel.addPane('Output data', () => {
|
|
38
|
+
return ui.divV(Object.entries(outputs).map(([key, val]) => ui.span([`${key}: `, `${val}`])));
|
|
130
39
|
});
|
|
131
|
-
|
|
40
|
+
return panel.root;
|
|
41
|
+
}
|
|
42
|
+
/** helper methods */
|
|
43
|
+
buildInputForm(call) {
|
|
44
|
+
return ui.wait(() => __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const runButton = ui.bigButton('Run', () => __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
yield this.run();
|
|
47
|
+
}));
|
|
48
|
+
const editor = ui.div([], 'ui-form');
|
|
49
|
+
const inputs = yield call.buildEditor(editor, { condensed: true });
|
|
50
|
+
editor.appendChild(ui.divH([ui.divV([this.historyPanel], { style: { 'justify-content': 'center' } }), runButton], { style: { 'justify-content': 'space-between' } }));
|
|
51
|
+
return ui.panel([editor]);
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
;
|
|
132
55
|
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24tdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbXB1dGF0aW9uLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxtQkFBbUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJdEM7Ozs7Ozs7Ozs7Ozs7O0tBY0s7QUFDTCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxFQUFFLENBQUMsUUFBUTtJQWE5QyxZQUFZLElBQWE7UUFDdkIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBVmQsaUJBQVksR0FBOEIsSUFBSSxHQUFHLEVBQXdCLENBQUM7UUFFMUUsc0JBQWlCLEdBQXVCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNELG1CQUFjLEdBQXVCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hELHlCQUFvQixHQUEyQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsRSwyQkFBc0IsR0FBMkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEUsMkJBQXNCLEdBQTJCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BFLHVCQUFrQixHQUEyQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUs5RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENB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Q0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakYsTUFBTSxXQUFXLE1BQU0scUJBQXFCLENBQUM7O0tBQzlDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCAqIGFzIHJ4anMgZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmltcG9ydCB7RGF0YUZyYW1lLCBGdW5jQ2FsbH0gZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmltcG9ydCB7RnVuY3Rpb25WaWV3fSBmcm9tICcuL2Z1bmN0aW9uLXZpZXcnO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGhhbmRsaW5nIENvbXB1dGUgbW9kZWxzIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2RhdGFncm9rLWFpL3B1YmxpYy9ibG9iL21hc3Rlci9oZWxwL2NvbXB1dGUvY29tcHV0ZS5tZCkuXG4gKiBJbiBtb3N0IGNhc2VzLCB0aGUgY29tcHV0YXRpb24gaXMgYSBzaW1wbGUge0BsaW5rIEZ1bmN9XG4gKiBFeHRlbmQgaXQgaW4gY2FzZXMgd2hlcmUgYSBiZWhhdmlvciBvciBVSSBub3Qgc3VwcG9ydGVkIGJ5IHRoZSB7QGxpbmsgRnVuY3Rpb25WaWV3fSBpcyBuZWVkZWQuXG4gKlxuICogSXQgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbmFsaXR5IG91dC1vZi10aGUtYm94LCB3aGVyZSBlYWNoIHNlY3Rpb24gY291bGQgYmUgY3VzdG9taXplZDpcbiAqIC0gYSBzdHJ1Y3R1cmVkIHdheSB0byByZXByZXNlbnQgaW5wdXQgYW5kIG91dHB1dCBwYXJhbWV0ZXJzOiB7QGxpbmsgcGFyYW1ldGVyc31cbiAqIC0gZ2VuZXJpYyB3YXkgdG8gZ2VuZXJhdGUgVUkgZm9yIGlucHV0cywgb3V0cHV0cywgYW5kIGludGVyYWN0aXZpdHkgKHJ1bm5pbmcgdGhlIG1vZGVsLCBldGMpXG4gKiAgIC0gcGVyc2lzdGluZyBoaXN0b3JpY2FsIHJlc3VsdHMgdG8gdGhlIGRiICh2aWEge0BsaW5rIHBhcmFtZXRlcnN9KVxuICogLSBleHBvcnQgKHRvIEV4Y2VsIGFuZCBQREYpOiB7QGxpbmsgZXhwb3J0fVxuICogLSBlYXN5IGxvYWRpbmcgb2YgaGlzdG9yaWNhbCBydW5zXG4gKiAtIHJvdXRpbmdcbiAqIC0gZW50ZXJpbmcgdGhlIHJlYWwsIG1lYXN1cmVkIChhcyBvcHBvc2VkIHRvIHByZWRpY3RlZCkgdmFsdWVzIG1hbnVhbGx5XG4gKiAtIG5vdGlmaWNhdGlvbnMgZm9yIGNoYW5naW5nIGlucHV0cywgY29tcGxldGlvbiBvZiBjb21wdXRhdGlvbnMsIGV0Yzoge0BsaW5rIG9uSW5wdXRDaGFuZ2VkfVxuICogKi9cbmV4cG9ydCBjbGFzcyBDb21wdXRhdGlvblZpZXcgZXh0ZW5kcyBERy5WaWV3QmFzZSB7XG4gIGZ1bmM6IERHLkZ1bmM7XG4gIGNhbGw6IERHLkZ1bmNDYWxsOyAvLyB3aGF0IGlzIGJlaW5nIGN1cnJlbnRseSBlZGl0ZWRcbiAgbGFzdENhbGw/OiBERy5GdW5jQ2FsbDtcbiAgX2lucHV0RmllbGRzOiBNYXA8c3RyaW5nLCBERy5JbnB1dEJhc2U+ID0gbmV3IE1hcDxzdHJpbmcsIERHLklucHV0QmFzZT4oKTtcblxuICBvblZpZXdJbml0aWFsaXplZDogcnhqcy5TdWJqZWN0PHZvaWQ+ID0gbmV3IHJ4anMuU3ViamVjdCgpO1xuICBvbklucHV0Q2hhbmdlZDogcnhqcy5TdWJqZWN0PHZvaWQ+ID0gbmV3IHJ4anMuU3ViamVjdCgpO1xuICBvbkNvbXB1dGF0aW9uU3RhcnRlZDogcnhqcy5TdWJqZWN0PEZ1bmNDYWxsPiA9IG5ldyByeGpzLlN1YmplY3QoKTtcbiAgb25Db21wdXRhdGlvbkNvbXBsZXRlZDogcnhqcy5TdWJqZWN0PEZ1bmNDYWxsPiA9IG5ldyByeGpzLlN1YmplY3QoKTtcbiAgb25Db21wdXRhdGlvblN1Y2NlZWRlZDogcnhqcy5TdWJqZWN0PEZ1bmNDYWxsPiA9IG5ldyByeGpzLlN1YmplY3QoKTtcbiAgb25Db21wdXRhdGlvbkVycm9yOiByeGpzLlN1YmplY3Q8RnVuY0NhbGw+ID0gbmV3IHJ4anMuU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKGZ1bmM6IERHLkZ1bmMpIHtcbiAgICBzdXBlcihmdW5jKTtcblxuICAgIHRoaXMuZnVuYyA9IGZ1bmM7XG4gICAgdGhpcy5jYWxsID0gZnVuYy5wcmVwYXJlKCk7XG5cbiAgICB0aGlzLmluaXRUb3BNZW51KHRoaXMucmliYm9uTWVudSk7XG4gICAgdGhpcy5pbml0UmliYm9uUGFuZWxzKCk7XG5cbiAgICB0aGlzLmluaXQoKS50aGVuKChfKSA9PiB7XG4gICAgICB0aGlzLnJvb3QuYXBwZW5kQ2hpbGQodGhpcy5idWlsZCgpKTtcbiAgICAgIHJldHVybiB0aGlzLm9uVmlld0luaXRpYWxpemVkLm5leHQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBBbGwgaW5wdXRzIHRoYXQgYXJlIGJvdW5kIHRvIGZpZWxkcyAqL1xuICBnZXQgaW5wdXRGaWVsZHMoKTogTWFwPHN0cmluZywgREcuSW5wdXRCYXNlPiB7IHJldHVybiB0aGlzLl9pbnB1dEZpZWxkczsgfVxuXG4gIC8qKiBTYXZlcyB0aGUgY29tcHV0YXRpb24gcmVzdWx0cyB0byB0aGUgaGlzdG9yaWNhbCByZXN1bHRzLCByZXR1cm5zIGl0cyBpZC4gU2VlIGFsc28ge0BsaW5rIGxvYWRSdW59LiAqL1xuICBhc3luYyBzYXZlUnVuKGNhbGw6IEZ1bmNDYWxsKTogUHJvbWlzZTxzdHJpbmc+IHsgcmV0dXJuICd4eHgnOyB9XG5cbiAgLyoqIExvYWRzIHRoZSBzcGVjaWZpZWQgaGlzdG9yaWNhbCByZXN1bHRzLiBTZWUgYWxzbyB7QGxpbmsgc2F2ZVJ1bn0uICovXG4gIGFzeW5jIGxvYWRSdW4ocnVuSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4geyB9XG5cbiAgLyoqIFRoZSBhY3R1YWwgY29tcHV0YXRpb24gZnVuY3Rpb24uICovXG4gIGFzeW5jIGNvbXB1dGUoY2FsbDogRnVuY0NhbGwpOiBQcm9taXNlPHZvaWQ+IHsgYXdhaXQgY2FsbC5jYWxsKCk7IH1cblxuICAvKiogTWFwcyBpbnB1dHMgdG8gcGFyYW1ldGVycywgY29tcHV0ZXMsIGFuZCBtYXBzIG91dHB1dCBwYXJhbWV0ZXJzIHRvIHRoZSBVSS4gKi9cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubGFzdENhbGwgPSB0aGlzLmNhbGwuY2xvbmUoKTtcbiAgICB0aGlzLmlucHV0RmllbGRzVG9QYXJhbWV0ZXJzKHRoaXMubGFzdENhbGwpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuY29tcHV0ZSh0aGlzLmxhc3RDYWxsKTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMub25Db21wdXRhdGlvbkVycm9yLm5leHQodGhpcy5sYXN0Q2FsbCk7XG4gICAgfVxuXG4gICAgdGhpcy5vdXRwdXRQYXJhbWV0ZXJzVG9WaWV3KHRoaXMubGFzdENhbGwpO1xuICB9XG5cbiAgLyoqIE92ZXJyaWRlIHRvIHByb3ZpZGUgY3VzdG9tIGluaXRpYWxpemF0aW9uLiB7QGxpbmsgb25WaWV3SW5pdGlhbGl6ZWR9IGdldHMgZmlyZWQgYWZ0ZXIgdGhhdC4gKi9cbiAgYXN5bmMgaW5pdCgpOiBQcm9taXNlPHZvaWQ+IHt9XG5cbiAgLyoqIE92ZXJyaWRlIHRvIGN1c3RvbWl6ZSB0b3AgbWVudSovXG4gIGluaXRUb3BNZW51KG1lbnU6IERHLk1lbnUpIHtcbiAgICBtZW51XG4gICAgICAuZ3JvdXAodGhpcy5mdW5jLmZyaWVuZGx5TmFtZSlcbiAgICAgIC5pdGVtKCdSdW4nLCAoKSA9PiB0aGlzLnJ1bigpKTtcbiAgfVxuXG4gIC8qKiBPdmVycmlkZSB0byBjdXN0b21pemUgcmliYm9uIHBhbmVscyAqL1xuICBpbml0UmliYm9uUGFuZWxzKCkge1xuICAgIHRoaXMuc2V0UmliYm9uUGFuZWxzKFtbXG4gICAgICB1aS5iaWdCdXR0b24oJ1JVTicsICgpID0+IHRoaXMucnVuKCkpLFxuICAgICAgdWkuY29tYm9Qb3B1cChcbiAgICAgICAgdWkuaWNvbnMuc2F2ZShudWxsLCAnRXhwb3J0JyksXG4gICAgICAgIHRoaXMuc3VwcG9ydGVkRXhwb3J0Rm9ybWF0cyxcbiAgICAgICAgYXN5bmMgKGZvcm1hdCkgPT4gREcuVXRpbHMuZG93bmxvYWQoJ291dHB1dC5jc3YnLCBhd2FpdCB0aGlzLmV4cG9ydChmb3JtYXQpKSxcbiAgICAgICksXG4gICAgXV0pO1xuICB9XG5cbiAgLyoqIEJ1aWxkcyB0aGUgY29tcGxldGUgdmlldy4gT3ZlcnJpZGUgaXQgaWYgY29tcGxldGVseSBjdXN0b20gaW1wbGVtZW50YXRpb24gaXMgbmVlZGVkLFxuICAgKiBvdGhlcndpc2UgY29uc2lkZXIgb3ZlcnJpZGluZyB7QGxpbmsgYnVpbGRJbnB1dEJsb2NrfSBhbmQvb3Ige0BsaW5rIGJ1aWxkT3V0cHV0QmxvY2t9ICovXG4gIGJ1aWxkKCk6IEhUTUxFbGVtZW50IHtyZXR1cm4gdWkuc3BsaXRIKFt0aGlzLmJ1aWxkSW5wdXRCbG9jaygpLCB0aGlzLmJ1aWxkT3V0cHV0QmxvY2soKV0pO31cblxuICAvKiogT3ZlcnJpZGUgdG8gYnVpbGQgY29tcGxldGVseSBjdXN0b20gaW5wdXQgYmxvY2sgKHRoZSBvbmUgd2l0aCBpbnB1dHMsIHVzdWFsbHkgb24gdGhlIGxlZnQpLlxuICAgKiBJZiBvbmx5IHNwZWNpZmljIGZpZWxkLCBjb25zaWRlciBvdmVycmlkaW5nIHtAbGluayBidWlsZEN1c3RvbUlucHV0c30uICovXG4gIGJ1aWxkSW5wdXRCbG9jaygpOiBIVE1MRWxlbWVudCB7XG4gICAgZm9yIChjb25zdCBwIG9mIHRoaXMuZnVuYy5pbnB1dHMpXG4gICAgICB0aGlzLl9pbnB1dEZpZWxkcy5zZXQocC5uYW1lLCBERy5JbnB1dEJhc2UuZm9yUHJvcGVydHkocCwgdGhpcy5jYWxsLmRhcnQpKTtcblxuICAgIHJldHVybiB1aS5pbnB1dHModGhpcy5faW5wdXRGaWVsZHMudmFsdWVzKCkpXG4gIH1cblxuICAvKiogQ3VzdG9tIGlucHV0cyBmb3IgdGhlIHNwZWNpZmllZCBmaWVsZHMuIElucHV0cyBmb3IgdGhlc2UgZmllbGRzIHdpbGwgbm90IGJlIGNyZWF0ZWQgYnkge0BsaW5rIGJ1aWxkSW5wdXRCbG9ja30uICovXG4gIGJ1aWxkQ3VzdG9tSW5wdXRzKCk6IE1hcDxTdHJpbmcsIERHLklucHV0QmFzZT4geyByZXR1cm4gbmV3IE1hcCgpOyB9XG5cbiAgLyoqIE92ZXJyaWRlIHRvIGNyZWF0ZSBvdXRwdXQgYmxvY2suICovXG4gIGJ1aWxkT3V0cHV0QmxvY2soKTogSFRNTEVsZW1lbnQgeyByZXR1cm4gdWkuZGl2KCk7IH1cblxuICAvKiogT3ZlcnJpZGUgdG8gY3JlYXRlIGEgY3VzdG9tIGlucHV0IGNvbnRyb2wuICovXG4gIGJ1aWxkUmliYm9uUGFuZWwoKTogSFRNTEVsZW1lbnQgeyByZXR1cm4gdWkuZGl2SChbXG4gICAgdWkuYnV0dG9uKCdSVU4nLCAoKSA9PiB7fSksXG4gICAgdWkuY29tYm9Qb3B1cCgnRXhwb3J0JywgdGhpcy5zdXBwb3J0ZWRFeHBvcnRGb3JtYXRzLCAoZm9ybWF0KSA9PiB0aGlzLmV4cG9ydChmb3JtYXQpKV0pO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgZnVuY3Rpb24gcGFyYW1ldGVycyBiYXNlZCBvbiB0aGUgZGF0YSBlbnRlcmVkIGJ5IHRoZSB1c2VyLiAqL1xuICBpbnB1dEZpZWxkc1RvUGFyYW1ldGVycyhjYWxsOiBGdW5jQ2FsbCk6IHZvaWQgeyB9XG5cbiAgLyoqIFZpc3VhbGl6ZXMgY29tcHV0YXRpb24gcmVzdWx0cyAqL1xuICBvdXRwdXRQYXJhbWV0ZXJzVG9WaWV3KGNhbGw6IEZ1bmNDYWxsIHwgbnVsbCk6IHZvaWQgeyB9XG5cbiAgLyoqIE92ZXJyaWRlIHRvIHByb3ZpZGUgY3VzdG9tIGNvbXB1dGF0aW9uIGVycm9yIGhhbmRsaW5nLiAqL1xuICBwcm9jZXNzQ29tcHV0YXRpb25FcnJvcihjYWxsOiBGdW5jQ2FsbCkgeyBncm9rLnNoZWxsLmVycm9yKGNhbGwuZXJyb3JNZXNzYWdlISk7ICB9XG5cbiAgLyoqIE92ZXJyaWRlIHRvIHByb3ZpZGUgc3VwcG9ydGVkIGV4cG9ydCBmb3JtYXRzLlxuICAgKiBUaGVzZSBmb3JtYXRzIGFyZSBhdmFpbGFibGUgdW5kZXIgdGhlIFwiRXhwb3J0XCIgcG9wdXAgb24gdGhlIHJpYmJvbiBwYW5lbC4gKi9cbiAgZ2V0IHN1cHBvcnRlZEV4cG9ydEZvcm1hdHMoKTogc3RyaW5nW10geyByZXR1cm4gWydFeGNlbCcsICdQREYnLCAnQ1NWJ107IH1cblxuICAvKiogT3ZlcnJpZGUgdG8gcHJvdmlkZSBjdXN0b20gZXhwb3J0LiAqL1xuICBhc3luYyBleHBvcnQoZm9ybWF0OiBzdHJpbmcpOiBQcm9taXNlPEJsb2I+IHtcbiAgICBpZiAoZm9ybWF0ID09ICdDU1YnKVxuICAgICAgcmV0dXJuIG5ldyBCbG9iKFsodGhpcy5sYXN0Q2FsbD8uZ2V0T3V0cHV0UGFyYW1WYWx1ZSgpIGFzIERhdGFGcmFtZSkudG9Dc3YoKV0pO1xuICAgIHRocm93IGBGb3JtYXQgXCIke2Zvcm1hdH1cIiBpcyBub3Qgc3VwcG9ydGVkLmA7XG4gIH1cbn0iXX0=
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24tdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbXB1dGF0aW9uLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0M7Ozs7Ozs7Ozs7Ozs7O0tBY0s7QUFDTCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUFZO0lBQy9DLFlBQVksSUFBYTtRQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQsdUNBQXVDO0lBQzlCLGdCQUFnQjs7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsT0FBOEIsQ0FBQztRQUM5RCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtZQUNoQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQ1osTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDN0UsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxxQkFBcUI7SUFDWixjQUFjLENBQUMsSUFBaUI7UUFDdkMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQVMsRUFBRTtZQUN4QixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFTLEVBQUU7Z0JBQy9DLE1BQU0sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQSxDQUFDLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNyQyxNQUFNLE1BQU0sR0FBbUIsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBQ2pGLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUMsRUFBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztZQUM5SixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQUEsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuLyogZXNsaW50LWRpc2FibGUgdmFsaWQtanNkb2MgKi9cbmltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5pbXBvcnQge0Z1bmN0aW9uVmlld30gZnJvbSAnLi9mdW5jdGlvbi12aWV3JztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBoYW5kbGluZyBDb21wdXRlIG1vZGVscyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhZ3Jvay1haS9wdWJsaWMvYmxvYi9tYXN0ZXIvaGVscC9jb21wdXRlL2NvbXB1dGUubWQpLlxuICogSW4gbW9zdCBjYXNlcywgdGhlIGNvbXB1dGF0aW9uIGlzIGEgc2ltcGxlIHtAbGluayBGdW5jfVxuICogRXh0ZW5kIGl0IGluIGNhc2VzIHdoZXJlIGEgYmVoYXZpb3Igb3IgVUkgbm90IHN1cHBvcnRlZCBieSB0aGUge0BsaW5rIEZ1bmN0aW9uVmlld30gaXMgbmVlZGVkLlxuICpcbiAqIEl0IHByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25hbGl0eSBvdXQtb2YtdGhlLWJveCwgd2hlcmUgZWFjaCBzZWN0aW9uIGNvdWxkIGJlIGN1c3RvbWl6ZWQ6XG4gKiAtIGEgc3RydWN0dXJlZCB3YXkgdG8gcmVwcmVzZW50IGlucHV0IGFuZCBvdXRwdXQgcGFyYW1ldGVyczoge0BsaW5rIHBhcmFtZXRlcnN9XG4gKiAtIGdlbmVyaWMgd2F5IHRvIGdlbmVyYXRlIFVJIGZvciBpbnB1dHMsIG91dHB1dHMsIGFuZCBpbnRlcmFjdGl2aXR5IChydW5uaW5nIHRoZSBtb2RlbCwgZXRjKVxuICogICAtIHBlcnNpc3RpbmcgaGlzdG9yaWNhbCByZXN1bHRzIHRvIHRoZSBkYiAodmlhIHtAbGluayBwYXJhbWV0ZXJzfSlcbiAqIC0gZXhwb3J0ICh0byBFeGNlbCBhbmQgUERGKToge0BsaW5rIGV4cG9ydH1cbiAqIC0gZWFzeSBsb2FkaW5nIG9mIGhpc3RvcmljYWwgcnVuc1xuICogLSByb3V0aW5nXG4gKiAtIGVudGVyaW5nIHRoZSByZWFsLCBtZWFzdXJlZCAoYXMgb3Bwb3NlZCB0byBwcmVkaWN0ZWQpIHZhbHVlcyBtYW51YWxseVxuICogLSBub3RpZmljYXRpb25zIGZvciBjaGFuZ2luZyBpbnB1dHMsIGNvbXBsZXRpb24gb2YgY29tcHV0YXRpb25zLCBldGM6IHtAbGluayBvbklucHV0Q2hhbmdlZH1cbiAqICovXG5leHBvcnQgY2xhc3MgQ29tcHV0YXRpb25WaWV3IGV4dGVuZHMgRnVuY3Rpb25WaWV3IHtcbiAgY29uc3RydWN0b3IoZnVuYzogREcuRnVuYykge1xuICAgIHN1cGVyKGZ1bmMpO1xuICB9XG5cbiAgLyoqIE92ZXJyaWRlIHRvIGNyZWF0ZSBvdXRwdXQgYmxvY2suICovXG4gIG92ZXJyaWRlIGJ1aWxkT3V0cHV0UGFuZWwoKTogSFRNTEVsZW1lbnQge1xuICAgIGNvbnNvbGUubG9nKCdvdXB0dXQgdXBkYXRlZCcpO1xuICAgIGNvbnN0IG91dHB1dHMgPSB0aGlzLmxhc3RDYWxsPy5vdXRwdXRzIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY29uc3QgcGFuZWwgPSB1aS5hY2NvcmRpb24oJ091dHB1dCBkYXRhJyk7XG4gICAgcGFuZWwuYWRkUGFuZSgnT3V0cHV0IGRhdGEnLCAoKSA9PiB7XG4gICAgICByZXR1cm4gdWkuZGl2VihcbiAgICAgICAgT2JqZWN0LmVudHJpZXMob3V0cHV0cykubWFwKChba2V5LCB2YWxdKSA9PiB1aS5zcGFuKFtgJHtrZXl9OiBgLCBgJHt2YWx9YF0pKSxcbiAgICAgICk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhbmVsLnJvb3Q7XG4gIH1cblxuICAvKiogaGVscGVyIG1ldGhvZHMgKi9cbiAgb3ZlcnJpZGUgYnVpbGRJbnB1dEZvcm0oY2FsbDogREcuRnVuY0NhbGwpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHVpLndhaXQoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcnVuQnV0dG9uID0gdWkuYmlnQnV0dG9uKCdSdW4nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMucnVuKCk7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGVkaXRvciA9IHVpLmRpdihbXSwgJ3VpLWZvcm0nKTtcbiAgICAgIGNvbnN0IGlucHV0czogREcuSW5wdXRCYXNlW10gPSBhd2FpdCBjYWxsLmJ1aWxkRWRpdG9yKGVkaXRvciwge2NvbmRlbnNlZDogdHJ1ZX0pO1xuICAgICAgZWRpdG9yLmFwcGVuZENoaWxkKHVpLmRpdkgoW3VpLmRpdlYoW3RoaXMuaGlzdG9yeVBhbmVsXSwge3N0eWxlOiB7J2p1c3RpZnktY29udGVudCc6ICdjZW50ZXInfX0pLCBydW5CdXR0b25dLCB7c3R5bGU6IHsnanVzdGlmeS1jb250ZW50JzogJ3NwYWNlLWJldHdlZW4nfX0pKTtcbiAgICAgIHJldHVybiB1aS5wYW5lbChbZWRpdG9yXSk7XG4gICAgfSk7XG4gIH07XG59XG4iXX0=
|
package/src/function-view.d.ts
CHANGED
|
@@ -1,27 +1,95 @@
|
|
|
1
|
+
import * as rxjs from 'rxjs';
|
|
1
2
|
import * as DG from 'datagrok-api/dg';
|
|
2
3
|
export declare class FunctionView extends DG.ViewBase {
|
|
4
|
+
onViewInitialized: rxjs.Subject<void>;
|
|
5
|
+
onInputChanged: rxjs.Subject<void>;
|
|
6
|
+
onComputationStarted: rxjs.Subject<DG.FuncCall>;
|
|
7
|
+
onComputationCompleted: rxjs.Subject<DG.FuncCall>;
|
|
8
|
+
onComputationSucceeded: rxjs.Subject<DG.FuncCall>;
|
|
9
|
+
onComputationError: rxjs.Subject<DG.FuncCall>;
|
|
3
10
|
constructor(func: DG.Func);
|
|
11
|
+
/** Override if custom initialization is required */
|
|
12
|
+
init(): void;
|
|
4
13
|
private _type;
|
|
5
14
|
get type(): string;
|
|
6
15
|
func: DG.Func;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
16
|
+
lastCall: DG.FuncCall | null;
|
|
17
|
+
private _inputFields;
|
|
18
|
+
/** All inputs that are bound to fields */
|
|
19
|
+
get inputFields(): Map<string, DG.InputBase>;
|
|
20
|
+
/** Input panel for form, run button, etc. On the left side by default */
|
|
21
|
+
inputPanel: HTMLElement;
|
|
22
|
+
/** Override to build completely custom input block (the one with inputs, usually on the left).
|
|
23
|
+
* If only specific field, consider overriding {@link buildCustomInputs}. */
|
|
24
|
+
buildInputPanel(): HTMLElement;
|
|
25
|
+
/** Call to update input panel */
|
|
26
|
+
renderInputPanel(): Promise<void>;
|
|
27
|
+
/** Output panel for viewing results. On the right side by default */
|
|
28
|
+
outputPanel: HTMLElement;
|
|
29
|
+
/** Override if custom ouptut panel is required */
|
|
30
|
+
buildOutputPanel(): HTMLElement;
|
|
31
|
+
/** Call to update output panel */
|
|
32
|
+
renderOutputPanel(): Promise<void>;
|
|
33
|
+
/** Panel for exporting functions file */
|
|
34
|
+
exportPanel: HTMLElement;
|
|
35
|
+
/** Override if custom export panel is required */
|
|
36
|
+
buildExportPanel(): HTMLElement;
|
|
37
|
+
/** Call to update export panel */
|
|
38
|
+
renderExportPanel(): void;
|
|
39
|
+
/** Filename for exported files. Override for custom names */
|
|
40
|
+
exportFilename(format: string): string;
|
|
41
|
+
/** Override to provide supported export formats.
|
|
42
|
+
* These formats are available under the "Export" popup on the ribbon panel. */
|
|
43
|
+
get supportedExportFormats(): string[];
|
|
44
|
+
/** Override to provide custom file extensions for exported formats.
|
|
45
|
+
* These formats are available under the "Export" popup on the ribbon panel. */
|
|
46
|
+
get supportedExportExtensions(): Record<string, string>;
|
|
47
|
+
/** Override to provide custom export. */
|
|
48
|
+
export(format: string): Promise<Blob>;
|
|
49
|
+
/** Panel to deal with historical runs */
|
|
50
|
+
historyPanel: HTMLElement;
|
|
51
|
+
/** Override to provide custom historical runs UI */
|
|
52
|
+
buildHistoryPanel(): HTMLElement;
|
|
53
|
+
/** Call to update history panel */
|
|
54
|
+
renderHistoryPanel(): void;
|
|
55
|
+
/** Saves the computation results to the historical results, returns its id. See also {@link loadRun}. */
|
|
56
|
+
saveRun(call: DG.FuncCall): Promise<string>;
|
|
57
|
+
/** Loads the specified historical results. See also {@link saveRun}. */
|
|
58
|
+
loadRun(runId: string): Promise<DG.FuncCall>;
|
|
59
|
+
/** Loads all the function call of this function. */
|
|
60
|
+
pullRuns(): Promise<DG.FuncCall[]>;
|
|
61
|
+
/** Pass function arguments' values before computing */
|
|
62
|
+
prepare(): Promise<void>;
|
|
63
|
+
/** Override to customize ribbon panels */
|
|
64
|
+
buildRibbonPanels(): Promise<HTMLElement[][]>;
|
|
65
|
+
/** Call to update ribbon panels */
|
|
66
|
+
renderRibbonPanels(): Promise<void>;
|
|
67
|
+
/** Builds the complete view. Override it if completely custom implementation is needed,
|
|
68
|
+
* otherwise consider overriding {@link buildInputPanel} and/or {@link buildOutputPanel} */
|
|
69
|
+
build(): HTMLElement;
|
|
70
|
+
render(): Promise<void>;
|
|
71
|
+
/** Override to create a custom input control. */
|
|
72
|
+
buildRibbonPanel(): HTMLElement;
|
|
73
|
+
run(): Promise<void>;
|
|
74
|
+
compute(call: DG.FuncCall): Promise<void>;
|
|
11
75
|
showInputs: boolean;
|
|
12
76
|
singleDfParam: boolean;
|
|
13
77
|
paramViewers: Map<string, DG.Viewer[]>;
|
|
14
78
|
resultsTabControl: DG.TabControl | undefined;
|
|
15
79
|
resultTabs: Map<String, HTMLElement>;
|
|
16
80
|
resultsDiv: HTMLElement;
|
|
17
|
-
controlsRoot: HTMLDivElement;
|
|
18
|
-
resultsRoot: HTMLDivElement;
|
|
19
81
|
inputsDiv: HTMLDivElement;
|
|
82
|
+
inputFieldsToParameters(call: DG.FuncCall): void;
|
|
83
|
+
/** helper methods */
|
|
20
84
|
appendResultDataFrame(param: DG.FuncCallParam, options?: {
|
|
21
85
|
caption?: string;
|
|
22
86
|
category?: string;
|
|
23
87
|
height?: number;
|
|
24
88
|
}): void;
|
|
25
89
|
_appendResultElement(d: HTMLElement, category?: string): void;
|
|
90
|
+
/** helper methods */
|
|
91
|
+
buildInputForm(call: DG.FuncCall): HTMLElement;
|
|
92
|
+
clearResults(clearTabs?: boolean, showOutput?: boolean): void;
|
|
93
|
+
outputParametersToView(call: DG.FuncCall): void;
|
|
26
94
|
}
|
|
27
95
|
//# sourceMappingURL=function-view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-view.d.ts","sourceRoot":"","sources":["function-view.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"function-view.d.ts","sourceRoot":"","sources":["function-view.ts"],"names":[],"mappings":"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"}
|