12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <template>
- <div class="row items-baseline">
- <div class="col-xs-12 col-sm-auto text-center q-px-md q-py-sm">
- <div :style="flexRowTitleStyle">
- <span class="text-weight-bold">Plot label</span> (optional)
- </div>
- </div>
- <div class="col-xs-grow col-sm q-px-xs">
- <div class="row justify-xs-center justify-sm-start items-center">
- <div class="col-auto">
- <q-input v-model="plotLabel"
- :shadow-text="plotLabel=='' ? shadowText+' (Tab to complete)' : ''"
- outlined
- dense
- class="q-py-xs"
- :style="'width: '+basicWidthStyle"
- @keydown="processInputFill"
- @focus="processInputFill"
- />
- </div>
- </div>
- </div>
- </div>
- </template>
- <script lang="ts">
- import {
- defineComponent,
- computed,
- } from 'vue'
- import { event } from 'quasar'
- const { stopAndPrevent } = event
- import { useStore } from 'src/store'
- import { flexRowTitleStyle,
- basicSelectorWidthStyle,
- basicWidthStyle
- } from 'components/config'
- export default defineComponent({
- name: 'GetPlotSettings',
- setup() {
- const $store = useStore()
- const plotLabel = computed({
- get: ()=> $store.state.simulationSetup.gui.plotLabel,
- set: val => $store.commit('simulationSetup/setPlotLabel', val)
- })
- const shadowText = computed(()=>{
- const numberOfLayers = $store.state.simulationSetup.gui.layers.length
- let particleType = 'bulk'
- if (numberOfLayers == 2) return 'core-shell'
- if (numberOfLayers > 2) return 'multilayer'
- const R = $store.state.simulationSetup.gui.layers[0].layerWidth.toString()
- const units = $store.state.guiRuntime.units
- return particleType+' R='+R+units
- })
- return { flexRowTitleStyle, basicSelectorWidthStyle, basicWidthStyle,
- plotLabel, shadowText,
- processInputFill (e:KeyboardEvent) {
- if (e === void 0) {
- return
- }
- if (e.code === 'Tab') {
- if (shadowText.value.length > 0 && plotLabel.value == '') {
- stopAndPrevent(e)
- plotLabel.value = shadowText.value
- }
- }
- },
- }
- },
- })
- </script>
|