wp/wp-admin/js/link.js
author ymh <ymh.work@gmail.com>
Mon, 14 Oct 2019 17:39:30 +0200
changeset 7 cf61fcea0001
parent 5 5e2f62d02dcd
child 9 177826044cd9
permissions -rw-r--r--
resynchronize code repo with production
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 postboxes, deleteUserSetting, setUserSetting, getUserSetting */
5e2f62d02dcd upgrade wordpress + plugins
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     2
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
jQuery(document).ready( function($) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
	var newCat, noSyncChecks = false, syncChecks, catAddAfter;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
	$('#link_name').focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
	// postboxes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
	postboxes.add_postbox_toggles('link');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
	// category tabs
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
	$('#category-tabs a').click(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
		var t = $(this).attr('href');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
		$(this).parent().addClass('tabs').siblings('li').removeClass('tabs');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
		$('.tabs-panel').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
		$(t).show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
		if ( '#categories-all' == t )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
			deleteUserSetting('cats');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
			setUserSetting('cats','pop');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
	});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
	if ( getUserSetting('cats') )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
		$('#category-tabs a[href="#categories-pop"]').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
	// Ajax Cat
5
5e2f62d02dcd upgrade wordpress + plugins
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    27
	newCat = $('#newcat').one( 'focus', function() { $(this).val( '' ).removeClass( 'form-input-tip' ); } );
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
	$('#link-category-add-submit').click( function() { newCat.focus(); } );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
	syncChecks = function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
		if ( noSyncChecks )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
		noSyncChecks = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
		var th = $(this), c = th.is(':checked'), id = th.val().toString();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
		$('#in-link-category-' + id + ', #in-popular-link_category-' + id).prop( 'checked', c );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
		noSyncChecks = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
	catAddAfter = function( r, s ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
		$(s.what + ' response_data', r).each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
			var t = $($(this).text());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
			t.find( 'label' ).each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
				var th = $(this), val = th.find('input').val(), id = th.find('input')[0].id, name = $.trim( th.text() ), o;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
				$('#' + id).change( syncChecks );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
				o = $( '<option value="' +  parseInt( val, 10 ) + '"></option>' ).text( name );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
			} );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
		} );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
	$('#categorychecklist').wpList( {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
		alt: '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
		what: 'link-category',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
		response: 'category-ajax-response',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
		addAfter: catAddAfter
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
	} );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
	$('a[href="#categories-all"]').click(function(){deleteUserSetting('cats');});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
	$('a[href="#categories-pop"]').click(function(){setUserSetting('cats','pop');});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
	if ( 'pop' == getUserSetting('cats') )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
		$('a[href="#categories-pop"]').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
	$('#category-add-toggle').click( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
		$(this).parents('div:first').toggleClass( 'wp-hidden-children' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
		$('#category-tabs a[href="#categories-all"]').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
		$('#newcategory').focus();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
	} );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
	$('.categorychecklist :checkbox').change( syncChecks ).filter( ':checked' ).change();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
});