{"version":3,"file":"discourse-chat-integration_admin.js","names":["define","_exports","_buildPlugin","Object","defineProperty","value","default","resource","path","map","this","route","_component","_templateOnly","_templateFactory","__COLOCATED_TEMPLATE__","createTemplateFactory","id","block","moduleName","isStrictMode","setComponentTemplate","_component2","_object","_service","_ajaxError","_I18n","ChannelDetails","static","dt7948","g","prototype","inject","dialog","i","siteSettings","deleteChannel","channel","deleteConfirm","message","t","didConfirm","destroyRecord","then","args","refresh","catch","popupAjaxError","n","action","ChannelParamRow","validation","get","param","key","trim","regex","RegExp","test","ok","reason","failed","updateValue","event","set","target","EditChannel","validParams","model","provider","channel_parameters","every","save","closeModal","e","EditRule","rule","_tracking","_ajax","TestIntegration","tracked","loading","flash","topicId","send","ajax","data","channel_id","topic_id","type","newTopicSelected","topic","RuleRow","isCategory","isMessage","isMention","_controller","_channelError","_editChannel2","_editRule","_testIntegration","AdminPluginsChatIntegrationProvider","modal","store","anyErrors","channels","forEach","error_key","triggerModal","show","admin","createChannel","createRecord","editChannel","testChannel","createRule","groups","editRuleWithChannel","showError","AdminPluginsChatIntegration","_rest","Channel","updateProperties","getProperties","createProperties","Provider","_category","Rule","category_id","tags","filter","available_types","name","available_filters","available","push","icon","category","categoryId","findById","filterName","_discourse","AdminPluginsChatIntegrationIndex","router","afterModel","totalRows","transitionTo","_group","params","Promise","all","findAll","modelFor","findBy","rules","serialize","refreshProvider","showSettings"],"sources":["discourse/plugins/discourse-chat-integration/admin/adapters/channel.js","discourse/plugins/discourse-chat-integration/admin/adapters/provider.js","discourse/plugins/discourse-chat-integration/admin/adapters/rule.js","discourse/plugins/discourse-chat-integration/admin/chat-integration-route-map.js","discourse/plugins/discourse-chat-integration/admin/components/channel-data.js","discourse/plugins/discourse-chat-integration/admin/components/channel-details.js","discourse/plugins/discourse-chat-integration/admin/components/channel-param-row.js","discourse/plugins/discourse-chat-integration/admin/components/modal/channel-error.js","discourse/plugins/discourse-chat-integration/admin/components/modal/edit-channel.js","discourse/plugins/discourse-chat-integration/admin/components/modal/edit-rule.js","discourse/plugins/discourse-chat-integration/admin/components/modal/test-integration.js","discourse/plugins/discourse-chat-integration/admin/components/rule-row.js","discourse/plugins/discourse-chat-integration/admin/controllers/admin-plugins-chat-integration-provider.js","discourse/plugins/discourse-chat-integration/admin/controllers/admin-plugins-chat-integration.js","discourse/plugins/discourse-chat-integration/admin/models/channel.js","discourse/plugins/discourse-chat-integration/admin/models/provider.js","discourse/plugins/discourse-chat-integration/admin/models/rule.js","discourse/plugins/discourse-chat-integration/admin/routes/admin-plugins-chat-integration-index.js","discourse/plugins/discourse-chat-integration/admin/routes/admin-plugins-chat-integration-provider.js","discourse/plugins/discourse-chat-integration/admin/routes/admin-plugins-chat-integration.js","discourse/plugins/discourse-chat-integration/admin/templates/plugins-chat-integration-provider.js","discourse/plugins/discourse-chat-integration/admin/templates/plugins-chat-integration.js"],"sourcesContent":["define(\"discourse/plugins/discourse-chat-integration/admin/adapters/channel\", [\"exports\", \"admin/adapters/build-plugin\"], function (_exports, _buildPlugin) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _buildPlugin.default)(\"chat-integration\");\n});","define(\"discourse/plugins/discourse-chat-integration/admin/adapters/provider\", [\"exports\", \"admin/adapters/build-plugin\"], function (_exports, _buildPlugin) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _buildPlugin.default)(\"chat-integration\");\n});","define(\"discourse/plugins/discourse-chat-integration/admin/adapters/rule\", [\"exports\", \"admin/adapters/build-plugin\"], function (_exports, _buildPlugin) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _buildPlugin.default)(\"chat-integration\");\n});","define(\"discourse/plugins/discourse-chat-integration/admin/chat-integration-route-map\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    resource: \"admin.adminPlugins\",\n    path: \"/plugins\",\n    map() {\n      this.route(\"chat-integration\", function () {\n        this.route(\"provider\", {\n          path: \"/:provider\"\n        });\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-chat-integration/admin/components/channel-data\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#each @provider.channel_parameters as |param|}}\n    {{#unless param.hidden}}\n      <div class=\"channel-info\">\n        <span class=\"field-name\">\n          {{i18n\n            (concat\n              \"chat_integration.provider.\"\n              @channel.provider\n              \".param.\"\n              param.key\n              \".title\"\n            )\n          }}:\n        </span>\n        <span class=\"field-value\">{{get @channel.data param.key}}</span>\n        <br />\n      </div>\n    {{/unless}}\n  {{/each}}\n  */\n  {\n    \"id\": \"EffeZzcI\",\n    \"block\": \"[[[42,[28,[37,1],[[28,[37,1],[[30,1,[\\\"channel_parameters\\\"]]],null]],null],null,[[[41,[51,[30,2,[\\\"hidden\\\"]]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"channel-info\\\"],[12],[1,\\\"\\\\n      \\\"],[10,1],[14,0,\\\"field-name\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,3],[[28,[37,4],[\\\"chat_integration.provider.\\\",[30,3,[\\\"provider\\\"]],\\\".param.\\\",[30,2,[\\\"key\\\"]],\\\".title\\\"],null]],null]],[1,\\\":\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,1],[14,0,\\\"field-value\\\"],[12],[1,[28,[35,5],[[30,3,[\\\"data\\\"]],[30,2,[\\\"key\\\"]]],null]],[13],[1,\\\"\\\\n      \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[2]],null]],[\\\"@provider\\\",\\\"param\\\",\\\"@channel\\\"],false,[\\\"each\\\",\\\"-track-array\\\",\\\"unless\\\",\\\"i18n\\\",\\\"concat\\\",\\\"get\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-chat-integration/admin/components/channel-data.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-chat-integration/admin/components/channel-details\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/lib/ajax-error\", \"I18n\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _service, _ajaxError, _I18n, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"channel-details\">\n    <div class=\"channel-header\">\n      <div class=\"pull-right\">\n        <DButton\n          @icon=\"pencil-alt\"\n          @title=\"chat_integration.edit_channel\"\n          @label=\"chat_integration.edit_channel\"\n          @action={{fn @editChannel @channel}}\n        />\n  \n        <DButton\n          @icon=\"rocket\"\n          @title=\"chat_integration.test_channel\"\n          @label=\"chat_integration.test_channel\"\n          @action={{fn @test @channel}}\n          class=\"btn-chat-test\"\n        />\n  \n        <DButton\n          @icon=\"trash-alt\"\n          @title=\"chat_integration.delete_channel\"\n          @label=\"chat_integration.delete_channel\"\n          @action={{fn this.deleteChannel @channel}}\n          class=\"cancel delete-channel\"\n        />\n      </div>\n  \n      <span class=\"channel-title\">\n        {{#if @channel.error_key}}\n          <DButton\n            @icon=\"exclamation-triangle\"\n            @action={{fn @showError @channel}}\n            class=\"delete btn-danger\"\n          />\n        {{/if}}\n  \n        <ChannelData @provider={{@provider}} @channel={{@channel}} />\n      </span>\n    </div>\n    <div class=\"channel-body\">\n      <table>\n        <thead>\n          <tr>\n            <th>{{i18n \"chat_integration.rule_table.filter\"}}</th>\n            <th>{{i18n \"chat_integration.rule_table.category\"}}</th>\n  \n            {{#if this.siteSettings.tagging_enabled}}\n              <th>{{i18n \"chat_integration.rule_table.tags\"}}</th>\n            {{/if}}\n  \n            <th></th>\n          </tr>\n        </thead>\n  \n        <tbody>\n          {{#each @channel.rules as |rule|}}\n            <RuleRow\n              @rule={{rule}}\n              @edit={{fn @editRuleWithChannel rule @channel}}\n              @refresh={{@refresh}}\n            />\n          {{/each}}\n        </tbody>\n      </table>\n    </div>\n  \n    <div class=\"channel-footer\">\n      <div class=\"pull-right\">\n        <DButton\n          @icon=\"plus\"\n          @title=\"chat_integration.create_rule\"\n          @label=\"chat_integration.create_rule\"\n          @action={{fn @createRule @channel}}\n        />\n      </div>\n    </div>\n  </div>\n  */\n  {\n    \"id\": \"e2skFVgu\",\n    \"block\": \"[[[10,0],[14,0,\\\"channel-details\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"channel-header\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,0],null,[[\\\"@icon\\\",\\\"@title\\\",\\\"@label\\\",\\\"@action\\\"],[\\\"pencil-alt\\\",\\\"chat_integration.edit_channel\\\",\\\"chat_integration.edit_channel\\\",[28,[37,1],[[30,1],[30,2]],null]]],null],[1,\\\"\\\\n\\\\n      \\\"],[8,[39,0],[[24,0,\\\"btn-chat-test\\\"]],[[\\\"@icon\\\",\\\"@title\\\",\\\"@label\\\",\\\"@action\\\"],[\\\"rocket\\\",\\\"chat_integration.test_channel\\\",\\\"chat_integration.test_channel\\\",[28,[37,1],[[30,3],[30,2]],null]]],null],[1,\\\"\\\\n\\\\n      \\\"],[8,[39,0],[[24,0,\\\"cancel delete-channel\\\"]],[[\\\"@icon\\\",\\\"@title\\\",\\\"@label\\\",\\\"@action\\\"],[\\\"trash-alt\\\",\\\"chat_integration.delete_channel\\\",\\\"chat_integration.delete_channel\\\",[28,[37,1],[[30,0,[\\\"deleteChannel\\\"]],[30,2]],null]]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,1],[14,0,\\\"channel-title\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"error_key\\\"]],[[[1,\\\"        \\\"],[8,[39,0],[[24,0,\\\"delete btn-danger\\\"]],[[\\\"@icon\\\",\\\"@action\\\"],[\\\"exclamation-triangle\\\",[28,[37,1],[[30,4],[30,2]],null]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n      \\\"],[8,[39,3],null,[[\\\"@provider\\\",\\\"@channel\\\"],[[30,5],[30,2]]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"channel-body\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,4],[\\\"chat_integration.rule_table.filter\\\"],null]],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,4],[\\\"chat_integration.rule_table.category\\\"],null]],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"siteSettings\\\",\\\"tagging_enabled\\\"]],[[[1,\\\"            \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,4],[\\\"chat_integration.rule_table.tags\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,6],[[28,[37,6],[[30,2,[\\\"rules\\\"]]],null]],null],null,[[[1,\\\"          \\\"],[8,[39,7],null,[[\\\"@rule\\\",\\\"@edit\\\",\\\"@refresh\\\"],[[30,6],[28,[37,1],[[30,7],[30,6],[30,2]],null],[30,8]]],null],[1,\\\"\\\\n\\\"]],[6]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"channel-footer\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,0],null,[[\\\"@icon\\\",\\\"@title\\\",\\\"@label\\\",\\\"@action\\\"],[\\\"plus\\\",\\\"chat_integration.create_rule\\\",\\\"chat_integration.create_rule\\\",[28,[37,1],[[30,9],[30,2]],null]]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@editChannel\\\",\\\"@channel\\\",\\\"@test\\\",\\\"@showError\\\",\\\"@provider\\\",\\\"rule\\\",\\\"@editRuleWithChannel\\\",\\\"@refresh\\\",\\\"@createRule\\\"],false,[\\\"d-button\\\",\\\"fn\\\",\\\"if\\\",\\\"channel-data\\\",\\\"i18n\\\",\\\"each\\\",\\\"-track-array\\\",\\\"rule-row\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-chat-integration/admin/components/channel-details.hbs\",\n    \"isStrictMode\": false\n  });\n  class ChannelDetails extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"dialog\", [_service.inject]))();\n    #dialog = (() => (dt7948.i(this, \"dialog\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.inject]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    deleteChannel(channel) {\n      this.dialog.deleteConfirm({\n        message: _I18n.default.t(\"chat_integration.channel_delete_confirm\"),\n        didConfirm: () => {\n          return channel.destroyRecord().then(() => this.args.refresh()).catch(_ajaxError.popupAjaxError);\n        }\n      });\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"deleteChannel\", [_object.action]))();\n  }\n  _exports.default = ChannelDetails;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, ChannelDetails);\n});","define(\"discourse/plugins/discourse-chat-integration/admin/components/channel-param-row\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"I18n\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _I18n, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <tr class=\"input\">\n    <td class=\"label\">\n      <label for=\"param-{{@param.key}}\">\n        {{i18n\n          (concat\n            \"chat_integration.provider.\"\n            @channel.provider\n            \".param.\"\n            @param.key\n            \".title\"\n          )\n        }}\n      </label>\n    </td>\n    <td>\n      <input\n        {{on \"input\" this.updateValue}}\n        value={{get @channel.data @param.key}}\n        type=\"text\"\n        name=\"param-{{@param.key}}\"\n      />\n  \n      <InputTip @validation={{this.validation}} />\n    </td>\n  </tr>\n  \n  <tr class=\"chat-instructions\">\n    <td></td>\n    <td>\n      <label>\n        {{i18n\n          (concat\n            \"chat_integration.provider.\"\n            @channel.provider\n            \".param.\"\n            @param.key\n            \".help\"\n          )\n        }}\n      </label>\n    </td>\n  </tr>\n  */\n  {\n    \"id\": \"dK7kW2IQ\",\n    \"block\": \"[[[10,\\\"tr\\\"],[14,0,\\\"input\\\"],[12],[1,\\\"\\\\n  \\\"],[10,\\\"td\\\"],[14,0,\\\"label\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[\\\"param-\\\",[30,1,[\\\"key\\\"]]]]],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,0],[[28,[37,1],[\\\"chat_integration.provider.\\\",[30,2,[\\\"provider\\\"]],\\\".param.\\\",[30,1,[\\\"key\\\"]],\\\".title\\\"],null]],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n  \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n    \\\"],[11,\\\"input\\\"],[16,2,[28,[37,2],[[30,2,[\\\"data\\\"]],[30,1,[\\\"key\\\"]]],null]],[16,3,[29,[\\\"param-\\\",[30,1,[\\\"key\\\"]]]]],[24,4,\\\"text\\\"],[4,[38,3],[\\\"input\\\",[30,0,[\\\"updateValue\\\"]]],null],[12],[13],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,4],null,[[\\\"@validation\\\"],[[30,0,[\\\"validation\\\"]]]],null],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[10,\\\"tr\\\"],[14,0,\\\"chat-instructions\\\"],[12],[1,\\\"\\\\n  \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n  \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"label\\\"],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,0],[[28,[37,1],[\\\"chat_integration.provider.\\\",[30,2,[\\\"provider\\\"]],\\\".param.\\\",[30,1,[\\\"key\\\"]],\\\".help\\\"],null]],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@param\\\",\\\"@channel\\\"],false,[\\\"i18n\\\",\\\"concat\\\",\\\"get\\\",\\\"on\\\",\\\"input-tip\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-chat-integration/admin/components/channel-param-row.hbs\",\n    \"isStrictMode\": false\n  });\n  class ChannelParamRow extends _component2.default {\n    get validation() {\n      const value = this.args.channel.get(`data.${this.args.param.key}`);\n      if (!value?.trim()) {\n        return {\n          failed: true\n        };\n      } else if (!this.args.param.regex) {\n        return {\n          ok: true\n        };\n      } else if (new RegExp(this.args.param.regex).test(value)) {\n        return {\n          ok: true,\n          reason: _I18n.default.t(\"chat_integration.edit_channel_modal.channel_validation.ok\")\n        };\n      } else {\n        return {\n          failed: true,\n          reason: _I18n.default.t(\"chat_integration.edit_channel_modal.channel_validation.fail\")\n        };\n      }\n    }\n    updateValue(event) {\n      this.args.channel.set(`data.${this.args.param.key}`, event.target.value);\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"updateValue\", [_object.action]))();\n  }\n  _exports.default = ChannelParamRow;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, ChannelParamRow);\n});","define(\"discourse/plugins/discourse-chat-integration/admin/components/modal/channel-error\", [\"exports\", \"@ember/component\", \"@ember/component/template-only\", \"@ember/template-factory\"], function (_exports, _component, _templateOnly, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <DModal @closeModal={{@closeModal}} id=\"chat_integration_error_modal\">\n    <h4>{{i18n @model.error_key}}</h4>\n    <pre>{{@model.error_info}}</pre>\n  </DModal>\n  */\n  {\n    \"id\": \"CkqlmK7A\",\n    \"block\": \"[[[8,[39,0],[[24,1,\\\"chat_integration_error_modal\\\"]],[[\\\"@closeModal\\\"],[[30,1]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[10,\\\"h4\\\"],[12],[1,[28,[35,1],[[30,2,[\\\"error_key\\\"]]],null]],[13],[1,\\\"\\\\n  \\\"],[10,\\\"pre\\\"],[12],[1,[30,2,[\\\"error_info\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]]]]]],[\\\"@closeModal\\\",\\\"@model\\\"],false,[\\\"d-modal\\\",\\\"i18n\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-chat-integration/admin/components/modal/channel-error.hbs\",\n    \"isStrictMode\": false\n  });\n  var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, (0, _templateOnly.default)());\n});","define(\"discourse/plugins/discourse-chat-integration/admin/components/modal/edit-channel\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"discourse/lib/ajax-error\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _ajaxError, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <DModal\n    {{on \"submit\" this.save}}\n    @title={{i18n \"chat_integration.edit_channel_modal.title\"}}\n    @closeModal={{@closeModal}}\n    @tagName=\"form\"\n    id=\"chat-integration-edit-channel-modal\"\n  >\n    <:body>\n      <table>\n        <tbody>\n          <tr class=\"input\">\n            <td class=\"label\">\n              <label for=\"provider\">\n                {{i18n \"chat_integration.edit_channel_modal.provider\"}}\n              </label>\n            </td>\n            <td>\n              {{i18n\n                (concat\n                  \"chat_integration.provider.\" @model.channel.provider \".title\"\n                )\n              }}\n            </td>\n          </tr>\n  \n          <tr class=\"chat-instructions\">\n            <td></td>\n            <td></td>\n          </tr>\n  \n          {{#each @model.provider.channel_parameters as |param|}}\n            <ChannelParamRow @param={{param}} @channel={{@model.channel}} />\n          {{/each}}\n        </tbody>\n      </table>\n    </:body>\n  \n    <:footer>\n      <DButton\n        @action={{this.save}}\n        @label=\"chat_integration.edit_channel_modal.save\"\n        @disabled={{not this.validParams}}\n        type=\"submit\"\n        id=\"save-channel\"\n        class=\"btn-primary btn-large\"\n      />\n  \n      <DButton\n        @action={{@closeModal}}\n        @label=\"chat_integration.edit_channel_modal.cancel\"\n        class=\"btn-large\"\n      />\n    </:footer>\n  </DModal>\n  */\n  {\n    \"id\": \"r/eEGRCv\",\n    \"block\": \"[[[8,[39,0],[[24,1,\\\"chat-integration-edit-channel-modal\\\"],[4,[38,2],[\\\"submit\\\",[30,0,[\\\"save\\\"]]],null]],[[\\\"@title\\\",\\\"@closeModal\\\",\\\"@tagName\\\"],[[28,[37,1],[\\\"chat_integration.edit_channel_modal.title\\\"],null],[30,1],\\\"form\\\"]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n    \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"input\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[14,0,\\\"label\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"provider\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_channel_modal.provider\\\"],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[1,[28,[35,1],[[28,[37,3],[\\\"chat_integration.provider.\\\",[30,2,[\\\"channel\\\",\\\"provider\\\"]],\\\".title\\\"],null]],null]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"chat-instructions\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[42,[28,[37,5],[[28,[37,5],[[30,2,[\\\"provider\\\",\\\"channel_parameters\\\"]]],null]],null],null,[[[1,\\\"          \\\"],[8,[39,6],null,[[\\\"@param\\\",\\\"@channel\\\"],[[30,3],[30,2,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"]],[]],[[[1,\\\"\\\\n    \\\"],[8,[39,7],[[24,1,\\\"save-channel\\\"],[24,0,\\\"btn-primary btn-large\\\"],[24,4,\\\"submit\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@disabled\\\"],[[30,0,[\\\"save\\\"]],\\\"chat_integration.edit_channel_modal.save\\\",[28,[37,8],[[30,0,[\\\"validParams\\\"]]],null]]],null],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,7],[[24,0,\\\"btn-large\\\"]],[[\\\"@action\\\",\\\"@label\\\"],[[30,1],\\\"chat_integration.edit_channel_modal.cancel\\\"]],null],[1,\\\"\\\\n  \\\"]],[]]]]]],[\\\"@closeModal\\\",\\\"@model\\\",\\\"param\\\"],false,[\\\"d-modal\\\",\\\"i18n\\\",\\\"on\\\",\\\"concat\\\",\\\"each\\\",\\\"-track-array\\\",\\\"channel-param-row\\\",\\\"d-button\\\",\\\"not\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-chat-integration/admin/components/modal/edit-channel.hbs\",\n    \"isStrictMode\": false\n  });\n  class EditChannel extends _component2.default {\n    get validParams() {\n      return this.args.model.provider.channel_parameters.every(param => {\n        const value = this.args.model.channel.get(`data.${param.key}`);\n        if (!value?.trim()) {\n          return false;\n        }\n        if (!param.regex) {\n          return true;\n        }\n        return new RegExp(param.regex).test(value);\n      });\n    }\n    async save() {\n      try {\n        await this.args.model.channel.save();\n        this.args.closeModal();\n      } catch (e) {\n        (0, _ajaxError.popupAjaxError)(e);\n      }\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"save\", [_object.action]))();\n  }\n  _exports.default = EditChannel;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, EditChannel);\n});","define(\"discourse/plugins/discourse-chat-integration/admin/components/modal/edit-rule\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/lib/ajax-error\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _service, _ajaxError, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <DModal\n    {{on \"submit\" this.save}}\n    @title={{i18n \"chat_integration.edit_rule_modal.title\"}}\n    @closeModal={{@closeModal}}\n    @tagName=\"form\"\n    id=\"chat-integration-edit-rule_modal\"\n  >\n    <:body>\n      <table>\n        <tbody>\n          <tr class=\"input\">\n            <td class=\"label\">\n              <label for=\"provider\">\n                {{i18n \"chat_integration.edit_rule_modal.provider\"}}\n              </label>\n            </td>\n            <td>\n              {{i18n\n                (concat\n                  \"chat_integration.provider.\" @model.channel.provider \".title\"\n                )\n              }}\n            </td>\n          </tr>\n  \n          <tr class=\"chat-instructions\">\n            <td></td>\n            <td></td>\n          </tr>\n  \n          <tr class=\"input\">\n            <td class=\"label\">\n              <label for=\"channel\">\n                {{i18n \"chat_integration.edit_rule_modal.channel\"}}\n              </label>\n            </td>\n            <td>\n              <ChannelData\n                @provider={{@model.provider}}\n                @channel={{@model.channel}}\n              />\n            </td>\n          </tr>\n  \n          <tr class=\"chat-instructions\">\n            <td></td>\n            <td></td>\n          </tr>\n  \n          <tr class=\"input\">\n            <td class=\"label\">\n              <label for=\"filter\">\n                {{i18n \"chat_integration.edit_rule_modal.type\"}}\n              </label>\n            </td>\n            <td>\n              <ComboBox\n                @name=\"type\"\n                @content={{@model.rule.available_types}}\n                @value={{@model.rule.type}}\n                @onChange={{fn (mut @model.rule.type)}}\n              />\n            </td>\n          </tr>\n  \n          <tr class=\"chat-instructions\">\n            <td></td>\n            <td>\n              <label>\n                {{i18n \"chat_integration.edit_rule_modal.instructions.type\"}}\n              </label>\n            </td>\n          </tr>\n  \n          <tr class=\"input\">\n            <td class=\"label\">\n              <label for=\"filter\">\n                {{i18n \"chat_integration.edit_rule_modal.filter\"}}\n              </label>\n            </td>\n            <td>\n              <ComboBox\n                @name=\"filter\"\n                @content={{@model.rule.available_filters}}\n                @value={{@model.rule.filter}}\n                @onChange={{fn (mut @model.rule.filter)}}\n              />\n            </td>\n          </tr>\n  \n          <tr class=\"chat-instructions\">\n            <td></td>\n            <td>\n              <label>\n                {{i18n \"chat_integration.edit_rule_modal.instructions.filter\"}}\n              </label>\n            </td>\n          </tr>\n  \n          {{#if (eq @model.rule.type \"normal\")}}\n            <tr class=\"input\">\n              <td class=\"label\">\n                <label for=\"category\">\n                  {{i18n \"chat_integration.edit_rule_modal.category\"}}\n                </label>\n              </td>\n              <td>\n                <CategoryChooser\n                  @name=\"category\"\n                  @options={{hash none=\"chat_integration.all_categories\"}}\n                  @value={{@model.rule.category_id}}\n                  @onChange={{fn (mut @model.rule.category_id)}}\n                />\n              </td>\n            </tr>\n  \n            <tr class=\"chat-instructions\">\n              <td></td>\n              <td>\n                <label>\n                  {{i18n\n                    \"chat_integration.edit_rule_modal.instructions.category\"\n                  }}\n                </label>\n              </td>\n            </tr>\n          {{else}}\n            <tr class=\"input\">\n              <td class=\"label\">\n                <label for=\"group\">\n                  {{i18n \"chat_integration.edit_rule_modal.group\"}}\n                </label>\n              </td>\n              <td>\n                <ComboBox\n                  @content={{@model.groups}}\n                  @valueProperty=\"id\"\n                  @value={{@model.rule.group_id}}\n                  @onChange={{fn (mut @model.rule.group_id)}}\n                  @options={{hash none=\"chat_integration.choose_group\"}}\n                />\n              </td>\n            </tr>\n  \n            <tr class=\"chat-instructions\">\n              <td></td>\n              <td>\n                <label>\n                  {{i18n \"chat_integration.edit_rule_modal.instructions.group\"}}\n                </label>\n              </td>\n            </tr>\n          {{/if}}\n  \n          {{#if this.siteSettings.tagging_enabled}}\n            <tr class=\"input\">\n              <td class=\"label\">\n                <label for=\"tags\">\n                  {{i18n \"chat_integration.edit_rule_modal.tags\"}}\n                </label>\n              </td>\n              <td>\n                <TagChooser\n                  @placeholderKey=\"chat_integration.all_tags\"\n                  @name=\"tags\"\n                  @tags={{@model.rule.tags}}\n                  @everyTag=\"true\"\n                  @onChange={{fn (mut @model.rule.tags)}}\n                />\n              </td>\n            </tr>\n  \n            <tr class=\"chat-instructions\">\n              <td></td>\n              <td>\n                <label>\n                  {{i18n \"chat_integration.edit_rule_modal.instructions.tags\"}}\n                </label>\n              </td>\n            </tr>\n          {{/if}}\n        </tbody>\n      </table>\n    </:body>\n  \n    <:footer>\n      <DButton\n        @action={{fn this.save @model.rule}}\n        @label=\"chat_integration.edit_rule_modal.save\"\n        type=\"submit\"\n        id=\"save-rule\"\n        class=\"btn-primary btn-large\"\n      />\n  \n      <DButton\n        @label=\"chat_integration.edit_rule_modal.cancel\"\n        @action={{@closeModal}}\n        class=\"btn-large\"\n      />\n    </:footer>\n  </DModal>\n  */\n  {\n    \"id\": \"s9hhKOGm\",\n    \"block\": \"[[[8,[39,0],[[24,1,\\\"chat-integration-edit-rule_modal\\\"],[4,[38,2],[\\\"submit\\\",[30,0,[\\\"save\\\"]]],null]],[[\\\"@title\\\",\\\"@closeModal\\\",\\\"@tagName\\\"],[[28,[37,1],[\\\"chat_integration.edit_rule_modal.title\\\"],null],[30,1],\\\"form\\\"]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n    \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"input\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[14,0,\\\"label\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"provider\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.provider\\\"],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[1,[28,[35,1],[[28,[37,3],[\\\"chat_integration.provider.\\\",[30,2,[\\\"channel\\\",\\\"provider\\\"]],\\\".title\\\"],null]],null]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"chat-instructions\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"input\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[14,0,\\\"label\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channel\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.channel\\\"],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,4],null,[[\\\"@provider\\\",\\\"@channel\\\"],[[30,2,[\\\"provider\\\"]],[30,2,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"chat-instructions\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"input\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[14,0,\\\"label\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"filter\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.type\\\"],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,5],null,[[\\\"@name\\\",\\\"@content\\\",\\\"@value\\\",\\\"@onChange\\\"],[\\\"type\\\",[30,2,[\\\"rule\\\",\\\"available_types\\\"]],[30,2,[\\\"rule\\\",\\\"type\\\"]],[28,[37,6],[[28,[37,7],[[30,2,[\\\"rule\\\",\\\"type\\\"]]],null]],null]]],null],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"chat-instructions\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.instructions.type\\\"],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"input\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[14,0,\\\"label\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"filter\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.filter\\\"],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,5],null,[[\\\"@name\\\",\\\"@content\\\",\\\"@value\\\",\\\"@onChange\\\"],[\\\"filter\\\",[30,2,[\\\"rule\\\",\\\"available_filters\\\"]],[30,2,[\\\"rule\\\",\\\"filter\\\"]],[28,[37,6],[[28,[37,7],[[30,2,[\\\"rule\\\",\\\"filter\\\"]]],null]],null]]],null],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"chat-instructions\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.instructions.filter\\\"],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[37,9],[[30,2,[\\\"rule\\\",\\\"type\\\"]],\\\"normal\\\"],null],[[[1,\\\"          \\\"],[10,\\\"tr\\\"],[14,0,\\\"input\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[14,0,\\\"label\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"category\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.category\\\"],null]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,10],null,[[\\\"@name\\\",\\\"@options\\\",\\\"@value\\\",\\\"@onChange\\\"],[\\\"category\\\",[28,[37,11],null,[[\\\"none\\\"],[\\\"chat_integration.all_categories\\\"]]],[30,2,[\\\"rule\\\",\\\"category_id\\\"]],[28,[37,6],[[28,[37,7],[[30,2,[\\\"rule\\\",\\\"category_id\\\"]]],null]],null]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"tr\\\"],[14,0,\\\"chat-instructions\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"label\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.instructions.category\\\"],null]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"          \\\"],[10,\\\"tr\\\"],[14,0,\\\"input\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[14,0,\\\"label\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"group\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.group\\\"],null]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,5],null,[[\\\"@content\\\",\\\"@valueProperty\\\",\\\"@value\\\",\\\"@onChange\\\",\\\"@options\\\"],[[30,2,[\\\"groups\\\"]],\\\"id\\\",[30,2,[\\\"rule\\\",\\\"group_id\\\"]],[28,[37,6],[[28,[37,7],[[30,2,[\\\"rule\\\",\\\"group_id\\\"]]],null]],null],[28,[37,11],null,[[\\\"none\\\"],[\\\"chat_integration.choose_group\\\"]]]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"tr\\\"],[14,0,\\\"chat-instructions\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"label\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.instructions.group\\\"],null]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"siteSettings\\\",\\\"tagging_enabled\\\"]],[[[1,\\\"          \\\"],[10,\\\"tr\\\"],[14,0,\\\"input\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[14,0,\\\"label\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"tags\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.tags\\\"],null]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,12],null,[[\\\"@placeholderKey\\\",\\\"@name\\\",\\\"@tags\\\",\\\"@everyTag\\\",\\\"@onChange\\\"],[\\\"chat_integration.all_tags\\\",\\\"tags\\\",[30,2,[\\\"rule\\\",\\\"tags\\\"]],\\\"true\\\",[28,[37,6],[[28,[37,7],[[30,2,[\\\"rule\\\",\\\"tags\\\"]]],null]],null]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"tr\\\"],[14,0,\\\"chat-instructions\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"label\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,1],[\\\"chat_integration.edit_rule_modal.instructions.tags\\\"],null]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"]],[]],[[[1,\\\"\\\\n    \\\"],[8,[39,13],[[24,1,\\\"save-rule\\\"],[24,0,\\\"btn-primary btn-large\\\"],[24,4,\\\"submit\\\"]],[[\\\"@action\\\",\\\"@label\\\"],[[28,[37,6],[[30,0,[\\\"save\\\"]],[30,2,[\\\"rule\\\"]]],null],\\\"chat_integration.edit_rule_modal.save\\\"]],null],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,13],[[24,0,\\\"btn-large\\\"]],[[\\\"@label\\\",\\\"@action\\\"],[\\\"chat_integration.edit_rule_modal.cancel\\\",[30,1]]],null],[1,\\\"\\\\n  \\\"]],[]]]]]],[\\\"@closeModal\\\",\\\"@model\\\"],false,[\\\"d-modal\\\",\\\"i18n\\\",\\\"on\\\",\\\"concat\\\",\\\"channel-data\\\",\\\"combo-box\\\",\\\"fn\\\",\\\"mut\\\",\\\"if\\\",\\\"eq\\\",\\\"category-chooser\\\",\\\"hash\\\",\\\"tag-chooser\\\",\\\"d-button\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-chat-integration/admin/components/modal/edit-rule.hbs\",\n    \"isStrictMode\": false\n  });\n  class EditRule extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.inject]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    async save(rule) {\n      try {\n        await rule.save();\n        this.args.closeModal();\n      } catch (e) {\n        (0, _ajaxError.popupAjaxError)(e);\n      }\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"save\", [_object.action]))();\n  }\n  _exports.default = EditRule;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, EditRule);\n});","define(\"discourse/plugins/discourse-chat-integration/admin/components/modal/test-integration\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"I18n\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _ajax, _ajaxError, _I18n, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <DModal\n    {{on \"submit\" this.send}}\n    @title={{i18n \"chat_integration.test_modal.title\"}}\n    @closeModal={{@closeModal}}\n    @flash={{this.flash}}\n    @flashType=\"success\"\n    @tagName=\"form\"\n    id=\"chat_integration_test_modal\"\n  >\n    <:body>\n      <table>\n        <tbody>\n          <tr class=\"input\">\n            <td class=\"label\">\n              <label for=\"channel\">\n                {{i18n \"chat_integration.test_modal.topic\"}}\n              </label>\n            </td>\n            <td>\n              <ChooseTopic @topicChangedCallback={{this.newTopicSelected}} />\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </:body>\n  \n    <:footer>\n      <ConditionalLoadingSpinner @condition={{this.loading}}>\n        <DButton\n          @action={{this.send}}\n          @label=\"chat_integration.test_modal.send\"\n          @disabled={{not this.topicId}}\n          type=\"submit\"\n          id=\"send-test\"\n          class=\"btn-primary btn-large\"\n        />\n        <DButton\n          @action={{@closeModal}}\n          @label=\"chat_integration.test_modal.close\"\n          class=\"btn-large\"\n        />\n      </ConditionalLoadingSpinner>\n    </:footer>\n  </DModal>\n  */\n  {\n    \"id\": \"VO8ZQcDX\",\n    \"block\": \"[[[8,[39,0],[[24,1,\\\"chat_integration_test_modal\\\"],[4,[38,2],[\\\"submit\\\",[30,0,[\\\"send\\\"]]],null]],[[\\\"@title\\\",\\\"@closeModal\\\",\\\"@flash\\\",\\\"@flashType\\\",\\\"@tagName\\\"],[[28,[37,1],[\\\"chat_integration.test_modal.title\\\"],null],[30,1],[30,0,[\\\"flash\\\"]],\\\"success\\\",\\\"form\\\"]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n    \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"input\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[14,0,\\\"label\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channel\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[28,[35,1],[\\\"chat_integration.test_modal.topic\\\"],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,3],null,[[\\\"@topicChangedCallback\\\"],[[30,0,[\\\"newTopicSelected\\\"]]]],null],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"]],[]],[[[1,\\\"\\\\n    \\\"],[8,[39,4],null,[[\\\"@condition\\\"],[[30,0,[\\\"loading\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[39,5],[[24,1,\\\"send-test\\\"],[24,0,\\\"btn-primary btn-large\\\"],[24,4,\\\"submit\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@disabled\\\"],[[30,0,[\\\"send\\\"]],\\\"chat_integration.test_modal.send\\\",[28,[37,6],[[30,0,[\\\"topicId\\\"]]],null]]],null],[1,\\\"\\\\n      \\\"],[8,[39,5],[[24,0,\\\"btn-large\\\"]],[[\\\"@action\\\",\\\"@label\\\"],[[30,1],\\\"chat_integration.test_modal.close\\\"]],null],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[]]]]]],[\\\"@closeModal\\\"],false,[\\\"d-modal\\\",\\\"i18n\\\",\\\"on\\\",\\\"choose-topic\\\",\\\"conditional-loading-spinner\\\",\\\"d-button\\\",\\\"not\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-chat-integration/admin/components/modal/test-integration.hbs\",\n    \"isStrictMode\": false\n  });\n  class TestIntegration extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"flash\", [_tracking.tracked]))();\n    #flash = (() => (dt7948.i(this, \"flash\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"topicId\", [_tracking.tracked]))();\n    #topicId = (() => (dt7948.i(this, \"topicId\"), void 0))();\n    async send() {\n      this.loading = true;\n      try {\n        await (0, _ajax.ajax)(\"/admin/plugins/chat-integration/test\", {\n          data: {\n            channel_id: this.args.model.channel.id,\n            topic_id: this.topicId\n          },\n          type: \"POST\"\n        });\n        this.loading = false;\n        this.flash = _I18n.default.t(\"chat_integration.test_modal.success\");\n      } catch (e) {\n        (0, _ajaxError.popupAjaxError)(e);\n      }\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"send\", [_object.action]))();\n    newTopicSelected(topic) {\n      this.topicId = topic.id;\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"newTopicSelected\", [_object.action]))();\n  }\n  _exports.default = TestIntegration;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, TestIntegration);\n});","define(\"discourse/plugins/discourse-chat-integration/admin/components/rule-row\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/lib/ajax-error\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _service, _ajaxError, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <tr>\n    <td>\n      {{@rule.filterName}}\n    </td>\n  \n    <td>\n      {{#if this.isCategory}}\n        {{#if @rule.category}}\n          {{category-link @rule.category allowUncategorized=\"true\" link=\"false\"}}\n        {{else}}\n          {{i18n \"chat_integration.all_categories\"}}\n        {{/if}}\n      {{else if this.isMention}}\n        {{i18n \"chat_integration.group_mention_template\" name=@rule.group_name}}\n      {{else if this.isMessage}}\n        {{i18n \"chat_integration.group_message_template\" name=@rule.group_name}}\n      {{/if}}\n    </td>\n  \n    <td>\n      {{#if this.siteSettings.tagging_enabled}}\n        {{#if @rule.tags}}\n          {{@rule.tags}}\n        {{else}}\n          {{i18n \"chat_integration.all_tags\"}}\n        {{/if}}\n      {{/if}}\n    </td>\n  \n    <td>\n      <DButton\n        @icon=\"pencil-alt\"\n        @title=\"chat_integration.rule_table.edit_rule\"\n        @action={{fn @edit @rule}}\n        class=\"edit\"\n      />\n  \n      <DButton\n        @icon=\"far-trash-alt\"\n        @title=\"chat_integration.rule_table.delete_rule\"\n        @action={{fn this.delete @rule}}\n        class=\"delete\"\n      />\n    </td>\n  </tr>\n  */\n  {\n    \"id\": \"Uw2xDtLy\",\n    \"block\": \"[[[10,\\\"tr\\\"],[12],[1,\\\"\\\\n  \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n    \\\"],[1,[30,1,[\\\"filterName\\\"]]],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isCategory\\\"]],[[[41,[30,1,[\\\"category\\\"]],[[[1,\\\"        \\\"],[1,[28,[35,1],[[30,1,[\\\"category\\\"]]],[[\\\"allowUncategorized\\\",\\\"link\\\"],[\\\"true\\\",\\\"false\\\"]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"        \\\"],[1,[28,[35,2],[\\\"chat_integration.all_categories\\\"],null]],[1,\\\"\\\\n\\\"]],[]]]],[]],[[[41,[30,0,[\\\"isMention\\\"]],[[[1,\\\"      \\\"],[1,[28,[35,2],[\\\"chat_integration.group_mention_template\\\"],[[\\\"name\\\"],[[30,1,[\\\"group_name\\\"]]]]]],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"isMessage\\\"]],[[[1,\\\"      \\\"],[1,[28,[35,2],[\\\"chat_integration.group_message_template\\\"],[[\\\"name\\\"],[[30,1,[\\\"group_name\\\"]]]]]],[1,\\\"\\\\n    \\\"]],[]],null]],[]]]],[]]],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"siteSettings\\\",\\\"tagging_enabled\\\"]],[[[41,[30,1,[\\\"tags\\\"]],[[[1,\\\"        \\\"],[1,[30,1,[\\\"tags\\\"]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"        \\\"],[1,[28,[35,2],[\\\"chat_integration.all_tags\\\"],null]],[1,\\\"\\\\n\\\"]],[]]]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[39,3],[[24,0,\\\"edit\\\"]],[[\\\"@icon\\\",\\\"@title\\\",\\\"@action\\\"],[\\\"pencil-alt\\\",\\\"chat_integration.rule_table.edit_rule\\\",[28,[37,4],[[30,2],[30,1]],null]]],null],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,3],[[24,0,\\\"delete\\\"]],[[\\\"@icon\\\",\\\"@title\\\",\\\"@action\\\"],[\\\"far-trash-alt\\\",\\\"chat_integration.rule_table.delete_rule\\\",[28,[37,4],[[30,0,[\\\"delete\\\"]],[30,1]],null]]],null],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@rule\\\",\\\"@edit\\\"],false,[\\\"if\\\",\\\"category-link\\\",\\\"i18n\\\",\\\"d-button\\\",\\\"fn\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-chat-integration/admin/components/rule-row.hbs\",\n    \"isStrictMode\": false\n  });\n  class RuleRow extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.inject]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    get isCategory() {\n      return this.args.rule.type === \"normal\";\n    }\n    get isMessage() {\n      return this.args.rule.type === \"group_message\";\n    }\n    get isMention() {\n      return this.args.rule.type === \"group_mention\";\n    }\n    delete(rule) {\n      rule.destroyRecord().then(() => this.args.refresh()).catch(_ajaxError.popupAjaxError);\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"delete\", [_object.action]))();\n  }\n  _exports.default = RuleRow;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, RuleRow);\n});","define(\"discourse/plugins/discourse-chat-integration/admin/controllers/admin-plugins-chat-integration-provider\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@ember/service\", \"discourse/plugins/discourse-chat-integration/admin/components/modal/channel-error\", \"discourse/plugins/discourse-chat-integration/admin/components/modal/edit-channel\", \"discourse/plugins/discourse-chat-integration/admin/components/modal/edit-rule\", \"discourse/plugins/discourse-chat-integration/admin/components/modal/test-integration\"], function (_exports, _controller, _object, _service, _channelError, _editChannel2, _editRule, _testIntegration) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsChatIntegrationProvider extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"modal\", [_service.inject]))();\n    #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"store\", [_service.inject]))();\n    #store = (() => (dt7948.i(this, \"store\"), void 0))();\n    get anyErrors() {\n      let anyErrors = false;\n      this.model.channels.forEach(channel => {\n        if (channel.error_key) {\n          anyErrors = true;\n        }\n      });\n      return anyErrors;\n    }\n    async triggerModal(modal, model) {\n      await this.modal.show(modal, {\n        model: {\n          ...model,\n          admin: true\n        }\n      });\n      this.refresh();\n    }\n    createChannel() {\n      return this.triggerModal(_editChannel2.default, {\n        channel: this.store.createRecord(\"channel\", {\n          provider: this.model.provider.id,\n          data: {}\n        }),\n        provider: this.model.provider\n      });\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"createChannel\", [_object.action]))();\n    editChannel(channel) {\n      return this.triggerModal(_editChannel2.default, {\n        channel,\n        provider: this.model.provider\n      });\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"editChannel\", [_object.action]))();\n    testChannel(channel) {\n      return this.triggerModal(_testIntegration.default, {\n        channel\n      });\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"testChannel\", [_object.action]))();\n    createRule(channel) {\n      return this.triggerModal(_editRule.default, {\n        rule: this.store.createRecord(\"rule\", {\n          channel_id: channel.id,\n          channel\n        }),\n        channel,\n        provider: this.model.provider,\n        groups: this.model.groups\n      });\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"createRule\", [_object.action]))();\n    editRuleWithChannel(rule, channel) {\n      return this.triggerModal(_editRule.default, {\n        rule,\n        channel,\n        provider: this.model.provider,\n        groups: this.model.groups\n      });\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"editRuleWithChannel\", [_object.action]))();\n    showError(channel) {\n      return this.triggerModal(_channelError.default, {\n        channel\n      });\n    }\n    static #_8 = (() => dt7948.n(this.prototype, \"showError\", [_object.action]))();\n    refresh() {\n      this.send(\"refreshProvider\");\n    }\n    static #_9 = (() => dt7948.n(this.prototype, \"refresh\", [_object.action]))();\n  }\n  _exports.default = AdminPluginsChatIntegrationProvider;\n});","define(\"discourse/plugins/discourse-chat-integration/admin/controllers/admin-plugins-chat-integration\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsChatIntegration extends _controller.default {}\n  _exports.default = AdminPluginsChatIntegration;\n});","define(\"discourse/plugins/discourse-chat-integration/admin/models/channel\", [\"exports\", \"discourse/models/rest\"], function (_exports, _rest) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class Channel extends _rest.default {\n    updateProperties() {\n      return this.getProperties([\"data\"]);\n    }\n    createProperties() {\n      return this.getProperties([\"provider\", \"data\"]);\n    }\n  }\n  _exports.default = Channel;\n});","define(\"discourse/plugins/discourse-chat-integration/admin/models/provider\", [\"exports\", \"discourse/models/rest\"], function (_exports, _rest) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class Provider extends _rest.default {}\n  _exports.default = Provider;\n});","define(\"discourse/plugins/discourse-chat-integration/admin/models/rule\", [\"exports\", \"@glimmer/tracking\", \"discourse/models/category\", \"discourse/models/rest\", \"I18n\"], function (_exports, _tracking, _category, _rest, _I18n) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class Rule extends _rest.default {\n    static #_ = (() => dt7948.g(this.prototype, \"type\", [_tracking.tracked], function () {\n      return \"normal\";\n    }))();\n    #type = (() => (dt7948.i(this, \"type\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"category_id\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #category_id = (() => (dt7948.i(this, \"category_id\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"tags\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #tags = (() => (dt7948.i(this, \"tags\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"channel_id\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #channel_id = (() => (dt7948.i(this, \"channel_id\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"filter\", [_tracking.tracked], function () {\n      return \"watch\";\n    }))();\n    #filter = (() => (dt7948.i(this, \"filter\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"error_key\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #error_key = (() => (dt7948.i(this, \"error_key\"), void 0))();\n    available_types = (() => [{\n      id: \"normal\",\n      name: _I18n.default.t(\"chat_integration.type.normal\")\n    }, {\n      id: \"group_message\",\n      name: _I18n.default.t(\"chat_integration.type.group_message\")\n    }, {\n      id: \"group_mention\",\n      name: _I18n.default.t(\"chat_integration.type.group_mention\")\n    }])();\n    get available_filters() {\n      const available = [];\n      const provider = this.channel.provider;\n      if (provider === \"slack\") {\n        available.push({\n          id: \"thread\",\n          name: _I18n.default.t(\"chat_integration.filter.thread\"),\n          icon: \"chevron-right\"\n        });\n      }\n      available.push({\n        id: \"watch\",\n        name: _I18n.default.t(\"chat_integration.filter.watch\"),\n        icon: \"exclamation-circle\"\n      }, {\n        id: \"follow\",\n        name: _I18n.default.t(\"chat_integration.filter.follow\"),\n        icon: \"circle\"\n      }, {\n        id: \"tag_added\",\n        name: _I18n.default.t(\"chat_integration.filter.tag_added\"),\n        icon: \"tag\"\n      }, {\n        id: \"mute\",\n        name: _I18n.default.t(\"chat_integration.filter.mute\"),\n        icon: \"times-circle\"\n      });\n      return available;\n    }\n    get category() {\n      const categoryId = this.category_id;\n      if (categoryId) {\n        return _category.default.findById(categoryId);\n      } else {\n        return false;\n      }\n    }\n    get filterName() {\n      return _I18n.default.t(`chat_integration.filter.${this.filter}`);\n    }\n    updateProperties() {\n      return this.getProperties([\"type\", \"category_id\", \"group_id\", \"tags\", \"filter\"]);\n    }\n    createProperties() {\n      return this.getProperties([\"type\", \"channel_id\", \"category_id\", \"group_id\", \"tags\", \"filter\"]);\n    }\n  }\n  _exports.default = Rule;\n});","define(\"discourse/plugins/discourse-chat-integration/admin/routes/admin-plugins-chat-integration-index\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsChatIntegrationIndex extends _discourse.default {\n    static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.inject]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    afterModel(model) {\n      if (model.totalRows > 0) {\n        this.router.transitionTo(\"adminPlugins.chat-integration.provider\", model.get(\"firstObject\").name);\n      }\n    }\n  }\n  _exports.default = AdminPluginsChatIntegrationIndex;\n});","define(\"discourse/plugins/discourse-chat-integration/admin/routes/admin-plugins-chat-integration-provider\", [\"exports\", \"@ember/object\", \"discourse/models/group\", \"discourse/routes/discourse\"], function (_exports, _object, _group, _discourse) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsChatIntegrationProvider extends _discourse.default {\n    async model(params) {\n      const [channels, provider, groups] = await Promise.all([this.store.findAll(\"channel\", {\n        provider: params.provider\n      }), this.modelFor(\"admin-plugins-chat-integration\").findBy(\"id\", params.provider), _group.default.findAll()]);\n      channels.forEach(channel => {\n        channel.set(\"rules\", channel.rules.map(rule => {\n          rule = this.store.createRecord(\"rule\", rule);\n          rule.set(\"channel\", channel);\n          return rule;\n        }));\n      });\n      return {\n        channels,\n        provider,\n        groups\n      };\n    }\n    serialize(model) {\n      return {\n        provider: model.provider.id\n      };\n    }\n    refreshProvider() {\n      this.refresh();\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"refreshProvider\", [_object.action]))();\n  }\n  _exports.default = AdminPluginsChatIntegrationProvider;\n});","define(\"discourse/plugins/discourse-chat-integration/admin/routes/admin-plugins-chat-integration\", [\"exports\", \"@ember/object\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _object, _service, _discourse) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsChatIntegration extends _discourse.default {\n    static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.inject]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    model() {\n      return this.store.findAll(\"provider\");\n    }\n    showSettings() {\n      this.router.transitionTo(\"adminSiteSettingsCategory\", \"chat_integration\");\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"showSettings\", [_object.action]))();\n  }\n  _exports.default = AdminPluginsChatIntegration;\n});","define(\"discourse/plugins/discourse-chat-integration/admin/templates/plugins-chat-integration-provider\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if this.anyErrors}}\n    <div class=\"error\">\n      {{d-icon \"exclamation-triangle\"}}\n      <span class=\"error-message\">\n        {{i18n \"chat_integration.channels_with_errors\"}}\n      </span>\n    </div>\n  {{/if}}\n  \n  {{#each this.model.channels.content as |channel|}}\n    <ChannelDetails\n      @channel={{channel}}\n      @provider={{this.model.provider}}\n      @refresh={{this.refresh}}\n      @editChannel={{this.editChannel}}\n      @test={{this.testChannel}}\n      @createRule={{this.createRule}}\n      @editRuleWithChannel={{this.editRuleWithChannel}}\n      @showError={{this.showError}}\n    />\n  {{/each}}\n  \n  <div class=\"table-footer\">\n    <div class=\"pull-right\">\n      <DButton\n        @action={{fn this.createChannel this.model.provider}}\n        @label=\"chat_integration.create_channel\"\n        @icon=\"plus\"\n        id=\"create-channel\"\n      />\n    </div>\n  </div>\n  */\n  {\n    \"id\": \"2kV3hs7m\",\n    \"block\": \"[[[41,[30,0,[\\\"anyErrors\\\"]],[[[1,\\\"  \\\"],[10,0],[14,0,\\\"error\\\"],[12],[1,\\\"\\\\n    \\\"],[1,[28,[35,1],[\\\"exclamation-triangle\\\"],null]],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"error-message\\\"],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,2],[\\\"chat_integration.channels_with_errors\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[42,[28,[37,4],[[28,[37,4],[[30,0,[\\\"model\\\",\\\"channels\\\",\\\"content\\\"]]],null]],null],null,[[[1,\\\"  \\\"],[8,[39,5],null,[[\\\"@channel\\\",\\\"@provider\\\",\\\"@refresh\\\",\\\"@editChannel\\\",\\\"@test\\\",\\\"@createRule\\\",\\\"@editRuleWithChannel\\\",\\\"@showError\\\"],[[30,1],[30,0,[\\\"model\\\",\\\"provider\\\"]],[30,0,[\\\"refresh\\\"]],[30,0,[\\\"editChannel\\\"]],[30,0,[\\\"testChannel\\\"]],[30,0,[\\\"createRule\\\"]],[30,0,[\\\"editRuleWithChannel\\\"]],[30,0,[\\\"showError\\\"]]]],null],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"\\\\n\\\"],[10,0],[14,0,\\\"table-footer\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[39,6],[[24,1,\\\"create-channel\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@icon\\\"],[[28,[37,7],[[30,0,[\\\"createChannel\\\"]],[30,0,[\\\"model\\\",\\\"provider\\\"]]],null],\\\"chat_integration.create_channel\\\",\\\"plus\\\"]],null],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"channel\\\"],false,[\\\"if\\\",\\\"d-icon\\\",\\\"i18n\\\",\\\"each\\\",\\\"-track-array\\\",\\\"channel-details\\\",\\\"d-button\\\",\\\"fn\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-chat-integration/admin/templates/plugins-chat-integration-provider.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-chat-integration/admin/templates/plugins-chat-integration\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div id=\"admin-plugin-chat\">\n    <div class=\"admin-controls\">\n      <div class=\"admin-controls-chat-providers\">\n        <ul class=\"nav nav-pills\">\n          {{#each this.model as |provider|}}\n            <NavItem\n              @route=\"adminPlugins.chat-integration.provider\"\n              @routeParam={{provider.name}}\n              @label={{concat\n                \"chat_integration.provider.\"\n                provider.name\n                \".title\"\n              }}\n            />\n          {{/each}}\n        </ul>\n      </div>\n  \n      <DButton\n        @icon=\"cog\"\n        @title=\"chat_integration.settings\"\n        @label=\"chat_integration.settings\"\n        @action={{route-action \"showSettings\"}}\n        class=\"chat-integration-settings-button\"\n      />\n    </div>\n  \n    {{#unless this.model.totalRows}}\n      {{i18n \"chat_integration.no_providers\"}}\n    {{/unless}}\n  \n    {{outlet}}\n  </div>\n  */\n  {\n    \"id\": \"LItss5E6\",\n    \"block\": \"[[[10,0],[14,1,\\\"admin-plugin-chat\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"admin-controls\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"admin-controls-chat-providers\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"ul\\\"],[14,0,\\\"nav nav-pills\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,1],[[28,[37,1],[[30,0,[\\\"model\\\"]]],null]],null],null,[[[1,\\\"          \\\"],[8,[39,2],null,[[\\\"@route\\\",\\\"@routeParam\\\",\\\"@label\\\"],[\\\"adminPlugins.chat-integration.provider\\\",[30,1,[\\\"name\\\"]],[28,[37,3],[\\\"chat_integration.provider.\\\",[30,1,[\\\"name\\\"]],\\\".title\\\"],null]]],null],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,4],[[24,0,\\\"chat-integration-settings-button\\\"]],[[\\\"@icon\\\",\\\"@title\\\",\\\"@label\\\",\\\"@action\\\"],[\\\"cog\\\",\\\"chat_integration.settings\\\",\\\"chat_integration.settings\\\",[28,[37,5],[\\\"showSettings\\\"],null]]],null],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[51,[30,0,[\\\"model\\\",\\\"totalRows\\\"]]],[[[1,\\\"    \\\"],[1,[28,[35,7],[\\\"chat_integration.no_providers\\\"],null]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n  \\\"],[46,[28,[37,9],null,null],null,null,null],[1,\\\"\\\\n\\\"],[13]],[\\\"provider\\\"],false,[\\\"each\\\",\\\"-track-array\\\",\\\"nav-item\\\",\\\"concat\\\",\\\"d-button\\\",\\\"route-action\\\",\\\"unless\\\",\\\"i18n\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-chat-integration/admin/templates/plugins-chat-integration.hbs\",\n    \"isStrictMode\": false\n  });\n});"],"mappings":"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"}