{"version":3,"file":"swapd-close-topic.js","names":["define","_exports","_pluginApi","_I18n","_ajax","_ajaxError","customClose","topic","mark_sold","arguments","length","undefined","ajax","id","type","data","then","location","reload","catch","popupAjaxError","registerTopicFooterButton","api","container","icon","priority","label","action","lookup","alert","message","default","t","buttons","class","showModal","this","get","dropdown","classNames","dependentKeys","displayed","disabled","Object","defineProperty","value","name","initialize","custom_close_topic_enabled","withPluginApi"],"sources":["discourse/plugins/swapd-close-topic/discourse/initializers/extend-for-close-topic.js"],"sourcesContent":["define(\"discourse/plugins/swapd-close-topic/discourse/initializers/extend-for-close-topic\", [\"exports\", \"discourse/lib/plugin-api\", \"I18n\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\"], function (_exports, _pluginApi, _I18n, _ajax, _ajaxError) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function customClose(topic) {\n    let mark_sold = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    (0, _ajax.ajax)(`/t/${topic.id}/custom_close`, {\n      type: \"POST\",\n      data: {\n        mark_sold\n      }\n    }).then(data => {\n      location.reload();\n    }).catch(_ajaxError.popupAjaxError);\n  }\n  function showModal(container, topic) {\n    const dialog = container.lookup(\"service:dialog\");\n    dialog.alert({\n      message: _I18n.default.t(\"custom_close_topic.message\"),\n      buttons: [{\n        icon: \"lock\",\n        label: _I18n.default.t(\"custom_close_topic.just_close\"),\n        class: \"btn-default\",\n        action: () => customClose(topic)\n      }, {\n        icon: \"dollar-sign\",\n        label: _I18n.default.t(\"custom_close_topic.close_mark_sold\"),\n        class: \"btn-danger\",\n        action: () => customClose(topic, true)\n      }, {\n        label: _I18n.default.t(\"composer.cancel\")\n      }]\n    });\n  }\n  function registerTopicFooterButton(api, container) {\n    api.registerTopicFooterButton({\n      id: \"swapd-close-topic\",\n      icon: \"lock\",\n      priority: 150,\n      label: \"custom_close_topic.close\",\n      action() {\n        showModal(container, this.get(\"topic\"));\n      },\n      dropdown() {\n        return false;\n      },\n      classNames: [\"swapd-close-topic\"],\n      dependentKeys: [],\n      displayed() {\n        return this.get(\"topic.custom_can_close_topic\");\n      },\n      disabled() {\n        return false;\n      }\n    });\n  }\n  var _default = _exports.default = {\n    name: \"extend-for-close-topic\",\n    initialize(container) {\n      const siteSettings = container.lookup(\"site-settings:main\");\n      if (!siteSettings.custom_close_topic_enabled) {\n        return;\n      }\n      (0, _pluginApi.withPluginApi)(\"0.8.28\", api => registerTopicFooterButton(api, container));\n    }\n  };\n});"],"mappings":"AAAAA,OAAA,2LAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA;AAMA,SAAAC,EAAAC,GACA,IAAAC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,IACA,EAAAL,EAAAQ,MAAA,MAAAL,EAAAM,kBAAA,CACAC,KAAA,OACAC,KAAA,CACAP,eAEAQ,KAAAD,IACAE,SAAAC,WACAC,MAAAd,EAAAe,eACA,CAoBA,SAAAC,EAAAC,EAAAC,GACAD,EAAAD,0BAAA,CACAR,GAAA,oBACAW,KAAA,OACAC,SAAA,IACAC,MAAA,2BACA,MAAAC,IAzBA,SAAAJ,EAAAhB,GACAgB,EAAAK,OAAA,kBACAC,MAAA,CACAC,QAAA3B,EAAA4B,QAAAC,EAAA,8BACAC,QAAA,EACAT,KAAA,OACAE,MAAAvB,EAAA4B,QAAAC,EAAA,iCACAE,MAAA,cACAP,OAAA,IAAArB,EAAAC,IACA,CACAiB,KAAA,cACAE,MAAAvB,EAAA4B,QAAAC,EAAA,sCACAE,MAAA,aACAP,OAAA,IAAArB,EAAAC,GAAA,IACA,CACAmB,MAAAvB,EAAA4B,QAAAC,EAAA,sBAGA,EAQAG,CAAAZ,EAAAa,KAAAC,IAAA,SACA,EACAC,SAAA,KACA,EAEAC,WAAA,sBACAC,cAAA,GACA,SAAAC,GACA,OAAAL,KAAAC,IAAA,+BACA,EACAK,SAAA,KACA,GAGA,CAvDAC,OAAAC,eAAA3C,EAAA,cACA4C,OAAA,IAEA5C,EAAA8B,aAAA;AAqDA9B,EAAA8B,QAAA,CACAe,KAAA,yBACA,UAAAC,CAAAxB,GACAA,EAAAK,OAAA,sBACAoB,6BAGA,EAAA9C,EAAA+C,eAAA,SAAA3B,GAAAD,EAAAC,EAAAC,GACA,E","ignoreList":[]}