X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/7a12b550f4a8366c8ace2f9c55706aba7c4b17f7..514e98aeae05045d0086aae39960124a572e646f:/platforma/static/js/views/html.js diff --git a/platforma/static/js/views/html.js b/platforma/static/js/views/html.js deleted file mode 100755 index 3696bdc8..00000000 --- a/platforma/static/js/views/html.js +++ /dev/null @@ -1,170 +0,0 @@ -/*global View render_template panels */ -var HTMLView = View.extend({ - _className: 'HTMLView', - element: null, - model: null, - template: 'html-view-template', - - init: function(element, model, parent, template) { - this._super(element, model, template); - this.parent = parent; - - this.model - .addObserver(this, 'data', this.modelDataChanged.bind(this)) - .addObserver(this, 'state', this.modelStateChanged.bind(this)); - - $('.htmlview', this.element).html(this.model.get('data')); - this.modelStateChanged('state', this.model.get('state')); - this.model.load(); - }, - - modelDataChanged: function(property, value) { - $('.htmlview', this.element).html(value); - this.updatePrintLink(); - - $("*[x-editable]").each(function() { - var e = $('
'); - e.appendTo(this); - }); - }, - - updatePrintLink: function() { - var base = this.$printLink.attr('ui:baseref'); - this.$printLink.attr('href', base + "?user="+this.model.document.get('user')+"&revision=" + this.model.get('revision')); - }, - - modelStateChanged: function(property, value) - { - var self = $(this); - - if (value == 'synced' || value == 'dirty') { - this.unfreeze(); - } else if (value == 'unsynced') { - this.freeze('Niezsynchronizowany...'); - } else if (value == 'loading') { - this.freeze('Åadowanie...'); - } else if (value == 'saving') { - this.freeze('Zapisywanie...'); - } else if (value == 'error') { - this.freeze(this.model.get('error')); - $('.xml-editor-ref', this.overlay).click( - function(event) { - console.log("Sending scroll rq.", this); - try { - var href = $(this).attr('href').split('-'); - var line = parseInt(href[1]); - var column = parseInt(href[2]); - - $(document).trigger('xml-scroll-request', {line:line, column:column}); - } catch(e) { - console.log(e); - } - - return false; - }); - } - }, - - render: function() { - this.element.unbind('click'); - - if(this.$printLink) this.$printLink.unbind(); - this._super(); - this.$printLink = $('.html-print-link', this.element); - this.updatePrintLink(); - - this.element.bind('click', this.itemClicked.bind(this)); - // this.element.bind('mouseover', this.itemHover.bind(this)); - }, - - reload: function() { - this.model.load(true); - }, - - dispose: function() { - this.model.removeObserver(this); - this._super(); - }, - - itemHover: function(event) - { - var $e = $(event.target); - if( $e.attr('x-editable') == 'editable' ) { - console.log('over:', $e[0]); - $e.css({'background-color': 'grey'}); - } - - }, - - itemClicked: function(event) - { - var self = this; - - console.log('click:', event, event.ctrlKey, event.target); - var editableContent = null; - var $e = $(event.target); - - if($e.hasClass('edit-button')) - this.openForEdit($e); - }, - - openForEdit: function($e) - { - var n = 0; - - while( ($e[0] != this.element[0]) && !($e.attr('x-editable')) - && n < 50) - { - // console.log($e, $e.parent(), this.element); - $e = $e.parent(); - n += 1; - } - - if(!$e.attr('x-editable')) - return true; - - var $origin = $e; - console.log("editable: ", $e); - - // start edition on this node - var $overlay = $( - '