X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/ab8425976b9ee467efdbae6b1bcdb3e9e27b9525..0f85687b659a680eaec03dedc7b0060731983463:/platforma/static/js/main.js diff --git a/platforma/static/js/main.js b/platforma/static/js/main.js index 7b204584..e5566a84 100644 --- a/platforma/static/js/main.js +++ b/platforma/static/js/main.js @@ -1,5 +1,5 @@ -if (!console) { - console = { +if (!window.console) { + window.console = { log: function() {} } } @@ -64,7 +64,6 @@ function gallery(element, url) { var pn = $('.page-number', element); pn.change(function(event) { - console.log('change!', $(this).val()); event.preventDefault(); var n = normalizeNumber(pn.val()); pn.val(n); @@ -94,7 +93,7 @@ function gallery(element, url) { zoom(); }); $('.change-gallery', element).click(function() { - $('.chosen-gallery').val($('#document-meta .gallery').html() || '/gallery/'); + $('.chosen-gallery').val($('#document-meta .gallery').html() || '/platforma/gallery/'); $('.gallery-image').animate({top: 53}, 200); $('.chosen-gallery').focus(); }); @@ -120,7 +119,10 @@ function gallery(element, url) { galleryWidth: $(this).parent().width(), galleryHeight: $(this).parent().height() }; - console.log('load', imageDimensions) + + if (!(imageDimensions.width && imageDimensions.height)) { + setTimeout(function() { $('img', element).load(); }, 100); + } var position = normalizePosition( image.position().left, image.position().top, @@ -182,7 +184,6 @@ function gallery(element, url) { imageDimensions.width, imageDimensions.height ); - console.log(image.position(), imageDimensions, position); image.css({width: imageDimensions.width, height: imageDimensions.height, left: position.x, top: position.y}); @@ -294,52 +295,78 @@ function html(element) { } }; - // function openForEdit($origin) - // { - // // if(this.currentOpen && this.currentOpen != $origin) { - // // this.closeWithSave(this.currentOpen); - // // } - // - // var $box = null - // - // // annotations overlay their sub box - not their own box // - // if($origin.is(".annotation-inline-box")) - // $box = $("*[x-annotation-box]", $origin); - // else - // $box = $origin; - // - // var x = $box[0].offsetLeft; - // var y = $box[0].offsetTop; - // var w = $box.outerWidth(); - // var h = $box.innerHeight(); - // - // console.log("Edit origin:", $origin, " box:", $box); - // console.log("offsetParent:", $box[0].offsetParent); - // console.log("Dimensions: ", x, y, w , h); - // - // // start edition on this node - // var $overlay = $('
'); - // - // h = Math.max(h - 20, 2*parseInt($box.css('line-height'))); - // - // console.log(h); - // - // $overlay.css({ - // position: 'absolute', - // height: h, - // left: x, - // top: y, - // right: 0 - // }); - // - // $($box[0].offsetParent).append($overlay); - // console.log($overlay); - // } - // - // $('.edit-button').live('click', function() { - // openForEdit($(this).parent()); - // }); - // + function openForEdit($origin) + { + // if(this.currentOpen && this.currentOpen != $origin) { + // this.closeWithSave(this.currentOpen); + // } + + var $box = null + + // annotations overlay their sub box - not their own box // + if($origin.is(".annotation-inline-box")) + $box = $("*[x-annotation-box]", $origin); + else + $box = $origin; + + var x = $box[0].offsetLeft; + var y = $box[0].offsetTop; + var w = $box.outerWidth(); + var h = $box.innerHeight(); + + console.log("Edit origin:", $origin, " box:", $box); + console.log("offsetParent:", $box[0].offsetParent); + console.log("Dimensions: ", x, y, w , h); + + // start edition on this node + var $overlay = $('
'); + var serializer = new XMLSerializer(); + + html2xml({ + xml: serializer.serializeToString($box.get(0)), + success: function(text) { + $('textarea', $overlay).focus().val($.trim(text)); + + $('textarea', $overlay).one('blur', function(event) { + xml2html({ + xml: $('textarea', $overlay).val(), + success: function(element) { + $box.after(element); + $overlay.remove(); + $box.remove(); + }, + error: function(text) { + $overlay.remove(); + alert('Błąd! ' + text); + } + }) + }); + }, error: function(text) { + alert('Błąd! ' + text); + } + }); + + h = Math.max(h - 20, 2*parseInt($box.css('line-height'))); + + console.log(h); + + $overlay.css({ + position: 'absolute', + height: h, + left: x, + top: y, + right: 0 + }); + + $($box[0].offsetParent).append($overlay); + console.log($overlay); + } + + $('.edit-button').live('click', function(event) { + openForEdit($(this).parent()); + return false; + }); + var button = $(''); $(element).bind('mousemove', function(event) { var editable = $(event.target).closest('*[x-editable]'); @@ -361,8 +388,8 @@ $(function() { CodeMirror.fromTextArea('id_text', { parserfile: 'parsexml.js', - path: "/static/js/lib/codemirror/", - stylesheet: "/static/css/xmlcolors.css", + path: STATIC_URL + "js/lib/codemirror/", + stylesheet: STATIC_URL + "css/xmlcolors.css", parserConfig: { useHTMLKludges: false },