css.phtml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. ?>
  7. <?php /** @var $block \Magento\Theme\Block\Adminhtml\System\Design\Theme\Edit\Tab\Css */ ?>
  8. <?= $block->getFormHtml() ?>
  9. <script>
  10. require([
  11. "jquery",
  12. "Magento_Ui/js/modal/alert",
  13. "jquery/file-uploader",
  14. "mage/translate"
  15. ], function($, alert){
  16. $( '#css_file_uploader' ).fileupload({
  17. dataType: 'json',
  18. replaceFileInput: false,
  19. url : '<?= /* @escapeNotVerified */ $block->getUrl('*/system_design_theme/uploadcss') ?>',
  20. acceptFileTypes: /(.|\/)(css)$/i,
  21. /**
  22. * Add data
  23. * @param e
  24. * @param data
  25. */
  26. add: function (e, data) {
  27. var uploadButton = $('#css_uploader_button');
  28. /** Unbind click event on file change */
  29. uploadButton.unbind('click');
  30. uploadButton.removeAttr('disabled');
  31. uploadButton.click(function () {
  32. $('#messages').html('');
  33. $(this).attr('disabled', 'disabled');
  34. data.submit();
  35. });
  36. },
  37. /**
  38. * On done event
  39. * @param e
  40. * @param data
  41. */
  42. done: function (e, data) {
  43. var contentArea = $('#custom_css_content');
  44. $(this).val('');
  45. $('#css_uploader_button').attr('disabled', 'disabled');
  46. if (!data.result.error) {
  47. contentArea.trigger('focusin');
  48. contentArea.val(data.result.content);
  49. contentArea.trigger('focusout');
  50. }
  51. },
  52. /**
  53. * Fail event
  54. * @param e
  55. * @param data
  56. */
  57. fail: function(e, data) {
  58. $(this).val('');
  59. alert({
  60. content: $.mage.__("We don't recognize this file extension.")
  61. });
  62. }
  63. });
  64. $(document).on('beforeSubmit', function() {
  65. $('#css_file_uploader').val('');
  66. });
  67. });
  68. </script>