@operato/dataset 2.0.0-alpha.14 → 2.0.0-alpha.140

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 (104) hide show
  1. package/CHANGELOG.md +755 -0
  2. package/demo/favicon.ico +0 -0
  3. package/demo/index.html +349 -0
  4. package/demo/ox-data-ooc-brief-view-test.html +349 -0
  5. package/dist/src/grist-editor/ox-grist-editor-data-item-spec.d.ts +1 -1
  6. package/dist/src/grist-editor/ox-popup-data-item-spec.d.ts +2 -1
  7. package/dist/src/grist-editor/ox-popup-data-item-spec.js +7 -8
  8. package/dist/src/grist-editor/ox-popup-data-item-spec.js.map +1 -1
  9. package/dist/src/ox-data-entry-form.js +49 -37
  10. package/dist/src/ox-data-entry-form.js.map +1 -1
  11. package/dist/src/ox-data-entry-subgroup-form.d.ts +1 -1
  12. package/dist/src/ox-data-entry-subgroup-form.js +2 -0
  13. package/dist/src/ox-data-entry-subgroup-form.js.map +1 -1
  14. package/dist/src/ox-data-entry-view.d.ts +3 -3
  15. package/dist/src/ox-data-entry-view.js +17 -7
  16. package/dist/src/ox-data-entry-view.js.map +1 -1
  17. package/dist/src/ox-data-item-spec.d.ts +1 -1
  18. package/dist/src/ox-data-item-spec.js +7 -7
  19. package/dist/src/ox-data-item-spec.js.map +1 -1
  20. package/dist/src/ox-data-ooc-badge.d.ts +2 -2
  21. package/dist/src/ox-data-ooc-badge.js +8 -4
  22. package/dist/src/ox-data-ooc-badge.js.map +1 -1
  23. package/dist/src/ox-data-ooc-brief-view.d.ts +2 -2
  24. package/dist/src/ox-data-ooc-brief-view.js +1 -2
  25. package/dist/src/ox-data-ooc-brief-view.js.map +1 -1
  26. package/dist/src/ox-data-ooc-correction-part.d.ts +2 -2
  27. package/dist/src/ox-data-ooc-correction-part.js +5 -6
  28. package/dist/src/ox-data-ooc-correction-part.js.map +1 -1
  29. package/dist/src/ox-data-ooc-history.d.ts +2 -2
  30. package/dist/src/ox-data-ooc-history.js +4 -4
  31. package/dist/src/ox-data-ooc-history.js.map +1 -1
  32. package/dist/src/ox-data-ooc-view.d.ts +2 -2
  33. package/dist/src/ox-data-ooc-view.js +1 -2
  34. package/dist/src/ox-data-ooc-view.js.map +1 -1
  35. package/dist/src/ox-data-sample-subgroup-view.d.ts +1 -1
  36. package/dist/src/ox-data-sample-subgroup-view.js +9 -9
  37. package/dist/src/ox-data-sample-subgroup-view.js.map +1 -1
  38. package/dist/src/ox-data-sample-view.d.ts +1 -1
  39. package/dist/src/ox-data-sample-view.js +52 -35
  40. package/dist/src/ox-data-sample-view.js.map +1 -1
  41. package/dist/src/ox-data-summary-view.d.ts +1 -1
  42. package/dist/src/ox-data-summary-view.js +10 -4
  43. package/dist/src/ox-data-summary-view.js.map +1 -1
  44. package/dist/src/types.d.ts +12 -9
  45. package/dist/src/types.js.map +1 -1
  46. package/dist/src/usecase/ccp/ox-input-ccp-limits.d.ts +1 -1
  47. package/dist/src/usecase/qc/ox-input-qc-limits.d.ts +1 -1
  48. package/dist/src/usecase/spc/index.d.ts +1 -0
  49. package/dist/src/usecase/spc/index.js +8 -0
  50. package/dist/src/usecase/spc/index.js.map +1 -0
  51. package/dist/src/usecase/spc/ox-data-use-case-spc.d.ts +7 -0
  52. package/dist/src/usecase/spc/ox-data-use-case-spc.js +102 -0
  53. package/dist/src/usecase/spc/ox-data-use-case-spc.js.map +1 -0
  54. package/dist/src/usecase/spc/ox-input-spc-limits.d.ts +44 -0
  55. package/dist/src/usecase/spc/ox-input-spc-limits.js +193 -0
  56. package/dist/src/usecase/spc/ox-input-spc-limits.js.map +1 -0
  57. package/dist/src/usecase/spc/ox-property-editor-spc-limits.d.ts +6 -0
  58. package/dist/src/usecase/spc/ox-property-editor-spc-limits.js +24 -0
  59. package/dist/src/usecase/spc/ox-property-editor-spc-limits.js.map +1 -0
  60. package/dist/stories/ox-data-entry-form.stories.d.ts +1 -1
  61. package/dist/stories/ox-data-entry-form.stories.js +73 -17
  62. package/dist/stories/ox-data-entry-form.stories.js.map +1 -1
  63. package/dist/stories/ox-data-item-spec.stories.d.ts +1 -1
  64. package/dist/stories/ox-data-item-spec.stories.js +14 -2
  65. package/dist/stories/ox-data-item-spec.stories.js.map +1 -1
  66. package/dist/stories/ox-data-ooc-brief-view.stories.d.ts +1 -1
  67. package/dist/stories/ox-data-ooc-brief-view.stories.js +25 -13
  68. package/dist/stories/ox-data-ooc-brief-view.stories.js.map +1 -1
  69. package/dist/stories/ox-data-ooc-view.stories.d.ts +1 -1
  70. package/dist/stories/ox-data-ooc-view.stories.js +25 -13
  71. package/dist/stories/ox-data-ooc-view.stories.js.map +1 -1
  72. package/dist/stories/ox-data-sample-view.stories.d.ts +1 -1
  73. package/dist/stories/ox-data-sample-view.stories.js +21 -9
  74. package/dist/stories/ox-data-sample-view.stories.js.map +1 -1
  75. package/dist/stories/ox-grist-editor-data-item-spec.stories.d.ts +1 -1
  76. package/dist/stories/ox-grist-editor-data-item-spec.stories.js +66 -54
  77. package/dist/stories/ox-grist-editor-data-item-spec.stories.js.map +1 -1
  78. package/dist/tsconfig.tsbuildinfo +1 -1
  79. package/package.json +24 -26
  80. package/src/grist-editor/ox-popup-data-item-spec.ts +7 -8
  81. package/src/ox-data-entry-form.ts +66 -47
  82. package/src/ox-data-entry-subgroup-form.ts +2 -0
  83. package/src/ox-data-entry-view.ts +18 -7
  84. package/src/ox-data-item-spec.ts +9 -8
  85. package/src/ox-data-ooc-badge.ts +8 -4
  86. package/src/ox-data-ooc-brief-view.ts +1 -2
  87. package/src/ox-data-ooc-correction-part.ts +5 -6
  88. package/src/ox-data-ooc-history.ts +4 -4
  89. package/src/ox-data-ooc-view.ts +1 -2
  90. package/src/ox-data-sample-subgroup-view.ts +16 -17
  91. package/src/ox-data-sample-view.ts +52 -35
  92. package/src/ox-data-summary-view.ts +10 -4
  93. package/src/types.ts +31 -29
  94. package/src/usecase/spc/index.ts +10 -0
  95. package/src/usecase/spc/ox-data-use-case-spc.ts +147 -0
  96. package/src/usecase/spc/ox-input-spc-limits.ts +182 -0
  97. package/src/usecase/spc/ox-property-editor-spc-limits.ts +23 -0
  98. package/stories/ox-data-entry-form.stories.ts +78 -22
  99. package/stories/ox-data-item-spec.stories.ts +14 -2
  100. package/stories/ox-data-ooc-brief-view.stories.ts +26 -15
  101. package/stories/ox-data-ooc-view.stories.ts +26 -15
  102. package/stories/ox-data-sample-view.stories.ts +22 -11
  103. package/stories/ox-grist-editor-data-item-spec.stories.ts +67 -56
  104. package/themes/grist-theme.css +2 -0
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@operato/dataset",
3
3
  "description": "WebApplication dataset supporting components following open-wc recommendations",
4
4
  "author": "heartyoh",
5
- "version": "2.0.0-alpha.14",
5
+ "version": "2.0.0-alpha.140",
6
6
  "main": "dist/src/index.js",
7
7
  "module": "dist/src/index.js",
8
8
  "exports": {
@@ -105,37 +105,35 @@
105
105
  "storybook:build": "tsc && npm run analyze -- --exclude dist && build-storybook"
106
106
  },
107
107
  "dependencies": {
108
- "@material/mwc-button": "^0.27.0",
109
- "@material/mwc-icon": "^0.27.0",
110
- "@material/mwc-icon-button": "^0.27.0",
111
- "@operato/data-grist": "^2.0.0-alpha.13",
112
- "@operato/graphql": "^2.0.0-alpha.0",
113
- "@operato/grist-editor": "^2.0.0-alpha.13",
114
- "@operato/i18n": "^2.0.0-alpha.0",
115
- "@operato/input": "^2.0.0-alpha.13",
116
- "@operato/popup": "^2.0.0-alpha.9",
117
- "@operato/property-editor": "^2.0.0-alpha.13",
118
- "@operato/shell": "^2.0.0-alpha.8",
119
- "@operato/styles": "^2.0.0-alpha.0",
120
- "@operato/utils": "^2.0.0-alpha.8",
121
- "lit": "^2.5.0"
108
+ "@material/web": "^1.4.0",
109
+ "@operato/data-grist": "^2.0.0-alpha.140",
110
+ "@operato/graphql": "^2.0.0-alpha.111",
111
+ "@operato/grist-editor": "^2.0.0-alpha.140",
112
+ "@operato/i18n": "^2.0.0-alpha.111",
113
+ "@operato/input": "^2.0.0-alpha.134",
114
+ "@operato/popup": "^2.0.0-alpha.134",
115
+ "@operato/property-editor": "^2.0.0-alpha.140",
116
+ "@operato/shell": "^2.0.0-alpha.134",
117
+ "@operato/styles": "^2.0.0-alpha.134",
118
+ "@operato/utils": "^2.0.0-alpha.122",
119
+ "lit": "^3.1.2"
122
120
  },
123
121
  "devDependencies": {
124
- "@custom-elements-manifest/analyzer": "^0.8.1",
122
+ "@custom-elements-manifest/analyzer": "^0.9.2",
125
123
  "@hatiolab/prettier-config": "^1.0.0",
126
- "@open-wc/eslint-config": "^10.0.0",
124
+ "@open-wc/eslint-config": "^12.0.3",
127
125
  "@open-wc/testing": "^3.1.6",
128
- "@typescript-eslint/eslint-plugin": "^5.59.1",
129
- "@typescript-eslint/parser": "^5.59.1",
126
+ "@typescript-eslint/eslint-plugin": "^7.0.1",
127
+ "@typescript-eslint/parser": "^7.0.1",
130
128
  "@web/dev-server": "^0.3.0",
131
- "@web/dev-server-storybook": "^0.7.4",
132
- "@web/test-runner": "^0.17.0",
129
+ "@web/dev-server-storybook": "^2.0.1",
130
+ "@web/test-runner": "^0.18.0",
133
131
  "concurrently": "^8.0.1",
134
132
  "eslint": "^8.39.0",
135
- "eslint-config-prettier": "^8.3.0",
136
- "husky": "^8.0.1",
137
- "lint-staged": "^13.2.2",
138
- "prettier": "^2.4.1",
133
+ "eslint-config-prettier": "^9.1.0",
134
+ "husky": "^9.0.11",
135
+ "lint-staged": "^15.2.2",
136
+ "prettier": "^3.2.5",
139
137
  "tslib": "^2.3.1",
140
138
  "typescript": "^5.0.4"
141
139
  },
@@ -152,5 +150,5 @@
152
150
  "prettier --write"
153
151
  ]
154
152
  },
155
- "gitHead": "a0175bae24b9546f65a4ede34dfa27af48db5ed3"
153
+ "gitHead": "7d16d4f188adba3d56b4ce8c544c3edb275b2373"
156
154
  }
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '../ox-data-item-spec.js'
2
3
 
3
4
  import { css, html, LitElement } from 'lit'
@@ -5,13 +6,14 @@ import { customElement, property } from 'lit/decorators.js'
5
6
 
6
7
  import { i18next } from '@operato/i18n'
7
8
  import { closePopup } from '@operato/popup'
8
- import { ScrollbarStyles } from '@operato/styles'
9
+ import { ButtonContainerStyles, ScrollbarStyles } from '@operato/styles'
9
10
 
10
11
  import { DataItem } from '../types.js'
11
12
 
12
13
  @customElement('ox-popup-data-item-spec')
13
14
  export class OxPopupDataItemSpec extends LitElement {
14
15
  static styles = [
16
+ ButtonContainerStyles,
15
17
  ScrollbarStyles,
16
18
  css`
17
19
  :host {
@@ -39,11 +41,6 @@ export class OxPopupDataItemSpec extends LitElement {
39
41
 
40
42
  color: var(--primary-color);
41
43
  }
42
-
43
- .button-container {
44
- display: flex;
45
- margin-left: auto;
46
- }
47
44
  `
48
45
  ]
49
46
 
@@ -59,8 +56,10 @@ export class OxPopupDataItemSpec extends LitElement {
59
56
  </ox-data-item-spec>
60
57
 
61
58
  <div class="button-container">
62
- <mwc-button @click=${this.onCancel.bind(this)}>${i18next.t('button.cancel')}</mwc-button>
63
- <mwc-button @click=${this.onConfirm.bind(this)}>${i18next.t('button.confirm')}</mwc-button>
59
+ <button @click=${this.onCancel.bind(this)} danger>
60
+ <md-icon>cancel</md-icon>${i18next.t('button.cancel')}
61
+ </button>
62
+ <button @click=${this.onConfirm.bind(this)}><md-icon>done</md-icon>${i18next.t('button.confirm')}</button>
64
63
  </div>
65
64
  `
66
65
  }
@@ -11,8 +11,6 @@ import { OxDataEntrySubgroupForm } from './ox-data-entry-subgroup-form.js'
11
11
  export class OxDataEntryForm extends LitElement {
12
12
  static styles = css`
13
13
  :host {
14
- display: flex;
15
- flex-direction: row;
16
14
  --item-description-font: normal 0.8rem/1rem var(--theme-font);
17
15
  --item-description-color: var(--page-description-color);
18
16
  }
@@ -34,13 +32,12 @@ export class OxDataEntryForm extends LitElement {
34
32
  }
35
33
 
36
34
  form {
37
- flex: 1;
38
-
39
35
  display: flex;
40
36
  flex-direction: column;
37
+ overflow: hidden;
41
38
  }
42
39
 
43
- label {
40
+ form > div[label] {
44
41
  display: grid;
45
42
 
46
43
  grid-template-rows: auto 1fr;
@@ -50,11 +47,11 @@ export class OxDataEntryForm extends LitElement {
50
47
  grid-gap: 9px;
51
48
  align-items: center;
52
49
  margin-bottom: var(--margin-default);
53
- }
54
50
 
55
- label:nth-child(odd) {
56
- background-color: var(--main-section-background-color);
57
- padding: var(--padding-default) 0;
51
+ &:nth-child(odd) {
52
+ background-color: var(--main-section-background-color);
53
+ padding: var(--padding-default) 0;
54
+ }
58
55
  }
59
56
 
60
57
  div[name] {
@@ -69,15 +66,15 @@ export class OxDataEntryForm extends LitElement {
69
66
  font: var(--item-description-font);
70
67
  color: var(--item-description-color);
71
68
  text-align: left;
72
- }
73
69
 
74
- div[description] * {
75
- vertical-align: middle;
76
- }
70
+ * {
71
+ vertical-align: middle;
72
+ }
77
73
 
78
- div[description] mwc-icon {
79
- margin-top: -3px;
80
- font-size: 0.9rem;
74
+ md-icon {
75
+ margin-top: -3px;
76
+ font-size: 0.9rem;
77
+ }
81
78
  }
82
79
 
83
80
  div[elements] {
@@ -87,18 +84,18 @@ export class OxDataEntryForm extends LitElement {
87
84
  flex-wrap: wrap;
88
85
  gap: 10px;
89
86
  padding-right: var(--padding-default);
90
- }
91
87
 
92
- div[elements] * {
93
- flex: 1;
94
- }
88
+ * {
89
+ flex: 1;
90
+ }
95
91
 
96
- div[elements] input,
97
- div[elements] select {
98
- border: var(--input-field-border);
99
- border-radius: var(--input-field-border-radius);
100
- padding: var(--input-field-padding);
101
- font: var(--input-field-font);
92
+ input,
93
+ select {
94
+ border: var(--input-field-border);
95
+ border-radius: var(--input-field-border-radius);
96
+ padding: var(--input-field-padding);
97
+ font: var(--input-field-font);
98
+ }
102
99
  }
103
100
 
104
101
  div[subgroup] {
@@ -107,7 +104,7 @@ export class OxDataEntryForm extends LitElement {
107
104
  }
108
105
 
109
106
  @media only screen and (max-width: 460px) {
110
- label {
107
+ form > div[label] {
111
108
  display: grid;
112
109
 
113
110
  grid-template-rows: auto auto 1fr;
@@ -168,7 +165,7 @@ export class OxDataEntryForm extends LitElement {
168
165
 
169
166
  private buildInputs4Subgroup(subgroup: string, dataItems: DataItem[], value: { [tag: string]: any }): TemplateResult {
170
167
  return html`
171
- <label>
168
+ <div label>
172
169
  <div name>${subgroup}</div>
173
170
  <div subgroup>
174
171
  <ox-data-entry-subgroup-form
@@ -177,7 +174,7 @@ export class OxDataEntryForm extends LitElement {
177
174
  .value=${value}
178
175
  ></ox-data-entry-subgroup-form>
179
176
  </div>
180
- </label>
177
+ </div>
181
178
  `
182
179
  }
183
180
 
@@ -199,23 +196,42 @@ export class OxDataEntryForm extends LitElement {
199
196
  option => html`<option value=${option.value} ?selected=${option.value === v}>${option.text}</option>`
200
197
  )}
201
198
  </select>`
202
- break
199
+
200
+ case 'radio':
201
+ return html`<div
202
+ @change=${(e: Event) => {
203
+ const div = e.currentTarget as HTMLElement
204
+ const inputHidden = div.querySelector(`input[name="${tag}"]`) as HTMLInputElement
205
+ inputHidden.value = (e.target as HTMLInputElement).value
206
+ }}
207
+ >
208
+ <input type="hidden" name=${tag} />
209
+
210
+ ${(options.options || []).map(
211
+ option =>
212
+ html`<label>
213
+ <input
214
+ type="radio"
215
+ name=${'$' + tag + '-' + idx}
216
+ .value=${option.value}
217
+ ?checked=${option.value === v}
218
+ />
219
+ ${option.text}
220
+ </label>`
221
+ )}
222
+ </div>`
203
223
 
204
224
  case 'boolean':
205
225
  return html` <input type="checkbox" name=${tag} .checked=${v} />`
206
- break
207
226
 
208
227
  case 'number':
209
228
  return html` <input type="number" name=${tag} value=${v} />`
210
- break
211
229
 
212
230
  case 'date':
213
231
  return html` <input type="date" name=${tag} value=${v} />`
214
- break
215
232
 
216
233
  case 'datetime':
217
234
  return html` <input type="datetime-local" name=${tag} value=${v} />`
218
- break
219
235
 
220
236
  case 'file':
221
237
  return html`<ox-input-file name=${tag} label="Attach Files" accept="*/*" multiple="true"></ox-input-file>`
@@ -226,11 +242,11 @@ export class OxDataEntryForm extends LitElement {
226
242
  }
227
243
  })
228
244
 
229
- return html` <label .title=${description}>
245
+ return html` <div label>
230
246
  <div name>${name}${unit ? `(${unit})` : ''}</div>
231
- <div description><mwc-icon>info_outline</mwc-icon> ${description}</div>
247
+ <div description><md-icon>info</md-icon> ${description}</div>
232
248
  <div elements>${elements}</div>
233
- </label>`
249
+ </div>`
234
250
  })
235
251
  }
236
252
 
@@ -238,19 +254,22 @@ export class OxDataEntryForm extends LitElement {
238
254
  const dataItems = this.dataSet!.dataItems
239
255
  const nonGroupDataItems = dataItems.filter(dataItem => !dataItem.group)
240
256
 
241
- const nonGroupValue = (nonGroupDataItems || []).reduce((sum, dataItem) => {
242
- const { tag, type } = dataItem
257
+ const nonGroupValue = (nonGroupDataItems || []).reduce(
258
+ (sum, dataItem) => {
259
+ const { tag, type } = dataItem
243
260
 
244
- const editors = Array.prototype.slice.call(
245
- this.renderRoot.querySelectorAll(`[name=${tag}]`) as NodeListOf<HTMLInputElement>
246
- ) as HTMLInputElement[]
261
+ const editors = Array.prototype.slice.call(
262
+ this.renderRoot.querySelectorAll(`[name=${tag}]`) as NodeListOf<HTMLInputElement>
263
+ ) as HTMLInputElement[]
247
264
 
248
- if (editors.length > 0) {
249
- sum[tag] = editors.map(editor => (type === 'boolean' ? editor.checked : editor.value))
250
- }
265
+ if (editors.length > 0) {
266
+ sum[tag] = editors.map(editor => (type === 'boolean' ? editor.checked : editor.value))
267
+ }
251
268
 
252
- return sum
253
- }, {} as { [tag: string]: any })
269
+ return sum
270
+ },
271
+ {} as { [tag: string]: any }
272
+ )
254
273
 
255
274
  return Array.from(this.subgroups).reduce((value, subgroup) => {
256
275
  return {
@@ -58,6 +58,8 @@ export class OxDataEntrySubgroupForm extends LitElement {
58
58
 
59
59
  switch (type) {
60
60
  case 'select':
61
+ case 'radio': // 그리드안에 radio가 들어갈수 없어서 select로 변환
62
+ columnConfig.type = 'select'
61
63
  columnConfig.record.options = [
62
64
  '',
63
65
  ...(options.options || []).map((option: any) => {
@@ -1,6 +1,6 @@
1
1
  import '@operato/input/ox-input-file.js'
2
2
 
3
- import { css, html, LitElement } from 'lit'
3
+ import { css, html, LitElement, nothing } from 'lit'
4
4
  import { customElement, property } from 'lit/decorators.js'
5
5
 
6
6
  import { i18next } from '@operato/i18n'
@@ -39,7 +39,7 @@ export class OxDataEntryView extends LitElement {
39
39
  [page-description] * {
40
40
  vertical-align: middle;
41
41
  }
42
- [page-description] mwc-icon {
42
+ [page-description] md-icon {
43
43
  margin-top: -2px;
44
44
  font-size: 0.9rem;
45
45
  color: var(--page-description-color);
@@ -57,6 +57,7 @@ export class OxDataEntryView extends LitElement {
57
57
  font: var(--th-font);
58
58
  color: var(--th-color);
59
59
  text-align: left;
60
+ white-space: nowrap;
60
61
  }
61
62
  th[item] {
62
63
  min-width: 100px;
@@ -86,13 +87,19 @@ export class OxDataEntryView extends LitElement {
86
87
  td[name] {
87
88
  font-weight: bold;
88
89
  }
89
- td mwc-icon {
90
+ td md-icon {
90
91
  color: var(--status-danger-color);
91
92
  }
92
93
 
93
94
  pre {
94
95
  tab-size: 2;
95
96
  }
97
+
98
+ @media screen and (max-width: 480px) {
99
+ th {
100
+ min-width: 50px;
101
+ }
102
+ }
96
103
  `
97
104
 
98
105
  @property({ type: Object }) dataSet?: DataSet
@@ -154,20 +161,24 @@ export class OxDataEntryView extends LitElement {
154
161
 
155
162
  return html` <label .title=${description}>
156
163
  <div name>${name}${unit ? `(${unit})` : ''}</div>
157
- <div description><mwc-icon>info_outline</mwc-icon> ${description}</div>
164
+ <div description><md-icon>info</md-icon> ${description}</div>
158
165
  <div elements>${elements}</div>
159
166
  </label>`
160
167
  })
161
168
  }
162
169
 
163
170
  render() {
171
+ if (!this.dataSet) {
172
+ return nothing
173
+ }
174
+
164
175
  const { name, description, useCase, dataItems = [] } = this.dataSet!
165
176
 
166
177
  const data = this.value || {}
167
178
  const useCaseNames = useCase?.split(',').filter(useCase => useCase.trim()) || []
168
179
 
169
180
  return html` <h2>${name}</h2>
170
- <p page-description><mwc-icon>info_outline</mwc-icon> ${description}<br /></p>
181
+ <p page-description><md-icon>info</md-icon> ${description}<br /></p>
171
182
 
172
183
  <form>
173
184
  <table>
@@ -194,8 +205,8 @@ export class OxDataEntryView extends LitElement {
194
205
  <td>${unit}</td>
195
206
  <td>${this.buildValue(type, value)}</td>
196
207
  <td><pre>${this.buildSpec(useCaseNames, spec)}</pre></td>
197
- <td>${ooc ? html`<mwc-icon>done</mwc-icon>` : ''}</td>
198
- <td>${oos ? html`<mwc-icon>done</mwc-icon>` : ''}</td>
208
+ <td>${ooc ? html`<md-icon>done</md-icon>` : ''}</td>
209
+ <td>${oos ? html`<md-icon>done</md-icon>` : ''}</td>
199
210
  </tr>
200
211
  `
201
212
  })}
@@ -52,14 +52,14 @@ export class OxDataItemSpec extends LitElement {
52
52
  div[description] * {
53
53
  vertical-align: middle;
54
54
  }
55
- div[description] mwc-icon {
55
+ div[description] md-icon {
56
56
  margin-top: -3px;
57
57
  font-size: 0.9rem;
58
58
  }
59
59
  ox-properties-dynamic-view {
60
60
  grid-area: inputs;
61
61
  display: flex;
62
- flex-direction: row;
62
+ flex-direction: column;
63
63
  flex-wrap: wrap;
64
64
  gap: 10px;
65
65
  padding-right: var(--padding-default);
@@ -94,12 +94,13 @@ export class OxDataItemSpec extends LitElement {
94
94
  render() {
95
95
  return html`<form @property-change=${(e: Event) => this.onChange(e)}>
96
96
  ${this.dataItemSpecSets.map(
97
- ({ name, description, specs }) => html` <label
98
- ><div name>${name}</div>
99
- <div description><mwc-icon>info_outline</mwc-icon> ${description}</div>
100
- <ox-properties-dynamic-view data-name=${name} .props=${specs} .value=${this.value?.[name]}>
101
- </ox-properties-dynamic-view
102
- ></label>`
97
+ ({ name, description, specs }) =>
98
+ html` <label
99
+ ><div name>${name}</div>
100
+ <div description><md-icon>info</md-icon> ${description}</div>
101
+ <ox-properties-dynamic-view data-name=${name} .props=${specs} .value=${this.value?.[name]}>
102
+ </ox-properties-dynamic-view
103
+ ></label>`
103
104
  )}
104
105
  </form>`
105
106
  }
@@ -1,6 +1,6 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/input/ox-input-file.js'
2
3
  import './ox-data-sample-view'
3
- import '@material/mwc-icon'
4
4
 
5
5
  import { css, html, LitElement, nothing } from 'lit'
6
6
  import { customElement, property } from 'lit/decorators.js'
@@ -15,12 +15,16 @@ export class OxDataOocBadge extends LitElement {
15
15
  text-align: center;
16
16
  }
17
17
 
18
- mwc-icon {
19
- font-size: 80px;
18
+ md-icon {
19
+ --md-icon-size: 80px;
20
20
  opacity: 0.4;
21
21
  color: var(--primary-background-color);
22
22
  }
23
23
 
24
+ md-icon[filled] {
25
+ font-variation-settings: 'FILL' 1;
26
+ }
27
+
24
28
  div {
25
29
  position: absolute;
26
30
  top: 22px;
@@ -56,7 +60,7 @@ export class OxDataOocBadge extends LitElement {
56
60
 
57
61
  return html`
58
62
  <h3 ?danger=${state != 'CORRECTED'} ?complete=${state == 'CORRECTED'}>
59
- <mwc-icon>shield</mwc-icon>
63
+ <md-icon filled>shield</md-icon>
60
64
  <div>DATA OOC <span field-state>${state || ''}</span></div>
61
65
  </h3>
62
66
  `
@@ -2,7 +2,7 @@ import '@operato/input/ox-input-file.js'
2
2
  import './ox-data-sample-view'
3
3
  import './ox-data-ooc-badge'
4
4
  import './ox-data-ooc-correction-part'
5
- import '@material/mwc-icon'
5
+ import '@material/web/icon/icon.js'
6
6
 
7
7
  import { css, html, LitElement } from 'lit'
8
8
  import { customElement, property } from 'lit/decorators.js'
@@ -15,7 +15,6 @@ export class OxDataOocBriefView extends LitElement {
15
15
  :host {
16
16
  display: flex;
17
17
  flex-direction: column;
18
- background-color: var(--main-section-background-color);
19
18
 
20
19
  position: relative;
21
20
  }
@@ -1,5 +1,5 @@
1
1
  import '@operato/input/ox-input-file.js'
2
- import '@material/mwc-icon'
2
+ import '@material/web/icon/icon.js'
3
3
 
4
4
  import { css, html, LitElement, nothing } from 'lit'
5
5
  import { customElement, property } from 'lit/decorators.js'
@@ -14,7 +14,6 @@ export class OxDataOocCorrectionPart extends LitElement {
14
14
  :host {
15
15
  display: flex;
16
16
  flex-direction: column;
17
- background-color: var(--main-section-background-color);
18
17
 
19
18
  position: relative;
20
19
  }
@@ -27,7 +26,7 @@ export class OxDataOocCorrectionPart extends LitElement {
27
26
  font-size: 20px;
28
27
  }
29
28
 
30
- mwc-icon {
29
+ md-icon {
31
30
  font-size: 16px;
32
31
  }
33
32
 
@@ -50,7 +49,7 @@ export class OxDataOocCorrectionPart extends LitElement {
50
49
  color: var(--secondary-color);
51
50
  }
52
51
 
53
- mwc-icon {
52
+ md-icon {
54
53
  position: relative;
55
54
  top: 3px;
56
55
  margin: 0 2px 0 10px;
@@ -86,7 +85,7 @@ export class OxDataOocCorrectionPart extends LitElement {
86
85
  <h3>${i18next.t('label.corrective instruction')}</h3>
87
86
  <p>
88
87
  <span field-info
89
- >${formatter.format(new Date(reviewedAt!))} <mwc-icon>account_circle</mwc-icon>${reviewer.name}</span
88
+ >${formatter.format(new Date(reviewedAt!))} <md-icon>account_circle</md-icon>${reviewer.name}</span
90
89
  >
91
90
  <strong>${correctiveInstruction}</strong>
92
91
  </p>
@@ -97,7 +96,7 @@ export class OxDataOocCorrectionPart extends LitElement {
97
96
  <h3>${i18next.t('label.corrective action')}</h3>
98
97
  <p>
99
98
  <span field-info
100
- >${formatter.format(new Date(correctedAt!))} <mwc-icon>account_circle</mwc-icon>${corrector.name}</span
99
+ >${formatter.format(new Date(correctedAt!))} <md-icon>account_circle</md-icon>${corrector.name}</span
101
100
  >
102
101
  <strong>${correctiveAction}</strong>
103
102
  </p>
@@ -1,6 +1,6 @@
1
1
  import '@operato/input/ox-input-file.js'
2
2
  import './ox-data-sample-view'
3
- import '@material/mwc-icon'
3
+ import '@material/web/icon/icon.js'
4
4
 
5
5
  import { css, html, LitElement } from 'lit'
6
6
  import { customElement, property } from 'lit/decorators.js'
@@ -10,7 +10,7 @@ import { DataOoc } from './types.js'
10
10
  @customElement('ox-data-ooc-history')
11
11
  export class OxDataOocHistory extends LitElement {
12
12
  static styles = css`
13
- mwc-icon {
13
+ md-icon {
14
14
  font-size: 16px;
15
15
  }
16
16
 
@@ -33,7 +33,7 @@ export class OxDataOocHistory extends LitElement {
33
33
  color: var(--secondary-color);
34
34
  }
35
35
 
36
- mwc-icon {
36
+ md-icon {
37
37
  position: relative;
38
38
  top: 3px;
39
39
  margin: 0 2px 0 10px;
@@ -62,7 +62,7 @@ export class OxDataOocHistory extends LitElement {
62
62
  <p page-history>
63
63
  <!--상태에 따라 추가로 danger, complete를 어트리뷰트로 추가시 배경컬러 변경되도록 해두었습니다-->
64
64
  <span field-info
65
- >${formatter.format(new Date(timestamp))} <mwc-icon>account_circle</mwc-icon>${user.name}</span
65
+ >${formatter.format(new Date(timestamp))} <md-icon>account_circle</md-icon>${user.name}</span
66
66
  >
67
67
  <span field-state>${state}</span>
68
68
  <strong>${comment}</strong>
@@ -1,7 +1,7 @@
1
1
  import '@operato/input/ox-input-file.js'
2
2
  import './ox-data-sample-view'
3
3
  import './ox-data-ooc-history'
4
- import '@material/mwc-icon'
4
+ import '@material/web/icon/icon.js'
5
5
 
6
6
  import { css, html, LitElement } from 'lit'
7
7
  import { customElement, property } from 'lit/decorators.js'
@@ -19,7 +19,6 @@ export class OxDataOocView extends LitElement {
19
19
  :host {
20
20
  display: flex;
21
21
  flex-direction: column;
22
- background-color: var(--main-section-background-color);
23
22
 
24
23
  position: relative;
25
24
  }