{"version":3,"file":"swapd-whispers4all.js","names":["define","_exports","_composer","_composer2","_decorators","_iconLibrary","_runloop","_pluginApi","Object","defineProperty","value","default","name","initialize","container","withPluginApi","api","onToolbarCreate","toolbar","context","composerEvents","addButton","title","id","group","icon","condition","lookup","canWhisper","action","model","toggleProperty","reopen","dt7948","p","whisperer","modelAction","isAdmin","this","siteSettings","user_whispers_enabled","REPLY","_super","arguments","_setDangerClass","get","_removeDangerClass","_addDangerClass","next","$","addClass","removeClass","_addWhisperIcon","observes"],"sources":["discourse/plugins/swapd-whispers4all/discourse/initializers/user-whispers.js"],"sourcesContent":["define(\"discourse/plugins/swapd-whispers4all/discourse/initializers/user-whispers\", [\"exports\", \"discourse/controllers/composer\", \"discourse/models/composer\", \"discourse-common/utils/decorators\", \"discourse-common/lib/icon-library\", \"@ember/runloop\", \"discourse/lib/plugin-api\"], function (_exports, _composer, _composer2, _decorators, _iconLibrary, _runloop, _pluginApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    name: \"user-whispers\",\n    initialize(container) {\n      // add \"toggle whisper\" in +  menu\n      (0, _pluginApi.withPluginApi)(\"0.8.7\", api => {\n        api.onToolbarCreate(toolbar => {\n          if (toolbar.context.composerEvents) {\n            toolbar.addButton({\n              title: \"composer.composer_actions.toggle_whisper.label\",\n              id: \"whisper-toggle\",\n              group: \"extras\",\n              icon: \"far-eye-slash\",\n              condition: () => api.container.lookup(\"service:composer\").canWhisper,\n              action: () => {\n                const composerService = api.container.lookup(\"service:composer\");\n                composerService.model.toggleProperty(\"whisper\");\n              }\n            });\n          }\n        });\n      });\n      _composer.default.reopen(dt7948.p({\n        canWhisper(whisperer, modelAction, isAdmin) {\n          // admin is null whenever there is no post, i.e. when there is no reply, i.e. when it's a new topic\n          return this.siteSettings.user_whispers_enabled && modelAction === _composer2.default.REPLY && (whisperer || isAdmin == null || isAdmin) || this._super(...arguments);\n        },\n        _setDangerClass() {\n          if (!this.get(\"isWhispering\")) return this._removeDangerClass();\n          if (!this.siteSettings.user_whispers_enabled) return this._removeDangerClass();\n          if (!this.get(\"isStaffUser\")) return this._removeDangerClass();\n\n          // if we are replying and the post we're replying to was not made by an admin\n          const isAdmin = this.get(\"model.post.admin\");\n          if (isAdmin != null && !isAdmin) {\n            return this._addDangerClass();\n          }\n        },\n        _addDangerClass() {\n          (0, _runloop.next)(this, () => {\n            $(\"#reply-control .reply-area\").addClass(\"user-whisper-danger\");\n          });\n        },\n        _removeDangerClass() {\n          (0, _runloop.next)(this, () => {\n            $(\"#reply-control .reply-area\").removeClass(\"user-whisper-danger\");\n          });\n        },\n        _addWhisperIcon() {\n          if (this.get(\"isWhispering\")) {\n            $(\"#reply-control .reply-area\").addClass(\"is-whispering\");\n          } else {\n            $(\"#reply-control .reply-area\").removeClass(\"is-whispering\");\n          }\n        }\n      }, [[\"method\", \"canWhisper\", [(0, _decorators.default)(\"whisperer\", \"model.action\", \"model.post.admin\", \"model.post\")]], [\"method\", \"_setDangerClass\", [(0, _decorators.observes)(\"isStaffUser\", \"model.post.admin\", \"isWhispering\", \"model.post\")]], [\"method\", \"_addWhisperIcon\", [(0, _decorators.observes)(\"showPreview\", \"isWhispering\", \"model.post\")]]]));\n    }\n  };\n});"],"mappings":"AAAAA,OAAA,kRAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA;AAEAC,OAAAC,eAAAR,EAAA,cACAS,OAAA,IAEAT,EAAAU,aAAA;AACAV,EAAAU,QAAA,CACAC,KAAA,gBACA,UAAAC,CAAAC,IAEA,EAAAP,EAAAQ,eAAA,QAAAC,IACAA,EAAAC,gBAAAC,IACAA,EAAAC,QAAAC,gBACAF,EAAAG,UAAA,CACAC,MAAA,iDACAC,GAAA,iBACAC,MAAA,SACAC,KAAA,gBACAC,UAAA,IAAAV,EAAAF,UAAAa,OAAA,oBAAAC,WACAC,OAAA,KACAb,EAAAF,UAAAa,OAAA,oBACAG,MAAAC,eAAA,kBAMA7B,EAAAS,QAAAqB,OAAAC,OAAAC,EAAA,CACA,UAAAN,CAAAO,EAAAC,EAAAC,GAEA,OAAAC,KAAAC,aAAAC,uBAAAJ,IAAAjC,EAAAQ,QAAA8B,QAAAN,GAAA,MAAAE,OAAAC,KAAAI,UAAAC,UACA,EACA,eAAAC,GACA,IAAAN,KAAAO,IAAA,uBAAAP,KAAAQ;AACA,IAAAR,KAAAC,aAAAC,sBAAA,OAAAF,KAAAQ;AACA,IAAAR,KAAAO,IAAA,sBAAAP,KAAAQ;AAGA,MAAAT,EAAAC,KAAAO,IAAA;AACA,aAAAR,UAAA,EACAC,KAAAS,iBAEA,EACA,eAAAA,IACA,EAAAzC,EAAA0C,MAAAV,KAAA,KACAW,EAAA,8BAAAC,SAAA,wBAEA,EACA,kBAAAJ,IACA,EAAAxC,EAAA0C,MAAAV,KAAA,KACAW,EAAA,8BAAAE,YAAA,wBAEA,EACA,eAAAC,GACAd,KAAAO,IAAA,gBACAI,EAAA,8BAAAC,SAAA,iBAEAD,EAAA,8BAAAE,YAAA,gBAEA,GACA,4BAAA/C,EAAAO,SAAA,8FAAAP,EAAAiD,UAAA,gGAAAjD,EAAAiD,UAAA,+CACA,E","ignoreList":[]}