@operato/dataset 1.0.0-beta.7 → 1.0.0

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 (100) hide show
  1. package/CHANGELOG.md +379 -0
  2. package/dist/src/grist-editor/ox-grist-editor-data-item-spec.js +1 -1
  3. package/dist/src/grist-editor/ox-grist-editor-data-item-spec.js.map +1 -1
  4. package/dist/src/grist-editor/ox-popup-data-item-spec.js +6 -4
  5. package/dist/src/grist-editor/ox-popup-data-item-spec.js.map +1 -1
  6. package/dist/src/index.d.ts +1 -5
  7. package/dist/src/index.js +1 -5
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/ox-data-entry-form.js +24 -4
  10. package/dist/src/ox-data-entry-form.js.map +1 -1
  11. package/dist/src/ox-data-item-spec.d.ts +2 -2
  12. package/dist/src/ox-data-item-spec.js +71 -14
  13. package/dist/src/ox-data-item-spec.js.map +1 -1
  14. package/dist/src/ox-data-ooc-view.js +73 -14
  15. package/dist/src/ox-data-ooc-view.js.map +1 -1
  16. package/dist/src/ox-data-sample-view.d.ts +1 -3
  17. package/dist/src/ox-data-sample-view.js +40 -38
  18. package/dist/src/ox-data-sample-view.js.map +1 -1
  19. package/dist/src/types.d.ts +25 -6
  20. package/dist/src/types.js.map +1 -1
  21. package/dist/src/usecase/ccp/index.d.ts +1 -0
  22. package/dist/src/usecase/ccp/index.js +8 -0
  23. package/dist/src/usecase/ccp/index.js.map +1 -0
  24. package/dist/src/usecase/ccp/ox-data-use-case-ccp.d.ts +7 -0
  25. package/dist/src/usecase/ccp/ox-data-use-case-ccp.js +102 -0
  26. package/dist/src/usecase/ccp/ox-data-use-case-ccp.js.map +1 -0
  27. package/dist/src/usecase/ccp/ox-input-ccp-limits.d.ts +44 -0
  28. package/dist/src/usecase/ccp/ox-input-ccp-limits.js +171 -0
  29. package/dist/src/usecase/ccp/ox-input-ccp-limits.js.map +1 -0
  30. package/dist/src/usecase/ccp/ox-property-editor-ccp-limits.d.ts +5 -0
  31. package/dist/src/usecase/ccp/ox-property-editor-ccp-limits.js +24 -0
  32. package/dist/src/usecase/ccp/ox-property-editor-ccp-limits.js.map +1 -0
  33. package/dist/src/{ox-data-use-case.d.ts → usecase/ox-data-use-case.d.ts} +5 -5
  34. package/dist/src/{ox-data-use-case.js → usecase/ox-data-use-case.js} +22 -34
  35. package/dist/src/usecase/ox-data-use-case.js.map +1 -0
  36. package/dist/src/usecase/qc/index.d.ts +1 -0
  37. package/dist/src/usecase/qc/index.js +8 -0
  38. package/dist/src/usecase/qc/index.js.map +1 -0
  39. package/dist/src/usecase/qc/ox-data-use-case-qc.d.ts +7 -0
  40. package/dist/src/usecase/qc/ox-data-use-case-qc.js +55 -0
  41. package/dist/src/usecase/qc/ox-data-use-case-qc.js.map +1 -0
  42. package/dist/src/usecase/qc/ox-input-qc-limits.d.ts +44 -0
  43. package/dist/src/usecase/qc/ox-input-qc-limits.js +171 -0
  44. package/dist/src/usecase/qc/ox-input-qc-limits.js.map +1 -0
  45. package/dist/src/usecase/qc/ox-property-editor-qc-limits.d.ts +5 -0
  46. package/dist/src/usecase/qc/ox-property-editor-qc-limits.js +24 -0
  47. package/dist/src/usecase/qc/ox-property-editor-qc-limits.js.map +1 -0
  48. package/dist/stories/ox-data-entry-form.stories.d.ts +19 -0
  49. package/dist/stories/ox-data-entry-form.stories.js +152 -0
  50. package/dist/stories/ox-data-entry-form.stories.js.map +1 -0
  51. package/dist/stories/ox-data-item-spec.stories.d.ts +26 -0
  52. package/dist/stories/ox-data-item-spec.stories.js +102 -0
  53. package/dist/stories/ox-data-item-spec.stories.js.map +1 -0
  54. package/dist/stories/ox-data-ooc-view.stories.d.ts +19 -0
  55. package/dist/stories/ox-data-ooc-view.stories.js +242 -0
  56. package/dist/stories/ox-data-ooc-view.stories.js.map +1 -0
  57. package/dist/stories/ox-data-sample-view.stories.d.ts +19 -0
  58. package/dist/stories/ox-data-sample-view.stories.js +213 -0
  59. package/dist/stories/ox-data-sample-view.stories.js.map +1 -0
  60. package/dist/stories/ox-grist-editor-data-item-spec.stories.d.ts +27 -0
  61. package/dist/stories/ox-grist-editor-data-item-spec.stories.js +389 -0
  62. package/dist/stories/ox-grist-editor-data-item-spec.stories.js.map +1 -0
  63. package/dist/tsconfig.tsbuildinfo +1 -1
  64. package/package.json +24 -18
  65. package/src/grist-editor/ox-grist-editor-data-item-spec.ts +1 -1
  66. package/src/grist-editor/ox-popup-data-item-spec.ts +8 -5
  67. package/src/index.ts +1 -5
  68. package/src/ox-data-entry-form.ts +24 -4
  69. package/src/ox-data-item-spec.ts +73 -16
  70. package/src/ox-data-ooc-view.ts +73 -14
  71. package/src/ox-data-sample-view.ts +43 -39
  72. package/src/types.ts +31 -6
  73. package/src/usecase/ccp/index.ts +10 -0
  74. package/src/usecase/ccp/ox-data-use-case-ccp.ts +147 -0
  75. package/src/usecase/ccp/ox-input-ccp-limits.ts +161 -0
  76. package/src/usecase/ccp/ox-property-editor-ccp-limits.ts +23 -0
  77. package/src/{ox-data-use-case.ts → usecase/ox-data-use-case.ts} +27 -41
  78. package/src/usecase/qc/index.ts +10 -0
  79. package/src/usecase/qc/ox-data-use-case-qc.ts +72 -0
  80. package/src/usecase/qc/ox-input-qc-limits.ts +161 -0
  81. package/src/usecase/qc/ox-property-editor-qc-limits.ts +23 -0
  82. package/stories/ox-data-entry-form.stories.ts +165 -0
  83. package/stories/ox-data-item-spec.stories.ts +121 -0
  84. package/stories/ox-data-ooc-view.stories.ts +256 -0
  85. package/stories/ox-data-sample-view.stories.ts +227 -0
  86. package/stories/ox-grist-editor-data-item-spec.stories.ts +409 -0
  87. package/translations/en.json +26 -8
  88. package/translations/ko.json +25 -7
  89. package/translations/ms.json +26 -8
  90. package/translations/zh.json +25 -7
  91. package/demo/index.html +0 -28
  92. package/demo/ox-data-entry-form.html +0 -118
  93. package/demo/ox-data-item-spec.html +0 -152
  94. package/demo/ox-data-ooc-view.html +0 -185
  95. package/demo/ox-data-sample-view.html +0 -150
  96. package/demo/ox-grist-editor-data-item-spec.html +0 -476
  97. package/dist/src/ox-data-sample-view copy.d.ts +0 -13
  98. package/dist/src/ox-data-sample-view copy.js +0 -214
  99. package/dist/src/ox-data-sample-view copy.js.map +0 -1
  100. package/dist/src/ox-data-use-case.js.map +0 -1
@@ -0,0 +1,242 @@
1
+ import '@operato/i18n';
2
+ import '../src/ox-data-ooc-view.js';
3
+ import '../src/usecase/ccp'; /* register usecase CCP */
4
+ import '@material/mwc-icon';
5
+ import { html } from 'lit';
6
+ export default {
7
+ title: 'ox-data-ooc-view',
8
+ component: 'ox-data-ooc-view',
9
+ argTypes: {}
10
+ };
11
+ const dataSet = {
12
+ name: 'sample',
13
+ description: 'sample description',
14
+ useCase: 'CCP',
15
+ dataItems: [
16
+ {
17
+ name: '창고 온도',
18
+ description: '창고 온도는 섭씨 0도 이하로 유지되어야 합니다.',
19
+ sequence: 1,
20
+ tag: 'temp',
21
+ type: 'number',
22
+ quota: 1,
23
+ active: true,
24
+ unit: '℃',
25
+ spec: {
26
+ CCP: {
27
+ criticalLimits: {
28
+ minimum: 100,
29
+ maximum: 200
30
+ },
31
+ targetLimits: {
32
+ minimum: 120,
33
+ maximum: 180
34
+ }
35
+ }
36
+ }
37
+ },
38
+ {
39
+ name: '창고 습도',
40
+ description: '창고 습도는 30% 이하로 유지되어야 합니다.',
41
+ sequence: 2,
42
+ tag: 'humid',
43
+ type: 'number',
44
+ quota: 5,
45
+ active: true,
46
+ unit: '%',
47
+ spec: {
48
+ CCP: {
49
+ criticalLimits: {
50
+ minimum: 10,
51
+ maximum: 50
52
+ },
53
+ targetLimits: {
54
+ minimum: 20,
55
+ maximum: 40
56
+ }
57
+ }
58
+ }
59
+ },
60
+ {
61
+ name: '육안 검사',
62
+ description: '육안 검사는 포장전 30분 내로 실행되어야 합니다.',
63
+ sequence: 3,
64
+ tag: 'inspection',
65
+ type: 'boolean',
66
+ quota: 3,
67
+ active: true,
68
+ spec: {
69
+ CCP: {
70
+ criticalLimits: {
71
+ acceptables: true
72
+ },
73
+ targetLimits: {
74
+ acceptables: true
75
+ }
76
+ }
77
+ }
78
+ },
79
+ {
80
+ name: '품평',
81
+ description: '품평은 최우수/우수/보통/미달을 포함하여 간단히 평가.',
82
+ sequence: 4,
83
+ tag: 'evaluation',
84
+ type: 'select',
85
+ options: {
86
+ options: [
87
+ { text: '최우수', value: '최우수' },
88
+ { text: '우수', value: '우수' },
89
+ { text: '보통', value: '보통' },
90
+ { text: '미달', value: '미달' }
91
+ ]
92
+ },
93
+ quota: 3,
94
+ active: true,
95
+ spec: {
96
+ CCP: {
97
+ criticalLimits: {
98
+ acceptables: ['최우수', '우수', '보통']
99
+ },
100
+ targetLimits: {
101
+ acceptables: ['최우수', '우수']
102
+ }
103
+ }
104
+ }
105
+ },
106
+ {
107
+ name: '코멘트',
108
+ description: '특이사항을 기록함.',
109
+ sequence: 4,
110
+ tag: 'comment',
111
+ type: 'string',
112
+ quota: 1,
113
+ active: true
114
+ },
115
+ {
116
+ name: '첨부파일',
117
+ description: '참조 첨부 파일.',
118
+ sequence: 4,
119
+ tag: 'attachment',
120
+ type: 'file',
121
+ quota: 1,
122
+ active: true
123
+ }
124
+ ]
125
+ };
126
+ var dataOoc = {
127
+ name: 'Data Sample Name',
128
+ description: 'Data Sample이 어쩌구 저쩌구 그래서 중요합니다. 당연히 그래야죠.',
129
+ useCase: 'CCP',
130
+ data: {
131
+ temp: [1000],
132
+ humid: [20, 23, 21, 26, 27],
133
+ inspection: [true, false, true],
134
+ evaluation: ['최우수', '보통', '우수'],
135
+ comment: '이것은 코멘트입니다.'
136
+ },
137
+ spec: {
138
+ temp: {
139
+ name: '창고 온도',
140
+ description: '창고 온도는 섭씨 0도 이하로 유지되어야 합니다.',
141
+ spec: {
142
+ CCP: {
143
+ criticalLimits: {
144
+ minimum: 100,
145
+ maximum: 200
146
+ },
147
+ targetLimits: {
148
+ minimum: 120,
149
+ maximum: 180
150
+ }
151
+ }
152
+ }
153
+ },
154
+ humid: {
155
+ name: '창고 습도',
156
+ description: '창고 습도는 30% 이하로 유지되어야 합니다.',
157
+ spec: {
158
+ CCP: {
159
+ criticalLimits: {
160
+ minimum: 10,
161
+ maximum: 50
162
+ },
163
+ targetLimits: {
164
+ minimum: 20,
165
+ maximum: 40
166
+ }
167
+ }
168
+ }
169
+ },
170
+ inspection: {
171
+ name: '육안 검사',
172
+ description: '육안 검사는 포장전 30분 내로 실행되어야 합니다.'
173
+ },
174
+ evaluation: {
175
+ name: '품평',
176
+ description: '품평은 최우수/우수/보통/미달을 포함하여 간단히 평가.',
177
+ spec: {
178
+ CCP: {
179
+ criticalLimits: {
180
+ acceptables: ['최우수', '우수', '보통']
181
+ },
182
+ targetLimits: {
183
+ acceptables: ['최우수', '우수']
184
+ }
185
+ }
186
+ }
187
+ },
188
+ comment: {
189
+ name: '코멘트',
190
+ description: '특이사항을 기록함.'
191
+ },
192
+ attachment: {
193
+ name: '첨부파일',
194
+ description: '참조 첨부 파일.'
195
+ }
196
+ },
197
+ collectedAt: Date.now(),
198
+ history: [
199
+ {
200
+ user: {
201
+ id: 0,
202
+ name: 'shnam'
203
+ },
204
+ state: 'CREATED',
205
+ timestamp: Date.now()
206
+ },
207
+ {
208
+ user: {
209
+ id: 0,
210
+ name: 'shnam'
211
+ },
212
+ state: 'REVIEWED',
213
+ comment: '금일 생산한 제품은 전량 폐기합니다',
214
+ timestamp: Date.now()
215
+ },
216
+ {
217
+ user: {
218
+ id: 0,
219
+ name: 'shnam'
220
+ },
221
+ state: 'CORRECTED',
222
+ timestamp: Date.now()
223
+ }
224
+ ]
225
+ };
226
+ const Template = ({}) => html `
227
+ <link href="/themes/app-theme.css" rel="stylesheet" />
228
+ <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
229
+ <style>
230
+ body {
231
+ }
232
+ </style>
233
+
234
+ <ox-data-ooc-view
235
+ .dataSet=${dataSet}
236
+ .dataOoc=${dataOoc}
237
+ @change=${(e) => console.log(e.detail)}
238
+ ></ox-data-ooc-view>
239
+ `;
240
+ export const Regular = Template.bind({});
241
+ Regular.args = {};
242
+ //# sourceMappingURL=ox-data-ooc-view.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-data-ooc-view.stories.js","sourceRoot":"","sources":["../../stories/ox-data-ooc-view.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/i18n'\nimport '../src/ox-data-ooc-view.js'\nimport '../src/usecase/ccp' /* register usecase CCP */\nimport '@material/mwc-icon'\n\nimport { html, TemplateResult } from 'lit'\n\nexport default {\n title: 'ox-data-ooc-view',\n component: 'ox-data-ooc-view',\n argTypes: {}\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {}\n\nconst dataSet = {\n name: 'sample',\n description: 'sample description',\n useCase: 'CCP',\n dataItems: [\n {\n name: '창고 온도',\n description: '창고 온도는 섭씨 0도 이하로 유지되어야 합니다.',\n sequence: 1,\n tag: 'temp',\n type: 'number',\n quota: 1,\n active: true,\n unit: '℃',\n spec: {\n CCP: {\n criticalLimits: {\n minimum: 100,\n maximum: 200\n },\n targetLimits: {\n minimum: 120,\n maximum: 180\n }\n }\n }\n },\n {\n name: '창고 습도',\n description: '창고 습도는 30% 이하로 유지되어야 합니다.',\n sequence: 2,\n tag: 'humid',\n type: 'number',\n quota: 5,\n active: true,\n unit: '%',\n spec: {\n CCP: {\n criticalLimits: {\n minimum: 10,\n maximum: 50\n },\n targetLimits: {\n minimum: 20,\n maximum: 40\n }\n }\n }\n },\n {\n name: '육안 검사',\n description: '육안 검사는 포장전 30분 내로 실행되어야 합니다.',\n sequence: 3,\n tag: 'inspection',\n type: 'boolean',\n quota: 3,\n active: true,\n spec: {\n CCP: {\n criticalLimits: {\n acceptables: true\n },\n targetLimits: {\n acceptables: true\n }\n }\n }\n },\n {\n name: '품평',\n description: '품평은 최우수/우수/보통/미달을 포함하여 간단히 평가.',\n sequence: 4,\n tag: 'evaluation',\n type: 'select',\n options: {\n options: [\n { text: '최우수', value: '최우수' },\n { text: '우수', value: '우수' },\n { text: '보통', value: '보통' },\n { text: '미달', value: '미달' }\n ]\n },\n quota: 3,\n active: true,\n spec: {\n CCP: {\n criticalLimits: {\n acceptables: ['최우수', '우수', '보통']\n },\n targetLimits: {\n acceptables: ['최우수', '우수']\n }\n }\n }\n },\n {\n name: '코멘트',\n description: '특이사항을 기록함.',\n sequence: 4,\n tag: 'comment',\n type: 'string',\n quota: 1,\n active: true\n },\n {\n name: '첨부파일',\n description: '참조 첨부 파일.',\n sequence: 4,\n tag: 'attachment',\n type: 'file',\n quota: 1,\n active: true\n }\n ]\n}\n\nvar dataOoc = {\n name: 'Data Sample Name',\n description: 'Data Sample이 어쩌구 저쩌구 그래서 중요합니다. 당연히 그래야죠.',\n useCase: 'CCP',\n data: {\n temp: [1000],\n humid: [20, 23, 21, 26, 27],\n inspection: [true, false, true],\n evaluation: ['최우수', '보통', '우수'],\n comment: '이것은 코멘트입니다.'\n },\n spec: {\n temp: {\n name: '창고 온도',\n description: '창고 온도는 섭씨 0도 이하로 유지되어야 합니다.',\n spec: {\n CCP: {\n criticalLimits: {\n minimum: 100,\n maximum: 200\n },\n targetLimits: {\n minimum: 120,\n maximum: 180\n }\n }\n }\n },\n humid: {\n name: '창고 습도',\n description: '창고 습도는 30% 이하로 유지되어야 합니다.',\n spec: {\n CCP: {\n criticalLimits: {\n minimum: 10,\n maximum: 50\n },\n targetLimits: {\n minimum: 20,\n maximum: 40\n }\n }\n }\n },\n inspection: {\n name: '육안 검사',\n description: '육안 검사는 포장전 30분 내로 실행되어야 합니다.'\n },\n evaluation: {\n name: '품평',\n description: '품평은 최우수/우수/보통/미달을 포함하여 간단히 평가.',\n spec: {\n CCP: {\n criticalLimits: {\n acceptables: ['최우수', '우수', '보통']\n },\n targetLimits: {\n acceptables: ['최우수', '우수']\n }\n }\n }\n },\n comment: {\n name: '코멘트',\n description: '특이사항을 기록함.'\n },\n attachment: {\n name: '첨부파일',\n description: '참조 첨부 파일.'\n }\n },\n collectedAt: Date.now(),\n history: [\n {\n user: {\n id: 0,\n name: 'shnam'\n },\n state: 'CREATED',\n timestamp: Date.now()\n },\n {\n user: {\n id: 0,\n name: 'shnam'\n },\n state: 'REVIEWED',\n comment: '금일 생산한 제품은 전량 폐기합니다',\n timestamp: Date.now()\n },\n {\n user: {\n id: 0,\n name: 'shnam'\n },\n state: 'CORRECTED',\n timestamp: Date.now()\n }\n ]\n}\n\nconst Template: Story<ArgTypes> = ({}: ArgTypes) =>\n html`\n <link href=\"/themes/app-theme.css\" rel=\"stylesheet\" />\n <link href=\"https://fonts.googleapis.com/css?family=Material+Icons&display=block\" rel=\"stylesheet\" />\n <style>\n body {\n }\n </style>\n\n <ox-data-ooc-view\n .dataSet=${dataSet}\n .dataOoc=${dataOoc}\n @change=${(e: CustomEvent) => console.log(e.detail)}\n ></ox-data-ooc-view>\n `\n\nexport const Regular = Template.bind({})\nRegular.args = {}\n"]}
@@ -0,0 +1,19 @@
1
+ import '@operato/i18n';
2
+ import '../src/ox-data-sample-view.js';
3
+ import '../src/usecase/ccp';
4
+ import '@material/mwc-icon';
5
+ import { TemplateResult } from 'lit';
6
+ declare const _default: {
7
+ title: string;
8
+ component: string;
9
+ argTypes: {};
10
+ };
11
+ export default _default;
12
+ interface Story<T> {
13
+ (args: T): TemplateResult;
14
+ args?: Partial<T>;
15
+ argTypes?: Record<string, unknown>;
16
+ }
17
+ interface ArgTypes {
18
+ }
19
+ export declare const Regular: Story<ArgTypes>;
@@ -0,0 +1,213 @@
1
+ import '@operato/i18n';
2
+ import '../src/ox-data-sample-view.js';
3
+ import '../src/usecase/ccp'; /* register usecase CCP */
4
+ import '@material/mwc-icon';
5
+ import { html } from 'lit';
6
+ export default {
7
+ title: 'ox-data-sample-view',
8
+ component: 'ox-data-sample-view',
9
+ argTypes: {}
10
+ };
11
+ const dataSet = {
12
+ name: 'sample',
13
+ description: 'sample description',
14
+ useCase: 'CCP',
15
+ dataItems: [
16
+ {
17
+ name: '창고 온도',
18
+ description: '창고 온도는 섭씨 0도 이하로 유지되어야 합니다.',
19
+ sequence: 1,
20
+ tag: 'temp',
21
+ type: 'number',
22
+ quota: 1,
23
+ active: true,
24
+ unit: '℃',
25
+ spec: {
26
+ CCP: {
27
+ criticalLimits: {
28
+ minimum: 100,
29
+ maximum: 200
30
+ },
31
+ targetLimits: {
32
+ minimum: 120,
33
+ maximum: 180
34
+ }
35
+ }
36
+ }
37
+ },
38
+ {
39
+ name: '창고 습도',
40
+ description: '창고 습도는 30% 이하로 유지되어야 합니다.',
41
+ sequence: 2,
42
+ tag: 'humid',
43
+ type: 'number',
44
+ quota: 5,
45
+ active: true,
46
+ unit: '%',
47
+ spec: {
48
+ CCP: {
49
+ criticalLimits: {
50
+ minimum: 10,
51
+ maximum: 50
52
+ },
53
+ targetLimits: {
54
+ minimum: 20,
55
+ maximum: 40
56
+ }
57
+ }
58
+ }
59
+ },
60
+ {
61
+ name: '육안 검사',
62
+ description: '육안 검사는 포장전 30분 내로 실행되어야 합니다.',
63
+ sequence: 3,
64
+ tag: 'inspection',
65
+ type: 'boolean',
66
+ quota: 3,
67
+ active: true,
68
+ spec: {
69
+ CCP: {
70
+ criticalLimits: {
71
+ acceptables: true
72
+ },
73
+ targetLimits: {
74
+ acceptables: true
75
+ }
76
+ }
77
+ }
78
+ },
79
+ {
80
+ name: '품평',
81
+ description: '품평은 최우수/우수/보통/미달을 포함하여 간단히 평가.',
82
+ sequence: 4,
83
+ tag: 'evaluation',
84
+ type: 'select',
85
+ options: {
86
+ options: [
87
+ { text: '최우수', value: '최우수' },
88
+ { text: '우수', value: '우수' },
89
+ { text: '보통', value: '보통' },
90
+ { text: '미달', value: '미달' }
91
+ ]
92
+ },
93
+ quota: 3,
94
+ active: true,
95
+ spec: {
96
+ CCP: {
97
+ criticalLimits: {
98
+ acceptables: ['최우수', '우수', '보통']
99
+ },
100
+ targetLimits: {
101
+ acceptables: ['최우수', '우수']
102
+ }
103
+ }
104
+ }
105
+ },
106
+ {
107
+ name: '코멘트',
108
+ description: '특이사항을 기록함.',
109
+ sequence: 4,
110
+ tag: 'comment',
111
+ type: 'string',
112
+ quota: 1,
113
+ active: true
114
+ },
115
+ {
116
+ name: '첨부파일',
117
+ description: '참조 첨부 파일.',
118
+ sequence: 4,
119
+ tag: 'attachment',
120
+ type: 'file',
121
+ quota: 1,
122
+ active: true
123
+ }
124
+ ]
125
+ };
126
+ var dataSample = {
127
+ name: 'Data Sample Name',
128
+ description: 'Data Sample이 어쩌구 저쩌구 그래서 중요합니다. 당연히 그래야죠.',
129
+ useCase: 'CCP',
130
+ data: {
131
+ temp: [1000],
132
+ humid: [20, 23, 21, 26, 27],
133
+ inspection: [true, false, true],
134
+ evaluation: ['최우수', '보통', '우수'],
135
+ comment: '이것은 코멘트입니다.'
136
+ },
137
+ spec: {
138
+ temp: {
139
+ name: '창고 온도',
140
+ description: '창고 온도는 섭씨 0도 이하로 유지되어야 합니다.',
141
+ unit: '℃',
142
+ spec: {
143
+ CCP: {
144
+ criticalLimits: {
145
+ minimum: 100,
146
+ maximum: 200
147
+ },
148
+ targetLimits: {
149
+ minimum: 120,
150
+ maximum: 180
151
+ }
152
+ }
153
+ }
154
+ },
155
+ humid: {
156
+ name: '창고 습도',
157
+ description: '창고 습도는 30% 이하로 유지되어야 합니다.',
158
+ unit: '%',
159
+ spec: {
160
+ CCP: {
161
+ criticalLimits: {
162
+ minimum: 10,
163
+ maximum: 50
164
+ },
165
+ targetLimits: {
166
+ minimum: 20,
167
+ maximum: 40
168
+ }
169
+ }
170
+ }
171
+ },
172
+ inspection: {
173
+ name: '육안 검사',
174
+ description: '육안 검사는 포장전 30분 내로 실행되어야 합니다.'
175
+ },
176
+ evaluation: {
177
+ name: '품평',
178
+ description: '품평은 최우수/우수/보통/미달을 포함하여 간단히 평가.',
179
+ spec: {
180
+ CCP: {
181
+ criticalLimits: {
182
+ acceptables: ['최우수', '우수', '보통']
183
+ },
184
+ targetLimits: {
185
+ acceptables: ['최우수', '우수']
186
+ }
187
+ }
188
+ }
189
+ },
190
+ comment: {
191
+ name: '코멘트',
192
+ description: '특이사항을 기록함.'
193
+ },
194
+ attachment: {
195
+ name: '첨부파일',
196
+ description: '참조 첨부 파일.'
197
+ }
198
+ },
199
+ collectedAt: Date.now()
200
+ };
201
+ const Template = ({}) => html `
202
+ <link href="/themes/app-theme.css" rel="stylesheet" />
203
+ <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
204
+ <style>
205
+ body {
206
+ }
207
+ </style>
208
+
209
+ <ox-data-sample-view .dataSample=${dataSample}></ox-data-sample-view>
210
+ `;
211
+ export const Regular = Template.bind({});
212
+ Regular.args = {};
213
+ //# sourceMappingURL=ox-data-sample-view.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-data-sample-view.stories.js","sourceRoot":"","sources":["../../stories/ox-data-sample-view.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/i18n'\nimport '../src/ox-data-sample-view.js'\nimport '../src/usecase/ccp' /* register usecase CCP */\nimport '@material/mwc-icon'\n\nimport { html, TemplateResult } from 'lit'\n\nexport default {\n title: 'ox-data-sample-view',\n component: 'ox-data-sample-view',\n argTypes: {}\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {}\n\nconst dataSet = {\n name: 'sample',\n description: 'sample description',\n useCase: 'CCP',\n dataItems: [\n {\n name: '창고 온도',\n description: '창고 온도는 섭씨 0도 이하로 유지되어야 합니다.',\n sequence: 1,\n tag: 'temp',\n type: 'number',\n quota: 1,\n active: true,\n unit: '℃',\n spec: {\n CCP: {\n criticalLimits: {\n minimum: 100,\n maximum: 200\n },\n targetLimits: {\n minimum: 120,\n maximum: 180\n }\n }\n }\n },\n {\n name: '창고 습도',\n description: '창고 습도는 30% 이하로 유지되어야 합니다.',\n sequence: 2,\n tag: 'humid',\n type: 'number',\n quota: 5,\n active: true,\n unit: '%',\n spec: {\n CCP: {\n criticalLimits: {\n minimum: 10,\n maximum: 50\n },\n targetLimits: {\n minimum: 20,\n maximum: 40\n }\n }\n }\n },\n {\n name: '육안 검사',\n description: '육안 검사는 포장전 30분 내로 실행되어야 합니다.',\n sequence: 3,\n tag: 'inspection',\n type: 'boolean',\n quota: 3,\n active: true,\n spec: {\n CCP: {\n criticalLimits: {\n acceptables: true\n },\n targetLimits: {\n acceptables: true\n }\n }\n }\n },\n {\n name: '품평',\n description: '품평은 최우수/우수/보통/미달을 포함하여 간단히 평가.',\n sequence: 4,\n tag: 'evaluation',\n type: 'select',\n options: {\n options: [\n { text: '최우수', value: '최우수' },\n { text: '우수', value: '우수' },\n { text: '보통', value: '보통' },\n { text: '미달', value: '미달' }\n ]\n },\n quota: 3,\n active: true,\n spec: {\n CCP: {\n criticalLimits: {\n acceptables: ['최우수', '우수', '보통']\n },\n targetLimits: {\n acceptables: ['최우수', '우수']\n }\n }\n }\n },\n {\n name: '코멘트',\n description: '특이사항을 기록함.',\n sequence: 4,\n tag: 'comment',\n type: 'string',\n quota: 1,\n active: true\n },\n {\n name: '첨부파일',\n description: '참조 첨부 파일.',\n sequence: 4,\n tag: 'attachment',\n type: 'file',\n quota: 1,\n active: true\n }\n ]\n}\n\nvar dataSample = {\n name: 'Data Sample Name',\n description: 'Data Sample이 어쩌구 저쩌구 그래서 중요합니다. 당연히 그래야죠.',\n useCase: 'CCP',\n data: {\n temp: [1000],\n humid: [20, 23, 21, 26, 27],\n inspection: [true, false, true],\n evaluation: ['최우수', '보통', '우수'],\n comment: '이것은 코멘트입니다.'\n },\n spec: {\n temp: {\n name: '창고 온도',\n description: '창고 온도는 섭씨 0도 이하로 유지되어야 합니다.',\n unit: '℃',\n spec: {\n CCP: {\n criticalLimits: {\n minimum: 100,\n maximum: 200\n },\n targetLimits: {\n minimum: 120,\n maximum: 180\n }\n }\n }\n },\n humid: {\n name: '창고 습도',\n description: '창고 습도는 30% 이하로 유지되어야 합니다.',\n unit: '%',\n spec: {\n CCP: {\n criticalLimits: {\n minimum: 10,\n maximum: 50\n },\n targetLimits: {\n minimum: 20,\n maximum: 40\n }\n }\n }\n },\n inspection: {\n name: '육안 검사',\n description: '육안 검사는 포장전 30분 내로 실행되어야 합니다.'\n },\n evaluation: {\n name: '품평',\n description: '품평은 최우수/우수/보통/미달을 포함하여 간단히 평가.',\n spec: {\n CCP: {\n criticalLimits: {\n acceptables: ['최우수', '우수', '보통']\n },\n targetLimits: {\n acceptables: ['최우수', '우수']\n }\n }\n }\n },\n comment: {\n name: '코멘트',\n description: '특이사항을 기록함.'\n },\n attachment: {\n name: '첨부파일',\n description: '참조 첨부 파일.'\n }\n },\n collectedAt: Date.now()\n}\n\nconst Template: Story<ArgTypes> = ({}: ArgTypes) =>\n html`\n <link href=\"/themes/app-theme.css\" rel=\"stylesheet\" />\n <link href=\"https://fonts.googleapis.com/css?family=Material+Icons&display=block\" rel=\"stylesheet\" />\n <style>\n body {\n }\n </style>\n\n <ox-data-sample-view .dataSample=${dataSample}></ox-data-sample-view>\n `\n\nexport const Regular = Template.bind({})\nRegular.args = {}\n"]}
@@ -0,0 +1,27 @@
1
+ import '@material/mwc-icon';
2
+ import '@operato/property-editor/ox-property-editor-checkbox.js';
3
+ import '@operato/property-editor/ox-property-editor-number.js';
4
+ import '@operato/property-editor/ox-property-editor-string.js';
5
+ import '@operato/property-editor/ox-property-editor-options.js';
6
+ import '@operato/property-editor/ox-properties-dynamic-view.js';
7
+ import '@operato/data-grist/ox-filters-form.js';
8
+ import '@operato/data-grist/ox-sorters-control.js';
9
+ import '@operato/grist-editor';
10
+ import '../src/grist-editor/index.js';
11
+ import '../src/usecase/ccp';
12
+ import '../src/usecase/qc';
13
+ import { TemplateResult } from 'lit';
14
+ declare const _default: {
15
+ title: string;
16
+ component: string;
17
+ argTypes: {};
18
+ };
19
+ export default _default;
20
+ interface Story<T> {
21
+ (args: T): TemplateResult;
22
+ args?: Partial<T>;
23
+ argTypes?: Record<string, unknown>;
24
+ }
25
+ interface ArgTypes {
26
+ }
27
+ export declare const Regular: Story<ArgTypes>;