aboutsummaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2020-01-02 21:36:01 +0200
committerHenry Jameson <me@hjkos.com>2020-01-02 21:36:01 +0200
commitadbab6ad2a413357b24edbd5b9beec3baae695fa (patch)
tree639401e36960f16f2a31260a85b2822987fac910 /src/components
parent4bb1c98e0f28bcf1d0dff2d90d01013cd5487522 (diff)
added optional checkbox for opacity, similar to color input
Diffstat (limited to 'src/components')
-rw-r--r--src/components/opacity_input/opacity_input.vue37
-rw-r--r--src/components/style_switcher/style_switcher.vue9
2 files changed, 40 insertions, 6 deletions
diff --git a/src/components/opacity_input/opacity_input.vue b/src/components/opacity_input/opacity_input.vue
index c677f18c..f7b10d30 100644
--- a/src/components/opacity_input/opacity_input.vue
+++ b/src/components/opacity_input/opacity_input.vue
@@ -18,7 +18,7 @@
@input="$emit('input', !present ? fallback : undefined)"
>
<label
- v-if="typeof fallback !== 'undefined'"
+ v-if="typeof fallback !== 'undefined' && showOptionalTickbox"
class="opt-l"
:for="name + '-o'"
/>
@@ -38,9 +38,38 @@
<script>
export default {
- props: [
- 'name', 'value', 'fallback', 'disabled'
- ],
+ props: {
+ // Name of opacity, used for identifying
+ name: {
+ required: true,
+ type: String
+ },
+ // Opacity value, should be required but vue cannot tell the difference
+ // between "property missing" and "property set to undefined"
+ value: {
+ required: false,
+ type: Number,
+ default: undefined
+ },
+ // Opacity fallback to use when value is not defeind
+ fallback: {
+ required: false,
+ type: Number,
+ default: undefined
+ },
+ // Disable the control
+ disabled: {
+ required: false,
+ type: Boolean,
+ default: false
+ },
+ // Show "optional" tickbox, for when value might become mandatory
+ showOptionalTickbox: {
+ required: false,
+ type: Boolean,
+ default: true
+ }
+ },
computed: {
present () {
return typeof this.value !== 'undefined'
diff --git a/src/components/style_switcher/style_switcher.vue b/src/components/style_switcher/style_switcher.vue
index 2eadbe25..f5b12e7e 100644
--- a/src/components/style_switcher/style_switcher.vue
+++ b/src/components/style_switcher/style_switcher.vue
@@ -118,15 +118,15 @@
v-model="accentColorLocal"
name="accentColor"
:fallback="previewTheme.colors.link"
- :showOptionalTickbox="typeof linkColorLocal !== 'undefined'"
:label="$t('settings.accent')"
+ :showOptionalTickbox="typeof linkColorLocal !== 'undefined'"
/>
<ColorInput
v-model="linkColorLocal"
name="linkColor"
:fallback="previewTheme.colors.accent"
- :showOptionalTickbox="typeof accentColorLocal !== 'undefined'"
:label="$t('settings.links')"
+ :showOptionalTickbox="typeof accentColorLocal !== 'undefined'"
/>
<ContrastRatio :contrast="previewContrast.bgLink" />
</div>
@@ -239,6 +239,7 @@
v-model="panelOpacityLocal"
name="panelOpacity"
:fallback="previewTheme.opacity.panel"
+ :showOptionalTickbox="panelColorLocal !== 'transparent'"
/>
<ColorInput
v-model="panelTextColorLocal"
@@ -296,6 +297,7 @@
v-model="inputOpacityLocal"
name="inputOpacity"
:fallback="previewTheme.opacity.input"
+ :showOptionalTickbox="inputColorLocal !== 'transparent'"
/>
<ColorInput
v-model="inputTextColorLocal"
@@ -317,6 +319,7 @@
v-model="btnOpacityLocal"
name="btnOpacity"
:fallback="previewTheme.opacity.btn"
+ :showOptionalTickbox="btnColorLocal !== 'transparent'"
/>
<ColorInput
v-model="btnTextColorLocal"
@@ -338,6 +341,7 @@
v-model="borderOpacityLocal"
name="borderOpacity"
:fallback="previewTheme.opacity.border"
+ :showOptionalTickbox="borderColorLocal !== 'transparent'"
/>
</div>
<div class="color-item">
@@ -378,6 +382,7 @@
v-model="underlayOpacityLocal"
name="underlayOpacity"
:fallback="previewTheme.opacity.underlay"
+ :showOptionalTickbox="underlayOpacityLocal !== 'transparent'"
/>
</div>
</div>