UNPKG

jquery-slugger

Version:

A jQuery plugin to auto generate a url friendly slug

1 lines 1.33 kB
!function(e,t){"use strict";var o="slug-separator",n={init:function(t,n){var r=this;return r.elem=n,r.$elem=e(n),r.options=e.extend({},e.fn.slugger.options,t),r.sluggerElement=void 0==r.$elem.data("slugger")?r.elem:r.$elem.data("slugger"),r.options.target=""==r.$elem.data("slugger")||void 0==r.$elem.data("slugger")?r.options.target:r.$elem.data("slugger"),r.options.separator=void 0==r.$elem.data(o)?r.options.separator:r.$elem.data(o),r.$elem.on(r.options.bindToEvent,function(t){var o=e(this).val();o=r.convert(o,r),e(r.options.target).val(o),r.options.debug&&r.debug(o)}),!0},convert:function(e,t){return t.options.beforeConvert(t),t.options.convertToLowerCase&&(e=e.toLowerCase())," "!==t.options.separator&&(e=e.replace(/ /g,this.options.separator)),t.options.isUrlFriendly||(e=e.replace(/[^\w-]+/g,"")),t.options.afterConvert(t),e},destroy:function(){this.destroy(),this.element.unbind(this.eventNamespace),this.bindings.unbind(this.eventNamespace)},debug:function(e){console.log(e)}};e.fn.slugger=function(e,t){var o=Object.create(n);return this.each(function(){o.init(e,this)})},e.fn.slugger.options={bindToEvent:"keypress keyup",target:"[name=slug]",separator:"-",convertToLowerCase:!0,isUrlFriendly:!0,beforeConvert:function(e){},afterConvert:function(e){},debug:!1},jQuery("[data-slugger]").slugger()}(jQuery,document);