PluginProbe
The Innovative Form Builder – IvyForms / 0.2
The Innovative Form Builder – IvyForms v0.2
1.5.1 1.5 1.4.1 1.4 trunk 0.1.2 0.2 0.2.1 0.3 0.3.1 0.4 0.5 0.6 0.6.1 0.6.1-backup 0.6.1.1 0.7 0.8 0.8.1 0.8.2 0.9 0.9.1 1.0 1.1 1.1.1 All 27 releases
ivyforms / frontend / src / views / admin / testing / testing-page / TestingInputs.vue

TestingInputs.vue in The Innovative Form Builder – IvyForms 0.2, at frontend/src/views/admin/testing/testing-page/TestingInputs.vue

140 lines 4.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <template>
2 <h3>Inputs in Form Component Preview</h3>
3 <div class="inputs-preview">
4 <IvyForm :model="formData" :rules="rules">
5 <IvyFormItem label="First name" prop="firstName" right-label="Options" secondary>
6 <IvyTextInput
7 v-model="formData.firstName"
8 :placeholder="placeholderName"
9 icon-start="user"
10 clearable
11 ></IvyTextInput>
12 </IvyFormItem>
13
14 <IvyFormItem label="Last name" prop="lastName">
15 <IvyTextInput v-model="formData.lastName" icon-end="user"></IvyTextInput>
16 </IvyFormItem>
17
18 <IvyFormItem label="Email" prop="email">
19 <IvyTextInput
20 v-model="formData.email"
21 placeholder="email"
22 icon-start="email"
23 ></IvyTextInput>
24 </IvyFormItem>
25
26 <IvyFormItem label="Job" prop="job">
27 <IvySelectInput v-model="formData.job" class="am-time-select">
28 <IvySelectOption
29 v-for="item in items"
30 :key="item.value"
31 :label="item.label"
32 :value="item.value"
33 :disabled="item.disabled"
34 >
35 {{ item.label }}
36 </IvySelectOption>
37 </IvySelectInput>
38 </IvyFormItem>
39
40 <IvyFormItem label="Hobbies" prop="hobbies" secondary>
41 <IvySelectInput v-model="formData.hobbies" multiple>
42 <IvySelectOption
43 v-for="item in hobbies"
44 :key="item.value"
45 :label="item.label"
46 :value="item.value"
47 :disabled="item.disabled"
48 >
49 {{ item.label }}
50 </IvySelectOption>
51 </IvySelectInput>
52 </IvyFormItem>
53
54 <IvyFormItem secondary>
55 <IvyPhoneInput placeholder="Phone number" />
56 </IvyFormItem>
57 </IvyForm>
58
59 <h3>Inputs Outside of a Form</h3>
60 <span class="ivyforms-mt-10">Primary:</span>
61 <IvyTextInput v-model="modelValuePrimary" :placeholder="placeholderName" icon-start="user" />
62
63 <span class="ivyforms-mt-10">Secondary:</span>
64 <IvyTextInput
65 v-model="modelValueSecondary"
66 secondary
67 :placeholder="placeholderName"
68 icon-start="user"
69 />
70 </div>
71 </template>
72
73 <script setup lang="ts">
74 import { ref } from 'vue'
75 import IvyPhoneInput from '@/views/_components/input/IvyPhoneInput.vue'
76
77 const formData = ref({
78 firstName: '',
79 lastName: '',
80 email: '',
81 job: '',
82 hobbies: '',
83 })
84
85 const items = ref([
86 { value: 'Engineer', label: 'Engineer', disabled: false },
87 { value: 'Manager', label: 'Manager', disabled: false },
88 { value: 'Designer', label: 'Designer', disabled: false },
89 { value: 'Developer', label: 'Developer', disabled: false },
90 { value: 'Tester', label: 'Tester', disabled: false },
91 { value: 'Support', label: 'Support', disabled: false },
92 { value: 'Sales', label: 'Sales', disabled: false },
93 { value: 'Marketing', label: 'Marketing', disabled: false },
94 { value: 'HR', label: 'HR', disabled: false },
95 { value: 'Finance', label: 'Finance', disabled: false },
96 { value: 'Admin', label: 'Admin', disabled: false },
97 { value: 'Other', label: 'Other', disabled: true },
98 ])
99
100 const hobbies = ref([
101 { value: 'Reading', label: 'Reading', disabled: false },
102 { value: 'Writing', label: 'Writing', disabled: false },
103 { value: 'Drawing', label: 'Drawing', disabled: false },
104 { value: 'Singing', label: 'Singing', disabled: false },
105 { value: 'Dancing', label: 'Dancing', disabled: false },
106 { value: 'Cooking', label: 'Cooking', disabled: false },
107 { value: 'Gardening', label: 'Gardening', disabled: false },
108 { value: 'Traveling', label: 'Traveling', disabled: false },
109 { value: 'Photography', label: 'Photography', disabled: false },
110 { value: 'Gaming', label: 'Gaming', disabled: false },
111 { value: 'Exercising', label: 'Exercising', disabled: false },
112 { value: 'Other', label: 'Other', disabled: true },
113 ])
114
115 const rules = ref({
116 firstName: [{ required: true, message: 'Please enter first name.', trigger: 'blur' }],
117 lastName: [{ required: true, message: 'Please enter last name.', trigger: 'blur' }],
118 email: [
119 { type: 'email', message: 'Please input correct email address', trigger: ['blur', 'change'] },
120 ],
121 job: [{ required: true, message: 'Please select a job.', trigger: 'change' }],
122 })
123
124 const placeholderName = 'Your name'
125 const modelValuePrimary = ref('')
126 const modelValueSecondary = ref('')
127 </script>
128
129 <style lang="scss">
130 .inputs-preview {
131 width: 300px;
132 align-items: center;
133
134 .ivyforms-mt-10 {
135 display: flex;
136 margin-top: 10px;
137 }
138 }
139 </style>
140