admin-foogallery-attachment-autosave.js
3 days ago
admin-foogallery-divi.js
3 days ago
admin-foogallery-edit.js
3 days ago
admin-foogallery-editor.js
3 days ago
admin-foogallery-elementor.js
3 days ago
admin-page-foogallery-extensions-modal.js
3 days ago
admin-page-foogallery-extensions.js
3 days ago
admin-page-foogallery-settings.js
3 days ago
admin-tinymce.js
3 days ago
admin-uploader.js
3 days ago
foogallery-command-palette.js
3 days ago
foogallery.admin.datasources.js
3 days ago
foogallery.admin.min.js
3 days ago
foogallery.admin.template.js
3 days ago
admin-page-foogallery-extensions.js
108 lines
| 1 | (function(FOOGALLERY, $, undefined) { |
| 2 | FOOGALLERY.extension_search_timer = false; |
| 3 | FOOGALLERY.extension_search_timer_delay = 300; // 0.6 seconds delay after last input |
| 4 | |
| 5 | //hook up clicking the tag links above the extensions |
| 6 | FOOGALLERY.bindTagLinks = function() { |
| 7 | $('.extension-controls a.extension-filter').on('click', function() { |
| 8 | var filter = $(this).attr('href').replace('#', ''); |
| 9 | $('.extension-controls a.extension-filter').removeClass('current'); |
| 10 | $(this).addClass('current'); |
| 11 | $('.foogallery-extension-browser .extensions .extension').hide(); |
| 12 | $('.foogallery-extension-browser .extensions .' + filter).show(); |
| 13 | }); |
| 14 | }; |
| 15 | |
| 16 | FOOGALLERY.showSpinner = function($btn) { |
| 17 | var $container = $btn.parents('.extension:first'); |
| 18 | $container.addClass('updating'); |
| 19 | $container.find('.banner:first').html($btn.data('banner-text')); |
| 20 | }; |
| 21 | |
| 22 | //show the spinner when performing actions |
| 23 | FOOGALLERY.bindActionButtons = function() { |
| 24 | $('a.ext_action').on('click', function(e) { |
| 25 | var $btn = $(this); |
| 26 | |
| 27 | //if the target is blank then allow and get out |
| 28 | if ($btn.attr('target') == '_blank') { |
| 29 | return true; |
| 30 | } |
| 31 | |
| 32 | //if its disabled then do nothing! |
| 33 | if ($btn.is('.disabled')) { |
| 34 | e.preventDefault(); |
| 35 | return false; |
| 36 | } |
| 37 | |
| 38 | var confirmMsg = $(this).data('confirm'); |
| 39 | |
| 40 | if (confirmMsg) { |
| 41 | if (confirm(confirmMsg)) { |
| 42 | FOOGALLERY.showSpinner($btn); |
| 43 | $btn.addClass('disabled'); |
| 44 | } else { |
| 45 | e.preventDefault(); |
| 46 | return false; |
| 47 | } |
| 48 | } else { |
| 49 | //otherwise just show the spinner while redirecting |
| 50 | FOOGALLERY.showSpinner($btn); |
| 51 | $btn.addClass('disabled'); |
| 52 | } |
| 53 | }); |
| 54 | }; |
| 55 | |
| 56 | //perform the extensions search |
| 57 | FOOGALLERY.doSearch = function() { |
| 58 | var search = $('#extensions-search-input').val().toLowerCase(); |
| 59 | $('.foogallery-extension-browser .extensions .extension').hide(); |
| 60 | $('.foogallery-extension-browser .extensions .search-me').each(function() { |
| 61 | var html = $(this).html(); |
| 62 | if (html && html.toLowerCase().indexOf(search) > -1) { |
| 63 | $(this).parents('.extension:first').show(); |
| 64 | } |
| 65 | }); |
| 66 | }; |
| 67 | |
| 68 | //hook up the extensions search |
| 69 | FOOGALLERY.bindSearch = function() { |
| 70 | $('#extensions-search-input').bind('input', function() { |
| 71 | window.clearTimeout(FOOGALLERY.extension_search_timer); |
| 72 | FOOGALLERY.extension_search_timer = window.setTimeout(function(){ |
| 73 | FOOGALLERY.doSearch(); |
| 74 | }, FOOGALLERY.extension_search_timer_delay); |
| 75 | }); |
| 76 | }; |
| 77 | |
| 78 | FOOGALLERY.bindTabs = function() { |
| 79 | $("a.nav-tab").on('click', function(e) { |
| 80 | $this = $(this); |
| 81 | |
| 82 | $this.parents(".nav-tab-wrapper:first").find(".nav-tab-active").removeClass("nav-tab-active"); |
| 83 | $this.addClass("nav-tab-active"); |
| 84 | |
| 85 | var filter = $this.attr('href').replace('#', ''); |
| 86 | $('.foogallery-extension-browser .extensions .extension').hide(); |
| 87 | $('.foogallery-extension-browser .extension-page').hide(); |
| 88 | $('.foogallery-extension-browser .extensions .' + filter).show(); |
| 89 | $('.foogallery-extension-browser .extension-page-' + filter).show(); |
| 90 | }); |
| 91 | |
| 92 | if (window.location.hash) { |
| 93 | $('a.nav-tab[href="' + window.location.hash + '"]').click(); |
| 94 | } else { |
| 95 | $('a.nav-tab-all').click(); |
| 96 | } |
| 97 | |
| 98 | return false; |
| 99 | }; |
| 100 | |
| 101 | $(function() { //wait for ready |
| 102 | FOOGALLERY.bindTabs(); |
| 103 | FOOGALLERY.bindTagLinks(); |
| 104 | FOOGALLERY.bindActionButtons(); |
| 105 | FOOGALLERY.bindSearch(); |
| 106 | }); |
| 107 | |
| 108 | }(window.FOOGALLERY = window.FOOGALLERY || {}, jQuery)); |