TR4HIM / v-offline

:electric_plug: Simple VueJS component to detect offline & online changes.

Home Page:https://vinayakkulkarni.github.io/offline/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

V-Offline ⚑ npm version gzip size Build Status npm downloads

  • Detect offline & online events for your vue app.

  • This is on GitHub so let me know if I've b0rked it somewhere, give me a star ⭐ if you like it 🍻

  • Demo here -> πŸ’― Webpackbin Link

Requirements

βœ… Install πŸ‘Œ

npm install v-offline
# or
yarn add v-offline

CDN: UNPKG | jsDelivr (available as window.VOffline)

βœ… Usage πŸŽ“

Register the component globally:

Vue.component('VOffline', require('v-offline'));

Or use locally

import VOffline from 'v-offline';

βœ… Example 1 πŸ€

HTML

<v-offline
  online-class="online"
  offline-class="offline"
  @detected-condition="amIOnline">
  <template v-slot:[onlineSlot] :slot-name="onlineSlot">
    ( Online: {{ onLine }} )
  </template>
  <template v-slot:[offlineSlot] :slot-name="offlineSlot">
    ( Online: {{ onLine }} )
  </template>
</v-offline>

JS

import VOffline from 'v-offline';

Vue.component('example-component', {
  components: {
    VOffline
  },
  data: () => ({
    onLine: null,
    onlineSlot: 'online',
    offlineSlot: 'offline',
  }),
  methods: {
    amIOnline(e) {
      this.onLine = e;
    },
  },
});

CSS

.offline {
  background-color: #fc9842;
  background-image: linear-gradient(315deg, #fc9842 0%, #fe5f75 74%);
}
.online {
  background-color: #00b712;
  background-image: linear-gradient(315deg, #00b712 0%, #5aff15 74%);
}

βœ… πŸ“– Props

Name Type Required? Default Description
slot-name String No 'online' The name of the slot, refer to the v-slot docs
online-class String No '' Styling the div which you want to give if you're online.
offline-class String No '' Styling the div which you want to give if you're offline.
ping-url String No https://google.com Pinging any url to double check if you're online or not.

βœ… πŸ‘‚ Events

Name Description
detected-condition Emits an Boolean value which can be used for multiple purposes in your app.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

v-offline Β© Vinayak, Released under the MIT License.
Authored and maintained by Vinayak Kulkarni with help from contributors (list).

GitHub @vinayakkulkarni Β· Twitter @_vinayak_k

License

FOSSA Status

About

:electric_plug: Simple VueJS component to detect offline & online changes.

https://vinayakkulkarni.github.io/offline/

License:MIT License


Languages

Language:JavaScript 68.0%Language:Vue 32.0%