Skip to content

Commit 5b50c06

Browse files
committed
Extend OpinionScale with OpinionNumberScale question type
1 parent 2ace81e commit 5b50c06

File tree

6 files changed

+39
-7
lines changed

6 files changed

+39
-7
lines changed

examples/questionnaire/Example.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
tagline: 'Hi! Welcome to our demo survey 😊',
9595
title: 'Tell us about our service',
9696
subtitle: '1 - Awful, 5 - So, so, 10 - Excellent',
97-
type: QuestionType.OpinionScale,
97+
type: QuestionType.OpinionNumberScale,
9898
required: true,
9999
min: 1,
100100
max: 10,

src/assets/css/common.css

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -743,7 +743,8 @@ header.vff-header svg.f-logo {
743743
field opinion scale
744744
*/
745745

746-
.vff .field-opinionscale ul.f-radios {
746+
.vff .field-opinionscale ul.f-radios,
747+
.vff .field-opinionnumberscale ul.f-radios {
747748
width: 100%;
748749
max-width: 750px;
749750
min-width: auto;
@@ -761,7 +762,8 @@ header.vff-header svg.f-logo {
761762
flex-wrap: wrap;
762763
}
763764

764-
.vff .field-opinionscale ul.f-radios li {
765+
.vff .field-opinionscale ul.f-radios li,
766+
.vff .field-opinionnumberscale ul.f-radios li {
765767
display: -ms-flexbox;
766768
display: -webkit-box;
767769
display: flex;
@@ -779,10 +781,10 @@ header.vff-header svg.f-logo {
779781
flex: 0 0 calc(20% - 8px);
780782
font-size: 15px;
781783
line-height: 1.38;
782-
height: 64px;
784+
min-height: 64px;
783785
}
784786

785-
.vff .field-opinionscale ul.f-radios.f-numbers li {
787+
.vff .field-opinionnumberscale ul.f-radios.f-numbers li {
786788
-ms-flex: 0 0 calc(10% - 8px);
787789
flex: 0 0 calc(10% - 8px);
788790
}
@@ -1245,7 +1247,7 @@ header.vff-header svg.f-logo {
12451247
flex: 0 0 calc(50% - 8px);
12461248
}
12471249

1248-
.vff .field-opinionscale ul.f-radios.f-numbers li {
1250+
.vff .field-opinionnumberscale ul.f-radios.f-numbers li {
12491251
-ms-flex: 0 0 calc(20% - 8px);
12501252
flex: 0 0 calc(20% - 8px);
12511253
}

src/components/FlowFormQuestion.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
import FlowFormFileType from './QuestionTypes/FileType.vue'
116116
import FlowFormMatrixType from './QuestionTypes/MatrixType.vue'
117117
import FlowFormOpinionScaleType from './QuestionTypes/OpinionScaleType.vue'
118+
import FlowFormOpinionNumberScaleType from './QuestionTypes/OpinionNumberScaleType.vue'
118119
import { IsMobile } from '../mixins/IsMobile'
119120
120121
@@ -137,6 +138,7 @@
137138
FlowFormUrlType,
138139
FlowFormMatrixType,
139140
FlowFormOpinionScaleType,
141+
FlowFormOpinionNumberScaleType,
140142
},
141143
142144
props: {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<script>
2+
/*
3+
Copyright (c) 2020 - present, DITDOT Ltd. - MIT Licence
4+
https://github.com/ditdot-dev/vue-flow-form
5+
https://www.ditdot.hr/en
6+
*/
7+
8+
import OpinionScaleType from './OpinionScaleType.vue'
9+
import { QuestionType } from '../../models/QuestionModel'
10+
11+
export default {
12+
extends: OpinionScaleType,
13+
name: QuestionType.OpinionNumberScale,
14+
15+
data() {
16+
return {
17+
isNumberScale: true
18+
}
19+
}
20+
}
21+
</script>

src/components/QuestionTypes/OpinionScaleType.vue

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@
3232
extends: BaseType,
3333
name: QuestionType.OpinionScale,
3434
35+
data() {
36+
return {
37+
isNumberScale: false
38+
}
39+
},
40+
3541
beforeMount() {
3642
if (this.question.max && !this.question.options.length) {
3743
const

src/models/QuestionModel.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ export const QuestionType = Object.freeze({
2121
Text: 'FlowFormTextType',
2222
Url: 'FlowFormUrlType',
2323
Matrix: 'FlowFormMatrixType',
24-
OpinionScale: 'FlowFormOpinionScaleType'
24+
OpinionScale: 'FlowFormOpinionScaleType',
25+
OpinionNumberScale: 'FlowFormOpinionNumberScaleType',
2526
})
2627

2728
export const DropdownOptionBlank = Object.freeze({

0 commit comments

Comments
 (0)