{"version":3,"sources":["webpack:///./pages/projects/milestones/show/index.js","webpack:////build/source/ee/app/assets/javascripts/pages/projects/milestones/show/index.js","webpack:///./milestones/components/promote_milestone_modal.vue?4af3","webpack:///milestones/components/promote_milestone_modal.vue","webpack:///./milestones/components/promote_milestone_modal.vue?d681","webpack:///./milestones/components/promote_milestone_modal.vue","webpack:///./milestones/event_hub.js","webpack:///./milestones/components/delete_milestone_modal.vue?c774","webpack:///milestones/components/delete_milestone_modal.vue","webpack:///./milestones/components/delete_milestone_modal.vue?ff7d","webpack:///./milestones/components/delete_milestone_modal.vue","webpack:///./milestones/components/more_actions_dropdown.vue?ea3d","webpack:///milestones/components/more_actions_dropdown.vue","webpack:///./milestones/components/more_actions_dropdown.vue?ff85","webpack:///./milestones/components/more_actions_dropdown.vue","webpack:///./milestones/init_more_actions_dropdown.js","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/index.js","webpack:///./lib/utils/http_status.js","webpack:///./user_callout.js"],"names":["initShow","InitMoreActionsDropdown","UserCallout","initBurndownChart","components","GlModal","props","visible","type","Boolean","default","required","milestoneTitle","String","promoteUrl","groupName","computed","title","sprintf","s__","text","methods","onSubmit","_this","axios","post","params","format","then","response","visitUrl","data","url","catch","error","createAlert","message","finally","onClose","$emit","primaryAction","attributes","variant","cancelAction","__","_vm","this","_c","_self","attrs","$options","on","_v","_s","createEventHub","GlSprintf","issueCount","Number","mergeRequestCount","milestoneId","milestoneUrl","issuesWithCount","n__","mergeRequestsWithCount","eventHub","delete","successful","request","responseURL","status","HTTP_STATUS_NOT_FOUND","primaryProps","category","cancelProps","scopedSlots","_u","key","fn","proxy","GlButton","GlIcon","GlDisclosureDropdownItem","GlDisclosureDropdownGroup","GlDisclosureDropdown","PromoteMilestoneModal","DeleteMilestoneModal","directives","GlTooltip","GlTooltipDirective","inject","isDropdownVisible","isPromotionModalVisible","isDeleteModalVisible","isPromoteModalVisible","widthClasses","size","hasUrl","editUrl","closeUrl","reopenUrl","copiedToClipboard","i18n","editItem","edit","href","extraAttrs","promoteItem","promote","closeItem","close","class","isDetailPage","rel","reopenItem","reopen","deleteItem","copyIdItem","copyTitle","id","action","$toast","show","itemprop","showDropdownTooltip","actionsLabel","showTestIdIfNotDetailPage","hasEditOptions","showDropdown","hideDropdown","setDeleteModalVisibility","visibility","setPromoteModalVisibility","name","rawName","value","expression","staticClass","isActive","_e","$event","showDelete","containers","document","querySelectorAll","length","forEach","el","dataset","Vue","provide","parseBoolean","render","createElement","MoreActionsDropdown","use","VueApollo","apolloProvider","defaultClient","createDefaultClient","$chartEl","$","startDate","dueDate","burndownEventsPath","isLegacy","BurnCharts","mixins","glFeatureFlagsMixin","showNewOldBurndownToggle","HTTP_STATUS_ABORTED","HTTP_STATUS_OK","HTTP_STATUS_CREATED","HTTP_STATUS_NO_CONTENT","HTTP_STATUS_BAD_REQUEST","HTTP_STATUS_UNAUTHORIZED","HTTP_STATUS_FORBIDDEN","HTTP_STATUS_CONFLICT","HTTP_STATUS_GONE","HTTP_STATUS_PAYLOAD_TOO_LARGE","HTTP_STATUS_UNPROCESSABLE_ENTITY","HTTP_STATUS_TOO_MANY_REQUESTS","HTTP_STATUS_INTERNAL_SERVER_ERROR","successCodes","constructor","options","className","userCalloutBody","cookieName","isCalloutDismissed","getCookie","init","find","e","dismissCallout","$currentTarget","currentTarget","cookieOptions","hasClass","expires","setCalloutPerProject","path","setCookie","remove"],"mappings":"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","file":"pages.projects.milestones.show.6c780f9f.chunk.js","sourcesContent":["import { initShow } from '~/milestones';\nimport InitMoreActionsDropdown from '~/milestones/init_more_actions_dropdown';\n\ninitShow();\nInitMoreActionsDropdown();\n","import '~/pages/projects/milestones/show/index';\nimport initBurndownChart from 'ee/burndown_chart';\nimport UserCallout from '~/user_callout';\n\nnew UserCallout(); // eslint-disable-line no-new\ninitBurndownChart();\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./promote_milestone_modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./promote_milestone_modal.vue?vue&type=script&lang=js\"","<script>\nimport { GlModal } from '@gitlab/ui';\nimport { createAlert } from '~/alert';\nimport axios from '~/lib/utils/axios_utils';\nimport { visitUrl } from '~/lib/utils/url_utility';\nimport { __, s__, sprintf } from '~/locale';\n\nexport default {\n  components: {\n    GlModal,\n  },\n  props: {\n    visible: {\n      type: Boolean,\n      default: false,\n      required: false,\n    },\n    milestoneTitle: {\n      type: String,\n      required: true,\n    },\n    promoteUrl: {\n      type: String,\n      required: true,\n    },\n    groupName: {\n      type: String,\n      required: true,\n    },\n  },\n  computed: {\n    title() {\n      return sprintf(s__('Milestones|Promote %{milestoneTitle} to group milestone?'), {\n        milestoneTitle: this.milestoneTitle,\n      });\n    },\n    text() {\n      return sprintf(\n        s__(`Milestones|Promoting %{milestoneTitle} will make it available for all projects inside %{groupName}.\n        Existing project milestones with the same title will be merged.`),\n        { milestoneTitle: this.milestoneTitle, groupName: this.groupName },\n      );\n    },\n  },\n  methods: {\n    onSubmit() {\n      return axios\n        .post(this.promoteUrl, { params: { format: 'json' } })\n        .then((response) => {\n          visitUrl(response.data.url);\n        })\n        .catch((error) => {\n          createAlert({\n            message: error,\n          });\n        })\n        .finally(() => {\n          this.onClose();\n        });\n    },\n    onClose() {\n      this.$emit('promotionModalVisible', false);\n    },\n  },\n  primaryAction: {\n    text: s__('Milestones|Promote Milestone'),\n    attributes: { variant: 'confirm' },\n  },\n  cancelAction: {\n    text: __('Cancel'),\n    attributes: {},\n  },\n};\n</script>\n<template>\n  <gl-modal\n    :visible=\"visible\"\n    modal-id=\"promote-milestone-modal\"\n    :title=\"title\"\n    :action-primary=\"$options.primaryAction\"\n    :action-cancel=\"$options.cancelAction\"\n    @primary=\"onSubmit\"\n    @hide=\"onClose\"\n  >\n    <p>{{ text }}</p>\n    <p>{{ s__('Milestones|This action cannot be reversed.') }}</p>\n  </gl-modal>\n</template>\n","import { render, staticRenderFns } from \"./promote_milestone_modal.vue?vue&type=template&id=adf39f1c\"\nimport script from \"./promote_milestone_modal.vue?vue&type=script&lang=js\"\nexport * from \"./promote_milestone_modal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-modal',{attrs:{\"visible\":_vm.visible,\"modal-id\":\"promote-milestone-modal\",\"title\":_vm.title,\"action-primary\":_vm.$options.primaryAction,\"action-cancel\":_vm.$options.cancelAction},on:{\"primary\":_vm.onSubmit,\"hide\":_vm.onClose}},[_c('p',[_vm._v(_vm._s(_vm.text))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.s__('Milestones|This action cannot be reversed.')))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import createEventHub from '~/helpers/event_hub_factory';\n\nexport default createEventHub();\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./delete_milestone_modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./delete_milestone_modal.vue?vue&type=script&lang=js\"","<script>\nimport { GlSprintf, GlModal } from '@gitlab/ui';\nimport { createAlert } from '~/alert';\nimport axios from '~/lib/utils/axios_utils';\nimport { HTTP_STATUS_NOT_FOUND } from '~/lib/utils/http_status';\nimport { visitUrl } from '~/lib/utils/url_utility';\nimport { __, n__, s__, sprintf } from '~/locale';\nimport eventHub from '../event_hub';\n\nexport default {\n  components: {\n    GlModal,\n    GlSprintf,\n  },\n  props: {\n    visible: {\n      type: Boolean,\n      default: false,\n      required: false,\n    },\n    issueCount: {\n      type: Number,\n      required: true,\n    },\n    mergeRequestCount: {\n      type: Number,\n      required: true,\n    },\n    milestoneId: {\n      type: Number,\n      required: true,\n    },\n    milestoneTitle: {\n      type: String,\n      required: true,\n    },\n    milestoneUrl: {\n      type: String,\n      required: true,\n    },\n  },\n  computed: {\n    text() {\n      if (this.issueCount === 0 && this.mergeRequestCount === 0) {\n        return s__(`Milestones|\nYou’re about to permanently delete the milestone %{milestoneTitle}.\nThis milestone is not currently used in any issues or merge requests.`);\n      }\n\n      return sprintf(\n        s__(`Milestones|\nYou’re about to permanently delete the milestone %{milestoneTitle} and remove it from %{issuesWithCount} and %{mergeRequestsWithCount}.\nOnce deleted, it cannot be undone or recovered.`),\n        {\n          issuesWithCount: n__('%d issue', '%d issues', this.issueCount),\n          mergeRequestsWithCount: n__(\n            '%d merge request',\n            '%d merge requests',\n            this.mergeRequestCount,\n          ),\n        },\n        false,\n      );\n    },\n    title() {\n      return sprintf(s__('Milestones|Delete milestone %{milestoneTitle}?'), {\n        milestoneTitle: this.milestoneTitle,\n      });\n    },\n  },\n  methods: {\n    onSubmit() {\n      eventHub.$emit('deleteMilestoneModal.requestStarted', this.milestoneUrl);\n\n      return axios\n        .delete(this.milestoneUrl)\n        .then((response) => {\n          eventHub.$emit('deleteMilestoneModal.requestFinished', {\n            milestoneUrl: this.milestoneUrl,\n            successful: true,\n          });\n\n          // follow the redirect to milestones overview page\n          visitUrl(response.request.responseURL);\n        })\n        .catch((error) => {\n          eventHub.$emit('deleteMilestoneModal.requestFinished', {\n            milestoneUrl: this.milestoneUrl,\n            successful: false,\n          });\n\n          if (error.response && error.response.status === HTTP_STATUS_NOT_FOUND) {\n            createAlert({\n              message: sprintf(s__('Milestones|Milestone %{milestoneTitle} was not found'), {\n                milestoneTitle: this.milestoneTitle,\n              }),\n            });\n          } else {\n            createAlert({\n              message: sprintf(s__('Milestones|Failed to delete milestone %{milestoneTitle}'), {\n                milestoneTitle: this.milestoneTitle,\n              }),\n            });\n          }\n          throw error;\n        })\n        .finally(() => {\n          this.onClose();\n        });\n    },\n    onClose() {\n      this.$emit('deleteModalVisible', false);\n    },\n  },\n  primaryProps: {\n    text: s__('Milestones|Delete milestone'),\n    attributes: { variant: 'danger', category: 'primary' },\n  },\n  cancelProps: {\n    text: __('Cancel'),\n  },\n};\n</script>\n\n<template>\n  <gl-modal\n    :visible=\"visible\"\n    modal-id=\"delete-milestone-modal\"\n    :title=\"title\"\n    :action-primary=\"$options.primaryProps\"\n    :action-cancel=\"$options.cancelProps\"\n    @primary=\"onSubmit\"\n    @hide=\"onClose\"\n  >\n    <gl-sprintf :message=\"text\">\n      <template #milestoneTitle>\n        <strong>{{ milestoneTitle }}</strong>\n      </template>\n    </gl-sprintf>\n  </gl-modal>\n</template>\n","import { render, staticRenderFns } from \"./delete_milestone_modal.vue?vue&type=template&id=268082fa\"\nimport script from \"./delete_milestone_modal.vue?vue&type=script&lang=js\"\nexport * from \"./delete_milestone_modal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-modal',{attrs:{\"visible\":_vm.visible,\"modal-id\":\"delete-milestone-modal\",\"title\":_vm.title,\"action-primary\":_vm.$options.primaryProps,\"action-cancel\":_vm.$options.cancelProps},on:{\"primary\":_vm.onSubmit,\"hide\":_vm.onClose}},[_c('gl-sprintf',{attrs:{\"message\":_vm.text},scopedSlots:_vm._u([{key:\"milestoneTitle\",fn:function(){return [_c('strong',[_vm._v(_vm._s(_vm.milestoneTitle))])]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./more_actions_dropdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./more_actions_dropdown.vue?vue&type=script&lang=js\"","<script>\nimport {\n  GlButton,\n  GlIcon,\n  GlDisclosureDropdownItem,\n  GlDisclosureDropdownGroup,\n  GlDisclosureDropdown,\n  GlTooltipDirective,\n} from '@gitlab/ui';\nimport { __, s__, sprintf } from '~/locale';\nimport PromoteMilestoneModal from '~/milestones/components/promote_milestone_modal.vue';\nimport DeleteMilestoneModal from '~/milestones/components/delete_milestone_modal.vue';\n\nexport default {\n  components: {\n    GlButton,\n    GlIcon,\n    GlDisclosureDropdownItem,\n    GlDisclosureDropdownGroup,\n    GlDisclosureDropdown,\n    PromoteMilestoneModal,\n    DeleteMilestoneModal,\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  inject: [\n    'id',\n    'title',\n    'isActive',\n    'showDelete',\n    'isDetailPage',\n    'milestoneUrl',\n    'editUrl',\n    'closeUrl',\n    'reopenUrl',\n    'promoteUrl',\n    'groupName',\n    'issueCount',\n    'mergeRequestCount',\n    'size',\n  ],\n  data() {\n    return {\n      isDropdownVisible: false,\n      isPromotionModalVisible: false,\n      isDeleteModalVisible: false,\n      isPromoteModalVisible: false,\n    };\n  },\n  computed: {\n    widthClasses() {\n      return this.size === 'small' ? 'gl-min-w-6' : 'gl-min-w-7';\n    },\n    hasUrl() {\n      return this.editUrl || this.closeUrl || this.reopenUrl || this.promoteUrl;\n    },\n    copiedToClipboard() {\n      return this.$options.i18n.copiedToClipboard;\n    },\n    editItem() {\n      return {\n        text: this.$options.i18n.edit,\n        href: this.editUrl,\n        extraAttrs: {\n          'data-testid': 'milestone-edit-item',\n        },\n      };\n    },\n    promoteItem() {\n      return {\n        text: this.$options.i18n.promote,\n        extraAttrs: {\n          'data-testid': 'milestone-promote-item',\n        },\n      };\n    },\n    closeItem() {\n      return {\n        text: this.$options.i18n.close,\n        href: this.closeUrl,\n        extraAttrs: {\n          class: { 'sm:!gl-hidden': this.isDetailPage },\n          'data-testid': 'milestone-close-item',\n          'data-method': 'put',\n          rel: 'nofollow',\n        },\n      };\n    },\n    reopenItem() {\n      return {\n        text: this.$options.i18n.reopen,\n        href: this.reopenUrl,\n        extraAttrs: {\n          class: { 'sm:!gl-hidden': this.isDetailPage },\n          'data-testid': 'milestone-reopen-item',\n          'data-method': 'put',\n          rel: 'nofollow',\n        },\n      };\n    },\n    deleteItem() {\n      return {\n        text: this.$options.i18n.delete,\n        extraAttrs: {\n          class: '!gl-text-red-500',\n          'data-testid': 'milestone-delete-item',\n        },\n      };\n    },\n    copyIdItem() {\n      return {\n        text: sprintf(this.$options.i18n.copyTitle, { id: this.id }),\n        action: () => {\n          this.$toast.show(this.copiedToClipboard);\n        },\n        extraAttrs: {\n          'data-testid': 'copy-milestone-id',\n          itemprop: 'identifier',\n        },\n      };\n    },\n    showDropdownTooltip() {\n      return !this.isDropdownVisible ? this.$options.i18n.actionsLabel : '';\n    },\n    showTestIdIfNotDetailPage() {\n      return !this.isDetailPage ? 'milestone-more-actions-dropdown-toggle' : false;\n    },\n    hasEditOptions() {\n      return Boolean(this.closeUrl || this.reopenUrl || this.editUrl || this.promoteUrl);\n    },\n  },\n  methods: {\n    showDropdown() {\n      this.isDropdownVisible = true;\n    },\n    hideDropdown() {\n      this.isDropdownVisible = false;\n    },\n    setDeleteModalVisibility(visibility = false) {\n      this.isDeleteModalVisible = visibility;\n    },\n    setPromoteModalVisibility(visibility = false) {\n      this.isPromoteModalVisible = visibility;\n    },\n  },\n  primaryAction: {\n    text: s__('Milestones|Promote Milestone'),\n    attributes: { variant: 'confirm' },\n  },\n  cancelAction: {\n    text: __('Cancel'),\n    attributes: {},\n  },\n  i18n: {\n    actionsLabel: s__('Milestone|Milestone actions'),\n    close: __('Close'),\n    delete: __('Delete'),\n    edit: __('Edit'),\n    promote: __('Promote'),\n    reopen: __('Reopen'),\n    copyTitle: s__('Milestone|Copy milestone ID: %{id}'),\n    copiedToClipboard: s__('Milestone|Milestone ID copied to clipboard.'),\n  },\n};\n</script>\n\n<template>\n  <gl-disclosure-dropdown\n    v-gl-tooltip=\"showDropdownTooltip\"\n    category=\"tertiary\"\n    icon=\"ellipsis_v\"\n    placement=\"bottom-end\"\n    block\n    no-caret\n    :toggle-text=\"$options.i18n.actionsLabel\"\n    text-sr-only\n    class=\"gl-relative gl-w-full sm:gl-w-auto\"\n    :class=\"widthClasses\"\n    :size=\"size\"\n    :data-testid=\"showTestIdIfNotDetailPage\"\n    @shown=\"showDropdown\"\n    @hidden=\"hideDropdown\"\n  >\n    <template v-if=\"isDetailPage\" #toggle>\n      <div class=\"gl-min-h-7\">\n        <gl-button\n          class=\"gl-new-dropdown-toggle gl-absolute gl-left-0 gl-top-0 gl-w-full sm:gl-w-auto md:!gl-hidden\"\n          button-text-classes=\"gl-w-full\"\n          category=\"secondary\"\n          :aria-label=\"$options.i18n.actionsLabel\"\n          :title=\"$options.i18n.actionsLabel\"\n        >\n          <span class=\"gl-new-dropdown-button-text\">{{ $options.i18n.actionsLabel }}</span>\n          <gl-icon class=\"dropdown-chevron\" name=\"chevron-down\" />\n        </gl-button>\n        <gl-button\n          class=\"gl-new-dropdown-toggle gl-new-dropdown-icon-only gl-new-dropdown-toggle-no-caret gl-hidden md:!gl-flex\"\n          category=\"tertiary\"\n          icon=\"ellipsis_v\"\n          :aria-label=\"$options.i18n.actionsLabel\"\n          :title=\"$options.i18n.actionsLabel\"\n          data-testid=\"milestone-more-actions-dropdown-toggle\"\n        />\n      </div>\n    </template>\n\n    <gl-disclosure-dropdown-item v-if=\"isActive && closeUrl\" :item=\"closeItem\" />\n    <gl-disclosure-dropdown-item v-else-if=\"reopenUrl\" :item=\"reopenItem\" />\n\n    <gl-disclosure-dropdown-item v-if=\"editUrl\" :item=\"editItem\" />\n\n    <gl-disclosure-dropdown-item\n      v-if=\"promoteUrl\"\n      :item=\"promoteItem\"\n      @action=\"setPromoteModalVisibility(true)\"\n    />\n\n    <gl-disclosure-dropdown-group\n      :bordered=\"hasEditOptions\"\n      :class=\"{ '!gl-border-t-dropdown': hasEditOptions }\"\n    >\n      <gl-disclosure-dropdown-item :item=\"copyIdItem\" :data-clipboard-text=\"id\" />\n    </gl-disclosure-dropdown-group>\n\n    <gl-disclosure-dropdown-group v-if=\"showDelete\" bordered class=\"!gl-border-t-dropdown\">\n      <gl-disclosure-dropdown-item :item=\"deleteItem\" @action=\"setDeleteModalVisibility(true)\" />\n    </gl-disclosure-dropdown-group>\n\n    <promote-milestone-modal\n      :visible=\"isPromoteModalVisible\"\n      :milestone-title=\"title\"\n      :promote-url=\"promoteUrl\"\n      :group-name=\"groupName\"\n      @promotionModalVisible=\"setPromoteModalVisibility\"\n    />\n\n    <delete-milestone-modal\n      :visible=\"isDeleteModalVisible\"\n      :issue-count=\"issueCount\"\n      :merge-request-count=\"mergeRequestCount\"\n      :milestone-id=\"id\"\n      :milestone-title=\"title\"\n      :milestone-url=\"milestoneUrl\"\n      @deleteModalVisible=\"setDeleteModalVisibility\"\n    />\n  </gl-disclosure-dropdown>\n</template>\n","import { render, staticRenderFns } from \"./more_actions_dropdown.vue?vue&type=template&id=35856c26\"\nimport script from \"./more_actions_dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./more_actions_dropdown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-disclosure-dropdown',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\",value:(_vm.showDropdownTooltip),expression:\"showDropdownTooltip\"}],staticClass:\"gl-relative gl-w-full sm:gl-w-auto\",class:_vm.widthClasses,attrs:{\"category\":\"tertiary\",\"icon\":\"ellipsis_v\",\"placement\":\"bottom-end\",\"block\":\"\",\"no-caret\":\"\",\"toggle-text\":_vm.$options.i18n.actionsLabel,\"text-sr-only\":\"\",\"size\":_vm.size,\"data-testid\":_vm.showTestIdIfNotDetailPage},on:{\"shown\":_vm.showDropdown,\"hidden\":_vm.hideDropdown},scopedSlots:_vm._u([(_vm.isDetailPage)?{key:\"toggle\",fn:function(){return [_c('div',{staticClass:\"gl-min-h-7\"},[_c('gl-button',{staticClass:\"gl-new-dropdown-toggle gl-absolute gl-left-0 gl-top-0 gl-w-full sm:gl-w-auto md:!gl-hidden\",attrs:{\"button-text-classes\":\"gl-w-full\",\"category\":\"secondary\",\"aria-label\":_vm.$options.i18n.actionsLabel,\"title\":_vm.$options.i18n.actionsLabel}},[_c('span',{staticClass:\"gl-new-dropdown-button-text\"},[_vm._v(_vm._s(_vm.$options.i18n.actionsLabel))]),_vm._v(\" \"),_c('gl-icon',{staticClass:\"dropdown-chevron\",attrs:{\"name\":\"chevron-down\"}})],1),_vm._v(\" \"),_c('gl-button',{staticClass:\"gl-new-dropdown-toggle gl-new-dropdown-icon-only gl-new-dropdown-toggle-no-caret gl-hidden md:!gl-flex\",attrs:{\"category\":\"tertiary\",\"icon\":\"ellipsis_v\",\"aria-label\":_vm.$options.i18n.actionsLabel,\"title\":_vm.$options.i18n.actionsLabel,\"data-testid\":\"milestone-more-actions-dropdown-toggle\"}})],1)]},proxy:true}:null],null,true)},[_vm._v(\" \"),(_vm.isActive && _vm.closeUrl)?_c('gl-disclosure-dropdown-item',{attrs:{\"item\":_vm.closeItem}}):(_vm.reopenUrl)?_c('gl-disclosure-dropdown-item',{attrs:{\"item\":_vm.reopenItem}}):_vm._e(),_vm._v(\" \"),(_vm.editUrl)?_c('gl-disclosure-dropdown-item',{attrs:{\"item\":_vm.editItem}}):_vm._e(),_vm._v(\" \"),(_vm.promoteUrl)?_c('gl-disclosure-dropdown-item',{attrs:{\"item\":_vm.promoteItem},on:{\"action\":function($event){return _vm.setPromoteModalVisibility(true)}}}):_vm._e(),_vm._v(\" \"),_c('gl-disclosure-dropdown-group',{class:{ '!gl-border-t-dropdown': _vm.hasEditOptions },attrs:{\"bordered\":_vm.hasEditOptions}},[_c('gl-disclosure-dropdown-item',{attrs:{\"item\":_vm.copyIdItem,\"data-clipboard-text\":_vm.id}})],1),_vm._v(\" \"),(_vm.showDelete)?_c('gl-disclosure-dropdown-group',{staticClass:\"!gl-border-t-dropdown\",attrs:{\"bordered\":\"\"}},[_c('gl-disclosure-dropdown-item',{attrs:{\"item\":_vm.deleteItem},on:{\"action\":function($event){return _vm.setDeleteModalVisibility(true)}}})],1):_vm._e(),_vm._v(\" \"),_c('promote-milestone-modal',{attrs:{\"visible\":_vm.isPromoteModalVisible,\"milestone-title\":_vm.title,\"promote-url\":_vm.promoteUrl,\"group-name\":_vm.groupName},on:{\"promotionModalVisible\":_vm.setPromoteModalVisibility}}),_vm._v(\" \"),_c('delete-milestone-modal',{attrs:{\"visible\":_vm.isDeleteModalVisible,\"issue-count\":_vm.issueCount,\"merge-request-count\":_vm.mergeRequestCount,\"milestone-id\":_vm.id,\"milestone-title\":_vm.title,\"milestone-url\":_vm.milestoneUrl},on:{\"deleteModalVisible\":_vm.setDeleteModalVisibility}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nimport { parseBoolean } from '~/lib/utils/common_utils';\nimport MoreActionsDropdown from '~/milestones/components/more_actions_dropdown.vue';\n\nexport default function InitMoreActionsDropdown() {\n  const containers = document.querySelectorAll('.js-vue-milestone-actions');\n\n  if (!containers.length) {\n    return false;\n  }\n\n  return containers.forEach((el) => {\n    const {\n      id,\n      title,\n      isActive,\n      showDelete,\n      isDetailPage,\n      milestoneUrl,\n      editUrl,\n      closeUrl,\n      reopenUrl,\n      promoteUrl,\n      groupName,\n      issueCount,\n      mergeRequestCount,\n      size,\n    } = el.dataset;\n\n    return new Vue({\n      el,\n      name: 'MoreActionsDropdownRoot',\n      provide: {\n        id: Number(id),\n        title,\n        isActive: parseBoolean(isActive),\n        showDelete: parseBoolean(showDelete),\n        isDetailPage: parseBoolean(isDetailPage),\n        milestoneUrl,\n        editUrl,\n        closeUrl,\n        reopenUrl,\n        promoteUrl,\n        groupName,\n        issueCount: Number(issueCount),\n        mergeRequestCount: Number(mergeRequestCount),\n        size: size || 'medium',\n      },\n      render: (createElement) => createElement(MoreActionsDropdown),\n    });\n  });\n}\n","import $ from 'jquery';\nimport Vue from 'vue';\nimport VueApollo from 'vue-apollo';\nimport createDefaultClient from '~/lib/graphql';\nimport glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport BurnCharts from './components/burn_charts.vue';\n\nVue.use(VueApollo);\n\nconst apolloProvider = new VueApollo({\n  defaultClient: createDefaultClient(),\n});\n\nexport default () => {\n  // generate burndown chart (if data available)\n  const container = '.burndown-chart';\n  const $chartEl = $(container);\n\n  if ($chartEl.length) {\n    const startDate = $chartEl.data('startDate');\n    const dueDate = $chartEl.data('dueDate');\n    const milestoneId = $chartEl.data('milestoneId');\n    const burndownEventsPath = $chartEl.data('burndownEventsPath');\n    const isLegacy = $chartEl.data('isLegacy');\n\n    // eslint-disable-next-line no-new\n    new Vue({\n      el: container,\n      components: {\n        BurnCharts,\n      },\n      mixins: [glFeatureFlagsMixin()],\n      apolloProvider,\n      render(createElement) {\n        return createElement('burn-charts', {\n          props: {\n            showNewOldBurndownToggle: isLegacy,\n            burndownEventsPath,\n            startDate,\n            dueDate,\n            milestoneId,\n          },\n        });\n      },\n    });\n  }\n};\n","export const HTTP_STATUS_ABORTED = 0;\nexport const HTTP_STATUS_OK = 200;\nexport const HTTP_STATUS_CREATED = 201;\nexport const HTTP_STATUS_ACCEPTED = 202;\nexport const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION = 203;\nexport const HTTP_STATUS_NO_CONTENT = 204;\nexport const HTTP_STATUS_RESET_CONTENT = 205;\nexport const HTTP_STATUS_PARTIAL_CONTENT = 206;\nexport const HTTP_STATUS_MULTI_STATUS = 207;\nexport const HTTP_STATUS_ALREADY_REPORTED = 208;\nexport const HTTP_STATUS_IM_USED = 226;\nexport const HTTP_STATUS_BAD_REQUEST = 400;\nexport const HTTP_STATUS_UNAUTHORIZED = 401;\nexport const HTTP_STATUS_FORBIDDEN = 403;\nexport const HTTP_STATUS_NOT_FOUND = 404;\nexport const HTTP_STATUS_METHOD_NOT_ALLOWED = 405;\nexport const HTTP_STATUS_CONFLICT = 409;\nexport const HTTP_STATUS_GONE = 410;\nexport const HTTP_STATUS_PAYLOAD_TOO_LARGE = 413;\nexport const HTTP_STATUS_IM_A_TEAPOT = 418;\nexport const HTTP_STATUS_UNPROCESSABLE_ENTITY = 422;\nexport const HTTP_STATUS_TOO_MANY_REQUESTS = 429;\nexport const HTTP_STATUS_INTERNAL_SERVER_ERROR = 500;\nexport const HTTP_STATUS_SERVICE_UNAVAILABLE = 503;\n\nexport const successCodes = [\n  HTTP_STATUS_OK,\n  HTTP_STATUS_CREATED,\n  HTTP_STATUS_ACCEPTED,\n  HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION,\n  HTTP_STATUS_NO_CONTENT,\n  HTTP_STATUS_RESET_CONTENT,\n  HTTP_STATUS_PARTIAL_CONTENT,\n  HTTP_STATUS_MULTI_STATUS,\n  HTTP_STATUS_ALREADY_REPORTED,\n  HTTP_STATUS_IM_USED,\n];\n","import $ from 'jquery';\nimport { getCookie, setCookie } from '~/lib/utils/common_utils';\n\nexport default class UserCallout {\n  constructor(options = {}) {\n    this.options = options;\n\n    const className = this.options.className || 'user-callout';\n\n    this.userCalloutBody = $(`.${className}`);\n    this.cookieName = this.userCalloutBody.data('uid');\n    this.isCalloutDismissed = getCookie(this.cookieName);\n    this.init();\n  }\n\n  init() {\n    if (!this.isCalloutDismissed || this.isCalloutDismissed === 'false') {\n      this.userCalloutBody.find('.js-close-callout').on('click', (e) => this.dismissCallout(e));\n    }\n  }\n\n  dismissCallout(e) {\n    const $currentTarget = $(e.currentTarget);\n    const cookieOptions = {};\n\n    if (!$currentTarget.hasClass('js-close-session')) {\n      cookieOptions.expires = 365;\n    }\n    if (this.options.setCalloutPerProject) {\n      cookieOptions.path = this.userCalloutBody.data('projectPath');\n    }\n\n    setCookie(this.cookieName, 'true', cookieOptions);\n\n    if ($currentTarget.hasClass('close') || $currentTarget.hasClass('js-close')) {\n      this.userCalloutBody.remove();\n    }\n  }\n}\n"],"sourceRoot":""}