@things-factory/board-ui 6.2.96 → 6.2.102

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 (160) hide show
  1. package/client/pages/board-modeller-page.ts +1 -1
  2. package/client/pages/board-player-page.ts +1 -1
  3. package/client/pages/board-viewer-page.ts +2 -4
  4. package/client/setting-let/board-view-setting-let.ts +2 -6
  5. package/package.json +4 -4
  6. package/translations/en.json +1 -0
  7. package/translations/ja.json +1 -0
  8. package/translations/ko.json +1 -0
  9. package/translations/ms.json +1 -1
  10. package/translations/zh.json +5 -4
  11. package/dist-client/apptools/favorite-tool.d.ts +0 -26
  12. package/dist-client/apptools/favorite-tool.js +0 -129
  13. package/dist-client/apptools/favorite-tool.js.map +0 -1
  14. package/dist-client/board-list/board-importer.d.ts +0 -6
  15. package/dist-client/board-list/board-importer.js +0 -112
  16. package/dist-client/board-list/board-importer.js.map +0 -1
  17. package/dist-client/board-list/board-tile-list.d.ts +0 -22
  18. package/dist-client/board-list/board-tile-list.js +0 -264
  19. package/dist-client/board-list/board-tile-list.js.map +0 -1
  20. package/dist-client/board-list/group-bar.d.ts +0 -14
  21. package/dist-client/board-list/group-bar.js +0 -145
  22. package/dist-client/board-list/group-bar.js.map +0 -1
  23. package/dist-client/board-list/play-group-bar.d.ts +0 -21
  24. package/dist-client/board-list/play-group-bar.js +0 -142
  25. package/dist-client/board-list/play-group-bar.js.map +0 -1
  26. package/dist-client/board-provider.d.ts +0 -3
  27. package/dist-client/board-provider.js +0 -77
  28. package/dist-client/board-provider.js.map +0 -1
  29. package/dist-client/bootstrap.d.ts +0 -2
  30. package/dist-client/bootstrap.js +0 -30
  31. package/dist-client/bootstrap.js.map +0 -1
  32. package/dist-client/data-grist/board-editor.d.ts +0 -14
  33. package/dist-client/data-grist/board-editor.js +0 -110
  34. package/dist-client/data-grist/board-editor.js.map +0 -1
  35. package/dist-client/data-grist/board-renderer.d.ts +0 -2
  36. package/dist-client/data-grist/board-renderer.js +0 -134
  37. package/dist-client/data-grist/board-renderer.js.map +0 -1
  38. package/dist-client/data-grist/color-map-editor.d.ts +0 -4
  39. package/dist-client/data-grist/color-map-editor.js +0 -15
  40. package/dist-client/data-grist/color-map-editor.js.map +0 -1
  41. package/dist-client/data-grist/color-ranges-editor.d.ts +0 -4
  42. package/dist-client/data-grist/color-ranges-editor.js +0 -15
  43. package/dist-client/data-grist/color-ranges-editor.js.map +0 -1
  44. package/dist-client/graphql/board-template.d.ts +0 -5
  45. package/dist-client/graphql/board-template.js +0 -128
  46. package/dist-client/graphql/board-template.js.map +0 -1
  47. package/dist-client/graphql/board.d.ts +0 -19
  48. package/dist-client/graphql/board.js +0 -231
  49. package/dist-client/graphql/board.js.map +0 -1
  50. package/dist-client/graphql/favorite-board.d.ts +0 -1
  51. package/dist-client/graphql/favorite-board.js +0 -24
  52. package/dist-client/graphql/favorite-board.js.map +0 -1
  53. package/dist-client/graphql/group.d.ts +0 -6
  54. package/dist-client/graphql/group.js +0 -125
  55. package/dist-client/graphql/group.js.map +0 -1
  56. package/dist-client/graphql/index.d.ts +0 -6
  57. package/dist-client/graphql/index.js +0 -7
  58. package/dist-client/graphql/index.js.map +0 -1
  59. package/dist-client/graphql/my-board.d.ts +0 -1
  60. package/dist-client/graphql/my-board.js +0 -24
  61. package/dist-client/graphql/my-board.js.map +0 -1
  62. package/dist-client/graphql/play-group.d.ts +0 -7
  63. package/dist-client/graphql/play-group.js +0 -173
  64. package/dist-client/graphql/play-group.js.map +0 -1
  65. package/dist-client/index.d.ts +0 -8
  66. package/dist-client/index.js +0 -9
  67. package/dist-client/index.js.map +0 -1
  68. package/dist-client/pages/attachment-list-page.d.ts +0 -30
  69. package/dist-client/pages/attachment-list-page.js +0 -128
  70. package/dist-client/pages/attachment-list-page.js.map +0 -1
  71. package/dist-client/pages/board-list-page.d.ts +0 -109
  72. package/dist-client/pages/board-list-page.js +0 -532
  73. package/dist-client/pages/board-list-page.js.map +0 -1
  74. package/dist-client/pages/board-modeller-page.d.ts +0 -49
  75. package/dist-client/pages/board-modeller-page.js +0 -309
  76. package/dist-client/pages/board-modeller-page.js.map +0 -1
  77. package/dist-client/pages/board-player-by-name-page.d.ts +0 -4
  78. package/dist-client/pages/board-player-by-name-page.js +0 -32
  79. package/dist-client/pages/board-player-by-name-page.js.map +0 -1
  80. package/dist-client/pages/board-player-page.d.ts +0 -42
  81. package/dist-client/pages/board-player-page.js +0 -230
  82. package/dist-client/pages/board-player-page.js.map +0 -1
  83. package/dist-client/pages/board-template/board-template-list-page.d.ts +0 -37
  84. package/dist-client/pages/board-template/board-template-list-page.js +0 -226
  85. package/dist-client/pages/board-template/board-template-list-page.js.map +0 -1
  86. package/dist-client/pages/board-viewer-by-name-page.d.ts +0 -4
  87. package/dist-client/pages/board-viewer-by-name-page.js +0 -27
  88. package/dist-client/pages/board-viewer-by-name-page.js.map +0 -1
  89. package/dist-client/pages/board-viewer-page.d.ts +0 -41
  90. package/dist-client/pages/board-viewer-page.js +0 -247
  91. package/dist-client/pages/board-viewer-page.js.map +0 -1
  92. package/dist-client/pages/font-list-page.d.ts +0 -9
  93. package/dist-client/pages/font-list-page.js +0 -31
  94. package/dist-client/pages/font-list-page.js.map +0 -1
  95. package/dist-client/pages/play-list-page.d.ts +0 -58
  96. package/dist-client/pages/play-list-page.js +0 -364
  97. package/dist-client/pages/play-list-page.js.map +0 -1
  98. package/dist-client/pages/printable-board-viewer-page.d.ts +0 -11
  99. package/dist-client/pages/printable-board-viewer-page.js +0 -43
  100. package/dist-client/pages/printable-board-viewer-page.js.map +0 -1
  101. package/dist-client/pages/theme/theme-editors.d.ts +0 -5
  102. package/dist-client/pages/theme/theme-editors.js +0 -53
  103. package/dist-client/pages/theme/theme-editors.js.map +0 -1
  104. package/dist-client/pages/theme/theme-list-page.d.ts +0 -49
  105. package/dist-client/pages/theme/theme-list-page.js +0 -318
  106. package/dist-client/pages/theme/theme-list-page.js.map +0 -1
  107. package/dist-client/pages/things-scene-components-with-tools.import +0 -0
  108. package/dist-client/pages/things-scene-components.import +0 -0
  109. package/dist-client/route.d.ts +0 -1
  110. package/dist-client/route.js +0 -41
  111. package/dist-client/route.js.map +0 -1
  112. package/dist-client/setting-let/board-view-setting-let.d.ts +0 -14
  113. package/dist-client/setting-let/board-view-setting-let.js +0 -70
  114. package/dist-client/setting-let/board-view-setting-let.js.map +0 -1
  115. package/dist-client/themes/board-theme.css +0 -76
  116. package/dist-client/tsconfig.tsbuildinfo +0 -1
  117. package/dist-client/viewparts/board-basic-info.d.ts +0 -47
  118. package/dist-client/viewparts/board-basic-info.js +0 -641
  119. package/dist-client/viewparts/board-basic-info.js.map +0 -1
  120. package/dist-client/viewparts/board-info-link.d.ts +0 -12
  121. package/dist-client/viewparts/board-info-link.js +0 -59
  122. package/dist-client/viewparts/board-info-link.js.map +0 -1
  123. package/dist-client/viewparts/board-info.d.ts +0 -14
  124. package/dist-client/viewparts/board-info.js +0 -94
  125. package/dist-client/viewparts/board-info.js.map +0 -1
  126. package/dist-client/viewparts/board-template-builder.d.ts +0 -16
  127. package/dist-client/viewparts/board-template-builder.js +0 -145
  128. package/dist-client/viewparts/board-template-builder.js.map +0 -1
  129. package/dist-client/viewparts/board-versions.d.ts +0 -12
  130. package/dist-client/viewparts/board-versions.js +0 -157
  131. package/dist-client/viewparts/board-versions.js.map +0 -1
  132. package/dist-client/viewparts/group-info-basic.d.ts +0 -16
  133. package/dist-client/viewparts/group-info-basic.js +0 -247
  134. package/dist-client/viewparts/group-info-basic.js.map +0 -1
  135. package/dist-client/viewparts/group-info-import.d.ts +0 -15
  136. package/dist-client/viewparts/group-info-import.js +0 -137
  137. package/dist-client/viewparts/group-info-import.js.map +0 -1
  138. package/dist-client/viewparts/group-info.d.ts +0 -10
  139. package/dist-client/viewparts/group-info.js +0 -92
  140. package/dist-client/viewparts/group-info.js.map +0 -1
  141. package/dist-client/viewparts/index.d.ts +0 -3
  142. package/dist-client/viewparts/index.js +0 -4
  143. package/dist-client/viewparts/index.js.map +0 -1
  144. package/dist-client/viewparts/link-builder.d.ts +0 -22
  145. package/dist-client/viewparts/link-builder.js +0 -217
  146. package/dist-client/viewparts/link-builder.js.map +0 -1
  147. package/dist-client/viewparts/play-group-info-basic.d.ts +0 -16
  148. package/dist-client/viewparts/play-group-info-basic.js +0 -249
  149. package/dist-client/viewparts/play-group-info-basic.js.map +0 -1
  150. package/dist-client/viewparts/play-group-info-link.d.ts +0 -10
  151. package/dist-client/viewparts/play-group-info-link.js +0 -48
  152. package/dist-client/viewparts/play-group-info-link.js.map +0 -1
  153. package/dist-client/viewparts/play-group-info.d.ts +0 -13
  154. package/dist-client/viewparts/play-group-info.js +0 -90
  155. package/dist-client/viewparts/play-group-info.js.map +0 -1
  156. package/dist-server/index.js +0 -5
  157. package/dist-server/index.js.map +0 -1
  158. package/dist-server/migrations/index.js +0 -12
  159. package/dist-server/migrations/index.js.map +0 -1
  160. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1,532 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@material/mwc-icon';
3
- import '../viewparts/board-info';
4
- import '../viewparts/group-info';
5
- import '../board-list/board-tile-list';
6
- import '../board-list/group-bar';
7
- import gql from 'graphql-tag';
8
- import { css, html } from 'lit';
9
- import { customElement, property, query, state } from 'lit/decorators.js';
10
- import { connect } from 'pwa-helpers/connect-mixin.js';
11
- import { client } from '@operato/graphql';
12
- import { i18next, localize } from '@operato/i18n';
13
- import { openOverlay } from '@operato/layout';
14
- import { pulltorefresh } from '@operato/pull-to-refresh';
15
- import { navigate, PageView, store } from '@operato/shell';
16
- import { ScrollbarStyles } from '@operato/styles';
17
- import InfiniteScrollable from '@operato/utils/mixins/infinite-scrollable.js';
18
- import { UPDATE_FAVORITES } from '@things-factory/fav-base';
19
- import { swipe } from '@things-factory/utils';
20
- import { cloneBoard, releaseBoard, revertBoardVersion, createBoard, createGroup, deleteBoard, deleteGroup, fetchBoardList, fetchFavoriteBoardList, fetchMyBoardList, fetchGroupList, updateBoard, updateGroup, importBoards } from '../graphql';
21
- let BoardListPage = class BoardListPage extends localize(i18next)(connect(store)(InfiniteScrollable(PageView))) {
22
- get context() {
23
- var groupId = this.groupId;
24
- var group = this.groups && this.groups.find(group => group.id === groupId);
25
- return {
26
- title: {
27
- icon: 'dashboard',
28
- text: group ? 'Group ' + group.name : groupId == 'favor' ? 'Favorite' : groupId == 'mywork' ? 'My works' : 'Board List'
29
- },
30
- search: {
31
- handler: search => {
32
- this.searchText = search;
33
- this.refreshBoards();
34
- },
35
- value: this.searchText || ''
36
- },
37
- board_topmenu: true
38
- };
39
- }
40
- constructor() {
41
- super();
42
- this.groups = [];
43
- this.boards = [];
44
- this.favorites = [];
45
- this.searchText = '';
46
- this._page = 1;
47
- this._total = 0; /* required for infinite-scrolling */
48
- this._infiniteScrollOptions.limit = 50;
49
- }
50
- render() {
51
- return html `
52
- <group-bar .groups=${this.groups} .groupId=${this.groupId} targetPage="board-list" @info-group=${e => this.onInfoGroup(e.detail)}></group-bar>
53
-
54
- <board-tile-list
55
- id="list"
56
- .boards=${this.boards}
57
- .favorites=${this.favorites}
58
- .groups=${this.groups}
59
- .group=${this.groupId}
60
- search-text=${this.searchText}
61
- @info-board=${e => this.onInfoBoard(e.detail)}
62
- @scroll=${e => {
63
- this.onScroll(e);
64
- }}
65
- @create-board=${e => this.onCreateBoard(e.detail)}
66
- @refresh-favorites=${e => this.refreshFavorites()}
67
- creatable
68
- ></board-tile-list>
69
- `;
70
- }
71
- async refresh() {
72
- this.groups = (await fetchGroupList()).groups.items;
73
- if (this.groups) {
74
- await this.refreshBoards();
75
- }
76
- }
77
- async getBoards({ page = 1, limit = this._infiniteScrollOptions.limit } = {}) {
78
- if (this.groupId && this.groupId == 'favor') {
79
- return await this.getFavoriteBoards({
80
- page,
81
- limit
82
- });
83
- }
84
- else if (this.groupId && this.groupId == 'mywork') {
85
- return await this.getMyBoards({
86
- page,
87
- limit
88
- });
89
- }
90
- const filters = [];
91
- if (this.groupId) {
92
- filters.push({
93
- name: 'groupId',
94
- operator: 'eq',
95
- value: this.groupId
96
- });
97
- }
98
- if (this.searchText) {
99
- filters.push({
100
- name: 'name',
101
- operator: 'search',
102
- value: '%' + this.searchText + '%'
103
- });
104
- }
105
- var listParam = {
106
- filters,
107
- sortings: [
108
- {
109
- name: 'name',
110
- desc: false
111
- }
112
- ],
113
- pagination: {
114
- page,
115
- limit
116
- }
117
- };
118
- return (await fetchBoardList(listParam)).boards;
119
- }
120
- async getFavoriteBoards({ page = 1, limit = this._infiniteScrollOptions.limit } = {}) {
121
- const filters = [];
122
- if (this.searchText) {
123
- filters.push({
124
- name: 'name',
125
- operator: 'search',
126
- value: '%' + this.searchText + '%'
127
- });
128
- }
129
- var listParam = {
130
- filters,
131
- pagination: {
132
- page,
133
- limit
134
- }
135
- };
136
- return (await fetchFavoriteBoardList(listParam)).favoriteBoards;
137
- }
138
- async getMyBoards({ page = 1, limit = this._infiniteScrollOptions.limit } = {}) {
139
- const filters = [];
140
- if (this.searchText) {
141
- filters.push({
142
- name: 'name',
143
- operator: 'search',
144
- value: '%' + this.searchText + '%'
145
- });
146
- }
147
- var listParam = {
148
- filters,
149
- pagination: {
150
- page,
151
- limit
152
- }
153
- };
154
- return (await fetchMyBoardList(listParam)).boardsCreatedByMe;
155
- }
156
- async refreshBoards() {
157
- if (!this.groups) {
158
- await this.refresh();
159
- return;
160
- }
161
- var { items: boards, total } = await this.getBoards();
162
- this.boards = boards;
163
- this._page = 1;
164
- this._total = total;
165
- this.updateContext();
166
- this.scrollTargetEl.style.transition = '';
167
- this.scrollTargetEl.style.transform = `translate3d(0, 0, 0)`;
168
- }
169
- async appendBoards() {
170
- if (!this.groups) {
171
- await this.refresh();
172
- return;
173
- }
174
- var { items: boards, total } = await this.getBoards({ page: this._page + 1 });
175
- this.boards = [...this.boards, ...boards];
176
- this._page = this._page + 1;
177
- this._total = total;
178
- }
179
- async scrollAction() {
180
- return this.appendBoards();
181
- }
182
- async pageInitialized() {
183
- this.refresh();
184
- }
185
- async pageUpdated(changes, lifecycle) {
186
- var _a;
187
- if (this.active) {
188
- this.page = lifecycle.page;
189
- this.groupId = lifecycle.resourceId;
190
- this.searchText = ((_a = lifecycle.params) === null || _a === void 0 ? void 0 : _a.search) || '';
191
- await this.updateComplete;
192
- this.refreshBoards();
193
- }
194
- }
195
- stateChanged(state) {
196
- this.favorites = state.favorite.favorites;
197
- }
198
- firstUpdated() {
199
- const list = this.scrollTargetEl;
200
- pulltorefresh({
201
- container: this.renderRoot,
202
- scrollable: list,
203
- refresh: () => {
204
- return this.refresh();
205
- }
206
- });
207
- swipe({
208
- container: list,
209
- animates: {
210
- dragging: async (d, opts) => {
211
- var groups = [{ id: '' }, { id: 'favor' }, ...this.groups];
212
- var currentIndex = groups.findIndex(group => group.id == this.groupId);
213
- if ((d > 0 && currentIndex <= 0) || (d < 0 && currentIndex >= groups.length - 1)) {
214
- /* TODO blocked gesture */
215
- return false;
216
- }
217
- list.style.transform = `translate3d(${d}px, 0, 0)`;
218
- },
219
- aborting: async (opts) => {
220
- list.style.transition = 'transform 0.3s';
221
- list.style.transform = `translate3d(0, 0, 0)`;
222
- setTimeout(() => {
223
- list.style.transition = '';
224
- });
225
- },
226
- swiping: async (d, opts) => {
227
- var groups = [{ id: '' }, { id: 'favor' }, ...this.groups];
228
- var currentIndex = groups.findIndex(group => group.id == this.groupId);
229
- if ((d > 0 && currentIndex <= 0) || (d < 0 && currentIndex >= groups.length - 1)) {
230
- list.style.transition = '';
231
- list.style.transform = `translate3d(0, 0, 0)`;
232
- }
233
- else {
234
- list.style.transition = 'transform 0.3s';
235
- list.style.transform = `translate3d(${d < 0 ? '-100%' : '100%'}, 0, 0)`;
236
- navigate(`${this.page}/${groups[currentIndex + (d < 0 ? 1 : -1)].id}${this.searchText ? '?search=' + this.searchText : ''}`);
237
- }
238
- }
239
- }
240
- });
241
- }
242
- async onInfoBoard(board) {
243
- openOverlay('viewpart-info', {
244
- template: html `
245
- <board-info
246
- .board=${board}
247
- .groupId=${this.groupId}
248
- @clone-board=${e => this.onCloneBoard(e.detail)}
249
- @release-board=${e => this.onReleaseBoard(e.detail)}
250
- @revert-board-version=${e => this.onRevertBoardVersion(e.detail)}
251
- @update-board=${e => this.onUpdateBoard(e.detail)}
252
- @delete-board=${e => this.onDeleteBoard(e.detail)}
253
- @join-playgroup=${e => this.onJoinPlayGroup(e.detail)}
254
- @leave-playgroup=${e => this.onLeavePlayGroup(e.detail)}
255
- @register-template=${e => this.onRegisterTemplate(e.detail)}
256
- ></board-info>
257
- `
258
- });
259
- }
260
- async onInfoGroup(groupId) {
261
- openOverlay('viewpart-info', {
262
- template: html `
263
- <group-info
264
- .groupId=${groupId}
265
- @update-group=${e => this.onUpdateGroup(e.detail)}
266
- @delete-group=${e => this.onDeleteGroup(e.detail)}
267
- @create-group=${e => this.onCreateGroup(e.detail)}
268
- @import-boards=${e => this.onImportBoards(e.detail)}
269
- ></group-info>
270
- `
271
- });
272
- }
273
- async onCreateGroup(group) {
274
- try {
275
- const data = await createGroup(group);
276
- data && this._notify('info', i18next.t('text.group created', { group: group.name }));
277
- }
278
- catch (ex) {
279
- this._notify('error', ex, ex);
280
- }
281
- this.refresh();
282
- }
283
- async onUpdateGroup(group) {
284
- try {
285
- const data = await updateGroup(group);
286
- data && this._notify('info', i18next.t('text.group updated', { group: group.name }));
287
- }
288
- catch (ex) {
289
- this._notify('error', ex, ex);
290
- }
291
- this.refresh();
292
- }
293
- async onDeleteGroup(group) {
294
- try {
295
- const data = await deleteGroup(group.id);
296
- data && this._notify('info', i18next.t('text.group deleted', { group: group.name }));
297
- }
298
- catch (ex) {
299
- this._notify('error', ex, ex);
300
- }
301
- this.refresh();
302
- }
303
- async onImportBoards({ group, files, overwrite }) {
304
- try {
305
- const data = await importBoards({ groupId: group.id, files, overwrite });
306
- data && this._notify('info', i18next.t('text.boards imported', { count: files.length, group: group.name }));
307
- }
308
- catch (ex) {
309
- this._notify('error', ex, ex);
310
- }
311
- this.refresh();
312
- }
313
- async onCreateBoard(board) {
314
- try {
315
- if (!board.model) {
316
- board.model = {
317
- width: 800,
318
- height: 600
319
- };
320
- }
321
- const data = await createBoard(board);
322
- data && this._notify('info', i18next.t('text.board created', { board: board.name }));
323
- }
324
- catch (ex) {
325
- this._notify('error', ex, ex);
326
- }
327
- this.refreshBoards();
328
- }
329
- async onCloneBoard({ id, name, description, targetSubdomain, targetGroupId }) {
330
- try {
331
- const data = await cloneBoard({
332
- id,
333
- name,
334
- description,
335
- targetSubdomain,
336
- targetGroupId
337
- });
338
- data && this._notify('info', i18next.t('text.board cloned', { board: name }));
339
- }
340
- catch (ex) {
341
- this._notify('error', ex, ex);
342
- }
343
- this.refreshBoards();
344
- }
345
- async onReleaseBoard(board) {
346
- try {
347
- const data = await releaseBoard(board);
348
- data && this._notify('info', i18next.t('text.board released', { board: board.name }));
349
- }
350
- catch (ex) {
351
- this._notify('error', ex, ex);
352
- }
353
- this.refreshBoards();
354
- }
355
- async onRevertBoardVersion({ id, version }) {
356
- try {
357
- const board = await revertBoardVersion(id, version);
358
- board && this._notify('info', i18next.t('text.board reverted', { board: board.name, version }));
359
- }
360
- catch (ex) {
361
- this._notify('error', ex, ex);
362
- }
363
- this.refreshBoards();
364
- }
365
- async onUpdateBoard(board) {
366
- try {
367
- const data = await updateBoard(board);
368
- data && this._notify('info', i18next.t('text.board updated', { board: board.name }));
369
- }
370
- catch (ex) {
371
- this._notify('error', ex, ex);
372
- }
373
- this.refreshBoards();
374
- }
375
- async onDeleteBoard(board) {
376
- try {
377
- const data = await deleteBoard(board.id);
378
- data && this._notify('info', i18next.t('text.board deleted', { board: board.name }));
379
- }
380
- catch (ex) {
381
- this._notify('error', ex, ex);
382
- }
383
- this.refreshBoards();
384
- }
385
- async onJoinPlayGroup({ board, playGroup }) {
386
- try {
387
- const { data } = await client.mutate({
388
- mutation: gql `
389
- mutation JoinPlayGroup($id: String!, $boardIds: [String!]!) {
390
- joinPlayGroup(id: $id, boardIds: $boardIds) {
391
- id
392
- }
393
- }
394
- `,
395
- variables: {
396
- id: playGroup.id,
397
- boardIds: [board.id]
398
- }
399
- });
400
- data && this._notify('info', i18next.t('text.joined into play-group', { board: board.name, playGroup: playGroup.name }));
401
- }
402
- catch (ex) {
403
- this._notify('error', ex, ex);
404
- }
405
- }
406
- async onLeavePlayGroup({ board, playGroup }) {
407
- try {
408
- const { data } = await client.mutate({
409
- mutation: gql `
410
- mutation ($id: String!, $boardIds: [String!]!) {
411
- leavePlayGroup(id: $id, boardIds: $boardIds) {
412
- id
413
- }
414
- }
415
- `,
416
- variables: {
417
- id: playGroup.id,
418
- boardIds: [board.id]
419
- }
420
- });
421
- data && this._notify('info', i18next.t('text.leaved from play-group', { board: board.name, playGroup: playGroup.name }));
422
- }
423
- catch (ex) {
424
- this._notify('error', ex, ex);
425
- }
426
- }
427
- async onRegisterTemplate({ id, name, description, visibility }) {
428
- try {
429
- const { data } = await client.mutate({
430
- mutation: gql `
431
- mutation ($id: String!, $name: String!, $description: String!, $visibility: String!) {
432
- registerBoardAsTemplate(id: $id, name: $name, description: $description, visibility: $visibility) {
433
- id
434
- }
435
- }
436
- `,
437
- variables: {
438
- id,
439
- name,
440
- description,
441
- visibility
442
- }
443
- });
444
- data &&
445
- this._notify('info', i18next.t('text.info_x_successfully', { x: i18next.t('text.register-template') }), {
446
- name
447
- });
448
- }
449
- catch (ex) {
450
- this._notify('error', ex, ex);
451
- }
452
- }
453
- async refreshFavorites() {
454
- const { data } = await client.query({
455
- query: gql `
456
- query {
457
- myFavorites {
458
- id
459
- routing
460
- }
461
- }
462
- `
463
- });
464
- data &&
465
- store.dispatch({
466
- type: UPDATE_FAVORITES,
467
- favorites: data.myFavorites.map(favorite => favorite.routing)
468
- });
469
- }
470
- _notify(level, message, ex) {
471
- document.dispatchEvent(new CustomEvent('notify', {
472
- detail: {
473
- level,
474
- message,
475
- ex
476
- }
477
- }));
478
- }
479
- };
480
- BoardListPage.styles = [
481
- ScrollbarStyles,
482
- css `
483
- :host {
484
- display: flex;
485
- flex-direction: column;
486
- position: relative;
487
-
488
- overflow: hidden;
489
- }
490
-
491
- board-tile-list {
492
- flex: 1;
493
- overflow-y: auto;
494
- }
495
-
496
- #create {
497
- position: absolute;
498
- bottom: 15px;
499
- right: 16px;
500
- }
501
- `
502
- ];
503
- __decorate([
504
- property({ type: String }),
505
- __metadata("design:type", String)
506
- ], BoardListPage.prototype, "groupId", void 0);
507
- __decorate([
508
- property({ type: Array }),
509
- __metadata("design:type", Array)
510
- ], BoardListPage.prototype, "groups", void 0);
511
- __decorate([
512
- property({ type: Array }),
513
- __metadata("design:type", Array)
514
- ], BoardListPage.prototype, "boards", void 0);
515
- __decorate([
516
- property({ type: Array }),
517
- __metadata("design:type", Array)
518
- ], BoardListPage.prototype, "favorites", void 0);
519
- __decorate([
520
- state(),
521
- __metadata("design:type", String)
522
- ], BoardListPage.prototype, "searchText", void 0);
523
- __decorate([
524
- query('board-tile-list'),
525
- __metadata("design:type", HTMLElement)
526
- ], BoardListPage.prototype, "scrollTargetEl", void 0);
527
- BoardListPage = __decorate([
528
- customElement('board-list-page'),
529
- __metadata("design:paramtypes", [])
530
- ], BoardListPage);
531
- export { BoardListPage };
532
- //# sourceMappingURL=board-list-page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"board-list-page.js","sourceRoot":"","sources":["../../client/pages/board-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/mwc-icon'\nimport '../viewparts/board-info'\nimport '../viewparts/group-info'\nimport '../board-list/board-tile-list'\nimport '../board-list/group-bar'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAll, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openOverlay } from '@operato/layout'\nimport { pulltorefresh } from '@operato/pull-to-refresh'\nimport { navigate, PageView, store } from '@operato/shell'\nimport { ScrollbarStyles } from '@operato/styles'\nimport InfiniteScrollable from '@operato/utils/mixins/infinite-scrollable.js'\nimport { UPDATE_FAVORITES } from '@things-factory/fav-base'\nimport { swipe } from '@things-factory/utils'\n\nimport {\n cloneBoard,\n releaseBoard,\n revertBoardVersion,\n createBoard,\n createGroup,\n deleteBoard,\n deleteGroup,\n fetchBoardList,\n fetchFavoriteBoardList,\n fetchMyBoardList,\n fetchGroupList,\n updateBoard,\n updateGroup,\n importBoards\n} from '../graphql'\n\n@customElement('board-list-page')\nexport class BoardListPage extends localize(i18next)(connect(store)(InfiniteScrollable(PageView))) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n position: relative;\n\n overflow: hidden;\n }\n\n board-tile-list {\n flex: 1;\n overflow-y: auto;\n }\n\n #create {\n position: absolute;\n bottom: 15px;\n right: 16px;\n }\n `\n ]\n\n @property({ type: String }) groupId?: string\n @property({ type: Array }) groups: any[] = []\n @property({ type: Array }) boards: any[] = []\n @property({ type: Array }) favorites: any[] = []\n\n @state() searchText: string = ''\n\n @query('board-tile-list') scrollTargetEl!: HTMLElement\n\n private _page: number = 1\n private _total: number = 0 /* required for infinite-scrolling */\n\n private page?: string\n\n get context() {\n var groupId = this.groupId\n var group = this.groups && this.groups.find(group => group.id === groupId)\n\n return {\n title: {\n icon: 'dashboard',\n text: group ? 'Group ' + group.name : groupId == 'favor' ? 'Favorite' : groupId == 'mywork' ? 'My works' : 'Board List'\n },\n search: {\n handler: search => {\n this.searchText = search\n this.refreshBoards()\n },\n value: this.searchText || ''\n },\n board_topmenu: true\n }\n }\n\n constructor() {\n super()\n\n this._infiniteScrollOptions.limit = 50\n }\n\n render() {\n return html`\n <group-bar .groups=${this.groups} .groupId=${this.groupId} targetPage=\"board-list\" @info-group=${e => this.onInfoGroup(e.detail)}></group-bar>\n\n <board-tile-list\n id=\"list\"\n .boards=${this.boards}\n .favorites=${this.favorites}\n .groups=${this.groups}\n .group=${this.groupId}\n search-text=${this.searchText}\n @info-board=${e => this.onInfoBoard(e.detail)}\n @scroll=${e => {\n this.onScroll(e)\n }}\n @create-board=${e => this.onCreateBoard(e.detail)}\n @refresh-favorites=${e => this.refreshFavorites()}\n creatable\n ></board-tile-list>\n `\n }\n\n async refresh() {\n this.groups = (await fetchGroupList()).groups.items\n\n if (this.groups) {\n await this.refreshBoards()\n }\n }\n\n async getBoards({ page = 1, limit = this._infiniteScrollOptions.limit } = {}) {\n if (this.groupId && this.groupId == 'favor') {\n return await this.getFavoriteBoards({\n page,\n limit\n })\n } else if (this.groupId && this.groupId == 'mywork') {\n return await this.getMyBoards({\n page,\n limit\n })\n }\n\n const filters = [] as any[]\n\n if (this.groupId) {\n filters.push({\n name: 'groupId',\n operator: 'eq',\n value: this.groupId\n })\n }\n\n if (this.searchText) {\n filters.push({\n name: 'name',\n operator: 'search',\n value: '%' + this.searchText + '%'\n })\n }\n\n var listParam = {\n filters,\n sortings: [\n {\n name: 'name',\n desc: false\n }\n ],\n pagination: {\n page,\n limit\n }\n }\n\n return (await fetchBoardList(listParam)).boards\n }\n\n async getFavoriteBoards({ page = 1, limit = this._infiniteScrollOptions.limit } = {}) {\n const filters = [] as any[]\n\n if (this.searchText) {\n filters.push({\n name: 'name',\n operator: 'search',\n value: '%' + this.searchText + '%'\n })\n }\n\n var listParam = {\n filters,\n pagination: {\n page,\n limit\n }\n }\n\n return (await fetchFavoriteBoardList(listParam)).favoriteBoards\n }\n\n async getMyBoards({ page = 1, limit = this._infiniteScrollOptions.limit } = {}) {\n const filters = [] as any[]\n\n if (this.searchText) {\n filters.push({\n name: 'name',\n operator: 'search',\n value: '%' + this.searchText + '%'\n })\n }\n\n var listParam = {\n filters,\n pagination: {\n page,\n limit\n }\n }\n\n return (await fetchMyBoardList(listParam)).boardsCreatedByMe\n }\n\n async refreshBoards() {\n if (!this.groups) {\n await this.refresh()\n return\n }\n\n var { items: boards, total } = await this.getBoards()\n this.boards = boards\n this._page = 1\n this._total = total\n\n this.updateContext()\n\n this.scrollTargetEl.style.transition = ''\n this.scrollTargetEl.style.transform = `translate3d(0, 0, 0)`\n }\n\n async appendBoards() {\n if (!this.groups) {\n await this.refresh()\n return\n }\n\n var { items: boards, total } = await this.getBoards({ page: this._page + 1 })\n this.boards = [...this.boards, ...boards]\n this._page = this._page + 1\n this._total = total\n }\n\n async scrollAction() {\n return this.appendBoards()\n }\n\n async pageInitialized() {\n this.refresh()\n }\n\n async pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.page = lifecycle.page\n this.groupId = lifecycle.resourceId\n this.searchText = lifecycle.params?.search || ''\n\n await this.updateComplete\n\n this.refreshBoards()\n }\n }\n\n stateChanged(state) {\n this.favorites = state.favorite.favorites\n }\n\n firstUpdated() {\n const list = this.scrollTargetEl\n\n pulltorefresh({\n container: this.renderRoot,\n scrollable: list,\n refresh: () => {\n return this.refresh()\n }\n })\n\n swipe({\n container: list,\n animates: {\n dragging: async (d, opts) => {\n var groups = [{ id: '' }, { id: 'favor' }, ...this.groups]\n var currentIndex = groups.findIndex(group => group.id == this.groupId)\n\n if ((d > 0 && currentIndex <= 0) || (d < 0 && currentIndex >= groups.length - 1)) {\n /* TODO blocked gesture */\n return false\n }\n\n list.style.transform = `translate3d(${d}px, 0, 0)`\n },\n aborting: async opts => {\n list.style.transition = 'transform 0.3s'\n list.style.transform = `translate3d(0, 0, 0)`\n\n setTimeout(() => {\n list.style.transition = ''\n })\n },\n swiping: async (d, opts) => {\n var groups = [{ id: '' }, { id: 'favor' }, ...this.groups]\n var currentIndex = groups.findIndex(group => group.id == this.groupId)\n\n if ((d > 0 && currentIndex <= 0) || (d < 0 && currentIndex >= groups.length - 1)) {\n list.style.transition = ''\n list.style.transform = `translate3d(0, 0, 0)`\n } else {\n list.style.transition = 'transform 0.3s'\n list.style.transform = `translate3d(${d < 0 ? '-100%' : '100%'}, 0, 0)`\n\n navigate(`${this.page}/${groups[currentIndex + (d < 0 ? 1 : -1)].id}${this.searchText ? '?search=' + this.searchText : ''}`)\n }\n }\n }\n })\n }\n\n async onInfoBoard(board) {\n openOverlay('viewpart-info', {\n template: html`\n <board-info\n .board=${board}\n .groupId=${this.groupId}\n @clone-board=${e => this.onCloneBoard(e.detail)}\n @release-board=${e => this.onReleaseBoard(e.detail)}\n @revert-board-version=${e => this.onRevertBoardVersion(e.detail)}\n @update-board=${e => this.onUpdateBoard(e.detail)}\n @delete-board=${e => this.onDeleteBoard(e.detail)}\n @join-playgroup=${e => this.onJoinPlayGroup(e.detail)}\n @leave-playgroup=${e => this.onLeavePlayGroup(e.detail)}\n @register-template=${e => this.onRegisterTemplate(e.detail)}\n ></board-info>\n `\n })\n }\n\n async onInfoGroup(groupId) {\n openOverlay('viewpart-info', {\n template: html`\n <group-info\n .groupId=${groupId}\n @update-group=${e => this.onUpdateGroup(e.detail)}\n @delete-group=${e => this.onDeleteGroup(e.detail)}\n @create-group=${e => this.onCreateGroup(e.detail)}\n @import-boards=${e => this.onImportBoards(e.detail)}\n ></group-info>\n `\n })\n }\n\n async onCreateGroup(group) {\n try {\n const data = await createGroup(group)\n data && this._notify('info', i18next.t('text.group created', { group: group.name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n\n this.refresh()\n }\n\n async onUpdateGroup(group) {\n try {\n const data = await updateGroup(group)\n data && this._notify('info', i18next.t('text.group updated', { group: group.name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n\n this.refresh()\n }\n\n async onDeleteGroup(group) {\n try {\n const data = await deleteGroup(group.id)\n data && this._notify('info', i18next.t('text.group deleted', { group: group.name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n\n this.refresh()\n }\n\n async onImportBoards({ group, files, overwrite }) {\n try {\n const data = await importBoards({ groupId: group.id, files, overwrite })\n data && this._notify('info', i18next.t('text.boards imported', { count: files.length, group: group.name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n\n this.refresh()\n }\n\n async onCreateBoard(board) {\n try {\n if (!board.model) {\n board.model = {\n width: 800,\n height: 600\n }\n }\n\n const data = await createBoard(board)\n\n data && this._notify('info', i18next.t('text.board created', { board: board.name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n\n this.refreshBoards()\n }\n\n async onCloneBoard({ id, name, description, targetSubdomain, targetGroupId }) {\n try {\n const data = await cloneBoard({\n id,\n name,\n description,\n targetSubdomain,\n targetGroupId\n })\n data && this._notify('info', i18next.t('text.board cloned', { board: name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n\n this.refreshBoards()\n }\n\n async onReleaseBoard(board) {\n try {\n const data = await releaseBoard(board)\n data && this._notify('info', i18next.t('text.board released', { board: board.name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n\n this.refreshBoards()\n }\n\n async onRevertBoardVersion({ id, version }) {\n try {\n const board = await revertBoardVersion(id, version)\n board && this._notify('info', i18next.t('text.board reverted', { board: board.name, version }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n\n this.refreshBoards()\n }\n\n async onUpdateBoard(board) {\n try {\n const data = await updateBoard(board)\n data && this._notify('info', i18next.t('text.board updated', { board: board.name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n\n this.refreshBoards()\n }\n\n async onDeleteBoard(board) {\n try {\n const data = await deleteBoard(board.id)\n data && this._notify('info', i18next.t('text.board deleted', { board: board.name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n\n this.refreshBoards()\n }\n\n async onJoinPlayGroup({ board, playGroup }) {\n try {\n const { data } = await client.mutate({\n mutation: gql`\n mutation JoinPlayGroup($id: String!, $boardIds: [String!]!) {\n joinPlayGroup(id: $id, boardIds: $boardIds) {\n id\n }\n }\n `,\n variables: {\n id: playGroup.id,\n boardIds: [board.id]\n }\n })\n\n data && this._notify('info', i18next.t('text.joined into play-group', { board: board.name, playGroup: playGroup.name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n }\n\n async onLeavePlayGroup({ board, playGroup }) {\n try {\n const { data } = await client.mutate({\n mutation: gql`\n mutation ($id: String!, $boardIds: [String!]!) {\n leavePlayGroup(id: $id, boardIds: $boardIds) {\n id\n }\n }\n `,\n variables: {\n id: playGroup.id,\n boardIds: [board.id]\n }\n })\n\n data && this._notify('info', i18next.t('text.leaved from play-group', { board: board.name, playGroup: playGroup.name }))\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n }\n\n async onRegisterTemplate({ id, name, description, visibility }) {\n try {\n const { data } = await client.mutate({\n mutation: gql`\n mutation ($id: String!, $name: String!, $description: String!, $visibility: String!) {\n registerBoardAsTemplate(id: $id, name: $name, description: $description, visibility: $visibility) {\n id\n }\n }\n `,\n variables: {\n id,\n name,\n description,\n visibility\n }\n })\n\n data &&\n this._notify('info', i18next.t('text.info_x_successfully', { x: i18next.t('text.register-template') }), {\n name\n })\n } catch (ex) {\n this._notify('error', ex, ex)\n }\n }\n\n async refreshFavorites() {\n const { data } = await client.query({\n query: gql`\n query {\n myFavorites {\n id\n routing\n }\n }\n `\n })\n\n data &&\n store.dispatch({\n type: UPDATE_FAVORITES,\n favorites: data.myFavorites.map(favorite => favorite.routing)\n })\n }\n\n _notify(level: 'info' | 'error' | 'warn', message: any, ex?: any) {\n document.dispatchEvent(\n new CustomEvent('notify', {\n detail: {\n level,\n message,\n ex\n }\n })\n )\n }\n}\n"]}
@@ -1,49 +0,0 @@
1
- import './things-scene-components.import';
2
- import '@operato/board/ox-board-modeller.js';
3
- import { BoardModeller } from '@operato/board/ox-board-modeller.js';
4
- import { PageView } from '@operato/shell';
5
- declare const BoardModellerPage_base: (new (...args: any[]) => {
6
- _storeUnsubscribe: import("redux").Unsubscribe;
7
- connectedCallback(): void;
8
- disconnectedCallback(): void;
9
- stateChanged(_state: unknown): void;
10
- readonly isConnected: boolean;
11
- }) & typeof PageView;
12
- export declare class BoardModellerPage extends BoardModellerPage_base {
13
- constructor();
14
- static styles: import("lit").CSSResult[];
15
- boardId?: string | null;
16
- boardName?: string;
17
- model: any;
18
- baseUrl?: string;
19
- selected: any;
20
- mode?: number;
21
- hideProperty?: boolean;
22
- overlay?: string | null;
23
- scene: any;
24
- componentGroupList?: any[];
25
- fonts: any;
26
- propertyEditor: any;
27
- preparing?: boolean;
28
- private board;
29
- modeller?: BoardModeller;
30
- get context(): {
31
- title: string | undefined;
32
- help: string;
33
- widebleed: boolean;
34
- };
35
- get oopsNote(): {
36
- icon: string;
37
- title: string;
38
- description: string;
39
- };
40
- refresh(): Promise<void>;
41
- updated(changes: any): Promise<void>;
42
- pageUpdated(changes: any, lifecycle: any): void;
43
- stateChanged(state: any): void;
44
- render(): import("lit-html").TemplateResult<1>;
45
- updateBoard(): Promise<void>;
46
- saveBoard(): Promise<void>;
47
- canDeactivate(): Promise<boolean>;
48
- }
49
- export {};