Socket
Socket
Sign inDemoInstall

vue2-circle-progress

Package Overview
Dependencies
13
Maintainers
2
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    vue2-circle-progress

A Vue.js component to draw animated circular progress bars


Version published
Weekly downloads
2.6K
decreased by-18.65%
Maintainers
2
Install size
6.27 MB
Created
Weekly downloads
 

Readme

Source

vue-circle-progress

A Vue.js component to draw animated circular progress bars

Draw animated progress circle like below,


Install

// For Vue.js 2.0+
npm install vue2-circle-progress

Usage

  1. Import the module
  2. Register it as a component as you would any other Vue component
  3. Use it within your template

Example

<template>
  <div id="app">
    <p>
      A Vue.js component to draw animated circular progress bars!
    </p>
      <vue-circle
        :progress="50"
        :size="100"
        :reverse="false"
        line-cap="round"
        :fill="fill"
        empty-fill="rgba(0, 0, 0, .1)"
        :animation-start-value="0.0"
        :start-angle="0"
        insert-mode="append"
        :thickness="5"
        :show-percent="true"
        @vue-circle-progress="progress"
        @vue-circle-end="progress_end">
          <p>Slot!</p>
      </vue-circle>
  </div>
</template>

<script>
  import VueCircle from 'vue2-circle-progress'
  export default {
    components: {
      VueCircle
    },
    data(){
      return{
        fill : { gradient: ["red", "green", "blue"] },
      }
    },
    methods:{
      progress(event,progress,stepValue){
        console.log(stepValue);
      },
      progress_end(event){
        console.log("Circle progress end");
      }
    }
  }
</script>

Props

Follwing props are used while initialization

Note : Only progress is a required prop. Others are optional

Prop NameTypeDescription
progress (required)NumberTotal progress of circle (filled area)
sizeNumberSize of circle
Default : 200
reverseBooleanReverse animation and arc draw
Default:false
line-capStringArc line cap: "butt", "round" or "square"
Default: "butt"
fillObjectThe arc fill config. You may specify next:
- "#ff1e41"
- { color: "#ff1e41" }
- { color: 'rgba(255, 255, 255, .3)' }
- { gradient: ["red", "green", "blue"] }
- { gradient: [["red", .2], ["green", .3], ["blue", .8]] }
- { gradient: [ ... ], gradientAngle: Math.PI / 4 }
- { gradient: [ ... ], gradientDirection: [x0, y0, x1, y1] }
- { image: "http://i.imgur.com/pT0i89v.png" }
- { image: imageInstance }
- { color: "lime", image: "http://i.imgur.com/pT0i89v.png" }
Default: { gradient: ["#3aeabb", "#fdd250"] }
empty-fillStringColor of the "empty" arc. Only a color fill supported by now
Default: "rgba(0, 0, 0, .1)"
animationMixedAnimation config. See jQuery animations.
You may also set it to false
Default: { duration: 1200, easing: "circleProgressEasing" }
"circleProgressEasing" is just a ease-in-out-cubic easing
animation-start-valueNumberDefault animation starts at 0.0 and ends at specified value. Let's call this direct animation. If you want to make reversed animation then you should set animationStartValue to 1.0. Also you may specify any other value from 0.0 to 1.0
Default: 0.0
start-angleNumberInitial angle (for 0 value)
Default: -Math.PI
insert-modeStringCanvas insertion mode: append or prepend it into the parent element
Default: "prepend"
thicknessNumberWidth of the arc. By default it's automatically calculated as 1/14 of size but you may set your own number
Default: "auto"
show-percentBooleanShow loaded percentage inside circle. If inner-text property is set then percentage will not be shown.
Default : true

Events

Events emitted by the component to the parent.

Event NameDescription
vue-circle-init(event)This event is emmited after the circle is initialized
vue-circle-progress(event,progress,stepValue)This event is emitted on every progress step
vue-circle-end(event)This event is emitted after completing progress

Methods

Methods you can call on the component.

MethodDescription
updateProgress(value)It will update component progress value and animate the change. It doesn't redraw the widget.
updateFill(fill)It will update component fill color.

Using Methods

Methods can be called from your parent component by making use of the special tag "ref".

When you initialize the component add a unique ID to the component using the ref tag, like this

<vue-circle ref="myUniqueID"></vue-circle>

Then from your parent Vue instance, you can call the methods by using the following:

this.$refs.myUniqueID.updateProgress(21);
this.$refs.myUniqueID.updateFill("#ff1e41");

Development

If you feel you can make this better, you are welcome to contribute. I'd love to see your ideas.

# install dependencies
npm install

# serve example at localhost:8080
npm run dev

# build any changes made
npm run build

Thanks

This is a Vue2 component built with wrapper around this library Thanks to Rostyslav Bryzgunov.

FAQs

Last updated on 16 Mar 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc