@operato/board 1.0.0-beta.7 → 1.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.
Files changed (59) hide show
  1. package/CHANGELOG.md +389 -0
  2. package/demo/index-modeller.html +1 -1
  3. package/demo/index-player.html +1 -1
  4. package/demo/index-viewer.html +1 -1
  5. package/demo/index.html +1 -1
  6. package/dist/src/data-storage/data-storage.d.ts +8 -0
  7. package/dist/src/data-storage/data-storage.js +28 -0
  8. package/dist/src/data-storage/data-storage.js.map +1 -0
  9. package/dist/src/graphql/data-subscription.d.ts +1 -3
  10. package/dist/src/index.d.ts +7 -6
  11. package/dist/src/index.js +7 -6
  12. package/dist/src/index.js.map +1 -1
  13. package/dist/src/modeller/property-sidebar/data-binding/data-binding-mapper.d.ts +1 -0
  14. package/dist/src/modeller/property-sidebar/data-binding/data-binding-mapper.js +40 -7
  15. package/dist/src/modeller/property-sidebar/data-binding/data-binding-mapper.js.map +1 -1
  16. package/dist/src/modeller/property-sidebar/data-binding/data-binding.js +7 -0
  17. package/dist/src/modeller/property-sidebar/data-binding/data-binding.js.map +1 -1
  18. package/dist/src/modeller/property-sidebar/effects/effects-shared-style.js +4 -0
  19. package/dist/src/modeller/property-sidebar/effects/effects-shared-style.js.map +1 -1
  20. package/dist/src/modeller/property-sidebar/inspector/inspector.js +6 -4
  21. package/dist/src/modeller/property-sidebar/inspector/inspector.js.map +1 -1
  22. package/dist/src/modeller/property-sidebar/property-shared-style.js +4 -0
  23. package/dist/src/modeller/property-sidebar/property-shared-style.js.map +1 -1
  24. package/dist/src/modeller/property-sidebar/property-sidebar.js +2 -0
  25. package/dist/src/modeller/property-sidebar/property-sidebar.js.map +1 -1
  26. package/dist/src/modeller/property-sidebar/specifics/specific-properties-builder.js +15 -11
  27. package/dist/src/modeller/property-sidebar/specifics/specific-properties-builder.js.map +1 -1
  28. package/dist/src/modeller/property-sidebar/styles/styles.d.ts +1 -0
  29. package/dist/src/modeller/property-sidebar/styles/styles.js +4 -3
  30. package/dist/src/modeller/property-sidebar/styles/styles.js.map +1 -1
  31. package/dist/src/modeller/scene-viewer/ox-scene-player.js +2 -2
  32. package/dist/src/modeller/scene-viewer/ox-scene-player.js.map +1 -1
  33. package/dist/src/modeller/scene-viewer/ox-scene-viewer.d.ts +1 -1
  34. package/dist/src/modeller/scene-viewer/ox-scene-viewer.js +3 -3
  35. package/dist/src/modeller/scene-viewer/ox-scene-viewer.js.map +1 -1
  36. package/dist/src/ox-board-list.js +1 -1
  37. package/dist/src/ox-board-list.js.map +1 -1
  38. package/dist/src/ox-board-viewer.d.ts +1 -0
  39. package/dist/src/ox-board-viewer.js +13 -7
  40. package/dist/src/ox-board-viewer.js.map +1 -1
  41. package/dist/src/player/ox-board-wrapper.js +2 -2
  42. package/dist/src/player/ox-board-wrapper.js.map +1 -1
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +20 -19
  45. package/src/data-storage/data-storage.ts +47 -0
  46. package/src/index.ts +7 -6
  47. package/src/modeller/property-sidebar/data-binding/data-binding-mapper.ts +44 -10
  48. package/src/modeller/property-sidebar/data-binding/data-binding.ts +10 -2
  49. package/src/modeller/property-sidebar/effects/effects-shared-style.ts +4 -0
  50. package/src/modeller/property-sidebar/inspector/inspector.ts +7 -4
  51. package/src/modeller/property-sidebar/property-shared-style.ts +4 -0
  52. package/src/modeller/property-sidebar/property-sidebar.ts +2 -0
  53. package/src/modeller/property-sidebar/specifics/specific-properties-builder.ts +17 -12
  54. package/src/modeller/property-sidebar/styles/styles.ts +5 -4
  55. package/src/modeller/scene-viewer/ox-scene-player.ts +2 -2
  56. package/src/modeller/scene-viewer/ox-scene-viewer.ts +4 -3
  57. package/src/ox-board-list.ts +1 -1
  58. package/src/ox-board-viewer.ts +13 -7
  59. package/src/player/ox-board-wrapper.ts +2 -2
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { LitElement, css, html } from 'lit';
2
+ import { css, html, LitElement } from 'lit';
3
3
  import { customElement, property, query, state } from 'lit/decorators.js';
4
4
  /**
5
5
  * @class BoardWrapper
@@ -33,7 +33,7 @@ let BoardWrapper = class BoardWrapper extends LitElement {
33
33
  _releaseRef() {
34
34
  if (this._scene) {
35
35
  this._scene.target = null;
36
- this._scene.release();
36
+ this._scene.release && this._scene.release();
37
37
  delete this._scene;
38
38
  }
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ox-board-wrapper.js","sourceRoot":"","sources":["../../../src/player/ox-board-wrapper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkB,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzE;;;;GAIG;AAEH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAuBnC,MAAM;QACJ,OAAO,IAAI,CAAA,2BAA2B,CAAA;IACxC,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAA;QAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACrC,qBAAqB,CAAC,GAAG,EAAE;gBACzB,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;oBAEpB,IAAI,IAAI,CAAC,WAAW,EAAE;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;qBAClB;iBACF;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAA;QAE5B,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,OAAO,CAAC,OAA6B;QACnC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAA;IACpD,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;YACrB,OAAO,IAAI,CAAC,MAAM,CAAA;SACnB;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAM;QAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CACxC,CAAC,KAAU,EAAE,EAAE;YACb,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAA;YAEnC;;;eAGG;YACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;aAClB;QACH,CAAC,EACD,CAAC,CAAM,EAAE,EAAE,GAAE,CAAC,CACf,CAAA;IACH,CAAC;CACF,CAAA;AAlFQ,mBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;KAWF;CACF,CAAA;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAiB;AAChB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAe;AAEjC;IAAR,KAAK,EAAE;4CAAY;AAEF;IAAjB,KAAK,CAAC,SAAS,CAAC;+CAAwB;AArBrC,YAAY;IADjB,aAAa,CAAC,kBAAkB,CAAC;GAC5B,YAAY,CAmFjB","sourcesContent":["import { LitElement, PropertyValues, css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\n/**\n * @class BoardWrapper\n *\n * @description scene provider로부터 제공받은 scene의 reference count control을 담당하며, resize 이벤트 발생시 scene의 사이즈를 fit 시키는 역할을 담당한다.\n */\n@customElement('ox-board-wrapper')\nclass BoardWrapper extends LitElement {\n static styles = [\n css`\n :host {\n position: relative;\n }\n\n #target {\n display: block;\n width: 100%;\n height: 100%;\n outline: 0;\n }\n `\n ]\n\n @property({ type: String }) sceneId!: string\n @property({ type: Object }) provider!: any\n\n @state() _scene: any\n\n @query('#target') _targetEl!: HTMLElement\n\n render() {\n return html` <div id=\"target\"></div> `\n }\n\n connectedCallback() {\n super.connectedCallback()\n\n window.addEventListener('resize', () => {\n requestAnimationFrame(() => {\n if (this._scene) {\n this._scene.resize()\n\n if (this.offsetWidth) {\n this._scene.fit()\n }\n }\n })\n })\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n\n this._releaseRef()\n }\n\n updated(changes: PropertyValues<this>) {\n changes.has('sceneId') && this._onSceneIdChanged()\n }\n\n _releaseRef() {\n if (this._scene) {\n this._scene.target = null\n this._scene.release()\n delete this._scene\n }\n }\n\n _onSceneIdChanged() {\n if (!this.provider) return\n this._releaseRef()\n\n if (!this.sceneId) return\n\n this.provider.get(this.sceneId, true).then(\n (scene: any) => {\n this._scene = scene\n this._scene.target = this._targetEl\n\n /* 이 컴포넌트의 폭이 값을 가지고 있으면 - 화면상에 자리를 잡고 보여지고 있음을 의미한다.\n * 이 때는 정상적으로 그려주고,\n * 그렇지 않으면, 다음 Resize Handling시에 처리하도록 한다.\n */\n if (this._scene.target.offsetWidth) {\n this._scene.fit()\n }\n },\n (e: any) => {}\n )\n }\n}\n"]}
1
+ {"version":3,"file":"ox-board-wrapper.js","sourceRoot":"","sources":["../../../src/player/ox-board-wrapper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzE;;;;GAIG;AAEH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAuBnC,MAAM;QACJ,OAAO,IAAI,CAAA,2BAA2B,CAAA;IACxC,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAA;QAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACrC,qBAAqB,CAAC,GAAG,EAAE;gBACzB,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;oBAEpB,IAAI,IAAI,CAAC,WAAW,EAAE;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;qBAClB;iBACF;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAA;QAE5B,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,OAAO,CAAC,OAA6B;QACnC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAA;IACpD,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;YAC5C,OAAO,IAAI,CAAC,MAAM,CAAA;SACnB;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAM;QAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CACxC,CAAC,KAAU,EAAE,EAAE;YACb,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAA;YAEnC;;;eAGG;YACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;aAClB;QACH,CAAC,EACD,CAAC,CAAM,EAAE,EAAE,GAAE,CAAC,CACf,CAAA;IACH,CAAC;CACF,CAAA;AAlFQ,mBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;KAWF;CACF,CAAA;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAiB;AAChB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAe;AAEjC;IAAR,KAAK,EAAE;4CAAY;AAEF;IAAjB,KAAK,CAAC,SAAS,CAAC;+CAAwB;AArBrC,YAAY;IADjB,aAAa,CAAC,kBAAkB,CAAC;GAC5B,YAAY,CAmFjB","sourcesContent":["import { css, html, LitElement, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\n/**\n * @class BoardWrapper\n *\n * @description scene provider로부터 제공받은 scene의 reference count control을 담당하며, resize 이벤트 발생시 scene의 사이즈를 fit 시키는 역할을 담당한다.\n */\n@customElement('ox-board-wrapper')\nclass BoardWrapper extends LitElement {\n static styles = [\n css`\n :host {\n position: relative;\n }\n\n #target {\n display: block;\n width: 100%;\n height: 100%;\n outline: 0;\n }\n `\n ]\n\n @property({ type: String }) sceneId!: string\n @property({ type: Object }) provider!: any\n\n @state() _scene: any\n\n @query('#target') _targetEl!: HTMLElement\n\n render() {\n return html` <div id=\"target\"></div> `\n }\n\n connectedCallback() {\n super.connectedCallback()\n\n window.addEventListener('resize', () => {\n requestAnimationFrame(() => {\n if (this._scene) {\n this._scene.resize()\n\n if (this.offsetWidth) {\n this._scene.fit()\n }\n }\n })\n })\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n\n this._releaseRef()\n }\n\n updated(changes: PropertyValues<this>) {\n changes.has('sceneId') && this._onSceneIdChanged()\n }\n\n _releaseRef() {\n if (this._scene) {\n this._scene.target = null\n this._scene.release && this._scene.release()\n delete this._scene\n }\n }\n\n _onSceneIdChanged() {\n if (!this.provider) return\n this._releaseRef()\n\n if (!this.sceneId) return\n\n this.provider.get(this.sceneId, true).then(\n (scene: any) => {\n this._scene = scene\n this._scene.target = this._targetEl\n\n /* 이 컴포넌트의 폭이 값을 가지고 있으면 - 화면상에 자리를 잡고 보여지고 있음을 의미한다.\n * 이 때는 정상적으로 그려주고,\n * 그렇지 않으면, 다음 Resize Handling시에 처리하도록 한다.\n */\n if (this._scene.target.offsetWidth) {\n this._scene.fit()\n }\n },\n (e: any) => {}\n )\n }\n}\n"]}