2013-04-04 22:58:48 +02:00
|
|
|
window.wp=window.wp||{};(function(f){var b,e,c,a,d;d=wp.revisions=function(){c=d.Diff=new c()};_.extend(d,{model:{},view:{},controller:{}});a=d.model.l10n=typeof wpRevisionsL10n==="undefined"?{}:wpRevisionsL10n;d.model.settings=a.settings||{};delete a.settings;c=d.controller.Diff=Backbone.Model.extend({rightDiff:1,leftDiff:1,revisions:null,leftHandleRevisions:null,rightHandleRevisions:null,revisionsInteractions:null,autosaves:true,showSplitView:true,singleRevision:true,leftModelLoading:false,rightModelLoading:false,tickmarkView:null,slider:null,constructor:function(){this.slider=new d.view.Slider();if(null===this.revisions){this.revisions=new e();this.startRightModelLoading();var g=this;this.revisions.fetch({success:function(){g.stopRightModelLoading();g.completeApplicationSetup()}})}},reloadToLoadRevisions:function(k,i){var g=this,j=k.where({revision_toload:true}),h=0;_.each(j,function(l){if(l.get("ID")==d.model.settings.revision_id){g.rightDiff=g.revisions.indexOf(l)+1}});_.each(j,function(l){_.delay(function(){l.fetch({update:true,add:false,remove:false,success:function(n){n.set("revision_toload","false");if(0===k.where({revision_toload:true}).length){g.stopModelLoadingSpinner()}g.tickmarkView.render();var m=n.get("lines_added")+n.get("lines_deleted"),o="vsmall";if(m>1&&m<=3){o="small"}else{if(m>3&&m<=5){o="med"}else{if(m>5&&m<=10){o="large"}else{if(m>10){o="vlarge"}}}}n.set("scope_of_changes",o);if(0!==g.rightDiff&&n.get("ID")===g.revisions.at(g.rightDiff-1).get("ID")){g.revisionView.render()}}})},h);h=h+150})},startLeftModelLoading:function(){this.leftModelLoading=true;f("#revision-diff-container").addClass("left-model-loading")},stopLeftModelLoading:function(){this.leftModelLoading=false},startRightModelLoading:function(){this.rightModelLoading=true;f("#revision-diff-container").addClass("right-model-loading")},stopRightModelLoading:function(){this.rightModelLoading=false},stopModelLoadingSpinner:function(){f("#revision-diff-container").removeClass("right-model-loading");f("#revision-diff-container").removeClass("left-model-loading")},reloadModel:function(){if(this.singleRevision){this.reloadModelSingle()}else{this.reloadLeftRight()}},reloadModelSingle:function(){var g=this;g.revisions.reload({showAutosaves:g.autosaves,showSplitView:g.showSplitView});g.startRightModelLoading();g.revisions.fetch({success:function(){var h=g.revisions.length;g.revisionView.model=g.revisions;g.revisionView.render();g.reloadToLoadRevisions(g.revisions);g.tickmarkView.model=g.revisions;g.tickmarkView.render();g.slider.refresh({max:h-1,value:g.rightDiff-1},true)},error:function(){g.stopRightModelLoading()}})},reloadLeft:function(){var g=this;g.startLeftModelLoading();g.leftHandleRevisions=new e({},{compareTo:g.revisions.at(g.rightDiff-1).get("ID"),showAutosaves:g.autosaves,showSplitView:g.showSplitView,rightHandleAt:g.rightDiff});g.leftHandleRevisions.fetch({success:function(){g.stopLeftModelLoading();g.reloadToLoadRevisions(g.leftHandleRevisions);g.tickmarkView.model=g.leftHandleRevisions;g.slider.refresh({max:g.revisions.length});if(g.rightDiff>g.revisions.length){g.rightDiff=g.revisions.length}},error:function(){g.stopLeftModelLoading()}})},reloadRight:function(){var g=this;g.startRightModelLoading();g.rightHandleRevisions=new e({},{compareTo:g.revisions.at(g.leftDiff).get("ID")-1,showAutosaves:g.autosaves,showSplitView:g.showSplitView,leftHandleAt:g.leftDiff});g.rightHandleRevisions.fetch({success:function(){g.stopRightModelLoading();g.reloadToLoadRevisions(g.rightHandleRevisions);g.tickmarkView.model=g.rightHandleRevisions;g.slider.refresh({max:g.revisions.length,values:[g.leftDiff,g.rightDiff]},true)},error:function(h){g.stopRightModelLoading()}})},reloadLeftRight:function(){this.startRightModelLoading();this.startLeftModelLoading();this.reloadLeft();this.reloadRight()},completeApplicationSetup:function(){this.revisionView=new d.view.Diff({model:this.revisions});this.revisionView.render();this.reloadToLoadRevisions(this.revisions);this.revisionsInteractions=new d.view.Interact({model:this.revisions});this.revisionsInteractions.rend
|