@operato/scene-grist 9.0.0-beta.1 → 9.0.0-beta.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@ import 'ses';
2
2
  import { Component, ComponentNature, Properties } from '@hatiolab/things-scene';
3
3
  import { DataGrist } from '@operato/data-grist';
4
4
  import { GristData, GristRecord } from '@operato/data-grist';
5
- import SceneGrist from './grist';
5
+ import SceneGrist from './grist.js';
6
6
  export declare enum ACTIONS {
7
7
  GET_ALL_ROWS = "getAllRows",
8
8
  COMMIT = "commit",
@@ -1 +1 @@
1
- {"version":3,"file":"grist-action.js","sourceRoot":"","sources":["../src/grist-action.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n *\n * grist 컴포넌트를 보조하여 grist의 각종 동작을 수행하는 컴포넌트.\n */\nimport 'ses'\n\nimport { Component, ComponentNature, Properties, RectPath, ValueHolder } from '@hatiolab/things-scene'\nimport { DataGrist } from '@operato/data-grist'\nimport { GristData, GristRecord, SorterConfig } from '@operato/data-grist'\n\nimport SceneGrist from './grist'\n\nexport enum ACTIONS {\n GET_ALL_ROWS = 'getAllRows',\n COMMIT = 'commit',\n GET_SELECTED = 'getSelectedRows',\n GET_DIRTY = 'getDirtyRows',\n ADD_ROW = 'addRow',\n DELETE_SELECTED_ROWS = 'deleteSelectedRowsSoftly',\n GET_PAGE_INFO = 'getPageInfo',\n GET_LIST_PARAM = 'getListParam'\n}\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n // 대상 Grist\n type: 'id-input',\n label: 'target-grist',\n name: 'target',\n property: {\n component: 'grist'\n }\n },\n {\n // 동작\n type: 'select',\n label: 'action',\n name: 'action',\n property: {\n options: [\n {\n // 페이지네이션 정보 가져오기\n display: 'Get page information',\n value: ACTIONS.GET_PAGE_INFO\n },\n {\n // 페이지네이션 정보 가져오기\n display: 'Get ListParam',\n value: ACTIONS.GET_LIST_PARAM\n },\n {\n // 모든 레코드 데이터 가져오기\n display: 'Get all rows',\n value: ACTIONS.GET_ALL_ROWS\n },\n {\n // 체크된 레코드 데이터 가져오기\n display: 'Get selected rows',\n value: ACTIONS.GET_SELECTED\n },\n {\n // 변경 사항이 있는 데이터 가져오기\n display: 'Get dirty rows',\n value: ACTIONS.GET_DIRTY\n },\n {\n // 행 추가\n display: 'Add a row',\n value: ACTIONS.ADD_ROW\n },\n {\n // 선택 행 삭제\n display: 'Delete selected rows',\n value: ACTIONS.DELETE_SELECTED_ROWS\n },\n {\n // 변경 사항을 데이터에 적용\n display: 'Commit',\n value: ACTIONS.COMMIT\n }\n ]\n }\n },\n {\n // 뷰어 시작 시 자동 실행 여부\n type: 'checkbox',\n label: 'run-at-startup',\n name: 'runAtStartup'\n },\n {\n // 행 추가 시의 포맷\n type: 'textarea',\n label: 'record-adder-format',\n name: 'recordFormat'\n }\n ],\n help: 'scene/component/grist-action'\n}\n\nexport default class GristAction extends ValueHolder(RectPath(Component)) {\n private _data: any\n\n get nature() {\n return NATURE\n }\n\n ready() {\n // 뷰어 시작시에도 action 값이 getPageInfo로 되어 있을 경우 fetchHandler를 등록하기 위해 onchange를 호출함\n this.onchange({ action: this.state.action })\n if (this.state.runAtStartup) {\n setTimeout(() => this.doAction(), 100)\n }\n }\n\n dispose() {\n super.dispose()\n }\n\n onclick() {\n // 컴포넌트 클릭 시 동작\n this.doAction()\n }\n\n onchange(after: Properties) {\n // value 값이 바뀌면 동작\n if ('value' in after) {\n this.doAction()\n }\n\n // action 값이 바뀌면 getPageInfo인지 확인하고 grist에 fetchHandler를 등록하거나 폐기함\n if ('action' in after) {\n const gristComponent = this.targetGristComponent\n const { refid } = this.state\n\n if (gristComponent) {\n if (after.action == ACTIONS.GET_PAGE_INFO) {\n gristComponent.beforeFetchFuncs[refid] = (fetchedData: {\n page: number\n limit: number\n total: number\n records: GristRecord[]\n }) => {\n this.data = this.getPageInfoFrom(null, fetchedData)\n this.doDataMap()\n }\n } else if (after.action == ACTIONS.GET_LIST_PARAM) {\n gristComponent.beforeFetchFuncs[refid] = (fetchedData: {\n page: number\n limit: number\n total: number\n records: GristRecord[]\n }) => {\n this.data = this.getListParamFrom(null, fetchedData)\n this.doDataMap()\n }\n } else {\n delete gristComponent.beforeFetchFuncs[refid]\n }\n }\n }\n }\n\n // 데이터 매핑을 수동으로 실행하기 위해 기존의 메소드를 무효화\n executeMappings() {\n console.debug(\n \"[@operato/data-grist] The method 'executeMappings' is overriden in the component 'grist-action', because of to prevent executing when initialize.\"\n )\n }\n\n // 데이터 매핑을 수동으로 조작하기 위한 새 메소드\n doDataMap() {\n super.executeMappings()\n }\n\n // action 값에 따라 동작\n doAction(action?: ACTIONS) {\n if (!this.app.isViewMode) {\n return\n }\n\n // 파라미터가 명시되어있지 않으면 컴포넌트 속성에서 action 값을 가져옴\n var { action: storedAction } = this.state\n action = action || storedAction\n\n // 대상 Grist 컴포넌트\n var grist = this.targetGristElement\n if (!grist) return\n\n var data\n switch (action) {\n case ACTIONS.GET_ALL_ROWS:\n data = grist.grist.data\n break\n case ACTIONS.COMMIT:\n grist.commit()\n break\n case ACTIONS.GET_SELECTED:\n data = {\n patches: this.buildPatches(grist.selected),\n original: grist.selected\n }\n break\n case ACTIONS.GET_DIRTY:\n data = this.assortDirties(grist)\n break\n case ACTIONS.ADD_ROW:\n {\n var records = grist.dirtyData.records || []\n const c = new Compartment()\n\n let recordFormat\n try {\n recordFormat = c.evaluate(`(${this.state.recordFormat})`)\n } catch (e) {\n console.log('Invalid JSON format. It will be assumed as empty object.\\n', e)\n recordFormat = {}\n }\n records.push({ ...recordFormat, __dirty__: '+' })\n this.refreshGrist(grist)\n }\n break\n case ACTIONS.DELETE_SELECTED_ROWS:\n {\n var records = grist.dirtyData.records || []\n\n records.forEach((record, idx) => {\n if (record['__selected__']) {\n if (record['__dirty__'] == '+') delete records[idx]\n else record['__dirty__'] = '-'\n }\n })\n grist.dirtyData.records = records.flat()\n this.refreshGrist(grist)\n }\n break\n case ACTIONS.GET_PAGE_INFO:\n data = this.getPageInfoFrom(grist)\n break\n case ACTIONS.GET_LIST_PARAM:\n data = this.getListParamFrom(grist)\n break\n }\n\n // 이 컴포넌트의 data 값이 바뀌는 동작은 데이터 매핑까지 실행함\n if (data) {\n this.data = data\n this.doDataMap()\n }\n }\n\n // 대상 grist 컴포넌트의 레코드를 새로고침\n refreshGrist(grist: DataGrist) {\n grist = grist || this.targetGristElement\n if (!grist) return\n\n grist.refresh()\n // grist.dataProvider.onRecordChange()\n grist.grist.data = { ...grist.dirtyData }\n }\n\n // 변경 사항이 있는 레코드의 경우, CUD를 분류해서 반환함\n assortDirties(grist: DataGrist) {\n const dirties = grist.dirtyRecords\n var patches = this.buildPatches(dirties)\n var records = {\n original: dirties,\n patches,\n created: [] as GristRecord[],\n updated: [] as GristRecord[],\n deleted: [] as GristRecord[]\n }\n\n patches.forEach((record: GristRecord) => {\n switch (record['cuFlag']) {\n case 'M':\n records.updated.push(record)\n break\n case '+':\n records.created.push(record)\n break\n case '-':\n records.deleted.push(record)\n break\n }\n })\n return records\n }\n\n // 페이지네이션 정보를 가져옴\n getPageInfoFrom(grist: DataGrist | null, fetchedData?: GristData) {\n // @ts-ignore\n var { page = 1, limit = 20, sorters = [] } = fetchedData || (grist && grist.dataProvider) || pagination(grist!)\n\n sorters = sorters.map((sorter: SorterConfig) => {\n sorter.desc = sorter.desc ? true : false\n return sorter\n })\n return { page, limit, sorters }\n\n function pagination(grist: DataGrist) {\n var config = grist && grist.config && grist.config.pagination\n if (config)\n return {\n page: config.page,\n limit: config.limit || (config.pages && config.pages[0])\n }\n else return {}\n }\n }\n\n // Grist로부터 ListParam 정보를 가져옴\n getListParamFrom(grist: DataGrist | null, fetchedData?: GristData) {\n var {\n page = 1,\n limit = 20,\n sorters,\n sortings,\n filters = [],\n inherited,\n options\n // @ts-ignore\n } = fetchedData || (grist && grist.dataProvider) || pagination(grist!)\n\n return {\n pagination: { page, limit },\n sortings: sorters || sortings,\n filters,\n inherited,\n options\n }\n\n function pagination(grist: DataGrist) {\n var config = grist && grist.config && grist.config.pagination\n if (config)\n return {\n page: config.page,\n limit: config.limit || (config.pages && config.pages[0])\n }\n else return {}\n }\n }\n\n // 레코드들을 서버 공통 resolver에 맞는 포맷으로 만듦\n buildPatches(patches: GristRecord[]): GristRecord[] {\n return patches.map(patch => {\n let patchField: { [key: string]: any } = patch.id ? { id: patch.id } : {}\n const dirtyFields = patch.__dirtyfields__\n\n for (let key in dirtyFields) {\n patchField[key] = dirtyFields[key].after\n }\n patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n }\n\n render(context: CanvasRenderingContext2D) {\n var { top, left, height, width, fillStyle = 'transparent' } = this.state\n\n // background의 색상\n context.beginPath()\n context.rect(left, top, width, height)\n\n context.fillStyle = fillStyle\n context.fill()\n\n // value의 색상\n context.beginPath()\n\n var drawValue = width - (width * Math.max(Math.min(this.animValue, 100), 0)) / 100\n drawValue = Math.max(Math.min(drawValue, width), 0)\n\n context.rect(left + drawValue, top, width - drawValue, height)\n\n this.drawFill(context)\n\n context.closePath()\n\n context.beginPath()\n\n context.rect(left, top, width, height)\n }\n\n postrender(context: CanvasRenderingContext2D) {\n this.drawStroke(context)\n this.drawText(context)\n }\n\n get controls() {\n return []\n }\n\n get targetGristComponent(): SceneGrist {\n var { target } = this.state\n return target && (this.root.findById(target) as SceneGrist)\n }\n\n get targetGristElement(): DataGrist | undefined {\n return this.targetGristComponent?.grist\n }\n\n get data() {\n return this._data\n }\n\n set data(data) {\n this._data = data\n }\n}\n\nComponent.register('grist-action', GristAction)\n"]}
1
+ {"version":3,"file":"grist-action.js","sourceRoot":"","sources":["../src/grist-action.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n *\n * grist 컴포넌트를 보조하여 grist의 각종 동작을 수행하는 컴포넌트.\n */\nimport 'ses'\n\nimport { Component, ComponentNature, Properties, RectPath, ValueHolder } from '@hatiolab/things-scene'\nimport { DataGrist } from '@operato/data-grist'\nimport { GristData, GristRecord, SorterConfig } from '@operato/data-grist'\n\nimport SceneGrist from './grist.js'\n\nexport enum ACTIONS {\n GET_ALL_ROWS = 'getAllRows',\n COMMIT = 'commit',\n GET_SELECTED = 'getSelectedRows',\n GET_DIRTY = 'getDirtyRows',\n ADD_ROW = 'addRow',\n DELETE_SELECTED_ROWS = 'deleteSelectedRowsSoftly',\n GET_PAGE_INFO = 'getPageInfo',\n GET_LIST_PARAM = 'getListParam'\n}\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n // 대상 Grist\n type: 'id-input',\n label: 'target-grist',\n name: 'target',\n property: {\n component: 'grist'\n }\n },\n {\n // 동작\n type: 'select',\n label: 'action',\n name: 'action',\n property: {\n options: [\n {\n // 페이지네이션 정보 가져오기\n display: 'Get page information',\n value: ACTIONS.GET_PAGE_INFO\n },\n {\n // 페이지네이션 정보 가져오기\n display: 'Get ListParam',\n value: ACTIONS.GET_LIST_PARAM\n },\n {\n // 모든 레코드 데이터 가져오기\n display: 'Get all rows',\n value: ACTIONS.GET_ALL_ROWS\n },\n {\n // 체크된 레코드 데이터 가져오기\n display: 'Get selected rows',\n value: ACTIONS.GET_SELECTED\n },\n {\n // 변경 사항이 있는 데이터 가져오기\n display: 'Get dirty rows',\n value: ACTIONS.GET_DIRTY\n },\n {\n // 행 추가\n display: 'Add a row',\n value: ACTIONS.ADD_ROW\n },\n {\n // 선택 행 삭제\n display: 'Delete selected rows',\n value: ACTIONS.DELETE_SELECTED_ROWS\n },\n {\n // 변경 사항을 데이터에 적용\n display: 'Commit',\n value: ACTIONS.COMMIT\n }\n ]\n }\n },\n {\n // 뷰어 시작 시 자동 실행 여부\n type: 'checkbox',\n label: 'run-at-startup',\n name: 'runAtStartup'\n },\n {\n // 행 추가 시의 포맷\n type: 'textarea',\n label: 'record-adder-format',\n name: 'recordFormat'\n }\n ],\n help: 'scene/component/grist-action'\n}\n\nexport default class GristAction extends ValueHolder(RectPath(Component)) {\n private _data: any\n\n get nature() {\n return NATURE\n }\n\n ready() {\n // 뷰어 시작시에도 action 값이 getPageInfo로 되어 있을 경우 fetchHandler를 등록하기 위해 onchange를 호출함\n this.onchange({ action: this.state.action })\n if (this.state.runAtStartup) {\n setTimeout(() => this.doAction(), 100)\n }\n }\n\n dispose() {\n super.dispose()\n }\n\n onclick() {\n // 컴포넌트 클릭 시 동작\n this.doAction()\n }\n\n onchange(after: Properties) {\n // value 값이 바뀌면 동작\n if ('value' in after) {\n this.doAction()\n }\n\n // action 값이 바뀌면 getPageInfo인지 확인하고 grist에 fetchHandler를 등록하거나 폐기함\n if ('action' in after) {\n const gristComponent = this.targetGristComponent\n const { refid } = this.state\n\n if (gristComponent) {\n if (after.action == ACTIONS.GET_PAGE_INFO) {\n gristComponent.beforeFetchFuncs[refid] = (fetchedData: {\n page: number\n limit: number\n total: number\n records: GristRecord[]\n }) => {\n this.data = this.getPageInfoFrom(null, fetchedData)\n this.doDataMap()\n }\n } else if (after.action == ACTIONS.GET_LIST_PARAM) {\n gristComponent.beforeFetchFuncs[refid] = (fetchedData: {\n page: number\n limit: number\n total: number\n records: GristRecord[]\n }) => {\n this.data = this.getListParamFrom(null, fetchedData)\n this.doDataMap()\n }\n } else {\n delete gristComponent.beforeFetchFuncs[refid]\n }\n }\n }\n }\n\n // 데이터 매핑을 수동으로 실행하기 위해 기존의 메소드를 무효화\n executeMappings() {\n console.debug(\n \"[@operato/data-grist] The method 'executeMappings' is overriden in the component 'grist-action', because of to prevent executing when initialize.\"\n )\n }\n\n // 데이터 매핑을 수동으로 조작하기 위한 새 메소드\n doDataMap() {\n super.executeMappings()\n }\n\n // action 값에 따라 동작\n doAction(action?: ACTIONS) {\n if (!this.app.isViewMode) {\n return\n }\n\n // 파라미터가 명시되어있지 않으면 컴포넌트 속성에서 action 값을 가져옴\n var { action: storedAction } = this.state\n action = action || storedAction\n\n // 대상 Grist 컴포넌트\n var grist = this.targetGristElement\n if (!grist) return\n\n var data\n switch (action) {\n case ACTIONS.GET_ALL_ROWS:\n data = grist.grist.data\n break\n case ACTIONS.COMMIT:\n grist.commit()\n break\n case ACTIONS.GET_SELECTED:\n data = {\n patches: this.buildPatches(grist.selected),\n original: grist.selected\n }\n break\n case ACTIONS.GET_DIRTY:\n data = this.assortDirties(grist)\n break\n case ACTIONS.ADD_ROW:\n {\n var records = grist.dirtyData.records || []\n const c = new Compartment()\n\n let recordFormat\n try {\n recordFormat = c.evaluate(`(${this.state.recordFormat})`)\n } catch (e) {\n console.log('Invalid JSON format. It will be assumed as empty object.\\n', e)\n recordFormat = {}\n }\n records.push({ ...recordFormat, __dirty__: '+' })\n this.refreshGrist(grist)\n }\n break\n case ACTIONS.DELETE_SELECTED_ROWS:\n {\n var records = grist.dirtyData.records || []\n\n records.forEach((record, idx) => {\n if (record['__selected__']) {\n if (record['__dirty__'] == '+') delete records[idx]\n else record['__dirty__'] = '-'\n }\n })\n grist.dirtyData.records = records.flat()\n this.refreshGrist(grist)\n }\n break\n case ACTIONS.GET_PAGE_INFO:\n data = this.getPageInfoFrom(grist)\n break\n case ACTIONS.GET_LIST_PARAM:\n data = this.getListParamFrom(grist)\n break\n }\n\n // 이 컴포넌트의 data 값이 바뀌는 동작은 데이터 매핑까지 실행함\n if (data) {\n this.data = data\n this.doDataMap()\n }\n }\n\n // 대상 grist 컴포넌트의 레코드를 새로고침\n refreshGrist(grist: DataGrist) {\n grist = grist || this.targetGristElement\n if (!grist) return\n\n grist.refresh()\n // grist.dataProvider.onRecordChange()\n grist.grist.data = { ...grist.dirtyData }\n }\n\n // 변경 사항이 있는 레코드의 경우, CUD를 분류해서 반환함\n assortDirties(grist: DataGrist) {\n const dirties = grist.dirtyRecords\n var patches = this.buildPatches(dirties)\n var records = {\n original: dirties,\n patches,\n created: [] as GristRecord[],\n updated: [] as GristRecord[],\n deleted: [] as GristRecord[]\n }\n\n patches.forEach((record: GristRecord) => {\n switch (record['cuFlag']) {\n case 'M':\n records.updated.push(record)\n break\n case '+':\n records.created.push(record)\n break\n case '-':\n records.deleted.push(record)\n break\n }\n })\n return records\n }\n\n // 페이지네이션 정보를 가져옴\n getPageInfoFrom(grist: DataGrist | null, fetchedData?: GristData) {\n // @ts-ignore\n var { page = 1, limit = 20, sorters = [] } = fetchedData || (grist && grist.dataProvider) || pagination(grist!)\n\n sorters = sorters.map((sorter: SorterConfig) => {\n sorter.desc = sorter.desc ? true : false\n return sorter\n })\n return { page, limit, sorters }\n\n function pagination(grist: DataGrist) {\n var config = grist && grist.config && grist.config.pagination\n if (config)\n return {\n page: config.page,\n limit: config.limit || (config.pages && config.pages[0])\n }\n else return {}\n }\n }\n\n // Grist로부터 ListParam 정보를 가져옴\n getListParamFrom(grist: DataGrist | null, fetchedData?: GristData) {\n var {\n page = 1,\n limit = 20,\n sorters,\n sortings,\n filters = [],\n inherited,\n options\n // @ts-ignore\n } = fetchedData || (grist && grist.dataProvider) || pagination(grist!)\n\n return {\n pagination: { page, limit },\n sortings: sorters || sortings,\n filters,\n inherited,\n options\n }\n\n function pagination(grist: DataGrist) {\n var config = grist && grist.config && grist.config.pagination\n if (config)\n return {\n page: config.page,\n limit: config.limit || (config.pages && config.pages[0])\n }\n else return {}\n }\n }\n\n // 레코드들을 서버 공통 resolver에 맞는 포맷으로 만듦\n buildPatches(patches: GristRecord[]): GristRecord[] {\n return patches.map(patch => {\n let patchField: { [key: string]: any } = patch.id ? { id: patch.id } : {}\n const dirtyFields = patch.__dirtyfields__\n\n for (let key in dirtyFields) {\n patchField[key] = dirtyFields[key].after\n }\n patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n }\n\n render(context: CanvasRenderingContext2D) {\n var { top, left, height, width, fillStyle = 'transparent' } = this.state\n\n // background의 색상\n context.beginPath()\n context.rect(left, top, width, height)\n\n context.fillStyle = fillStyle\n context.fill()\n\n // value의 색상\n context.beginPath()\n\n var drawValue = width - (width * Math.max(Math.min(this.animValue, 100), 0)) / 100\n drawValue = Math.max(Math.min(drawValue, width), 0)\n\n context.rect(left + drawValue, top, width - drawValue, height)\n\n this.drawFill(context)\n\n context.closePath()\n\n context.beginPath()\n\n context.rect(left, top, width, height)\n }\n\n postrender(context: CanvasRenderingContext2D) {\n this.drawStroke(context)\n this.drawText(context)\n }\n\n get controls() {\n return []\n }\n\n get targetGristComponent(): SceneGrist {\n var { target } = this.state\n return target && (this.root.findById(target) as SceneGrist)\n }\n\n get targetGristElement(): DataGrist | undefined {\n return this.targetGristComponent?.grist\n }\n\n get data() {\n return this._data\n }\n\n set data(data) {\n this._data = data\n }\n}\n\nComponent.register('grist-action', GristAction)\n"]}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import Grist from './grist';
2
- import GristAction from './grist-action';
1
+ import Grist from './grist.js';
2
+ import GristAction from './grist-action.js';
3
3
  declare const _default: (typeof Grist | typeof GristAction)[];
4
4
  export default _default;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import Grist from './grist';
2
- import GristAction from './grist-action';
1
+ import Grist from './grist.js';
2
+ import GristAction from './grist-action.js';
3
3
  export default [Grist, GristAction];
4
4
  //# sourceMappingURL=index.js.map
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,SAAS,CAAA;AAC3B,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA","sourcesContent":["import Grist from './grist'\nimport GristAction from './grist-action'\n\nexport default [Grist, GristAction]\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAE3C,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA","sourcesContent":["import Grist from './grist.js'\nimport GristAction from './grist-action.js'\n\nexport default [Grist, GristAction]\n"]}
@@ -1,4 +1,4 @@
1
- import { ACTIONS } from '../grist-action';
1
+ import { ACTIONS } from '../grist-action.js';
2
2
  declare const _default: {
3
3
  type: string;
4
4
  description: string;
@@ -1,4 +1,4 @@
1
- import { ACTIONS } from '../grist-action';
1
+ import { ACTIONS } from '../grist-action.js';
2
2
  const icon = new URL('../../icons/grist-action.png', import.meta.url).href;
3
3
  export default {
4
4
  type: 'grist-action',
@@ -1 +1 @@
1
- {"version":3,"file":"grist-action.js","sourceRoot":"","sources":["../../src/templates/grist-action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAE1E,eAAe;IACb,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,KAAK,EAAE,OAAO;IACd,gGAAgG;IAChG,IAAI;IACJ,KAAK,EAAE;QACL,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,OAAO,CAAC,YAAY;KAC7B;CACF,CAAA","sourcesContent":["import { ACTIONS } from '../grist-action'\n\nconst icon = new URL('../../icons/grist-action.png', import.meta.url).href\n\nexport default {\n type: 'grist-action',\n description: 'grist-action',\n group: 'table',\n /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */\n icon,\n model: {\n type: 'grist-action',\n left: 10,\n top: 10,\n width: 100,\n height: 100,\n strokeStyle: 'darkgray',\n action: ACTIONS.GET_SELECTED\n }\n}\n"]}
1
+ {"version":3,"file":"grist-action.js","sourceRoot":"","sources":["../../src/templates/grist-action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAE1E,eAAe;IACb,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,KAAK,EAAE,OAAO;IACd,gGAAgG;IAChG,IAAI;IACJ,KAAK,EAAE;QACL,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,OAAO,CAAC,YAAY;KAC7B;CACF,CAAA","sourcesContent":["import { ACTIONS } from '../grist-action.js'\n\nconst icon = new URL('../../icons/grist-action.png', import.meta.url).href\n\nexport default {\n type: 'grist-action',\n description: 'grist-action',\n group: 'table',\n /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */\n icon,\n model: {\n type: 'grist-action',\n left: 10,\n top: 10,\n width: 100,\n height: 100,\n strokeStyle: 'darkgray',\n action: ACTIONS.GET_SELECTED\n }\n}\n"]}
@@ -24,7 +24,7 @@ declare const _default: ({
24
24
  width: number;
25
25
  height: number;
26
26
  strokeStyle: string;
27
- action: import("../grist-action").ACTIONS;
27
+ action: import("../grist-action.js").ACTIONS;
28
28
  };
29
29
  })[];
30
30
  export default _default;
@@ -1,4 +1,4 @@
1
- import grist from './grist';
2
- import gristAction from './grist-action';
1
+ import grist from './grist.js';
2
+ import gristAction from './grist-action.js';
3
3
  export default [grist, gristAction];
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA","sourcesContent":["import grist from './grist'\nimport gristAction from './grist-action'\n\nexport default [grist, gristAction]\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAE3C,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA","sourcesContent":["import grist from './grist.js'\nimport gristAction from './grist-action.js'\n\nexport default [grist, gristAction]\n"]}
package/package.json CHANGED
@@ -2,7 +2,8 @@
2
2
  "name": "@operato/scene-grist",
3
3
  "description": "Grist UI component for things-scene",
4
4
  "author": "heartyoh",
5
- "version": "9.0.0-beta.1",
5
+ "version": "9.0.0-beta.2",
6
+ "type": "module",
6
7
  "main": "dist/index.js",
7
8
  "module": "dist/index.js",
8
9
  "license": "MIT",
@@ -61,5 +62,5 @@
61
62
  "prettier --write"
62
63
  ]
63
64
  },
64
- "gitHead": "6c745ed97d64cb720df566cba0f809f2041b09e8"
65
+ "gitHead": "69866123dfa29ef31089a5862be17832449fae1f"
65
66
  }