1.1.0 • Published 12 months ago

vue-hotspot-ets v1.1.0

Weekly downloads
33
License
MIT
Repository
github
Last release
12 months ago

English | 简体中文

Introduction

Vue-Hotspot-Ets is an image hotspot component for Vue.js. Extended from Vue-Hotspot

Installation

npm (Recommended)

$ npm install vue-hotspot-ets --save

yarn

$ yarn add vue-hotspot-ets

Usage

ES Modules with npm (Recommended)

import Vue from 'vue'
import VueHotspotEts from 'vue-hotspot-ets' // refers to components/VueHotspot.vue in webpack

Using the component

<template>
  <v-hotspot
    :init-options="hotspotConfig"
    @add-hotspot="addHotspot"
    @save-data="saveData"
    @hotspot-click="hotspotClick"
    @after-delete="afterDelete"
    @delete-hotspot="hotspotDelete"
    @edit-hotspot="hotspotEdit"/>
</template>

<script>
import Vue from 'vue'
import VueHotspotEts from 'vue-hotspot-ets'
export default {
  components: {
    'v-hotspot': VueHotspotEts
  },
  data () {
    return {
      hotspotConfig: {
        image: 'your-image-url.png',
        editable: true,
        interactivity: 'hover',
        data: [
          { Message: 'A prepopulated hotspot', Title: 'Vue Hotspot 1', x: 33.3, y: 58.33 },
          { Message: 'Another prepopulated hotspot', Title: 'Vue Hotspot 2', x: 53.3, y: 78.3 }
        ],
        hotspotColor: '#85ce61',
        messageBoxColor: '#409eff',
        textColor: '#333',
        opacity: 0.9
      }
    }
  },
  methods: {
    changeEditable (conf) {
      if (!conf) return
      conf.editable = !conf.editable
    },
    saveData (data) {
      // A list of hotspots
      console.log(data)
    },
    afterDelete () {
      // Do something after delete
      console.log('Do something after delete ...')
    },
    hotspotClick () {
      console.log('Do something after click ...')
    },
    hotspotDelete (hotspot) {
      console.log(hotspot)
    },
    hotspotEdit (hotspot) {
      console.log(hotspot)
    },
    addHotspot (hotspot) {
      console.log('Added hotspot', hotspot)
    }
  }
}
</script>

Live Demo

You can see more examples here.

Project Structure

Config Options

optionsdescriptionrequireddefault
imageDefault image placeholdertruean empty image with text 'Oops! image not found...'
dataObject to hold the hotspot data points.Data structure: [ {Message: 'String', Title: 'String, x: Float, y: Float'} ]false[]
editableSpecify editable in which the plugin is to be used.true: Allows to create hotspots from UI.false: Display hotspots from data objectfalsetrue
interactivityEvent on which the hotspot data point will show up.allowed values: click, hover, both,nonefalsehover
hotspotColorbackground color for hotspot dotsfalse'rgb(66, 184, 131)'
messageBoxColorbackground color for hotspot message boxesfalse'rgb(255, 255, 255)'
textColorbackground color for hotspot textfalse'rgb(53, 73, 94)'
opacityopacity for hotspotsfalse0.8
overlayTexttext for overlay in edit modefalse'Please Click The Image To Add Hotspots.'
isDeletableIf hotspot deletablefalsefalse
needDescriptionAllows to remove description from hotspotfalsefalse
displayControlBoxAllows to display/remove control boxfalsetrue
hotspotEditableAllow to edit hotspot on clickfalsetrue

Local development

$ npm i
$ npm run serve

Open http://localhost:8080/ to see the demo.

1.1.0

12 months ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.2

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago