@datagrok-libraries/utils 0.5.0 → 0.7.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/.eslintrc.json CHANGED
@@ -53,7 +53,6 @@
53
53
  }
54
54
  ],
55
55
  "guard-for-in": "off",
56
- "prefer-spread": "warn",
57
- "valid-jsdoc": "warn"
56
+ "prefer-spread": "warn"
58
57
  }
59
58
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "fullName": "Utils",
7
- "version": "0.5.0",
7
+ "version": "0.7.1",
8
8
  "description": "Common utilities",
9
9
  "dependencies": {
10
10
  "@types/node": "^14.14.37",
@@ -14,17 +14,16 @@
14
14
  "exceljs": "^4.3.0",
15
15
  "html2canvas": "^1.4.1",
16
16
  "node-fetch": "^2.6.0",
17
- "rxjs": "^7.4.0",
18
17
  "wu": "latest"
19
18
  },
20
19
  "devDependencies": {
21
20
  "@types/wu": "latest",
22
21
  "@typescript-eslint/eslint-plugin": "^5.11.0",
23
22
  "@typescript-eslint/parser": "^5.11.0",
24
- "eslint": "^8.8.0",
23
+ "eslint": "^8.18.0",
25
24
  "eslint-config-google": "^0.14.0",
26
25
  "ts-loader": "^9.2.6",
27
- "typescript": "^4.2.3"
26
+ "typescript": "^4.6.0"
28
27
  },
29
28
  "scripts": {
30
29
  "link": "npm link",
@@ -15,5 +15,18 @@ import { FunctionView } from './function-view';
15
15
  * - notifications for changing inputs, completion of computations, etc: {@link onInputChanged}
16
16
  * */
17
17
  export declare class ComputationView extends FunctionView {
18
+ /** Override to customize getting help feature
19
+ * @stability Stable
20
+ */
21
+ getHelp: (() => Promise<void>) | null;
22
+ /** Override to customize bug reporting feature
23
+ * @stability Stable
24
+ */
25
+ reportBug: (() => Promise<void>) | null;
26
+ /**
27
+ * Looks for {@link reportBug}, {@link getHelp} and {@link exportConfig} members and creates model menus
28
+ * @stability Stable
29
+ */
30
+ buildRibbonMenu(): void;
18
31
  }
19
32
  //# sourceMappingURL=computation-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"computation-view.d.ts","sourceRoot":"","sources":["computation-view.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;KAcK;AACL,qBAAa,eAAgB,SAAQ,YAAY;CAEhD"}
1
+ {"version":3,"file":"computation-view.d.ts","sourceRoot":"","sources":["computation-view.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;KAcK;AACL,qBAAa,eAAgB,SAAQ,YAAY;IAC/C;;MAEE;IACF,OAAO,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAQ;IAE7C;;MAEE;IACF,SAAS,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAQ;IAE/C;;;MAGE;IACO,eAAe;CAoBzB"}
@@ -1,3 +1,13 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import * as DG from 'datagrok-api/dg';
1
11
  import { FunctionView } from './function-view';
2
12
  /**
3
13
  * Base class for handling Compute models (see https://github.com/datagrok-ai/public/blob/master/help/compute/compute.md).
@@ -15,5 +25,36 @@ import { FunctionView } from './function-view';
15
25
  * - notifications for changing inputs, completion of computations, etc: {@link onInputChanged}
16
26
  * */
17
27
  export class ComputationView extends FunctionView {
28
+ constructor() {
29
+ super(...arguments);
30
+ /** Override to customize getting help feature
31
+ * @stability Stable
32
+ */
33
+ this.getHelp = null;
34
+ /** Override to customize bug reporting feature
35
+ * @stability Stable
36
+ */
37
+ this.reportBug = null;
38
+ }
39
+ /**
40
+ * Looks for {@link reportBug}, {@link getHelp} and {@link exportConfig} members and creates model menus
41
+ * @stability Stable
42
+ */
43
+ buildRibbonMenu() {
44
+ super.buildRibbonMenu();
45
+ if (!this.exportConfig && !this.reportBug && !this.getHelp)
46
+ return;
47
+ const ribbonMenu = this.ribbonMenu.group('Model');
48
+ if (this.exportConfig && this.exportConfig.supportedFormats.length > 0) {
49
+ ribbonMenu
50
+ .group('Export')
51
+ .items(this.exportConfig.supportedFormats, (format) => __awaiter(this, void 0, void 0, function* () { return DG.Utils.download(this.exportConfig.filename(format), yield this.exportConfig.export(format)); }))
52
+ .endGroup();
53
+ }
54
+ if (this.reportBug)
55
+ ribbonMenu.item('Report a bug', () => this.reportBug());
56
+ if (this.getHelp)
57
+ ribbonMenu.item('Help', () => this.getHelp());
58
+ }
18
59
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24tdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbXB1dGF0aW9uLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDOzs7Ozs7Ozs7Ozs7OztLQWNLO0FBQ0wsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtDQUVoRCIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIHZhbGlkLWpzZG9jICovXG5pbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuaW1wb3J0IHtGdW5jdGlvblZpZXd9IGZyb20gJy4vZnVuY3Rpb24tdmlldyc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgaGFuZGxpbmcgQ29tcHV0ZSBtb2RlbHMgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vZGF0YWdyb2stYWkvcHVibGljL2Jsb2IvbWFzdGVyL2hlbHAvY29tcHV0ZS9jb21wdXRlLm1kKS5cbiAqIEluIG1vc3QgY2FzZXMsIHRoZSBjb21wdXRhdGlvbiBpcyBhIHNpbXBsZSB7QGxpbmsgRnVuY31cbiAqIEV4dGVuZCBpdCBpbiBjYXNlcyB3aGVyZSBhIGJlaGF2aW9yIG9yIFVJIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHtAbGluayBGdW5jdGlvblZpZXd9IGlzIG5lZWRlZC5cbiAqXG4gKiBJdCBwcm92aWRlcyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uYWxpdHkgb3V0LW9mLXRoZS1ib3gsIHdoZXJlIGVhY2ggc2VjdGlvbiBjb3VsZCBiZSBjdXN0b21pemVkOlxuICogLSBhIHN0cnVjdHVyZWQgd2F5IHRvIHJlcHJlc2VudCBpbnB1dCBhbmQgb3V0cHV0IHBhcmFtZXRlcnM6IHtAbGluayBwYXJhbWV0ZXJzfVxuICogLSBnZW5lcmljIHdheSB0byBnZW5lcmF0ZSBVSSBmb3IgaW5wdXRzLCBvdXRwdXRzLCBhbmQgaW50ZXJhY3Rpdml0eSAocnVubmluZyB0aGUgbW9kZWwsIGV0YylcbiAqICAgLSBwZXJzaXN0aW5nIGhpc3RvcmljYWwgcmVzdWx0cyB0byB0aGUgZGIgKHZpYSB7QGxpbmsgcGFyYW1ldGVyc30pXG4gKiAtIGV4cG9ydCAodG8gRXhjZWwgYW5kIFBERik6IHtAbGluayBleHBvcnR9XG4gKiAtIGVhc3kgbG9hZGluZyBvZiBoaXN0b3JpY2FsIHJ1bnNcbiAqIC0gcm91dGluZ1xuICogLSBlbnRlcmluZyB0aGUgcmVhbCwgbWVhc3VyZWQgKGFzIG9wcG9zZWQgdG8gcHJlZGljdGVkKSB2YWx1ZXMgbWFudWFsbHlcbiAqIC0gbm90aWZpY2F0aW9ucyBmb3IgY2hhbmdpbmcgaW5wdXRzLCBjb21wbGV0aW9uIG9mIGNvbXB1dGF0aW9ucywgZXRjOiB7QGxpbmsgb25JbnB1dENoYW5nZWR9XG4gKiAqL1xuZXhwb3J0IGNsYXNzIENvbXB1dGF0aW9uVmlldyBleHRlbmRzIEZ1bmN0aW9uVmlldyB7XG5cbn1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24tdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbXB1dGF0aW9uLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBSUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0M7Ozs7Ozs7Ozs7Ozs7O0tBY0s7QUFDTCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUFZO0lBQWpEOztRQUNFOztVQUVFO1FBQ0YsWUFBTyxHQUFpQyxJQUFJLENBQUM7UUFFN0M7O1VBRUU7UUFDRixjQUFTLEdBQWlDLElBQUksQ0FBQztJQTBCakQsQ0FBQztJQXhCQzs7O01BR0U7SUFDTyxlQUFlO1FBQ3RCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFbkUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0RSxVQUFVO2lCQUNQLEtBQUssQ0FBQyxRQUFRLENBQUM7aUJBQ2YsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBTyxNQUFjLEVBQUUsRUFBRSxnREFBQyxPQUFBLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLFlBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxHQUFBLENBQUM7aUJBQ3BLLFFBQVEsRUFBRSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTO1lBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRTNELElBQUksSUFBSSxDQUFDLE9BQU87WUFDZCxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBUSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSB2YWxpZC1qc2RvYyAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmltcG9ydCB7RnVuY3Rpb25WaWV3fSBmcm9tICcuL2Z1bmN0aW9uLXZpZXcnO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGhhbmRsaW5nIENvbXB1dGUgbW9kZWxzIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2RhdGFncm9rLWFpL3B1YmxpYy9ibG9iL21hc3Rlci9oZWxwL2NvbXB1dGUvY29tcHV0ZS5tZCkuXG4gKiBJbiBtb3N0IGNhc2VzLCB0aGUgY29tcHV0YXRpb24gaXMgYSBzaW1wbGUge0BsaW5rIEZ1bmN9XG4gKiBFeHRlbmQgaXQgaW4gY2FzZXMgd2hlcmUgYSBiZWhhdmlvciBvciBVSSBub3Qgc3VwcG9ydGVkIGJ5IHRoZSB7QGxpbmsgRnVuY3Rpb25WaWV3fSBpcyBuZWVkZWQuXG4gKlxuICogSXQgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbmFsaXR5IG91dC1vZi10aGUtYm94LCB3aGVyZSBlYWNoIHNlY3Rpb24gY291bGQgYmUgY3VzdG9taXplZDpcbiAqIC0gYSBzdHJ1Y3R1cmVkIHdheSB0byByZXByZXNlbnQgaW5wdXQgYW5kIG91dHB1dCBwYXJhbWV0ZXJzOiB7QGxpbmsgcGFyYW1ldGVyc31cbiAqIC0gZ2VuZXJpYyB3YXkgdG8gZ2VuZXJhdGUgVUkgZm9yIGlucHV0cywgb3V0cHV0cywgYW5kIGludGVyYWN0aXZpdHkgKHJ1bm5pbmcgdGhlIG1vZGVsLCBldGMpXG4gKiAgIC0gcGVyc2lzdGluZyBoaXN0b3JpY2FsIHJlc3VsdHMgdG8gdGhlIGRiICh2aWEge0BsaW5rIHBhcmFtZXRlcnN9KVxuICogLSBleHBvcnQgKHRvIEV4Y2VsIGFuZCBQREYpOiB7QGxpbmsgZXhwb3J0fVxuICogLSBlYXN5IGxvYWRpbmcgb2YgaGlzdG9yaWNhbCBydW5zXG4gKiAtIHJvdXRpbmdcbiAqIC0gZW50ZXJpbmcgdGhlIHJlYWwsIG1lYXN1cmVkIChhcyBvcHBvc2VkIHRvIHByZWRpY3RlZCkgdmFsdWVzIG1hbnVhbGx5XG4gKiAtIG5vdGlmaWNhdGlvbnMgZm9yIGNoYW5naW5nIGlucHV0cywgY29tcGxldGlvbiBvZiBjb21wdXRhdGlvbnMsIGV0Yzoge0BsaW5rIG9uSW5wdXRDaGFuZ2VkfVxuICogKi9cbmV4cG9ydCBjbGFzcyBDb21wdXRhdGlvblZpZXcgZXh0ZW5kcyBGdW5jdGlvblZpZXcge1xuICAvKiogT3ZlcnJpZGUgdG8gY3VzdG9taXplIGdldHRpbmcgaGVscCBmZWF0dXJlXG4gICAgKiBAc3RhYmlsaXR5IFN0YWJsZVxuICAqL1xuICBnZXRIZWxwOiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgfCBudWxsID0gbnVsbDtcblxuICAvKiogT3ZlcnJpZGUgdG8gY3VzdG9taXplIGJ1ZyByZXBvcnRpbmcgZmVhdHVyZVxuICAgICogQHN0YWJpbGl0eSBTdGFibGVcbiAgKi9cbiAgcmVwb3J0QnVnOiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogTG9va3MgZm9yIHtAbGluayByZXBvcnRCdWd9LCB7QGxpbmsgZ2V0SGVscH0gYW5kIHtAbGluayBleHBvcnRDb25maWd9IG1lbWJlcnMgYW5kIGNyZWF0ZXMgbW9kZWwgbWVudXNcbiAgICogQHN0YWJpbGl0eSBTdGFibGVcbiAgKi9cbiAgb3ZlcnJpZGUgYnVpbGRSaWJib25NZW51KCkge1xuICAgIHN1cGVyLmJ1aWxkUmliYm9uTWVudSgpO1xuXG4gICAgaWYgKCF0aGlzLmV4cG9ydENvbmZpZyAmJiAhdGhpcy5yZXBvcnRCdWcgJiYgIXRoaXMuZ2V0SGVscCkgcmV0dXJuO1xuXG4gICAgY29uc3QgcmliYm9uTWVudSA9IHRoaXMucmliYm9uTWVudS5ncm91cCgnTW9kZWwnKTtcblxuICAgIGlmICh0aGlzLmV4cG9ydENvbmZpZyAmJiB0aGlzLmV4cG9ydENvbmZpZy5zdXBwb3J0ZWRGb3JtYXRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJpYmJvbk1lbnVcbiAgICAgICAgLmdyb3VwKCdFeHBvcnQnKVxuICAgICAgICAuaXRlbXModGhpcy5leHBvcnRDb25maWcuc3VwcG9ydGVkRm9ybWF0cywgYXN5bmMgKGZvcm1hdDogc3RyaW5nKSA9PiBERy5VdGlscy5kb3dubG9hZCh0aGlzLmV4cG9ydENvbmZpZyEuZmlsZW5hbWUoZm9ybWF0KSwgYXdhaXQgdGhpcy5leHBvcnRDb25maWchLmV4cG9ydChmb3JtYXQpKSlcbiAgICAgICAgLmVuZEdyb3VwKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVwb3J0QnVnKVxuICAgICAgcmliYm9uTWVudS5pdGVtKCdSZXBvcnQgYSBidWcnLCAoKSA9PiB0aGlzLnJlcG9ydEJ1ZyEoKSk7XG5cbiAgICBpZiAodGhpcy5nZXRIZWxwKVxuICAgICAgcmliYm9uTWVudS5pdGVtKCdIZWxwJywgKCkgPT4gdGhpcy5nZXRIZWxwISgpKTtcbiAgfVxufVxuIl19
@@ -1,81 +1,166 @@
1
- import * as rxjs from 'rxjs';
2
1
  import * as DG from 'datagrok-api/dg';
3
2
  export declare class FunctionView extends DG.ViewBase {
4
- constructor(funcCall: DG.FuncCall | null);
5
- get func(): DG.Func;
6
- onViewInitialized: rxjs.Subject<void>;
7
- onInputChanged: rxjs.Subject<void>;
8
- onComputationStarted: rxjs.Subject<DG.FuncCall>;
9
- onComputationCompleted: rxjs.Subject<DG.FuncCall>;
10
- onComputationSucceeded: rxjs.Subject<DG.FuncCall>;
11
- onComputationError: rxjs.Subject<DG.FuncCall>;
12
- private _type;
3
+ protected readonly context: DG.Context;
4
+ protected _funcCall?: DG.FuncCall;
5
+ protected _lastCall?: DG.FuncCall;
6
+ protected _type: string;
7
+ constructor(funcCall?: DG.FuncCall);
8
+ /**
9
+ * Get current function call of the view
10
+ * @returns The actual funccall associated with the view
11
+ * @stability Stable
12
+ */
13
+ get funcCall(): DG.FuncCall | undefined;
14
+ /**
15
+ * Get Func of the view
16
+ * @returns The actual func associated with the view
17
+ * @stability Stable
18
+ */
19
+ get func(): DG.Func | undefined;
20
+ /**
21
+ * Get data of last call of associated function
22
+ * @returns The actual func associated with the view
23
+ * @stability Stable
24
+ */
25
+ get lastCall(): DG.FuncCall | undefined;
26
+ /**
27
+ * Set data of last call of associated function
28
+ * @stability Stable
29
+ */
30
+ set lastCall(lastCall: DG.FuncCall | undefined);
31
+ /**
32
+ * View type
33
+ * @stability Stable
34
+ */
13
35
  get type(): string;
14
- get isInputPanelRequired(): boolean;
15
- get tabsLabels(): string[];
16
- readonly context: DG.Context;
17
- preparedCall: DG.FuncCall | null;
18
- lastCall: DG.FuncCall | null;
19
- protected outputCategories: string[];
20
- protected paramToCategoryMap: Record<string, string[]>;
21
- init(funcCall: DG.FuncCall): Promise<void>;
22
- /** Override to create a fully custom UI */
23
- build(): HTMLElement;
24
- /** Override to create a custom input block. */
36
+ /** Export options. Could be overriden partially, using default implementation of each option.
37
+ * @stability Stable
38
+ */
39
+ exportConfig: {
40
+ /** Override to provide custom export logic.
41
+ * Default implementation {@link defaultExport} heavily relies on the default implementation of {@link buildIO}.
42
+ * @returns Blob with data to be exported into the file.
43
+ * @stability Stable
44
+ */
45
+ export: ((format: string) => Promise<Blob>);
46
+ /** Filename for exported files. Override for custom filenames.
47
+ * Default implementation is {@link defaultExportFilename}
48
+ * @param format Format name to be exported
49
+ * @returns The actual filename to be used for the generated file.
50
+ * @stability Stable
51
+ */
52
+ filename: ((format: string) => string);
53
+ /** Override to provide custom list of supported export formats.
54
+ * Default implementation is {@link defaultSupportedExportFormats}
55
+ * These formats are available under the "Export" popup on the ribbon panel.
56
+ * @returns The array of formats available for the export.
57
+ * @stability Stable
58
+ */
59
+ supportedFormats: string[];
60
+ /** Override to provide custom file extensions for exported formats.
61
+ * Default implementation is {@link defaultSupportedExportExtensions}
62
+ * These extensions are used in filenames {@link exportFilename}.
63
+ * @returns The mapping between supported export formats and their extensions.
64
+ * @stability Stable
65
+ */
66
+ supportedExtensions: Record<string, string>;
67
+ } | null;
68
+ /**
69
+ * Link FuncCall to the view
70
+ * @param funcCall The actual funccall to be associated with the view
71
+ * @stability Stable
72
+ */
73
+ linkFunccall(funcCall: DG.FuncCall): void;
74
+ /**
75
+ * Method for custom logic that could not be placed in the constructor.
76
+ * Any async methods and most of the logic should be placed here.
77
+ * @stability Stable
78
+ */
79
+ init(): Promise<void>;
80
+ /**
81
+ * Override to create a fully custom UI including ribbon menus and panels
82
+ * @stability Stable
83
+ */
84
+ build(): void;
85
+ /**
86
+ * Override to create a custom input-output block
87
+ * @returns The HTMLElement with whole UI excluding ribbon menus and panels
88
+ * @stability Stable
89
+ */
90
+ buildIO(): HTMLElement;
91
+ /**
92
+ * Override to create a custom input block
93
+ * @returns The HTMLElement with input block UI on the left side by default
94
+ * @stability Stable
95
+ */
25
96
  buildInputBlock(): HTMLElement;
26
- /** Override to create a custom output block. */
97
+ /**
98
+ * Override to create a custom output block.
99
+ * @returns The HTMLElement with input block UI on the left side by default
100
+ * @stability Stable
101
+ */
27
102
  buildOutputBlock(): HTMLElement;
28
- /** Override to create a custom historical runs control. */
103
+ /**
104
+ * Override to create a custom historical runs control.
105
+ * @returns The HTMLElement with history block UI
106
+ * @stability Experimental
107
+ */
29
108
  buildHistoryBlock(): HTMLElement;
30
- /** Override to create a custom input control. */
109
+ /**
110
+ * Looks for {@link supportedExportFormats} members and creates ribbon panel
111
+ * @returns The HTMLElements of ribbonPanels
112
+ * @stability Stable
113
+ */
31
114
  buildRibbonPanels(): HTMLElement[][];
32
- /** Override to create a custom ribbon menu on the top. */
115
+ /**
116
+ * Override to create a custom ribbon menu on the top.
117
+ * @stability Stable
118
+ */
33
119
  buildRibbonMenu(): void;
34
- /** Override to create bug reporting feature */
35
- reportBug: (() => Promise<void>) | null;
36
- /** Filename for exported files. Override for custom names */
37
- exportFilename(format: string): string;
38
- /** Override to provide supported export formats.
39
- * These formats are available under the "Export" popup on the ribbon panel. */
40
- get supportedExportFormats(): string[];
41
- /** Override to provide custom file extensions for exported formats.
42
- * These formats are available under the "Export" popup on the ribbon panel. */
43
- get supportedExportExtensions(): Record<string, string>;
44
- /** Override to provide custom export. Obligatory to override if custom {@link build()} or {@link buildOutputBlock()} is overriden. */
45
- export(format: string): Promise<Blob>;
46
- /** Saves the computation results to the historical results, returns its id. See also {@link loadRun}. */
47
- saveRun(call: DG.FuncCall): Promise<string>;
48
- /** Loads the specified historical results. See also {@link saveRun}. */
49
- loadRun(runId: string): Promise<DG.FuncCall>;
50
- /** Loads all the function call of this function. */
120
+ /**
121
+ * Saves the computation results to the historical results, returns its id. See also {@link loadRun}.
122
+ * @stability Experimental
123
+ */
124
+ saveRun(): Promise<DG.FuncCall>;
125
+ /**
126
+ * Loads the specified historical run. See also {@link saveRun}.
127
+ * @stability Experimental
128
+ */
129
+ loadRun(funcCallId: string): Promise<DG.FuncCall>;
130
+ /**
131
+ * Loads all the function call of this function.
132
+ * Designed to pull hstorical runs in fast manner and the call {@link loadRun} with specified run ID.
133
+ * WARNING: FuncCall inputs/outputs are not included
134
+ * @stability Experimental
135
+ */
51
136
  pullRuns(): Promise<DG.FuncCall[]>;
52
- clearResults(switchToOutput?: boolean): void;
53
137
  run(): Promise<void>;
54
- compute(call: DG.FuncCall): Promise<void>;
55
- outputParametersToView(call: DG.FuncCall): void;
56
- renderRunSection(call: DG.FuncCall): HTMLElement;
57
- showInputs: boolean;
58
- singleDfParam: boolean;
59
- paramGridSwitches: Map<string, HTMLElement>;
60
- paramViewers: Map<string, DG.Viewer[]>;
61
- paramSpans: Map<string, HTMLElement>;
62
- resultTabs: Map<String, HTMLElement>;
63
- resultsTabControl: DG.TabControl | undefined;
64
- resultsDiv: HTMLElement;
65
- controlsRoot: HTMLDivElement;
66
- resultsRoot: HTMLDivElement;
67
- historyRoot: HTMLDivElement;
68
- inputsDiv: HTMLDivElement;
69
- appendResultDataFrame(param: DG.FuncCallParam, options?: {
70
- caption?: string;
71
- category?: string;
72
- height?: number;
73
- }): void;
74
- appendResultScalar(param: DG.FuncCallParam, options: {
75
- caption?: string;
76
- category: string;
77
- height?: number;
78
- }): void;
79
- _appendResultElement(d: HTMLElement, category?: string): void;
138
+ protected defaultExportFilename: (format: string) => string;
139
+ protected defaultSupportedExportExtensions: () => {
140
+ Excel: string;
141
+ };
142
+ protected defaultSupportedExportFormats: () => string[];
143
+ protected defaultExport: (format: string) => Promise<Blob>;
144
+ protected get isInputPanelRequired(): boolean;
145
+ protected get outParamCategories(): string[];
146
+ protected get outputTabsLabels(): string[];
147
+ protected get tabsLabels(): string[];
148
+ protected get paramToCategoryMap(): Record<string, string[]>;
149
+ protected renderRunSection(call: DG.FuncCall): HTMLElement;
150
+ private clearResults;
151
+ private outputParametersToView;
152
+ protected paramGridSwitches: Map<string, HTMLElement>;
153
+ protected existingParamViewers: Map<string, DG.Viewer[]>;
154
+ protected paramSpans: Map<string, HTMLElement>;
155
+ protected resultTabs: Map<String, HTMLElement>;
156
+ protected resultsTabControl: DG.TabControl | undefined;
157
+ protected resultsDiv: HTMLElement;
158
+ protected controlsRoot: HTMLDivElement;
159
+ protected resultsRoot: HTMLDivElement;
160
+ protected historyRoot: HTMLDivElement;
161
+ protected inputsRoot: HTMLDivElement;
162
+ private appendOutputDf;
163
+ private appendResultScalar;
164
+ private appendResultElement;
80
165
  }
81
166
  //# sourceMappingURL=function-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"function-view.d.ts","sourceRoot":"","sources":["function-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-view.d.ts","sourceRoot":"","sources":["function-view.ts"],"names":[],"mappings":"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"}