@operato/dataset 2.0.0-alpha.10 → 2.0.0-alpha.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 (108) hide show
  1. package/CHANGELOG.md +541 -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 +9 -0
  21. package/dist/src/ox-data-ooc-badge.js +67 -0
  22. package/dist/src/ox-data-ooc-badge.js.map +1 -0
  23. package/dist/src/ox-data-ooc-brief-view.d.ts +4 -2
  24. package/dist/src/ox-data-ooc-brief-view.js +9 -111
  25. package/dist/src/ox-data-ooc-brief-view.js.map +1 -1
  26. package/dist/src/ox-data-ooc-correction-part.d.ts +9 -0
  27. package/dist/src/ox-data-ooc-correction-part.js +99 -0
  28. package/dist/src/ox-data-ooc-correction-part.js.map +1 -0
  29. package/dist/src/ox-data-ooc-history.d.ts +10 -0
  30. package/dist/src/ox-data-ooc-history.js +72 -0
  31. package/dist/src/ox-data-ooc-history.js.map +1 -0
  32. package/dist/src/ox-data-ooc-view.d.ts +3 -2
  33. package/dist/src/ox-data-ooc-view.js +7 -90
  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 +57 -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 +27 -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 +39 -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 +65 -0
  86. package/src/ox-data-ooc-brief-view.ts +10 -121
  87. package/src/ox-data-ooc-correction-part.ts +107 -0
  88. package/src/ox-data-ooc-history.ts +74 -0
  89. package/src/ox-data-ooc-view.ts +7 -92
  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 +76 -27
  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 +28 -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 +3 -1
  105. package/translations/en.json +1 -0
  106. package/translations/ko.json +1 -0
  107. package/translations/ms.json +142 -70
  108. package/translations/zh.json +146 -75
@@ -0,0 +1,9 @@
1
+ import '@material/web/icon/icon.js';
2
+ import '@operato/input/ox-input-file.js';
3
+ import './ox-data-sample-view';
4
+ import { LitElement } from 'lit';
5
+ export declare class OxDataOocBadge extends LitElement {
6
+ static styles: import("lit").CSSResult;
7
+ state?: string;
8
+ render(): import("lit-html").TemplateResult<1>;
9
+ }
@@ -0,0 +1,67 @@
1
+ import { __decorate } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import '@operato/input/ox-input-file.js';
4
+ import './ox-data-sample-view';
5
+ import { css, html, LitElement } from 'lit';
6
+ import { customElement, property } from 'lit/decorators.js';
7
+ let OxDataOocBadge = class OxDataOocBadge extends LitElement {
8
+ render() {
9
+ const state = this.state;
10
+ return html `
11
+ <h3 ?danger=${state != 'CORRECTED'} ?complete=${state == 'CORRECTED'}>
12
+ <md-icon>shield</md-icon>
13
+ <div>DATA OOC <span field-state>${state || ''}</span></div>
14
+ </h3>
15
+ `;
16
+ }
17
+ };
18
+ OxDataOocBadge.styles = css `
19
+ h3 {
20
+ margin: var(--title-margin);
21
+ font: var(--title-font);
22
+ color: var(--title-text-color);
23
+ text-align: center;
24
+ }
25
+
26
+ md-icon {
27
+ --md-icon-size: 80px;
28
+ opacity: 0.4;
29
+ color: var(--primary-background-color);
30
+ font-variation-settings: 'FILL' 1;
31
+ }
32
+
33
+ div {
34
+ position: absolute;
35
+ top: 22px;
36
+ left: 0;
37
+ right: 0;
38
+ font-size: 10px;
39
+ color: var(--theme-white-color);
40
+ }
41
+
42
+ [field-state] {
43
+ display: block;
44
+ border-radius: 4px;
45
+ background-color: var(--primary-color);
46
+ box-shadow: var(--box-shadow);
47
+ margin-top: var(--margin-narrow);
48
+ padding: 1px 3px;
49
+ font-size: 0.8rem;
50
+ }
51
+
52
+ [danger] [field-state] {
53
+ background-color: var(--status-danger-color);
54
+ }
55
+
56
+ [complete] [field-state] {
57
+ background-color: var(--status-info-color);
58
+ }
59
+ `;
60
+ __decorate([
61
+ property({ type: String })
62
+ ], OxDataOocBadge.prototype, "state", void 0);
63
+ OxDataOocBadge = __decorate([
64
+ customElement('ox-data-ooc-badge')
65
+ ], OxDataOocBadge);
66
+ export { OxDataOocBadge };
67
+ //# sourceMappingURL=ox-data-ooc-badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-data-ooc-badge.js","sourceRoot":"","sources":["../../src/ox-data-ooc-badge.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,iCAAiC,CAAA;AACxC,OAAO,uBAAuB,CAAA;AAE9B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAW,MAAM,KAAK,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGpD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IA8C5C,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAExB,OAAO,IAAI,CAAA;oBACK,KAAK,IAAI,WAAW,cAAc,KAAK,IAAI,WAAW;;0CAEhC,KAAK,IAAI,EAAE;;KAEhD,CAAA;IACH,CAAC;;AAtDM,qBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyClB,AAzCY,CAyCZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAe;AA5C/B,cAAc;IAD1B,aAAa,CAAC,mBAAmB,CAAC;GACtB,cAAc,CAwD1B","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/input/ox-input-file.js'\nimport './ox-data-sample-view'\n\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('ox-data-ooc-badge')\nexport class OxDataOocBadge extends LitElement {\n static styles = css`\n h3 {\n margin: var(--title-margin);\n font: var(--title-font);\n color: var(--title-text-color);\n text-align: center;\n }\n\n md-icon {\n --md-icon-size: 80px;\n opacity: 0.4;\n color: var(--primary-background-color);\n font-variation-settings: 'FILL' 1;\n }\n\n div {\n position: absolute;\n top: 22px;\n left: 0;\n right: 0;\n font-size: 10px;\n color: var(--theme-white-color);\n }\n\n [field-state] {\n display: block;\n border-radius: 4px;\n background-color: var(--primary-color);\n box-shadow: var(--box-shadow);\n margin-top: var(--margin-narrow);\n padding: 1px 3px;\n font-size: 0.8rem;\n }\n\n [danger] [field-state] {\n background-color: var(--status-danger-color);\n }\n\n [complete] [field-state] {\n background-color: var(--status-info-color);\n }\n `\n\n @property({ type: String }) state?: string\n\n render() {\n const state = this.state\n\n return html`\n <h3 ?danger=${state != 'CORRECTED'} ?complete=${state == 'CORRECTED'}>\n <md-icon>shield</md-icon>\n <div>DATA OOC <span field-state>${state || ''}</span></div>\n </h3>\n `\n }\n}\n"]}
@@ -1,10 +1,12 @@
1
1
  import '@operato/input/ox-input-file.js';
2
2
  import './ox-data-sample-view';
3
- import '@material/mwc-icon';
3
+ import './ox-data-ooc-badge';
4
+ import './ox-data-ooc-correction-part';
5
+ import '@material/web/icon/icon.js';
4
6
  import { LitElement } from 'lit';
5
7
  import { DataOoc } from './types.js';
6
8
  export declare class OxDataOocBriefView extends LitElement {
7
9
  static styles: import("lit").CSSResult;
8
10
  dataOoc?: DataOoc;
9
- render(): import("lit").TemplateResult<1>;
11
+ render(): import("lit-html").TemplateResult<1>;
10
12
  }
@@ -1,44 +1,18 @@
1
1
  import { __decorate } from "tslib";
2
2
  import '@operato/input/ox-input-file.js';
3
3
  import './ox-data-sample-view';
4
- import '@material/mwc-icon';
5
- import { css, html, LitElement, nothing } from 'lit';
4
+ import './ox-data-ooc-badge';
5
+ import './ox-data-ooc-correction-part';
6
+ import '@material/web/icon/icon.js';
7
+ import { css, html, LitElement } from 'lit';
6
8
  import { customElement, property } from 'lit/decorators.js';
7
- import { i18next } from '@operato/i18n';
8
9
  let OxDataOocBriefView = class OxDataOocBriefView extends LitElement {
9
10
  render() {
10
- const { correctiveInstruction = '', correctiveAction = '', reviewer, reviewedAt, corrector, correctedAt, state } = this.dataOoc || {};
11
- const formatter = new Intl.DateTimeFormat(navigator.language, { dateStyle: 'full', timeStyle: 'short' });
11
+ const { state } = this.dataOoc || {};
12
12
  return html `
13
13
  <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
14
-
15
- <h3 state ?danger=${state != 'CORRECTED'} ?complete=${state == 'CORRECTED'}>
16
- <mwc-icon>shield</mwc-icon>
17
- <div>DATA OOC <span field-state>${state || ''}</span></div>
18
- </h3>
19
-
20
- ${reviewer
21
- ? html `
22
- <h3 corrective>${i18next.t('label.corrective instruction')}</h3>
23
- <p corrective-content>
24
- <span field-info
25
- >${formatter.format(new Date(reviewedAt))} <mwc-icon>account_circle</mwc-icon>${reviewer.name}</span
26
- >
27
- <strong>${correctiveInstruction}</strong>
28
- </p>
29
- `
30
- : nothing}
31
- ${corrector
32
- ? html `
33
- <h3 corrective>${i18next.t('label.corrective action')}</h3>
34
- <p corrective-content>
35
- <span field-info
36
- >${formatter.format(new Date(correctedAt))} <mwc-icon>account_circle</mwc-icon>${corrector.name}</span
37
- >
38
- <strong>${correctiveAction}</strong>
39
- </p>
40
- `
41
- : nothing}
14
+ <ox-data-ooc-badge .state=${state}></ox-data-ooc-badge>
15
+ <ox-data-ooc-correction-part .dataOoc=${this.dataOoc}></ox-data-ooc-correction-part>
42
16
  `;
43
17
  }
44
18
  };
@@ -46,93 +20,17 @@ OxDataOocBriefView.styles = css `
46
20
  :host {
47
21
  display: flex;
48
22
  flex-direction: column;
49
- background-color: var(--main-section-background-color);
50
23
 
51
24
  position: relative;
52
25
  }
53
26
 
54
- h3 {
55
- margin: var(--title-margin);
56
- padding-top: 12px;
57
- font: var(--title-font);
58
- color: var(--title-text-color);
59
- }
60
-
61
- h3[state] {
27
+ ox-data-ooc-badge {
62
28
  position: absolute;
29
+
63
30
  margin: 0;
64
31
  padding: 0;
65
32
  right: 10px;
66
33
  width: 90px;
67
- text-align: center;
68
- }
69
-
70
- h3[corrective] {
71
- font-size: 20px;
72
- }
73
-
74
- mwc-icon {
75
- font-size: 16px;
76
- }
77
- [state] mwc-icon {
78
- font-size: 80px;
79
- opacity: 0.4;
80
- color: var(--primary-background-color);
81
- }
82
-
83
- [state] div {
84
- position: absolute;
85
- top: 22px;
86
- left: 0;
87
- right: 0;
88
- font-size: 10px;
89
- color: var(--theme-white-color);
90
- }
91
- [state] [field-state] {
92
- display: block;
93
- border-radius: 4px;
94
- background-color: var(--primary-color);
95
- box-shadow: var(--box-shadow);
96
- margin-top: var(--margin-narrow);
97
- padding: 1px 3px;
98
- font-size: 0.8rem;
99
- }
100
- [danger] [field-state] {
101
- background-color: var(--status-danger-color);
102
- }
103
- [complete] [field-state] {
104
- background-color: var(--status-info-color);
105
- }
106
-
107
- [corrective-content] [field-state] {
108
- border-radius: 2px;
109
- background-color: var(--primary-color);
110
- margin-left: var(--margin-default);
111
- padding: 1px 2px;
112
- font-size: 0.7rem;
113
- color: var(--theme-white-color);
114
- }
115
- [corrective-content] {
116
- background-color: var(--theme-white-color);
117
- box-shadow: var(--box-shadow);
118
- border-radius: var(--border-radius);
119
- margin: var(--page-description-margin);
120
- padding: var(--padding-default);
121
- font: var(--page-description-font);
122
- color: var(--secondary-color);
123
- }
124
- [corrective-content] mwc-icon {
125
- position: relative;
126
- top: 3px;
127
- margin: 0 2px 0 10px;
128
- }
129
- [field-info] {
130
- opacity: 0.7;
131
- }
132
- [corrective-content] strong {
133
- display: block;
134
- font-weight: bold;
135
- font-size: 0.9rem;
136
34
  }
137
35
  `;
138
36
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"ox-data-ooc-brief-view.js","sourceRoot":"","sources":["../../src/ox-data-ooc-brief-view.ts"],"names":[],"mappings":";AAAA,OAAO,iCAAiC,CAAA;AACxC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,oBAAoB,CAAA;AAE3B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAKhC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAiGhD,MAAM;QACJ,MAAM,EACJ,qBAAqB,GAAG,EAAE,EAC1B,gBAAgB,GAAG,EAAE,EACrB,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,KAAK,EACN,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QACtB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;QAExG,OAAO,IAAI,CAAA;yCAC0B,IAAI,CAAC,OAAO;;0BAE3B,KAAK,IAAI,WAAW,cAAc,KAAK,IAAI,WAAW;;0CAEtC,KAAK,IAAI,EAAE;;;QAG7C,QAAQ;YACR,CAAC,CAAC,IAAI,CAAA;6BACe,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;;;mBAGnD,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAW,CAAC,CAAC,uCAAuC,QAAQ,CAAC,IAAI;;wBAEtF,qBAAqB;;WAElC;YACH,CAAC,CAAC,OAAO;QACT,SAAS;YACT,CAAC,CAAC,IAAI,CAAA;6BACe,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;;;mBAG9C,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,WAAY,CAAC,CAAC,uCAAuC,SAAS,CAAC,IAAI;;wBAExF,gBAAgB;;WAE7B;YACH,CAAC,CAAC,OAAO;KACZ,CAAA;IACH,CAAC;;AA3IM,yBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4FlB,AA5FY,CA4FZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDAAkB;AA/FlC,kBAAkB;IAD9B,aAAa,CAAC,wBAAwB,CAAC;GAC3B,kBAAkB,CA6I9B","sourcesContent":["import '@operato/input/ox-input-file.js'\nimport './ox-data-sample-view'\nimport '@material/mwc-icon'\n\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { DataOoc, DataSet } from './types.js'\n\n@customElement('ox-data-ooc-brief-view')\nexport class OxDataOocBriefView extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n background-color: var(--main-section-background-color);\n\n position: relative;\n }\n\n h3 {\n margin: var(--title-margin);\n padding-top: 12px;\n font: var(--title-font);\n color: var(--title-text-color);\n }\n\n h3[state] {\n position: absolute;\n margin: 0;\n padding: 0;\n right: 10px;\n width: 90px;\n text-align: center;\n }\n\n h3[corrective] {\n font-size: 20px;\n }\n\n mwc-icon {\n font-size: 16px;\n }\n [state] mwc-icon {\n font-size: 80px;\n opacity: 0.4;\n color: var(--primary-background-color);\n }\n\n [state] div {\n position: absolute;\n top: 22px;\n left: 0;\n right: 0;\n font-size: 10px;\n color: var(--theme-white-color);\n }\n [state] [field-state] {\n display: block;\n border-radius: 4px;\n background-color: var(--primary-color);\n box-shadow: var(--box-shadow);\n margin-top: var(--margin-narrow);\n padding: 1px 3px;\n font-size: 0.8rem;\n }\n [danger] [field-state] {\n background-color: var(--status-danger-color);\n }\n [complete] [field-state] {\n background-color: var(--status-info-color);\n }\n\n [corrective-content] [field-state] {\n border-radius: 2px;\n background-color: var(--primary-color);\n margin-left: var(--margin-default);\n padding: 1px 2px;\n font-size: 0.7rem;\n color: var(--theme-white-color);\n }\n [corrective-content] {\n background-color: var(--theme-white-color);\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n margin: var(--page-description-margin);\n padding: var(--padding-default);\n font: var(--page-description-font);\n color: var(--secondary-color);\n }\n [corrective-content] mwc-icon {\n position: relative;\n top: 3px;\n margin: 0 2px 0 10px;\n }\n [field-info] {\n opacity: 0.7;\n }\n [corrective-content] strong {\n display: block;\n font-weight: bold;\n font-size: 0.9rem;\n }\n `\n\n @property({ type: Object }) dataOoc?: DataOoc\n\n render() {\n const {\n correctiveInstruction = '',\n correctiveAction = '',\n reviewer,\n reviewedAt,\n corrector,\n correctedAt,\n state\n } = this.dataOoc || {}\n const formatter = new Intl.DateTimeFormat(navigator.language, { dateStyle: 'full', timeStyle: 'short' })\n\n return html`\n <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>\n\n <h3 state ?danger=${state != 'CORRECTED'} ?complete=${state == 'CORRECTED'}>\n <mwc-icon>shield</mwc-icon>\n <div>DATA OOC <span field-state>${state || ''}</span></div>\n </h3>\n\n ${reviewer\n ? html`\n <h3 corrective>${i18next.t('label.corrective instruction')}</h3>\n <p corrective-content>\n <span field-info\n >${formatter.format(new Date(reviewedAt!))} <mwc-icon>account_circle</mwc-icon>${reviewer.name}</span\n >\n <strong>${correctiveInstruction}</strong>\n </p>\n `\n : nothing}\n ${corrector\n ? html`\n <h3 corrective>${i18next.t('label.corrective action')}</h3>\n <p corrective-content>\n <span field-info\n >${formatter.format(new Date(correctedAt!))} <mwc-icon>account_circle</mwc-icon>${corrector.name}</span\n >\n <strong>${correctiveAction}</strong>\n </p>\n `\n : nothing}\n `\n }\n}\n"]}
1
+ {"version":3,"file":"ox-data-ooc-brief-view.js","sourceRoot":"","sources":["../../src/ox-data-ooc-brief-view.ts"],"names":[],"mappings":";AAAA,OAAO,iCAAiC,CAAA;AACxC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,+BAA+B,CAAA;AACtC,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAKpD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAqBhD,MAAM;QACJ,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QAEpC,OAAO,IAAI,CAAA;yCAC0B,IAAI,CAAC,OAAO;kCACnB,KAAK;8CACO,IAAI,CAAC,OAAO;KACrD,CAAA;IACH,CAAC;;AA5BM,yBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;GAgBlB,AAhBY,CAgBZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDAAkB;AAnBlC,kBAAkB;IAD9B,aAAa,CAAC,wBAAwB,CAAC;GAC3B,kBAAkB,CA8B9B","sourcesContent":["import '@operato/input/ox-input-file.js'\nimport './ox-data-sample-view'\nimport './ox-data-ooc-badge'\nimport './ox-data-ooc-correction-part'\nimport '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { DataOoc } from './types.js'\n\n@customElement('ox-data-ooc-brief-view')\nexport class OxDataOocBriefView extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n\n position: relative;\n }\n\n ox-data-ooc-badge {\n position: absolute;\n\n margin: 0;\n padding: 0;\n right: 10px;\n width: 90px;\n }\n `\n\n @property({ type: Object }) dataOoc?: DataOoc\n\n render() {\n const { state } = this.dataOoc || {}\n\n return html`\n <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>\n <ox-data-ooc-badge .state=${state}></ox-data-ooc-badge>\n <ox-data-ooc-correction-part .dataOoc=${this.dataOoc}></ox-data-ooc-correction-part>\n `\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import '@operato/input/ox-input-file.js';
2
+ import '@material/web/icon/icon.js';
3
+ import { LitElement } from 'lit';
4
+ import { DataOoc } from './types.js';
5
+ export declare class OxDataOocCorrectionPart extends LitElement {
6
+ static styles: import("lit").CSSResult;
7
+ dataOoc?: DataOoc;
8
+ render(): import("lit-html").TemplateResult<1>;
9
+ }
@@ -0,0 +1,99 @@
1
+ import { __decorate } from "tslib";
2
+ import '@operato/input/ox-input-file.js';
3
+ import '@material/web/icon/icon.js';
4
+ import { css, html, LitElement, nothing } from 'lit';
5
+ import { customElement, property } from 'lit/decorators.js';
6
+ import { i18next } from '@operato/i18n';
7
+ let OxDataOocCorrectionPart = class OxDataOocCorrectionPart extends LitElement {
8
+ render() {
9
+ const { correctiveInstruction = '', correctiveAction = '', reviewer, reviewedAt, corrector, correctedAt } = this.dataOoc || {};
10
+ const formatter = new Intl.DateTimeFormat(navigator.language, { dateStyle: 'full', timeStyle: 'short' });
11
+ return html `
12
+ ${reviewer
13
+ ? html `
14
+ <h3>${i18next.t('label.corrective instruction')}</h3>
15
+ <p>
16
+ <span field-info
17
+ >${formatter.format(new Date(reviewedAt))} <md-icon>account_circle</md-icon>${reviewer.name}</span
18
+ >
19
+ <strong>${correctiveInstruction}</strong>
20
+ </p>
21
+ `
22
+ : nothing}
23
+ ${corrector
24
+ ? html `
25
+ <h3>${i18next.t('label.corrective action')}</h3>
26
+ <p>
27
+ <span field-info
28
+ >${formatter.format(new Date(correctedAt))} <md-icon>account_circle</md-icon>${corrector.name}</span
29
+ >
30
+ <strong>${correctiveAction}</strong>
31
+ </p>
32
+ `
33
+ : nothing}
34
+ `;
35
+ }
36
+ };
37
+ OxDataOocCorrectionPart.styles = css `
38
+ :host {
39
+ display: flex;
40
+ flex-direction: column;
41
+
42
+ position: relative;
43
+ }
44
+
45
+ h3 {
46
+ margin: var(--title-margin);
47
+ padding-top: 12px;
48
+ font: var(--title-font);
49
+ color: var(--title-text-color);
50
+ font-size: 20px;
51
+ }
52
+
53
+ md-icon {
54
+ font-size: 16px;
55
+ }
56
+
57
+ [field-state] {
58
+ border-radius: 2px;
59
+ background-color: var(--primary-color);
60
+ margin-left: var(--margin-default);
61
+ padding: 1px 2px;
62
+ font-size: 0.7rem;
63
+ color: var(--theme-white-color);
64
+ }
65
+
66
+ p {
67
+ background-color: var(--theme-white-color);
68
+ box-shadow: var(--box-shadow);
69
+ border-radius: var(--border-radius);
70
+ margin: var(--page-description-margin);
71
+ padding: var(--padding-default);
72
+ font: var(--page-description-font);
73
+ color: var(--secondary-color);
74
+ }
75
+
76
+ md-icon {
77
+ position: relative;
78
+ top: 3px;
79
+ margin: 0 2px 0 10px;
80
+ }
81
+
82
+ [field-info] {
83
+ opacity: 0.7;
84
+ }
85
+
86
+ strong {
87
+ display: block;
88
+ font-weight: bold;
89
+ font-size: 0.9rem;
90
+ }
91
+ `;
92
+ __decorate([
93
+ property({ type: Object })
94
+ ], OxDataOocCorrectionPart.prototype, "dataOoc", void 0);
95
+ OxDataOocCorrectionPart = __decorate([
96
+ customElement('ox-data-ooc-correction-part')
97
+ ], OxDataOocCorrectionPart);
98
+ export { OxDataOocCorrectionPart };
99
+ //# sourceMappingURL=ox-data-ooc-correction-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-data-ooc-correction-part.js","sourceRoot":"","sources":["../../src/ox-data-ooc-correction-part.ts"],"names":[],"mappings":";AAAA,OAAO,iCAAiC,CAAA;AACxC,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAKhC,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAU;IA2DrD,MAAM;QACJ,MAAM,EACJ,qBAAqB,GAAG,EAAE,EAC1B,gBAAgB,GAAG,EAAE,EACrB,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACZ,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QACtB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;QAExG,OAAO,IAAI,CAAA;QACP,QAAQ;YACR,CAAC,CAAC,IAAI,CAAA;kBACI,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;;;mBAGxC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAW,CAAC,CAAC,qCAAqC,QAAQ,CAAC,IAAI;;wBAEpF,qBAAqB;;WAElC;YACH,CAAC,CAAC,OAAO;QACT,SAAS;YACT,CAAC,CAAC,IAAI,CAAA;kBACI,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;;;mBAGnC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,WAAY,CAAC,CAAC,qCAAqC,SAAS,CAAC,IAAI;;wBAEtF,gBAAgB;;WAE7B;YACH,CAAC,CAAC,OAAO;KACZ,CAAA;IACH,CAAC;;AA7FM,8BAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDlB,AAtDY,CAsDZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDAAkB;AAzDlC,uBAAuB;IADnC,aAAa,CAAC,6BAA6B,CAAC;GAChC,uBAAuB,CA+FnC","sourcesContent":["import '@operato/input/ox-input-file.js'\nimport '@material/web/icon/icon.js'\n\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { DataOoc } from './types.js'\n\n@customElement('ox-data-ooc-correction-part')\nexport class OxDataOocCorrectionPart extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n\n position: relative;\n }\n\n h3 {\n margin: var(--title-margin);\n padding-top: 12px;\n font: var(--title-font);\n color: var(--title-text-color);\n font-size: 20px;\n }\n\n md-icon {\n font-size: 16px;\n }\n\n [field-state] {\n border-radius: 2px;\n background-color: var(--primary-color);\n margin-left: var(--margin-default);\n padding: 1px 2px;\n font-size: 0.7rem;\n color: var(--theme-white-color);\n }\n\n p {\n background-color: var(--theme-white-color);\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n margin: var(--page-description-margin);\n padding: var(--padding-default);\n font: var(--page-description-font);\n color: var(--secondary-color);\n }\n\n md-icon {\n position: relative;\n top: 3px;\n margin: 0 2px 0 10px;\n }\n\n [field-info] {\n opacity: 0.7;\n }\n\n strong {\n display: block;\n font-weight: bold;\n font-size: 0.9rem;\n }\n `\n\n @property({ type: Object }) dataOoc?: DataOoc\n\n render() {\n const {\n correctiveInstruction = '',\n correctiveAction = '',\n reviewer,\n reviewedAt,\n corrector,\n correctedAt\n } = this.dataOoc || {}\n const formatter = new Intl.DateTimeFormat(navigator.language, { dateStyle: 'full', timeStyle: 'short' })\n\n return html`\n ${reviewer\n ? html`\n <h3>${i18next.t('label.corrective instruction')}</h3>\n <p>\n <span field-info\n >${formatter.format(new Date(reviewedAt!))} <md-icon>account_circle</md-icon>${reviewer.name}</span\n >\n <strong>${correctiveInstruction}</strong>\n </p>\n `\n : nothing}\n ${corrector\n ? html`\n <h3>${i18next.t('label.corrective action')}</h3>\n <p>\n <span field-info\n >${formatter.format(new Date(correctedAt!))} <md-icon>account_circle</md-icon>${corrector.name}</span\n >\n <strong>${correctiveAction}</strong>\n </p>\n `\n : nothing}\n `\n }\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import '@operato/input/ox-input-file.js';
2
+ import './ox-data-sample-view';
3
+ import '@material/web/icon/icon.js';
4
+ import { LitElement } from 'lit';
5
+ import { DataOoc } from './types.js';
6
+ export declare class OxDataOocHistory extends LitElement {
7
+ static styles: import("lit").CSSResult;
8
+ dataOoc?: DataOoc;
9
+ render(): import("lit-html").TemplateResult<1>;
10
+ }
@@ -0,0 +1,72 @@
1
+ import { __decorate } from "tslib";
2
+ import '@operato/input/ox-input-file.js';
3
+ import './ox-data-sample-view';
4
+ import '@material/web/icon/icon.js';
5
+ import { css, html, LitElement } from 'lit';
6
+ import { customElement, property } from 'lit/decorators.js';
7
+ let OxDataOocHistory = class OxDataOocHistory extends LitElement {
8
+ render() {
9
+ const { history = [] } = this.dataOoc || {};
10
+ const formatter = new Intl.DateTimeFormat(navigator.language, { dateStyle: 'full', timeStyle: 'short' });
11
+ return html `
12
+ ${history.map(({ user, state, comment, timestamp }) => html `
13
+ <p page-history>
14
+ <!--상태에 따라 추가로 danger, complete를 어트리뷰트로 추가시 배경컬러 변경되도록 해두었습니다-->
15
+ <span field-info
16
+ >${formatter.format(new Date(timestamp))} <md-icon>account_circle</md-icon>${user.name}</span
17
+ >
18
+ <span field-state>${state}</span>
19
+ <strong>${comment}</strong>
20
+ </p>
21
+ `)}
22
+ `;
23
+ }
24
+ };
25
+ OxDataOocHistory.styles = css `
26
+ md-icon {
27
+ font-size: 16px;
28
+ }
29
+
30
+ [field-state] {
31
+ border-radius: 2px;
32
+ background-color: var(--primary-color);
33
+ margin-left: var(--margin-default);
34
+ padding: 1px 2px;
35
+ font-size: 0.7rem;
36
+ color: var(--theme-white-color);
37
+ }
38
+
39
+ p {
40
+ background-color: var(--theme-white-color);
41
+ box-shadow: var(--box-shadow);
42
+ border-radius: var(--border-radius);
43
+ margin: var(--page-description-margin);
44
+ padding: var(--padding-default);
45
+ font: var(--page-description-font);
46
+ color: var(--secondary-color);
47
+ }
48
+
49
+ md-icon {
50
+ position: relative;
51
+ top: 3px;
52
+ margin: 0 2px 0 10px;
53
+ }
54
+
55
+ [field-info] {
56
+ opacity: 0.7;
57
+ }
58
+
59
+ strong {
60
+ display: block;
61
+ font-weight: bold;
62
+ font-size: 0.9rem;
63
+ }
64
+ `;
65
+ __decorate([
66
+ property({ type: Object })
67
+ ], OxDataOocHistory.prototype, "dataOoc", void 0);
68
+ OxDataOocHistory = __decorate([
69
+ customElement('ox-data-ooc-history')
70
+ ], OxDataOocHistory);
71
+ export { OxDataOocHistory };
72
+ //# sourceMappingURL=ox-data-ooc-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-data-ooc-history.js","sourceRoot":"","sources":["../../src/ox-data-ooc-history.ts"],"names":[],"mappings":";AAAA,OAAO,iCAAiC,CAAA;AACxC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAKpD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IA4C9C,MAAM;QACJ,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QAC3C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;QAExG,OAAO,IAAI,CAAA;QACP,OAAO,CAAC,GAAG,CACX,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,CAAA;;;;iBAIpC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,qCAAqC,IAAI,CAAC,IAAI;;gCAEpE,KAAK;sBACf,OAAO;;SAEpB,CACF;KACF,CAAA;IACH,CAAC;;AA7DM,uBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuClB,AAvCY,CAuCZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAAkB;AA1ClC,gBAAgB;IAD5B,aAAa,CAAC,qBAAqB,CAAC;GACxB,gBAAgB,CA+D5B","sourcesContent":["import '@operato/input/ox-input-file.js'\nimport './ox-data-sample-view'\nimport '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { DataOoc } from './types.js'\n\n@customElement('ox-data-ooc-history')\nexport class OxDataOocHistory extends LitElement {\n static styles = css`\n md-icon {\n font-size: 16px;\n }\n\n [field-state] {\n border-radius: 2px;\n background-color: var(--primary-color);\n margin-left: var(--margin-default);\n padding: 1px 2px;\n font-size: 0.7rem;\n color: var(--theme-white-color);\n }\n\n p {\n background-color: var(--theme-white-color);\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n margin: var(--page-description-margin);\n padding: var(--padding-default);\n font: var(--page-description-font);\n color: var(--secondary-color);\n }\n\n md-icon {\n position: relative;\n top: 3px;\n margin: 0 2px 0 10px;\n }\n\n [field-info] {\n opacity: 0.7;\n }\n\n strong {\n display: block;\n font-weight: bold;\n font-size: 0.9rem;\n }\n `\n\n @property({ type: Object }) dataOoc?: DataOoc\n\n render() {\n const { history = [] } = this.dataOoc || {}\n const formatter = new Intl.DateTimeFormat(navigator.language, { dateStyle: 'full', timeStyle: 'short' })\n\n return html`\n ${history.map(\n ({ user, state, comment, timestamp }) => html`\n <p page-history>\n <!--상태에 따라 추가로 danger, complete를 어트리뷰트로 추가시 배경컬러 변경되도록 해두었습니다-->\n <span field-info\n >${formatter.format(new Date(timestamp))} <md-icon>account_circle</md-icon>${user.name}</span\n >\n <span field-state>${state}</span>\n <strong>${comment}</strong>\n </p>\n `\n )}\n `\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import '@operato/input/ox-input-file.js';
2
2
  import './ox-data-sample-view';
3
- import '@material/mwc-icon';
3
+ import './ox-data-ooc-history';
4
+ import '@material/web/icon/icon.js';
4
5
  import { LitElement } from 'lit';
5
6
  import { DataOoc, DataSet } from './types.js';
6
7
  /**
@@ -10,5 +11,5 @@ export declare class OxDataOocView extends LitElement {
10
11
  static styles: import("lit").CSSResult;
11
12
  dataSet?: DataSet;
12
13
  dataOoc?: DataOoc;
13
- render(): import("lit").TemplateResult<1>;
14
+ render(): import("lit-html").TemplateResult<1>;
14
15
  }
@@ -1,7 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
2
  import '@operato/input/ox-input-file.js';
3
3
  import './ox-data-sample-view';
4
- import '@material/mwc-icon';
4
+ import './ox-data-ooc-history';
5
+ import '@material/web/icon/icon.js';
5
6
  import { css, html, LitElement } from 'lit';
6
7
  import { customElement, property } from 'lit/decorators.js';
7
8
  import { i18next } from '@operato/i18n';
@@ -10,27 +11,14 @@ import { i18next } from '@operato/i18n';
10
11
  */
11
12
  let OxDataOocView = class OxDataOocView extends LitElement {
12
13
  render() {
13
- const { history = [], state } = this.dataOoc || {};
14
- const formatter = new Intl.DateTimeFormat(navigator.language, { dateStyle: 'full', timeStyle: 'short' });
14
+ const { state } = this.dataOoc || {};
15
15
  return html `
16
16
  <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
17
17
 
18
- <h3 state ?danger=${state != 'CORRECTED'} ?complete=${state == 'CORRECTED'}>
19
- <mwc-icon>shield</mwc-icon>
20
- <div>DATA OOC <span field-state>${state || ''}</span></div>
21
- </h3>
18
+ <ox-data-ooc-badge .state=${state}></ox-data-ooc-badge>
22
19
 
23
20
  <h3>${i18next.t('title.history')}</h3>
24
- ${history.map(({ user, state, comment, timestamp }) => html `
25
- <p page-history>
26
- <!--상태에 따라 추가로 danger, complete를 어트리뷰트로 추가시 배경컬러 변경되도록 해두었습니다-->
27
- <span field-info
28
- >${formatter.format(new Date(timestamp))} <mwc-icon>account_circle</mwc-icon>${user.name}</span
29
- >
30
- <span field-state>${state}</span>
31
- <strong>${comment}</strong>
32
- </p>
33
- `)}
21
+ <ox-data-ooc-history .dataOoc=${this.dataOoc}></ox-data-ooc-history>
34
22
  `;
35
23
  }
36
24
  };
@@ -38,88 +26,17 @@ OxDataOocView.styles = css `
38
26
  :host {
39
27
  display: flex;
40
28
  flex-direction: column;
41
- background-color: var(--main-section-background-color);
42
29
 
43
30
  position: relative;
44
31
  }
45
32
 
46
- h3 {
47
- margin: var(--title-margin);
48
- padding-top: 12px;
49
- font: var(--title-font);
50
- color: var(--title-text-color);
51
- }
52
-
53
- h3[state] {
33
+ ox-data-ooc-badge {
54
34
  position: absolute;
35
+
55
36
  margin: 0;
56
37
  padding: 0;
57
38
  right: 10px;
58
39
  width: 90px;
59
- text-align: center;
60
- }
61
-
62
- mwc-icon {
63
- font-size: 16px;
64
- }
65
- [state] mwc-icon {
66
- font-size: 80px;
67
- opacity: 0.4;
68
- color: var(--primary-background-color);
69
- }
70
-
71
- [state] div {
72
- position: absolute;
73
- top: 22px;
74
- left: 0;
75
- right: 0;
76
- font-size: 10px;
77
- color: var(--theme-white-color);
78
- }
79
- [state] [field-state] {
80
- display: block;
81
- border-radius: 4px;
82
- background-color: var(--primary-color);
83
- box-shadow: var(--box-shadow);
84
- margin-top: var(--margin-narrow);
85
- padding: 1px 3px;
86
- font-size: 0.8rem;
87
- }
88
- [danger] [field-state] {
89
- background-color: var(--status-danger-color);
90
- }
91
- [complete] [field-state] {
92
- background-color: var(--status-info-color);
93
- }
94
- [page-history] [field-state] {
95
- border-radius: 2px;
96
- background-color: var(--primary-color);
97
- margin-left: var(--margin-default);
98
- padding: 1px 2px;
99
- font-size: 0.7rem;
100
- color: var(--theme-white-color);
101
- }
102
- [page-history] {
103
- background-color: var(--theme-white-color);
104
- box-shadow: var(--box-shadow);
105
- border-radius: var(--border-radius);
106
- margin: var(--page-description-margin);
107
- padding: var(--padding-default);
108
- font: var(--page-description-font);
109
- color: var(--secondary-color);
110
- }
111
- [page-history] mwc-icon {
112
- position: relative;
113
- top: 3px;
114
- margin: 0 2px 0 10px;
115
- }
116
- [field-info] {
117
- opacity: 0.7;
118
- }
119
- [page-history] strong {
120
- display: block;
121
- font-weight: bold;
122
- font-size: 0.9rem;
123
40
  }
124
41
  `;
125
42
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"ox-data-ooc-view.js","sourceRoot":"","sources":["../../src/ox-data-ooc-view.ts"],"names":[],"mappings":";AAAA,OAAO,iCAAiC,CAAA;AACxC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,oBAAoB,CAAA;AAE3B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC;;GAEG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IA6F3C,MAAM;QACJ,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QAClD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;QAExG,OAAO,IAAI,CAAA;yCAC0B,IAAI,CAAC,OAAO;;0BAE3B,KAAK,IAAI,WAAW,cAAc,KAAK,IAAI,WAAW;;0CAEtC,KAAK,IAAI,EAAE;;;YAGzC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9B,OAAO,CAAC,GAAG,CACX,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,CAAA;;;;iBAIpC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,uCAAuC,IAAI,CAAC,IAAI;;gCAEtE,KAAK;sBACf,OAAO;;SAEpB,CACF;KACF,CAAA;IACH,CAAC;;AAtHM,oBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFlB,AAvFY,CAuFZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAkB;AACjB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAkB;AA3FlC,aAAa;IADzB,aAAa,CAAC,kBAAkB,CAAC;GACrB,aAAa,CAwHzB","sourcesContent":["import '@operato/input/ox-input-file.js'\nimport './ox-data-sample-view'\nimport '@material/mwc-icon'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { DataOoc, DataSet } from './types.js'\n\n/**\n * @deprecated by ox-data-ooc-brief-view\n */\n@customElement('ox-data-ooc-view')\nexport class OxDataOocView extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n background-color: var(--main-section-background-color);\n\n position: relative;\n }\n\n h3 {\n margin: var(--title-margin);\n padding-top: 12px;\n font: var(--title-font);\n color: var(--title-text-color);\n }\n\n h3[state] {\n position: absolute;\n margin: 0;\n padding: 0;\n right: 10px;\n width: 90px;\n text-align: center;\n }\n\n mwc-icon {\n font-size: 16px;\n }\n [state] mwc-icon {\n font-size: 80px;\n opacity: 0.4;\n color: var(--primary-background-color);\n }\n\n [state] div {\n position: absolute;\n top: 22px;\n left: 0;\n right: 0;\n font-size: 10px;\n color: var(--theme-white-color);\n }\n [state] [field-state] {\n display: block;\n border-radius: 4px;\n background-color: var(--primary-color);\n box-shadow: var(--box-shadow);\n margin-top: var(--margin-narrow);\n padding: 1px 3px;\n font-size: 0.8rem;\n }\n [danger] [field-state] {\n background-color: var(--status-danger-color);\n }\n [complete] [field-state] {\n background-color: var(--status-info-color);\n }\n [page-history] [field-state] {\n border-radius: 2px;\n background-color: var(--primary-color);\n margin-left: var(--margin-default);\n padding: 1px 2px;\n font-size: 0.7rem;\n color: var(--theme-white-color);\n }\n [page-history] {\n background-color: var(--theme-white-color);\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n margin: var(--page-description-margin);\n padding: var(--padding-default);\n font: var(--page-description-font);\n color: var(--secondary-color);\n }\n [page-history] mwc-icon {\n position: relative;\n top: 3px;\n margin: 0 2px 0 10px;\n }\n [field-info] {\n opacity: 0.7;\n }\n [page-history] strong {\n display: block;\n font-weight: bold;\n font-size: 0.9rem;\n }\n `\n\n @property({ type: Object }) dataSet?: DataSet\n @property({ type: Object }) dataOoc?: DataOoc\n\n render() {\n const { history = [], state } = this.dataOoc || {}\n const formatter = new Intl.DateTimeFormat(navigator.language, { dateStyle: 'full', timeStyle: 'short' })\n\n return html`\n <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>\n\n <h3 state ?danger=${state != 'CORRECTED'} ?complete=${state == 'CORRECTED'}>\n <mwc-icon>shield</mwc-icon>\n <div>DATA OOC <span field-state>${state || ''}</span></div>\n </h3>\n\n <h3>${i18next.t('title.history')}</h3>\n ${history.map(\n ({ user, state, comment, timestamp }) => html`\n <p page-history>\n <!--상태에 따라 추가로 danger, complete를 어트리뷰트로 추가시 배경컬러 변경되도록 해두었습니다-->\n <span field-info\n >${formatter.format(new Date(timestamp))} <mwc-icon>account_circle</mwc-icon>${user.name}</span\n >\n <span field-state>${state}</span>\n <strong>${comment}</strong>\n </p>\n `\n )}\n `\n }\n}\n"]}
1
+ {"version":3,"file":"ox-data-ooc-view.js","sourceRoot":"","sources":["../../src/ox-data-ooc-view.ts"],"names":[],"mappings":";AAAA,OAAO,iCAAiC,CAAA;AACxC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,uBAAuB,CAAA;AAC9B,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC;;GAEG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAsB3C,MAAM;QACJ,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QAEpC,OAAO,IAAI,CAAA;yCAC0B,IAAI,CAAC,OAAO;;kCAEnB,KAAK;;YAE3B,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;sCACA,IAAI,CAAC,OAAO;KAC7C,CAAA;IACH,CAAC;;AAhCM,oBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;GAgBlB,AAhBY,CAgBZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAkB;AACjB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAkB;AApBlC,aAAa;IADzB,aAAa,CAAC,kBAAkB,CAAC;GACrB,aAAa,CAkCzB","sourcesContent":["import '@operato/input/ox-input-file.js'\nimport './ox-data-sample-view'\nimport './ox-data-ooc-history'\nimport '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { DataOoc, DataSet } from './types.js'\n\n/**\n * @deprecated by ox-data-ooc-brief-view\n */\n@customElement('ox-data-ooc-view')\nexport class OxDataOocView extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n\n position: relative;\n }\n\n ox-data-ooc-badge {\n position: absolute;\n\n margin: 0;\n padding: 0;\n right: 10px;\n width: 90px;\n }\n `\n\n @property({ type: Object }) dataSet?: DataSet\n @property({ type: Object }) dataOoc?: DataOoc\n\n render() {\n const { state } = this.dataOoc || {}\n\n return html`\n <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>\n\n <ox-data-ooc-badge .state=${state}></ox-data-ooc-badge>\n\n <h3>${i18next.t('title.history')}</h3>\n <ox-data-ooc-history .dataOoc=${this.dataOoc}></ox-data-ooc-history>\n `\n }\n}\n"]}
@@ -5,7 +5,7 @@ export declare class OxDataSampleSubgroupView extends LitElement {
5
5
  static styles: import("lit").CSSResult;
6
6
  dataSample?: DataSample;
7
7
  subgroup?: string;
8
- render(): import("lit").TemplateResult<1>;
8
+ render(): import("lit-html").TemplateResult<1>;
9
9
  private buildSpec;
10
10
  private download;
11
11
  private buildValue;