Click here to Skip to main content
15,886,629 members
Articles / Web Development / ASP.NET

Implement CRUD Operations using RESTful WCF Service and JavaScript

Rate me:
Please Sign up or sign in to vote.
4.87/5 (24 votes)
15 Sep 2011CPOL5 min read 136K   11.4K   137  
Easy way to consume WCF REST services through JQuery and perform CRUD (Create Retrieve Update Delete) operations
/*
 * jQuery UI Effects Shake @VERSION
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Effects/Shake
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function( $, undefined ) {

$.effects.effect.shake = function( o ) {

	return this.queue( function() {

		var el = $( this ),
			props = [ "position", "top", "bottom", "left", "right" ],
			mode = $.effects.setMode( el, o.mode || "effect" ),
			direction = o.direction || "left",
			distance = o.distance || 20,
			times = o.times || 3,
			anims = times * 2 + 1,
			speed = o.duration,
			ref = (direction == "up" || direction == "down") ? "top" : "left",
			motion = (direction == "up" || direction == "left") ? "pos" : "neg",
			animation = {},
			animation1 = {},
			animation2 = {},
			i,

			// we will need to re-assemble the queue to stack our animations in place
			queue = el.queue(),
			queuelen = queue.length;
			

		$.effects.save( el, props );
		el.show();
		$.effects.createWrapper( el );

		// Animation
		animation[ ref ] = ( motion == "pos" ? "-=" : "+=" ) + distance;
		animation1[ ref ] = ( motion == "pos" ? "+=" : "-=" ) + distance * 2;
		animation2[ ref ] = ( motion == "pos" ? "-=" : "+=" ) + distance * 2;

		// Animate
		el.animate( animation, speed, o.easing );

		// Shakes
		for ( i = 1; i < times; i++ ) {
			el.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing );
		};
		el
			.animate( animation1, speed, o.easing )
			.animate( animation, speed / 2, o.easing )
			.queue( function( next ) {
				if ( mode === "hide" ) {
					el.hide();
				}
				$.effects.restore( el, props );
				$.effects.removeWrapper( el );
				$.isFunction( o.complete ) && o.complete.apply( this, arguments );
				next();
			});

		// inject all the animations we just queued to be first in line (after "inprogress")
		if ( queuelen > 1) {
			queue.splice.apply( queue,
				[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
		}
		el.dequeue();
	});

};

})(jQuery);

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Chief Technology Officer
Bangladesh Bangladesh
I am a Software Engineer and Microsoft .NET technology enthusiast. Professionally I worked on several business domains and on diverse platforms. I love to learn and share new .net technology and my experience I gather in my engineering career. You can find me from here

Personal Site
Personal Blog
FB MS enthusiasts group
About Me

Comments and Discussions