mirror of
https://github.com/elkowar/dots-of-war.git
synced 2025-02-20 04:12:14 +00:00
14 lines
426 KiB
JavaScript
14 lines
426 KiB
JavaScript
|
function _objectWithoutProperties(a,b){var c={};for(var d in a)b.indexOf(d)>=0||Object.prototype.hasOwnProperty.call(a,d)&&(c[d]=a[d]);return c}define("core/utils/getEmbeddedData",[],function(){"use strict";return function(a){var b=window.document.getElementById("disqus-"+a);try{return b&&JSON.parse(b.textContent||b.innerHTML)}catch(c){return null}}}),define("core/utils/cookies",[],function(){"use strict";var a={_doc:window.document,create:function(b,c,d){d||(d={});var e=b+"="+c+"; path="+(d.path||"/"),f=d.domain,g=d.expiresIn;if(f&&(e+="; domain=."+f),"[object Number]"===Object.prototype.toString.call(g)){var h=new Date((new Date).getTime()+g);e+="; expires="+h.toGMTString()}"https:"===a._doc.location.protocol&&(e+="; secure"),e+="; SameSite=None",a._doc.cookie=e},read:function(b){for(var c,d=b+"=",e=a._doc.cookie.split(";"),f=0;f<e.length;f++)if(c=e[f].replace(/^\s+/,""),0===c.indexOf(d))return c.substring(d.length);return null},erase:function(b,c){var d={};for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);return d.expiresIn=-1,a.create(b,"",d)},supported:function(){return a.create("cookie_support","1"),"1"===a.read("cookie_support")&&(a.erase("cookie_support"),!0)}};return a}),define("core/utils/fingerprint",[],function(){"use strict";function a(a){a=a||{};var b=a.Math||window.Math,c=a.Date||window.Date;try{var d=(new c).getTimezoneOffset(),e=1,f=window.screen;f&&f.availWidth?e=f.availWidth*f.availHeight+f.colorDepth:f&&f.width&&(e=f.width*f.height);var g=window.document.documentElement,h=g.clientWidth*g.clientHeight;return b.abs(17*d+25*e-h)}catch(i){return 1}}return{get:a}}),define("core/utils/guid",["core/utils/fingerprint"],function(a){"use strict";function b(a){a=a||{};var b=a.Uint32Array||window.Uint32Array,c=a.crypto||window.crypto,d=a.Math||window.Math;try{var e=new b(1);return c.getRandomValues(e),e[0]}catch(f){return d.floor(1e9*d.random())}}function c(){var a=window.performance,b=a&&a.timing;if(!b)return 1e5;var c=b.domainLookupEnd-b.domainLookupStart,d=b.connectEnd-b.connectStart,e=b.responseStart-b.navigationStart;return 11*c+13*d+17*e}function d(d){d=d||{};var e=d.Math||window.Math,f=Number((new Date).getTime().toString().substring(3)),g=e.abs(f+c()-a.get()).toString(32);return g+=b(d).toString(32)}return{generate:d}}),define("core/utils/hash",[],function(){"use strict";var a=function(a){var b,c,d,e=0;if(0===a.length)return e;for(b=0,c=a.length;b<c;b++)d=a.charCodeAt(b),e=(e<<5)-e+d,e|=0;return e};return{calculate:a}}),define("core/analytics/identity",["exports","core/utils/cookies","core/utils/guid","core/utils/hash","core/utils/fingerprint"],function(a,b,c,d,e){"use strict";var f=!1,g=a.ImpressionManager=function(){this.isPrivate=!0,this.impId=c.generate()};g.prototype.COOKIE_NAME="__jid",g.prototype.TTL=18e5,g.prototype.init=function(a){this.isPrivate=a&&a.isPrivate,this.isPrivate||(this.prevImp=b.read(this.COOKIE_NAME)),this.persist()},g.prototype.setImpressionId=function(a){this.impId=a,this.persist()},g.prototype.persist=function(){return this.isPrivate?void b.erase(this.COOKIE_NAME):void b.create(this.COOKIE_NAME,this.impId,{expiresIn:this.TTL})};var h=a.UniqueManager=function(){this.isPrivate=!0};h.prototype.COOKIE_NAME="disqus_unique",h.prototype.TTL=31536e6,h.prototype.init=function(a){return this.isPrivate=a&&a.isPrivate,this.isPrivate?void b.erase(this.COOKIE_NAME,{domain:window.location.host.split(":")[0]}):(this.value=b.read(this.COOKIE_NAME)||c.generate(),void b.create(this.COOKIE_NAME,this.value,{domain:window.location.host.split(":")[0],expiresIn:this.TTL}))},h.prototype.isPersistent=function(){return!this.isPrivate&&b.read(this.COOKIE_NAME)===this.value},a.init=function(b,c){f&&!c||(a.impression.init(b),a.unique.init(b),f=!0)},a.reset=function(){f=!1,a.impression=new g,a.unique=new h},a.reset(),a.clientId=function(){var b,c=a.unique;return c.isPersistent()&&(b=c.value),b||e.get().toString()},a.getPercentBucketForString=function(a){return Math.abs(d.calculate(a)%100)},a.clientPercent=function(){return a.getPercentBucketForString(a.clientId())}}),define("core/config/urls",["common/urls"],f
|
|||
|
},compiler:[7,">= 4.0.0"],main:function(a,b,c,d,e){var f,g=null!=b?b:{};return'<li class="user '+(null!=(f=c["if"].call(g,null!=b?b.highlight:b,{name:"if",hash:{},fn:a.program(1,e,0),inverse:a.noop,data:e}))?f:"")+'" '+(null!=(f=c.unless.call(g,c["switch"].call(g,"sso_less_branding",{name:"switch",hash:{forum:null!=b?b.forumId:b},data:e}),{name:"unless",hash:{},fn:a.program(3,e,0),inverse:a.noop,data:e}))?f:"")+' data-username="'+a.escapeExpression(a.lambda(null!=b?b.username:b,b))+'">\n'+(null!=(f=c.if_all.call(g,c["switch"].call(g,"sso_less_branding",{name:"switch",hash:{forum:null!=b?b.forumId:b},data:e}),c.ne.call(g,null!=b?b.isSSOProfileUrl:b,!0,{name:"ne",hash:{},data:e}),{name:"if_all",hash:{},fn:a.program(5,e,0),inverse:a.program(7,e,0),data:e}))?f:"")+"</li>\n"},useData:!0})),a.registerPartial("carouselArrowLeft",a.template({compiler:[7,">= 4.0.0"],main:function(a,b,c,d,e){return'<button class="carousel-control carousel-control__previous"><span class="icon icon-right-bracket icon-flipped"></span></button>\n'},useData:!0})),a.registerPartial("carouselArrowRight",a.template({compiler:[7,">= 4.0.0"],main:function(a,b,c,d,e){return'<button class="carousel-control carousel-control__next"><span class="icon icon-right-bracket"></span></button>\n'},useData:!0})),a.registerPartial("channelsHeader",a.template({compiler:[7,">= 4.0.0"],main:function(a,b,c,d,e){var f=null!=b?b:{},g=a.escapeExpression;return'<div class="align-inline spacing-top">\n<div class="module-header__icon icon-colorful spacing-right">\n<svg class="icon-discover" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 18 18" enable-background="new 0 0 18 18" xml:space="preserve" width="26" height="26"><rect x="14" width="4" height="4" class="dot"/><rect x="14" y="7" width="4" height="4" class="dot"/><rect x="14" y="14" width="4" height="4" class="dot"/><rect x="7" width="4" height="4" class="dot"/><rect x="7" y="7" width="4" height="4" class="dot"/><rect x="7" y="14" width="4" height="4" class="dot"/><rect width="4" height="4" class="dot"/><rect y="7" width="4" height="4" class="dot"/><rect y="14" width="4" height="4" class="dot"/></g></svg>\n</div>\n<div class="module-header__title">\n<h1 class="text-larger text-darker">'+g(c.gettext.call(f,"Channels",{name:"gettext",hash:{},data:e}))+'</h1>\n</div>\n</div>\n<p class="text-medium text-gray spacing-bottom-narrow">'+g(c.gettext.call(f,"Places to start your own discussions.",{name:"gettext",hash:{},data:e}))+"</p>\n"},useData:!0})),a.registerPartial("genericFollowButton",a.template({1:function(a,b,c,d,e){return" active"},compiler:[7,">= 4.0.0"],main:function(a,b,c,d,e){var f,g=null!=b?b:{},h=a.escapeExpression;return'<button class="btn-follow'+(null!=(f=c["if"].call(g,null!=b?b.isFollowing:b,{name:"if",hash:{},fn:a.program(1,e,0),inverse:a.noop,data:e}))?f:"")+'" data-action="toggle-follow">\n<span class="symbol-default"><span class="icon-plus"></span></span><span class="text-default">'+h(c.gettext.call(g,"Follow",{name:"gettext",hash:{},data:e}))+'</span><span class="symbol-following"><span class="icon-checkmark"></span></span><span class="text-following">'+h(c.gettext.call(g,"Following",{name:"gettext",hash:{},data:e}))+"</span>\n</button>\n"},useData:!0}))}),define("core/extensions/helpers/eq",[],function(){"use strict";return function(a,b){return a===b}}),define("core/extensions/helpers/ne",[],function(){"use strict";return function(a,b){return a!==b}}),define("core/extensions/helpers/gt",[],function(){"use strict";return function(a,b){return a>b}}),define("core/extensions/helpers/lt",[],function(){"use strict";return function(a,b){return a<b}}),define("core/extensions/helpers/ge",[],function(){"use strict";return function(a,b){return a>=b}}),define("core/extensions/helpers/le",[],function(){"use strict";return function(a,b){return a<=b}}),define("core/extensions/helpers/typeof",[],function(){"use strict";return function(a,b){return typeof a===b}}),define("core/extensions/helpers/notNull",[],function(){"use strict";return function(a){re
|
|||
|
},shortLink:function(){return d.shortener+"/t/"+Number(this.id).toString(36)},toJSON:function(){var a=m.toJSON.call(this);return a.permalink=this.permalink(),a.shortLink=this.shortLink(),a},getDiscussionRoute:function(a){var b=["","home","discussion",this.forum.id,this.get("slug"),""];return a=a||this.forum.channel,a&&(a=a.attributes||a,b.splice(2,0,"channel",a.slug)),b.join("/")}});return h.withAdvice.call(n.prototype),n.withThreadVoteCollection=function(a){this.after("initialize",function(){this.votes=new a,this.on("vote:success",function(a){this.votes.get(a.response.id)||this.votes.add({id:a.response.id,score:a.response.vote,currentUser:!0})},this)})},n.withPostCollection=function(b){this.after("initialize",function(c){c=c||{},this.posts=new b(c.posts,{thread:this,cursor:c.postCursor,order:c.order,perPage:this.postsPerPage}),this.listenTo(this.posts,"add reset",function(b){b=b.models?b.models:[b],this.users&&a.each(b,function(a){this.users.get(a.author.id)||this.users.add(a.author)}),this.recalculatePostCount()}),this.listenTo(this.posts,"change:isDeleted change:isFlagged",function(a,b){b&&this.incrementPostCount(-1)})}),this.recalculatePostCount=function(){var a=this.get("posts");a>50||(a=this.posts.reduce(function(a,b){return b.isPublic()?a+1:a},0),this.set("posts",a))}},i.addType("Thread",n),n}),define("core/models/Forum",["backbone","core/UniqueModel","core/api"],function(a,b,c){"use strict";var d=a.Model.extend({defaults:{settings:{},followUrl:"forums/follow",unfollowUrl:"forums/unfollow",isFollowing:!1},initialize:function(a,b){b&&b.channel&&(this.channel=b.channel),this.getFeatures(),this.on("change:id",this.getFeatures)},_changeFollowingState:function(a){return c.call(a,{method:"POST",data:{target:this.get("id")}})},follow:function(){return this.set("isFollowing",!0),this._changeFollowingState(this.get("followUrl"))},unfollow:function(){return this.set("isFollowing",!1),this._changeFollowingState(this.get("unfollowUrl"))},toggleFollowed:function(){if(this.channel&&this.channel.get("options").isCurationOnlyChannel)return this.channel.toggleFollowed();var a=this.get("isFollowing")?this.unfollow():this.follow();return this.trigger("toggled:isFollowing"),a},getFeatures:function(){var a=this;a.id&&!a.get("features")&&c.call("forums/details",{data:{forum:this.id,attach:"forumFeatures"},success:function(b){b&&b.response&&a.set("features",b.response.features)}})}});return b.addType("Forum",d),d}),define("core/models/Media",["underscore","backbone","core/api","core/UniqueModel"],function(a,b,c,d){"use strict";var e=b.Model.extend({idAttribute:"url",defaults:{mediaType:null,html:"",htmlWidth:null,htmlHeight:null,thumbnailUrl:"",thumbnailWidth:null,thumbnailHeight:null,url:"",urlRedirect:"",resolvedUrl:"",resolvedUrlRedirect:"",title:"",description:"",providerName:""},parse:function(a){return a.response},sync:function(b,d,e){if("read"!==b)throw new Error('Media models do not support methods other than "read".');return c.call("media/details.json",a.extend({method:"POST",data:{url:this.get("url"),forum:e.forum}},e))}},{MEDIA_TYPES:{IMAGE:"1",IMAGE_UPLOAD:"2",YOUTUBE_VIDEO:"3",WEBPAGE:"4",TWITTER_STATUS:"5",FACEBOOK_PAGE:"6",FACEBOOK_POST:"7",FACEBOOK_PHOTO:"8",FACEBOOK_VIDEO:"9",SOUNDCLOUD_SOUND:"10",GOOGLE_MAP:"11",VIMEO_VIDEO:"12",VINE_VIDEO:"14",GIF_VIDEO:"15"},WEBPAGE_TYPES:["4","6","7"]});return d.addType("Media",e),e}),define("core/collections/MediaCollection",["backbone","core/models/Media"],function(a,b){"use strict";var c=a.Collection.extend({model:b});return c}),define("common/models",["require","jquery","underscore","backbone","modernizr","core/api","core/UniqueModel","core/models/User","core/models/Post","core/models/Thread","core/models/Forum","core/collections/MediaCollection","core/utils/object/get","core/utils/url/serialize","core/utils/guid","common/utils","core/utils","common/urls","shared/urls","backbone.uniquemodel"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){"use strict";var t=k.extend({defaults:{settings:{}},toJSON:function(){return c.extend(d.Model.prototype.toJSON.apply(this,arguments),{homeUr
|
|||
|
};return f}),define("lounge/views/recommend-button",["backbone","core/utils/storage","templates/lounge/threadVotes"],function(a,b,c){"use strict";var d=a.View.extend({className:"thread-likes",events:{"click [data-action=recommend]":"recommendHandler"},initialize:function(a){this.session=a.session,this.thread=a.thread,this.loggedOutRecommendFlag=this.session.getLoggedOutUserFlags().get(d.ONBOARDING_KEY),this.listenTo(this.thread,"change:userScore",this.render),this.listenTo(this.thread,"change:likes",this.render),this.listenTo(this.session,"change:id",this.startRecommendOnboarding),this.setTooltipEnabled()},setTooltipEnabled:function(){this.tooltipEnabled=this.session.isLoggedIn()?b.get(d.ONBOARDING_KEY):!this.loggedOutRecommendFlag.isRead()},render:function(){return this.$el.html(c({thread:this.thread.toJSON(),user:this.session.toJSON(),loggedIn:this.session.isLoggedIn()})),this},startRecommendOnboarding:function(){this.session.user.get("joinedRecently")&&b.set(d.ONBOARDING_KEY,"true"),this.setTooltipEnabled()},recommendHandler:function(a){a.stopPropagation(),a.preventDefault();var b=0===this.thread.get("userScore");this.trigger(b?"vote:like":"vote:unlike"),this.thread.vote(b?1:0),this.toggleTooltip(b),this.tooltipEnabled&&b&&this.markAsSeen()},markAsSeen:function(){this.session.isLoggedIn()?b.remove(d.ONBOARDING_KEY):this.loggedOutRecommendFlag.markRead()},toggleTooltip:function(a){this.tooltipEnabled&&(a?this.$el.parent().addClass("open"):this.$el.parent().removeClass("open"))}},{ONBOARDING_KEY:"showRecommendOnboarding"});return d}),define("common/collections/LoggedOutCache",["backbone","common/cached-storage","lounge/views/recommend-button"],function(a,b,c){"use strict";var d=[{id:"welcome",title:"",body:""}],e=[{id:c.ONBOARDING_KEY}],f=new b("notes",7776e3),g=a.Model.extend({markRead:function(){f.setItem(this.id,!0)},isRead:function(){return Boolean(f.getItem(this.id))}}),h=a.Collection.extend({initialize:function(a,b){this.session=b.session},model:g,markAllRead:function(){return this.each(function(a){a.markRead()}),this.session.set("notificationCount",0),this},getUnread:function(){return this.filter(function(a){return!a.isRead()})}});return{storage:f,Collection:h,Model:g,LOGGED_OUT_NOTES:d,LOGGED_OUT_FLAGS:e}}),define("common/Session",["jquery","underscore","core/analytics/jester","core/api","core/bus","core/config","core/models/Session","core/switches","core/UniqueModel","core/utils/cookies","core/utils/url/serialize","core/WindowBus","common/collections/LoggedOutCache","common/keys","common/models","common/urls","common/utils","lounge/common","lounge/tracking"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){"use strict";var t,u=3500,v={type:"notifications",routingVersion:f.feedApiVersion},w={},x=new l,y=g.extend({_defaults:{canReply:!0,canModerate:!1,audienceSyncVerified:!1,sso:null},socialLoginProviders:{facebook:function(){var b=a.Deferred();return require(["fb"],b.resolve.bind(b),b.reject.bind(b)),b.promise().then(function(){window.FB.init({appId:n.facebook,xfbml:!1,status:!0,version:"v2.8"});var b=a.Deferred();return window.FB.getLoginStatus(function(a){"connected"===a.status?b.resolve(a):b.reject()}),b.promise()}).then(function(a){c.logStat("lounge.auto_login.fb");var b=a.authResponse;return{grant_type:"urn:disqus:params:oauth:grant-type:facebook-login",client_id:n.embedAPI,expires:b.expiresIn,fb_access_token:b.accessToken}})},google:function(){var b=a.Deferred();return require(["gapi"],function(a){setTimeout(b.reject.bind(b),u),a.load("auth2",b.resolve.bind(b,a))},b.reject.bind(b)),b.promise().then(function(b){var c=b.auth2.init({client_id:n.google,fetch_basic_profile:!1,scope:"profile email"}),d=a.Deferred();return c.then(function(){c.isSignedIn.get()?d.resolve(c.currentUser.get()):d.reject()}),d.promise()}).then(function(a){c.logStat("lounge.auto_login.google");var b=a.getAuthResponse();return{grant_type:"urn:disqus:params:oauth:grant-type:google-login",client_id:n.embedAPI,expires:b.expires_in,google_access_token:JSON.stringify(b)}})}},defaults:function(){var a=new m.Collection(m.LOGGED_OUT_NOTES,{sessi
|
|||
|
var b="https://twitter.com/intent/tweet",c=this.model.shortLink();this._sharePopup(a(b,{url:c,text:this.model.twitterText(c)}))},facebook:function(){this._sharePopup(a("https://www.facebook.com/sharer.php",{u:this.model.shortLink()}),"width=655,height=352")}}},c=function(){function a(){return this.collapseTarget&&this.collapseTarget.length||(this.collapseTarget=this.collapseTargetSelector?this[this.collapseScope].find(this.collapseTargetSelector):this[this.collapseScope]),this.collapseTarget}function b(){var b=this;if(b.isCollapseAllowed){var c=a.call(b);c&&c.length&&(c.height(b.collapsedHeight),e.call(b))}}function c(a){var b=this;if(b.collapseTarget&&b.collapseTarget.length){var c=b.collapseTarget;c.css("height","auto"),c.css("maxHeight","none"),f.call(b),a||(b.isCollapseAllowed=!1)}}function d(){return this.seeMoreButton&&this.seeMoreButton.length||(this.seeMoreButton=a.call(this).siblings("[data-action=see-more]")),this.seeMoreButton}function e(){var a=this;d.call(this).removeClass("hidden").on("click",function(){a.expand()})}function f(){d.call(this).addClass("hidden").off("click")}return function(a){var d=this;d.isCollapseAllowed=!0,d.collapsedHeight=a.collapsedHeight,d.collapseTargetSelector=a.collapseTargetSelector,d.collapseScope=a.collapseScope||"$el",d.collapse=b,d.expand=c}}();return{ShareMixin:b,asCollapsible:c}}),define("lounge/realtime",["underscore","backbone","loglevel","remote/config","core/utils/url/serialize","common/utils","common/urls"],function(a,b,c,d,e,f,g){"use strict";function h(){s.apply(this,arguments),this.marker=0,this.interval=m,this._boundOnError=a.bind(this.onError,this),this._boundOnLoad=a.bind(this.onLoad,this),this._boundOnProgress=a.bind(this.onProgress,this)}function i(){s.apply(this,arguments),this.handshakeSuccess=null,this.interval=m,this.handshakeFails=0,this._boundOnOpen=a.bind(this.onOpen,this),this._boundError=a.bind(this.onError,this),this._boundClose=a.bind(this.onClose,this),this._boundMessage=a.compose(a.bind(this.onMessage,this),function(a){return JSON.parse(a.data)})}var j=d.lounge.REALTIME||{},k=j.EXP_BASE||2,l=j.BACKOFF_LIMIT||300,m=j.BACKOFF_INTERVAL||1,n=j.MAX_HANDSHAKE_FAILS||1,o=j.WEBSOCKETS_ENABLED!==!1&&window.WebSocket&&2===window.WebSocket.CLOSING,p=j.XHR_ENABLED!==!1,q=function(){},r=function(){throw new Error("Pipe class cannot be used directly.")},s=function(b){this.channel=b,this.connection=null,this.paused=!1,this._msgBuffer=[],this._boundOpen=a.bind(this.open,this)};a.extend(s.prototype,b.Events,{getUrl:function(b){var c={};return a.extend(c,b),e(this.baseUrl+this.channel,c)},onMessage:function(a){var b=a.message_type,d=a.firehose_id;this.lastEventId=d,c.debug("RT: new message:",b,d);var e={type:b,data:a.message_body,lastEventId:d};this.trigger(b,e)},_msgToBuffer:function(){this._msgBuffer.push(a.toArray(arguments))},pause:function(a){this.paused||(this.paused=!0,this._trigger=this.trigger,this.trigger=a===!1?q:this._msgToBuffer,c.debug("RT: paused, buffered: %s",a!==!1))},resume:function(){if(this.paused){this.paused=!1,this.trigger=this._trigger,c.debug("RT: resumed, buffered messages: %s",this._msgBuffer.length);for(var a;a=this._msgBuffer.shift();)this.trigger.apply(this,a)}},open:r,close:function(){var a=this.connection;return!!a&&(this.connection=null,a)}}),a.extend(h.prototype,s.prototype,{baseUrl:g.realertime+"/api/2/",onError:function(){this.connection&&(this.connection=null,this.trigger("error",this),this.interval<=l&&(this.interval*=k),c.info("RT: Connection error, backing off %s secs",this.interval),a.delay(this._boundOpen,1e3*this.interval))},onLoad:function(){this.connection&&(this.connection=null,this.trigger("success",this),a.defer(this._boundOpen))},onProgress:function(){if(this.connection){var a,b,d,e,f=this.connection.responseText,g=0;if(f&&!(this.marker>=f.length)){a=f.slice(this.marker).split("\n");for(var h=a.length,i=0;i<h;i++)if(b=a[i],g+=b.length+1,d=b.replace(/^\s+|\s+$/g,"")){try{e=JSON.parse(d)}catch(j){if(i===h-1){g-=b.length+1;break}c.debug("RT: unable to parse: ",d,b);continue}this.onMessage(e)}else c.debug("RT: ignoring e
|
|||
|
},compiler:[7,">= 4.0.0"],main:function(a,b,c,d,e){var f;return null!=(f=c.each.call(null!=b?b:{},null!=b?b.collection:b,{name:"each",hash:{},fn:a.program(1,e,0),inverse:a.noop,data:e}))?f:""},useData:!0})}),define("core/views/media/UploadsProgressSubView",["backbone","core/templates/postMediaUploadProgress"],function(a,b){"use strict";var c=a.View.extend({initialize:function(){this.collection=new a.Collection,this.listenTo(this.collection,"add remove change",this.render)},hasVisible:function(){return Boolean(this.collection.length)},render:function(){return this.$el.html(b({collection:this.collection.toJSON()})),this}});return c}),define("core/templates/postMediaUploadRich",["handlebars","core/templates/handlebars.partials","core/extensions/handlebars.helpers"],function(a){return a.template({1:function(a,b,c,d,e){var f;return a.escapeExpression(a.lambda(null!=(f=null!=b?b.media:b)?f.title:f,b))},3:function(a,b,c,d,e){return a.escapeExpression(c.gettext.call(null!=b?b:{},"Media attachment",{name:"gettext",hash:{},data:e}))},compiler:[7,">= 4.0.0"],main:function(a,b,c,d,e){var f,g=a.lambda,h=a.escapeExpression;return'<li class="publisher-border-color">\n<div class="media-box">\n<div class="media-ct">\n<div class="media-surface">\n<a href="'+h(g(null!=(f=null!=b?b.media:b)?f.url:f,b))+'" target="_blank">\n<img src="'+h(g(null!=(f=null!=b?b.media:b)?f.thumbnailUrl:f,b))+'" alt="'+(null!=(f=c["if"].call(null!=b?b:{},null!=(f=null!=b?b.media:b)?f.title:f,{name:"if",hash:{},fn:a.program(1,e,0),inverse:a.program(3,e,0),data:e}))?f:"")+'">\n</a>\n</div>\n</div>\n</div>\n</li>\n'},useData:!0})}),define("core/views/media/UploadsRichSubView",["underscore","backbone","core/models/Media","core/UniqueModel","core/utils","core/templates/postMediaUploadRich"],function(a,b,c,d,e,f){"use strict";var g=b.View.extend({initialize:function(){this._hasVisible=!1,this.collection=new b.Collection([],{model:c,comparator:"index"}),this.listenTo(this.collection,"add remove reset sort change:thumbnailUrl change:mediaType change:editsFinished",this.render),this.listenTo(this.collection,"change:index",a.bind(this.collection.sort,this.collection))},render:function(){return this.$el.empty(),this._hasVisible=!1,this.collection.each(function(b){b.get("thumbnailUrl")&&(a.contains(c.WEBPAGE_TYPES,b.get("mediaType"))||b.get("editsFinished")&&(this.$el.append(f({media:b.toJSON()})),this._hasVisible=!0))},this),this},hasVisible:function(){return this._hasVisible},addMedia:function(a,b){var e=d.get(c,a.url);if(e)e.set(a);else{if(!a.editsFinished)return;e=new d(c,a),e.fetch(b)}return this.collection.add(e),e},updateFromText:function(b,c,d){if(!b)return void this.collection.reset();var f=e.bleachFindUrls(b);f=a.uniq(f,!1,function(a){return a.url});var g={};a.each(f,function(e){g[e.url]=!0;var f=a.pick(e,"index","url"),h=e.index<c&&c<=e.endIndex||"."===b[e.endIndex];h&&!d.isPasteEvent||(f.editsFinished=!0),this.addMedia(f,d)},this);var h=this.collection.pluck("url");g=a.keys(g);var i=a.difference(h,g);this.collection.remove(this.collection.filter(function(b){return a.contains(i,b.get("url"))}))}});return g}),define("core/templates/postMediaUploads",["handlebars","core/templates/handlebars.partials","core/extensions/handlebars.helpers"],function(a){return a.template({compiler:[7,">= 4.0.0"],main:function(a,b,c,d,e){return'<ul data-role="media-progress-list"></ul>\n<ul data-role="media-rich-list"></ul>\n<div class="media-expanded empty" data-role="media-preview-expanded">\n<img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="\ndata-role="media-preview-expanded-image" alt="'+a.escapeExpression(c.gettext.call(null!=b?b:{},"Media preview placeholder",{name:"gettext",hash:{},data:e}))+'">\n</div>\n'},useData:!0})}),define("core/views/media/UploadsView",["backbone","core/views/media/UploadsProgressSubView","core/views/media/UploadsRichSubView","core/templates/postMediaUploads"],function(a,b,c,d){"use strict";var e=a.View.extend({initialize:function(){this.richView=new c,this.rich=this.richView.collection,this.uploadProgressView=new b,this
|
|||
|
k.replaceChild(p.createTextNode(h),l),w-=f[0].length+g[0].length):(i=n.slice(0,v)+n.slice(v).replace(x,""),j=o.slice(0,w).replace(y,"")+o.slice(w),k.replaceChild(p.createTextNode(i),l),k.replaceChild(p.createTextNode(j),m),w-=g[0].length),s-=f[0].length+g[0].length):(t===u?(h=n.slice(0,v)+b+n.slice(v,w)+c+n.slice(w),k.replaceChild(p.createTextNode(h),l),w+=b.length+c.length):(i=n.slice(0,v)+b+n.slice(v),j=o.slice(0,w)+c+o.slice(w),k.replaceChild(p.createTextNode(i),l),k.replaceChild(p.createTextNode(j),m),w+=c.length),s+=b.length+c.length);else if(d.browser.isFirefox()||d.browser.isIE()){var z=q.childNodes[this.selectionIndices.startElemInd],A=q.childNodes[this.selectionIndices.endElemInd];l=z.childNodes[0],m=A.childNodes[0],n=l.nodeValue,o=m.nodeValue,f=n.slice(v).match(x),g=o.slice(0,w).match(y),f&&g&&0===f.index&&g.index===w-c.length?(t===u?(h=n.slice(0,v)+n.slice(v,w).replace(x,"").replace(y,"")+n.slice(w),z.replaceChild(p.createTextNode(h),l),w-=f[0].length+g[0].length):(i=n.slice(0,v)+n.slice(v).replace(x,""),j=o.slice(0,w).replace(y,"")+o.slice(w),z.replaceChild(p.createTextNode(i),l),A.replaceChild(p.createTextNode(j),m),w-=g[0].length),s-=f[0].length+g[0].length):(t===u?(h=n.slice(0,v)+b+n.slice(v,w)+c+n.slice(w),z.replaceChild(p.createTextNode(h),l),w+=b.length+c.length):(i=n.slice(0,v)+b+n.slice(v),j=o.slice(0,w)+c+o.slice(w),z.replaceChild(p.createTextNode(i),l),A.replaceChild(p.createTextNode(j),m),w+=c.length),s+=b.length+c.length)}else{var B=this.get(),C=B.slice(0,r),D=B.slice(r,s),E=B.slice(s);f=D.match(x),g=D.match(y),f&&g&&0===f.index&&g.index===s-r-c.length?(e=D.replace(x,"").replace(y,""),s=s-f[0].length-g[0].length):(e=b+D+c,s=s+b.length+c.length),this.set(C+e+E)}this.debouncedSaveHistory(),this.selectionIndices={start:r,end:s,startElemInd:t,startElemSelectionInd:v,endElemInd:u,endElemSelectionInd:w},this.selectText()},selectText:function(){var a,b,c,e,f=this.$input[0],g=window.document.createRange(),h=this.selectionIndices.start,i=this.selectionIndices.end,j=f.childNodes[0],k=window.getSelection();if(f.type&&"textarea"===f.type)f.setSelectionRange(h,i);else if(d.browser.isChrome()||d.browser.isSafari()||d.browser.isOpera()||d.browser.isEdge())a=j.childNodes[this.selectionIndices.startElemInd],b=this.selectionIndices.startElemSelectionInd,c=j.childNodes[this.selectionIndices.endElemInd],e=this.selectionIndices.endElemSelectionInd,g.setStart(a,b),g.setEnd(c,e),k.removeAllRanges(),k.addRange(g);else if(d.browser.isFirefox()||d.browser.isIE())a=f.childNodes[this.selectionIndices.startElemInd].childNodes[0],b=this.selectionIndices.startElemSelectionInd,c=f.childNodes[this.selectionIndices.endElemInd].childNodes[0],e=this.selectionIndices.endElemSelectionInd,g.setStart(a,b),g.setEnd(c,e),(!d.browser.isIE()||k.rangeCount>0&&k.getRangeAt(0).getClientRects().length>0)&&k.removeAllRanges(),k.addRange(g);else{var l=j.childNodes[0];g.setStart(l,h),g.setEnd(l,i),k.removeAllRanges(),k.addRange(g)}(d.browser.isEdge()||f.type&&"textarea"===f.type)&&this.focus()},debouncedSaveHistory:a.debounce(function(){var a=this.toJSON()[0];a!==this.history[this.historyPosition]&&(this.historyPosition!==this.history.length-1&&(this.history=this.history.slice(0,this.historyPosition+1)),this.history.push(a),this.historyPosition+=1)},200),undoTextarea:function(){this.historyPosition>0&&(this.historyPosition-=1,this.set(this.history[this.historyPosition]),this.fixInputStructure(),this.focusEndOfText())},redoTextarea:function(){this.historyPosition<this.history.length-1&&(this.historyPosition+=1,this.set(this.history[this.historyPosition]),this.fixInputStructure(),this.focusEndOfText())}},{MAX_TEXTAREA_HEIGHT:350,SAVE_DRAFT_INTERVAL:500,DRAFT_MAX_AGE:864e5,storage:new f(5,"drafts.queue")});return g}),define("core/views/ContentEditableView",["jquery","underscore","core/editable","core/views/TextareaView"],function(a,b,c,d){"use strict";var e=window.document,f=d,g=f.prototype,h=f.extend({events:b.defaults({"focusout [data-role=editable]":"handleFocusOut","click .placeholder":"handlePlaceholderClick"},g.events),initialize:function(){g.
|
|||
|
b.initialize=function(){c.apply(this,arguments),d.initialize.call(this)},b.remove=function(){return this.parent&&this.typingStop(),e.call(this)}};return{asRealtimeTyping:e}}),define("templates/lounge/suggestions",["react","core/strings"],function(a,b){"use strict";var c=b.gettext,d=function(){return a.createElement("ul",{className:"user-mention__list"},a.createElement("li",{className:"header user-mention__header"},a.createElement("h5",null,c("in this conversation"))))};return d}),define("templates/lounge/suggestedUser",["react","core/strings","core/utils/object/get"],function(a,b,c){"use strict";var d=b.gettext,e=function(b){return a.createElement("li",{className:"user-mention__item","data-cid":b.cid||""},a.createElement("img",{src:c(b.avatar,["cache"],""),className:"avatar",alt:d("Avatar")}),a.createElement("span",null,b.name||b.username||null))};return e}),define("lounge/views/posts/SuggestionView",["jquery","underscore","backbone","templates/lounge/suggestions","templates/lounge/suggestedUser"],function(a,b,c,d,e){"use strict";var f=c.View.extend({events:{"click li":"handleClick"},initialize:function(a){this.active=!1,this.mentionsCache=a.mentions,this.userSuggestions=a.userSuggestions,this.userHtmlCache={}},suggest:function(a){var b=this.userSuggestions.find(a,this.mentionsCache);return b&&b.length?(this.renderUsers(b),this.active=!0,void this.$el.show()):void this.clear()},render:function(){return this.$el.html(d()),this.active||this.$el.hide(),this},renderUsers:function(c){var d=b.reduce(c,function(b,c){var d=this.userHtmlCache[c.cid];return void 0===d&&(this.userHtmlCache[c.cid]=d=a(this.renderSingleUser(c))),b.appendChild(d[0]),b},window.document.createDocumentFragment(),this);this.$(".header").siblings().remove().end().after(d).siblings().removeClass("active").first().addClass("active")},renderSingleUser:function(a){var b=a.toJSON();return b.cid=a.cid,e(b)},clear:function(){this.active=!1,this.$el.hide()},handleClick:function(b){var c=a(b.currentTarget);this.select(c.attr("data-cid"))},select:function(a){this.active&&(a||(a=this.$el.find(".active").attr("data-cid")),this.trigger("select",a),this.clear())},move:function(a){if(this.active){var b=this.$el.find(".active"),c="up"===a?"prev":"next",d=b[c]();d.length&&d.attr("data-cid")&&(b.removeClass("active"),d.addClass("active"))}}},{MAX_SUGGESTIONS:5});return f}),define("lounge/views/posts/ContentEditableView",["jquery","underscore","core/editable","core/views/ContentEditableView","common/collections","common/Session","lounge/views/posts/SuggestionView"],function(a,b,c,d,e,f,g){"use strict";var h=window.document,i=d,j=i.prototype,k=i.extend({initialize:function(a){j.initialize.call(this,a),a=a||{},this.userSuggestions=a.userSuggestions,this.mentionsCache=new e.UserCollection,this.restoreMentionedUsers(),this.suggestions=new g({userSuggestions:this.userSuggestions,mentions:this.mentionsCache}),this.listenTo(this.suggestions,"select",this.insertMention),this.reset(),this.$input=null},restoreMentionedUsers:function(){var a=this.getDraft()[2];a&&!b.isEmpty(a)&&this.userSuggestions.addRemote(new e.UserCollection(a))},reset:function(){this.anchorNode=null,this.anchorOffset=null,this.anchorLength=0,this.suggestions.clear()},render:function(){return d.prototype.render.call(this),this.$el.append(this.suggestions.render().el),this},createInput:function(){var a=d.prototype.createInput.call(this);return this.content.getHtmlElements=b.bind(this.getHtmlElements,this),a},getHtmlElements:function(a){if(!a)return a;var c=[a],d=this.getMentionNodes(a);return b.each(d,function(a,d){for(var e=0;e<c.length;e++){var f,g=c[e],h=e;if(b.isString(g)){for(;(f=g.indexOf(d))>-1;)f>0&&(c.splice(e,0,g.substring(0,f)),e+=1),c.splice(e,0,a.cloneNode(!0)),e+=1,g=g.substring(f+d.length);g&&g!==c[h]&&(c.splice(e,0,g),e+=1),h!==e&&c.splice(e,1)}}}),c=b.map(c,function(a){return b.isString(a)?h.createTextNode(a):a})},getMentionNodes:function(a){var b=k.MENTIONS_RE_GROUPED,c={};b.lastIndex=0;for(var d=b.exec(a);d;){var e=d[1],f=this.userSuggestions.all().findWhere({username:e});if(f){var g=k.getMention
|
|||
|
}:{author_name:this.loginFormView.getDisplayName(),author_email:this.loginFormView.getEmail()}},initiatePost:function(){var a=b.bind(this.createPost,this);this.getPostParams().done(a)},shouldAbortCreatePost:function(a,c){return this.constructor.mustVerifyEmailToPost(this.session.user,this.thread.forum)?(this.session.fetch().always(b.bind(function(){this.constructor.mustVerifyEmailToPost(this.session.user,this.thread.forum)?this._alertMustVerify(!0):this.createPost(c)},this)),!0):w.shouldAbortCreatePost.call(this,a,c)},_onCreateError:function(a,b){w._onCreateError.call(this,a,b),this.thread.incrementPostCount(-1)},_onCreateSync:function(a,b){w._onCreateSync.call(this,a,b),this.thread.posts.saveToCache(b)},addPostToThread:function(a){this.thread.incrementPostCount(1),this.thread.posts.add(a)},remove:function(){return this.loginFormView&&(this.loginFormView.remove(),this.loginFormView=null),w.remove.call(this)},submitForm:u(function(){return this.dismissAlert(),this.loginFormView.shouldRegisterUser()?void this.loginFormView.registerUser():this.initiatePost()})},{ContentEditableView:o,User:i.User,Post:i.Post});return m.asRealtimeTyping(x.prototype),l.call(x.prototype),k.call(x.prototype),j.call(x.prototype),x}),define("core/models/RichMediaViewModel",["backbone"],function(a){"use strict";return a.Model.extend({defaults:{deferred:!0,showButtons:!0,activated:!1,kind:"image",deferredHeight:0,providerExpandMessage:"",providerCollapseMessage:"",providerIcon:"icon-proceed",respectSettings:!0}})}),define("core/templates/postMediaInlineLink",["handlebars","core/templates/handlebars.partials","core/extensions/handlebars.helpers"],function(a){return a.template({1:function(a,b,c,d,e){var f;return null!=(f=c["if"].call(null!=b?b:{},null!=b?b.hasUserText:b,{name:"if",hash:{},fn:a.program(2,e,0),inverse:a.noop,data:e}))?f:""},2:function(a,b,c,d,e){var f=a.lambda,g=a.escapeExpression;return'<a href="'+g(f(null!=b?b.href:b,b))+'" rel="nofollow">'+g(f(null!=b?b.text:b,b))+"</a>\n"},4:function(a,b,c,d,e){var f,g=a.lambda,h=a.escapeExpression,i=null!=b?b:{};return'<a href="'+h(g(null!=b?b.href:b,b))+'" class="post-media-link" data-action="expand-collapse-media" rel="nofollow">'+(null!=(f=c["if"].call(i,null!=(f=null!=b?b.model:b)?f.providerIcon:f,{name:"if",hash:{},fn:a.program(5,e,0),inverse:a.noop,data:e}))?f:"")+h(g(null!=b?b.mediaLinkText:b,b))+(null!=(f=c["if"].call(i,null!=b?b.domain:b,{name:"if",hash:{},fn:a.program(7,e,0),inverse:a.noop,data:e}))?f:"")+"</a>\n"},5:function(a,b,c,d,e){var f;return'<i class="'+a.escapeExpression(a.lambda(null!=(f=null!=b?b.model:b)?f.providerIcon:f,b))+'"></i>'},7:function(a,b,c,d,e){return'<span class="post-media-link-domain"> — '+a.escapeExpression(a.lambda(null!=b?b.domain:b,b))+"</span>"},compiler:[7,">= 4.0.0"],main:function(a,b,c,d,e){var f;return null!=(f=c["if"].call(null!=b?b:{},null!=(f=null!=b?b.model:b)?f.deferred:f,{name:"if",hash:{},fn:a.program(1,e,0),inverse:a.program(4,e,0),data:e}))?f:""},useData:!0})}),define("core/views/RichMediaLinkView",["backbone","core/utils","core/templates/postMediaInlineLink"],function(a,b,c){"use strict";return a.View.extend({tagName:"span",events:{"click [data-action=expand-collapse-media]":"handleToggle"},initialize:function(a){this.media=a.media;var c=a.$link;this.linkText=c.text(),this.linkHref=c.attr("href"),this.linkDomain=b.getDomain(this.linkHref),this.linkHasUserText=this.isUserText(c),this.hasGenericMessage=!1,this.linkHasUserText?this.mediaLinkText=this.linkText:this.media.get("title")?this.mediaLinkText=b.niceTruncate(this.media.get("title"),60):(this.hasGenericMessage=!0,this.mediaLinkText=this.model.get("providerExpandMessage")),this.listenTo(this.model,"change:deferred",this.render),this.listenTo(this.model,"change:activated",this.onChangeActivated)},isUserText:function(a){if("A"!==a[0].nodeName)return!1;var b=(a.text()||"").toLowerCase();if(!b)return!1;if(0===b.indexOf("http")||0===b.indexOf("www"))return!1;b=b.replace(/\.\.\.$/,"");var c=(a.attr("href")||"").toLowerCase();return c.indexOf(b)===-1},render:function(){var a=this.mediaLinkT
|
|||
|
})},g=function(b){return a.createElement("div",{className:"tooltip"},a.createElement("div",{className:"notch"}),c(b.post,["author","isAnonymous"])?a.createElement("div",{className:"avatar"},a.createElement(f,{post:b.post})):a.createElement(d,{className:"avatar",user:c(b.post,["author"]),forumId:b.post.forum},a.createElement(f,{post:b.post})),a.createElement("div",{className:"tooltip__content"},a.createElement("h3",null,c(b.post,["author","isAnonymous"])?a.createElement("h3",null,c(b.post,["author","name"],null)):a.createElement(d,{user:c(b.post,["author"]),forumId:b.post.forum},a.createElement("h3",null,c(b.post,["author","name"],null)))),a.createElement("p",null,c(b.post,["excerpt"],null))))};return g}),define("templates/lounge/partials/followButtonSmall",["react","core/config/urls","core/strings","core/utils/object/get"],function(a,b,c,d){"use strict";var e=c.gettext,f=function(c){return d(c.user,["isSession"])?d(c.user,["isEditable"])?a.createElement("a",{href:b.editProfile||"",target:"_blank",className:c.buttonAsLink?"publisher-anchor-color follow-link":"btn btn-small"},e("Edit profile")):null:d(c.user,["isPrivate"])?a.createElement("span",{className:"btn btn-small follow-btn private"},a.createElement("i",{"aria-hidden":"true",className:"icon-lock"})," ",a.createElement("span",{className:"btn-text"},e("Private"))):a.createElement("a",{href:d(c.user,["profileUrl"],""),className:""+(c.buttonAsLink?"publisher-anchor-color follow-link":"btn btn-small follow-btn")+(d(c.user,["isFollowing"])?" following":""),"data-action":"toggleFollow","data-user":d(c.user,["id"],""),target:"_blank",rel:"noopener noreferrer"},a.createElement("span",{className:"btn-text following-text"},e("Following")),a.createElement("span",{className:"btn-text follow-text"},e("Follow")),a.createElement("i",{"aria-hidden":"true",className:"icon-checkmark"}))};return f}),define("templates/lounge/partials/hovercardActions",["react","core/strings","templates/lounge/partials/followButtonSmall","templates/lounge/partials/profileLink"],function(a,b,c,d){"use strict";var e=b.gettext,f=function(b){return a.createElement("div",null,a.createElement(d,{user:b.user,forumId:null,className:"full-profile"},e("Full profile")),b.showFollowButton?a.createElement(c,{user:b.user,buttonAsLink:b.buttonAsLink}):null," ")};return f}),define("templates/lounge/partials/hovercardCounters",["react","core/strings","core/utils/object/get"],function(a,b,c){"use strict";var d=b.gettext,e=function(b){return a.createElement("div",null,1===c(b.user,["numPosts"])?d("1 comment"):d("%(numPosts)s comments",{numPosts:c(b.user,["numPosts"],"")})," ",a.createElement("span",{className:"bullet"},"•")," ",1===c(b.user,["numLikesReceived"])?d("1 vote"):d("%(numLikesReceived)s votes",{numLikesReceived:c(b.user,["numLikesReceived"],"")}))};return e}),define("templates/lounge/hovercard",["react","core/strings","core/utils/object/get","templates/lounge/partials/hovercardActions","templates/lounge/partials/hovercardCounters","templates/lounge/partials/profileLink"],function(a,b,c,d,e,f){"use strict";var g=b.gettext,h=function(b,c){return b.length<=c?b:a.createElement("span",null,b.slice(0,c),"…")},i=function(b){return a.createElement("div",{className:"tooltip"},a.createElement("div",{className:"notch"}),a.createElement(f,{user:b.user,forumId:null,className:"avatar"},a.createElement("img",{"data-user":c(b.user,["id"],""),"data-role":"user-avatar",src:c(b.user,["avatar","cache"],""),className:"user",alt:g("Avatar")})),a.createElement("div",{className:"tooltip__content"},a.createElement("h3",null,a.createElement(f,{user:b.user,forumId:null,"data-role":"username"},c(b.user,["name"],null))," ",c(b.user,["thread","canModerate"])?a.createElement("span",{className:"badge moderator"},g("MOD")):null),c(b.user,["about"])?a.createElement("p",{className:"bio"},h(c(b.user,["about"],""),80)):null,a.createElement("p",{className:"stats","data-role":"counters"},null!==c(b.user,["numPosts"],null)&&null!==c(b.user,["numLikesReceived"],null)?a.createElement(e,{user:b.user}):null)),a.createElement("footer",{className:"to
|
|||
|
},c("You've blocked %(user)s.",{user:d})),a.createElement("p",{className:"spacing-top-bottom"},c("You won't see comments from this user on %(disqus)s in discussions, notifications, and more.",{disqus:"Disqus"})))),a.createElement("div",{className:"admin-modal__footer -mobile clearfix"},a.createElement("div",null,a.createElement("button",{className:"button",onClick:e},c("Done"))," ",a.createElement("a",{className:"button",href:"https://disqus.com/home/settings/blocking/",target:"_blank",rel:"noopener noreferrer",onClick:e},c("Manage Blocked Users")))))};return d}),define("lounge/views/posts/FlaggingView",["backbone","core/api","core/utils","core/bus","core/strings","templates/lounge/flaggingReasons","templates/lounge/flaggingUserBlocking","templates/lounge/flaggingUserBlocked"],function(a,b,c,d,e,f,g,h){"use strict";var i=c.preventDefaultHandler,j=e.gettext,k=a.View.extend({className:"moderate",render:function(){if(this.model.get("isFlaggedByUser"))if(this.blockComplete){var a=this.model.author;this.$el.html(h({displayName:a.get("name"),error:this.blockError,handleComplete:this.handleComplete.bind(this)}))}else{var b=this.model.author;this.$el.html(g({user:b.toJSON(),forumId:this.model.get("forum"),handleBlock:this.handleBlockUser.bind(this),handleComplete:this.handleComplete.bind(this)})),d.trigger("uiAction:viewBlockUser")}else this.$el.html(f({updateReason:this.updateFlaggingReason.bind(this),handleSubmit:this.submitReason.bind(this),handleCancel:this.cancel.bind(this)})),d.trigger("uiAction:viewFlagPost");return this},updateFlaggingReason:function(a){this.reason=a.target.value},cancel:i(function(){this.trigger("cancel")}),handleComplete:function(){this.trigger("success")},submitReason:i(function(){this.reason&&(d.trigger("uiAction:clickFlagPost"),this.model.report(this.reason),this.model.set("isFlaggedByUser",!0),this.render())}),handleBlockUser:i(function(){var a=this,c=this.model.author;return d.trigger("uiAction:clickBlockUser"),c.block().fail(function(c){var d=j("Something went wrong while trying to block this user. Please try again later."),e=c&&c.responseJSON&&c.responseJSON.code;e===b.ERROR_CODES.MAX_ITEMS_REACHED&&(d=j("Unfortunately this user could not be blocked; you have reached the limit for number of users blocked.")),a.blockError=d}).always(function(){a.blockComplete=!0,a.render()})})});return k}),define("core/views/Tooltip",["jquery","core/views/common/HoverCard"],function(a,b){"use strict";var c=b.extend({className:"tooltip-outer message-card",initialize:function(a){b.prototype.initialize.call(this,a),this.template=a.template,this.message=a.message},render:function(){if(this.template)this.$el.html(this.template());else{if(!this.message)return;this.$el.html(a("<div>").addClass("tooltip").text(this.message))}b.prototype.render.call(this)},moveTo:function(a){if(a){var b=this.constructor.POSITION_OFFSET,c=a.offset(),d=this.getContainerPosition(),e=this.$el.width();this.$el.css({bottom:d.containerOffset.height-c.top+b,top:"inherit",left:c.left-e/2})}}},{create:function(a){return b.create(a.id,a,"Tooltip",c)},POSITION_OFFSET:10});return c}),define("core/views/ClickTooltip",["underscore","core/views/common/HoverCard","core/views/Tooltip"],function(a,b,c){"use strict";var d=c.extend({target:function(b){b.on("click",a.bind(this.targetClicked,this,b)),b.on("mouseleave",a.bind(this.leave,this))},targetClicked:function(a){a&&(this.$target=a),"in"!==this._hoverState&&(this._hoverState="in",this.show(),c.open[this.uid]=this)}},{create:function(a){return b.create(a.id,a,"ClickTooltip",d)}});return d}),define("templates/lounge/partials/postVotes",["react","core/strings","core/utils/object/get"],function(a,b,c){"use strict";var d=b.gettext,e=function(b){return a.createElement("div",{className:"post-votes"},a.createElement("a",{href:"#",className:"vote-up "+(c(b.post,["userScore"],0)>0?"upvoted":"")+" count-"+c(b.post,["likes"],""),"data-action":"upvote",title:c(b.post,["likes"])?"":d("Vote up"),name:d("Vote up")},a.createElement("span",{className:"updatable count","data-role":"likes"},c(b.post,["likes"],null))," ",a.c
|
|||
|
this.renderMedia(),this.renderSpoilers(),this.model.get("isRealtime")&&(this.trackPosition=!0,this.listenToOnce(c.postsView,"render:end",this.markSeen)),this.listenToOnce(c.postsView,"render:end",function(){this.markSeen(),this.manageMessageHeight()}),this},positionMenu:function(b){var c=b.data("postId").toString();if(c===this.model.id){var d=this.$(".dropdown-menu",b);if(d.css("top",""),d.height()+d.offset().top>a(window.document).height()){var e=d.css("top")||0;d.css("top",(d.height()+parseInt(e,10))*-1)}}},markHasVisibleChildren:function(){this.hasVisibleChildren=!0,this.model.get("sb")&&(this.$el.removeClass("banned"),this.parent&&this.parent.markHasVisibleChildren())},highlightSyntax:function(){var a=this.contentNode.find("pre code");a.length&&a.each(function(){p.syntaxHighlighter.highlight(this)})},redraw:function(){var a=window.document.createDocumentFragment();this.childrenNode.children().appendTo(a),this.render(),this.childrenNode.append(a),this.blacklist&&this.contentNode.find("[data-role=blacklist-form]").first().append(this.blacklist.el),q.getLounge().postsView.trigger("render:end"),q.getLounge().trigger("domReflow")},handleHasMoreChanged:function(){var b=this.$el.find(".show-children-wrapper");a(b[b.length-1]).toggleClass("hidden",!this.model.get("hasMore"))},processMentions:function(){var b=this.session,c=b&&b.get("sso")&&b.get("sso").profile_url;c&&(c=String(c),0===c.indexOf("//")&&(c="https:"+c),/https?:\/\//.test(c)||(c=null),/\{username\}/.test(c)||(c=null));var d=i.isFeatureActive("sso_less_branding",{forum:this.thread.forum.id})&&!c;this.contentNode.find("[data-dsq-mention]").each(function(){var b=a(this);if(d){var e=a("<span />");e.text(b.text()),e.addClass("mention"),b.replaceWith(e)}else{if(c){var f=c.replace(/\{username\}/gi,encodeURIComponent(b.text()));b.attr("href",f),b.attr("title",f)}else{var g=b.attr("data-dsq-mention").split(":")[0];b.attr("data-action","profile"),b.attr("data-username",g)}b.addClass("mention")}})},attachChild:function(a){var b=a.model;b.created||!b.id||b.get("isImmediateReply")?this.childrenNode.prepend(a.el):this.childrenNode.append(a.el)},toggleReply:function(){this.reply&&this.reply.isOpen()?this.hideReply():this.showReply()},toggleReplyLink:function(a){this.contentNode.find("[data-role=reply-link]").toggleClass("active",a),this.contentNode.find("[data-role=reply-link]").toggleClass("publisher-anchor-color",a)},showReply:function(){this.reply?(this.$el.find("[data-role=reply-form]").first().prepend(this.reply.$el),this.reply.show(),this.reply.focus()):this.getReplyView(),this.toggleReplyLink(!0)},hideReply:function(){this.reply&&(this.reply.hide(),this.toggleReplyLink(!1))},toggleEdit:function(){return this.contentNode.find("[data-role=edit-link]").toggleClass("active"),this.edit?(this.edit.remove(),this.edit=null,void this.messageNode.show()):void this.showEdit()},showEdit:function(){if(this.session.isLoggedOut())return void this.listenToOnce(this.session,"change:id",this.toggleEdit);if(this.model.canBeEdited(this.session,this.thread)&&!this.edit){this.edit=new v({post:this.model,session:this.session,thread:this.thread}),this.edit.render(),this.listenTo(this.edit,"submitted cancel",this.toggleEdit),this.expand(!0);var a=this.messageNode;a.parent().prepend(this.edit.$el),a.hide(),this.edit.resize();var b=q.getLounge();b&&b.scrollToPost(this.model.id),n.trigger("uiAction:postStartUpdate",this.model,{area:"main"})}},removeAsDeleted:function(){this.redraw()},initCards:function(){var a=this;a.initProfileCard(),a.initContextCard(),a.initVotersCard(),a.initAnonVoteCards(),a.initTooltips()},initProfileCard:function(){if(!j.isMobileUserAgent()&&!i.isFeatureActive("sso_less_branding",{forum:this.thread.forum.id})){var a=this.$el.find(".hovercard");a.length&&(this.profileCard=s.ProfileCard.create({session:this.session,user:this.model.author,targetElement:a}))}},initContextCard:function(){if(!j.isMobileUserAgent()){var a=this.parent&&this.parent.model;a&&!a.get("isDeleted")&&(this.contextCard=s.ContextCard.create({post:a,targetElement:this.$el.find("[data-role=parent-link]")}))}}
|
|||
|
key:"menu-auth-sso",className:"sso"},a.createElement("a",{href:"#","data-action":"auth:sso"},e(c.sso,["name"],null))):null,a.createElement("li",{key:"menu-auth-disqus"},a.createElement("a",{href:"#","data-action":"auth:disqus"},"Disqus")),a.createElement("li",{key:"menu-auth-facebook"},a.createElement("a",{href:"#","data-action":"auth:facebook"},"Facebook")),a.createElement("li",{key:"menu-auth-twitter"},a.createElement("a",{href:"#","data-action":"auth:twitter"},"Twitter")),a.createElement("li",{key:"menu-auth-google"},a.createElement("a",{href:"#","data-action":"auth:google"},"Google"))],e(c.user,["thread","canModerate"])?[c.forum.settings.validateAllPosts?null:a.createElement("li",{key:"menu-toggle-thread-premoderate"},a.createElement("a",{href:"#","data-action":"toggle-thread-premoderate"},h(c.thread.validateAllPosts?"Don't Premoderate Thread":"Premoderate Thread"))),a.createElement("li",{key:"menu-toggle-thread"},a.createElement("a",{href:"#","data-action":"toggle-thread"},h(e(c.thread,["isClosed"])?"Open Thread":"Close Thread"))),e(c.forum,["settings","threadReactionsEnabled"])&&e(c.user,["thread","canModerate"])&&c.thread.reactions.eligible?a.createElement("li",{key:"menu-toggle-reactions"},a.createElement("a",{href:"#","data-action":"toggle-reactions"},h(c.thread.reactions&&c.thread.reactions.enabled?"Remove Reactions":"Restore Reactions"))):null,f.isForumRatingsEnabled(c.forum)?a.createElement("li",{key:"menu-toggle-thread-ratings"},a.createElement("a",{href:"#","data-action":"toggle-thread-ratings"},h(c.thread.ratingsEnabled?"Disable Ratings":"Enable Ratings"))):null,e(c.user,["isGlobalAdmin"])?null:a.createElement("li",{key:"menu-help"},a.createElement("a",{href:"https://help.disqus.com/customer/portal/articles/2538045-commenter-launch-pad"},h("Help")))]:null,e(c.user,["isGlobalAdmin"])?[a.createElement("li",{key:"menu-debug"},a.createElement("a",{href:"#","data-action":"debug"},h("Debug"))),a.createElement("li",{key:"menu-repair"},a.createElement("a",{href:"#","data-action":"repair"},h("Repair")))]:null,e(c.user,["isRegistered"])&&e(c.user,["thread","canReply"])?a.createElement("li",null,a.createElement("a",{href:"#","data-action":"logout"},h("Logout"))):null)]};return i}),define("templates/lounge/threadShareBar",["react","core/strings"],function(a,b){"use strict";var c=b.gettext,d=function(){return a.createElement("div",{className:"thread-share-bar-buttons"},a.createElement("span",{className:"thread-share__button share-twitter","data-action":"share:twitter",tabIndex:"0"},a.createElement("span",{className:"icon-twitter"}),a.createElement("span",{className:"share-text"},c("Tweet"))),a.createElement("span",{className:"thread-share__button share-facebook","data-action":"share:facebook",tabIndex:"0"},a.createElement("span",{className:"icon-facebook"}),a.createElement("span",{className:"share-text"},c("Share"))))};return d}),define("templates/lounge/layout",["react"],function(a){"use strict";var b=function(b){var c=b.forum;return a.createElement("div",{id:"layout","data-tracking-area":"layout"},c.settings.behindClickEnabled?a.createElement("div",{id:"behindclick__container"}):null,a.createElement("div",{id:"thread__container"}))};return b}),define("templates/lounge/inthreadAd",["react"],function(a){"use strict";var b=function(){return a.createElement("li",{className:"post advertisement"},a.createElement("div",{className:"post-content","data-role":"post-content"}))};return b}),define("templates/lounge/termsOfService",["react","core/strings"],function(a,b){"use strict";var c=b.gettext,d=function(){return a.createElement("div",null,a.createElement("div",{className:"checkbox-wrapper"},a.createElement("p",null,a.createElement("label",null,a.createElement("input",{type:"checkbox",name:"tos"}),a.createElement("span",{className:"spacing-left-small"},c("I agree to Disqus' %(terms)s",{terms:a.createElement("a",{href:"https://help.disqus.com/customer/portal/articles/466260-terms-of-service",target:"_blank",rel:"noopener noreferrer"},c("Terms of Service"))})))),a.createElement("p",null,a.createElement("label",null,a.createEl
|
|||
|
this.outboundLinkHandler.handleClick(a)},initRealtimeIndicators:function(){var a=this;if(!a.states.realtimeIndicatorsCreated){var c=["north","south"].reduce(function(c,d){return c[d]={contents:'\n<!DOCTYPE html>\n<html lang="'+b.escape(a.language)+'">\n <head>\n <meta charset="utf-8">\n <title>Disqus Realtime Notification</title>\n </head>\n <body>\n <link rel="stylesheet" href="'+b.escape("https://c.disquscdn.com/next/embed/styles/realtime.af77184dec69e96e69aff958ae2bb738.css")+'">\n <div class="'+b.escape(d)+'" id="message">-</div>\n </body>\n</html>\n'},c},{});v.frame.sendHostMessage("indicator:init",c),a.states.realtimeIndicatorsCreated=!0}},insertStreamingComments:b.throttle(function(){var a=this.thread.queue;a.drain(),b.each(a.counters.replies,function(b,c){a.drain(c)})},1e3),updateModeratorBadgeText:function(){var a=this.forum.get("moderatorBadgeText");a&&(w.translations.Mod=a)},logLinkClick:function(b){var c=a(b.currentTarget);if(C.clickShouldBeLogged(b,c))return y.client.emit({verb:"click",object_type:"link",object_id:c[0].href,area:ea.getEventTrackingArea(b)})},handleRealtimeScroll:function(a){if(this.states.inViewport&&this.states.realtimeIndicatorsCreated){var c=b.union([this.queueView],b.values(this.postsView.subViews)),d=0,e=0;b.each(c,function(b){if(b&&!b.getDirection&&(b=b.queueView),b&&!(b.options.count<=0)){var c=b.getDirection(a);1===c?d+=b.options.count:c===-1&&(e+=b.options.count)}});var f,g,h=function(a){var c=a.orientation,d=a.num,e=void 0;return e="north"===c?1===d?pa("One new comment above."):w.interpolate(pa("%(num)s new comments above."),{num:d}):1===d?pa("One new comment below."):w.interpolate(pa("%(num)s new comments below."),{num:d}),"<p>"+b.escape(e)+"</p>"};g={type:"north"},d>0?(f="indicator:show",g.content=h({num:d,orientation:"north"})):f="indicator:hide",v.frame.sendHostMessage(f,g),g={type:"south"},e>0?(g.content=h({num:e,orientation:"south"}),f="indicator:show"):f="indicator:hide",v.frame.sendHostMessage(f,g)}},handleRealtimeClick:function(a){var c=this;v.frame.sendHostMessage("indicator:hide",{type:a});var d,e,f,g=b.union([c],b.toArray(c.postsView.subViews));g=b.filter(g,function(b){if(b=b.queueView,!b||b.options.count<=0)return!1;var d="north"===a?1:-1;return b.getDirection(c.position)===d}),g=b.sortBy(g,function(a){return a===c?0:a.offset.top}),d="north"===a?b.last(g):b.first(g),e=d.queueView,d===c?(f=0,e.handleDrain()):(f=d.offset.top-100,e.handleDrain()),Q.getLounge().once("domReflow",b.bind(v.frame.sendHostMessage,v.frame,"scrollTo",{top:f}))},toggleRealtimeNotifications:function(){var a=this,c=a.thread.queue;if(b.defer(function(){v.frame.sendHostMessage("fakeScroll")}),!c.length)return void a.$el.find("[data-role=realtime-notification]").hide();if(a.thread.get("hasStreaming"))return void a.insertStreamingComments();if(c.counters.comments){var d=a.queueView||new aa.QueuedPostView({model:a.thread,el:a.$el.find("button[data-role=realtime-notification]")});a.queueView=d,d.setCount(c.counters.comments),d.render()}b.each(c.counters.replies,function(b,c){var d=a.thread.posts.get(c);if(d){var e=a.postsView.getPostView(d.cid);if(e){var f=e.queueView;f||(f=new aa.QueuedReplyView({thread:a.thread,postView:e,model:d,el:e.$el.find("[data-role=realtime-notification\\:"+c+"] a")}),e.queueView=f),f.setCount(b),f.render()}}})},initBehindClick:function(){var c=this;if(!c.behindClickView&&c.thread&&a("#behindclick__container").length){var d={title_enabled:!1,title_text:null,title_css:null,button_text:null,button_css:null};k.call("forums/behindClick/details",{data:{forum:this.forum.id}}).success(function(a){var e=a.response;c.showBehindClick(b.defaults({},e,d))})}},showBehindClick:function(b){var c=a("#behindclick__container"),d=new Ba({thread:this.thread,settings:b});d.render(),c.html(d.$el),v.frame.sendHostMessage("rendered",{height:u.getPageHeight()})},toggleBehindClick:function(){this.$("#behindclick__container").hide(),this.states.behindClick=!1,v.frame.trigger("window.inViewport"),v.trigger("uiAction:behindClickButton"),this.trigger("threadView:prep")
|