1
1
//
2
2
// jQuery Slug Generation Plugin by Perry Trinier ([email protected] )
3
3
// Modified November 2015 by Micheal Mand for AsgardCMS ([email protected] )
4
+ // Modified November 2015 by Simon Funk for AsgardCMS ([email protected] )
4
5
// Licensed under the GPL: http://www.gnu.org/copyleft/gpl.html
5
6
6
7
jQuery . fn . slug = function ( options ) {
7
8
var settings = {
8
9
slug : 'slug' , // Class used for slug destination input and span. The span is created on $(document).ready()
9
- hide : false , // Boolean - By default the slug input field is shown, set to false to hide the input field and show the span.
10
10
override : false
11
11
} ;
12
12
13
13
$this = jQuery ( this ) ;
14
14
15
+ var slugContainer = $this . closest ( '.box-body' ) . find ( '[data-slug="target"]' ) ;
16
+
15
17
if ( options ) {
16
18
jQuery . extend ( settings , options ) ;
17
19
} else {
@@ -20,23 +22,13 @@ jQuery.fn.slug = function (options) {
20
22
}
21
23
}
22
24
23
- jQuery ( document ) . ready ( function ( ) {
24
- if ( settings . hide ) {
25
- $this . closest ( 'input.' + settings . slug ) . after ( "<span class=" + settings . slug + "></span>" ) ;
26
- $this . closest ( 'input.' + settings . slug ) . hide ( ) ;
27
- }
28
- } ) ;
29
-
30
25
makeSlug = function ( event ) {
31
26
var $theUnSlug = jQuery ( event . target ) ,
32
- $slugParent = $theUnSlug . closest ( '.form-group' ) . next ( ) ,
33
27
slugContent = $theUnSlug . val ( ) ,
34
28
slugContentHyphens = slugContent . replace ( / \s + / g, '-' ) ,
35
29
slugNoAccents = normalize ( slugContentHyphens ) ,
36
30
finishedSlug = slugNoAccents . replace ( / [ ^ a - z A - Z 0 - 9 \- ] / g, '' ) ;
37
-
38
- $slugParent . find ( 'input.' + settings . slug ) . val ( finishedSlug . toLowerCase ( ) ) ;
39
- $slugParent . find ( 'span.' + settings . slug ) . text ( finishedSlug . toLowerCase ( ) ) ;
31
+ slugContainer . val ( finishedSlug . toLowerCase ( ) ) ;
40
32
} ;
41
33
42
34
normalize = function ( string ) {
0 commit comments