@operato/scene-clone 9.0.0-beta.7 → 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.
package/dist/clone.js CHANGED
@@ -1,4 +1,5 @@
1
- import { Component, Model, RectPath, Shape } from '@hatiolab/things-scene';
1
+ import { __decorate } from "tslib";
2
+ import { Model, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene';
2
3
  const NATURE = {
3
4
  mutable: false,
4
5
  resizable: true,
@@ -54,7 +55,7 @@ function clone(cloner, target, targetRetention) {
54
55
  targetComponent.parent.insertComponentAt(component, index + 1);
55
56
  return component;
56
57
  }
57
- export default class Clone extends RectPath(Shape) {
58
+ let Clone = class Clone extends RectPath(Shape) {
58
59
  constructor() {
59
60
  super(...arguments);
60
61
  this._started = false;
@@ -119,6 +120,9 @@ export default class Clone extends RectPath(Shape) {
119
120
  }
120
121
  }
121
122
  }
122
- }
123
- Component.register('clone', Clone);
123
+ };
124
+ Clone = __decorate([
125
+ sceneComponent('clone')
126
+ ], Clone);
127
+ export default Clone;
124
128
  //# sourceMappingURL=clone.js.map
package/dist/clone.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA8B,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEtG,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE;QACV;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,eAAe;SAC7B;QACD;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;SACnB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,WAAW;SACtB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,iBAAiB;YAC3B,WAAW,EAAE,eAAe;SAC7B;KACF;IACD,gBAAgB,EAAE,SAAS;IAC3B,IAAI,EAAE,uBAAuB;CAC9B,CAAA;AAED,SAAS,KAAK,CAAC,MAAiB,EAAE,MAAc,EAAE,eAAuB;IACvE,IAAI,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAClD,IAAI,CAAC,eAAe;QAAE,OAAM;IAE5B,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE;QACnD,cAAc,EAAE,EAAE;QAClB,EAAE,EAAE,EAAE;KACP,CAAC,CAAA;IAEF,IAAI,eAAe;QAAE,KAAK,CAAC,SAAS,GAAG,eAAe,CAAA;IAEtD,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IAChD,IAAI,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAC3D,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IAE9D,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,QAAQ,CAAC,KAAK,CAAC;IAAlD;;QACU,aAAQ,GAAY,KAAK,CAAA;IA2EnC,CAAC;IAxEC,KAAK,CAAC,MAAiB;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrD,CAAC,EAAE,GAAG,CAAC,CAAA;IACT,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,KAAK,CAAC,OAAO,EAAE,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,GAA6B;QAClC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE9C,GAAG,CAAC,SAAS,EAAE,CAAA;QAEf,GAAG,CAAC,SAAS,GAAG,OAAO,CAAA;QACvB,GAAG,CAAC,WAAW,GAAG,OAAO,CAAA;QAEzB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,CAAA;QAC9C,GAAG,CAAC,IAAI,EAAE,CAAA;QACV,GAAG,CAAC,MAAM,EAAE,CAAA;QAEZ,GAAG,CAAC,SAAS,EAAE,CAAA;QAEf,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,CAAA;IAC7E,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,OAAO,CAAC,OAAO;;QACjB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;YAAE,OAAM;QAEvC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAA;QAEzB,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,UAAU,CAAA;YAAE,OAAM;QAEjC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;YAE9D,IAAI,CAAC,MAAM;gBAAE,OAAM;YAEnB,IAAI,QAAQ,GAAG,GAAG;gBAAE,QAAQ,GAAG,GAAG,CAAA;YAElC,IAAI,IAAI,GAAG,IAAI,CAAA;YAEf,SAAS,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;oBACrB,OAAM;gBACR,CAAC;gBAED,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,qBAAqB,CAAC,CAAC,CAAC,CAAA;gBAC1B,CAAC,EAAE,QAAQ,CAAC,CAAA;YACd,CAAC;YAED,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC3B,OAAO,IAAI,CAAC,QAAQ,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA","sourcesContent":["import { Component, ComponentNature, Container, Model, RectPath, Shape } 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: 'duration',\n name: 'duration',\n property: 'duration',\n placeholder: 'milli-seconds'\n },\n {\n type: 'id-input',\n label: 'target',\n name: 'target'\n },\n {\n type: 'checkbox',\n label: 'repeat',\n name: 'repeat',\n property: 'repeat'\n },\n {\n type: 'checkbox',\n label: 'autostart',\n name: 'autostart',\n property: 'autostart'\n },\n {\n type: 'number',\n label: 'targetRetention',\n name: 'targetRetention',\n property: 'targetRetention',\n placeholder: 'milli-seconds'\n }\n ],\n 'value-property': 'started',\n help: 'scene/component/clone'\n}\n\nfunction clone(cloner: Component, target: string, targetRetention: number) {\n var targetComponent = cloner.root.findById(target)\n if (!targetComponent) return\n\n var clone = Object.assign(targetComponent.hierarchy, {\n templatePrefix: '',\n id: ''\n })\n\n if (targetRetention) clone.retention = targetRetention\n\n var component = Model.compile(clone, cloner.app)\n var index = targetComponent.parent.indexOf(targetComponent)\n targetComponent.parent.insertComponentAt(component, index + 1)\n\n return component\n}\n\nexport default class Clone extends RectPath(Shape) {\n private _started: boolean = false\n private _timeout?: number\n\n added(parent: Container) {\n this.started = false\n setTimeout(() => {\n if (this.getState('autostart')) this.started = true\n }, 500)\n }\n\n dispose() {\n this.started = false\n super.dispose()\n }\n\n render(ctx: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n ctx.beginPath()\n\n ctx.fillStyle = 'black'\n ctx.strokeStyle = 'black'\n\n ctx.rect(left, top, width * 0.8, height * 0.8)\n ctx.fill()\n ctx.stroke()\n\n ctx.beginPath()\n\n ctx.rect(left + width * 0.2, top + height * 0.2, width * 0.8, height * 0.8)\n }\n\n get nature() {\n return NATURE\n }\n\n get started() {\n return this._started\n }\n\n set started(started) {\n if (!!this.started == !!started) return\n\n this._started = !!started\n\n if (!this.app?.isViewMode) return\n\n if (this._started) {\n var { repeat, duration, target, targetRetention } = this.state\n\n if (!target) return\n\n if (duration < 500) duration = 500\n\n let self = this\n\n function _() {\n if (!self._started || !clone(self, target, targetRetention) || !duration || !repeat) {\n self._started = false\n return\n }\n\n self._timeout = setTimeout(() => {\n requestAnimationFrame(_)\n }, duration)\n }\n\n requestAnimationFrame(_)\n } else {\n if (this._timeout) {\n clearTimeout(this._timeout)\n delete this._timeout\n }\n }\n }\n}\n\nComponent.register('clone', Clone)\n"]}
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentNature, Container, Model, RectPath, Shape, 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: 'duration',\n name: 'duration',\n property: 'duration',\n placeholder: 'milli-seconds'\n },\n {\n type: 'id-input',\n label: 'target',\n name: 'target'\n },\n {\n type: 'checkbox',\n label: 'repeat',\n name: 'repeat',\n property: 'repeat'\n },\n {\n type: 'checkbox',\n label: 'autostart',\n name: 'autostart',\n property: 'autostart'\n },\n {\n type: 'number',\n label: 'targetRetention',\n name: 'targetRetention',\n property: 'targetRetention',\n placeholder: 'milli-seconds'\n }\n ],\n 'value-property': 'started',\n help: 'scene/component/clone'\n}\n\nfunction clone(cloner: Component, target: string, targetRetention: number) {\n var targetComponent = cloner.root.findById(target)\n if (!targetComponent) return\n\n var clone = Object.assign(targetComponent.hierarchy, {\n templatePrefix: '',\n id: ''\n })\n\n if (targetRetention) clone.retention = targetRetention\n\n var component = Model.compile(clone, cloner.app)\n var index = targetComponent.parent.indexOf(targetComponent)\n targetComponent.parent.insertComponentAt(component, index + 1)\n\n return component\n}\n\n@sceneComponent('clone')\nexport default class Clone extends RectPath(Shape) {\n private _started: boolean = false\n private _timeout?: number\n\n added(parent: Container) {\n this.started = false\n setTimeout(() => {\n if (this.getState('autostart')) this.started = true\n }, 500)\n }\n\n dispose() {\n this.started = false\n super.dispose()\n }\n\n render(ctx: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n ctx.beginPath()\n\n ctx.fillStyle = 'black'\n ctx.strokeStyle = 'black'\n\n ctx.rect(left, top, width * 0.8, height * 0.8)\n ctx.fill()\n ctx.stroke()\n\n ctx.beginPath()\n\n ctx.rect(left + width * 0.2, top + height * 0.2, width * 0.8, height * 0.8)\n }\n\n get nature() {\n return NATURE\n }\n\n get started() {\n return this._started\n }\n\n set started(started) {\n if (!!this.started == !!started) return\n\n this._started = !!started\n\n if (!this.app?.isViewMode) return\n\n if (this._started) {\n var { repeat, duration, target, targetRetention } = this.state\n\n if (!target) return\n\n if (duration < 500) duration = 500\n\n let self = this\n\n function _() {\n if (!self._started || !clone(self, target, targetRetention) || !duration || !repeat) {\n self._started = false\n return\n }\n\n self._timeout = setTimeout(() => {\n requestAnimationFrame(_)\n }, duration)\n }\n\n requestAnimationFrame(_)\n } else {\n if (this._timeout) {\n clearTimeout(this._timeout)\n delete this._timeout\n }\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@operato/scene-clone",
3
3
  "description": "Thing Scene component instance auto cloner.",
4
4
  "author": "heartyoh",
5
- "version": "9.0.0-beta.7",
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
  },
33
33
  "devDependencies": {
34
34
  "@hatiolab/prettier-config": "^1.0.0",
@@ -58,5 +58,5 @@
58
58
  "prettier --write"
59
59
  ]
60
60
  },
61
- "gitHead": "97e5af48dff339375c9fb2668741276409321b0b"
61
+ "gitHead": "0c295810b93773e6373f96d69fe62e930d71c0cd"
62
62
  }