uploader_cover.html 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <div class="bx-image-edit-buttons __image_exists__ bx-image-edit-buttons-__unique_id__ flex items-center">
  2. <a href="javascript:" class="bx-btn bx-btn-small bx-image-edit-buttons-edit mx-1" onclick="oBxDolCovers__unique_id__.changePosition()"><bx_image_auto:cog /></a>
  3. <a href="javascript:" class="bx-btn bx-btn-small bx-image-edit-buttons-save mx-1 hidden" onclick="oBxDolCovers__unique_id__.savePosition()"><bx_image_auto:save /></a>
  4. <a href="javascript:" class="bx-btn bx-btn-small bx-image-edit-buttons-cancel mx-1 hidden" onclick="oBxDolCovers__unique_id__.cancelPosition()"><bx_image_auto:arrows-alt /></a>
  5. <a href="javascript:" class="bx-btn bx-btn-small bx-image-edit-buttons-upload mx-1" onclick="oBxDolCovers__unique_id__.showUploaderForm()"><bx_image_auto:upload /></a>
  6. </div>
  7. <div class="hidden">
  8. <div id="bx-form-input-files-__unique_id__-upload-result"></div>
  9. __uploader__
  10. __uploader_js__
  11. </div>
  12. <script>
  13. $("#bx-form-input-files-__unique_id__-upload-result").bind( "contentchange", function(){
  14. oBxDolCovers__unique_id__.uploadComplete($(this));
  15. });
  16. function BxDolCovers (unique_id, action_url, content_id, field, js_object) {
  17. this._sUniqueId = unique_id;
  18. this._sActionUrl = action_url;
  19. this._sContentId = content_id;
  20. this._sField = field;
  21. this._sJsObject = js_object;
  22. this._oContainerButtons = $('.bx-image-edit-buttons-' + unique_id);
  23. }
  24. BxDolCovers.prototype.showUploaderForm = function(){
  25. var $this = this;
  26. $('#bx-form-input-files-' + $this._sUniqueId + '-upload-result').html('');
  27. eval($this._sJsObject + '.showUploaderForm()');
  28. }
  29. BxDolCovers.prototype.uploadComplete = function(obj){
  30. var $this = this;
  31. var sUrl = $this._sActionUrl + "updateImage/" + $this._sField + "/" + $this._sContentId + "/" + obj.html() + "/";
  32. $this._oContainerButtons.removeClass('bx-image-edit-buttons-no-image');
  33. $.post(sUrl, function (aData) {
  34. $(".bx-image-edit-source-" + $this._sUniqueId).css("background-image", "url(" + aData + ")").css('background-position', '');
  35. });
  36. }
  37. BxDolCovers.prototype.changePosition = function (){
  38. var $this = this;
  39. $(".bx-image-edit-source-" + $this._sUniqueId).addClass('bx-image-edit-move').bind('dragover', function(e){
  40. $(".bx-image-edit-source-" + $this._sUniqueId).css('background-position', " 0px " + e.offsetY/500*100 + '%');
  41. });
  42. $this._oContainerButtons.find('.bx-image-edit-buttons-cancel').removeClass('hidden');
  43. $this._oContainerButtons.find('.bx-image-edit-buttons-save').removeClass('hidden');
  44. $this._oContainerButtons.find('.bx-image-edit-buttons-edit').addClass('hidden');
  45. $this._oContainerButtons.find('.bx-image-edit-buttons-upload').addClass('hidden');
  46. }
  47. BxDolCovers.prototype.cancelPosition = function (){
  48. var $this = this;
  49. $this._oContainerButtons.find('.bx-image-edit-buttons-cancel').addClass('hidden');
  50. $this._oContainerButtons.find('.bx-image-edit-buttons-save').addClass('hidden');
  51. $this._oContainerButtons.find('.bx-image-edit-buttons-edit').removeClass('hidden');
  52. $this._oContainerButtons.find('.bx-image-edit-buttons-upload').removeClass('hidden');
  53. }
  54. BxDolCovers.prototype.savePosition = function (){
  55. var $this = this;
  56. $(".bx-image-edit-source-" + $this._sUniqueId).removeClass('bx-image-edit-move')
  57. aPos = $(".bx-image-edit-source-" + $this._sUniqueId).css('background-position').split(' ');
  58. $.post($this._sActionUrl + 'updateImagePosition/' + $this._sContentId + '/' + $this._sField + '/' + aPos[0].replace('%','').replace('px','') + '/' + aPos[1].replace('%','').replace('px','') + '/', function () {
  59. $this._oContainerButtons.find('.bx-image-edit-buttons-cancel').addClass('hidden');
  60. $this._oContainerButtons.find('.bx-image-edit-buttons-save').addClass('hidden');
  61. $this._oContainerButtons.find('.bx-image-edit-buttons-edit').removeClass('hidden');
  62. $this._oContainerButtons.find('.bx-image-edit-buttons-upload').removeClass('hidden');
  63. });
  64. }
  65. oBxDolCovers__unique_id__ = new BxDolCovers('__unique_id__', '__action_url__', '__id__', '__field__', '__js_object__');
  66. </script>