@operato/scene-clock 9.0.0-beta.9 → 9.0.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.
@@ -1,7 +1,8 @@
1
1
  /*
2
2
  * Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
- import { Component, Ellipse } from '@hatiolab/things-scene';
4
+ import { __decorate } from "tslib";
5
+ import { Ellipse, sceneComponent } from '@hatiolab/things-scene';
5
6
  const NATURE = {
6
7
  mutable: false,
7
8
  resizable: true,
@@ -68,7 +69,7 @@ function drawHand(ctx, pos, length, rx, needleRound) {
68
69
  ctx.stroke();
69
70
  ctx.rotate(-pos);
70
71
  }
71
- export default class ClockAnalog extends Ellipse {
72
+ let ClockAnalog = class ClockAnalog extends Ellipse {
72
73
  is3dish() {
73
74
  return false;
74
75
  }
@@ -139,6 +140,9 @@ export default class ClockAnalog extends Ellipse {
139
140
  get nature() {
140
141
  return NATURE;
141
142
  }
142
- }
143
- Component.register('clock-analog', ClockAnalog);
143
+ };
144
+ ClockAnalog = __decorate([
145
+ sceneComponent('clock-analog')
146
+ ], ClockAnalog);
147
+ export default ClockAnalog;
144
148
  //# sourceMappingURL=clock-analog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clock-analog.js","sourceRoot":"","sources":["../src/clock-analog.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, Ellipse } from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'hour-width',\n name: 'hourWidth',\n property: 'hourWidth'\n },\n {\n type: 'number',\n label: 'minute-width',\n name: 'minuteWidth',\n property: 'minuteWidth'\n },\n {\n type: 'number',\n label: 'second-width',\n name: 'secondWidth',\n property: 'secondWidth'\n },\n {\n type: 'checkbox',\n label: 'needle-round',\n name: 'needleRound',\n property: 'needleRound'\n },\n {\n type: 'checkbox',\n label: 'show-second',\n name: 'showSecond',\n property: 'showSecond'\n },\n {\n type: 'checkbox',\n label: 'show-number',\n name: 'showNumber',\n property: 'showNumber'\n },\n {\n type: 'number',\n label: 'inner-circle-size',\n name: 'innerCircleSize',\n property: 'innerCircleSize'\n },\n {\n type: 'color',\n label: 'inner-circle-color',\n name: 'innerCircleColor',\n property: 'innerCircleColor'\n }\n ],\n help: 'scene/component/analog-clock'\n}\n\nfunction drawHand(ctx: CanvasRenderingContext2D, pos: number, length: number, rx: number, needleRound: boolean) {\n ctx.beginPath()\n ctx.lineWidth = rx\n ctx.lineCap = needleRound ? 'round' : 'square'\n ctx.moveTo(0, 0)\n ctx.rotate(pos)\n ctx.lineTo(0, -length)\n ctx.stroke()\n ctx.rotate(-pos)\n}\n\nexport default class ClockAnalog extends Ellipse {\n is3dish() {\n return false\n }\n\n render(ctx: CanvasRenderingContext2D) {\n var {\n cx,\n cy,\n rx,\n ry,\n fillStyle,\n strokeStyle,\n fontColor = '#000',\n lineWidth,\n hourWidth,\n minuteWidth,\n secondWidth,\n needleRound = false,\n showSecond = true,\n showNumber = true,\n innerCircleSize = 5,\n innerCircleColor = '#000'\n } = this.state\n\n // 시계 원 그리기.\n ctx.beginPath()\n ctx.ellipse(cx, cy, Math.abs(rx), Math.abs(ry), 0, 0, 2 * Math.PI)\n\n ctx.fillStyle = fillStyle\n\n ctx.strokeStyle = strokeStyle\n ctx.lineWidth = lineWidth || rx * 0.1\n this.drawFill(ctx)\n this.drawStroke(ctx)\n\n ctx.beginPath()\n ctx.translate(cx, cy)\n ctx.scale(1, ry / rx)\n\n // 시계 숫자 그리기\n if (showNumber) {\n var ang\n var num\n ctx.font = rx * 0.15 + 'px arial'\n ctx.textBaseline = 'middle'\n ctx.textAlign = 'center'\n ctx.fillStyle = fontColor\n\n for (num = 1; num < 13; num++) {\n ang = (num * Math.PI) / 6\n ctx.rotate(ang)\n ctx.translate(0, -rx * 0.85)\n ctx.rotate(-ang)\n ctx.fillText(num.toString(), 0, 0)\n ctx.rotate(ang)\n ctx.translate(0, rx * 0.85)\n ctx.rotate(-ang)\n }\n }\n\n // 시계 침 그리기\n var now = new Date()\n var hour = now.getHours()\n var minute = now.getMinutes()\n var second = now.getSeconds()\n\n // hour needle\n hour = hour % 12\n hour = (hour * Math.PI) / 6 + (minute * Math.PI) / (6 * 60) + (second * Math.PI) / (360 * 60)\n\n drawHand(ctx, hour, rx * 0.55, hourWidth || rx * 0.07, needleRound)\n\n // minute needle\n minute = (minute * Math.PI) / 30 + (second * Math.PI) / (30 * 60)\n drawHand(ctx, minute, rx * 0.8, minuteWidth || rx * 0.07, needleRound)\n\n // second needle\n if (showSecond) {\n second = (second * Math.PI) / 30\n drawHand(ctx, second, rx * 0.9, secondWidth || rx * 0.02, needleRound)\n }\n\n ctx.beginPath()\n\n // Inner Circle\n if (innerCircleSize) {\n ctx.ellipse(0, 0, innerCircleSize, innerCircleSize, 0, 0, 2 * Math.PI)\n ctx.fillStyle = innerCircleColor\n ctx.fill()\n }\n\n ctx.beginPath()\n\n ctx.scale(1, rx / ry)\n ctx.translate(-cx, -cy)\n\n var timeOut = setTimeout(() => {\n this.invalidate()\n clearTimeout(timeOut)\n }, 1000)\n }\n\n get nature() {\n return NATURE\n }\n}\n\nComponent.register('clock-analog', ClockAnalog)\n"]}
1
+ {"version":3,"file":"clock-analog.js","sourceRoot":"","sources":["../src/clock-analog.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, Ellipse, sceneComponent } from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'hour-width',\n name: 'hourWidth',\n property: 'hourWidth'\n },\n {\n type: 'number',\n label: 'minute-width',\n name: 'minuteWidth',\n property: 'minuteWidth'\n },\n {\n type: 'number',\n label: 'second-width',\n name: 'secondWidth',\n property: 'secondWidth'\n },\n {\n type: 'checkbox',\n label: 'needle-round',\n name: 'needleRound',\n property: 'needleRound'\n },\n {\n type: 'checkbox',\n label: 'show-second',\n name: 'showSecond',\n property: 'showSecond'\n },\n {\n type: 'checkbox',\n label: 'show-number',\n name: 'showNumber',\n property: 'showNumber'\n },\n {\n type: 'number',\n label: 'inner-circle-size',\n name: 'innerCircleSize',\n property: 'innerCircleSize'\n },\n {\n type: 'color',\n label: 'inner-circle-color',\n name: 'innerCircleColor',\n property: 'innerCircleColor'\n }\n ],\n help: 'scene/component/analog-clock'\n}\n\nfunction drawHand(ctx: CanvasRenderingContext2D, pos: number, length: number, rx: number, needleRound: boolean) {\n ctx.beginPath()\n ctx.lineWidth = rx\n ctx.lineCap = needleRound ? 'round' : 'square'\n ctx.moveTo(0, 0)\n ctx.rotate(pos)\n ctx.lineTo(0, -length)\n ctx.stroke()\n ctx.rotate(-pos)\n}\n\n@sceneComponent('clock-analog')\nexport default class ClockAnalog extends Ellipse {\n is3dish() {\n return false\n }\n\n render(ctx: CanvasRenderingContext2D) {\n var {\n cx,\n cy,\n rx,\n ry,\n fillStyle,\n strokeStyle,\n fontColor = '#000',\n lineWidth,\n hourWidth,\n minuteWidth,\n secondWidth,\n needleRound = false,\n showSecond = true,\n showNumber = true,\n innerCircleSize = 5,\n innerCircleColor = '#000'\n } = this.state\n\n // 시계 원 그리기.\n ctx.beginPath()\n ctx.ellipse(cx, cy, Math.abs(rx), Math.abs(ry), 0, 0, 2 * Math.PI)\n\n ctx.fillStyle = fillStyle\n\n ctx.strokeStyle = strokeStyle\n ctx.lineWidth = lineWidth || rx * 0.1\n this.drawFill(ctx)\n this.drawStroke(ctx)\n\n ctx.beginPath()\n ctx.translate(cx, cy)\n ctx.scale(1, ry / rx)\n\n // 시계 숫자 그리기\n if (showNumber) {\n var ang\n var num\n ctx.font = rx * 0.15 + 'px arial'\n ctx.textBaseline = 'middle'\n ctx.textAlign = 'center'\n ctx.fillStyle = fontColor\n\n for (num = 1; num < 13; num++) {\n ang = (num * Math.PI) / 6\n ctx.rotate(ang)\n ctx.translate(0, -rx * 0.85)\n ctx.rotate(-ang)\n ctx.fillText(num.toString(), 0, 0)\n ctx.rotate(ang)\n ctx.translate(0, rx * 0.85)\n ctx.rotate(-ang)\n }\n }\n\n // 시계 침 그리기\n var now = new Date()\n var hour = now.getHours()\n var minute = now.getMinutes()\n var second = now.getSeconds()\n\n // hour needle\n hour = hour % 12\n hour = (hour * Math.PI) / 6 + (minute * Math.PI) / (6 * 60) + (second * Math.PI) / (360 * 60)\n\n drawHand(ctx, hour, rx * 0.55, hourWidth || rx * 0.07, needleRound)\n\n // minute needle\n minute = (minute * Math.PI) / 30 + (second * Math.PI) / (30 * 60)\n drawHand(ctx, minute, rx * 0.8, minuteWidth || rx * 0.07, needleRound)\n\n // second needle\n if (showSecond) {\n second = (second * Math.PI) / 30\n drawHand(ctx, second, rx * 0.9, secondWidth || rx * 0.02, needleRound)\n }\n\n ctx.beginPath()\n\n // Inner Circle\n if (innerCircleSize) {\n ctx.ellipse(0, 0, innerCircleSize, innerCircleSize, 0, 0, 2 * Math.PI)\n ctx.fillStyle = innerCircleColor\n ctx.fill()\n }\n\n ctx.beginPath()\n\n ctx.scale(1, rx / ry)\n ctx.translate(-cx, -cy)\n\n var timeOut = setTimeout(() => {\n this.invalidate()\n clearTimeout(timeOut)\n }, 1000)\n }\n\n get nature() {\n return NATURE\n }\n}\n"]}
@@ -1,12 +1,13 @@
1
1
  /*
2
2
  * Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
+ import { __decorate } from "tslib";
4
5
  import 'dayjs/esm/locale/ko.js';
5
6
  import 'dayjs/esm/locale/zh-cn.js';
6
7
  import 'dayjs/esm/locale/ja.js';
7
8
  import dayjs from 'dayjs/esm/index.js';
8
9
  import utc from 'dayjs/esm/plugin/utc/index.js';
9
- import { Component, Text } from '@hatiolab/things-scene';
10
+ import { Text, sceneComponent } from '@hatiolab/things-scene';
10
11
  dayjs.extend(utc);
11
12
  const NATURE = {
12
13
  mutable: false,
@@ -56,7 +57,7 @@ const NATURE = {
56
57
  ],
57
58
  help: 'scene/component/clock-text'
58
59
  };
59
- export default class ClockText extends Text {
60
+ let ClockText = class ClockText extends Text {
60
61
  is3dish() {
61
62
  return false;
62
63
  }
@@ -93,6 +94,9 @@ export default class ClockText extends Text {
93
94
  super.dispose();
94
95
  this._raf !== undefined && cancelAnimationFrame(this._raf);
95
96
  }
96
- }
97
- Component.register('clock-text', ClockText);
97
+ };
98
+ ClockText = __decorate([
99
+ sceneComponent('clock-text')
100
+ ], ClockText);
101
+ export default ClockText;
98
102
  //# sourceMappingURL=clock-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clock-text.js","sourceRoot":"","sources":["../src/clock-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport 'dayjs/esm/locale/ko.js'\nimport 'dayjs/esm/locale/zh-cn.js'\nimport 'dayjs/esm/locale/ja.js'\n\nimport dayjs from 'dayjs/esm/index.js'\nimport utc from 'dayjs/esm/plugin/utc/index.js'\n\nimport { Component, ComponentNature, Text } from '@hatiolab/things-scene'\n\ndayjs.extend(utc)\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'string',\n label: 'time-format',\n name: 'timeFormat'\n },\n {\n type: 'checkbox',\n label: 'is-local-time',\n name: 'localTime'\n },\n {\n type: 'number',\n label: 'utc',\n name: 'utc'\n },\n {\n type: 'select',\n label: 'week-language',\n name: 'weekLanguage',\n property: {\n options: [\n {\n display: 'English',\n value: 'en'\n },\n {\n display: 'Korean',\n value: 'ko'\n },\n {\n display: 'Chinese',\n value: 'zh-cn'\n },\n {\n display: 'Japanese',\n value: 'ja'\n }\n ]\n }\n }\n ],\n help: 'scene/component/clock-text'\n}\n\nexport default class ClockText extends Text {\n private _raf?: number\n\n is3dish() {\n return false\n }\n\n get nature() {\n return NATURE\n }\n\n ready() {\n this.timing()\n }\n\n timing() {\n this._raf = requestAnimationFrame(() => {\n setTimeout(() => {\n this.setState('data', this._getTimeStamp())\n\n this.timing()\n }, 1000)\n })\n }\n\n _getTimeStamp() {\n var d = dayjs()\n\n var utc = this.getState('utc')\n var formatStr = this.getState('timeFormat') || 'YYYY-MM-DD HH:mm:ss'\n var week_lang = this.getState('weekLanguage')\n if (!this.getState('weekLanguage')) {\n week_lang = 'en'\n }\n if (this.getState('localTime')) {\n return d.local().locale(week_lang).format(formatStr)\n } else {\n return d.utc().utcOffset(Number(utc)).locale(week_lang).format(formatStr)\n }\n }\n\n dispose() {\n super.dispose()\n this._raf !== undefined && cancelAnimationFrame(this._raf)\n }\n}\n\nComponent.register('clock-text', ClockText)\n"]}
1
+ {"version":3,"file":"clock-text.js","sourceRoot":"","sources":["../src/clock-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport 'dayjs/esm/locale/ko.js'\nimport 'dayjs/esm/locale/zh-cn.js'\nimport 'dayjs/esm/locale/ja.js'\n\nimport dayjs from 'dayjs/esm/index.js'\nimport utc from 'dayjs/esm/plugin/utc/index.js'\n\nimport { Component, ComponentNature, Text, sceneComponent } from '@hatiolab/things-scene'\n\ndayjs.extend(utc)\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'string',\n label: 'time-format',\n name: 'timeFormat'\n },\n {\n type: 'checkbox',\n label: 'is-local-time',\n name: 'localTime'\n },\n {\n type: 'number',\n label: 'utc',\n name: 'utc'\n },\n {\n type: 'select',\n label: 'week-language',\n name: 'weekLanguage',\n property: {\n options: [\n {\n display: 'English',\n value: 'en'\n },\n {\n display: 'Korean',\n value: 'ko'\n },\n {\n display: 'Chinese',\n value: 'zh-cn'\n },\n {\n display: 'Japanese',\n value: 'ja'\n }\n ]\n }\n }\n ],\n help: 'scene/component/clock-text'\n}\n\n@sceneComponent('clock-text')\nexport default class ClockText extends Text {\n private _raf?: number\n\n is3dish() {\n return false\n }\n\n get nature() {\n return NATURE\n }\n\n ready() {\n this.timing()\n }\n\n timing() {\n this._raf = requestAnimationFrame(() => {\n setTimeout(() => {\n this.setState('data', this._getTimeStamp())\n\n this.timing()\n }, 1000)\n })\n }\n\n _getTimeStamp() {\n var d = dayjs()\n\n var utc = this.getState('utc')\n var formatStr = this.getState('timeFormat') || 'YYYY-MM-DD HH:mm:ss'\n var week_lang = this.getState('weekLanguage')\n if (!this.getState('weekLanguage')) {\n week_lang = 'en'\n }\n if (this.getState('localTime')) {\n return d.local().locale(week_lang).format(formatStr)\n } else {\n return d.utc().utcOffset(Number(utc)).locale(week_lang).format(formatStr)\n }\n }\n\n dispose() {\n super.dispose()\n this._raf !== undefined && cancelAnimationFrame(this._raf)\n }\n}\n"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@operato/scene-clock",
3
3
  "description": "Clock component for things-scene",
4
4
  "author": "heartyoh",
5
- "version": "9.0.0-beta.9",
5
+ "version": "9.0.0",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.js",
@@ -28,7 +28,7 @@
28
28
  "migration": "things-factory-migration"
29
29
  },
30
30
  "dependencies": {
31
- "@hatiolab/things-scene": "^9.0.0-beta",
31
+ "@hatiolab/things-scene": "^9.0.0",
32
32
  "dayjs": "^1.10.7"
33
33
  },
34
34
  "devDependencies": {
@@ -59,5 +59,5 @@
59
59
  "prettier --write"
60
60
  ]
61
61
  },
62
- "gitHead": "a055d01e45284ed000513e62768dcad61f926293"
62
+ "gitHead": "0c295810b93773e6373f96d69fe62e930d71c0cd"
63
63
  }