@operato/scene-graphql 9.0.0-beta.15 → 9.0.0-beta.16

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.
@@ -170,8 +170,7 @@ let GraphQLQuery = class GraphQLQuery extends DataSource(RectPath(Shape)) {
170
170
  }
171
171
  };
172
172
  GraphQLQuery = __decorate([
173
- sceneComponent('graphql-query'),
174
- sceneComponent('graphql-mutation')
173
+ sceneComponent('graphql-query')
175
174
  ], GraphQLQuery);
176
175
  export class Query extends GraphQLQuery {
177
176
  static get image() {
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-query-and-mutation.js","sourceRoot":"","sources":["../src/graphql-query-and-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import 'ses'\nimport gql from 'graphql-tag'\n\nimport { ApolloClient, NormalizedCacheObject } from '@apollo/client/core/index.js'\nimport {\n Component,\n ComponentNature,\n DataSource,\n Properties,\n RectPath,\n Shape,\n sceneComponent\n} from '@hatiolab/things-scene'\nimport { buildArgs, client as localClient } from '@operato/graphql'\n\nimport GraphqlClient from './graphql-client.js'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'id-input',\n label: 'client',\n name: 'client',\n placeholder: 'leave blank to use origin server',\n property: {\n component: 'graphql-client' // component의 type (null or undefined이면 모든 컴포넌트)\n }\n },\n {\n type: 'number',\n label: 'period',\n name: 'period',\n placeholder: 'SECONDS'\n },\n {\n type: 'graphql',\n label: 'query',\n name: 'query'\n },\n {\n type: 'checkbox',\n label: 'auto-start',\n name: 'autoStart'\n }\n ],\n 'value-property': 'value',\n help: 'scene/component/graphql'\n}\n\n@sceneComponent('graphql-query')\n@sceneComponent('graphql-mutation')\nclass GraphQLQuery extends DataSource(RectPath(Shape)) {\n private _repeatTimer?: number\n private _isStarted: boolean = false\n\n get nature() {\n return NATURE\n }\n\n onchange(after: Properties, before: Properties) {\n if ('value' in after) {\n if (after.value) this.requestData()\n }\n }\n\n get period() {\n return this.state.period * 1000\n }\n\n set period(period) {\n this.setState('period', period)\n this._initGraphqlQuery()\n }\n\n get repeatTimer() {\n return this._repeatTimer\n }\n\n set repeatTimer(repeatTimer) {\n this._stopRepeater()\n this._repeatTimer = repeatTimer\n }\n\n get autoStart() {\n return this.state.autoStart\n }\n\n set autoStart(autoStart) {\n this.setState('autoStart', autoStart)\n }\n\n get query() {\n var _query = this.state.query\n var objToVal = (exp: any) => {\n if (typeof exp === 'string') return exp\n else return JSON.stringify(exp)\n }\n var changedQuery: string | undefined = (Component.buildSubstitutor(_query, this, objToVal) || (() => _query))()\n try {\n changedQuery = changedQuery!.replace(/\\(.*\\)/gi, params => {\n const c = new Compartment({ console })\n let paramObject = c.evaluate(`({${params.slice(1, -1)}})`)\n return '(' + buildArgs(paramObject) + ')'\n })\n } catch (e) {\n console.log(e)\n }\n\n return changedQuery\n }\n\n get source() {\n return this.getState('source')\n }\n\n set source(source) {\n this.setState('source', source)\n }\n\n dispose() {\n super.dispose()\n this._stopRepeater()\n }\n\n ready() {\n super.ready()\n if (this.autoStart) {\n this._initGraphqlQuery()\n }\n }\n\n _initGraphqlQuery() {\n if (!this.app.isViewMode) return\n\n this._stopRepeater()\n this._startRepeater()\n }\n\n _stopRepeater() {\n if (this.repeatTimer !== undefined) {\n clearTimeout(this._repeatTimer!)\n delete this._repeatTimer\n }\n\n this._isStarted = false\n }\n\n _startRepeater() {\n this._isStarted = true\n\n // requestAnimationFrame 이 호출되지 않을 때는 requestData 호출도 하지 않도록 함.\n var _ = () => {\n if (!this._isStarted) {\n return\n }\n this.requestData()\n if (!Number.isNaN(this.period) && this.period > 0) {\n this._repeatTimer = setTimeout(() => {\n requestAnimationFrame(_)\n }, this.period)\n }\n }\n requestAnimationFrame(_)\n }\n\n async requestData() {\n if (!this.app.isViewMode) return\n var { client } = this.state\n var query = this.query\n var variables = this.value\n\n if (query) {\n const graphqlClient: ApolloClient<NormalizedCacheObject> =\n (client && (this.root.findById(client) as GraphqlClient)?.client) || localClient\n\n var response\n\n if (typeof variables === 'object') {\n response = await graphqlClient.query({\n query: gql`\n ${query}\n `,\n variables: variables\n })\n } else {\n response = await graphqlClient.query({\n query: gql`\n ${query}\n `,\n errorPolicy: 'all'\n })\n }\n\n console.log('response', response)\n this.data = response\n }\n }\n}\n\nexport class Query extends GraphQLQuery {\n private static _image: HTMLImageElement\n\n static get image() {\n if (!Query._image) {\n Query._image = new Image()\n Query._image.src = new URL('../icons/symbol-graphql-query.png', import.meta.url).href\n }\n\n return Query._image\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, Query.image, left, top, width, height)\n }\n}\n\n@sceneComponent('graphql-mutation')\nexport class Mutation extends GraphQLQuery {\n private static _image: HTMLImageElement\n\n static get image() {\n if (!Mutation._image) {\n Mutation._image = new Image()\n Mutation._image.src = new URL('../icons/symbol-graphql-mutation.png', import.meta.url).href\n }\n\n return Mutation._image\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, Mutation.image, left, top, width, height)\n }\n}\n"]}
1
+ {"version":3,"file":"graphql-query-and-mutation.js","sourceRoot":"","sources":["../src/graphql-query-and-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import 'ses'\nimport gql from 'graphql-tag'\n\nimport { ApolloClient, NormalizedCacheObject } from '@apollo/client/core/index.js'\nimport {\n Component,\n ComponentNature,\n DataSource,\n Properties,\n RectPath,\n Shape,\n sceneComponent\n} from '@hatiolab/things-scene'\nimport { buildArgs, client as localClient } from '@operato/graphql'\n\nimport GraphqlClient from './graphql-client.js'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'id-input',\n label: 'client',\n name: 'client',\n placeholder: 'leave blank to use origin server',\n property: {\n component: 'graphql-client' // component의 type (null or undefined이면 모든 컴포넌트)\n }\n },\n {\n type: 'number',\n label: 'period',\n name: 'period',\n placeholder: 'SECONDS'\n },\n {\n type: 'graphql',\n label: 'query',\n name: 'query'\n },\n {\n type: 'checkbox',\n label: 'auto-start',\n name: 'autoStart'\n }\n ],\n 'value-property': 'value',\n help: 'scene/component/graphql'\n}\n\n@sceneComponent('graphql-query')\nclass GraphQLQuery extends DataSource(RectPath(Shape)) {\n private _repeatTimer?: number\n private _isStarted: boolean = false\n\n get nature() {\n return NATURE\n }\n\n onchange(after: Properties, before: Properties) {\n if ('value' in after) {\n if (after.value) this.requestData()\n }\n }\n\n get period() {\n return this.state.period * 1000\n }\n\n set period(period) {\n this.setState('period', period)\n this._initGraphqlQuery()\n }\n\n get repeatTimer() {\n return this._repeatTimer\n }\n\n set repeatTimer(repeatTimer) {\n this._stopRepeater()\n this._repeatTimer = repeatTimer\n }\n\n get autoStart() {\n return this.state.autoStart\n }\n\n set autoStart(autoStart) {\n this.setState('autoStart', autoStart)\n }\n\n get query() {\n var _query = this.state.query\n var objToVal = (exp: any) => {\n if (typeof exp === 'string') return exp\n else return JSON.stringify(exp)\n }\n var changedQuery: string | undefined = (Component.buildSubstitutor(_query, this, objToVal) || (() => _query))()\n try {\n changedQuery = changedQuery!.replace(/\\(.*\\)/gi, params => {\n const c = new Compartment({ console })\n let paramObject = c.evaluate(`({${params.slice(1, -1)}})`)\n return '(' + buildArgs(paramObject) + ')'\n })\n } catch (e) {\n console.log(e)\n }\n\n return changedQuery\n }\n\n get source() {\n return this.getState('source')\n }\n\n set source(source) {\n this.setState('source', source)\n }\n\n dispose() {\n super.dispose()\n this._stopRepeater()\n }\n\n ready() {\n super.ready()\n if (this.autoStart) {\n this._initGraphqlQuery()\n }\n }\n\n _initGraphqlQuery() {\n if (!this.app.isViewMode) return\n\n this._stopRepeater()\n this._startRepeater()\n }\n\n _stopRepeater() {\n if (this.repeatTimer !== undefined) {\n clearTimeout(this._repeatTimer!)\n delete this._repeatTimer\n }\n\n this._isStarted = false\n }\n\n _startRepeater() {\n this._isStarted = true\n\n // requestAnimationFrame 이 호출되지 않을 때는 requestData 호출도 하지 않도록 함.\n var _ = () => {\n if (!this._isStarted) {\n return\n }\n this.requestData()\n if (!Number.isNaN(this.period) && this.period > 0) {\n this._repeatTimer = setTimeout(() => {\n requestAnimationFrame(_)\n }, this.period)\n }\n }\n requestAnimationFrame(_)\n }\n\n async requestData() {\n if (!this.app.isViewMode) return\n var { client } = this.state\n var query = this.query\n var variables = this.value\n\n if (query) {\n const graphqlClient: ApolloClient<NormalizedCacheObject> =\n (client && (this.root.findById(client) as GraphqlClient)?.client) || localClient\n\n var response\n\n if (typeof variables === 'object') {\n response = await graphqlClient.query({\n query: gql`\n ${query}\n `,\n variables: variables\n })\n } else {\n response = await graphqlClient.query({\n query: gql`\n ${query}\n `,\n errorPolicy: 'all'\n })\n }\n\n console.log('response', response)\n this.data = response\n }\n }\n}\n\nexport class Query extends GraphQLQuery {\n private static _image: HTMLImageElement\n\n static get image() {\n if (!Query._image) {\n Query._image = new Image()\n Query._image.src = new URL('../icons/symbol-graphql-query.png', import.meta.url).href\n }\n\n return Query._image\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, Query.image, left, top, width, height)\n }\n}\n\n@sceneComponent('graphql-mutation')\nexport class Mutation extends GraphQLQuery {\n private static _image: HTMLImageElement\n\n static get image() {\n if (!Mutation._image) {\n Mutation._image = new Image()\n Mutation._image.src = new URL('../icons/symbol-graphql-mutation.png', import.meta.url).href\n }\n\n return Mutation._image\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, Mutation.image, left, top, width, height)\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Client from './graphql-client.js';
2
2
  import { Mutation, Query } from './graphql-query-and-mutation.js';
3
3
  import Subscription from './graphql-subscription.js';
4
- declare const _default: (typeof Client | typeof Query | typeof Mutation | typeof Subscription)[];
4
+ declare const _default: (typeof Subscription | typeof Query | typeof Mutation | typeof Client)[];
5
5
  export default _default;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@operato/scene-graphql",
3
3
  "description": "Graphql datasource component for things-scene",
4
- "version": "9.0.0-beta.15",
4
+ "version": "9.0.0-beta.16",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -62,5 +62,5 @@
62
62
  "prettier --write"
63
63
  ]
64
64
  },
65
- "gitHead": "3a94a8a9ee8cb8de82ad331cb08b9e48d6625d31"
65
+ "gitHead": "761c3944e6c4a6c382c940522fc746c7f1aabc3e"
66
66
  }