@operato/dataset 7.1.26 → 7.1.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/src/usecase/ccp/ox-input-ccp-limits.d.ts +1 -0
- package/dist/src/usecase/ccp/ox-input-ccp-limits.js +2 -1
- package/dist/src/usecase/ccp/ox-input-ccp-limits.js.map +1 -1
- package/dist/src/usecase/qc/ox-input-qc-limits.d.ts +1 -0
- package/dist/src/usecase/qc/ox-input-qc-limits.js +2 -1
- package/dist/src/usecase/qc/ox-input-qc-limits.js.map +1 -1
- package/dist/src/usecase/spc/ox-input-spc-limits.d.ts +1 -0
- package/dist/src/usecase/spc/ox-input-spc-limits.js +1 -0
- package/dist/src/usecase/spc/ox-input-spc-limits.js.map +1 -1
- package/dist/stories/ox-data-item-spec.stories.js +87 -6
- package/dist/stories/ox-data-item-spec.stories.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/src/usecase/ccp/ox-input-ccp-limits.ts +2 -1
- package/src/usecase/qc/ox-input-qc-limits.ts +2 -1
- package/src/usecase/spc/ox-input-spc-limits.ts +1 -0
- package/stories/ox-data-item-spec.stories.ts +90 -6
- package/themes/calendar-theme.css +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
### [7.1.27](https://github.com/hatiolab/operato/compare/v7.1.26...v7.1.27) (2024-12-09)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :bug: Bug Fix
|
|
10
|
+
|
|
11
|
+
* calendar css variables ([75a7eb0](https://github.com/hatiolab/operato/commit/75a7eb0c68a9d863f2b0db44152fdb9b9536ceca))
|
|
12
|
+
* support radio type for dataset item spec ([8ccd1b9](https://github.com/hatiolab/operato/commit/8ccd1b92fb78e42f5998a578244ba804d9f5cedb))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
6
16
|
### [7.1.26](https://github.com/hatiolab/operato/compare/v7.1.25...v7.1.26) (2024-11-28)
|
|
7
17
|
|
|
8
18
|
**Note:** Version bump only for package @operato/dataset
|
|
@@ -11,6 +11,7 @@ export var DataItemType;
|
|
|
11
11
|
DataItemType["text"] = "text";
|
|
12
12
|
DataItemType["boolean"] = "boolean";
|
|
13
13
|
DataItemType["select"] = "select";
|
|
14
|
+
DataItemType["radio"] = "radio";
|
|
14
15
|
DataItemType["file"] = "file";
|
|
15
16
|
DataItemType["signature"] = "signature";
|
|
16
17
|
})(DataItemType || (DataItemType = {}));
|
|
@@ -53,7 +54,7 @@ let OxInputCcpLimits = class OxInputCcpLimits extends LitElement {
|
|
|
53
54
|
<div unit>${this.unit}</div>
|
|
54
55
|
</label>
|
|
55
56
|
`
|
|
56
|
-
: this.type === DataItemType.select
|
|
57
|
+
: this.type === DataItemType.select || this.type === DataItemType.radio
|
|
57
58
|
? html `
|
|
58
59
|
<!-- <div>Acceptables</div> -->
|
|
59
60
|
${(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.map(option => html `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ox-input-ccp-limits.js","sourceRoot":"","sources":["../../../../src/usecase/ccp/ox-input-ccp-limits.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"ox-input-ccp-limits.js","sourceRoot":"","sources":["../../../../src/usecase/ccp/ox-input-ccp-limits.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,uCAAuB,CAAA;AACzB,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB;AAQD;;;;;;;;;GASG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAAzC;;QAsDuB,UAAK,GAAkB,EAAE,CAAA;QACzB,SAAI,GAAiB,YAAY,CAAC,MAAM,CAAA;QAExC,YAAO,GAAoD,EAAE,CAAA;IA0F3F,CAAC;IApFC,YAAY;QACV,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,MAAM;;QACJ,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;QAE/D,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM;YACjC,CAAC,CAAC,IAAI,CAAA;;4BAEY,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;6DACE,OAAO;4BACxC,IAAI,CAAC,IAAI;;;;4BAIT,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;6DACE,OAAO;4BACxC,IAAI,CAAC,IAAI;;aAExB;YACH,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK;gBACrE,CAAC,CAAC,IAAI,CAAA;;kBAEA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,0CAAE,GAAG,CAC1B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAA;;;;qCAIK,MAAM,CAAC,KAAK;mCACb,WAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;;8BAErD,MAAM,CAAC,IAAI;qCACJ,MAAM,CAAC,KAAK;;mBAE9B,CACF;eACF;gBACH,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO;oBAClC,CAAC,CAAC,IAAI,CAAA;;wDAEoC,IAAI,aAAc,WAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC;;;;wDAI1D,KAAK,aAAc,WAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC;;;iBAGnG;oBACH,CAAC,CAAC,IAAI,CAAA,oBAAoB,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,SAAS;;KAElF,CAAA;IACH,CAAC;IAEO,QAAQ,CAAC,CAAQ;QACvB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;aACpC,CAAA;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,GAAG;gBACX,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACrD,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAE,CAAA;oBAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBACd,OAAO,CAAC,CAAA;gBACV,CAAC,CAAC;aACH,CAAA;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG;gBACX,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACrD,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAE,KAAK,MAAM,CAAA;oBACxD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBACd,OAAO,CAAC,CAAA;gBACV,CAAC,CAAC;aACH,CAAA;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACtG,CAAC;;AAjJM,uBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDlB,AAnDY,CAmDZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAA0B;AACzB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAyC;AACxC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAc;AACb;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAA8D;AAEhE;IAAxB,KAAK,CAAC,gBAAgB,CAAC;iDAA2B;AAC1B;IAAxB,KAAK,CAAC,gBAAgB,CAAC;iDAA2B;AACd;IAApC,QAAQ,CAAC,yBAAyB,CAAC;oDAA0C;AA7DnE,gBAAgB;IAD5B,aAAa,CAAC,qBAAqB,CAAC;GACxB,gBAAgB,CAmJ5B","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAll } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nexport enum DataItemType {\n number = 'number',\n text = 'text',\n boolean = 'boolean',\n select = 'select',\n radio = 'radio',\n file = 'file',\n signature = 'signature'\n}\n\nexport type CcpLimitValue = {\n minimum?: number\n maximum?: number\n acceptables?: string[] | boolean[]\n}\n\n/**\n element for CCP limits\n \n Example:\n \n <ox-input-ccp-limits\n .value=${value}\n .type=${type}>\n </ox-input-ccp-limits>\n */\n@customElement('ox-input-ccp-limits')\nexport class OxInputCcpLimits extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n }\n\n label {\n margin: 0 var(--margin-default) var(--margin-default) 0;\n }\n\n label div > * {\n vertical-align: middle;\n }\n\n button {\n width: 20px;\n text-align: center;\n }\n\n div[name],\n input[type='checkbox'] + span {\n display: inline-block;\n font: var(--label-font);\n color: var(--label-color, var(--md-sys-color-on-surface));\n text-align: right;\n }\n input,\n select {\n border: var(--input-field-border);\n border-radius: var(--input-field-border-radius);\n padding: var(--input-field-padding);\n font: var(--input-field-font);\n }\n\n input[type='checkbox'] {\n width: initial;\n }\n input[checked] + span {\n font-weight: bold;\n }\n [unit],\n [value] {\n display: inline-block;\n opacity: 0.7;\n font: var(--form-sublabel-font);\n }\n [properties] {\n font: var(--input-field-font);\n color: var(--label-color, var(--md-sys-color-on-surface));\n }\n `\n\n @property({ type: Object }) value: CcpLimitValue = {}\n @property({ type: String }) type: DataItemType = DataItemType.number\n @property({ type: String }) unit?: string\n @property({ type: Object }) options: { options?: { text: string; value: string }[] } = {}\n\n @query('[name=minimum]') minimum!: HTMLInputElement\n @query('[name=maximum]') maximum!: HTMLInputElement\n @queryAll('[type=checkbox]:checked') checkedAll!: NodeListOf<HTMLInputElement>\n\n firstUpdated() {\n this.renderRoot.addEventListener('change', this.onChange.bind(this))\n }\n\n render() {\n const { minimum, maximum, acceptables = [] } = this.value || {}\n\n return html`\n <div>\n ${this.type === DataItemType.number\n ? html`\n <label>\n <div name>${i18next.t('text.minimum value')}</div>\n <input type=\"number\" name=\"minimum\" .value=${minimum} />\n <div unit>${this.unit}</div>\n </select>\n </label>\n <label>\n <div name>${i18next.t('text.maximum value')}</div>\n <input type=\"number\" name=\"maximum\" .value=${maximum} />\n <div unit>${this.unit}</div>\n </label>\n `\n : this.type === DataItemType.select || this.type === DataItemType.radio\n ? html`\n <!-- <div>Acceptables</div> -->\n ${this.options?.options?.map(\n option => html`\n <div>\n <input\n type=\"checkbox\"\n data-value=${option.value}\n ?checked=${(acceptables as string[]).includes(option.value)}\n />\n <span>${option.text}</span>\n <span value>(${option.value})</span>\n </div>\n `\n )}\n `\n : this.type === DataItemType.boolean\n ? html`\n <div>\n <input type=\"checkbox\" data-value=${true} ?checked=${(acceptables as boolean[]).includes(true)} />\n <span value>true</span>\n </div>\n <div>\n <input type=\"checkbox\" data-value=${false} ?checked=${(acceptables as boolean[]).includes(false)} />\n <span value>false</span>\n </div>\n `\n : html` <div properties>${i18next.t('text.no properties to set')}</div> `}\n </div>\n `\n }\n\n private onChange(e: Event) {\n if (this.type === DataItemType.number) {\n this.value = {\n minimum: this.minimum.valueAsNumber,\n maximum: this.maximum.valueAsNumber\n }\n } else if (this.type === DataItemType.select) {\n this.value = {\n acceptables: Array.from(this.checkedAll).map(checked => {\n const x = checked.getAttribute('data-value')!\n console.log(x)\n return x\n })\n }\n } else if (this.type === DataItemType.boolean) {\n this.value = {\n acceptables: Array.from(this.checkedAll).map(checked => {\n const x = checked.getAttribute('data-value')! === 'true'\n console.log(x)\n return x\n })\n }\n } else {\n this.value = {}\n }\n\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: this.value }))\n }\n}\n"]}
|
|
@@ -11,6 +11,7 @@ export var DataItemType;
|
|
|
11
11
|
DataItemType["text"] = "text";
|
|
12
12
|
DataItemType["boolean"] = "boolean";
|
|
13
13
|
DataItemType["select"] = "select";
|
|
14
|
+
DataItemType["radio"] = "radio";
|
|
14
15
|
DataItemType["file"] = "file";
|
|
15
16
|
DataItemType["signature"] = "signature";
|
|
16
17
|
})(DataItemType || (DataItemType = {}));
|
|
@@ -53,7 +54,7 @@ let OxInputQcLimits = class OxInputQcLimits extends LitElement {
|
|
|
53
54
|
<div unit>${this.unit}</div>
|
|
54
55
|
</label>
|
|
55
56
|
`
|
|
56
|
-
: this.type === DataItemType.select
|
|
57
|
+
: this.type === DataItemType.select || this.type === DataItemType.radio
|
|
57
58
|
? html `
|
|
58
59
|
${(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.map(option => html `
|
|
59
60
|
<div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ox-input-qc-limits.js","sourceRoot":"","sources":["../../../../src/usecase/qc/ox-input-qc-limits.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"ox-input-qc-limits.js","sourceRoot":"","sources":["../../../../src/usecase/qc/ox-input-qc-limits.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAll } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nexport enum DataItemType {\n number = 'number',\n text = 'text',\n boolean = 'boolean',\n select = 'select',\n radio = 'radio',\n file = 'file',\n signature = 'signature'\n}\n\nexport type QcLimitValue = {\n minimum?: number\n maximum?: number\n acceptables?: string[] | boolean[]\n}\n\n/**\n element for QC limits\n \n Example:\n \n <ox-input-qc-limits\n .value=${value}\n .type=${type}>\n </ox-input-qc-limits>\n */\n@customElement('ox-input-qc-limits')\nexport class OxInputQcLimits extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n }\n\n label {\n margin: 0 var(--margin-default) var(--margin-default) 0;\n }\n\n label div > * {\n vertical-align: middle;\n }\n\n button {\n width: 20px;\n text-align: center;\n }\n\n div[name],\n input[type='checkbox'] + span {\n display: inline-block;\n font: var(--label-font);\n color: var(--label-color, var(--md-sys-color-on-surface));\n text-align: right;\n }\n input,\n select {\n border: var(--input-field-border);\n border-radius: var(--input-field-border-radius);\n padding: var(--input-field-padding);\n font: var(--input-field-font);\n }\n\n input[type='checkbox'] {\n width: initial;\n }\n input[checked] + span {\n font-weight: bold;\n }\n [unit],\n [value] {\n display: inline-block;\n opacity: 0.7;\n font: var(--form-sublabel-font);\n }\n [properties] {\n font: var(--input-field-font);\n color: var(--label-color, var(--md-sys-color-on-surface));\n }\n `\n\n @property({ type: Object }) value: QcLimitValue = {}\n @property({ type: String }) type: DataItemType = DataItemType.number\n @property({ type: String }) unit?: string\n @property({ type: Object }) options: { options?: { text: string; value: string }[] } = {}\n\n @query('[name=minimum]') minimum!: HTMLInputElement\n @query('[name=maximum]') maximum!: HTMLInputElement\n @queryAll('[type=checkbox]:checked') checkedAll!: NodeListOf<HTMLInputElement>\n\n firstUpdated() {\n this.renderRoot.addEventListener('change', this.onChange.bind(this))\n }\n\n render() {\n const { minimum, maximum, acceptables = [] } = this.value || {}\n\n return html`\n <div>\n ${this.type === DataItemType.number\n ? html`\n <label>\n <div name>${i18next.t('text.minimum value')}</div>\n <input type=\"number\" name=\"minimum\" .value=${minimum} />\n <div unit>${this.unit}</div>\n </select>\n </label>\n <label>\n <div name>${i18next.t('text.maximum value')}</div>\n <input type=\"number\" name=\"maximum\" .value=${maximum} />\n <div unit>${this.unit}</div>\n </label>\n `\n : this.type === DataItemType.select || this.type === DataItemType.radio\n ? html`\n ${this.options?.options?.map(\n option => html`\n <div>\n <input\n type=\"checkbox\"\n data-value=${option.value}\n ?checked=${(acceptables as string[]).includes(option.value)}\n />\n <span>${option.text}</span>\n <span value>(${option.value})</span>\n </div>\n `\n )}\n `\n : this.type === DataItemType.boolean\n ? html`\n <div>\n <input type=\"checkbox\" data-value=${true} ?checked=${(acceptables as boolean[]).includes(true)} />\n <span value>true</span>\n </div>\n <div>\n <input type=\"checkbox\" data-value=${false} ?checked=${(acceptables as boolean[]).includes(false)} />\n <span value>false</span>\n </div>\n `\n : html` <div properties>${i18next.t('text.no properties to set')}</div> `}\n </div>\n `\n }\n\n private onChange(e: Event) {\n if (this.type === DataItemType.number) {\n this.value = {\n minimum: this.minimum.valueAsNumber,\n maximum: this.maximum.valueAsNumber\n }\n } else if (this.type === DataItemType.select) {\n this.value = {\n acceptables: Array.from(this.checkedAll).map(checked => {\n const x = checked.getAttribute('data-value')!\n console.log(x)\n return x\n })\n }\n } else if (this.type === DataItemType.boolean) {\n this.value = {\n acceptables: Array.from(this.checkedAll).map(checked => {\n const x = checked.getAttribute('data-value')! === 'true'\n console.log(x)\n return x\n })\n }\n } else {\n this.value = {}\n }\n\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: this.value }))\n }\n}\n"]}
|
|
@@ -11,6 +11,7 @@ export var DataItemType;
|
|
|
11
11
|
DataItemType["text"] = "text";
|
|
12
12
|
DataItemType["boolean"] = "boolean";
|
|
13
13
|
DataItemType["select"] = "select";
|
|
14
|
+
DataItemType["radio"] = "radio";
|
|
14
15
|
DataItemType["file"] = "file";
|
|
15
16
|
DataItemType["signature"] = "signature";
|
|
16
17
|
})(DataItemType || (DataItemType = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ox-input-spc-limits.js","sourceRoot":"","sources":["../../../../src/usecase/spc/ox-input-spc-limits.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"ox-input-spc-limits.js","sourceRoot":"","sources":["../../../../src/usecase/spc/ox-input-spc-limits.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAll } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nexport enum DataItemType {\n number = 'number',\n text = 'text',\n boolean = 'boolean',\n select = 'select',\n radio = 'radio',\n file = 'file',\n signature = 'signature'\n}\n\nexport type SpcLimitValue = {\n minimum?: number\n maximum?: number\n acceptables?: string[] | boolean[]\n}\n\n/**\n element for SPC limits\n \n Example:\n \n <ox-input-spc-limits\n .value=${value}\n .type=${type}>\n </ox-input-spc-limits>\n */\n@customElement('ox-input-spc-limits')\nexport class OxInputSpcLimits extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n }\n\n label {\n margin: 0 var(--margin-default) var(--margin-default) 0;\n }\n\n label div > * {\n vertical-align: middle;\n }\n\n button {\n width: 20px;\n text-align: center;\n }\n\n div[name],\n input[type='checkbox'] + span {\n display: inline-block;\n font: var(--label-font);\n color: var(--label-color, var(--md-sys-color-on-surface));\n text-align: right;\n }\n input,\n select {\n border: var(--input-field-border);\n border-radius: var(--input-field-border-radius);\n padding: var(--input-field-padding);\n font: var(--input-field-font);\n }\n\n input[type='checkbox'] {\n width: initial;\n }\n input[checked] + span {\n font-weight: bold;\n }\n [unit],\n [value] {\n display: inline-block;\n opacity: 0.7;\n font: var(--form-sublabel-font);\n }\n [properties] {\n font: var(--input-field-font);\n color: var(--label-color, var(--md-sys-color-on-surface));\n }\n `\n\n @property({ type: Object }) value: SpcLimitValue = {}\n @property({ type: String }) type: DataItemType = DataItemType.number\n @property({ type: String }) unit?: string\n @property({ type: Object }) options: { options?: { text: string; value: string }[] } = {}\n\n @query('[name=minimum]') minimum!: HTMLInputElement\n @query('[name=maximum]') maximum!: HTMLInputElement\n @queryAll('[type=checkbox]:checked') checkedAll!: NodeListOf<HTMLInputElement>\n\n firstUpdated() {\n this.renderRoot.addEventListener('change', this.onChange.bind(this))\n }\n\n render() {\n const { minimum, maximum, acceptables = [] } = this.value || {}\n\n return html`\n <div>\n ${this.type === DataItemType.number\n ? html`\n <label>\n <div name>${i18next.t('text.minimum value')}</div>\n <input type=\"number\" name=\"minimum\" .value=${String(minimum)} />\n <div unit>${this.unit}</div>\n </select>\n </label>\n <label>\n <div name>${i18next.t('text.maximum value')}</div>\n <input type=\"number\" name=\"maximum\" .value=${String(maximum)} />\n <div unit>${this.unit}</div>\n </label>\n `\n : this.type === DataItemType.select\n ? html`\n <!-- <div>Acceptables</div> -->\n ${this.options?.options?.map(\n option => html`\n <div>\n <input\n type=\"checkbox\"\n data-value=${option.value}\n ?checked=${(acceptables as string[]).includes(option.value)}\n />\n <span>${option.text}</span>\n <span value>(${option.value})</span>\n </div>\n `\n )}\n `\n : this.type === DataItemType.boolean\n ? html`\n <div>\n <input type=\"checkbox\" data-value=${true} ?checked=${(acceptables as boolean[]).includes(true)} />\n <span value>true</span>\n </div>\n <div>\n <input type=\"checkbox\" data-value=${false} ?checked=${(acceptables as boolean[]).includes(false)} />\n <span value>false</span>\n </div>\n `\n : html` <div properties>${i18next.t('text.no properties to set')}</div> `}\n </div>\n `\n }\n\n private onChange(e: Event) {\n if (this.type === DataItemType.number) {\n this.value = {\n minimum: this.minimum.valueAsNumber,\n maximum: this.maximum.valueAsNumber\n }\n } else if (this.type === DataItemType.select) {\n this.value = {\n acceptables: Array.from(this.checkedAll).map(checked => {\n const x = checked.getAttribute('data-value')!\n console.log(x)\n return x\n })\n }\n } else if (this.type === DataItemType.boolean) {\n this.value = {\n acceptables: Array.from(this.checkedAll).map(checked => {\n const x = checked.getAttribute('data-value')! === 'true'\n console.log(x)\n return x\n })\n }\n } else {\n this.value = {}\n }\n\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: this.value }))\n }\n}\n"]}
|
|
@@ -64,6 +64,31 @@ const dataItemD = {
|
|
|
64
64
|
type: 'boolean',
|
|
65
65
|
quota: 1
|
|
66
66
|
};
|
|
67
|
+
const dataItemE = {
|
|
68
|
+
name: '선택',
|
|
69
|
+
description: '길다/중간/짧다 를 기록함.',
|
|
70
|
+
sequence: 6,
|
|
71
|
+
tag: 'choice',
|
|
72
|
+
type: 'radio',
|
|
73
|
+
quota: 1,
|
|
74
|
+
options: {
|
|
75
|
+
options: [
|
|
76
|
+
{
|
|
77
|
+
text: '길다',
|
|
78
|
+
value: 'L'
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
text: '중간',
|
|
82
|
+
value: 'M'
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
text: '짧다',
|
|
86
|
+
value: 'S'
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
active: true
|
|
91
|
+
};
|
|
67
92
|
var specA = {
|
|
68
93
|
CCP: {
|
|
69
94
|
criticalLimits: {
|
|
@@ -83,8 +108,49 @@ var specA = {
|
|
|
83
108
|
}
|
|
84
109
|
};
|
|
85
110
|
var specB = {
|
|
86
|
-
CCP: {
|
|
87
|
-
|
|
111
|
+
CCP: {
|
|
112
|
+
criticalLimits: {
|
|
113
|
+
acceptables: ['최우수', '우수']
|
|
114
|
+
},
|
|
115
|
+
targetLimits: {
|
|
116
|
+
acceptables: ['최우수', '우수']
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
QC: {
|
|
120
|
+
passLimits: {
|
|
121
|
+
acceptables: ['최우수', '우수']
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
var specD = {
|
|
126
|
+
CCP: {
|
|
127
|
+
criticalLimits: {
|
|
128
|
+
acceptables: [true]
|
|
129
|
+
},
|
|
130
|
+
targetLimits: {
|
|
131
|
+
acceptables: [true]
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
QC: {
|
|
135
|
+
passLimits: {
|
|
136
|
+
acceptables: [true]
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
var specE = {
|
|
141
|
+
CCP: {
|
|
142
|
+
criticalLimits: {
|
|
143
|
+
acceptables: ['L', 'M']
|
|
144
|
+
},
|
|
145
|
+
targetLimits: {
|
|
146
|
+
acceptables: ['L']
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
QC: {
|
|
150
|
+
passLimits: {
|
|
151
|
+
acceptables: ['L', 'M']
|
|
152
|
+
}
|
|
153
|
+
}
|
|
88
154
|
};
|
|
89
155
|
const Template = ({}) => html ` <link
|
|
90
156
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
|
@@ -122,6 +188,8 @@ const Template = ({}) => html ` <link
|
|
|
122
188
|
}}
|
|
123
189
|
></ox-data-item-spec>
|
|
124
190
|
|
|
191
|
+
<hr style="border: 1px solid black; width: 50%;" />
|
|
192
|
+
|
|
125
193
|
<ox-data-item-spec
|
|
126
194
|
.dataItem=${dataItemB}
|
|
127
195
|
.value=${specB}
|
|
@@ -131,21 +199,34 @@ const Template = ({}) => html ` <link
|
|
|
131
199
|
}}
|
|
132
200
|
></ox-data-item-spec>
|
|
133
201
|
|
|
202
|
+
<hr style="border: 1px solid black; width: 50%;" />
|
|
203
|
+
|
|
134
204
|
<ox-data-item-spec
|
|
135
205
|
.dataItem=${dataItemC}
|
|
136
|
-
.value=${specA}
|
|
137
206
|
@change=${(e) => {
|
|
138
207
|
specA = e.detail;
|
|
139
208
|
console.log('change', specA);
|
|
140
209
|
}}
|
|
141
210
|
></ox-data-item-spec>
|
|
142
211
|
|
|
212
|
+
<hr style="border: 1px solid black; width: 50%;" />
|
|
213
|
+
|
|
143
214
|
<ox-data-item-spec
|
|
144
215
|
.dataItem=${dataItemD}
|
|
145
|
-
.value=${
|
|
216
|
+
.value=${specD}
|
|
146
217
|
@change=${(e) => {
|
|
147
|
-
|
|
148
|
-
console.log('change',
|
|
218
|
+
specD = e.detail;
|
|
219
|
+
console.log('change', specD);
|
|
220
|
+
}}
|
|
221
|
+
></ox-data-item-spec>
|
|
222
|
+
<hr style="border: 1px solid black; width: 50%;" />
|
|
223
|
+
|
|
224
|
+
<ox-data-item-spec
|
|
225
|
+
.dataItem=${dataItemE}
|
|
226
|
+
.value=${specE}
|
|
227
|
+
@change=${(e) => {
|
|
228
|
+
specE = e.detail;
|
|
229
|
+
console.log('change', specE);
|
|
149
230
|
}}
|
|
150
231
|
></ox-data-item-spec>`;
|
|
151
232
|
export const Regular = Template.bind({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ox-data-item-spec.stories.js","sourceRoot":"","sources":["../../stories/ox-data-item-spec.stories.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AACtB,OAAO,4BAA4B,CAAA;AACnC,OAAO,yDAAyD,CAAA;AAChE,OAAO,uDAAuD,CAAA;AAC9D,OAAO,uDAAuD,CAAA;AAC9D,OAAO,wDAAwD,CAAA;AAC/D,OAAO,6BAA6B,CAAA;AACpC,OAAO,oBAAoB,CAAA,CAAC,0BAA0B;AACtD,OAAO,mBAAmB,CAAA,CAAC,yBAAyB;AACpD,OAAO,qDAAqD,CAAA;AAC5D,OAAO,mDAAmD,CAAA;AAE1D,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,gBAAgB,CAAC,QAAQ,CAAC;IACxB,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,2BAA2B;IACnC,OAAO,EAAE,6BAA6B;IACtC,YAAY,EAAE,+BAA+B;IAC7C,WAAW,EAAE,8BAA8B;CAC5C,CAAC,CAAA;AAEF,eAAe;IACb,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,EAAE;CACb,CAAA;AAUD,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,6BAA6B;IAC1C,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,CAAC;CACT,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,gCAAgC;IAC7C,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;SAC5B;KACF;IACD,KAAK,EAAE,CAAC;CACT,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,YAAY;IACzB,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,CAAC;CACT,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,YAAY;IACzB,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,CAAC;CACT,CAAA;AAED,IAAI,KAAK,GAAG;IACV,GAAG,EAAE;QACH,cAAc,EAAE;YACd,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACb;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACb;KACF;IACD,EAAE,EAAE;QACF,UAAU,EAAE;YACV,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACb;KACF;CACF,CAAA;AAED,IAAI,KAAK,GAAG;IACV,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"ox-data-item-spec.stories.js","sourceRoot":"","sources":["../../stories/ox-data-item-spec.stories.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AACtB,OAAO,4BAA4B,CAAA;AACnC,OAAO,yDAAyD,CAAA;AAChE,OAAO,uDAAuD,CAAA;AAC9D,OAAO,uDAAuD,CAAA;AAC9D,OAAO,wDAAwD,CAAA;AAC/D,OAAO,6BAA6B,CAAA;AACpC,OAAO,oBAAoB,CAAA,CAAC,0BAA0B;AACtD,OAAO,mBAAmB,CAAA,CAAC,yBAAyB;AACpD,OAAO,qDAAqD,CAAA;AAC5D,OAAO,mDAAmD,CAAA;AAE1D,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,gBAAgB,CAAC,QAAQ,CAAC;IACxB,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,2BAA2B;IACnC,OAAO,EAAE,6BAA6B;IACtC,YAAY,EAAE,+BAA+B;IAC7C,WAAW,EAAE,8BAA8B;CAC5C,CAAC,CAAA;AAEF,eAAe;IACb,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,EAAE;CACb,CAAA;AAUD,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,6BAA6B;IAC1C,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,CAAC;CACT,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,gCAAgC;IAC7C,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;SAC5B;KACF;IACD,KAAK,EAAE,CAAC;CACT,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,YAAY;IACzB,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,CAAC;CACT,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,YAAY;IACzB,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,CAAC;CACT,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,CAAC;IACR,OAAO,EAAE;QACP,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,GAAG;aACX;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,GAAG;aACX;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,GAAG;aACX;SACF;KACF;IACD,MAAM,EAAE,IAAI;CACb,CAAA;AAED,IAAI,KAAK,GAAG;IACV,GAAG,EAAE;QACH,cAAc,EAAE;YACd,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACb;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACb;KACF;IACD,EAAE,EAAE;QACF,UAAU,EAAE;YACV,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACb;KACF;CACF,CAAA;AAED,IAAI,KAAK,GAAG;IACV,GAAG,EAAE;QACH,cAAc,EAAE;YACd,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;SAC3B;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;SAC3B;KACF;IACD,EAAE,EAAE;QACF,UAAU,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;SAC3B;KACF;CACF,CAAA;AAED,IAAI,KAAK,GAAG;IACV,GAAG,EAAE;QACH,cAAc,EAAE;YACd,WAAW,EAAE,CAAC,IAAI,CAAC;SACpB;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,CAAC,IAAI,CAAC;SACpB;KACF;IACD,EAAE,EAAE;QACF,UAAU,EAAE;YACV,WAAW,EAAE,CAAC,IAAI,CAAC;SACpB;KACF;CACF,CAAA;AAED,IAAI,KAAK,GAAG;IACV,GAAG,EAAE;QACH,cAAc,EAAE;YACd,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SACxB;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,CAAC,GAAG,CAAC;SACnB;KACF;IACD,EAAE,EAAE;QACF,UAAU,EAAE;YACV,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SACxB;KACF;CACF,CAAA;AAED,MAAM,QAAQ,GAAoB,CAAC,EAAY,EAAE,EAAE,CACjD,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4BY,SAAS;eACZ,KAAK;gBACJ,CAAC,CAAc,EAAE,EAAE;IAC3B,KAAK,GAAG,CAAC,CAAC,MAAM,CAAA;IAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC;;;;;;kBAMW,SAAS;eACZ,KAAK;gBACJ,CAAC,CAAc,EAAE,EAAE;IAC3B,KAAK,GAAG,CAAC,CAAC,MAAM,CAAA;IAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC;;;;;;kBAMW,SAAS;gBACX,CAAC,CAAc,EAAE,EAAE;IAC3B,KAAK,GAAG,CAAC,CAAC,MAAM,CAAA;IAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC;;;;;;kBAMW,SAAS;eACZ,KAAK;gBACJ,CAAC,CAAc,EAAE,EAAE;IAC3B,KAAK,GAAG,CAAC,CAAC,MAAM,CAAA;IAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC;;;;;kBAKW,SAAS;eACZ,KAAK;gBACJ,CAAC,CAAc,EAAE,EAAE;IAC3B,KAAK,GAAG,CAAC,CAAC,MAAM,CAAA;IAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC;0BACmB,CAAA;AAE1B,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAA","sourcesContent":["import '@operato/i18n'\nimport '@material/web/icon/icon.js'\nimport '@operato/property-editor/ox-property-editor-checkbox.js'\nimport '@operato/property-editor/ox-property-editor-number.js'\nimport '@operato/property-editor/ox-property-editor-string.js'\nimport '@operato/property-editor/ox-properties-dynamic-view.js'\nimport '../src/ox-data-item-spec.js'\nimport '../src/usecase/ccp' /* register usecase CCP */\nimport '../src/usecase/qc' /* register usecase QC */\nimport '../src/usecase/ccp/ox-property-editor-ccp-limits.js'\nimport '../src/usecase/qc/ox-property-editor-qc-limits.js'\n\nimport { html, TemplateResult } from 'lit'\n\nimport { OxPropertyEditor } from '@operato/property-editor'\n\nOxPropertyEditor.register({\n number: 'ox-property-editor-number',\n string: 'ox-property-editor-string',\n boolean: 'ox-property-editor-checkbox',\n 'ccp-limits': 'ox-property-editor-ccp-limits',\n 'qc-limits': 'ox-property-editor-qc-limits'\n})\n\nexport default {\n title: 'ox-data-item-spec',\n component: 'ox-data-item-spec',\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 dataItemA = {\n name: '창고 온도',\n description: '창고 온도는 섭씨 0도 이하로 유지되어야 합니다.',\n sequence: 1,\n tag: 'temp',\n unit: '℃',\n type: 'number',\n quota: 1\n}\n\nconst dataItemB = {\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}\n\nconst dataItemC = {\n name: '코멘트',\n description: '특이사항을 기록함.',\n sequence: 4,\n tag: 'comment',\n type: 'string',\n quota: 1\n}\n\nconst dataItemD = {\n name: '성공',\n description: '성공여부를 기록함.',\n sequence: 5,\n tag: 'success',\n type: 'boolean',\n quota: 1\n}\n\nconst dataItemE = {\n name: '선택',\n description: '길다/중간/짧다 를 기록함.',\n sequence: 6,\n tag: 'choice',\n type: 'radio',\n quota: 1,\n options: {\n options: [\n {\n text: '길다',\n value: 'L'\n },\n {\n text: '중간',\n value: 'M'\n },\n {\n text: '짧다',\n value: 'S'\n }\n ]\n },\n active: true\n}\n\nvar specA = {\n CCP: {\n criticalLimits: {\n minimum: 100,\n maximum: 200\n },\n targetLimits: {\n minimum: 120,\n maximum: 180\n }\n },\n QC: {\n passLimits: {\n minimum: 320,\n maximum: 440\n }\n }\n}\n\nvar specB = {\n CCP: {\n criticalLimits: {\n acceptables: ['최우수', '우수']\n },\n targetLimits: {\n acceptables: ['최우수', '우수']\n }\n },\n QC: {\n passLimits: {\n acceptables: ['최우수', '우수']\n }\n }\n}\n\nvar specD = {\n CCP: {\n criticalLimits: {\n acceptables: [true]\n },\n targetLimits: {\n acceptables: [true]\n }\n },\n QC: {\n passLimits: {\n acceptables: [true]\n }\n }\n}\n\nvar specE = {\n CCP: {\n criticalLimits: {\n acceptables: ['L', 'M']\n },\n targetLimits: {\n acceptables: ['L']\n }\n },\n QC: {\n passLimits: {\n acceptables: ['L', 'M']\n }\n }\n}\n\nconst Template: Story<ArgTypes> = ({}: ArgTypes) =>\n html` <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n\n <link href=\"/themes/app-theme.css\" rel=\"stylesheet\" />\n <link href=\"/themes/light.css\" rel=\"stylesheet\" />\n <link href=\"/themes/dark.css\" rel=\"stylesheet\" />\n <link href=\"/themes/spacing.css\" rel=\"stylesheet\" />\n <link href=\"/themes/grist-theme.css\" rel=\"stylesheet\" />\n <link href=\"/themes/form-theme.css\" rel=\"stylesheet\" />\n\n <style>\n body {\n }\n </style>\n\n <script type=\"module\"></script>\n\n <ox-data-item-spec\n .dataItem=${dataItemA}\n .value=${specA}\n @change=${(e: CustomEvent) => {\n specA = e.detail\n console.log('change', specA)\n }}\n ></ox-data-item-spec>\n\n <hr style=\"border: 1px solid black; width: 50%;\" />\n\n <ox-data-item-spec\n .dataItem=${dataItemB}\n .value=${specB}\n @change=${(e: CustomEvent) => {\n specB = e.detail\n console.log('change', specB)\n }}\n ></ox-data-item-spec>\n\n <hr style=\"border: 1px solid black; width: 50%;\" />\n\n <ox-data-item-spec\n .dataItem=${dataItemC}\n @change=${(e: CustomEvent) => {\n specA = e.detail\n console.log('change', specA)\n }}\n ></ox-data-item-spec>\n\n <hr style=\"border: 1px solid black; width: 50%;\" />\n\n <ox-data-item-spec\n .dataItem=${dataItemD}\n .value=${specD}\n @change=${(e: CustomEvent) => {\n specD = e.detail\n console.log('change', specD)\n }}\n ></ox-data-item-spec>\n <hr style=\"border: 1px solid black; width: 50%;\" />\n\n <ox-data-item-spec\n .dataItem=${dataItemE}\n .value=${specE}\n @change=${(e: CustomEvent) => {\n specE = e.detail\n console.log('change', specE)\n }}\n ></ox-data-item-spec>`\n\nexport const Regular = Template.bind({})\nRegular.args = {}\n"]}
|