wp/wp-includes/js/wp-lists.js
author ymh <ymh.work@gmail.com>
Tue, 09 Jun 2015 03:35:32 +0200
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 7 cf61fcea0001
permissions -rw-r--r--
upgrade wordpress + plugins
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
5e2f62d02dcd upgrade wordpress + plugins
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     1
/* global ajaxurl, wpAjax */
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
(function($) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
var fs = {add:'ajaxAdd',del:'ajaxDel',dim:'ajaxDim',process:'process',recolor:'recolor'}, wpList;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
wpList = {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
	settings: {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
		url: ajaxurl, type: 'POST',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
		response: 'ajax-response',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
		what: '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
		alt: 'alternate', altOffset: 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
		addColor: null, delColor: null, dimAddColor: null, dimDelColor: null,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
		confirm: null,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
		addBefore: null, addAfter: null,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
		delBefore: null, delAfter: null,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
		dimBefore: null, dimAfter: null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
	nonce: function(e,s) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
		var url = wpAjax.unserialize(e.attr('href'));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
		return s.nonce || url._ajax_nonce || $('#' + s.element + ' input[name="_ajax_nonce"]').val() || url._wpnonce || $('#' + s.element + ' input[name="_wpnonce"]').val() || 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
	parseData: function(e,t) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
		var d = [], wpListsData;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
		try {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
			wpListsData = $(e).attr('data-wp-lists') || '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
			wpListsData = wpListsData.match(new RegExp(t+':[\\S]+'));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
			if ( wpListsData )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
				d = wpListsData[0].split(':');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
		} catch(r) {}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
		return d;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
	pre: function(e,s,a) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
		var bg, r;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
		s = $.extend( {}, this.wpList.settings, {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
			element: null,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
			nonce: 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
			target: e.get(0)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
		}, s || {} );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
		if ( $.isFunction( s.confirm ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
			if ( 'add' != a ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
				bg = $('#' + s.element).css('backgroundColor');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
				$('#' + s.element).css('backgroundColor', '#FF9966');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
			r = s.confirm.call(this, e, s, a, bg);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
			if ( 'add' != a )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
				$('#' + s.element).css('backgroundColor', bg );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
			if ( !r )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
		return s;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
	ajaxAdd: function( e, s ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
		e = $(e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
		s = s || {};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
		var list = this, data = wpList.parseData(e,'add'), es, valid, formData, res, rres;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
		s = wpList.pre.call( list, e, s, 'add' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
		s.element = data[2] || e.attr( 'id' ) || s.element || null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
		if ( data[3] )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
			s.addColor = '#' + data[3];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
			s.addColor = s.addColor || '#FFFF33';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
		if ( !s )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
		if ( !e.is('[id="' + s.element + '-submit"]') )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
			return !wpList.add.call( list, e, s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
		if ( !s.element )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
			return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
		s.action = 'add-' + s.what;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
		s.nonce = wpList.nonce(e,s);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
		es = $('#' + s.element + ' :input').not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
		valid = wpAjax.validateForm( '#' + s.element );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
		if ( !valid )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
		s.data = $.param( $.extend( { _ajax_nonce: s.nonce, action: s.action }, wpAjax.unserialize( data[4] || '' ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
		formData = $.isFunction(es.fieldSerialize) ? es.fieldSerialize() : es.serialize();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
		if ( formData )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
			s.data += '&' + formData;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
		if ( $.isFunction(s.addBefore) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
			s = s.addBefore( s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
			if ( !s )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
				return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
		if ( !s.data.match(/_ajax_nonce=[a-f0-9]+/) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
			return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
		s.success = function(r) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
			res = wpAjax.parseAjaxResponse(r, s.response, s.element);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
			rres = r;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
			if ( !res || res.errors )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
			if ( true === res )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
				return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
			jQuery.each( res.responses, function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
				wpList.add.call( list, this.data, $.extend( {}, s, { // this.firstChild.nodevalue
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
					pos: this.position || 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
					id: this.id || 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
					oldId: this.oldId || null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
				} ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
			} );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
			list.wpList.recolor();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
			$(list).trigger( 'wpListAddEnd', [ s, list.wpList ] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
			wpList.clear.call(list,'#' + s.element);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
		s.complete = function(x, st) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
			if ( $.isFunction(s.addAfter) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
				var _s = $.extend( { xml: x, status: st, parsed: res }, s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
				s.addAfter( rres, _s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
		$.ajax( s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
	ajaxDel: function( e, s ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
		e = $(e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
		s = s || {};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
		var list = this, data = wpList.parseData(e,'delete'), element, res, rres;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
		s = wpList.pre.call( list, e, s, 'delete' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
		s.element = data[2] || s.element || null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
		if ( data[3] )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
			s.delColor = '#' + data[3];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
			s.delColor = s.delColor || '#faa';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
		if ( !s || !s.element )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
		s.action = 'delete-' + s.what;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
		s.nonce = wpList.nonce(e,s);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
		s.data = $.extend(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
			{ action: s.action, id: s.element.split('-').pop(), _ajax_nonce: s.nonce },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
			wpAjax.unserialize( data[4] || '' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
		if ( $.isFunction(s.delBefore) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
			s = s.delBefore( s, list );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
			if ( !s )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
				return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
		if ( !s.data._ajax_nonce )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
			return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
		element = $('#' + s.element);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
		if ( 'none' != s.delColor ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
			element.css( 'backgroundColor', s.delColor ).fadeOut( 350, function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
				list.wpList.recolor();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
				$(list).trigger( 'wpListDelEnd', [ s, list.wpList ] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
			list.wpList.recolor();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
			$(list).trigger( 'wpListDelEnd', [ s, list.wpList ] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
		s.success = function(r) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
			res = wpAjax.parseAjaxResponse(r, s.response, s.element);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
			rres = r;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
			if ( !res || res.errors ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
				element.stop().stop().css( 'backgroundColor', '#faa' ).show().queue( function() { list.wpList.recolor(); $(this).dequeue(); } );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
		s.complete = function(x, st) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
			if ( $.isFunction(s.delAfter) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
				element.queue( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
					var _s = $.extend( { xml: x, status: st, parsed: res }, s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
					s.delAfter( rres, _s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
				}).dequeue();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
		$.ajax( s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
	ajaxDim: function( e, s ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
		if ( $(e).parent().css('display') == 'none' ) // Prevent hidden links from being clicked by hotkeys
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
		e = $(e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
		s = s || {};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
		var list = this, data = wpList.parseData(e,'dim'), element, isClass, color, dimColor, res, rres;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
		s = wpList.pre.call( list, e, s, 'dim' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
		s.element = data[2] || s.element || null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
		s.dimClass =  data[3] || s.dimClass || null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
		if ( data[4] )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
			s.dimAddColor = '#' + data[4];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
			s.dimAddColor = s.dimAddColor || '#FFFF33';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
		if ( data[5] )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
			s.dimDelColor = '#' + data[5];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
			s.dimDelColor = s.dimDelColor || '#FF3333';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
		if ( !s || !s.element || !s.dimClass )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
			return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
		s.action = 'dim-' + s.what;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
		s.nonce = wpList.nonce(e,s);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
		s.data = $.extend(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
			{ action: s.action, id: s.element.split('-').pop(), dimClass: s.dimClass, _ajax_nonce : s.nonce },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
			wpAjax.unserialize( data[6] || '' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
		if ( $.isFunction(s.dimBefore) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
			s = s.dimBefore( s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
			if ( !s )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
				return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
		element = $('#' + s.element);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
		isClass = element.toggleClass(s.dimClass).is('.' + s.dimClass);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
		color = wpList.getColor( element );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
		element.toggleClass( s.dimClass );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
		dimColor = isClass ? s.dimAddColor : s.dimDelColor;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
		if ( 'none' != dimColor ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
			element
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
				.animate( { backgroundColor: dimColor }, 'fast' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
				.queue( function() { element.toggleClass(s.dimClass); $(this).dequeue(); } )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
				.animate( { backgroundColor: color }, { complete: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
						$(this).css( 'backgroundColor', '' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
						$(list).trigger( 'wpListDimEnd', [ s, list.wpList ] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
				});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
			$(list).trigger( 'wpListDimEnd', [ s, list.wpList ] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
		if ( !s.data._ajax_nonce )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
			return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
		s.success = function(r) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
			res = wpAjax.parseAjaxResponse(r, s.response, s.element);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
			rres = r;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
			if ( !res || res.errors ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
				element.stop().stop().css( 'backgroundColor', '#FF3333' )[isClass?'removeClass':'addClass'](s.dimClass).show().queue( function() { list.wpList.recolor(); $(this).dequeue(); } );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
		s.complete = function(x, st) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
			if ( $.isFunction(s.dimAfter) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
				element.queue( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
					var _s = $.extend( { xml: x, status: st, parsed: res }, s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
					s.dimAfter( rres, _s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
				}).dequeue();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
		$.ajax( s );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
	getColor: function( el ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
		var color = jQuery(el).css('backgroundColor');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
		return color || '#ffffff';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
	add: function( e, s ) {
5
5e2f62d02dcd upgrade wordpress + plugins
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   312
		if ( 'string' == typeof e ) {
5e2f62d02dcd upgrade wordpress + plugins
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   313
			e = $( $.trim( e ) ); // Trim leading whitespaces
5e2f62d02dcd upgrade wordpress + plugins
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   314
		} else {
5e2f62d02dcd upgrade wordpress + plugins
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   315
			e = $( e );
5e2f62d02dcd upgrade wordpress + plugins
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   316
		}
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
		var list = $(this), old = false, _s = { pos: 0, id: 0, oldId: null }, ba, ref, color;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
		if ( 'string' == typeof s )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
			s = { what: s };
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
		s = $.extend(_s, this.wpList.settings, s);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
		if ( !e.size() || !s.what )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
		if ( s.oldId )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
			old = $('#' + s.what + '-' + s.oldId);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
		if ( s.id && ( s.id != s.oldId || !old || !old.size() ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
			$('#' + s.what + '-' + s.id).remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
		if ( old && old.size() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
			old.before(e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
			old.remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
		} else if ( isNaN(s.pos) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
			ba = 'after';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
			if ( '-' == s.pos.substr(0,1) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
				s.pos = s.pos.substr(1);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
				ba = 'before';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
			ref = list.find( '#' + s.pos );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
			if ( 1 === ref.size() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
				ref[ba](e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
				list.append(e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
		} else if ( 'comment' != s.what || 0 === $('#' + s.element).length ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
			if ( s.pos < 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
				list.prepend(e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
				list.append(e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
		if ( s.alt ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
			if ( ( list.children(':visible').index( e[0] ) + s.altOffset ) % 2 ) { e.removeClass( s.alt ); }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
			else { e.addClass( s.alt ); }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
		if ( 'none' != s.addColor ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
			color = wpList.getColor( e );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
			e.css( 'backgroundColor', s.addColor ).animate( { backgroundColor: color }, { complete: function() { $(this).css( 'backgroundColor', '' ); } } );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
		list.each( function() { this.wpList.process( e ); } );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
		return e;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
	clear: function(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
		var list = this, t, tag;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
		e = $(e);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
		if ( list.wpList && e.parents( '#' + list.id ).size() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
		e.find(':input').each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
			if ( $(this).parents('.form-no-clear').size() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
				return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
			t = this.type.toLowerCase();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
			tag = this.tagName.toLowerCase();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
			if ( 'text' == t || 'password' == t || 'textarea' == tag )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
				this.value = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
			else if ( 'checkbox' == t || 'radio' == t )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
				this.checked = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
			else if ( 'select' == tag )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
				this.selectedIndex = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
	process: function(el) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
		var list = this,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
			$el = $(el || document);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
		$el.delegate( 'form[data-wp-lists^="add:' + list.id + ':"]', 'submit', function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
			return list.wpList.add(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
		$el.delegate( 'a[data-wp-lists^="add:' + list.id + ':"], input[data-wp-lists^="add:' + list.id + ':"]', 'click', function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
			return list.wpList.add(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
		$el.delegate( '[data-wp-lists^="delete:' + list.id + ':"]', 'click', function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
			return list.wpList.del(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
		$el.delegate( '[data-wp-lists^="dim:' + list.id + ':"]', 'click', function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
			return list.wpList.dim(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
	recolor: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
		var list = this, items, eo;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
		if ( !list.wpList.settings.alt )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
		items = $('.list-item:visible', list);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
		if ( !items.size() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
			items = $(list).children(':visible');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
		eo = [':even',':odd'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
		if ( list.wpList.settings.altOffset % 2 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
			eo.reverse();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
		items.filter(eo[0]).addClass(list.wpList.settings.alt).end().filter(eo[1]).removeClass(list.wpList.settings.alt);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
	init: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
		var lists = this;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
		lists.wpList.process = function(a) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
			lists.each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
				this.wpList.process(a);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
			} );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
		lists.wpList.recolor = function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
			lists.each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
				this.wpList.recolor();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
			} );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
$.fn.wpList = function( settings ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
	this.each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
		var _this = this;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
		this.wpList = { settings: $.extend( {}, wpList.settings, { what: wpList.parseData(this,'list')[1] || '' }, settings ) };
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
		$.each( fs, function(i,f) { _this.wpList[i] = function( e, s ) { return wpList[f].call( _this, e, s ); }; } );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
	} );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
	wpList.init.call(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
	this.wpList.process();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
	return this;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
})(jQuery);