{"version":3,"file":"waze-templates.js","names":["define","_exports","__WEBPACK_EXTERNAL_MODULE_I18n__","Object","defineProperty","value","setup","__webpack_require__","exports","definition","key","o","enumerable","get","obj","prop","prototype","hasOwnProperty","call","__webpack_exports__","d","m","external_I18n_namespaceObject","y","x","default","TOPIC_ID_ATTRIBUTE_NAME","POST_NUMBER_ATTRIBUTE_NAME","USER_PARAM_PREFIX","DATA_PARAM_PREFIX","isPositiveWholeNumber","Number","isInteger","num","createInvalidPlaceholder","state","title","description","push","content","titleStartToken","attrs","descriptionStartToken","createWzTemplateRule","baseUrl","tag","replace","tagInfo","_content","postNumber","topicId","t","createMissingArgumentsPlaceholder","attributes","startToken","attrName","attrValue","entries","startsWith","paramNameWithoutPrefix","icon","insertIcon","createValidPlaceholder","parseInt","createInvalidArgumentsPlaceholder","helper","getOptions","getURL","e","console","log","_a","getBaseUrl","registerPlugin","md","inline","bbcode","ruler","allowList","custom","name","includes","registerOptions","opts","features","_component","_component2","_object","_templateFactory","__COLOCATED_TEMPLATE__","createTemplateFactory","id","block","moduleName","isStrictMode","WazeCopyTemplateButton","copyTemplateToClipboard","post","this","args","copiedText","topic_id","post_number","navigator","clipboard","writeText","document","getElementById","snackbarId","showSnackbar","static","dt7948","n","action","setComponentTemplate","__WEBPACK_EXTERNAL_MODULE__components_waze_copy_template_button_08e84bcc__","__WEBPACK_EXTERNAL_MODULE_discourse_lib_plugin_api_dfe1d9c2__","A","waze_copy_template_button_namespaceObject","plugin_api_namespaceObject","plugin_api_x","withPluginApi","waze_templates_intializer","initialize","_container","_app","api","registerValueTransformer","_ref","dag","context","wiki","add","after","lastButtonKey"],"sources":["discourse/plugins/waze-templates/discourse-markdown/waze-templates.js","discourse/plugins/waze-templates/discourse/components/waze-copy-template-button.js","discourse/plugins/waze-templates/discourse/initializers/waze-templates-intializer.js"],"sourcesContent":["define(\"discourse/plugins/waze-templates/discourse-markdown/waze-templates\", [\"exports\", \"I18n\"], function (_exports, __WEBPACK_EXTERNAL_MODULE_I18n__) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.setup = void 0;\n  /******/ // The require scope\n  /******/var __webpack_require__ = {};\n  /******/\n  /************************************************************************/\n  /******/ /* webpack/runtime/define property getters */\n  /******/\n  (() => {\n    /******/ // define getter functions for harmony exports\n    /******/__webpack_require__.d = (exports, definition) => {\n      /******/for (var key in definition) {\n        /******/if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n          /******/Object.defineProperty(exports, key, {\n            enumerable: true,\n            get: definition[key]\n          });\n          /******/\n        }\n        /******/\n      }\n      /******/\n    };\n    /******/\n  })();\n  /******/\n  /******/ /* webpack/runtime/hasOwnProperty shorthand */\n  /******/\n  (() => {\n    /******/__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\n    /******/\n  })();\n  /******/\n  /************************************************************************/\n  var __webpack_exports__ = {};\n\n  // EXPORTS\n  __webpack_require__.d(__webpack_exports__, {\n    m: () => (/* binding */setup)\n  });\n  ; // external \"I18n\"\n  var x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var y = x => () => x;\n  const external_I18n_namespaceObject = x({\n    [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_I18n__[\"default\"]\n  });\n  ; // ./src/plugin/assets/javascripts/discourse-markdown/waze-templates.ts\n\n  const TOPIC_ID_ATTRIBUTE_NAME = \"topic\";\n  const POST_NUMBER_ATTRIBUTE_NAME = \"post\";\n  const USER_PARAM_PREFIX = \"p_\";\n  const DATA_PARAM_PREFIX = \"parameter\";\n  function isPositiveWholeNumber(value) {\n    if (typeof value === \"number\") {\n      return Number.isInteger(value) && value > 0;\n    } else if (typeof value === \"string\") {\n      const num = Number(value);\n      return Number.isInteger(num) && num > 0;\n    }\n    return false;\n  }\n  function insertIcon(state, icon) {\n    const iconSvgToken = state.push(`svg_${icon}_open`, \"svg\", 1);\n    iconSvgToken.attrs = [[\"class\", `fa d-icon d-icon-${icon} svg-icon svg-node`]];\n    const iconUseToken = state.push(`use_${icon}_open`, \"use\", 1);\n    iconUseToken.attrs = [[\"href\", `#w-${icon}`]];\n    state.push(`use_${icon}_close`, \"use\", -1);\n    state.push(`svg_${icon}_close`, \"svg\", -1);\n  }\n  function createValidPlaceholder(state, topicId, postNumber, baseUrl, attributes) {\n    const anchorToken = state.push(\"link_open\", \"a\", 1);\n    anchorToken.attrs = [[\"target\", \"_blank\"], [\"rel\", \"noopener noreferrer\"], [\"href\", `${baseUrl}/t/${topicId}/${postNumber}`]];\n    const startToken = state.push(\"bbcode_open\", \"span\", 1);\n    startToken.attrs = [[\"class\", `wz-template-valid`], [`data-${TOPIC_ID_ATTRIBUTE_NAME}`, topicId], [`data-${POST_NUMBER_ATTRIBUTE_NAME}`, postNumber], [\"data-waze-template\", true]];\n    for (const [attrName, attrValue] of Object.entries(attributes)) {\n      if (attrName.startsWith(USER_PARAM_PREFIX)) {\n        const paramNameWithoutPrefix = attrName.replace(USER_PARAM_PREFIX, \"\");\n        startToken.attrs.push([`data-${DATA_PARAM_PREFIX}-${paramNameWithoutPrefix}`, attrValue]);\n      }\n    }\n    const contentToken = state.push(\"text\", \"\", 0);\n    contentToken.content = external_I18n_namespaceObject[\"default\"].t(`waze.templates.valid_template_placeholder`, {\n      topicId,\n      postNumber\n    });\n    insertIcon(state, \"external-link\");\n    state.push(\"bbcode_close\", \"span\", -1);\n    state.push(\"link_close\", \"a\", -1);\n  }\n  function createInvalidPlaceholder(state, title, description) {\n    const alertStartToken = state.push(\"html_raw\", \"\", 1);\n    alertStartToken.content = `<wz-alert variant=\"danger\" level=\"page\">`;\n    const titleStartToken = state.push(\"bbcode_open\", \"span\", 1);\n    titleStartToken.attrs = [[`slot`, `header`]];\n    titleStartToken.content = title;\n    const titleContentToken = state.push(\"text\", \"\", 0);\n    titleContentToken.content = title;\n    state.push(\"bbcode_close\", \"span\", -1);\n    const descriptionStartToken = state.push(\"bbcode_open\", \"span\", 1);\n    descriptionStartToken.attrs = [[`slot`, `body`]];\n    descriptionStartToken.content = description;\n    const descriptionContentToken = state.push(\"text\", \"\", 0);\n    descriptionContentToken.content = description;\n    state.push(\"bbcode_close\", \"span\", -1);\n    const alertEndToken = state.push(\"html_raw\", \"\", -1);\n    alertEndToken.content = `</wz-alert>`;\n  }\n  function createMissingArgumentsPlaceholder(state) {\n    return createInvalidPlaceholder(state, external_I18n_namespaceObject[\"default\"].t(`waze.templates.missing_attributes.title`), external_I18n_namespaceObject[\"default\"].t(`waze.templates.missing_attributes.description`));\n  }\n  function createInvalidArgumentsPlaceholder(state) {\n    return createInvalidPlaceholder(state, external_I18n_namespaceObject[\"default\"].t(`waze.templates.invalid_attributes.title`), external_I18n_namespaceObject[\"default\"].t(`waze.templates.invalid_attributes.description`));\n  }\n  function createWzTemplateRule(baseUrl) {\n    return {\n      tag: \"wztemplate\",\n      replace(state, tagInfo, _content) {\n        const postNumber = tagInfo.attrs[POST_NUMBER_ATTRIBUTE_NAME];\n        const topicId = tagInfo.attrs[TOPIC_ID_ATTRIBUTE_NAME];\n        if (postNumber == null || topicId == null) {\n          createMissingArgumentsPlaceholder(state);\n        } else if (isPositiveWholeNumber(topicId) && isPositiveWholeNumber(postNumber)) {\n          createValidPlaceholder(state, parseInt(topicId, 10), parseInt(postNumber, 10), baseUrl, tagInfo.attrs);\n        } else {\n          createInvalidArgumentsPlaceholder(state);\n        }\n        return true;\n      }\n    };\n  }\n  /*\n   * This is a workaround. Because this file can also run\n   * in the context of the server (See lib/pretty_text.rb), getting\n   * the base URL doesn't seem to work in the server, yet it doesn't\n   * reproduce in a development server.\n   *\n   * Fallback to the known \"/discuss\" base path that we use in our\n   * deployments in case of an error.\n   */\n  function getBaseUrl(helper) {\n    try {\n      return helper.getOptions().getURL();\n    } catch (e) {\n      try {\n        console.log(\"Failed to get baseUrl. Falling back to default value\");\n        console.log(e);\n      } catch (_a) {\n        // noop. We might not be able to log in every environment\n      }\n      return \"/discuss\";\n    }\n  }\n  function setup(helper) {\n    const baseUrl = getBaseUrl(helper);\n    helper.registerPlugin(md => {\n      md.inline.bbcode.ruler.push(\"wztemplates\", createWzTemplateRule(baseUrl));\n    });\n    helper.allowList({\n      custom(tag, name, value) {\n        if (name === \"class\" && value.startsWith(\"wz-template-\")) {\n          return true;\n        }\n        if (name === \"rel\" && value === \"noopener noreferrer\") {\n          return true;\n        }\n        if (tag === \"a\" && name === \"href\" && value.startsWith(\"/t/\")) {\n          return true;\n        }\n        if (name === \"class\" && value.startsWith(\"w-icon-\")) {\n          return true;\n        }\n        if (tag === \"svg\" && name === \"class\" && value.includes(\"d-icon\") && value.includes(\"svg-icon\")) {\n          return true;\n        }\n        if (tag === \"use\" && name === \"href\") {\n          return true;\n        }\n        if (tag === \"span\" && name === \"slot\") {\n          return true;\n        }\n        return false;\n      }\n    });\n    helper.registerOptions(opts => {\n      opts.features.bbcode = true;\n    });\n  }\n  var __webpack_exports__setup = _exports.setup = __webpack_exports__.m;\n});","define(\"discourse/plugins/waze-templates/discourse/components/waze-copy-template-button\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _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    <DButton\n    ...attributes\n    @action={{this.copyTemplateToClipboard}}\n    @icon=\"w-copy\"\n    @title=\"js.waze.templates.copy_template_button.description\"\n  />\n  <wz-snackbar id={{this.snackbarId}}>{{i18n\n      \"waze.templates.copy_template_snackbar.description\"\n    }}</wz-snackbar>\n  */\n  {\n    \"id\": \"U5vFNuoO\",\n    \"block\": \"[[[8,[39,0],[[17,1]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@title\\\"],[[30,0,[\\\"copyTemplateToClipboard\\\"]],\\\"w-copy\\\",\\\"js.waze.templates.copy_template_button.description\\\"]],null],[1,\\\"\\\\n\\\"],[10,\\\"wz-snackbar\\\"],[15,1,[30,0,[\\\"snackbarId\\\"]]],[12],[1,[28,[35,2],[\\\"waze.templates.copy_template_snackbar.description\\\"],null]],[13]],[\\\"&attrs\\\"],false,[\\\"d-button\\\",\\\"wz-snackbar\\\",\\\"i18n\\\"]]\",\n    \"moduleName\": \"discourse/plugins/waze-templates/discourse/components/waze-copy-template-button.hbs\",\n    \"isStrictMode\": false\n  });\n  class WazeCopyTemplateButton extends _component2.default {\n    copyTemplateToClipboard() {\n      const post = this.args.post;\n      const copiedText = `[wzTemplate topic=${post.topic_id} post=${post.post_number}][/wzTemplate]`;\n      navigator.clipboard.writeText(copiedText);\n      const snackbar = document.getElementById(this.snackbarId);\n      snackbar.showSnackbar();\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"copyTemplateToClipboard\", [_object.action]))();\n    get snackbarId() {\n      return `template_copied_${this.args.post.id}`;\n    }\n  }\n  _exports.default = WazeCopyTemplateButton;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, WazeCopyTemplateButton);\n});","define(\"discourse/plugins/waze-templates/discourse/initializers/waze-templates-intializer\", [\"exports\", \"discourse/plugins/waze-templates/discourse/components/waze-copy-template-button\", \"discourse/lib/plugin-api\"], function (_exports, __WEBPACK_EXTERNAL_MODULE__components_waze_copy_template_button_08e84bcc__, __WEBPACK_EXTERNAL_MODULE_discourse_lib_plugin_api_dfe1d9c2__) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /******/ // The require scope\n  /******/var __webpack_require__ = {};\n  /******/\n  /************************************************************************/\n  /******/ /* webpack/runtime/define property getters */\n  /******/\n  (() => {\n    /******/ // define getter functions for harmony exports\n    /******/__webpack_require__.d = (exports, definition) => {\n      /******/for (var key in definition) {\n        /******/if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n          /******/Object.defineProperty(exports, key, {\n            enumerable: true,\n            get: definition[key]\n          });\n          /******/\n        }\n        /******/\n      }\n      /******/\n    };\n    /******/\n  })();\n  /******/\n  /******/ /* webpack/runtime/hasOwnProperty shorthand */\n  /******/\n  (() => {\n    /******/__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\n    /******/\n  })();\n  /******/\n  /************************************************************************/\n  var __webpack_exports__ = {};\n\n  // EXPORTS\n  __webpack_require__.d(__webpack_exports__, {\n    A: () => (/* binding */waze_templates_intializer)\n  });\n  ; // external \"../components/waze-copy-template-button\"\n  var x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var y = x => () => x;\n  const waze_copy_template_button_namespaceObject = x({\n    [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__components_waze_copy_template_button_08e84bcc__[\"default\"]\n  });\n  ; // external \"discourse/lib/plugin-api\"\n  var plugin_api_x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var plugin_api_y = x => () => x;\n  const plugin_api_namespaceObject = plugin_api_x({\n    [\"withPluginApi\"]: () => __WEBPACK_EXTERNAL_MODULE_discourse_lib_plugin_api_dfe1d9c2__.withPluginApi\n  });\n  ; // ./src/plugin/assets/javascripts/discourse/initializers/waze-templates-intializer.ts\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  /* harmony default export */\n  const waze_templates_intializer = {\n    name: \"waze-templates\",\n    initialize(_container, _app) {\n      (0, plugin_api_namespaceObject.withPluginApi)(\"2.0.0\", api => {\n        api.registerValueTransformer(\"post-menu-buttons\", _ref => {\n          let {\n            value: dag,\n            context\n          } = _ref;\n          const post = context.post;\n          if (post.wiki) {\n            dag.add(\"waze-copy-template-button\", waze_copy_template_button_namespaceObject[\"default\"], {\n              after: context.lastButtonKey\n            });\n          }\n        });\n      });\n    }\n  };\n  var __webpack_exports__default = _exports.default = __webpack_exports__.A;\n});"],"mappings":"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","ignoreList":[]}