mirror of
https://github.com/WordPress/WordPress.git
synced 2024-12-25 02:27:50 +01:00
73ff644661
git-svn-id: http://core.svn.wordpress.org/trunk@23530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
1 line
9.0 KiB
JavaScript
1 line
9.0 KiB
JavaScript
window.wp=window.wp||{};(function(a){wp.revisions={views:{},Model:Backbone.Model.extend({defaults:{ID:0,revision_date_author:"",revisiondiff:"",restoreaction:"",diff_max:0,diff_count:0,diff_revision_to:0,revision_from_date_author:"",}}),app:_.extend({},Backbone.Events),App:Backbone.Router.extend({_revisionDifflView:null,_revisions:null,_left_handle_revisions:null,_right_handle_revisions:null,_revisionsInteractions:null,_revisionsOptions:null,_left_diff:0,_right_diff:1,_autosaves:false,_showsplitview:true,_compareoneortwo:1,left_model_loading:false,right_model_loading:false,routes:{"viewrevision/:revision":"viewrevision",},viewrevision:function(b){},start_left_model_loading:function(){this.left_model_loading=true;a(".revisiondiffcontainer").addClass("leftmodelloading")},stop_left_model_loading:function(){this.left_model_loading=false;a(".revisiondiffcontainer").removeClass("leftmodelloading")},start_right_model_loading:function(){this.right_model_loading=true;a(".revisiondiffcontainer").addClass("rightmodelloading")},stop_right_model_loading:function(){this.right_model_loading=false;a(".revisiondiffcontainer").removeClass("rightmodelloading")},reloadmodel:function(){if(2==this._compareoneortwo){this.reloadleftright()}else{this.reloadmodelsingle()}},reloadmodelsingle:function(){var b=this;b._revisions.url=ajaxurl+"?action=revisions-data&compareto="+wpRevisionsSettings.post_id+"&showautosaves="+b.self_autosaves+"&showsplitview="+REVAPP._showsplitview+"&nonce="+wpRevisionsSettings.nonce;b.start_right_model_loading();this._revisions.fetch({success:function(){b.stop_right_model_loading();var c=b._revisions.length;if(b._right_diff>c){b._right_diff=c}b._revisionView.render();a("#slider").slider("option","max",c-1)},error:function(){b.stop_right_model_loading();window.console&&console.log("Error loading revision data")}})},reloadleftright:function(){var b=this;b.start_left_model_loading();b.start_right_model_loading();b._left_handle_revisions=new wp.revisions.Collection();b._right_handle_revisions=new wp.revisions.Collection();if(0==b._left_diff){b._right_handle_revisions.url=ajaxurl+"?action=revisions-data&compareto="+wpRevisionsSettings.post_id+"&post_id="+wpRevisionsSettings.post_id+"&showautosaves="+b._autosaves+"&showsplitview="+b._showsplitview+"&nonce="+wpRevisionsSettings.nonce}else{b._right_handle_revisions.url=ajaxurl+"?action=revisions-data&compareto="+b._revisions.at(b._left_diff-1).get("ID")+"&post_id="+wpRevisionsSettings.post_id+"&showautosaves="+b._autosaves+"&showsplitview="+b._showsplitview+"&nonce="+wpRevisionsSettings.nonce}b._left_handle_revisions.url=ajaxurl+"?action=revisions-data&compareto="+b._revisions.at(b._right_diff-1).get("ID")+"&post_id="+wpRevisionsSettings.post_id+"&showautosaves="+b._autosaves+"&showsplitview="+b._showsplitview+"&nonce="+wpRevisionsSettings.nonce;b._left_handle_revisions.fetch({xhr:function(){var c=a.ajaxSettings.xhr();c.onprogress=b.handleProgress;return c},handleProgress:function(c){var d=0;if(c.lengthComputable){d=c.loaded/c.total;window.console&&console.log(Math.round(d*100)+"%")}},success:function(){b.stop_left_model_loading()},error:function(){window.console&&console.log("Error loading revision data");b.stop_left_model_loading()}});b._right_handle_revisions.fetch({success:function(){b.stop_right_model_loading()},error:function(){window.console&&console.log("Error loading revision data");b.stop_right_model_loading()}})},initialize:function(c){var b=this;if(this._revisions===null){b._autosaves="";b._revisions=new wp.revisions.Collection();b.start_right_model_loading();b._revisions.fetch({success:function(){b.stop_right_model_loading();b.revisionDiffSetup()}})}return this},revisionDiffSetup:function(){var b=this,c;this._revisionView=new wp.revisions.views.View({model:this._revisions});this._revisionView.render();this._revisionsInteractions=new wp.revisions.views.Interact({model:this._revisions});this._revisionsInteractions.render();this._revisionsOptions=new wp.revisions.views.Options({model:this._revisions});this._revisionsOptions.render()}})};wp.revisions.Collection=Backbone.Collection.extend({model:wp.revisions.Model,url:ajaxurl+"?action=revisions-data&compareto="+wpRevisionsSettings.post_id+"&showautosaves=false&showsplitview=true&nonce="+wpRevisionsSettings.nonce});_.extend(wp.revisions.views,{View:Backbone.View.extend({el:a("#backbonerevisionsdiff")[0],tagName:"revisionvview",className:"revisionview-container",template:wp.template("revision"),revvapp:null,comparetwochecked:"",draggingleft:false,initialize:function(){},render:function(){var c="";if(2==REVAPP._compareoneortwo){this.comparetwochecked="checked";if(this.draggingleft){if(this.model.at(REVAPP._left_diff)){c=this.template(_.extend(this.model.at(REVAPP._left_diff).toJSON(),{comparetwochecked:this.comparetwochecked}))}}else{var b=REVAPP._right_diff;if(this.model.at(b)){c=this.template(_.extend(this.model.at(b).toJSON(),{comparetwochecked:this.comparetwochecked}))}}}else{this.comparetwochecked="";if(this.model.at(REVAPP._right_diff-1)){c=this.template(_.extend(this.model.at(REVAPP._right_diff-1).toJSON(),{comparetwochecked:this.comparetwochecked}))}}this.$el.html(c);return this},events:{"click #comparetwo":"clickcomparetwo"},clickcomparetwo:function(){self=this;if(a("input#comparetwo").is(":checked")){REVAPP._compareoneortwo=2;REVAPP.reloadleftright()}else{REVAPP._compareoneortwo=1;REVAPP._revisionView.draggingleft=false;REVAPP._left_diff=0;REVAPP.reloadmodelsingle()}REVAPP._revisionsInteractions.render()}}),Options:Backbone.View.extend({el:a("#backbonerevisionsoptions")[0],tagName:"revisionoptionsview",className:"revisionoptions-container",template:wp.template("revisionoptions"),initialize:function(){},render:function(){var b=this.template;this.$el.html(b);return this},events:{"click #toggleshowautosaves":"toggleshowautosaves","click #showsplitview":"showsplitview"},toggleshowautosaves:function(){var b=this;if(a("#toggleshowautosaves").is(":checked")){REVAPP._autosaves=true}else{REVAPP._autosaves=false}REVAPP.reloadmodel()},showsplitview:function(){var b=this;if(a("input#showsplitview").is(":checked")){REVAPP._showsplitview="true";a(".revisiondiffcontainer").addClass("diffsplit")}else{REVAPP._showsplitview="";a(".revisiondiffcontainer").removeClass("diffsplit")}REVAPP.reloadmodel()}}),Interact:Backbone.View.extend({el:a("#backbonerevisionsinteract")[0],tagName:"revisionvinteract",className:"revisionvinteract-container",template:wp.template("revisionvinteract"),initialize:function(){},render:function(){var b=this;var d=this.template;this.$el.html(d);a("#diff_max, #diff_maxof").html(this.model.length);a("#diff_count").html(REVAPP._right_diff);a("#diff_left_count_inner").html(0==REVAPP._left_diff?"":"revision"+REVAPP._left_diff);var c=REVAPP._revisions.length;slider=a("#slider");if(1==REVAPP._compareoneortwo){slider.slider({value:REVAPP._right_diff-1,min:0,max:c-1,step:1,slide:function(e,f){if(REVAPP.right_model_loading){return false}REVAPP._right_diff=(f.value+1);a("#diff_count").html(REVAPP._right_diff);REVAPP._revisionView.render()}});a(".revisiondiffcontainer").removeClass("comparetwo")}else{slider.slider({values:[REVAPP._left_diff,REVAPP._right_diff+1],min:1,max:c+1,step:1,range:true,start:function(f,g){var e=a(g.handle).index();switch(e){case 1:if(REVAPP.left_model_loading){return false}if(REVAPP._revisionView.model!==REVAPP._left_handle_revisions&&null!=REVAPP._left_handle_revisions){REVAPP._revisionView.model=REVAPP._left_handle_revisions}REVAPP._revisionView.draggingleft=true;break;case 2:if(REVAPP.right_model_loading){return false}if(REVAPP._revisionView.model!==REVAPP._right_handle_revisions&&null!=REVAPP._right_handle_revisions){REVAPP._revisionView.model=REVAPP._right_handle_revisions}REVAPP._revisionView.draggingleft=false;REVAPP._right_diff=g.values[1]-1;break}},slide:function(f,g){if(g.values[0]==g.values[1]){return false}var e=a(g.handle).index();switch(e){case 1:if(REVAPP.left_model_loading){return false}REVAPP._left_diff=g.values[0]-1;break;case 2:if(REVAPP.right_model_loading){return false}REVAPP._right_diff=g.values[1]-1;break}a("#diff_count").html(REVAPP._right_diff);if(0==REVAPP._left_diff){a(".revisiondiffcontainer").addClass("currentversion")}else{a(".revisiondiffcontainer").removeClass("currentversion");a("#diff_left_count_inner").html(REVAPP._left_diff)}REVAPP._revisionView.render()},stop:function(e,f){if(2==REVAPP._compareoneortwo){if(!(REVAPP.left_model_loading&&REVAPP.right_model.loading)){REVAPP.reloadleftright()}}}});a(".revisiondiffcontainer").addClass("comparetwo")}return this},events:{"click #next":"nextrevision","click #previous":"previousrevision"},nextrevision:function(){if(REVAPP._right_diff<this.model.length){REVAPP._right_diff=REVAPP._right_diff+1}REVAPP._revisionView.render();a("#diff_count").html(REVAPP._right_diff);a("#slider").slider("value",REVAPP._right_diff-1).trigger("slide")},previousrevision:function(){if(REVAPP._right_diff>1){REVAPP._right_diff=REVAPP._right_diff-1}REVAPP._revisionView.render();a("#diff_count").html(REVAPP._right_diff);a("#slider").slider("value",REVAPP._right_diff-1).trigger("slide")}})});REVAPP=new wp.revisions.App();Backbone.history.start()}(jQuery)); |