├── .gitignore ├── logo.png ├── vue-poll-example.jpg ├── .babelrc ├── src ├── plugin.js └── Poll.vue ├── LICENCE ├── package.json ├── webpack.config.js ├── index.html ├── README.md └── dist ├── vue-poll.min.js └── vue-poll.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .idea 3 | /package-lock.json 4 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ppietris/vue-poll/HEAD/logo.png -------------------------------------------------------------------------------- /vue-poll-example.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ppietris/vue-poll/HEAD/vue-poll-example.jpg -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["es2015", "stage-2"], 3 | "plugins": ["transform-runtime"], 4 | "comments": false 5 | } -------------------------------------------------------------------------------- /src/plugin.js: -------------------------------------------------------------------------------- 1 | import Poll from './Poll.vue'; 2 | 3 | module.exports = { 4 | install: function (Vue, options) { 5 | Vue.component('vue-poll', Poll); 6 | } 7 | }; -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-poll", 3 | "version": "0.1.9", 4 | "description": "A Vue JS poll component", 5 | "main": "dist/vue-poll.js", 6 | "scripts": { 7 | "build": "rimraf ./dist && webpack --config ./webpack.config.js" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/ppietris/vue-poll.git" 12 | }, 13 | "keywords": [ 14 | "vue.js", 15 | "vue-poll.js", 16 | "vue", 17 | "votes", 18 | "vote", 19 | "poll", 20 | "opinion polling" 21 | ], 22 | "author": "ppietris", 23 | "license": "MIT", 24 | "bugs": { 25 | "url": "https://github.com/ppietris/vue-poll/issues" 26 | }, 27 | "homepage": "https://github.com/ppietris/vue-poll#readme", 28 | "devDependencies": { 29 | "babel-core": "^6.10.4", 30 | "babel-loader": "^6.4.1", 31 | "babel-plugin-transform-runtime": "^6.9.0", 32 | "babel-preset-es2015": "^6.9.0", 33 | "babel-preset-stage-2": "^6.11.0", 34 | "babel-runtime": "^6.9.2", 35 | "css-loader": "^0.28.11", 36 | "rimraf": "^2.7.1", 37 | "vue": "^2.7.16", 38 | "vue-html-loader": "^1.2.3", 39 | "vue-loader": "^11.3.4", 40 | "vue-style-loader": "^2.0.5", 41 | "vue-template-compiler": "^2.2.1", 42 | "webpack": "1.13.1", 43 | "webpack-merge": "^4.2.2" 44 | } 45 | } -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack'); 2 | const merge = require('webpack-merge'); 3 | const path = require('path'); 4 | 5 | var config = { 6 | output: { 7 | path: path.resolve(__dirname + '/dist/'), 8 | }, 9 | module: { 10 | loaders: [ 11 | { 12 | test: /\.js$/, 13 | loader: 'babel', 14 | include: __dirname, 15 | exclude: /node_modules/ 16 | }, 17 | { 18 | test: /\.vue$/, 19 | loader: 'vue' 20 | }, 21 | { 22 | test: /\.css$/, 23 | loader: 'style!less!css' 24 | } 25 | ] 26 | }, 27 | externals: { 28 | moment: 'moment' 29 | }, 30 | plugins: [ 31 | new webpack.optimize.UglifyJsPlugin( { 32 | minimize : true, 33 | sourceMap : false, 34 | mangle: true, 35 | compress: { 36 | warnings: false 37 | } 38 | } ) 39 | ] 40 | }; 41 | 42 | 43 | module.exports = [ 44 | merge(config, { 45 | entry: path.resolve(__dirname + '/src/plugin.js'), 46 | output: { 47 | filename: 'vue-poll.min.js', 48 | libraryTarget: 'window', 49 | library: 'VuePoll', 50 | } 51 | }), 52 | merge(config, { 53 | entry: path.resolve(__dirname + '/src/Poll.vue'), 54 | output: { 55 | filename: 'vue-poll.js', 56 | libraryTarget: 'umd', 57 | library: 'vue-poll', 58 | umdNamedDefine: true 59 | } 60 | }) 61 | ]; 62 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vue-poll Example 8 | 9 | 10 | 11 | 12 | 50 | 51 | 52 | 53 | 54 |
55 |
56 | 57 |

Vue-poll Example

58 |
59 | 60 |
61 | 62 |
63 | 64 | 67 |
68 | 69 | 70 | 71 | 72 | 102 | 103 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vue-poll 2 | 3 | A Twitter-like vote component, made with Vue.js 2 4 | 5 | [DEMO](https://ppietris.github.io/vue-poll/index.html) 6 | 7 |

8 | Vue-poll example image 9 |

10 | 11 | ## Prerequisites 12 | - [Vue.js 2](https://vuejs.org/) 13 | 14 | ## Installing 15 | 16 | Using npm: 17 | 18 | ```bash 19 | $ npm install vue-poll 20 | ``` 21 | 22 | Using cdn: 23 | 24 | ```html 25 | 26 | ``` 27 | 28 | 29 | 30 | ### Example (NPM) 31 | 32 | Define `vue-poll` component markup inside your custom component. 33 | 34 | For example in your `my-poll.vue`: 35 | 36 | ```html 37 | 42 | 43 | 71 | ``` 72 | ### Example (CDN) 73 | 74 | ```html 75 | 76 |
77 | 78 |
79 | 80 | 81 | 107 | 108 | ``` 109 | ## Options 110 | 111 | - #### question (required) (string-html) 112 | The question of the poll. 113 | 114 | - #### answers (required) (array) 115 | An array of the answers of the poll. 116 | 117 | **value (required) (integer)** 118 | A unique value for each answer 119 | 120 | **text (required) (string-html)** 121 | Answer's text 122 | 123 | **votes (required) (integer)** 124 | Answer's votes 125 | 126 | **selected (required when multiple is true) (boolean)** 127 | Selected state of the answer 128 | 129 | **custom_class (optional) (string)** 130 | Custom css class for the answer element 131 | 132 | 133 | - #### showResults (optional) (boolean) (default: false) 134 | Set this to true to skip the voting and show the results of the poll 135 | 136 | - #### finalResults (optional) (boolean) (default: false) 137 | Set this to true to skip the voting and show the results of the poll. Winner will be highlighted 138 | 139 | - #### multiple (optional) (boolean) (default: false) 140 | Set this to true for multiple voting 141 | 142 | - #### submitButtonText (optional) (string) (default: Submit) 143 | Text of the multiple voting submit button 144 | 145 | - #### customId (optional) (number) 146 | A custom id that will be returned on the addvote method 147 | 148 | ## Methods 149 | 150 | - #### addvote (returns object) 151 | Callback on add vote. It returns an object that includes: answer's value, answer's votes, total poll's votes and the custom id 152 | 153 | ## License 154 | MIT license 155 | -------------------------------------------------------------------------------- /dist/vue-poll.min.js: -------------------------------------------------------------------------------- 1 | window.VuePoll=function(t){function e(s){if(n[s])return n[s].exports;var o=n[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function s(t){return t&&t.__esModule?t:{"default":t}}var o=n(1),r=s(o);t.exports={install:function(t,e){t.component("vue-poll",r["default"])}}},function(t,e,n){n(2);var s=n(7)(n(8),n(9),null,null);t.exports=s.exports},function(t,e,n){var s=n(3);"string"==typeof s&&(s=[[t.id,s,""]]),s.locals&&(t.exports=s.locals);n(5)("23f7b8d6",s,!0)},function(t,e,n){e=t.exports=n(4)(!1),e.push([t.id,'.vue-poll{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50}.vue-poll .noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vue-poll .qst{font-weight:400}.vue-poll .ans-cnt{margin:20px 0}.vue-poll .ans-cnt .ans{position:relative;margin-top:10px}.vue-poll .ans-cnt .ans:first-child{margin-top:0}.vue-poll .ans-cnt .ans-no-vote{text-align:center;border:2px solid #77c7f7;box-sizing:border-box;border-radius:5px;cursor:pointer;padding:5px 0;transition:background .2s ease-in-out;-webkit-transition:background .2s ease-in-out;-moz-transition:background .2s ease-in-out}.vue-poll .ans-cnt .ans-no-vote .txt{color:#77c7f7;transition:color .2s ease-in-out;-webkit-transition:color .2s ease-in-out;-moz-transition:color .2s ease-in-out}.vue-poll .ans-cnt .ans-no-vote.active{background:#77c7f7}.vue-poll .ans-cnt .ans-no-vote.active .txt{color:#fff}.vue-poll .ans-cnt .ans-voted{padding:5px 0}.vue-poll .ans-cnt .ans-voted .percent,.vue-poll .ans-cnt .ans-voted .txt{position:relative;z-index:1}.vue-poll .ans-cnt .ans-voted .percent{font-weight:700;min-width:51px;display:inline-block;margin:0 10px}.vue-poll .ans-cnt .ans-voted.selected .txt:after{content:"\\2714";margin-left:10px}.vue-poll .ans-cnt .ans .bg{position:absolute;width:0;top:0;left:0;bottom:0;z-index:0;background-color:#e1e8ed;border-top-left-radius:5px;border-bottom-left-radius:5px;transition:all .3s cubic-bezier(.5,1.2,.5,1.2);-webkit-transition:all .3s cubic-bezier(.5,1.2,.5,1.2);-moz-transition:all .3s cubic-bezier(.5,1.2,.5,1.2)}.vue-poll .ans-cnt .ans .bg.selected{background-color:#77c7f7}.vue-poll .votes{font-size:14px;color:#8899a6}.vue-poll .submit{display:block;text-align:center;margin:0 auto;max-width:80px;text-decoration:none;background-color:#41b882;color:#fff;padding:10px 25px;border-radius:5px}',""])},function(t,e){function n(t,e){var n=t[1]||"",o=t[3];if(!o)return n;if(e&&"function"==typeof btoa){var r=s(o),a=o.sources.map(function(t){return"/*# sourceURL="+o.sourceRoot+t+" */"});return[n].concat(a).concat([r]).join("\n")}return[n].join("\n")}function s(t){var e=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+e;return"/*# "+n+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var s=n(e,t);return e[2]?"@media "+e[2]+"{"+s+"}":s}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var s={},o=0;on.parts.length&&(s.parts.length=n.parts.length)}else{for(var a=[],o=0;o0&&(n+=parseInt(t.votes))}),n},totalVotesFormatted:function(){return this.totalVotes.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},mostVotes:function(){var t=0;return this.answers.filter(function(e){!isNaN(e.votes)&&e.votes>0&&e.votes>=t&&(t=e.votes)}),t},calcAnswers:function(){var t=this;return 0===this.totalVotes?this.answers.map(function(t){return t.percent="0%",t}):this.answers.filter(function(e){return!isNaN(e.votes)&&e.votes>0?e.percent=Math.round(parseInt(e.votes)/t.totalVotes*100)+"%":e.percent="0%",e})},totalSelections:function(){return this.calcAnswers.filter(function(t){return t.selected}).length}},methods:{handleMultiple:function(){var t=[];this.calcAnswers.filter(function(e){e.selected&&(e.votes++,t.push({value:e.value,votes:e.votes}))}),this.visibleResults=!0;var e={arSelected:t,totalVotes:this.totalVotes};this.customId&&(e.customId=this.customId),this.$emit("addvote",e)},handleVote:function(t){if(this.multiple)return void 0===t.selected&&console.log("Please add 'selected: false' on the answer object"),void(t.selected=!t.selected);t.votes++,t.selected=!0,this.visibleResults=!0;var e={value:t.value,votes:t.votes,totalVotes:this.totalVotes};this.customId&&(e.customId=this.customId),this.$emit("addvote",e)}}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vue-poll"},[n("h3",{staticClass:"qst",domProps:{innerHTML:t._s(t.question)}}),t._v(" "),n("div",{staticClass:"ans-cnt"},t._l(t.calcAnswers,function(e,s){var o;return n("div",{key:s,"class":(o={ans:!0},o[e.custom_class]=e.custom_class,o)},[t.finalResults?[n("div",{staticClass:"ans-voted final"},[e.percent?n("span",{staticClass:"percent",domProps:{textContent:t._s(e.percent)}}):t._e(),t._v(" "),n("span",{staticClass:"txt",domProps:{innerHTML:t._s(e.text)}})]),t._v(" "),n("span",{"class":{bg:!0,selected:t.mostVotes==e.votes},style:{width:e.percent}})]:[t.visibleResults?n("div",{"class":{"ans-voted":!0,selected:e.selected}},[e.percent?n("span",{staticClass:"percent",domProps:{textContent:t._s(e.percent)}}):t._e(),t._v(" "),n("span",{staticClass:"txt",domProps:{innerHTML:t._s(e.text)}})]):n("div",{"class":{"ans-no-vote noselect":!0,active:e.selected},on:{click:function(n){return n.preventDefault(),t.handleVote(e)}}},[n("span",{staticClass:"txt",domProps:{innerHTML:t._s(e.text)}})]),t._v(" "),n("span",{staticClass:"bg",style:{width:t.visibleResults?e.percent:"0%"}})]],2)}),0),t._v(" "),t.showTotalVotes&&(t.visibleResults||t.finalResults)?n("div",{staticClass:"votes",domProps:{textContent:t._s(t.totalVotesFormatted+" votes")}}):t._e(),t._v(" "),!t.finalResults&&!t.visibleResults&&t.multiple&&t.totalSelections>0?[n("a",{staticClass:"submit",attrs:{href:"#"},domProps:{textContent:t._s(t.submitButtonText)},on:{click:function(e){return e.preventDefault(),t.handleMultiple.apply(null,arguments)}}})]:t._e()],2)},staticRenderFns:[]}}]); -------------------------------------------------------------------------------- /dist/vue-poll.js: -------------------------------------------------------------------------------- 1 | !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("vue-poll",[],e):"object"==typeof exports?exports["vue-poll"]=e():t["vue-poll"]=e()}(this,function(){return function(t){function e(s){if(n[s])return n[s].exports;var o=n[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){n(1);var s=n(6)(n(7),n(8),null,null);t.exports=s.exports},function(t,e,n){var s=n(2);"string"==typeof s&&(s=[[t.id,s,""]]),s.locals&&(t.exports=s.locals);n(4)("23f7b8d6",s,!0)},function(t,e,n){e=t.exports=n(3)(!1),e.push([t.id,'.vue-poll{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50}.vue-poll .noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vue-poll .qst{font-weight:400}.vue-poll .ans-cnt{margin:20px 0}.vue-poll .ans-cnt .ans{position:relative;margin-top:10px}.vue-poll .ans-cnt .ans:first-child{margin-top:0}.vue-poll .ans-cnt .ans-no-vote{text-align:center;border:2px solid #77c7f7;box-sizing:border-box;border-radius:5px;cursor:pointer;padding:5px 0;transition:background .2s ease-in-out;-webkit-transition:background .2s ease-in-out;-moz-transition:background .2s ease-in-out}.vue-poll .ans-cnt .ans-no-vote .txt{color:#77c7f7;transition:color .2s ease-in-out;-webkit-transition:color .2s ease-in-out;-moz-transition:color .2s ease-in-out}.vue-poll .ans-cnt .ans-no-vote.active{background:#77c7f7}.vue-poll .ans-cnt .ans-no-vote.active .txt{color:#fff}.vue-poll .ans-cnt .ans-voted{padding:5px 0}.vue-poll .ans-cnt .ans-voted .percent,.vue-poll .ans-cnt .ans-voted .txt{position:relative;z-index:1}.vue-poll .ans-cnt .ans-voted .percent{font-weight:700;min-width:51px;display:inline-block;margin:0 10px}.vue-poll .ans-cnt .ans-voted.selected .txt:after{content:"\\2714";margin-left:10px}.vue-poll .ans-cnt .ans .bg{position:absolute;width:0;top:0;left:0;bottom:0;z-index:0;background-color:#e1e8ed;border-top-left-radius:5px;border-bottom-left-radius:5px;transition:all .3s cubic-bezier(.5,1.2,.5,1.2);-webkit-transition:all .3s cubic-bezier(.5,1.2,.5,1.2);-moz-transition:all .3s cubic-bezier(.5,1.2,.5,1.2)}.vue-poll .ans-cnt .ans .bg.selected{background-color:#77c7f7}.vue-poll .votes{font-size:14px;color:#8899a6}.vue-poll .submit{display:block;text-align:center;margin:0 auto;max-width:80px;text-decoration:none;background-color:#41b882;color:#fff;padding:10px 25px;border-radius:5px}',""])},function(t,e){function n(t,e){var n=t[1]||"",o=t[3];if(!o)return n;if(e&&"function"==typeof btoa){var r=s(o),a=o.sources.map(function(t){return"/*# sourceURL="+o.sourceRoot+t+" */"});return[n].concat(a).concat([r]).join("\n")}return[n].join("\n")}function s(t){var e=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+e;return"/*# "+n+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var s=n(e,t);return e[2]?"@media "+e[2]+"{"+s+"}":s}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var s={},o=0;on.parts.length&&(s.parts.length=n.parts.length)}else{for(var a=[],o=0;o0&&(n+=parseInt(t.votes))}),n},totalVotesFormatted:function(){return this.totalVotes.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},mostVotes:function(){var t=0;return this.answers.filter(function(e){!isNaN(e.votes)&&e.votes>0&&e.votes>=t&&(t=e.votes)}),t},calcAnswers:function(){var t=this;return 0===this.totalVotes?this.answers.map(function(t){return t.percent="0%",t}):this.answers.filter(function(e){return!isNaN(e.votes)&&e.votes>0?e.percent=Math.round(parseInt(e.votes)/t.totalVotes*100)+"%":e.percent="0%",e})},totalSelections:function(){return this.calcAnswers.filter(function(t){return t.selected}).length}},methods:{handleMultiple:function(){var t=[];this.calcAnswers.filter(function(e){e.selected&&(e.votes++,t.push({value:e.value,votes:e.votes}))}),this.visibleResults=!0;var e={arSelected:t,totalVotes:this.totalVotes};this.customId&&(e.customId=this.customId),this.$emit("addvote",e)},handleVote:function(t){if(this.multiple)return void 0===t.selected&&console.log("Please add 'selected: false' on the answer object"),void(t.selected=!t.selected);t.votes++,t.selected=!0,this.visibleResults=!0;var e={value:t.value,votes:t.votes,totalVotes:this.totalVotes};this.customId&&(e.customId=this.customId),this.$emit("addvote",e)}}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vue-poll"},[n("h3",{staticClass:"qst",domProps:{innerHTML:t._s(t.question)}}),t._v(" "),n("div",{staticClass:"ans-cnt"},t._l(t.calcAnswers,function(e,s){var o;return n("div",{key:s,"class":(o={ans:!0},o[e.custom_class]=e.custom_class,o)},[t.finalResults?[n("div",{staticClass:"ans-voted final"},[e.percent?n("span",{staticClass:"percent",domProps:{textContent:t._s(e.percent)}}):t._e(),t._v(" "),n("span",{staticClass:"txt",domProps:{innerHTML:t._s(e.text)}})]),t._v(" "),n("span",{"class":{bg:!0,selected:t.mostVotes==e.votes},style:{width:e.percent}})]:[t.visibleResults?n("div",{"class":{"ans-voted":!0,selected:e.selected}},[e.percent?n("span",{staticClass:"percent",domProps:{textContent:t._s(e.percent)}}):t._e(),t._v(" "),n("span",{staticClass:"txt",domProps:{innerHTML:t._s(e.text)}})]):n("div",{"class":{"ans-no-vote noselect":!0,active:e.selected},on:{click:function(n){return n.preventDefault(),t.handleVote(e)}}},[n("span",{staticClass:"txt",domProps:{innerHTML:t._s(e.text)}})]),t._v(" "),n("span",{staticClass:"bg",style:{width:t.visibleResults?e.percent:"0%"}})]],2)}),0),t._v(" "),t.showTotalVotes&&(t.visibleResults||t.finalResults)?n("div",{staticClass:"votes",domProps:{textContent:t._s(t.totalVotesFormatted+" votes")}}):t._e(),t._v(" "),!t.finalResults&&!t.visibleResults&&t.multiple&&t.totalSelections>0?[n("a",{staticClass:"submit",attrs:{href:"#"},domProps:{textContent:t._s(t.submitButtonText)},on:{click:function(e){return e.preventDefault(),t.handleMultiple.apply(null,arguments)}}})]:t._e()],2)},staticRenderFns:[]}}])}); -------------------------------------------------------------------------------- /src/Poll.vue: -------------------------------------------------------------------------------- 1 | 37 | 38 | 170 | 171 | --------------------------------------------------------------------------------