Files
ChocolateyPackages/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/jQuery/Snippets/plugin (method extras).tmSnippet
2013-04-04 08:54:25 -04:00

130 lines
3.0 KiB
Plaintext

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>// jQuery ${1:pluginName} Plugin
(function( \$ ) {
var settings = {
${30:}
};
var methods = {
init: function( options ) {
this.each(function() {
var data, dataId, opts,
${10:\$this} = $(this);
$10.$1('options', options);
data = $10.data('$1') || {};
opts = data.options;
// If the plugin hasn't been initialized yet
if ( !data.$1 ) {
dataId = +new Date;
data = {
cluetip: $1,
options: opts,
id: dataId
};
$10.data('$1', data);
${14:
// create element and append to body
var $1 = \$('&lt;div /&gt;', {
'class': '$1'
\}).appendTo( 'body' );
$1.data( '$1', {target: $10, id: dataId\} );
}
} // !data.$1
$0
});
return this;
},
destroy: function( ) {
this.each(function() {
var $10 = \$(this),
data = $10.data( '$1' );
// Remove created elements, unbind namespaced events, and remove data
\$(document).unbind( '.$1' );
data.$1.remove();
$10.unbind( '.$1' )
.removeData( '$1' );
});
return this;
},
options: function( options ) {
this.each(function() {
var $10 = \$(this),
// don't use our getData() function here
// because we want an object regardless
data = $10.data( '$1' ) || {},
opts = data.options || {};
// deep extend (merge) default settings, per-call options, and options set with:
// html10 data-$1 options JSON and \$('selector').$1( 'options', {} );
opts = \$.extend( true, {}, \$.fn.cluetip.defaults, opts, options || {} );
data.options = opts;
\$.data( this, '$1', data );
});
return this;
}${20/(.+)/(?1:,
:)/}${20:someOtherMethod}${20/(.+)/(?1:\: function\(\) {
}:)/}
};
var protoSlice = Array.prototype.slice;
\$.fn.$1 = function( method ) {
if ( methods[method] ) {
return methods[method].apply( this, protoSlice.call( arguments, 1 ) );
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments );
} else {
\$.error( 'Method ' + method + ' does not exist on jQuery.fn.$1' );
}
};
\$.extend(\$.fn.$1, {
defaults: settings
});
function getData(el) {
var $1, opts,
$10 = \$(el),
data = $10.data( '$1' ) || {};
if (!data.$1) { return false; }
return data;
}
})( jQuery );</string>
<key>name</key>
<string>plugin (method extras)</string>
<key>scope</key>
<string>source.js</string>
<key>tabTrigger</key>
<string>plugin</string>
<key>uuid</key>
<string>39192EFA-D490-4E52-B7F8-D68584397A41</string>
</dict>
</plist>