@operato/scene-excel 9.0.0-beta.1 → 9.0.0-beta.15
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/dist/excel.js +14 -9
- package/dist/excel.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/templates/index.js +1 -1
- package/dist/templates/index.js.map +1 -1
- package/package.json +5 -4
- package/things-scene.config.js +1 -1
package/dist/excel.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
+
var Excel_1;
|
|
5
|
+
import { __decorate } from "tslib";
|
|
4
6
|
import * as XLSX from 'xlsx';
|
|
5
|
-
import {
|
|
7
|
+
import { DataSource, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene';
|
|
6
8
|
const NATURE = {
|
|
7
9
|
mutable: false,
|
|
8
10
|
resizable: true,
|
|
@@ -51,13 +53,13 @@ async function fetchData(url) {
|
|
|
51
53
|
console.log('result', result);
|
|
52
54
|
return result;
|
|
53
55
|
}
|
|
54
|
-
|
|
56
|
+
let Excel = Excel_1 = class Excel extends DataSource(RectPath(Shape)) {
|
|
55
57
|
static get image() {
|
|
56
|
-
if (!
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
if (!Excel_1._image) {
|
|
59
|
+
Excel_1._image = new Image();
|
|
60
|
+
Excel_1._image.src = new URL('../icons/symbol-excel.png', import.meta.url).href;
|
|
59
61
|
}
|
|
60
|
-
return
|
|
62
|
+
return Excel_1._image;
|
|
61
63
|
}
|
|
62
64
|
dispose() {
|
|
63
65
|
this._stopRepeater();
|
|
@@ -72,7 +74,7 @@ export default class Excel extends DataSource(RectPath(Shape)) {
|
|
|
72
74
|
render(context) {
|
|
73
75
|
var { left, top, width, height } = this.bounds;
|
|
74
76
|
context.beginPath();
|
|
75
|
-
this.drawImage(context,
|
|
77
|
+
this.drawImage(context, Excel_1.image, left, top, width, height);
|
|
76
78
|
}
|
|
77
79
|
get nature() {
|
|
78
80
|
return NATURE;
|
|
@@ -120,6 +122,9 @@ export default class Excel extends DataSource(RectPath(Shape)) {
|
|
|
120
122
|
this._initInterval();
|
|
121
123
|
}
|
|
122
124
|
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
+
};
|
|
126
|
+
Excel = Excel_1 = __decorate([
|
|
127
|
+
sceneComponent('excel')
|
|
128
|
+
], Excel);
|
|
129
|
+
export default Excel;
|
|
125
130
|
//# sourceMappingURL=excel.js.map
|
package/dist/excel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excel.js","sourceRoot":"","sources":["../src/excel.ts"],"names":[],"mappings":"AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"excel.js","sourceRoot":"","sources":["../src/excel.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport * as XLSX from 'xlsx'\n\nimport {\n Component,\n ComponentNature,\n DataSource,\n Properties,\n RectPath,\n Shape,\n sceneComponent\n} from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'attachment-selector',\n label: 'src',\n name: 'src',\n placeholder: 'Excel File URL'\n },\n {\n type: 'number',\n label: 'period',\n name: 'period',\n placeholder: 'seconds'\n }\n ],\n help: 'scene/component/excel'\n}\n\nasync function fetchData(url: string) {\n if (!url.startsWith('data:')) {\n // prevent read from cache\n if (url.indexOf('?') !== -1) {\n url = url + `&ts=${Date.now()}`\n } else {\n url = url + `?ts=${Date.now()}`\n }\n }\n\n const file = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/xlsx'\n },\n credentials: 'include'\n })\n\n const workbook: XLSX.WorkBook = XLSX.read(await file.arrayBuffer(), { type: 'array' })\n\n var result: { [key: string]: unknown } = {}\n workbook.SheetNames.forEach((sheet: string) => {\n var roa = XLSX.utils.sheet_to_json(workbook.Sheets[sheet])\n if (roa.length) {\n result[sheet] = roa\n }\n })\n\n console.log('result', result)\n return result\n}\n\n@sceneComponent('excel')\nexport default class Excel extends DataSource(RectPath(Shape)) {\n static _image: HTMLImageElement\n\n static get image() {\n if (!Excel._image) {\n Excel._image = new Image()\n Excel._image.src = new URL('../icons/symbol-excel.png', import.meta.url).href\n }\n\n return Excel._image\n }\n\n private repeatTimer?: NodeJS.Timeout\n private src?: string\n\n dispose() {\n this._stopRepeater()\n super.dispose()\n }\n\n ready() {\n const { src } = this.state\n\n if (src) {\n this._initInterval()\n }\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, Excel.image, left, top, width, height)\n }\n\n get nature() {\n return NATURE\n }\n\n _initInterval() {\n this._stopRepeater()\n this._startRepeater()\n }\n\n _startRepeater() {\n var { src, period } = this.state\n period = Number(period)\n\n var fetchable = true\n\n if (period && this.app.isViewMode) {\n this.repeatTimer = setInterval(() => {\n fetchable &&\n this.repeatTimer &&\n requestAnimationFrame(() => {\n fetchable = true\n fetchData(src).then(data => {\n this.setState('data', data)\n })\n })\n fetchable = false\n }, period * 1000)\n }\n\n fetchData(src).then(data => {\n this.setState('data', data)\n })\n }\n\n _stopRepeater() {\n if (this.repeatTimer) clearTimeout(this.repeatTimer)\n\n delete this.repeatTimer\n }\n\n ondropfile(transfered: any, files: any) {\n for (let i = 0; i < transfered.length; i++) {\n if (/\\.xlsx?$/.test(transfered[i].name)) {\n this.src = files[i]\n return\n }\n }\n }\n\n onchange(after: Properties, before: Properties) {\n if ('period' in after || 'src' in after) {\n this._initInterval()\n }\n }\n}\n"]}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,eAAe,CAAC,KAAK,CAAC,CAAA","sourcesContent":["import Excel from './excel.js'\n\nexport default [Excel]\n"]}
|
package/dist/templates/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,eAAe,CAAC,KAAK,CAAC,CAAA","sourcesContent":["import excel from './excel.js'\n\nexport default [excel]\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@operato/scene-excel",
|
|
3
3
|
"description": "Excel integration component for things-scene",
|
|
4
|
-
"version": "9.0.0-beta.
|
|
4
|
+
"version": "9.0.0-beta.15",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"author": "heartyoh",
|
|
6
7
|
"main": "dist/index.js",
|
|
7
8
|
"module": "dist/index.js",
|
|
@@ -38,8 +39,8 @@
|
|
|
38
39
|
"@typescript-eslint/parser": "^4.33.0",
|
|
39
40
|
"@web/dev-server": "^0.1.28",
|
|
40
41
|
"concurrently": "^8.0.1",
|
|
41
|
-
"eslint": "^
|
|
42
|
-
"eslint-config-prettier": "^
|
|
42
|
+
"eslint": "^9.18.0",
|
|
43
|
+
"eslint-config-prettier": "^10.0.1",
|
|
43
44
|
"husky": "^8.0.3",
|
|
44
45
|
"lint-staged": "^13.2.2",
|
|
45
46
|
"prettier": "^2.4.1",
|
|
@@ -58,5 +59,5 @@
|
|
|
58
59
|
"prettier --write"
|
|
59
60
|
]
|
|
60
61
|
},
|
|
61
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "3a94a8a9ee8cb8de82ad331cb08b9e48d6625d31"
|
|
62
63
|
}
|
package/things-scene.config.js
CHANGED