framework/extensions/suspend/js/dist/forum.js
flarum-bot caefacbecd Bundled output for commit a47bd2d457
Includes transpiled JS/TS, and Typescript declaration files (typings).

[skip ci]
2024-10-19 17:44:34 +00:00

2 lines
17 KiB
JavaScript
Generated

(()=>{var t={720:function(t){t.exports=function(){"use strict";var t=6e4,e=36e5,s="millisecond",n="second",r="minute",a="hour",u="day",i="week",o="month",l="quarter",c="year",d="date",f="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],s=t%100;return"["+t+(e[(s-20)%10]||e[s]||e[0])+"]"}},g=function(t,e,s){var n=String(t);return!n||n.length>=e?t:""+Array(e+1-n.length).join(s)+t},$={s:g,z:function(t){var e=-t.utcOffset(),s=Math.abs(e),n=Math.floor(s/60),r=s%60;return(e<=0?"+":"-")+g(n,2,"0")+":"+g(r,2,"0")},m:function t(e,s){if(e.date()<s.date())return-t(s,e);var n=12*(s.year()-e.year())+(s.month()-e.month()),r=e.clone().add(n,o),a=s-r<0,u=e.clone().add(n+(a?-1:1),o);return+(-(n+(s-r)/(a?r-u:u-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:o,y:c,w:i,d:u,D:d,h:a,m:r,s:n,ms:s,Q:l}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},v="en",y={};y[v]=p;var b="$isDayjsObject",M=function(t){return t instanceof w||!(!t||!t[b])},S=function t(e,s,n){var r;if(!e)return v;if("string"==typeof e){var a=e.toLowerCase();y[a]&&(r=a),s&&(y[a]=s,r=a);var u=e.split("-");if(!r&&u.length>1)return t(u[0])}else{var i=e.name;y[i]=e,r=i}return!n&&r&&(v=r),r||!n&&v},D=function(t,e){if(M(t))return t.clone();var s="object"==typeof e?e:{};return s.date=t,s.args=arguments,new w(s)},_=$;_.l=S,_.i=M,_.w=function(t,e){return D(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var w=function(){function p(t){this.$L=S(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[b]=!0}var g=p.prototype;return g.parse=function(t){this.$d=function(t){var e=t.date,s=t.utc;if(null===e)return new Date(NaN);if(_.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var n=e.match(m);if(n){var r=n[2]-1||0,a=(n[7]||"0").substring(0,3);return s?new Date(Date.UTC(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)):new Date(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)}}return new Date(e)}(t),this.init()},g.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},g.$utils=function(){return _},g.isValid=function(){return!(this.$d.toString()===f)},g.isSame=function(t,e){var s=D(t);return this.startOf(e)<=s&&s<=this.endOf(e)},g.isAfter=function(t,e){return D(t)<this.startOf(e)},g.isBefore=function(t,e){return this.endOf(e)<D(t)},g.$g=function(t,e,s){return _.u(t)?this[e]:this.set(s,t)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(t,e){var s=this,l=!!_.u(e)||e,f=_.p(t),m=function(t,e){var n=_.w(s.$u?Date.UTC(s.$y,e,t):new Date(s.$y,e,t),s);return l?n:n.endOf(u)},h=function(t,e){return _.w(s.toDate()[t].apply(s.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(e)),s)},p=this.$W,g=this.$M,$=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case c:return l?m(1,0):m(31,11);case o:return l?m(1,g):m(0,g+1);case i:var y=this.$locale().weekStart||0,b=(p<y?p+7:p)-y;return m(l?$-b:$+(6-b),g);case u:case d:return h(v+"Hours",0);case a:return h(v+"Minutes",1);case r:return h(v+"Seconds",2);case n:return h(v+"Milliseconds",3);default:return this.clone()}},g.endOf=function(t){return this.startOf(t,!1)},g.$set=function(t,e){var i,l=_.p(t),f="set"+(this.$u?"UTC":""),m=(i={},i[u]=f+"Date",i[d]=f+"Date",i[o]=f+"Month",i[c]=f+"FullYear",i[a]=f+"Hours",i[r]=f+"Minutes",i[n]=f+"Seconds",i[s]=f+"Milliseconds",i)[l],h=l===u?this.$D+(e-this.$W):e;if(l===o||l===c){var p=this.clone().set(d,1);p.$d[m](h),p.init(),this.$d=p.set(d,Math.min(this.$D,p.daysInMonth())).$d}else m&&this.$d[m](h);return this.init(),this},g.set=function(t,e){return this.clone().$set(t,e)},g.get=function(t){return this[_.p(t)]()},g.add=function(s,l){var d,f=this;s=Number(s);var m=_.p(l),h=function(t){var e=D(f);return _.w(e.date(e.date()+Math.round(t*s)),f)};if(m===o)return this.set(o,this.$M+s);if(m===c)return this.set(c,this.$y+s);if(m===u)return h(1);if(m===i)return h(7);var p=(d={},d[r]=t,d[a]=e,d[n]=1e3,d)[m]||1,g=this.$d.getTime()+s*p;return _.w(g,this)},g.subtract=function(t,e){return this.add(-1*t,e)},g.format=function(t){var e=this,s=this.$locale();if(!this.isValid())return s.invalidDate||f;var n=t||"YYYY-MM-DDTHH:mm:ssZ",r=_.z(this),a=this.$H,u=this.$m,i=this.$M,o=s.weekdays,l=s.months,c=s.meridiem,d=function(t,s,r,a){return t&&(t[s]||t(e,n))||r[s].slice(0,a)},m=function(t){return _.s(a%12||12,t,"0")},p=c||function(t,e,s){var n=t<12?"AM":"PM";return s?n.toLowerCase():n};return n.replace(h,(function(t,n){return n||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return _.s(e.$y,4,"0");case"M":return i+1;case"MM":return _.s(i+1,2,"0");case"MMM":return d(s.monthsShort,i,l,3);case"MMMM":return d(l,i);case"D":return e.$D;case"DD":return _.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return d(s.weekdaysMin,e.$W,o,2);case"ddd":return d(s.weekdaysShort,e.$W,o,3);case"dddd":return o[e.$W];case"H":return String(a);case"HH":return _.s(a,2,"0");case"h":return m(1);case"hh":return m(2);case"a":return p(a,u,!0);case"A":return p(a,u,!1);case"m":return String(u);case"mm":return _.s(u,2,"0");case"s":return String(e.$s);case"ss":return _.s(e.$s,2,"0");case"SSS":return _.s(e.$ms,3,"0");case"Z":return r}return null}(t)||r.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(s,d,f){var m,h=this,p=_.p(d),g=D(s),$=(g.utcOffset()-this.utcOffset())*t,v=this-g,y=function(){return _.m(h,g)};switch(p){case c:m=y()/12;break;case o:m=y();break;case l:m=y()/3;break;case i:m=(v-$)/6048e5;break;case u:m=(v-$)/864e5;break;case a:m=v/e;break;case r:m=v/t;break;case n:m=v/1e3;break;default:m=v}return f?m:_.a(m)},g.daysInMonth=function(){return this.endOf(o).$D},g.$locale=function(){return y[this.$L]},g.locale=function(t,e){if(!t)return this.$L;var s=this.clone(),n=S(t,e,!0);return n&&(s.$L=n),s},g.clone=function(){return _.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},p}(),x=w.prototype;return D.prototype=x,[["$ms",s],["$s",n],["$m",r],["$H",a],["$W",u],["$M",o],["$y",c],["$D",d]].forEach((function(t){x[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),D.extend=function(t,e){return t.$i||(t(e,w,D),t.$i=!0),D},D.locale=S,D.isDayjs=M,D.unix=function(t){return D(1e3*t)},D.en=y[v],D.Ls=y,D.p={},D}()},153:function(t){t.exports=function(){"use strict";var t="minute",e=/[+-]\d\d(?::?\d\d)?/g,s=/([+-]|\d\d)/g;return function(n,r,a){var u=r.prototype;a.utc=function(t){return new r({date:t,utc:!0,args:arguments})},u.utc=function(e){var s=a(this.toDate(),{locale:this.$L,utc:!0});return e?s.add(this.utcOffset(),t):s},u.local=function(){return a(this.toDate(),{locale:this.$L,utc:!1})};var i=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),i.call(this,t)};var o=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else o.call(this)};var l=u.utcOffset;u.utcOffset=function(n,r){var a=this.$utils().u;if(a(n))return this.$u?0:a(this.$offset)?l.call(this):this.$offset;if("string"==typeof n&&(n=function(t){void 0===t&&(t="");var n=t.match(e);if(!n)return null;var r=(""+n[0]).match(s)||["-",0,0],a=r[0],u=60*+r[1]+ +r[2];return 0===u?0:"+"===a?u:-u}(n),null===n))return this;var u=Math.abs(n)<=16?60*n:n,i=this;if(r)return i.$offset=u,i.$u=0===n,i;if(0!==n){var o=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(i=this.local().add(u+o,t)).$offset=u,i.$x.$localOffset=o}else i=this.utc();return i};var c=u.format;u.format=function(t){var e=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return c.call(this,e)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var d=u.toDate;u.toDate=function(t){return"s"===t&&this.$offset?a(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():d.call(this)};var f=u.diff;u.diff=function(t,e,s){if(t&&this.$u===t.$u)return f.call(this,t,e,s);var n=this.local(),r=a(t).local();return f.call(n,r,e,s)}}}()}},e={};function s(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n].call(a.exports,a,a.exports,s),a.exports}s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),s.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";s.r(n),s.d(n,{extend:()=>E});const t=flarum.reg.get("core","common/extend"),e=flarum.reg.get("core","forum/app");var r=s.n(e);const a=flarum.reg.get("core","forum/utils/UserControls");var u=s.n(a);const i=flarum.reg.get("core","common/components/Button");var o=s.n(i);const l=flarum.reg.get("core","common/components/Badge");var c=s.n(l);const d=flarum.reg.get("core","common/models/User");var f=s.n(d);const h=flarum.reg.get("core","common/components/FormModal");var p=s.n(h);const g=flarum.reg.get("core","common/utils/Stream");var $=s.n(g);const v=flarum.reg.get("core","common/utils/withAttr");var y=s.n(v);const b=flarum.reg.get("core","common/utils/ItemList");var M=s.n(b);const S=flarum.reg.get("core","common/components/Form");var D=s.n(S);const _=flarum.reg.get("core","common/components/FieldSet");var w=s.n(_),x=s(720),O=s.n(x),k=s(153),T=s.n(k);function U(){return new Date("2038-01-01")}function N(t){return O().utc(t).isSame(O().utc("2038-01-01"))}O().extend(T()),flarum.reg.add("flarum-suspend","forum/helpers/suspensionHelper",{getPermanentSuspensionDate:U,isPermanentSuspensionDate:N,localStorageKey:function(){return"flarum-suspend.acknowledge-suspension"}});class C extends(p()){oninit(t){super.oninit(t);let e=this.attrs.user.suspendedUntil();const s=this.attrs.user.suspendReason(),n=this.attrs.user.suspendMessage();let r=null;new Date>e&&(e=null),e&&(r=9999===e.getFullYear()?"indefinitely":"limited"),this.status=$()(r),this.reason=$()(s),this.message=$()(n),this.daysRemaining=$()("limited"===r&&1-dayjs().diff(e,"days"))}className(){return"SuspendUserModal Modal--medium"}title(){return r().translator.trans("flarum-suspend.forum.suspend_user.title",{user:this.attrs.user})}content(){return m("div",{className:"Modal-body"},m(D(),null,this.formItems().toArray(),m("div",{className:"Form-group Form-controls"},m(o(),{className:"Button Button--primary",loading:this.loading,type:"submit"},r().translator.trans("flarum-suspend.forum.suspend_user.submit_button")))))}radioItems(){const t=new(M());return t.add("not-suspended",m("label",{className:"checkbox"},m("input",{type:"radio",name:"status",checked:!this.status(),value:"",onclick:y()("value",this.status)}),r().translator.trans("flarum-suspend.forum.suspend_user.not_suspended_label")),100),t.add("indefinitely",m("label",{className:"checkbox"},m("input",{type:"radio",name:"status",checked:"indefinitely"===this.status(),value:"indefinitely",onclick:y()("value",this.status)}),r().translator.trans("flarum-suspend.forum.suspend_user.indefinitely_label")),90),t.add("time-suspension",m("label",{className:"checkbox SuspendUserModal-days"},m("input",{type:"radio",name:"status",checked:"limited"===this.status(),value:"limited",onclick:t=>{this.status(t.target.value),m.redraw.sync(),this.$(".SuspendUserModal-days-input input").select(),t.redraw=!1}}),r().translator.trans("flarum-suspend.forum.suspend_user.limited_time_label"),"limited"===this.status()&&m("div",{className:"SuspendUserModal-days-input"},m("input",{type:"number",min:"0",value:this.daysRemaining(),oninput:y()("value",this.daysRemaining),className:"FormControl"}),r().translator.trans("flarum-suspend.forum.suspend_user.limited_time_days_text"))),80),t}formItems(){const t=new(M());return t.add("radioItems",m(w(),{label:r().translator.trans("flarum-suspend.forum.suspend_user.status_heading")},this.radioItems().toArray()),100),t.add("reason",m("div",{className:"Form-group"},m("label",null,r().translator.trans("flarum-suspend.forum.suspend_user.reason")),m("textarea",{className:"FormControl",bidi:this.reason,placeholder:r().translator.trans("flarum-suspend.forum.suspend_user.placeholder_optional"),rows:"4"})),90),t.add("message",m("div",{className:"Form-group"},m("label",null,r().translator.trans("flarum-suspend.forum.suspend_user.display_message")),m("textarea",{className:"FormControl",bidi:this.message,placeholder:r().translator.trans("flarum-suspend.forum.suspend_user.placeholder_optional"),rows:"4"})),80),t}onsubmit(t){t.preventDefault(),this.loading=!0;let e=null;switch(this.status()){case"indefinitely":e=U();break;case"limited":e=dayjs().add(this.daysRemaining(),"days").toDate()}this.attrs.user.save({suspendedUntil:e,suspendReason:this.reason(),suspendMessage:this.message()}).then((()=>this.hide()),this.loaded.bind(this))}}flarum.reg.add("flarum-suspend","forum/components/SuspendUserModal",C);const Y=flarum.reg.get("core","common/components/Modal");var I=s.n(Y);const F=flarum.reg.get("core","common/helpers/fullTime");var H=s.n(F);class j extends(I()){oninit(t){super.oninit(t),this.message=this.attrs.message,this.until=this.attrs.until}className(){return"SuspensionInfoModal Modal"}title(){return r().translator.trans("flarum-suspend.forum.suspension_info.title")}content(){const t=N(new Date(this.until))?r().translator.trans("flarum-suspend.forum.suspension_info.indefinite"):r().translator.trans("flarum-suspend.forum.suspension_info.limited",{date:H()(this.until)});return m("div",{className:"Modal-body"},m(D(),{className:"Form--centered"},m("p",{className:"helpText"},this.message),m("p",{className:"helpText"},t),m("div",{className:"Form-group Form-controls"},m(o(),{className:"Button Button--primary Button--block",onclick:this.hide.bind(this)},r().translator.trans("flarum-suspend.forum.suspension_info.dismiss_button")))))}hide(){localStorage.setItem("flarum-suspend.acknowledge-suspension",this.attrs.until.getTime()),this.attrs.state.close()}}flarum.reg.add("flarum-suspend","forum/components/SuspensionInfoModal",j);const L=flarum.reg.get("core","common/extenders");var A=s.n(L);const W=flarum.reg.get("core","common/Model");var B=s.n(W);const R=flarum.reg.get("core","common/app");var P=s.n(R);const z=flarum.reg.get("core","common/query/IGambit");class Z extends z.BooleanGambit{key(){return P().translator.trans("flarum-suspend.lib.gambits.users.suspended.key",{},!0)}filterKey(){return"suspended"}enabled(){return!!P().session.user&&P().forum.attribute("canSuspendUsers")}}flarum.reg.add("flarum-suspend","common/query/users/SuspendedGambit",Z);const J=[(new(A().Search)).gambit("users",Z),new(A().Model)(f()).attribute("canSuspend")],q=flarum.reg.get("core","forum/components/Notification");var G=s.n(q);class V extends(G()){icon(){return"fas fa-ban"}href(){return r().route.user(this.attrs.notification.subject())}content(){const t=this.attrs.notification,e=t.content(),s=dayjs(e).from(t.createdAt(),!0);return N(e)?r().translator.trans("flarum-suspend.forum.notifications.user_suspended_indefinite_text"):r().translator.trans("flarum-suspend.forum.notifications.user_suspended_text",{timeReadable:s})}excerpt(){return null}}flarum.reg.add("flarum-suspend","forum/components/UserSuspendedNotification",V);class K extends(G()){icon(){return"fas fa-ban"}href(){return r().route.user(this.attrs.notification.subject())}content(){return this.attrs.notification,r().translator.trans("flarum-suspend.forum.notifications.user_unsuspended_text")}excerpt(){return null}}flarum.reg.add("flarum-suspend","forum/components/UserUnsuspendedNotification",K);const E=[...J,(new(A().Notification)).add("userSuspended",V).add("userUnsuspended",K),new(A().Model)(f()).attribute("suspendedUntil",B().transformDate).attribute("suspendReason").attribute("suspendMessage")];r().initializers.add("flarum-suspend",(()=>{(0,t.extend)(u(),"moderationControls",((t,e)=>{e.canSuspend()&&t.add("suspend",m(o(),{icon:"fas fa-ban",onclick:()=>r().modal.show(C,{user:e})},r().translator.trans("flarum-suspend.forum.user_controls.suspend_button")))})),(0,t.extend)(f().prototype,"badges",(function(t){const e=this.suspendedUntil();new Date<e&&t.add("suspended",m(c(),{icon:"fas fa-ban",type:"suspended",label:r().translator.trans("flarum-suspend.forum.user_badge.suspended_tooltip")}),100)})),setTimeout((()=>{if(r().session.user){const t=r().session.user.suspendMessage(),e=r().session.user.suspendedUntil(),s=t&&e&&new Date<e,n=localStorage.getItem("flarum-suspend.acknowledge-suspension")===e?.getTime().toString();s&&!n?r().modal.show(j,{message:t,until:e}):localStorage.getItem("flarum-suspend.acknowledge-suspension")&&localStorage.removeItem("flarum-suspend.acknowledge-suspension")}}),0)}))})(),module.exports=n})();
//# sourceMappingURL=forum.js.map