@operato/scene-gauge 1.2.50 → 1.2.66
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 +33 -0
- package/assets/favicon.ico +0 -0
- package/assets/images/spinner.png +0 -0
- package/dist/gauge-circle.js +26 -4
- package/dist/gauge-circle.js.map +1 -1
- package/package.json +2 -2
- package/schema.gql +3707 -0
- package/src/gauge-circle.ts +32 -4
- package/tsconfig.tsbuildinfo +1 -1
package/src/gauge-circle.ts
CHANGED
|
@@ -52,6 +52,33 @@ const NATURE: ComponentNature = {
|
|
|
52
52
|
help: 'scene/component/gauge-circle'
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
function countSignificantFigures(number: number) {
|
|
56
|
+
const numStr = number.toString()
|
|
57
|
+
const parts = numStr.split('.')
|
|
58
|
+
|
|
59
|
+
// 소수점 이하 부분을 분석
|
|
60
|
+
if (parts.length === 2) {
|
|
61
|
+
const decimalPart = parts[1]
|
|
62
|
+
let significantFigures = 0
|
|
63
|
+
|
|
64
|
+
for (let i = 0; i < decimalPart.length; i++) {
|
|
65
|
+
if (decimalPart[i] !== '0') {
|
|
66
|
+
significantFigures = decimalPart.length - i
|
|
67
|
+
break
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return significantFigures
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// 정수인 경우 유효 자릿수 없음
|
|
75
|
+
return 0
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
console.log(countSignificantFigures(0.12)) // 2
|
|
79
|
+
console.log(countSignificantFigures(1)) // 0
|
|
80
|
+
console.log(countSignificantFigures(0.5)) // 1
|
|
81
|
+
|
|
55
82
|
function drawStepLine(context: CanvasRenderingContext2D, ang: number, rx: number, stepNeedleSize: number) {
|
|
56
83
|
context.rotate(ang)
|
|
57
84
|
context.translate(0, -rx)
|
|
@@ -227,12 +254,12 @@ export default class GaugeCircle extends ValueHolder(Donut) {
|
|
|
227
254
|
}
|
|
228
255
|
|
|
229
256
|
//// 서브 스탭 그리기 ////
|
|
230
|
-
if (showSubStep) {
|
|
231
|
-
let count = totalValue
|
|
257
|
+
if (showSubStep && subStep > 0) {
|
|
258
|
+
let count = Math.round(totalValue / subStep)
|
|
232
259
|
|
|
233
260
|
// Draw StepValue
|
|
234
261
|
for (let num = 1; num <= count; num++) {
|
|
235
|
-
if (num % step == 0
|
|
262
|
+
if (num % step == 0) {
|
|
236
263
|
// 메인 스탭과 서브 스탭은 그리지 않음
|
|
237
264
|
continue
|
|
238
265
|
}
|
|
@@ -262,12 +289,13 @@ export default class GaugeCircle extends ValueHolder(Donut) {
|
|
|
262
289
|
if (showStepText) {
|
|
263
290
|
// Draw StepText
|
|
264
291
|
let count = totalValue / step
|
|
292
|
+
let significantFigures = countSignificantFigures(step)
|
|
265
293
|
|
|
266
294
|
for (let num = 1; num < count; num++) {
|
|
267
295
|
let value = startValue + step * num
|
|
268
296
|
let ang = Math.PI * ((circleSize / count) * num + startAngle + 0.5)
|
|
269
297
|
|
|
270
|
-
drawStepText(context, value, ang, rx * textLocation)
|
|
298
|
+
drawStepText(context, value.toFixed(significantFigures), ang, rx * textLocation)
|
|
271
299
|
}
|
|
272
300
|
}
|
|
273
301
|
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/@hatiolab/things-scene/things-scene.d.ts","./src/gauge-properties.ts","./src/gauge-circle.ts","./src/gauge-horizon.ts","./src/gauge-vertical.ts","./src/index.ts"],"fileInfos":[{"version":"
|
|
1
|
+
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/@hatiolab/things-scene/things-scene.d.ts","./src/gauge-properties.ts","./src/gauge-circle.ts","./src/gauge-horizon.ts","./src/gauge-vertical.ts","./src/index.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7",{"version":"0075fa5ceda385bcdf3488e37786b5a33be730e8bc4aa3cf1e78c63891752ce8","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","f32044e28142d7080c318268058e6a3de42be0252512491d2fc9bf0fa07c3e65",{"version":"8e1409f894fa33ed13f49fc8d503a69986b5349d16d3fa51141b6ac37e16df31","signature":"44008f04e6756cf1d3b21bb767fe5cbde6c0df6a0084c0bacd97f4aaa454f273"},{"version":"403e5af7d843717bc9af5a190369ca2bfafaa3ebca750cd78cca80999c3845ba","signature":"48797414fafff497cac54f6c10d1e2e7ebb896ee9a572446fdc489901890d0fd"},{"version":"bb0c7a674d1eda5ef4fec9a55b37c50ee33f4cd769cb57d7f5341113dbe5d9ee","signature":"2be736c3a080d1b4d3158e3c5d19d3b635b3e482760655714b0dfefe5d2a3816"},{"version":"3e2848a5cccae467f459efd9aa5344baa105f0c5d81a2f2375b1d3e27bf1be48","signature":"a955feae78869a1b19c45c106aa9d74d6ddeae25c7b5b68fa7b02941b81e15d2"},{"version":"573659b567a69a7ca85bd857b3998a69edb91813c08a48951557b219f39496c3","signature":"9693c626dbb27254cb73153232a55d8c8d5d72afca3b6bbcf158abbdc4a82e9b"}],"root":[[38,42]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./dist","rootDir":"./src","sourceMap":true,"strict":true,"target":5},"fileIdsList":[[36,37,38],[36],[36,39,40,41],[37],[39,40,41]],"referencedMap":[[39,1],[40,1],[38,2],[41,1],[42,3]],"exportedModulesMap":[[39,4],[40,4],[41,4],[42,5]],"semanticDiagnosticsPerFile":[37,36,34,35,7,9,8,2,10,11,12,13,14,15,16,17,3,4,18,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,1,39,40,38,41,42]},"version":"5.2.2"}
|