framework/extensions/flags/js/dist/forum.js
flarum-bot 3757bde4fc Bundled output for commit f67ca5782a
Includes transpiled JS/TS, and Typescript declaration files (typings).

[skip ci]
2023-06-07 10:45:14 +00:00

2 lines
11 KiB
JavaScript
Generated

(()=>{var t={n:a=>{var s=a&&a.__esModule?()=>a.default:()=>a;return t.d(s,{a:s}),s},d:(a,s)=>{for(var o in s)t.o(s,o)&&!t.o(a,o)&&Object.defineProperty(a,o,{enumerable:!0,get:s[o]})},o:(t,a)=>Object.prototype.hasOwnProperty.call(t,a),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},a={};(()=>{"use strict";t.r(a),t.d(a,{extend:()=>ot});const s=flarum.core.compat["forum/app"];var o=t.n(s);class e{constructor(t){this.app=t,this.loading=!1}load(){this.cache&&!this.app.session.user.attribute("newFlagCount")||(this.loading=!0,m.redraw(),this.app.store.find("flags").then((t=>{this.app.session.user.pushAttributes({newFlagCount:0}),this.cache=t.sort(((t,a)=>a.createdAt()-t.createdAt()))})).catch((()=>{})).then((()=>{this.loading=!1,m.redraw()})))}}const r=flarum.core.compat["common/extend"],n=flarum.core.compat["forum/utils/PostControls"];var l=t.n(n);const i=flarum.core.compat["common/components/Button"];var c=t.n(i);const u=flarum.core.compat["common/components/Modal"];var f=t.n(u);const p=flarum.core.compat["common/utils/Stream"];var d=t.n(p);const g=flarum.core.compat["common/utils/withAttr"];var h=t.n(g);const v=flarum.core.compat["common/utils/ItemList"];var _=t.n(v);class b extends(f()){oninit(t){super.oninit(t),this.success=!1,this.reason=d()(""),this.reasonDetail=d()("")}className(){return"FlagPostModal Modal--medium"}title(){return o().translator.trans("flarum-flags.forum.flag_post.title")}content(){return this.success?m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},m("p",{className:"helpText"},o().translator.trans("flarum-flags.forum.flag_post.confirmation_message")),m("div",{className:"Form-group"},m(c(),{className:"Button Button--primary Button--block",onclick:this.hide.bind(this)},o().translator.trans("flarum-flags.forum.flag_post.dismiss_button"))))):m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},m("div",{className:"Form-group"},m("div",null,this.flagReasons().toArray())),m("div",{className:"Form-group"},m(c(),{className:"Button Button--primary Button--block",type:"submit",loading:this.loading,disabled:!this.reason()},o().translator.trans("flarum-flags.forum.flag_post.submit_button")))))}flagReasons(){const t=new(_()),a=o().forum.attribute("guidelinesUrl");return t.add("off-topic",m("label",{className:"checkbox"},m("input",{type:"radio",name:"reason",checked:"off_topic"===this.reason(),value:"off_topic",onclick:h()("value",this.reason)}),m("strong",null,o().translator.trans("flarum-flags.forum.flag_post.reason_off_topic_label")),o().translator.trans("flarum-flags.forum.flag_post.reason_off_topic_text"),"off_topic"===this.reason()&&m("textarea",{className:"FormControl",placeholder:o().translator.trans("flarum-flags.forum.flag_post.reason_details_placeholder"),value:this.reasonDetail(),oninput:h()("value",this.reasonDetail)})),70),t.add("inappropriate",m("label",{className:"checkbox"},m("input",{type:"radio",name:"reason",checked:"inappropriate"===this.reason(),value:"inappropriate",onclick:h()("value",this.reason)}),m("strong",null,o().translator.trans("flarum-flags.forum.flag_post.reason_inappropriate_label")),o().translator.trans("flarum-flags.forum.flag_post.reason_inappropriate_text",{a:a?m("a",{href:a,target:"_blank"}):void 0}),"inappropriate"===this.reason()&&m("textarea",{className:"FormControl",placeholder:o().translator.trans("flarum-flags.forum.flag_post.reason_details_placeholder"),value:this.reasonDetail(),oninput:h()("value",this.reasonDetail)})),60),t.add("spam",m("label",{className:"checkbox"},m("input",{type:"radio",name:"reason",checked:"spam"===this.reason(),value:"spam",onclick:h()("value",this.reason)}),m("strong",null,o().translator.trans("flarum-flags.forum.flag_post.reason_spam_label")),o().translator.trans("flarum-flags.forum.flag_post.reason_spam_text"),"spam"===this.reason()&&m("textarea",{className:"FormControl",placeholder:o().translator.trans("flarum-flags.forum.flag_post.reason_details_placeholder"),value:this.reasonDetail(),oninput:h()("value",this.reasonDetail)})),50),t.add("other",m("label",{className:"checkbox"},m("input",{type:"radio",name:"reason",checked:"other"===this.reason(),value:"other",onclick:h()("value",this.reason)}),m("strong",null,o().translator.trans("flarum-flags.forum.flag_post.reason_other_label")),"other"===this.reason()&&m("textarea",{className:"FormControl",value:this.reasonDetail(),oninput:h()("value",this.reasonDetail)})),10),t}onsubmit(t){t.preventDefault(),this.loading=!0,o().store.createRecord("flags").save({reason:"other"===this.reason()?null:this.reason(),reasonDetail:this.reasonDetail(),relationships:{user:o().session.user,post:this.attrs.post}},{errorHandler:this.onerror.bind(this)}).then((()=>this.success=!0)).catch((()=>{})).then(this.loaded.bind(this))}}function N(){(0,r.extend)(l(),"userControls",(function(t,a){!a.isHidden()&&"comment"===a.contentType()&&a.canFlag()&&t.add("flag",m(c(),{icon:"fas fa-flag",onclick:()=>o().modal.show(b,{post:a})},o().translator.trans("flarum-flags.forum.post_controls.flag_button")))}))}const y=flarum.core.compat["forum/components/HeaderSecondary"];var x=t.n(y);const F=flarum.core.compat["forum/components/NotificationsDropdown"];var k=t.n(F);const w=flarum.core.compat["common/Component"];var C=t.n(w);const D=flarum.core.compat["common/components/Link"];var P=t.n(D);const A=flarum.core.compat["common/components/LoadingIndicator"];var M=t.n(A);const L=flarum.core.compat["common/helpers/avatar"];var B=t.n(L);const O=flarum.core.compat["common/helpers/username"];var T=t.n(O);const S=flarum.core.compat["common/helpers/icon"];var R=t.n(S);const j=flarum.core.compat["common/helpers/humanTime"];var E=t.n(j);class I extends(C()){oninit(t){super.oninit(t),this.state=this.attrs.state}view(){const t=this.state.cache||[];return m("div",{className:"NotificationList FlagList"},m("div",{className:"NotificationList-header"},m("h4",{className:"App-titleControl App-titleControl--text"},o().translator.trans("flarum-flags.forum.flagged_posts.title"))),m("div",{className:"NotificationList-content"},m("ul",{className:"NotificationGroup-content"},t.length?t.map((t=>{const a=t.post();return m("li",null,m(P(),{href:o().route.post(a),className:"Notification Flag",onclick:t=>{o().flags.index=a,t.redraw=!1}},B()(a.user()),R()("fas fa-flag",{className:"Notification-icon"}),m("span",{className:"Notification-content"},o().translator.trans("flarum-flags.forum.flagged_posts.item_text",{username:T()(a.user()),em:m("em",null),discussion:a.discussion().title()})),E()(t.createdAt()),m("div",{className:"Notification-excerpt"},a.contentPlain())))})):this.state.loading?m(M(),{className:"LoadingIndicator--block"}):m("div",{className:"NotificationList-empty"},o().translator.trans("flarum-flags.forum.flagged_posts.empty_text")))))}}class H extends(k()){static initAttrs(t){t.label=t.label||o().translator.trans("flarum-flags.forum.flagged_posts.tooltip"),t.icon=t.icon||"fas fa-flag",super.initAttrs(t)}getMenu(){return m("div",{className:"Dropdown-menu "+this.attrs.menuClassName,onclick:this.menuClick.bind(this)},this.showing&&m(I,{state:this.attrs.state}))}goToRoute(){m.route.set(o().route("flags"))}getUnreadCount(){return o().flags.cache?o().flags.cache.length:o().forum.attribute("flagCount")}getNewCount(){return o().session.user.attribute("newFlagCount")}}function U(){(0,r.extend)(x().prototype,"items",(function(t){o().forum.attribute("canViewFlags")&&t.add("flags",m(H,{state:o().flags}),15)}))}const G=flarum.core.compat["forum/components/Post"];var q=t.n(G);const z=flarum.core.compat["common/utils/humanTime"];var V=t.n(z);function J(){(0,r.extend)(q().prototype,"elementAttrs",(function(t){this.attrs.post.flags().length&&(t.className+=" Post--flagged")})),q().prototype.dismissFlag=function(t){const a=this.attrs.post;return delete a.data.relationships.flags,this.subtree.invalidate(),o().flags.cache&&o().flags.cache.some(((t,s)=>{if(t.post()===a){if(o().flags.cache.splice(s,1),o().flags.index===a){let t=o().flags.cache[s];if(t||(t=o().flags.cache[0]),t){const a=t.post();o().flags.index=a,m.route.set(o().route.post(a))}}return!0}})),o().request({url:o().forum.attribute("apiUrl")+a.apiEndpoint()+"/flags",method:"DELETE",body:t})},q().prototype.flagActionItems=function(){const t=new(_()),a=l().destructiveControls(this.attrs.post);return Object.keys(a.items).forEach((t=>{const s=a.get(t).attrs;s.className="Button",(0,r.extend)(s,"onclick",(()=>this.dismissFlag()))})),t.add("controls",m("div",{className:"ButtonGroup"},a.toArray())),t.add("dismiss",m(c(),{className:"Button",icon:"far fa-eye-slash",onclick:this.dismissFlag.bind(this)},o().translator.trans("flarum-flags.forum.post.dismiss_flag_button")),-100),t},(0,r.extend)(q().prototype,"content",(function(t){const a=this.attrs.post,s=a.flags();s.length&&(a.isHidden()&&(this.revealContent=!0),t.unshift(m("div",{className:"Post-flagged"},m("div",{className:"Post-flagged-flags"},s.map((t=>m("div",{className:"Post-flagged-flag"},this.flagReason(t))))),m("div",{className:"Post-flagged-actions"},this.flagActionItems().toArray()))))})),q().prototype.flagReason=function(t){if("user"===t.type()){const a=t.user(),s=t.reason()?o().translator.trans("flarum-flags.forum.flag_post.reason_".concat(t.reason(),"_label")):null,e=t.reasonDetail(),r=V()(t.createdAt());return[o().translator.trans(s?"flarum-flags.forum.post.flagged_by_with_reason_text":"flarum-flags.forum.post.flagged_by_text",{time:r,user:a,reason:s}),!!e&&m("span",{className:"Post-flagged-detail"},e)]}}}const K=flarum.core.compat["common/extenders"];var Q=t.n(K);const W=flarum.core.compat["common/models/Post"];var X=t.n(W);const Y=flarum.core.compat["components/Page"];var Z=t.n(Y);class $ extends(Z()){oninit(t){super.oninit(t),o().history.push("flags"),o().flags.load(),this.bodyClass="App--flags"}view(){return m("div",{className:"FlagsPage"},m(I,{state:o().flags}))}}const tt=flarum.core.compat["common/Model"];var at=t.n(tt);class st extends(at()){type(){return at().attribute("type").call(this)}reason(){return at().attribute("reason").call(this)}reasonDetail(){return at().attribute("reasonDetail").call(this)}createdAt(){return at().attribute("createdAt",at().transformDate).call(this)}post(){return at().hasOne("post").call(this)}user(){return at().hasOne("user").call(this)}}const ot=[(new(Q().Routes)).add("flags","/flags",$),(new(Q().Store)).add("flags",st),new(Q().Model)(X()).hasMany("flags").attribute("canFlag")],et={"flags/addFlagsToPosts":J,"flags/addFlagControl":N,"flags/addFlagsDropdown":U,"flags/models/Flag":st,"flags/components/FlagList":I,"flags/components/FlagPostModal":b,"flags/components/FlagsPage":$,"flags/components/FlagsDropdown":H},rt=flarum.core;o().initializers.add("flarum-flags",(()=>{o().flags=new e(o()),N(),U(),J()})),Object.assign(rt.compat,et)})(),module.exports=a})();
//# sourceMappingURL=forum.js.map