Initial OpenECOMP policy/engine commit
[policy/engine.git] / ecomp-sdk-app / src / main / webapp / app / policyApp / libs / bower_components / jquery / src / wrap.js
1 define([
2         "./core",
3         "./core/init",
4         "./manipulation", // clone
5         "./traversing" // parent, contents
6 ], function( jQuery ) {
7
8 jQuery.fn.extend({
9         wrapAll: function( html ) {
10                 var wrap;
11
12                 if ( jQuery.isFunction( html ) ) {
13                         return this.each(function( i ) {
14                                 jQuery( this ).wrapAll( html.call(this, i) );
15                         });
16                 }
17
18                 if ( this[ 0 ] ) {
19
20                         // The elements to wrap the target around
21                         wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
22
23                         if ( this[ 0 ].parentNode ) {
24                                 wrap.insertBefore( this[ 0 ] );
25                         }
26
27                         wrap.map(function() {
28                                 var elem = this;
29
30                                 while ( elem.firstElementChild ) {
31                                         elem = elem.firstElementChild;
32                                 }
33
34                                 return elem;
35                         }).append( this );
36                 }
37
38                 return this;
39         },
40
41         wrapInner: function( html ) {
42                 if ( jQuery.isFunction( html ) ) {
43                         return this.each(function( i ) {
44                                 jQuery( this ).wrapInner( html.call(this, i) );
45                         });
46                 }
47
48                 return this.each(function() {
49                         var self = jQuery( this ),
50                                 contents = self.contents();
51
52                         if ( contents.length ) {
53                                 contents.wrapAll( html );
54
55                         } else {
56                                 self.append( html );
57                         }
58                 });
59         },
60
61         wrap: function( html ) {
62                 var isFunction = jQuery.isFunction( html );
63
64                 return this.each(function( i ) {
65                         jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
66                 });
67         },
68
69         unwrap: function() {
70                 return this.parent().each(function() {
71                         if ( !jQuery.nodeName( this, "body" ) ) {
72                                 jQuery( this ).replaceWith( this.childNodes );
73                         }
74                 }).end();
75         }
76 });
77
78 return jQuery;
79 });