@things-factory/operato-board 6.1.80 → 6.1.82

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.
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@things-factory/operato-board",
3
- "version": "6.1.80",
3
+ "version": "6.1.82",
4
4
  "main": "dist-server/index.js",
5
- "browser": "client/index.js",
5
+ "browser": "dist-client/index.js",
6
6
  "things-factory": true,
7
+ "thingsFactoryConfig": "things-factory.config.ts",
7
8
  "author": "heartyoh <heartyoh@hatiolab.com>",
8
9
  "description": "App for dashboarding",
9
10
  "license": "MIT",
@@ -19,10 +20,10 @@
19
20
  "scripts": {
20
21
  "serve": "things-factory operato-board",
21
22
  "serve:dev": "npm run build:server && things-factory-dev operato-board",
22
- "build": "tsc --p tsconfig.json",
23
+ "build": "npm run build:server",
23
24
  "build:client": "npm run clean:client && webpack --config ../builder/webpack.config.js",
24
25
  "build:client:cn": "npm run clean:client && webpack --config ../builder/webpack.config.cn.js",
25
- "build:server": "npm run clean:server && tsc",
26
+ "build:server": "npm run clean:server && tsc --p ./server/tsconfig.json",
26
27
  "clean:server": "rm -rf dist-server",
27
28
  "clean:client": "rm -rf dist-client",
28
29
  "clean": "npm run clean:server && npm run clean:client",
@@ -80,41 +81,41 @@
80
81
  "@operato/shell": "^1.0.1",
81
82
  "@operato/styles": "^1.0.0",
82
83
  "@operato/utils": "^1.0.1",
83
- "@things-factory/apptool-ui": "^6.1.79",
84
- "@things-factory/auth-ui": "^6.1.79",
85
- "@things-factory/board-service": "^6.1.79",
86
- "@things-factory/board-ui": "^6.1.79",
87
- "@things-factory/context-ui": "^6.1.79",
88
- "@things-factory/export-ui": "^6.1.79",
89
- "@things-factory/fav-base": "^6.1.79",
90
- "@things-factory/font-base": "^6.1.79",
84
+ "@things-factory/apptool-ui": "^6.1.81",
85
+ "@things-factory/auth-ui": "^6.1.81",
86
+ "@things-factory/board-service": "^6.1.81",
87
+ "@things-factory/board-ui": "^6.1.81",
88
+ "@things-factory/context-ui": "^6.1.81",
89
+ "@things-factory/export-ui": "^6.1.81",
90
+ "@things-factory/fav-base": "^6.1.81",
91
+ "@things-factory/font-base": "^6.1.81",
91
92
  "@things-factory/form-ui": "^6.1.79",
92
- "@things-factory/help": "^6.1.79",
93
- "@things-factory/i18n-base": "^6.1.79",
94
- "@things-factory/import-ui": "^6.1.79",
95
- "@things-factory/integration-base": "^6.1.79",
96
- "@things-factory/integration-msgraph": "^6.1.79",
97
- "@things-factory/integration-notification": "^6.1.80",
98
- "@things-factory/integration-openai": "^6.1.79",
99
- "@things-factory/integration-ui": "^6.1.79",
93
+ "@things-factory/help": "^6.1.81",
94
+ "@things-factory/i18n-base": "^6.1.81",
95
+ "@things-factory/import-ui": "^6.1.81",
96
+ "@things-factory/integration-base": "^6.1.81",
97
+ "@things-factory/integration-msgraph": "^6.1.81",
98
+ "@things-factory/integration-notification": "^6.1.81",
99
+ "@things-factory/integration-openai": "^6.1.81",
100
+ "@things-factory/integration-ui": "^6.1.81",
100
101
  "@things-factory/layout-ui": "^6.1.79",
101
- "@things-factory/more-ui": "^6.1.79",
102
- "@things-factory/notification": "^6.1.80",
103
- "@things-factory/oauth2-client": "^6.1.79",
104
- "@things-factory/offline-ui": "^6.1.79",
102
+ "@things-factory/more-ui": "^6.1.81",
103
+ "@things-factory/notification": "^6.1.81",
104
+ "@things-factory/oauth2-client": "^6.1.81",
105
+ "@things-factory/offline-ui": "^6.1.81",
105
106
  "@things-factory/operato-license-checker": "^3.1.0",
106
107
  "@things-factory/pdf": "^6.1.79",
107
- "@things-factory/print-service": "^6.1.79",
108
- "@things-factory/print-ui": "^6.1.79",
109
- "@things-factory/resource-ui": "^6.1.79",
108
+ "@things-factory/print-service": "^6.1.81",
109
+ "@things-factory/print-ui": "^6.1.81",
110
+ "@things-factory/resource-ui": "^6.1.81",
110
111
  "@things-factory/scene-google-map": "^6.1.79",
111
- "@things-factory/setting-ui": "^6.1.79",
112
- "@things-factory/shell": "^6.1.79",
113
- "@things-factory/system-ui": "^6.1.79"
112
+ "@things-factory/setting-ui": "^6.1.81",
113
+ "@things-factory/shell": "^6.1.81",
114
+ "@things-factory/system-ui": "^6.1.81"
114
115
  },
115
116
  "devDependencies": {
116
- "@things-factory/board-test": "^6.1.79",
117
+ "@things-factory/board-test": "^6.1.81",
117
118
  "@things-factory/builder": "^6.1.79"
118
119
  },
119
- "gitHead": "7263d5f3667baca278d90976c1575ed131272a56"
120
+ "gitHead": "49c8b7dec7d37aa762baf228bfe75045803cef2d"
120
121
  }
@@ -27,10 +27,6 @@ export default {
27
27
  tagname: 'play-list-page',
28
28
  page: 'play-list'
29
29
  },
30
- {
31
- tagname: 'publisher-list-page',
32
- page: 'publisher-list'
33
- },
34
30
  {
35
31
  tagname: 'attachment-list-page',
36
32
  page: 'attachment-list'
@@ -1,254 +0,0 @@
1
- import '@material/mwc-icon'
2
-
3
- import { css, html, LitElement } from 'lit'
4
-
5
- import { i18next } from '@things-factory/i18n-base'
6
-
7
- import { fetchPlayGroup } from '../graphql'
8
-
9
- export class PlayGroupInfo extends LitElement {
10
- static get properties() {
11
- return {
12
- playGroupId: String,
13
- playGroup: Object
14
- }
15
- }
16
-
17
- static get styles() {
18
- return [
19
- css`
20
- :host {
21
- display: block;
22
- background-color: var(--main-section-background-color);
23
- height: 100%;
24
- min-width: 350px;
25
- overflow: auto;
26
- position: relative;
27
-
28
- --form-grid-gap: 2px 0;
29
- --input-field-padding: var(--padding-default);
30
- --legend-padding: var(--padding-default) 0 var(--padding-narrow) 0;
31
- --mdc-button-horizontal-padding: var(--padding-default);
32
- }
33
-
34
- form {
35
- display: grid;
36
- grid-template-columns: repeat(12, 1fr);
37
- grid-gap: var(--form-grid-gap);
38
- grid-auto-rows: minmax(24px, auto);
39
- padding: var(--padding-wide);
40
- align-items: center;
41
- }
42
-
43
- [buttons] {
44
- grid-column: span 12;
45
- padding: var(--padding-default) 0;
46
- text-align: right;
47
- }
48
-
49
- [buttons] * {
50
- margin: 0 0 0 var(--margin-narrow);
51
- }
52
- [danger] {
53
- float: left;
54
- margin: 0 var(--margin-narrow) 0 0;
55
- --mdc-theme-primary: var(--status-danger-color);
56
- }
57
-
58
- fieldset {
59
- display: contents;
60
- }
61
-
62
- legend {
63
- grid-column: span 12;
64
- padding: var(--legend-padding);
65
- font: var(--legend-font);
66
- color: var(--legend-text-color);
67
- text-transform: capitalize;
68
- }
69
-
70
- label {
71
- grid-column: span 12;
72
- text-transform: capitalize;
73
- color: var(--label-color);
74
- font: var(--label-font);
75
- }
76
-
77
- span {
78
- grid-column: span 12;
79
- border-bottom: var(--border-dark-color);
80
- margin-bottom: var(--margin-default);
81
- padding-bottom: var(--padding-narrow);
82
- font: var(--input-field-font);
83
- }
84
- span mwc-icon {
85
- vertical-align: middle;
86
- font-size: var(--fontsize-large);
87
- color: var(--primary-color);
88
- }
89
-
90
- input,
91
- table,
92
- select,
93
- textarea,
94
- [custom-input] {
95
- grid-column: span 12;
96
-
97
- border: var(--input-field-border);
98
- border-radius: var(--input-field-border-radius);
99
- margin-bottom: var(--margin-default);
100
- padding: var(--input-field-padding);
101
- font: var(--input-field-font);
102
- }
103
-
104
- input[type='checkbox'],
105
- input[type='radio'] {
106
- place-self: center;
107
- margin: 0;
108
- grid-column: 1;
109
- }
110
-
111
- input[type='checkbox'] + label,
112
- input[type='radio'] + label {
113
- text-align: left;
114
- grid-column: span 11 / auto;
115
-
116
- font: var(--form-sublabel-font);
117
- color: var(--form-sublabel-color);
118
- }
119
-
120
- input:focus {
121
- outline: none;
122
- border: 1px solid var(--focus-background-color);
123
- }
124
-
125
- @media screen and (max-width: 460px) {
126
- :host {
127
- width: 100vw;
128
- }
129
- }
130
- `
131
- ]
132
- }
133
-
134
- render() {
135
- var playGroup = this.playGroup || { name: '', description: '' }
136
-
137
- return html`
138
- <form>
139
- <fieldset>
140
- <legend>playgroup information</legend>
141
- <label>${i18next.t('label.name')}</label>
142
- <input type="text" .value=${playGroup.name} @change=${e => (this.playGroup.name = e.target.value)} />
143
-
144
- <label>${i18next.t('label.description')}</label>
145
- <input
146
- type="text"
147
- .value=${playGroup.description}
148
- @change=${e => (this.playGroup.description = e.target.value)}
149
- />
150
-
151
- <label>${i18next.t('label.creator')}</label>
152
- <span>
153
- <mwc-icon>person</mwc-icon> ${playGroup.creator && playGroup.creator.name}
154
- <mwc-icon>schedule</mwc-icon> ${new Date(Number(playGroup.createdAt)).toLocaleString()}
155
- </span>
156
-
157
- <label>${i18next.t('label.updater')}</label>
158
- <span>
159
- <mwc-icon>person</mwc-icon> ${playGroup.updater && playGroup.updater.name}
160
- <mwc-icon>schedule</mwc-icon> ${new Date(Number(playGroup.updatedAt)).toLocaleString()}
161
- </span>
162
-
163
- <div buttons>
164
- ${this.playGroupId
165
- ? html`
166
- <mwc-button
167
- dense
168
- raised
169
- danger
170
- label=${i18next.t('button.delete')}
171
- @click=${this.deletePlayGroup.bind(this)}
172
- icon="delete_outline"
173
- ></mwc-button>
174
- <mwc-button
175
- dense
176
- raised
177
- label=${i18next.t('button.save')}
178
- @click=${this.updateGroup.bind(this)}
179
- icon="done"
180
- ></mwc-button>
181
- `
182
- : html`
183
- <mwc-button
184
- dense
185
- raised
186
- label=${i18next.t('button.create')}
187
- @click=${this.createPlayGroup.bind(this)}
188
- icon="create_new_folder"
189
- ></mwc-button>
190
- `}
191
- </div>
192
- </fieldset>
193
- </form>
194
- `
195
- }
196
-
197
- updated(changes) {
198
- if (changes.has('playGroupId')) {
199
- this.refresh()
200
- }
201
- }
202
-
203
- firstUpdated() {
204
- setTimeout(() => {
205
- ;(this.renderRoot.querySelector('input[type=text]') as any).focus()
206
- }, 100)
207
- }
208
-
209
- async refresh() {
210
- if (!this.playGroupId) {
211
- /* model이 없으므로, 기본 모델을 제공함. */
212
- this.playGroup = { name: '', description: '' }
213
- } else {
214
- var response = await fetchPlayGroup(this.playGroupId)
215
- this.playGroup = response.playGroup
216
- }
217
- }
218
-
219
- async createPlayGroup() {
220
- this.dispatchEvent(
221
- new CustomEvent('create-play-group', {
222
- detail: this.playGroup
223
- })
224
- )
225
-
226
- this.close()
227
- }
228
-
229
- async updateGroup() {
230
- this.dispatchEvent(
231
- new CustomEvent('update-play-group', {
232
- detail: this.playGroup
233
- })
234
- )
235
-
236
- this.close()
237
- }
238
-
239
- async deletePlayGroup() {
240
- this.dispatchEvent(
241
- new CustomEvent('delete-play-group', {
242
- detail: this.playGroup
243
- })
244
- )
245
-
246
- this.close()
247
- }
248
-
249
- close() {
250
- history.back()
251
- }
252
- }
253
-
254
- customElements.define('play-group-info', PlayGroupInfo)
File without changes
File without changes
File without changes