UNPKG

1.6 kBJavaScriptView Raw
1import Vue from 'vue'
2import VueQueryBuilder from './VueQueryBuilder.vue'
3
4Vue.config.productionTip = false
5
6let rules = [
7 {
8 type: "text",
9 id: "first-name",
10 label: "First Name",
11 },
12 {
13 type: "text",
14 id: "last-name",
15 label: "Last Name",
16 },
17 {
18 type: "radio",
19 id: "plan-type",
20 label: "Plan Type",
21 choices: [
22 {label: "Standard", value: "standard"},
23 {label: "Premium", value: "premium"}
24 ]
25 },
26 {
27 type: "checkbox",
28 id: "sizes",
29 label: "Sizes",
30 choices: [
31 {label: "Small", value: "small"},
32 {label: "Medium", value: "medium"},
33 {label: "Large", value: "large"}
34 ]
35 },
36 {
37 type: "text",
38 id: "date",
39 inputType:"date",
40 label: "Date",
41 operands: ['Start Date', 'End Date']
42 },
43 {
44 type: "select",
45 id: 'select',
46 label: 'Color',
47 operators: ['=', '<>'],
48 choices: [
49 {label: "red", value: 'Red'},
50 {label: "orange", value: 'Orange'},
51 {label: "yellow", value: 'Yellow'},
52 {label: "green", value: 'Green'},
53 {label: "blue", value: 'Blue'},
54 {label: "indigo", value: 'Indigo'},
55 {label: "violet", value: 'Violet'},
56 ]
57 },
58 ];
59
60new Vue({
61 el: '#app',
62
63 components: { VueQueryBuilder },
64
65 data: {
66 rules: rules,
67 output: {},
68 },
69
70 computed: {
71 outputFormatted: function() {
72 return JSON.stringify(this.output, null, 2);
73 }
74 },
75
76 methods: {
77 updateQuery: function(value){
78 this.output = value;
79 }
80 }
81});