chart.js
2 months ago
chart.min.js
2 months ago
digital-files-chooser.js
2 months ago
fusewp.js
2 months ago
index.php
2 months ago
license.js
2 months ago
login-redirect.js
2 months ago
reports.js
2 months ago
reports.min.js
2 months ago
tax-rate-repeater.js
2 months ago
digital-files-chooser.js
101 lines
| 1 | (function ($) { |
| 2 | |
| 3 | $(function () { |
| 4 | |
| 5 | var tmpl = wp.template('ppress-add-digital-file'); |
| 6 | |
| 7 | $('.ppress-plan-integrations .pp-field-row-content .insert').on('click', function (e) { |
| 8 | e.preventDefault(); |
| 9 | $('.ppress-plan-integrations .pp-field-row-content tbody').append(tmpl()); |
| 10 | }); |
| 11 | |
| 12 | // Uploading files. |
| 13 | var downloadable_file_frame, |
| 14 | file_path_field, |
| 15 | file_name_field; |
| 16 | |
| 17 | $(document.body).on('click', '.upload_file_button', function (event) { |
| 18 | |
| 19 | var $el = $(this); |
| 20 | |
| 21 | file_path_field = $el.closest('tr').find('td.file_url input'); |
| 22 | file_name_field = $el.closest('tr').find('td.file_name input'); |
| 23 | |
| 24 | event.preventDefault(); |
| 25 | |
| 26 | // If the media frame already exists, reopen it. |
| 27 | if (downloadable_file_frame) { |
| 28 | downloadable_file_frame.open(); |
| 29 | return; |
| 30 | } |
| 31 | |
| 32 | var downloadable_file_states = [ |
| 33 | // Main states. |
| 34 | new wp.media.controller.Library({ |
| 35 | library: wp.media.query(), |
| 36 | multiple: true, |
| 37 | title: $el.data('choose'), |
| 38 | priority: 20, |
| 39 | filterable: 'uploaded' |
| 40 | }) |
| 41 | ]; |
| 42 | |
| 43 | // Create the media frame. |
| 44 | downloadable_file_frame = wp.media.frames.downloadable_file = wp.media({ |
| 45 | // Set the title of the modal. |
| 46 | title: $el.data('choose'), |
| 47 | library: { |
| 48 | type: '' |
| 49 | }, |
| 50 | button: { |
| 51 | text: $el.data('update') |
| 52 | }, |
| 53 | multiple: true, |
| 54 | states: downloadable_file_states |
| 55 | }); |
| 56 | |
| 57 | // When an image is selected, run a callback. |
| 58 | downloadable_file_frame.on('select', function () { |
| 59 | var file_path = '', |
| 60 | file_name = '', |
| 61 | selection = downloadable_file_frame.state().get('selection'); |
| 62 | |
| 63 | selection.map(function (attachment) { |
| 64 | attachment = attachment.toJSON(); |
| 65 | if (attachment.url) { |
| 66 | file_path = attachment.url; |
| 67 | file_name = attachment.title.length > 0 ? attachment.title : attachment.filename; |
| 68 | } |
| 69 | }); |
| 70 | |
| 71 | file_path_field.val(file_path); |
| 72 | file_name_field.val(file_name); |
| 73 | }); |
| 74 | |
| 75 | // Set post to 0 and set our custom type. |
| 76 | downloadable_file_frame.on('ready', function () { |
| 77 | downloadable_file_frame.uploader.options.uploader.params = { |
| 78 | type: 'ppress_downloadable_plan' |
| 79 | }; |
| 80 | }); |
| 81 | |
| 82 | // Finally, open the modal. |
| 83 | downloadable_file_frame.open(); |
| 84 | }); |
| 85 | |
| 86 | $('.df_wrap tbody').sortable({ |
| 87 | items: 'tr', |
| 88 | cursor: 'move', |
| 89 | axis: 'y', |
| 90 | handle: 'td.sort', |
| 91 | scrollSensitivity: 40, |
| 92 | helper: 'clone', |
| 93 | opacity: 0.65 |
| 94 | }); |
| 95 | |
| 96 | $('.ppress-plan-integrations').on('click', '.df_wrap a.delete', function (e) { |
| 97 | e.preventDefault(); |
| 98 | $(this).closest('tr').remove(); |
| 99 | }); |
| 100 | }); |
| 101 | })(jQuery); |