@things-factory/board-ui 6.2.101 → 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 (154) hide show
  1. package/client/pages/board-player-page.ts +1 -1
  2. package/client/pages/board-viewer-page.ts +2 -4
  3. package/client/setting-let/board-view-setting-let.ts +2 -6
  4. package/package.json +2 -2
  5. package/dist-client/apptools/favorite-tool.d.ts +0 -26
  6. package/dist-client/apptools/favorite-tool.js +0 -129
  7. package/dist-client/apptools/favorite-tool.js.map +0 -1
  8. package/dist-client/board-list/board-importer.d.ts +0 -6
  9. package/dist-client/board-list/board-importer.js +0 -112
  10. package/dist-client/board-list/board-importer.js.map +0 -1
  11. package/dist-client/board-list/board-tile-list.d.ts +0 -22
  12. package/dist-client/board-list/board-tile-list.js +0 -264
  13. package/dist-client/board-list/board-tile-list.js.map +0 -1
  14. package/dist-client/board-list/group-bar.d.ts +0 -14
  15. package/dist-client/board-list/group-bar.js +0 -145
  16. package/dist-client/board-list/group-bar.js.map +0 -1
  17. package/dist-client/board-list/play-group-bar.d.ts +0 -21
  18. package/dist-client/board-list/play-group-bar.js +0 -142
  19. package/dist-client/board-list/play-group-bar.js.map +0 -1
  20. package/dist-client/board-provider.d.ts +0 -3
  21. package/dist-client/board-provider.js +0 -77
  22. package/dist-client/board-provider.js.map +0 -1
  23. package/dist-client/bootstrap.d.ts +0 -2
  24. package/dist-client/bootstrap.js +0 -30
  25. package/dist-client/bootstrap.js.map +0 -1
  26. package/dist-client/data-grist/board-editor.d.ts +0 -14
  27. package/dist-client/data-grist/board-editor.js +0 -110
  28. package/dist-client/data-grist/board-editor.js.map +0 -1
  29. package/dist-client/data-grist/board-renderer.d.ts +0 -2
  30. package/dist-client/data-grist/board-renderer.js +0 -134
  31. package/dist-client/data-grist/board-renderer.js.map +0 -1
  32. package/dist-client/data-grist/color-map-editor.d.ts +0 -4
  33. package/dist-client/data-grist/color-map-editor.js +0 -15
  34. package/dist-client/data-grist/color-map-editor.js.map +0 -1
  35. package/dist-client/data-grist/color-ranges-editor.d.ts +0 -4
  36. package/dist-client/data-grist/color-ranges-editor.js +0 -15
  37. package/dist-client/data-grist/color-ranges-editor.js.map +0 -1
  38. package/dist-client/graphql/board-template.d.ts +0 -5
  39. package/dist-client/graphql/board-template.js +0 -128
  40. package/dist-client/graphql/board-template.js.map +0 -1
  41. package/dist-client/graphql/board.d.ts +0 -19
  42. package/dist-client/graphql/board.js +0 -231
  43. package/dist-client/graphql/board.js.map +0 -1
  44. package/dist-client/graphql/favorite-board.d.ts +0 -1
  45. package/dist-client/graphql/favorite-board.js +0 -24
  46. package/dist-client/graphql/favorite-board.js.map +0 -1
  47. package/dist-client/graphql/group.d.ts +0 -6
  48. package/dist-client/graphql/group.js +0 -125
  49. package/dist-client/graphql/group.js.map +0 -1
  50. package/dist-client/graphql/index.d.ts +0 -6
  51. package/dist-client/graphql/index.js +0 -7
  52. package/dist-client/graphql/index.js.map +0 -1
  53. package/dist-client/graphql/my-board.d.ts +0 -1
  54. package/dist-client/graphql/my-board.js +0 -24
  55. package/dist-client/graphql/my-board.js.map +0 -1
  56. package/dist-client/graphql/play-group.d.ts +0 -7
  57. package/dist-client/graphql/play-group.js +0 -173
  58. package/dist-client/graphql/play-group.js.map +0 -1
  59. package/dist-client/index.d.ts +0 -8
  60. package/dist-client/index.js +0 -9
  61. package/dist-client/index.js.map +0 -1
  62. package/dist-client/pages/attachment-list-page.d.ts +0 -30
  63. package/dist-client/pages/attachment-list-page.js +0 -128
  64. package/dist-client/pages/attachment-list-page.js.map +0 -1
  65. package/dist-client/pages/board-list-page.d.ts +0 -109
  66. package/dist-client/pages/board-list-page.js +0 -532
  67. package/dist-client/pages/board-list-page.js.map +0 -1
  68. package/dist-client/pages/board-modeller-page.d.ts +0 -49
  69. package/dist-client/pages/board-modeller-page.js +0 -309
  70. package/dist-client/pages/board-modeller-page.js.map +0 -1
  71. package/dist-client/pages/board-player-by-name-page.d.ts +0 -4
  72. package/dist-client/pages/board-player-by-name-page.js +0 -32
  73. package/dist-client/pages/board-player-by-name-page.js.map +0 -1
  74. package/dist-client/pages/board-player-page.d.ts +0 -42
  75. package/dist-client/pages/board-player-page.js +0 -230
  76. package/dist-client/pages/board-player-page.js.map +0 -1
  77. package/dist-client/pages/board-template/board-template-list-page.d.ts +0 -37
  78. package/dist-client/pages/board-template/board-template-list-page.js +0 -226
  79. package/dist-client/pages/board-template/board-template-list-page.js.map +0 -1
  80. package/dist-client/pages/board-viewer-by-name-page.d.ts +0 -4
  81. package/dist-client/pages/board-viewer-by-name-page.js +0 -27
  82. package/dist-client/pages/board-viewer-by-name-page.js.map +0 -1
  83. package/dist-client/pages/board-viewer-page.d.ts +0 -41
  84. package/dist-client/pages/board-viewer-page.js +0 -247
  85. package/dist-client/pages/board-viewer-page.js.map +0 -1
  86. package/dist-client/pages/font-list-page.d.ts +0 -9
  87. package/dist-client/pages/font-list-page.js +0 -31
  88. package/dist-client/pages/font-list-page.js.map +0 -1
  89. package/dist-client/pages/play-list-page.d.ts +0 -58
  90. package/dist-client/pages/play-list-page.js +0 -364
  91. package/dist-client/pages/play-list-page.js.map +0 -1
  92. package/dist-client/pages/printable-board-viewer-page.d.ts +0 -11
  93. package/dist-client/pages/printable-board-viewer-page.js +0 -43
  94. package/dist-client/pages/printable-board-viewer-page.js.map +0 -1
  95. package/dist-client/pages/theme/theme-editors.d.ts +0 -5
  96. package/dist-client/pages/theme/theme-editors.js +0 -53
  97. package/dist-client/pages/theme/theme-editors.js.map +0 -1
  98. package/dist-client/pages/theme/theme-list-page.d.ts +0 -49
  99. package/dist-client/pages/theme/theme-list-page.js +0 -318
  100. package/dist-client/pages/theme/theme-list-page.js.map +0 -1
  101. package/dist-client/pages/things-scene-components-with-tools.import +0 -0
  102. package/dist-client/pages/things-scene-components.import +0 -0
  103. package/dist-client/route.d.ts +0 -1
  104. package/dist-client/route.js +0 -41
  105. package/dist-client/route.js.map +0 -1
  106. package/dist-client/setting-let/board-view-setting-let.d.ts +0 -14
  107. package/dist-client/setting-let/board-view-setting-let.js +0 -70
  108. package/dist-client/setting-let/board-view-setting-let.js.map +0 -1
  109. package/dist-client/themes/board-theme.css +0 -76
  110. package/dist-client/tsconfig.tsbuildinfo +0 -1
  111. package/dist-client/viewparts/board-basic-info.d.ts +0 -47
  112. package/dist-client/viewparts/board-basic-info.js +0 -641
  113. package/dist-client/viewparts/board-basic-info.js.map +0 -1
  114. package/dist-client/viewparts/board-info-link.d.ts +0 -12
  115. package/dist-client/viewparts/board-info-link.js +0 -59
  116. package/dist-client/viewparts/board-info-link.js.map +0 -1
  117. package/dist-client/viewparts/board-info.d.ts +0 -14
  118. package/dist-client/viewparts/board-info.js +0 -94
  119. package/dist-client/viewparts/board-info.js.map +0 -1
  120. package/dist-client/viewparts/board-template-builder.d.ts +0 -16
  121. package/dist-client/viewparts/board-template-builder.js +0 -145
  122. package/dist-client/viewparts/board-template-builder.js.map +0 -1
  123. package/dist-client/viewparts/board-versions.d.ts +0 -12
  124. package/dist-client/viewparts/board-versions.js +0 -157
  125. package/dist-client/viewparts/board-versions.js.map +0 -1
  126. package/dist-client/viewparts/group-info-basic.d.ts +0 -16
  127. package/dist-client/viewparts/group-info-basic.js +0 -247
  128. package/dist-client/viewparts/group-info-basic.js.map +0 -1
  129. package/dist-client/viewparts/group-info-import.d.ts +0 -15
  130. package/dist-client/viewparts/group-info-import.js +0 -137
  131. package/dist-client/viewparts/group-info-import.js.map +0 -1
  132. package/dist-client/viewparts/group-info.d.ts +0 -10
  133. package/dist-client/viewparts/group-info.js +0 -92
  134. package/dist-client/viewparts/group-info.js.map +0 -1
  135. package/dist-client/viewparts/index.d.ts +0 -3
  136. package/dist-client/viewparts/index.js +0 -4
  137. package/dist-client/viewparts/index.js.map +0 -1
  138. package/dist-client/viewparts/link-builder.d.ts +0 -22
  139. package/dist-client/viewparts/link-builder.js +0 -217
  140. package/dist-client/viewparts/link-builder.js.map +0 -1
  141. package/dist-client/viewparts/play-group-info-basic.d.ts +0 -16
  142. package/dist-client/viewparts/play-group-info-basic.js +0 -249
  143. package/dist-client/viewparts/play-group-info-basic.js.map +0 -1
  144. package/dist-client/viewparts/play-group-info-link.d.ts +0 -10
  145. package/dist-client/viewparts/play-group-info-link.js +0 -48
  146. package/dist-client/viewparts/play-group-info-link.js.map +0 -1
  147. package/dist-client/viewparts/play-group-info.d.ts +0 -13
  148. package/dist-client/viewparts/play-group-info.js +0 -90
  149. package/dist-client/viewparts/play-group-info.js.map +0 -1
  150. package/dist-server/index.js +0 -5
  151. package/dist-server/index.js.map +0 -1
  152. package/dist-server/migrations/index.js +0 -12
  153. package/dist-server/migrations/index.js.map +0 -1
  154. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -145,7 +145,7 @@ export class BoardPlayerPage extends connect(store)(PageView) {
145
145
  this.showSpinner = false
146
146
  this.updateContext()
147
147
 
148
- const { autoRefresh = false } = (await clientSettingStore.get('board-view'))?.value || {}
148
+ const { autoRefresh = true } = (await clientSettingStore.get('board-view'))?.value || {}
149
149
  autoRefresh && this.startSubscribingForAutoRefresh()
150
150
  }
151
151
  }
@@ -94,9 +94,7 @@ export class BoardViewerPage extends connect(store)(PageView) {
94
94
  get context() {
95
95
  return {
96
96
  /* can set the page title with the 'title' parameter. */
97
- title:
98
- this.lifecycle.params['title'] ||
99
- (this._board ? this._board.name : this._showSpinner ? 'Fetching board...' : 'Board Not Found')
97
+ title: this.lifecycle.params['title'] || (this._board ? this._board.name : this._showSpinner ? 'Fetching board...' : 'Board Not Found')
100
98
  }
101
99
  }
102
100
 
@@ -203,7 +201,7 @@ export class BoardViewerPage extends connect(store)(PageView) {
203
201
  this._showSpinner = false
204
202
  this.updateContext()
205
203
 
206
- const { autoRefresh = false } = (await clientSettingStore.get('board-view'))?.value || {}
204
+ const { autoRefresh = true } = (await clientSettingStore.get('board-view'))?.value || {}
207
205
  autoRefresh && this.startSubscribingForAutoRefresh()
208
206
  }
209
207
  }
@@ -30,11 +30,7 @@ export class BoardViewSettingLet extends localize(i18next)(LitElement) {
30
30
 
31
31
  <div slot="content">
32
32
  <mwc-formfield label=${String(i18next.t('label.auto refresh board view'))}>
33
- <mwc-checkbox
34
- id="auto-refresh"
35
- @change=${e => this.onChange(e)}
36
- ?checked=${this.autoRefresh}
37
- ></mwc-checkbox>
33
+ <mwc-checkbox id="auto-refresh" @change=${e => this.onChange(e)} ?checked=${this.autoRefresh}></mwc-checkbox>
38
34
  </mwc-formfield>
39
35
  </div>
40
36
  </setting-let>
@@ -42,7 +38,7 @@ export class BoardViewSettingLet extends localize(i18next)(LitElement) {
42
38
  }
43
39
 
44
40
  async firstUpdated() {
45
- const { autoRefresh = false } = (await clientSettingStore.get('board-view'))?.value || {}
41
+ const { autoRefresh = true } = (await clientSettingStore.get('board-view'))?.value || {}
46
42
  this.autoRefresh = autoRefresh
47
43
  }
48
44
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/board-ui",
3
- "version": "6.2.101",
3
+ "version": "6.2.102",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -47,5 +47,5 @@
47
47
  "@things-factory/fav-base": "^6.2.101",
48
48
  "@things-factory/utils": "^6.2.96"
49
49
  },
50
- "gitHead": "fe8410605f23afd19a0770785850ada2eb261d82"
50
+ "gitHead": "de7dc909722996bd44373ef2a8ad2e6f5a0b88d6"
51
51
  }
@@ -1,26 +0,0 @@
1
- import '@material/mwc-icon';
2
- import { LitElement } from 'lit';
3
- declare const FavoriteTool_base: (new (...args: any[]) => {
4
- _storeUnsubscribe: import("redux").Unsubscribe;
5
- connectedCallback(): void;
6
- disconnectedCallback(): void;
7
- stateChanged(_state: unknown): void;
8
- readonly isConnected: boolean;
9
- }) & typeof LitElement;
10
- export declare class FavoriteTool extends FavoriteTool_base {
11
- static styles: import("lit").CSSResult;
12
- favorites: any[];
13
- user: any;
14
- resourceId?: string;
15
- favored?: boolean;
16
- acceptedPages: any[];
17
- page: any;
18
- render(): import("lit-html").TemplateResult<1>;
19
- updated(changes: any): void;
20
- stateChanged(state: any): void;
21
- onClick(event: any): void;
22
- refreshFavorites(): Promise<void>;
23
- removeFavorite(routing: any): Promise<void>;
24
- addFavorite(routing: any): Promise<void>;
25
- }
26
- export {};
@@ -1,129 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@material/mwc-icon';
3
- import gql from 'graphql-tag';
4
- import { css, html, LitElement } from 'lit';
5
- import { customElement, property } from 'lit/decorators.js';
6
- import { connect } from 'pwa-helpers/connect-mixin.js';
7
- import { store } from '@operato/shell';
8
- import { client } from '@operato/graphql';
9
- import { UPDATE_FAVORITES } from '@things-factory/fav-base';
10
- let FavoriteTool = class FavoriteTool extends connect(store)(LitElement) {
11
- constructor() {
12
- super(...arguments);
13
- this.favorites = [];
14
- this.acceptedPages = [];
15
- }
16
- render() {
17
- var renderable = (this.acceptedPages || []).indexOf(this.page) !== -1;
18
- return renderable
19
- ? html `
20
- <mwc-icon @click=${this.onClick.bind(this)} ?favorable=${!this.favored}
21
- >${this.favored ? 'star' : 'star_border'}</mwc-icon
22
- >
23
- `
24
- : html ``;
25
- }
26
- updated(changes) {
27
- if (changes.has('user')) {
28
- this.refreshFavorites();
29
- }
30
- this.favored = (this.favorites || []).includes(this.resourceId);
31
- }
32
- stateChanged(state) {
33
- this.page = state.route.page;
34
- this.favorites = state.favorite.favorites;
35
- this.user = state.auth.user;
36
- this.resourceId = state.route.resourceId;
37
- }
38
- onClick(event) {
39
- if (!this.resourceId) {
40
- return;
41
- }
42
- if (this.favored) {
43
- this.removeFavorite(this.resourceId);
44
- }
45
- else {
46
- this.addFavorite(this.resourceId);
47
- }
48
- }
49
- async refreshFavorites() {
50
- if (!this.user || !this.user.email) {
51
- return;
52
- }
53
- const response = await client.query({
54
- query: gql `
55
- query {
56
- myFavorites {
57
- id
58
- routing
59
- }
60
- }
61
- `
62
- });
63
- store.dispatch({
64
- type: UPDATE_FAVORITES,
65
- favorites: response.data.myFavorites.map(favorite => favorite.routing)
66
- });
67
- }
68
- async removeFavorite(routing) {
69
- await client.query({
70
- query: gql `
71
- mutation {
72
- deleteFavorite(routing: "${routing}")
73
- }
74
- `
75
- });
76
- this.refreshFavorites();
77
- }
78
- async addFavorite(routing) {
79
- await client.query({
80
- query: gql `
81
- mutation {
82
- createFavorite(favorite: {
83
- routing: "${routing}"
84
- }) {
85
- id
86
- routing
87
- }
88
- }
89
- `
90
- });
91
- this.refreshFavorites();
92
- }
93
- };
94
- FavoriteTool.styles = css `
95
- :host {
96
- display: inline-block;
97
- vertical-align: middle;
98
- line-height: 0;
99
- }
100
-
101
- [favorable] {
102
- opacity: 0.5;
103
- }
104
- `;
105
- __decorate([
106
- property({ type: Array }),
107
- __metadata("design:type", Array)
108
- ], FavoriteTool.prototype, "favorites", void 0);
109
- __decorate([
110
- property({ type: Object }),
111
- __metadata("design:type", Object)
112
- ], FavoriteTool.prototype, "user", void 0);
113
- __decorate([
114
- property({ type: String }),
115
- __metadata("design:type", String)
116
- ], FavoriteTool.prototype, "resourceId", void 0);
117
- __decorate([
118
- property({ type: Boolean }),
119
- __metadata("design:type", Boolean)
120
- ], FavoriteTool.prototype, "favored", void 0);
121
- __decorate([
122
- property({ type: Array }),
123
- __metadata("design:type", Array)
124
- ], FavoriteTool.prototype, "acceptedPages", void 0);
125
- FavoriteTool = __decorate([
126
- customElement('favorite-tool')
127
- ], FavoriteTool);
128
- export { FavoriteTool };
129
- //# sourceMappingURL=favorite-tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"favorite-tool.js","sourceRoot":"","sources":["../../client/apptools/favorite-tool.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/mwc-icon'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin.js'\n\nimport { store } from '@operato/shell'\nimport { client } from '@operato/graphql'\nimport { UPDATE_FAVORITES } from '@things-factory/fav-base'\n\n@customElement('favorite-tool')\nexport class FavoriteTool extends connect(store)(LitElement) {\n static styles = css`\n :host {\n display: inline-block;\n vertical-align: middle;\n line-height: 0;\n }\n\n [favorable] {\n opacity: 0.5;\n }\n `\n\n @property({ type: Array }) favorites: any[] = []\n @property({ type: Object }) user: any\n @property({ type: String }) resourceId?: string\n @property({ type: Boolean }) favored?: boolean\n @property({ type: Array }) acceptedPages: any[] = []\n\n page: any\n\n render() {\n var renderable = (this.acceptedPages || []).indexOf(this.page) !== -1\n\n return renderable\n ? html`\n <mwc-icon @click=${this.onClick.bind(this)} ?favorable=${!this.favored}\n >${this.favored ? 'star' : 'star_border'}</mwc-icon\n >\n `\n : html``\n }\n\n updated(changes) {\n if (changes.has('user')) {\n this.refreshFavorites()\n }\n\n this.favored = (this.favorites || []).includes(this.resourceId)\n }\n\n stateChanged(state) {\n this.page = state.route.page\n this.favorites = state.favorite.favorites\n this.user = state.auth.user\n this.resourceId = state.route.resourceId\n }\n\n onClick(event) {\n if (!this.resourceId) {\n return\n }\n\n if (this.favored) {\n this.removeFavorite(this.resourceId)\n } else {\n this.addFavorite(this.resourceId)\n }\n }\n\n async refreshFavorites() {\n if (!this.user || !this.user.email) {\n return\n }\n\n const response = await client.query({\n query: gql`\n query {\n myFavorites {\n id\n routing\n }\n }\n `\n })\n\n store.dispatch({\n type: UPDATE_FAVORITES,\n favorites: response.data.myFavorites.map(favorite => favorite.routing)\n })\n }\n\n async removeFavorite(routing) {\n await client.query({\n query: gql`\n mutation {\n deleteFavorite(routing: \"${routing}\")\n }\n `\n })\n\n this.refreshFavorites()\n }\n\n async addFavorite(routing) {\n await client.query({\n query: gql`\n mutation {\n createFavorite(favorite: {\n routing: \"${routing}\"\n }) {\n id\n routing\n }\n }\n `\n })\n\n this.refreshFavorites()\n }\n}\n"]}
@@ -1,6 +0,0 @@
1
- import '@operato/board/ox-board-viewer.js';
2
- export default class BoardImporter {
3
- static import(file: any, importer: any): void;
4
- static preview(file: any): void;
5
- static set(dropArea: any, judge: any, importer: any): void;
6
- }
@@ -1,112 +0,0 @@
1
- import '@operato/board/ox-board-viewer.js';
2
- function setHighlightStyle(dropArea) {
3
- var style = document.createElement('style');
4
- style.type = 'text/css';
5
- style.innerHTML = `.highlight_me {
6
- background: orange;
7
- cursor: pointer;
8
- }`;
9
- dropArea.appendChild(style);
10
- }
11
- export default class BoardImporter {
12
- static import(file, importer) {
13
- let reader = new FileReader();
14
- reader.readAsText(file);
15
- reader.onloadend = () => {
16
- try {
17
- let model = JSON.parse(reader.result);
18
- importer(file.name.replace(/\.[^/.]+$/, ''), model);
19
- }
20
- catch (e) {
21
- console.error('board import failed', e);
22
- }
23
- };
24
- }
25
- static preview(file) {
26
- let reader = new FileReader();
27
- reader.readAsText(file);
28
- reader.onloadend = () => {
29
- try {
30
- let previewModel = JSON.parse(reader.result);
31
- var preview = document.createElement('ox-board-viewer');
32
- preview.style.width = '100%';
33
- preview.style.height = '80%';
34
- preview.style.margin = '0';
35
- preview.style.padding = '0';
36
- // TODO how to hand over model to previewer
37
- // preview.model = previewModel
38
- // preview.provider = provider;
39
- var buttons = document.createElement('div');
40
- buttons.className = 'buttons';
41
- buttons.innerHTML = `
42
- <paper-button dialog-dismiss>Cancel</paper-button>
43
- <paper-button dialog-confirm autofocus>Accept</paper-button>
44
- `;
45
- var dialog = document.createElement('paper-dialog');
46
- dialog.style.width = '100%';
47
- dialog.style.height = '100%';
48
- dialog.setAttribute('with-backdrop', 'true');
49
- dialog.setAttribute('auto-fit-on-attach', 'true');
50
- dialog.setAttribute('always-on-top', 'true');
51
- dialog.addEventListener('iron-overlay-closed', () => {
52
- dialog.parentNode.removeChild(dialog);
53
- });
54
- dialog.appendChild(preview);
55
- dialog.appendChild(buttons);
56
- document.body.appendChild(dialog);
57
- requestAnimationFrame(() => {
58
- ;
59
- dialog.open();
60
- });
61
- }
62
- catch (e) {
63
- console.error('board preview failed', e);
64
- }
65
- };
66
- // let url = 'YOUR URL HERE'
67
- // let formData = new FormData()
68
- // formData.append('file', file)
69
- // fetch(url, {
70
- // method: 'POST',
71
- // body: formData
72
- // })
73
- // .then(() => { /* Done. Inform the user */ })
74
- // .catch(() => { /* Error. Inform the user */ })
75
- }
76
- static set(dropArea, judge, importer) {
77
- setHighlightStyle(dropArea);
78
- var preventDefaults = e => {
79
- if (!judge || judge()) {
80
- e.preventDefault();
81
- e.stopPropagation();
82
- }
83
- };
84
- var highlight = e => {
85
- if (!judge || judge()) {
86
- dropArea.classList.add('highlight_me');
87
- }
88
- };
89
- var unhighlight = e => {
90
- if (!judge || judge()) {
91
- dropArea.classList.remove('highlight_me');
92
- }
93
- };
94
- ['dragenter', 'dragover', 'dragleave', 'drop'].forEach(event => {
95
- dropArea.addEventListener(event, preventDefaults, false);
96
- });
97
- ['dragenter', 'dragover'].forEach(event => {
98
- dropArea.addEventListener(event, highlight, false);
99
- });
100
- ['dragleave', 'drop'].forEach(event => {
101
- dropArea.addEventListener(event, unhighlight, false);
102
- });
103
- dropArea.addEventListener('drop', e => {
104
- if (!judge || judge()) {
105
- let dt = e.dataTransfer;
106
- let files = dt.files;
107
- [...files].forEach(file => BoardImporter.import(file, importer));
108
- }
109
- }, false);
110
- }
111
- }
112
- //# sourceMappingURL=board-importer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"board-importer.js","sourceRoot":"","sources":["../../client/board-list/board-importer.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/board/ox-board-viewer.js'\n\nimport { BoardViewer } from '@operato/board/ox-board-viewer.js'\n\nfunction setHighlightStyle(dropArea) {\n var style = document.createElement('style')\n\n style.type = 'text/css'\n style.innerHTML = `.highlight_me {\n background: orange;\n cursor: pointer;\n }`\n\n dropArea.appendChild(style)\n}\n\nexport default class BoardImporter {\n static import(file, importer) {\n let reader = new FileReader()\n reader.readAsText(file)\n reader.onloadend = () => {\n try {\n let model = JSON.parse(reader.result as any)\n importer(file.name.replace(/\\.[^/.]+$/, ''), model)\n } catch (e) {\n console.error('board import failed', e)\n }\n }\n }\n\n static preview(file) {\n let reader = new FileReader()\n reader.readAsText(file)\n reader.onloadend = () => {\n try {\n let previewModel = JSON.parse(reader.result as any)\n\n var preview = document.createElement('ox-board-viewer') as BoardViewer\n\n preview.style.width = '100%'\n preview.style.height = '80%'\n preview.style.margin = '0'\n preview.style.padding = '0'\n\n // TODO how to hand over model to previewer\n // preview.model = previewModel\n // preview.provider = provider;\n\n var buttons = document.createElement('div')\n\n buttons.className = 'buttons'\n buttons.innerHTML = `\n <paper-button dialog-dismiss>Cancel</paper-button>\n <paper-button dialog-confirm autofocus>Accept</paper-button>\n `\n\n var dialog = document.createElement('paper-dialog')\n\n dialog.style.width = '100%'\n dialog.style.height = '100%'\n dialog.setAttribute('with-backdrop', 'true')\n dialog.setAttribute('auto-fit-on-attach', 'true')\n dialog.setAttribute('always-on-top', 'true')\n dialog.addEventListener('iron-overlay-closed', () => {\n dialog.parentNode!.removeChild(dialog)\n })\n\n dialog.appendChild(preview)\n dialog.appendChild(buttons)\n document.body.appendChild(dialog)\n\n requestAnimationFrame(() => {\n ;(dialog as any).open()\n })\n } catch (e) {\n console.error('board preview failed', e)\n }\n }\n // let url = 'YOUR URL HERE'\n // let formData = new FormData()\n\n // formData.append('file', file)\n\n // fetch(url, {\n // method: 'POST',\n // body: formData\n // })\n // .then(() => { /* Done. Inform the user */ })\n // .catch(() => { /* Error. Inform the user */ })\n }\n\n static set(dropArea, judge, importer) {\n setHighlightStyle(dropArea)\n\n var preventDefaults = e => {\n if (!judge || judge()) {\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n var highlight = e => {\n if (!judge || judge()) {\n dropArea.classList.add('highlight_me')\n }\n }\n\n var unhighlight = e => {\n if (!judge || judge()) {\n dropArea.classList.remove('highlight_me')\n }\n }\n\n ;['dragenter', 'dragover', 'dragleave', 'drop'].forEach(event => {\n dropArea.addEventListener(event, preventDefaults, false)\n })\n ;['dragenter', 'dragover'].forEach(event => {\n dropArea.addEventListener(event, highlight, false)\n })\n ;['dragleave', 'drop'].forEach(event => {\n dropArea.addEventListener(event, unhighlight, false)\n })\n\n dropArea.addEventListener(\n 'drop',\n e => {\n if (!judge || judge()) {\n let dt = e.dataTransfer\n let files = dt.files\n\n // [...files].forEach((file) => BoardImporter.preview(file))\n ;[...files].forEach(file => BoardImporter.import(file, importer))\n }\n },\n false\n )\n }\n}\n"]}
@@ -1,22 +0,0 @@
1
- import '@operato/board/ox-board-creation-card.js';
2
- import '@material/mwc-icon';
3
- import { LitElement, PropertyValues } from 'lit';
4
- export declare class BoardTileList extends LitElement {
5
- static styles: import("lit").CSSResult[];
6
- boards: any[];
7
- favorites: any[];
8
- groups: any[];
9
- group?: string;
10
- creatable?: boolean;
11
- searchText?: string;
12
- reorderable: boolean;
13
- private draggedItem;
14
- connectedCallback(): void;
15
- render(): import("lit-html").TemplateResult<1>;
16
- updated(changes: PropertyValues<this>): void;
17
- onCreateBoard(e: any): void;
18
- infoBoard(board: any): void;
19
- removeFavorite(boardId: any): Promise<void>;
20
- addFavorite(boardId: any): Promise<void>;
21
- refreshFavorites(): Promise<void>;
22
- }
@@ -1,264 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@operato/board/ox-board-creation-card.js';
3
- import '@material/mwc-icon';
4
- import gql from 'graphql-tag';
5
- import { css, html, LitElement, nothing } from 'lit';
6
- import { customElement, property } from 'lit/decorators.js';
7
- import { keyed } from 'lit/directives/keyed.js';
8
- import { client } from '@operato/graphql';
9
- import { privileged } from '@things-factory/auth-base/dist-client';
10
- let BoardTileList = class BoardTileList extends LitElement {
11
- constructor() {
12
- super(...arguments);
13
- this.boards = [];
14
- this.favorites = [];
15
- this.groups = [];
16
- this.creatable = false;
17
- this.reorderable = false;
18
- }
19
- connectedCallback() {
20
- super.connectedCallback();
21
- if (this.reorderable) {
22
- this.renderRoot.addEventListener('dragstart', (e) => {
23
- var _a;
24
- const target = e.target;
25
- this.draggedItem = target.closest('[card]');
26
- (_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.setData('text/plain', target.innerHTML);
27
- });
28
- this.renderRoot.addEventListener('dragover', (e) => {
29
- e.preventDefault();
30
- const target = e.target;
31
- const targetItem = target.closest('[card]');
32
- if (targetItem && targetItem !== this.draggedItem) {
33
- const targetRect = targetItem.getBoundingClientRect();
34
- const mousePos = e.clientX - targetRect.left;
35
- if (mousePos < targetRect.width / 2) {
36
- // 마우스 위치가 아이템 좌측 반절에 있을 때
37
- this.renderRoot.insertBefore(this.draggedItem, targetItem);
38
- }
39
- else {
40
- // 마우스 위치가 아이템 우측 반절에 있을 때
41
- this.renderRoot.insertBefore(this.draggedItem, targetItem.nextSibling);
42
- }
43
- }
44
- });
45
- this.renderRoot.addEventListener('drop', (e) => {
46
- e.preventDefault();
47
- const boardIds = Array.from(this.renderRoot.querySelectorAll('[card]'))
48
- .map(board => board.getAttribute('id'))
49
- .filter(Boolean);
50
- this.dispatchEvent(new CustomEvent('reordered', {
51
- detail: {
52
- groupId: this.group,
53
- boardIds
54
- }
55
- }));
56
- });
57
- }
58
- }
59
- render() {
60
- var boards = this.boards || [];
61
- return html `
62
- ${this.creatable
63
- ? privileged({ privilege: 'mutation', category: 'board' }, html `
64
- <ox-board-creation-card .groups=${this.groups} .defaultGroup=${this.group} @create-board=${e => this.onCreateBoard(e)} card create></ox-board-creation-card>
65
- `)
66
- : nothing}
67
- ${keyed(Date.now(), boards.map(board => html `
68
- <div card draggable="true" id=${board.id}>
69
- <a href="board-viewer/${board.id}"> <img src=${board.thumbnail} /> </a>
70
-
71
- <div name>${board.name}</div>
72
- <!-- <div description>${board.description}</div> -->
73
-
74
- <mwc-icon
75
- iconBtn
76
- info
77
- @click=${e => {
78
- this.infoBoard(board);
79
- e.preventDefault();
80
- }}
81
- >info</mwc-icon
82
- >
83
-
84
- ${(this.favorites || []).includes(board.id)
85
- ? html ` <mwc-icon iconBtn favored @click=${e => this.removeFavorite(board.id)}>star</mwc-icon> `
86
- : html ` <mwc-icon iconBtn @click=${e => this.addFavorite(board.id)}>star_border</mwc-icon> `}
87
- </div>
88
- `))}
89
- `;
90
- }
91
- updated(changes) {
92
- var creationCard = this.renderRoot.querySelector('ox-board-creation-card');
93
- if (creationCard) {
94
- creationCard.reset();
95
- }
96
- }
97
- onCreateBoard(e) {
98
- this.dispatchEvent(new CustomEvent('create-board', {
99
- detail: e.detail
100
- }));
101
- }
102
- infoBoard(board) {
103
- this.dispatchEvent(new CustomEvent('info-board', {
104
- detail: board
105
- }));
106
- }
107
- async removeFavorite(boardId) {
108
- await client.query({
109
- query: gql `
110
- mutation {
111
- deleteFavorite(routing: "${boardId}")
112
- }
113
- `
114
- });
115
- this.refreshFavorites();
116
- }
117
- async addFavorite(boardId) {
118
- await client.query({
119
- query: gql `
120
- mutation {
121
- createFavorite(favorite: {
122
- routing: "${boardId}"
123
- }) {
124
- id
125
- routing
126
- }
127
- }
128
- `
129
- });
130
- this.refreshFavorites();
131
- }
132
- async refreshFavorites() {
133
- this.dispatchEvent(new CustomEvent('refresh-favorites'));
134
- }
135
- };
136
- BoardTileList.styles = [
137
- css `
138
- :host {
139
- overflow: auto;
140
- padding: var(--popup-content-padding);
141
- display: grid;
142
-
143
- grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
144
- grid-auto-rows: var(--card-list-rows-height);
145
- grid-gap: 20px;
146
- --mdc-button-horizontal-padding: var(--padding-default);
147
- }
148
-
149
- [card] {
150
- position: relative;
151
- align-items: center;
152
- overflow: hidden;
153
- }
154
-
155
- [card][create] {
156
- overflow: visible;
157
- background-color: initial;
158
- }
159
-
160
- [card] > a {
161
- display: flex;
162
- }
163
-
164
- [card]:hover {
165
- cursor: pointer;
166
- }
167
-
168
- [name] {
169
- text-overflow: ellipsis;
170
- white-space: nowrap;
171
- overflow: hidden;
172
- margin-top: var(--margin-narrow);
173
- width: calc(100% - 45px);
174
- color: var(--primary-text-color);
175
- font-weight: bolder;
176
- font-size: var(--fontsize-small);
177
- }
178
-
179
- img {
180
- display: block;
181
-
182
- margin: auto;
183
- max-width: 100%;
184
- max-height: 100%;
185
- }
186
-
187
- mwc-icon[iconBtn] {
188
- float: right;
189
- margin-top: -20px;
190
- margin-left: 2px;
191
- color: var(--board-list-star-color);
192
- font-size: 1.4em;
193
- }
194
- mwc-icon[info] {
195
- color: var(--primary-color);
196
- }
197
-
198
- mwc-icon[iconBtn][favored],
199
- mwc-icon[info]:hover {
200
- color: var(--board-list-star-active-color);
201
- }
202
-
203
- a {
204
- display: block;
205
- border-radius: var(--card-list-border-radius);
206
- border: var(--border-dark-color);
207
- box-sizing: border-box;
208
- background-color: var(--card-list-background-color);
209
- margin: 0px;
210
- height: calc(100% - 25px);
211
- }
212
-
213
- :host > *:hover [info] {
214
- opacity: 1;
215
- -webkit-transition: opacity 0.8s;
216
- -moz-transition: opacity 0.8s;
217
- -o-transition: opacity 0.8s;
218
- transition: opacity 0.8s;
219
- }
220
-
221
- [draggable='true'] {
222
- cursor: grab;
223
- }
224
-
225
- @media screen and (max-width: 800px), screen and (max-height: 600px) {
226
- ox-board-creation-card {
227
- display: none;
228
- }
229
- }
230
- `
231
- ];
232
- __decorate([
233
- property({ type: Array }),
234
- __metadata("design:type", Array)
235
- ], BoardTileList.prototype, "boards", void 0);
236
- __decorate([
237
- property({ type: Array }),
238
- __metadata("design:type", Array)
239
- ], BoardTileList.prototype, "favorites", void 0);
240
- __decorate([
241
- property({ type: Array }),
242
- __metadata("design:type", Array)
243
- ], BoardTileList.prototype, "groups", void 0);
244
- __decorate([
245
- property({ type: String }),
246
- __metadata("design:type", String)
247
- ], BoardTileList.prototype, "group", void 0);
248
- __decorate([
249
- property({ type: Boolean }),
250
- __metadata("design:type", Boolean)
251
- ], BoardTileList.prototype, "creatable", void 0);
252
- __decorate([
253
- property({ type: String, attribute: 'search-text' }),
254
- __metadata("design:type", String)
255
- ], BoardTileList.prototype, "searchText", void 0);
256
- __decorate([
257
- property({ type: Boolean, attribute: 'reorderable' }),
258
- __metadata("design:type", Boolean)
259
- ], BoardTileList.prototype, "reorderable", void 0);
260
- BoardTileList = __decorate([
261
- customElement('board-tile-list')
262
- ], BoardTileList);
263
- export { BoardTileList };
264
- //# sourceMappingURL=board-tile-list.js.map