@things-factory/board-ui 7.0.1-alpha.60 → 7.0.1-alpha.69

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 (77) hide show
  1. package/client/apptools/favorite-tool.ts +8 -7
  2. package/client/board-list/board-tile-list.ts +38 -34
  3. package/client/board-list/group-bar-styles.ts +4 -0
  4. package/client/board-list/group-bar.ts +7 -8
  5. package/client/board-list/play-group-bar.ts +4 -4
  6. package/client/data-grist/board-renderer.ts +6 -6
  7. package/client/pages/board-list-page.ts +20 -6
  8. package/client/setting-let/board-view-setting-let.ts +10 -6
  9. package/client/viewparts/board-basic-info.ts +192 -214
  10. package/client/viewparts/board-info-link.ts +1 -1
  11. package/client/viewparts/board-info.ts +3 -3
  12. package/client/viewparts/board-template-builder.ts +0 -1
  13. package/client/viewparts/board-versions.ts +20 -12
  14. package/client/viewparts/group-info-basic.ts +48 -36
  15. package/client/viewparts/group-info-import.ts +8 -11
  16. package/client/viewparts/group-info.ts +1 -1
  17. package/client/viewparts/link-builder.ts +8 -8
  18. package/client/viewparts/play-group-info-basic.ts +38 -34
  19. package/client/viewparts/play-group-info-link.ts +1 -1
  20. package/client/viewparts/play-group-info.ts +1 -1
  21. package/dist-client/apptools/favorite-tool.d.ts +3 -3
  22. package/dist-client/apptools/favorite-tool.js +6 -6
  23. package/dist-client/apptools/favorite-tool.js.map +1 -1
  24. package/dist-client/board-list/board-tile-list.d.ts +1 -1
  25. package/dist-client/board-list/board-tile-list.js +30 -26
  26. package/dist-client/board-list/board-tile-list.js.map +1 -1
  27. package/dist-client/board-list/group-bar-styles.js +4 -0
  28. package/dist-client/board-list/group-bar-styles.js.map +1 -1
  29. package/dist-client/board-list/group-bar.d.ts +1 -1
  30. package/dist-client/board-list/group-bar.js +6 -6
  31. package/dist-client/board-list/group-bar.js.map +1 -1
  32. package/dist-client/board-list/play-group-bar.d.ts +1 -1
  33. package/dist-client/board-list/play-group-bar.js +3 -3
  34. package/dist-client/board-list/play-group-bar.js.map +1 -1
  35. package/dist-client/data-grist/board-renderer.d.ts +1 -1
  36. package/dist-client/data-grist/board-renderer.js +6 -6
  37. package/dist-client/data-grist/board-renderer.js.map +1 -1
  38. package/dist-client/pages/board-list-page.d.ts +0 -1
  39. package/dist-client/pages/board-list-page.js +17 -5
  40. package/dist-client/pages/board-list-page.js.map +1 -1
  41. package/dist-client/setting-let/board-view-setting-let.d.ts +2 -3
  42. package/dist-client/setting-let/board-view-setting-let.js +10 -6
  43. package/dist-client/setting-let/board-view-setting-let.js.map +1 -1
  44. package/dist-client/tsconfig.tsbuildinfo +1 -1
  45. package/dist-client/viewparts/board-basic-info.d.ts +7 -1
  46. package/dist-client/viewparts/board-basic-info.js +188 -209
  47. package/dist-client/viewparts/board-basic-info.js.map +1 -1
  48. package/dist-client/viewparts/board-info-link.js +1 -1
  49. package/dist-client/viewparts/board-info-link.js.map +1 -1
  50. package/dist-client/viewparts/board-info.js +1 -1
  51. package/dist-client/viewparts/board-info.js.map +1 -1
  52. package/dist-client/viewparts/board-template-builder.d.ts +0 -1
  53. package/dist-client/viewparts/board-template-builder.js +0 -1
  54. package/dist-client/viewparts/board-template-builder.js.map +1 -1
  55. package/dist-client/viewparts/board-versions.d.ts +2 -1
  56. package/dist-client/viewparts/board-versions.js +19 -12
  57. package/dist-client/viewparts/board-versions.js.map +1 -1
  58. package/dist-client/viewparts/group-info-basic.d.ts +3 -1
  59. package/dist-client/viewparts/group-info-basic.js +48 -36
  60. package/dist-client/viewparts/group-info-basic.js.map +1 -1
  61. package/dist-client/viewparts/group-info-import.d.ts +2 -1
  62. package/dist-client/viewparts/group-info-import.js +8 -11
  63. package/dist-client/viewparts/group-info-import.js.map +1 -1
  64. package/dist-client/viewparts/group-info.js +1 -1
  65. package/dist-client/viewparts/group-info.js.map +1 -1
  66. package/dist-client/viewparts/link-builder.d.ts +1 -1
  67. package/dist-client/viewparts/link-builder.js +6 -6
  68. package/dist-client/viewparts/link-builder.js.map +1 -1
  69. package/dist-client/viewparts/play-group-info-basic.d.ts +3 -1
  70. package/dist-client/viewparts/play-group-info-basic.js +34 -34
  71. package/dist-client/viewparts/play-group-info-basic.js.map +1 -1
  72. package/dist-client/viewparts/play-group-info-link.js +1 -1
  73. package/dist-client/viewparts/play-group-info-link.js.map +1 -1
  74. package/dist-client/viewparts/play-group-info.js +1 -1
  75. package/dist-client/viewparts/play-group-info.js.map +1 -1
  76. package/dist-server/tsconfig.tsbuildinfo +1 -1
  77. package/package.json +6 -8
@@ -1,13 +1,14 @@
1
- import '@material/mwc-icon'
1
+ import '@material/web/icon/icon.js'
2
2
 
3
3
  import gql from 'graphql-tag'
4
- import { css, html, LitElement } from 'lit'
5
- import { customElement, property, state } from 'lit/decorators.js'
4
+ import { css, html, LitElement, nothing } from 'lit'
5
+ import { customElement, property } from 'lit/decorators.js'
6
6
  import { connect } from 'pwa-helpers/connect-mixin.js'
7
7
 
8
8
  import { store } from '@operato/shell'
9
9
  import { client } from '@operato/graphql'
10
- import { UPDATE_FAVORITES } from '@things-factory/fav-base'
10
+
11
+ import { UPDATE_FAVORITES } from '@things-factory/fav-base/client'
11
12
 
12
13
  @customElement('favorite-tool')
13
14
  export class FavoriteTool extends connect(store)(LitElement) {
@@ -36,11 +37,11 @@ export class FavoriteTool extends connect(store)(LitElement) {
36
37
 
37
38
  return renderable
38
39
  ? html`
39
- <mwc-icon @click=${this.onClick.bind(this)} ?favorable=${!this.favored}
40
- >${this.favored ? 'star' : 'star_border'}</mwc-icon
40
+ <md-icon @click=${this.onClick.bind(this)} ?favorable=${!this.favored}
41
+ >${this.favored ? 'star' : 'star_border'}</md-icon
41
42
  >
42
43
  `
43
- : html``
44
+ : nothing
44
45
  }
45
46
 
46
47
  updated(changes) {
@@ -1,5 +1,5 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/board/ox-board-creation-card.js'
2
- import '@material/mwc-icon'
3
3
 
4
4
  import gql from 'graphql-tag'
5
5
  import { css, html, LitElement, PropertyValues, nothing } from 'lit'
@@ -7,6 +7,7 @@ import { customElement, property, state, query } from 'lit/decorators.js'
7
7
  import { keyed } from 'lit/directives/keyed.js'
8
8
 
9
9
  import { client } from '@operato/graphql'
10
+
10
11
  import { privileged } from '@things-factory/auth-base/dist-client'
11
12
 
12
13
  @customElement('board-tile-list')
@@ -37,6 +38,7 @@ export class BoardTileList extends LitElement {
37
38
 
38
39
  [card] > a {
39
40
  display: flex;
41
+ clip-path: border-box;
40
42
  }
41
43
 
42
44
  [card]:hover {
@@ -55,26 +57,23 @@ export class BoardTileList extends LitElement {
55
57
  }
56
58
 
57
59
  img {
58
- display: block;
59
-
60
- margin: auto;
61
- max-width: 100%;
62
- max-height: 100%;
60
+ flex: 1;
61
+ object-fit: contain;
63
62
  }
64
63
 
65
- mwc-icon[iconBtn] {
64
+ md-icon[iconBtn] {
66
65
  float: right;
67
66
  margin-top: -20px;
68
67
  margin-left: 2px;
69
68
  color: var(--board-list-star-color);
70
69
  font-size: 1.4em;
71
70
  }
72
- mwc-icon[info] {
71
+ md-icon[info] {
73
72
  color: var(--primary-color);
74
73
  }
75
74
 
76
- mwc-icon[iconBtn][favored],
77
- mwc-icon[info]:hover {
75
+ md-icon[iconBtn][favored],
76
+ md-icon[info]:hover {
78
77
  color: var(--board-list-star-active-color);
79
78
  }
80
79
 
@@ -174,36 +173,41 @@ export class BoardTileList extends LitElement {
174
173
  ? privileged(
175
174
  { privilege: 'mutation', category: 'board' },
176
175
  html`
177
- <ox-board-creation-card .groups=${this.groups} .defaultGroup=${this.group} @create-board=${e => this.onCreateBoard(e)} card create></ox-board-creation-card>
176
+ <ox-board-creation-card
177
+ .groups=${this.groups}
178
+ .defaultGroup=${this.group}
179
+ @create-board=${e => this.onCreateBoard(e)}
180
+ card
181
+ create
182
+ ></ox-board-creation-card>
178
183
  `
179
184
  )
180
185
  : nothing}
181
186
  ${keyed(
182
187
  Date.now(),
183
188
  boards.map(
184
- board =>
185
- html`
186
- <div card draggable="true" id=${board.id}>
187
- <a href="board-viewer/${board.id}"> <img src=${board.thumbnail} /> </a>
188
-
189
- <div name>${board.name}</div>
190
- <!-- <div description>${board.description}</div> -->
191
-
192
- <mwc-icon
193
- iconBtn
194
- info
195
- @click=${e => {
196
- this.infoBoard(board)
197
- e.preventDefault()
198
- }}
199
- >info</mwc-icon
200
- >
201
-
202
- ${(this.favorites || []).includes(board.id)
203
- ? html` <mwc-icon iconBtn favored @click=${e => this.removeFavorite(board.id)}>star</mwc-icon> `
204
- : html` <mwc-icon iconBtn @click=${e => this.addFavorite(board.id)}>star_border</mwc-icon> `}
205
- </div>
206
- `
189
+ board => html`
190
+ <div card draggable="true" id=${board.id}>
191
+ <a href="board-viewer/${board.id}"> <img src=${board.thumbnail} /> </a>
192
+
193
+ <div name>${board.name}</div>
194
+ <!-- <div description>${board.description}</div> -->
195
+
196
+ <md-icon
197
+ iconBtn
198
+ info
199
+ @click=${e => {
200
+ this.infoBoard(board)
201
+ e.preventDefault()
202
+ }}
203
+ >info</md-icon
204
+ >
205
+
206
+ ${(this.favorites || []).includes(board.id)
207
+ ? html` <md-icon iconBtn favored @click=${e => this.removeFavorite(board.id)}>star</md-icon> `
208
+ : html` <md-icon iconBtn @click=${e => this.addFavorite(board.id)}>star_border</md-icon> `}
209
+ </div>
210
+ `
207
211
  )
208
212
  )}
209
213
  `
@@ -37,6 +37,10 @@ export const GroupBarStyles = css`
37
37
  color: rgba(255, 255, 255, 0.8);
38
38
  }
39
39
 
40
+ a md-icon {
41
+ font-variation-settings: 'FILL' 1;
42
+ }
43
+
40
44
  &[active] {
41
45
  border-color: var(--group-bar-active-line-color);
42
46
 
@@ -1,12 +1,11 @@
1
- import '@material/mwc-icon'
1
+ import '@material/web/icon/icon.js'
2
2
 
3
3
  import { html, LitElement } from 'lit'
4
4
  import { customElement, property } from 'lit/decorators.js'
5
-
6
5
  import ScrollBooster from 'scrollbooster'
7
6
 
7
+ import { longpressable } from '@operato/utils'
8
8
  import { privileged } from '@things-factory/auth-base/dist-client'
9
- import { longpressable } from '@things-factory/utils'
10
9
  import { GroupBarStyles } from './group-bar-styles'
11
10
 
12
11
  @customElement('group-bar')
@@ -23,17 +22,17 @@ export default class GroupBar extends LitElement {
23
22
  return html`
24
23
  <ul>
25
24
  <li ?active=${!this.groupId}>
26
- <a href=${this.targetPage || ''}><mwc-icon>dashboard</mwc-icon></a>
25
+ <a href=${this.targetPage || ''}><md-icon>dashboard</md-icon></a>
27
26
  </li>
28
27
 
29
28
  <li ?active=${this.groupId === 'favor'}>
30
- <a href="${this.targetPage}/favor"><mwc-icon>star</mwc-icon></a>
29
+ <a href="${this.targetPage}/favor"><md-icon>star</md-icon></a>
31
30
  </li>
32
31
 
33
32
  ${privileged(
34
33
  { privilege: 'mutation', category: 'board' },
35
34
  html`<li ?active=${this.groupId === 'mywork'}>
36
- <a href="${this.targetPage}/mywork"><mwc-icon>engineering</mwc-icon></a>
35
+ <a href="${this.targetPage}/mywork"><md-icon>engineering</md-icon></a>
37
36
  </li>`
38
37
  )}
39
38
  ${(this.groups || []).map(
@@ -47,7 +46,7 @@ export default class GroupBar extends LitElement {
47
46
  <li padding></li>
48
47
 
49
48
  <li add>
50
- <mwc-icon @click=${e => this.infoGroup()}>add</mwc-icon>
49
+ <md-icon @click=${e => this.infoGroup()}>add</md-icon>
51
50
  </li>
52
51
  </ul>
53
52
  `
@@ -84,7 +83,7 @@ export default class GroupBar extends LitElement {
84
83
  var scrollTarget = this.renderRoot.querySelector('ul')
85
84
 
86
85
  /* long-press */
87
- longpressable(scrollTarget)
86
+ longpressable(scrollTarget!)
88
87
 
89
88
  scrollTarget!.addEventListener('mousewheel', this.onWheelEvent.bind(this), false)
90
89
 
@@ -1,10 +1,10 @@
1
- import '@material/mwc-icon'
1
+ import '@material/web/icon/icon.js'
2
2
 
3
3
  import { html, LitElement } from 'lit'
4
4
  import { customElement, property } from 'lit/decorators.js'
5
5
  import ScrollBooster from 'scrollbooster'
6
6
 
7
- import { longpressable } from '@things-factory/utils'
7
+ import { longpressable } from '@operato/utils'
8
8
  import { GroupBarStyles } from './group-bar-styles'
9
9
 
10
10
  @customElement('play-group-bar')
@@ -31,7 +31,7 @@ export default class PlayGroupBar extends LitElement {
31
31
  <li padding>&nbsp;</li>
32
32
 
33
33
  <li add>
34
- <mwc-icon @click=${e => this._infoGroup()}>add</mwc-icon>
34
+ <md-icon @click=${e => this._infoGroup()}>add</md-icon>
35
35
  </li>
36
36
  </ul>
37
37
  `
@@ -72,7 +72,7 @@ export default class PlayGroupBar extends LitElement {
72
72
  var scrollTarget = this.renderRoot.querySelector('ul')
73
73
 
74
74
  /* long-press */
75
- longpressable(scrollTarget)
75
+ longpressable(scrollTarget!)
76
76
 
77
77
  scrollTarget!.addEventListener('mousewheel', this._onWheelEvent.bind(this), false)
78
78
 
@@ -1,4 +1,4 @@
1
- import '@material/mwc-icon'
1
+ import '@material/web/icon/icon.js'
2
2
 
3
3
  import gql from 'graphql-tag'
4
4
  import { css, html, LitElement } from 'lit'
@@ -49,7 +49,7 @@ class BoardRendererElement extends LitElement {
49
49
  max-width: 100%;
50
50
  max-height: 100%;
51
51
  }
52
- mwc-icon {
52
+ md-icon {
53
53
  position: absolute;
54
54
  top: 0;
55
55
  text-align: center;
@@ -59,13 +59,13 @@ class BoardRendererElement extends LitElement {
59
59
  height: var(--board-renderer-icon-size);
60
60
  font: var(--board-renderer-font);
61
61
  }
62
- mwc-icon[edit] {
62
+ md-icon[edit] {
63
63
  right: 0;
64
64
 
65
65
  border-bottom-left-radius: var(--board-renderer-icon-border-radius);
66
66
  background-color: var(--board-renderer-icon-edit-background-color);
67
67
  }
68
- mwc-icon[view] {
68
+ md-icon[view] {
69
69
  left: 0;
70
70
 
71
71
  border-bottom-right-radius: var(--board-renderer-icon-border-radius);
@@ -105,8 +105,8 @@ class BoardRendererElement extends LitElement {
105
105
  ? html`
106
106
  <span>${name}</span>
107
107
  <img src=${thumbnail} alt="no thumbnail!" />
108
- <mwc-icon view @mousedown=${e => this.onClickViewer(e, id)}>search</mwc-icon>
109
- <mwc-icon edit @mousedown=${e => this.onClickModeler(e, id)}>edit</mwc-icon>
108
+ <md-icon view @mousedown=${e => this.onClickViewer(e, id)}>search</md-icon>
109
+ <md-icon edit @mousedown=${e => this.onClickModeler(e, id)}>edit</md-icon>
110
110
  `
111
111
  : html` choose board.. `
112
112
  }
@@ -1,4 +1,3 @@
1
- import '@material/mwc-icon'
2
1
  import '../viewparts/board-info'
3
2
  import '../viewparts/group-info'
4
3
  import '../board-list/board-tile-list'
@@ -83,7 +82,13 @@ export class BoardListPage extends localize(i18next)(connect(store)(InfiniteScro
83
82
  return {
84
83
  title: {
85
84
  icon: 'dashboard',
86
- text: group ? 'Group ' + group.name : groupId == 'favor' ? 'Favorite' : groupId == 'mywork' ? 'My works' : 'Board List'
85
+ text: group
86
+ ? 'Group ' + group.name
87
+ : groupId == 'favor'
88
+ ? 'Favorite'
89
+ : groupId == 'mywork'
90
+ ? 'My works'
91
+ : 'Board List'
87
92
  },
88
93
  search: {
89
94
  handler: search => {
@@ -104,7 +109,12 @@ export class BoardListPage extends localize(i18next)(connect(store)(InfiniteScro
104
109
 
105
110
  render() {
106
111
  return html`
107
- <group-bar .groups=${this.groups} .groupId=${this.groupId} targetPage="board-list" @info-group=${e => this.onInfoGroup(e.detail)}></group-bar>
112
+ <group-bar
113
+ .groups=${this.groups}
114
+ .groupId=${this.groupId}
115
+ targetPage="board-list"
116
+ @info-group=${e => this.onInfoGroup(e.detail)}
117
+ ></group-bar>
108
118
 
109
119
  <board-tile-list
110
120
  id="list"
@@ -321,7 +331,9 @@ export class BoardListPage extends localize(i18next)(connect(store)(InfiniteScro
321
331
  list.style.transition = 'transform 0.3s'
322
332
  list.style.transform = `translate3d(${d < 0 ? '-100%' : '100%'}, 0, 0)`
323
333
 
324
- navigate(`${this.page}/${groups[currentIndex + (d < 0 ? 1 : -1)].id}${this.searchText ? '?search=' + this.searchText : ''}`)
334
+ navigate(
335
+ `${this.page}/${groups[currentIndex + (d < 0 ? 1 : -1)].id}${this.searchText ? '?search=' + this.searchText : ''}`
336
+ )
325
337
  }
326
338
  }
327
339
  }
@@ -501,7 +513,8 @@ export class BoardListPage extends localize(i18next)(connect(store)(InfiniteScro
501
513
  }
502
514
  })
503
515
 
504
- data && this._notify('info', i18next.t('text.joined into play-group', { board: board.name, playGroup: playGroup.name }))
516
+ data &&
517
+ this._notify('info', i18next.t('text.joined into play-group', { board: board.name, playGroup: playGroup.name }))
505
518
  } catch (ex) {
506
519
  this._notify('error', ex, ex)
507
520
  }
@@ -523,7 +536,8 @@ export class BoardListPage extends localize(i18next)(connect(store)(InfiniteScro
523
536
  }
524
537
  })
525
538
 
526
- data && this._notify('info', i18next.t('text.leaved from play-group', { board: board.name, playGroup: playGroup.name }))
539
+ data &&
540
+ this._notify('info', i18next.t('text.leaved from play-group', { board: board.name, playGroup: playGroup.name }))
527
541
  } catch (ex) {
528
542
  this._notify('error', ex, ex)
529
543
  }
@@ -1,7 +1,6 @@
1
- import '@things-factory/setting-base'
2
- import '@material/mwc-formfield'
3
- import '@material/mwc-checkbox'
1
+ import '@material/web/checkbox/checkbox.js'
4
2
  import '@operato/i18n/ox-i18n.js'
3
+ import '@things-factory/setting-base'
5
4
 
6
5
  import { css, html, LitElement } from 'lit'
7
6
  import { customElement, property } from 'lit/decorators.js'
@@ -14,6 +13,10 @@ export class BoardViewSettingLet extends localize(i18next)(LitElement) {
14
13
  static styles = [
15
14
  css`
16
15
  label {
16
+ display: flex;
17
+ gap: 10px;
18
+ align-items: center;
19
+
17
20
  font: var(--label-font);
18
21
  color: var(--label-color);
19
22
  text-transform: var(--label-text-transform);
@@ -29,9 +32,10 @@ export class BoardViewSettingLet extends localize(i18next)(LitElement) {
29
32
  <ox-i18n slot="title" msgid="title.board view setting"></ox-i18n>
30
33
 
31
34
  <div slot="content">
32
- <mwc-formfield label=${String(i18next.t('label.auto refresh board view'))}>
33
- <mwc-checkbox id="auto-refresh" @change=${e => this.onChange(e)} ?checked=${this.autoRefresh}></mwc-checkbox>
34
- </mwc-formfield>
35
+ <label>
36
+ <md-checkbox id="auto-refresh" @change=${e => this.onChange(e)} ?checked=${this.autoRefresh}></md-checkbox>
37
+ ${String(i18next.t('label.auto refresh board view'))}
38
+ </label>
35
39
  </div>
36
40
  </setting-let>
37
41
  `