From c303eb974c07282825b64e66460cff9a18cc2b1b Mon Sep 17 00:00:00 2001 From: Cole Blanchard <33158416+blanchco@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:44:54 -0400 Subject: [PATCH] separate input components (#4302) Co-authored-by: Cole Blanchard Co-authored-by: Cole Blanchard --- .../css/theme/designer/_components.scss | 3 +- .../designer/components/input/_terainput.scss | 60 ++++++ .../model-parts/tera-model-part-entry.vue | 8 +- .../model/model-parts/tera-model-part.vue | 8 +- .../model/petrinet/tera-initial-entry.vue | 6 +- .../tera-initial-other-value-modal.vue | 8 +- .../model/petrinet/tera-initial-table.vue | 4 +- .../model/petrinet/tera-parameter-entry.vue | 14 +- .../tera-parameter-other-value-modal.vue | 22 +- .../model/petrinet/tera-parameter-table.vue | 4 +- .../components/widgets/tera-input-number.vue | 108 ++++++++++ .../components/widgets/tera-input-text.vue | 93 ++++++++ .../src/components/widgets/tera-input.vue | 202 ------------------ .../widgets/tera-toggleable-edit.vue | 4 +- .../tera-calibrate-ciemss-drilldown.vue | 8 +- .../tera-calibrate-ensemble-ciemss.vue | 4 +- .../ops/funman/tera-constraint-group-form.vue | 6 +- .../workflow/ops/funman/tera-funman.vue | 4 +- .../tera-intervention-card.vue | 20 +- .../tera-intervention-policy-drilldown.vue | 4 +- .../tera-model-config-drilldown.vue | 4 +- .../tera-optimize-ciemss-drilldown.vue | 21 +- .../tera-optimize-criterion-group-form.vue | 11 +- .../tera-static-intervention-policy-group.vue | 20 +- .../tera-simulate-ensemble-ciemss.vue | 4 +- .../hmi-client/src/temp/custom-input-test.vue | 22 +- 26 files changed, 360 insertions(+), 312 deletions(-) create mode 100644 packages/client/hmi-client/src/assets/css/theme/designer/components/input/_terainput.scss create mode 100644 packages/client/hmi-client/src/components/widgets/tera-input-number.vue create mode 100644 packages/client/hmi-client/src/components/widgets/tera-input-text.vue delete mode 100644 packages/client/hmi-client/src/components/widgets/tera-input.vue diff --git a/packages/client/hmi-client/src/assets/css/theme/designer/_components.scss b/packages/client/hmi-client/src/assets/css/theme/designer/_components.scss index 45ef2c1990..5774e3e033 100644 --- a/packages/client/hmi-client/src/assets/css/theme/designer/_components.scss +++ b/packages/client/hmi-client/src/assets/css/theme/designer/_components.scss @@ -24,6 +24,7 @@ @import './components/input/_slider'; @import './components/input/_treeselect'; @import './components/input/_togglebutton'; +@import './components/input/_terainput'; //Button @import './components/button/_button'; @@ -96,4 +97,4 @@ @import './components/misc/_scrolltop'; @import './components/misc/_skeleton'; @import './components/misc/_tag'; -@import './components/misc/_terminal'; \ No newline at end of file +@import './components/misc/_terminal'; diff --git a/packages/client/hmi-client/src/assets/css/theme/designer/components/input/_terainput.scss b/packages/client/hmi-client/src/assets/css/theme/designer/components/input/_terainput.scss new file mode 100644 index 0000000000..e70475dff7 --- /dev/null +++ b/packages/client/hmi-client/src/assets/css/theme/designer/components/input/_terainput.scss @@ -0,0 +1,60 @@ +.tera-input { + display: flex; + & > label { + background-color: none; + color: var(--text-color-secondary); + cursor: text; + padding-right: var(--gap-1-5); + font-size: var(--font-caption); + align-self: center; + }; + & > main { + display: flex; + flex: 1 1 0; + justify-content: space-between; + align-items: center; + padding: var(--gap-xsmall) var(--gap-small); + background-color: var(--surface-section); + border: 1px solid var(--surface-border-alt); + border-radius: var(--border-radius); + cursor: text; + transition: border-color 0.3s ease-in-out; + font-family: var(--font-family); + &:has(*:disabled) { + opacity: 0.5; + } + &:has(*:focus) { + border-color: var(--primary-color); + } + &.error { + border-color: var(--error-border-color); + } + & > i { + margin-right: var(--gap-1); + } + & > input { + min-width: 0; + font-family: var(--font-family); + font-feature-settings: 'tnum'; + flex-grow: 1; + border: none; + background-color: none; + &::-webkit-inner-spin-button, + &::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; + } + } + } + + + aside { + color: var(--error-message-color); + font-size: var(--font-caption); + word-wrap: break-word; + display: flex; + align-items: center; + i { + margin-right: var(--gap-2); + } + } +} diff --git a/packages/client/hmi-client/src/components/model/model-parts/tera-model-part-entry.vue b/packages/client/hmi-client/src/components/model/model-parts/tera-model-part-entry.vue index c47d974418..ca524cb57d 100644 --- a/packages/client/hmi-client/src/components/model/model-parts/tera-model-part-entry.vue +++ b/packages/client/hmi-client/src/components/model/model-parts/tera-model-part-entry.vue @@ -3,7 +3,7 @@
{{ item.id }}
- Output: {{ item.output }} - - import { ref, watch } from 'vue'; -import TeraInput from '@/components/widgets/tera-input.vue'; +import TeraInputText from '@/components/widgets/tera-input-text.vue'; import AutoComplete from 'primevue/autocomplete'; import type { ModelPartItem } from '@/types/Model'; import { stringToLatexExpression } from '@/services/model'; diff --git a/packages/client/hmi-client/src/components/model/model-parts/tera-model-part.vue b/packages/client/hmi-client/src/components/model/model-parts/tera-model-part.vue index 4f0739e671..78ba5767f9 100644 --- a/packages/client/hmi-client/src/components/model/model-parts/tera-model-part.vue +++ b/packages/client/hmi-client/src/components/model/model-parts/tera-model-part.vue @@ -23,7 +23,11 @@ size="small" /> - +