@operato/board 7.1.31 → 7.1.33

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 (87) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/tsconfig.tsbuildinfo +1 -1
  3. package/package.json +14 -14
  4. package/.storybook/main.js +0 -3
  5. package/.storybook/server.mjs +0 -8
  6. package/demo/index-modeller.html +0 -112
  7. package/demo/index-player.html +0 -112
  8. package/demo/index-viewer.html +0 -112
  9. package/demo/index.html +0 -112
  10. package/src/component/3d.ts +0 -29
  11. package/src/component/chart-and-gauge.ts +0 -28
  12. package/src/component/container.ts +0 -63
  13. package/src/component/data-source.ts +0 -30
  14. package/src/component/etc.ts +0 -88
  15. package/src/component/form.ts +0 -42
  16. package/src/component/index.ts +0 -12
  17. package/src/component/iot.ts +0 -52
  18. package/src/component/line.ts +0 -156
  19. package/src/component/register-default-groups.ts +0 -28
  20. package/src/component/shape.ts +0 -156
  21. package/src/component/table.ts +0 -28
  22. package/src/component/text-and-media.ts +0 -125
  23. package/src/component/warehouse.ts +0 -26
  24. package/src/data-storage/data-storage.ts +0 -76
  25. package/src/graphql/board.ts +0 -144
  26. package/src/graphql/data-subscription.ts +0 -30
  27. package/src/graphql/favorite-board.ts +0 -25
  28. package/src/graphql/group.ts +0 -138
  29. package/src/graphql/index.ts +0 -4
  30. package/src/graphql/play-group.ts +0 -225
  31. package/src/graphql/scenario.ts +0 -79
  32. package/src/index.ts +0 -10
  33. package/src/modeller/component-toolbar/component-detail.ts +0 -52
  34. package/src/modeller/component-toolbar/component-menu.ts +0 -196
  35. package/src/modeller/component-toolbar/component-toolbar.ts +0 -196
  36. package/src/modeller/component-toolbar/mode-icons.ts +0 -88
  37. package/src/modeller/edit-toolbar-style.ts +0 -232
  38. package/src/modeller/edit-toolbar.ts +0 -587
  39. package/src/modeller/property-sidebar/abstract-property.ts +0 -69
  40. package/src/modeller/property-sidebar/data-binding/data-binding-mapper.ts +0 -475
  41. package/src/modeller/property-sidebar/data-binding/data-binding-value-map.ts +0 -19
  42. package/src/modeller/property-sidebar/data-binding/data-binding-value-range.ts +0 -19
  43. package/src/modeller/property-sidebar/data-binding/data-binding.ts +0 -480
  44. package/src/modeller/property-sidebar/effects/effects-shared-style.ts +0 -62
  45. package/src/modeller/property-sidebar/effects/effects.ts +0 -69
  46. package/src/modeller/property-sidebar/effects/property-animation.ts +0 -146
  47. package/src/modeller/property-sidebar/effects/property-animations.ts +0 -93
  48. package/src/modeller/property-sidebar/effects/property-event-hover.ts +0 -200
  49. package/src/modeller/property-sidebar/effects/property-event-tap.ts +0 -251
  50. package/src/modeller/property-sidebar/effects/property-event.ts +0 -73
  51. package/src/modeller/property-sidebar/effects/property-shadow.ts +0 -114
  52. package/src/modeller/property-sidebar/effects/value-converter.ts +0 -23
  53. package/src/modeller/property-sidebar/inspector/inspector.ts +0 -404
  54. package/src/modeller/property-sidebar/property-shared-style.ts +0 -136
  55. package/src/modeller/property-sidebar/property-sidebar.ts +0 -326
  56. package/src/modeller/property-sidebar/shapes/box-padding-editor-styles.ts +0 -94
  57. package/src/modeller/property-sidebar/shapes/shapes.ts +0 -432
  58. package/src/modeller/property-sidebar/specifics/specific-properties-builder.ts +0 -152
  59. package/src/modeller/property-sidebar/specifics/specifics.ts +0 -81
  60. package/src/modeller/property-sidebar/styles/styles.ts +0 -577
  61. package/src/modeller/scene-viewer/confidential-overlay.ts +0 -18
  62. package/src/modeller/scene-viewer/ox-scene-handler.ts +0 -40
  63. package/src/modeller/scene-viewer/ox-scene-layer.ts +0 -42
  64. package/src/modeller/scene-viewer/ox-scene-property.ts +0 -10
  65. package/src/modeller/scene-viewer/ox-scene-viewer.ts +0 -263
  66. package/src/ox-board-component-info.ts +0 -236
  67. package/src/ox-board-list.ts +0 -401
  68. package/src/ox-board-modeller.ts +0 -408
  69. package/src/ox-board-player-style.ts +0 -200
  70. package/src/ox-board-player.ts +0 -333
  71. package/src/ox-board-template-list.ts +0 -267
  72. package/src/ox-board-template-viewer.ts +0 -198
  73. package/src/ox-board-viewer.ts +0 -727
  74. package/src/ox-editor-board-selector.ts +0 -91
  75. package/src/ox-property-editor-board-selector.ts +0 -23
  76. package/src/player/ox-board-player-carousel.ts +0 -197
  77. package/src/player/ox-board-player-grid.ts +0 -78
  78. package/src/player/ox-board-wrapper.ts +0 -152
  79. package/src/selector/board-creation-popup.ts +0 -151
  80. package/src/selector/board-thumbnail-card.ts +0 -175
  81. package/src/selector/ox-board-creation-card.ts +0 -98
  82. package/src/selector/ox-board-selector.ts +0 -382
  83. package/src/types.ts +0 -63
  84. package/stories/property-data-binding.stories.ts +0 -34
  85. package/tsconfig.json +0 -24
  86. package/web-dev-server.config.mjs +0 -30
  87. package/web-test-runner.config.mjs +0 -29
@@ -1,225 +0,0 @@
1
- import { PlayGroup } from '../types'
2
- import { client } from '@operato/graphql'
3
- import gql from 'graphql-tag'
4
-
5
- export async function playlists(): Promise<{ name: string; description: string }[]> {
6
- const response = await client.query({
7
- query: gql`
8
- {
9
- playGroups {
10
- items {
11
- id
12
- name
13
- description
14
- }
15
- total
16
- }
17
- }
18
- `
19
- })
20
-
21
- return response.data.playGroups.items
22
- }
23
-
24
- export async function fetchPlayGroupList() {
25
- const response = await client.query({
26
- query: gql`
27
- {
28
- playGroups {
29
- items {
30
- id
31
- name
32
- description
33
- }
34
- total
35
- }
36
- }
37
- `
38
- })
39
-
40
- return response.data
41
- }
42
-
43
- export async function fetchPlayGroup(groupId: string) {
44
- const response = await client.query({
45
- query: gql`
46
- query FetchPlayGroup($id: String!) {
47
- playGroup(id: $id) {
48
- id
49
- name
50
- description
51
- boards {
52
- id
53
- name
54
- description
55
- model
56
- thumbnail
57
- createdAt
58
- creator {
59
- id
60
- name
61
- }
62
- updatedAt
63
- updater {
64
- id
65
- name
66
- }
67
- }
68
- createdAt
69
- creator {
70
- id
71
- name
72
- }
73
- updatedAt
74
- updater {
75
- id
76
- name
77
- }
78
- }
79
- }
80
- `,
81
- variables: {
82
- id: groupId
83
- }
84
- })
85
-
86
- return response.data
87
- }
88
-
89
- export async function fetchPlayGroupByName(name: string) {
90
- const response = await client.query({
91
- query: gql`
92
- query FetchPlayGroupByName($name: String!) {
93
- playGroupByName(name: $name) {
94
- id
95
- }
96
- }
97
- `,
98
- variables: {
99
- name
100
- }
101
- })
102
-
103
- return response.data.playGroupByName
104
- }
105
-
106
- export async function createPlayGroup(group: PlayGroup) {
107
- var { name, description } = group
108
-
109
- const response = await client.mutate({
110
- mutation: gql`
111
- mutation CreatePlayGroup($playGroup: NewPlayGroup!) {
112
- createPlayGroup(playGroup: $playGroup) {
113
- id
114
- name
115
- description
116
- createdAt
117
- updatedAt
118
- }
119
- }
120
- `,
121
- variables: {
122
- playGroup: { name, description }
123
- }
124
- })
125
-
126
- return response.data
127
- }
128
-
129
- export async function updatePlayGroup(group: PlayGroup) {
130
- var { id, name, description } = group
131
-
132
- const response = await client.mutate({
133
- mutation: gql`
134
- mutation UpdatePlayGroup($id: String!, $patch: PlayGroupPatch!) {
135
- updatePlayGroup(id: $id, patch: $patch) {
136
- id
137
- name
138
- description
139
- createdAt
140
- updatedAt
141
- }
142
- }
143
- `,
144
- variables: {
145
- id,
146
- patch: { name, description }
147
- }
148
- })
149
-
150
- return response.data
151
- }
152
-
153
- export async function deletePlayGroup(id: string) {
154
- const response = await client.mutate({
155
- mutation: gql`
156
- mutation ($id: String!) {
157
- deletePlayGroup(id: $id)
158
- }
159
- `,
160
- variables: {
161
- id
162
- }
163
- })
164
- return response.data
165
- }
166
-
167
- export async function joinPlayGroup(boardId: string, group: PlayGroup) {
168
- var { id, name, description } = group
169
-
170
- const response = await client.mutate({
171
- mutation: gql`
172
- mutation JoinPlayGroup($id: String!, $boardIds: [String!]!) {
173
- joinPlayGroup(id: $id, boardIds: $boardIds) {
174
- id
175
- name
176
- description
177
- boards {
178
- id
179
- name
180
- description
181
- createdAt
182
- updatedAt
183
- }
184
- createdAt
185
- updatedAt
186
- }
187
- }
188
- `,
189
- variables: {
190
- id,
191
- boardIds: [boardId]
192
- }
193
- })
194
-
195
- return response.data
196
- }
197
-
198
- export async function leavePlayGroup(boardId: string, groupId: string) {
199
- const response = await client.mutate({
200
- mutation: gql`
201
- mutation ($id: String!, $boardIds: [String]!) {
202
- leavePlayGroup(id: $id, boardIds: $boardIds) {
203
- id
204
- name
205
- description
206
- boards {
207
- id
208
- name
209
- description
210
- createdAt
211
- updatedAt
212
- }
213
- createdAt
214
- updatedAt
215
- }
216
- }
217
- `,
218
- variables: {
219
- id: groupId,
220
- boardIds: [boardId]
221
- }
222
- })
223
-
224
- return response.data
225
- }
@@ -1,79 +0,0 @@
1
- import gql from 'graphql-tag'
2
-
3
- import { client } from '@operato/graphql'
4
-
5
- export const scenarios = async (): Promise<{ name: string; description: string }[]> => {
6
- var response = await client.query({
7
- query: gql`
8
- query {
9
- scenarios {
10
- items {
11
- name
12
- description
13
- }
14
- }
15
- }
16
- `
17
- })
18
-
19
- if (response.errors) {
20
- return []
21
- }
22
-
23
- return response.data.scenarios.items
24
- }
25
-
26
- export const startScenario = async (
27
- scenarioName: string,
28
- instanceName: string,
29
- variables: string | number | object
30
- ) => {
31
- if (!scenarioName) {
32
- return
33
- }
34
-
35
- if (client) {
36
- var response = await client.query({
37
- query: gql`
38
- mutation ($instanceName: String, $scenarioName: String!, $variables: Object) {
39
- startScenario(instanceName: $instanceName, scenarioName: $scenarioName, variables: $variables) {
40
- state
41
- message
42
- data
43
- }
44
- }
45
- `,
46
- variables: {
47
- instanceName: instanceName,
48
- scenarioName: scenarioName,
49
- variables
50
- }
51
- })
52
-
53
- return response?.data?.startScenario?.data
54
- }
55
- }
56
-
57
- export const runScenario = async (scenarioName: string, variables: string | number | object) => {
58
- if (!scenarioName) return
59
-
60
- if (client) {
61
- var response = await client.query({
62
- query: gql`
63
- mutation ($scenarioName: String!, $variables: Object) {
64
- runScenario(scenarioName: $scenarioName, variables: $variables) {
65
- state
66
- message
67
- data
68
- }
69
- }
70
- `,
71
- variables: {
72
- scenarioName: scenarioName,
73
- variables
74
- }
75
- })
76
-
77
- return response?.data?.runScenario?.data
78
- }
79
- }
package/src/index.ts DELETED
@@ -1,10 +0,0 @@
1
- export * from './types.js'
2
-
3
- export { registerDefaultGroups } from './component/register-default-groups.js'
4
- export { BoardDataStorage, PlaylistStorage } from './data-storage/data-storage.js'
5
-
6
- export * from './ox-board-viewer.js'
7
- export * from './ox-board-player.js'
8
- export * from './ox-board-modeller.js'
9
- export * from './ox-board-list.js'
10
- export * from './ox-board-template-viewer.js'
@@ -1,52 +0,0 @@
1
- /**
2
- * @license Copyright © HatioLab Inc. All rights reserved.
3
- */
4
-
5
- import '@operato/markdown'
6
-
7
- import { css, html, LitElement } from 'lit'
8
- import { property } from 'lit/decorators.js'
9
-
10
- import { ScrollbarStyles } from '@operato/styles'
11
-
12
- export class ComponentDetail extends LitElement {
13
- static styles = [
14
- ScrollbarStyles,
15
- css`
16
- :host {
17
- display: flex;
18
- flex-direction: column;
19
- align-content: stretch;
20
-
21
- background-color: var(--component-detail-background-color, white);
22
- margin: 0px;
23
- padding: 10px;
24
-
25
- width: 360px;
26
- height: 100%;
27
-
28
- overflow: hidden;
29
-
30
- border: 2px solid var(--component-detail-border-color);
31
- box-sizing: border-box;
32
-
33
- position: absolute;
34
- top: 0px;
35
-
36
- z-index: 1;
37
- }
38
-
39
- ox-markdown {
40
- flex: 1;
41
- }
42
- `
43
- ]
44
-
45
- @property({ type: Object }) template: { about: string } | null = null
46
-
47
- render() {
48
- const { about } = this.template || {}
49
-
50
- return html` <ox-markdown .src=${about}></ox-markdown> `
51
- }
52
- }
@@ -1,196 +0,0 @@
1
- /**
2
- * @license Copyright © HatioLab Inc. All rights reserved.
3
- */
4
-
5
- import { css, html, LitElement, PropertyValues } from 'lit'
6
- import { property, query, state } from 'lit/decorators.js'
7
-
8
- import { Scene } from '@hatiolab/things-scene'
9
- import { ScopedElementsMixin } from '@open-wc/scoped-elements'
10
- import { ScrollbarStyles } from '@operato/styles'
11
- import { i18next } from '@operato/i18n'
12
-
13
- import { Pallet, PalletItem } from '../../types'
14
- import { ComponentDetail } from './component-detail'
15
-
16
- const noImage = new URL('../../../../icons/components/no-image.png', import.meta.url).href
17
-
18
- export class ComponentMenu extends ScopedElementsMixin(LitElement) {
19
- static styles = [
20
- ScrollbarStyles,
21
- css`
22
- :host {
23
- display: flex;
24
- flex-direction: column;
25
- align-content: stretch;
26
-
27
- background-color: var(--component-menu-background-color, var(--md-sys-color-secondary-container));
28
- color: var(--component-menu-color, var(--md-sys-color-on-secondary-container));
29
- margin: 0px;
30
- padding: 0px;
31
-
32
- width: 180px;
33
- height: 100%;
34
-
35
- overflow: visible;
36
-
37
- border: 2px solid var(--component-menu-border-color, var(--md-sys-color-secondary));
38
- box-sizing: border-box;
39
-
40
- position: absolute;
41
- top: 0px;
42
-
43
- z-index: 1;
44
- }
45
-
46
- h2 {
47
- background-color: var(--component-menu-border-color, var(--md-sys-color-secondary));
48
- padding: 1px 5px;
49
- margin: 0;
50
- font: var(--component-menu-title);
51
- color: var(--md-sys-color-on-secondary);
52
- text-transform: capitalize;
53
- }
54
-
55
- [templates] {
56
- flex: 1;
57
-
58
- display: block;
59
- margin: 0;
60
- padding: 0;
61
- overflow-y: auto;
62
-
63
- background-color: var(--component-menu-background-color, var(--md-sys-color-secondary-container));
64
- color: var(--component-menu-color, var(--md-sys-color-on-secondary-container));
65
- }
66
-
67
- [template] {
68
- display: flex;
69
- align-items: center;
70
- min-height: var(--component-menu-item-icon-size);
71
- padding: 0 5px 0 0;
72
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
73
- font-size: 11px;
74
- color: var(--component-menu-item-color, var(--md-sys-color-on-secondary-container));
75
- text-transform: capitalize;
76
- }
77
-
78
- [template]:hover,
79
- [template]:focus {
80
- color: var(--component-menu-item-hover-color, var(--md-sys-color-secondary));
81
- font-weight: bold;
82
- cursor: pointer;
83
- }
84
-
85
- [template] img {
86
- margin: 5px;
87
- width: var(--component-menu-item-icon-size);
88
- height: var(--component-menu-item-icon-size);
89
- }
90
-
91
- component-detail {
92
- position: absolute;
93
- top: 0;
94
- left: 180px;
95
- height: 100%;
96
- outline: none;
97
- }
98
-
99
- component-detail[hidden] {
100
- display: none;
101
- }
102
- `
103
- ]
104
-
105
- @property({ type: Object }) groups: Pallet[] = []
106
- @property({ type: Object }) scene: Scene | null = null
107
- @property({ type: String }) group: string | null = ''
108
-
109
- @state() templates: PalletItem[] = []
110
- @state() template: PalletItem | any
111
-
112
- @query('component-detail') detail!: HTMLElement
113
-
114
- static get scopedElements() {
115
- return {
116
- 'component-detail': ComponentDetail
117
- }
118
- }
119
-
120
- render() {
121
- return this.group
122
- ? html`
123
- <h2 onclick=${(e: MouseEvent) => e.stopPropagation()}>${this.group} list</h2>
124
-
125
- <div templates @mouseover=${(e: MouseEvent) => this.onHoverComponent(e)}>
126
- ${(this.templates || []).map(template => {
127
- const { type } = template
128
-
129
- return html`
130
- <div @click=${this.onClickTemplate} data-type=${type} template>
131
- <img src=${String(this.templateIcon(template))} />${i18next.t(`component.${type}`)}
132
- </div>
133
- `
134
- })}
135
- </div>
136
-
137
- <component-detail
138
- tabindex="-1"
139
- @focusout=${() => {
140
- this.template = null
141
- }}
142
- .template=${this.template}
143
- hidden
144
- >
145
- </component-detail>
146
- `
147
- : html``
148
- }
149
-
150
- updated(changes: PropertyValues<this>) {
151
- if (changes.has('group')) {
152
- if (!this.group) {
153
- this.templates = []
154
- this.setAttribute('hidden', '')
155
- } else {
156
- this.templates = this.groups.find((g: Pallet) => g.name === this.group)?.templates || []
157
- this.removeAttribute('active')
158
- }
159
- }
160
-
161
- if (changes.has('template')) {
162
- this.template && this.template.about
163
- ? this.detail.removeAttribute('hidden')
164
- : this.detail.setAttribute('hidden', '')
165
- }
166
- }
167
-
168
- findTemplate(type: string | null | undefined) {
169
- this.template = type && this.templates.find(template => template.type == type)
170
- }
171
-
172
- onHoverComponent(e: MouseEvent) {
173
- const button = e.target as HTMLElement
174
- this.findTemplate(button!.closest('[data-type]')?.getAttribute('data-type'))
175
- }
176
-
177
- onClickTemplate(e: MouseEvent) {
178
- var item = e.target as HTMLElement
179
- var type = item.closest('[data-type]')?.getAttribute('data-type')
180
-
181
- if (!type) {
182
- return
183
- }
184
-
185
- if (this.scene) {
186
- this.template = this.templates.find(template => template.type == type)
187
- this.template && this.scene.startAddMode(JSON.parse(JSON.stringify(this.template.model)))
188
- }
189
-
190
- this.group = null
191
- }
192
-
193
- templateIcon(template: PalletItem) {
194
- return template.icon || noImage
195
- }
196
- }