PluginProbe
MyBookTable Bookstore by Stormhill Media / trunk
MyBookTable Bookstore by Stormhill Media vtrunk
3.6.5 trunk
mybooktable / js / widgets.js

widgets.js in MyBookTable Bookstore by Stormhill Media trunk, at js/widgets.js

57 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 jQuery(document).ready(function() {
2 jQuery(".wrap").on("change", ".mbt_featured_book_selectmode", function() {
3 var element = jQuery(this);
4 if(element.val() == "manual_select") {
5 element.parents('.widget-content').find('.mbt-featured-book-manual-selector').show();
6 element.parents('.widget-content').find('.mbt-featured-book-options').hide();
7 } else {
8 element.parents('.widget-content').find('.mbt-featured-book-manual-selector').hide();
9 element.parents('.widget-content').find('.mbt-featured-book-options').show();
10 }
11 });
12
13 });
14
15 function mbt_update_featured_books(parent) {
16 var data = [];
17 parent.find('.mbt-featured-book-list .mbt-book').each(function(i, e) {
18 data.push(parseInt(jQuery(e).attr('data-id'), 10));
19 });
20 parent.find('.mbt-featured-books').val(JSON.stringify(data));
21 parent.find('.widget-control-save').click();
22 return true;
23 }
24
25 function mbt_init_book_remover(i, elem) {
26 var elem = jQuery(elem)
27 elem.click(function(e) {
28 parent = elem.parents('.mbt-featured-book-manual-selector');
29 elem.parent().remove();
30 mbt_update_featured_books(parent.parents('.widget-inside'));
31 return false;
32 });
33 }
34
35 function mbt_initialize_featured_book_widget_editor(elem) {
36 var thiselement = jQuery(elem);
37 if(thiselement.attr('data-initialized') === 'true') { return false; }
38 thiselement.attr('data-initialized', 'true');
39
40 var parent = thiselement.parents('.widget-inside');
41
42 parent.find('.mbt-featured-book-adder').click(function(e) {
43 selector = parent.find('.mbt-featured-book-selector');
44 if(!selector.val()){return false;}
45 var element = jQuery('<li data-id="'+selector.val()+'" class="mbt-book">'+selector.find(":selected").text()+'<a class="mbt-book-remover">X</a></li>');
46 mbt_init_book_remover(0, element.find('.mbt-book-remover'));
47 parent.find('.mbt-featured-book-list').prepend(element);
48 mbt_update_featured_books(parent);
49 selector.val('');
50 return false;
51 });
52
53 parent.find('.mbt-book-remover').each(mbt_init_book_remover);
54
55 parent.find('.mbt-featured-book-list').sortable({stop: function(){mbt_update_featured_books(parent);}});
56 }
57