1.0.0 • Published 4 years ago

vue-weblineindia-url v1.0.0

Weekly downloads
6
License
MLT
Repository
github
Last release
4 years ago

Vue-url-component

A Vue Url component is provide to add url (like instagramUrl,facebookUrl,webUrl, ..) with validation. The Url value is automatically validated on blur event. You can also disable url field using disable props.

Table of contents

Browser Support

ChromeFirefoxSafariEdgeIE
83.0 ✔77.0 ✔13.1.1 ✔83.0 ✔11.9 ✔

Demo

npm.io

Getting started

Install the npm package:

npm install vue-weblineindia-url
#OR
yarn add vue-weblineindia-url

Usage

Use the <vue-weblineindia-url> component:

<template>
  <div>
     <URL
      id="facebookUrl"
      name="facebookUrl"
      social-type="FACEBOOK"
      :tabindex="1"
      :placeholder="'Facebook Url'"
      :value="urlValue"
      :hide="false"
      :disabled="false"
      @focus="onFocus"
      @onBlur="onBlur"
      @onChange="onChangeUrl"
      :validation-regx="facebookUrlRegex"
    />
    <p
      v-show="invalidFacebookUrlError"
      :class="{
        control: true,
        'error-msg': invalidFacebookUrlError
      }"
    >
      <span>The url entered is not valid and must be changed</span>
    </p>
  </div>
</template>

<script>
import URL from "vue-weblineindia-url";
export default {
  components: { URL },
  data: function() {
    return {
      urlValue: "",
      invalidFacebookUrlError: false,
      facebookUrlRegex: /(?:(?:http|https):\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[?\w\-]*\/)?(?:profile.php\?id=(?=\d.*))?([\w\-]*)?/    };
  },

  methods: {
   /** on focus url field */
    onFocus(event) {
      event.target.placeholder = "";
    },
    /** on blur url field */
    onBlur(event, placeholder, errorObj) {
      event.target.placeholder = placeholder;
      const id = event.target.id;
      this.showUrlErrorMsg(id, errorObj);
    },
    /**
     * To show invalid url error msg
     */
    showUrlErrorMsg(id, errorObject) {
      if (errorObject.items.length > 0) {
        errorObject.items.map(err => {
          const urlId = err.field;
          switch (urlId) {
            case "facebookUrl":
              this.invalidFacebookUrlError = true;
              break;
          }
        });
      }
    },
    /** on change value on url**/
    onChangeUrl(value, id, index, error) {
      this.invalidFacebookUrlError = false;
      this.urlValue = value;
    }
  }
};
</script>

Available Props

PropTypedefaultDescription
valueStringurl value
socialTypeStringFACEBOOKurl type
validationRegxRegExpregex for url
placeholderStringfacebookUrlurl placeholder
disabledBooleanfalsedisable url field
nameStringfacebookUrlname for url field
tabindexNumber1url tabIndex
idStringfacebookUrlname for url field
hideBooleanfalsefor hide url field

Methods

NameDescription
focusGets triggered when the url input field receives focus.
onBlurGets triggered when the url input field loses focus.
onChangeGets triggered every time url got changed.

Want to Contribute?

  • Created something awesome, made this code better, added some functionality, or whatever (this is the hardest part).
  • Fork it.
  • Create new branch to contribute your changes.
  • Commit all your changes to your branch.
  • Submit a pull request.

Need Help?

We also provide a free, basic support for all users who want to use this VueJS URL Component in their software project. In case you want to customize this Url component to suit your development needs, then feel free to contact our VueJS developers.


Collection of Components

We have built many other components and free resources for software development in various programming languages. Kindly click here to view our Free Resources for Software Development


Changelog

Detailed changes for each release are documented in CHANGELOG.md.

License

MIT

Keywords

vue-weblineindia-url,url,vue components,vuejs,vuejs component