{"version":3,"sources":["webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/form/form_radio_group/form_radio_group.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/form/form_radio/form_radio.js","webpack:///./pages/projects/boards/index.js","webpack:///./boards/index.js"],"names":["BFormRadioGroup","name","mixins","getBvRadioGroup","this","props","computed","isRadioGroup","model","options","__vue_script__","components","GlFormRadio","directives","SafeHtml","inheritAttrs","methods","e","$emit","__vue_component__","render","_vm","_h","$createElement","_c","_self","_g","_b","staticClass","attrs","on","onInput","onChange","$attrs","$listeners","_t","_v","_l","option","idx","key","value","disabled","rawName","expression","_s","text","staticRenderFns","undefined","BFormRadio","prop","event","checked","type","String","Number","Boolean","Object","required","default","$event","$scopedSlots","_e","addShortcutsExtension","ShortcutsNavigation","initBoards","gon","features","workItemsViewPreference","then","initWorkItemsFeedback","catch","Vue","use","VueApollo","PortalVue","defaultClient","cache","policies","addTypePolicies","BoardList","fields","issues","keyArgs","IssueConnection","merge","existing","nodes","incoming","args","after","BoardEpicConnection","Board","epics","apolloProvider","$boardApp","document","getElementById","window","addEventListener","isNavTypeBackForward","performance","navigation","navigationType","TYPE_BACK_FORWARD","persisted","location","reload","el","_gon$licensed_feature","boardId","groupId","fullPath","rootPath","wiHasScopedLabelsFeature","wiGroupPath","wiCanAdminLabel","wiNewCommentTemplatePaths","dataset","rawFilterParams","queryToObject","search","gatherArrays","initialFilterParams","convertObjectPropsToCamelCase","boardType","parent","provide","initialBoardId","fullBoardId","parseBoolean","groupPath","boardBaseUrl","isGroup","WORKSPACE_GROUP","isGroupBoard","isProjectBoard","WORKSPACE_PROJECT","currentUserId","current_user_id","boardWeight","parseInt","labelsManagePath","labelsFilterBasePath","releasesFetchPath","timeTrackingLimitToHours","issuableType","TYPE_ISSUE","emailsEnabled","hasMissingBoards","weights","JSON","parse","isIssueBoard","isEpicBoard","reportAbusePath","wiReportAbusePath","issuesListPath","wiIssuesListPath","canUpdate","canAdminList","canAdminBoard","allowLabelCreate","allowLabelEdit","isSignedIn","isLoggedIn","canAdminLabel","multipleAssigneesFeatureAvailable","epicFeatureAvailable","iterationFeatureAvailable","weightFeatureAvailable","scopedLabelsAvailable","scopedLabels","milestoneListsAvailable","assigneeListsAvailable","iterationListsAvailable","healthStatusFeatureAvailable","allowScopedLabels","swimlanesFeatureAvailable","licensed_features","swimlanes","multipleIssueBoardsAvailable","multipleBoardsAvailable","scopedIssueBoardFeatureEnabled","allowSubEpics","hasScopedLabelsFeature","hasIterationsFeature","hasIssueWeightsFeature","hasIssuableHealthStatusFeature","hasSubepicsFeature","subEpicsFeatureAvailable","hasLinkedItemsEpicsFeature","hasOkrsFeature","commentTemplatePaths","createComponent","BoardApp","mountBoardApp"],"mappings":"wNAOA,MAAM,EAAQ,YAAsB,IAAS,KAKvCA,EAA+B,YAAO,CAC1CC,KAAM,IACNC,OAAQ,CAAC,KACT,UACE,MAAO,CACLC,gBAAiB,IAAMC,OAG3BC,MAAK,EACLC,SAAU,CACRC,aAAY,KACH,K,iDCjBb,MAAM,MACJC,GACER,EAAgBS,QAkCpB,MAAMC,EAjCO,CACXT,KAAM,mBACNU,WAAY,CACVX,kBACAY,YAAA,KAEFC,WAAY,CACVC,SAAU,KAEZZ,OAAQ,CAAC,KACTa,cAAc,EACdP,QACAQ,QAAS,CACP,QAAQC,GAMNb,KAAKc,MAAM,QAASD,IAEtB,SAASA,GAMPb,KAAKc,MAAM,SAAUD,MAazB,MAeME,EAAoB,IACxB,CAAEC,OApBe,WAAa,IAAIC,EAAIjB,KAASkB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,qBAAqBH,EAAIK,GAAGL,EAAIM,GAAG,CAACC,YAAY,yBAAyBC,MAAM,CAAC,QAAU,IAAIC,GAAG,CAAC,MAAQT,EAAIU,QAAQ,OAASV,EAAIW,WAAW,qBAAqBX,EAAIY,QAAO,GAAOZ,EAAIa,YAAY,CAACb,EAAIc,GAAG,SAASd,EAAIe,GAAG,KAAKf,EAAIgB,GAAIhB,EAAe,aAAE,SAASiB,EAAOC,GAAK,OAAOf,EAAG,gBAAgB,CAACgB,IAAID,EAAIV,MAAM,CAAC,MAAQS,EAAOG,MAAM,SAAWH,EAAOI,WAAW,CAAEJ,EAAW,KAAEd,EAAG,OAAO,CAACX,WAAW,CAAC,CAACZ,KAAK,YAAY0C,QAAQ,cAAcF,MAAOH,EAAW,KAAEM,WAAW,kBAAkBpB,EAAG,OAAO,CAACH,EAAIe,GAAGf,EAAIwB,GAAGP,EAAOQ,cAAazB,EAAIe,GAAG,KAAKf,EAAIc,GAAG,YAAY,IAoBpoBY,gBAnBA,SAGEC,EAkB5BtC,OAhBuBsC,GAIc,OAFLA,GAkBhC,OACAA,OACAA,OACAA,GAGW,O,kCC7Ef,qCAGA,MAAM,MACJxC,GACE,IAAWC,QAwBf,MAAMC,EAvBO,CACXT,KAAM,cACNU,WAAY,CACVsC,WAAA,KAEFlC,cAAc,EACdP,MAAO,CACL0C,KAAM1C,EAAM0C,KACZC,MAAO3C,EAAM2C,OAEf9C,MAAO,CAIL+C,QAAS,CACPC,KAAM,CAACC,OAAQC,OAAQC,QAASC,QAChCC,UAAU,EACVC,SAAS,KAab,MAeMxC,EAAoB,IACxB,CAAEC,OApBe,WAAa,IAAIC,EAAIjB,KAASkB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAeH,EAAIM,GAAG,CAACC,YAAY,gBAAgBC,MAAM,CAAC,QAAUR,EAAI+B,SAAStB,GAAG,CAAC,MAAQ,SAAS8B,GAAQ,OAAOvC,EAAIH,MAAM,QAAS0C,IAAS,OAAS,SAASA,GAAQ,OAAOvC,EAAIH,MAAM,SAAU0C,MAAW,eAAevC,EAAIY,QAAO,GAAO,CAACZ,EAAIc,GAAG,WAAWd,EAAIe,GAAG,KAAMf,EAAIwC,aAAiB,KAAErC,EAAG,IAAI,CAACI,YAAY,aAAa,CAACP,EAAIc,GAAG,SAAS,GAAGd,EAAIyC,MAAM,IAoBrbf,gBAnBA,SAGEC,EAkB5BtC,OAhBuBsC,GAIc,OAFLA,GAkBhC,OACAA,OACAA,OACAA,GAGW,O,kCChEf,+CAIAe,gCAAsBC,KACtBC,cAEIC,IAAIC,SAASC,yBACf,mCACGC,MAAK,UAAC,sBAAEC,IACPA,OAEDC,MAAM,K,qKCGXC,UAAIC,IAAIC,KACRF,UAAIC,IAAIE,KAERC,IAAcC,MAAMC,SAASC,gBAAgB,CAC3CC,UAAW,CACTC,OAAQ,CACNC,OAAQ,CACNC,QAAS,CAAC,cAIhBC,gBAAiB,CACfC,MAAKA,CAACC,EAAW,CAAEC,MAAO,IAAMC,GAAU,KAAEC,KACrCA,WAAMC,MAGJ,IACFF,EACHD,MAAO,IAAID,EAASC,SAAUC,EAASD,QAJhCC,GAQbG,oBAAqB,CACnBN,MAAKA,CAACC,EAAW,CAAEC,MAAO,IAAMC,GAAU,KAAEC,KACrCA,EAAKC,MAGH,IACFF,EACHD,MAAO,IAAID,EAASC,SAAUC,EAASD,QAJhCC,GAQbI,MAAO,CACLX,OAAQ,CACNY,MAAO,CACLV,QAAS,CAAC,UAAW,qBAM7B,MAAMW,EAAiB,IAAIpB,IAAU,CACnCE,oBA2Fa,eACb,MAAMmB,EAAYC,SAASC,eAAe,yBAG1CC,OAAOC,iBAAiB,YAAY,SAAChD,GACnC,MAAMiD,EACJF,OAAOG,aAAeH,OAAOG,YAAYC,WAAWjD,OAASkD,IAAeC,mBAE1ErD,EAAMsD,WAAaL,IACrBF,OAAOQ,SAASC,YAjGtB,SAAuBC,GAAI,IAAAC,EACzB,MAAM,QACJC,EAAO,QACPC,EAAO,SACPC,EAAQ,SACRC,EAAQ,yBACRC,EAAwB,YACxBC,EAAW,gBACXC,EAAe,0BACfC,GACET,EAAGU,QAEDC,EAAkBC,YAActB,OAAOQ,SAASe,OAAQ,CAAEC,cAAc,IAExEC,EAAsB,IACvBC,YAA8BL,EAAiB,KAG9CM,EAAYjB,EAAGU,QAAQQ,OAG7B,IAAItD,UAAI,CACNoC,KACA3G,KAAM,eACN6F,iBACAiC,QAAS,CACPC,eAAgBC,YAAYnB,GAC5BpE,SAAUwF,YAAatB,EAAGU,QAAQ5E,UAClCqE,QAASxD,OAAOwD,GAChBE,WACAD,WACAmB,UAAWhB,EACXQ,sBACAS,aAAcxB,EAAGU,QAAQc,aACzBP,YACAQ,QAASR,IAAcS,kBACvBC,aAAcV,IAAcS,kBAC5BE,eAAgBX,IAAcY,oBAC9BC,cAAexE,IAAIyE,iBAAmB,KACtCC,YAAahC,EAAGU,QAAQsB,YAAcC,SAASjC,EAAGU,QAAQsB,YAAa,IAAM,KAC7EE,iBAAkBlC,EAAGU,QAAQwB,iBAC7BC,qBAAsBnC,EAAGU,QAAQyB,qBACjCC,kBAAmBpC,EAAGU,QAAQ0B,kBAC9BC,yBAA0Bf,YAAatB,EAAGU,QAAQ2B,0BAClDC,aAAcC,aACdC,cAAelB,YAAatB,EAAGU,QAAQ8B,eACvCC,iBAAkBnB,YAAatB,EAAGU,QAAQ+B,kBAC1CC,QAAS1C,EAAGU,QAAQgC,QAAUC,KAAKC,MAAM5C,EAAGU,QAAQgC,SAAW,GAC/DG,cAAc,EACdC,aAAa,EACbC,gBAAiB/C,EAAGU,QAAQsC,kBAC5BC,eAAgBjD,EAAGU,QAAQwC,iBAE3BC,UAAW7B,YAAatB,EAAGU,QAAQyC,WACnCC,aAAc9B,YAAatB,EAAGU,QAAQ0C,cACtCC,cAAe/B,YAAatB,EAAGU,QAAQ2C,eACvCC,iBAAkBhC,YAAatB,EAAGU,QAAQyC,WAC1CI,eAAgBjC,YAAatB,EAAGU,QAAQyC,WACxCK,WAAYC,cACZC,cAAepC,YAAad,GAE5BmD,kCAAmCrC,YAAatB,EAAGU,QAAQiD,mCAC3DC,qBAAsBtC,YAAatB,EAAGU,QAAQkD,sBAC9CC,0BAA2BvC,YAAatB,EAAGU,QAAQmD,2BACnDC,uBAAwBxC,YAAatB,EAAGU,QAAQoD,wBAChDC,sBAAuBzC,YAAatB,EAAGU,QAAQsD,cAC/CC,wBAAyB3C,YAAatB,EAAGU,QAAQuD,yBACjDC,uBAAwB5C,YAAatB,EAAGU,QAAQwD,wBAChDC,wBAAyB7C,YAAatB,EAAGU,QAAQyD,yBACjDC,6BAA8B9C,YAAatB,EAAGU,QAAQ0D,8BACtDC,kBAAmB/C,YAAatB,EAAGU,QAAQsD,cAC3CM,0BAAgD,QAAvBrE,EAAE3C,IAAIiH,yBAAiB,IAAAtE,OAAA,EAArBA,EAAuBuE,UAClDC,6BAA8BnD,YAAatB,EAAGU,QAAQgE,yBACtDC,+BAAgCrD,YAAatB,EAAGU,QAAQiE,gCACxDC,eAAe,EACfC,uBAAwBvD,YAAahB,GACrCwE,qBAAsBxD,YAAatB,EAAGU,QAAQmD,2BAC9CkB,uBAAwBzD,YAAatB,EAAGU,QAAQoD,wBAChDkB,+BAAgC1D,YAAatB,EAAGU,QAAQ0D,8BACxDa,mBAAoB3D,YAAatB,EAAGU,QAAQwE,0BAC5CC,2BAA4B7D,YAAatB,EAAGU,QAAQyE,4BACpDC,eAAgB9D,YAAatB,EAAGU,QAAQ0E,gBACxCC,qBAAsB1C,KAAKC,MAAMnC,IAEnCjG,OAAQ,SAAC8K,GAAe,OAAKA,EAAgBC,QAiB/CC,CAAcrG,M","file":"pages.projects.boards.f993b3ba.chunk.js","sourcesContent":["import { extend } from '../../vue';\nimport { NAME_FORM_RADIO_GROUP } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { props as props$1, formRadioCheckGroupMixin } from '../../mixins/form-radio-check-group';\n\n// --- Props ---\n\nconst props = makePropsConfigurable(props$1, NAME_FORM_RADIO_GROUP);\n\n// --- Main component ---\n\n// @vue/component\nconst BFormRadioGroup = /*#__PURE__*/extend({\n name: NAME_FORM_RADIO_GROUP,\n mixins: [formRadioCheckGroupMixin],\n provide() {\n return {\n getBvRadioGroup: () => this\n };\n },\n props,\n computed: {\n isRadioGroup() {\n return true;\n }\n }\n});\n\nexport { BFormRadioGroup, props };\n","import { formOptionsMixin } from '../../../../vendor/bootstrap-vue/src/mixins/form-options';\nimport { BFormRadioGroup } from '../../../../vendor/bootstrap-vue/src/components/form-radio/form-radio-group';\nimport { SafeHtmlDirective } from '../../../../directives/safe_html/safe_html';\nimport GlFormRadio from '../form_radio/form_radio';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nconst {\n model\n} = BFormRadioGroup.options;\nvar script = {\n name: 'GlFormRadioGroup',\n components: {\n BFormRadioGroup,\n GlFormRadio\n },\n directives: {\n SafeHtml: SafeHtmlDirective\n },\n mixins: [formOptionsMixin],\n inheritAttrs: false,\n model,\n methods: {\n onInput(e) {\n /**\n * Emitted when the selected value is changed.\n *\n * @event input\n */\n this.$emit('input', e);\n },\n onChange(e) {\n /**\n * Emitted when the selected value is changed.\n *\n * @event change\n */\n this.$emit('change', e);\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-radio-group',_vm._g(_vm._b({staticClass:\"gl-form-checkbox-group\",attrs:{\"stacked\":\"\"},on:{\"input\":_vm.onInput,\"change\":_vm.onChange}},'b-form-radio-group',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"first\"),_vm._v(\" \"),_vm._l((_vm.formOptions),function(option,idx){return _c('gl-form-radio',{key:idx,attrs:{\"value\":option.value,\"disabled\":option.disabled}},[(option.html)?_c('span',{directives:[{name:\"safe-html\",rawName:\"v-safe-html\",value:(option.html),expression:\"option.html\"}]}):_c('span',[_vm._v(_vm._s(option.text))])])}),_vm._v(\" \"),_vm._t(\"default\")],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","import { BFormRadio } from '../../../../vendor/bootstrap-vue/src/components/form-radio/form-radio';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nconst {\n model\n} = BFormRadio.options;\nvar script = {\n name: 'GlFormRadio',\n components: {\n BFormRadio\n },\n inheritAttrs: false,\n model: {\n prop: model.prop,\n event: model.event\n },\n props: {\n /**\n * Whether the radio is checked\n */\n checked: {\n type: [String, Number, Boolean, Object],\n required: false,\n default: false\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-radio',_vm._b({staticClass:\"gl-form-radio\",attrs:{\"checked\":_vm.checked},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"change\":function($event){return _vm.$emit('change', $event)}}},'b-form-radio',_vm.$attrs,false),[_vm._t(\"default\"),_vm._v(\" \"),(_vm.$scopedSlots.help)?_c('p',{staticClass:\"help-text\"},[_vm._t(\"help\")],2):_vm._e()],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","import { addShortcutsExtension } from '~/behaviors/shortcuts';\nimport ShortcutsNavigation from '~/behaviors/shortcuts/shortcuts_navigation';\nimport initBoards from '~/boards';\n\naddShortcutsExtension(ShortcutsNavigation);\ninitBoards();\n\nif (gon.features.workItemsViewPreference) {\n import(/* webpackChunkName: 'work_items_feedback' */ '~/work_items_feedback')\n .then(({ initWorkItemsFeedback }) => {\n initWorkItemsFeedback();\n })\n .catch({});\n}\n","import PortalVue from 'portal-vue';\nimport Vue from 'vue';\nimport VueApollo from 'vue-apollo';\nimport BoardApp from '~/boards/components/board_app.vue';\nimport { TYPE_ISSUE, WORKSPACE_GROUP, WORKSPACE_PROJECT } from '~/issues/constants';\nimport {\n navigationType,\n isLoggedIn,\n parseBoolean,\n convertObjectPropsToCamelCase,\n} from '~/lib/utils/common_utils';\nimport { queryToObject } from '~/lib/utils/url_utility';\nimport { defaultClient } from '~/graphql_shared/issuable_client';\nimport { fullBoardId } from './boards_util';\n\nVue.use(VueApollo);\nVue.use(PortalVue);\n\ndefaultClient.cache.policies.addTypePolicies({\n BoardList: {\n fields: {\n issues: {\n keyArgs: ['filters'],\n },\n },\n },\n IssueConnection: {\n merge(existing = { nodes: [] }, incoming, { args }) {\n if (!args?.after) {\n return incoming;\n }\n return {\n ...incoming,\n nodes: [...existing.nodes, ...incoming.nodes],\n };\n },\n },\n BoardEpicConnection: {\n merge(existing = { nodes: [] }, incoming, { args }) {\n if (!args.after) {\n return incoming;\n }\n return {\n ...incoming,\n nodes: [...existing.nodes, ...incoming.nodes],\n };\n },\n },\n Board: {\n fields: {\n epics: {\n keyArgs: ['boardId', 'issueFilters'],\n },\n },\n },\n});\n\nconst apolloProvider = new VueApollo({\n defaultClient,\n});\n\nfunction mountBoardApp(el) {\n const {\n boardId,\n groupId,\n fullPath,\n rootPath,\n wiHasScopedLabelsFeature,\n wiGroupPath,\n wiCanAdminLabel,\n wiNewCommentTemplatePaths,\n } = el.dataset;\n\n const rawFilterParams = queryToObject(window.location.search, { gatherArrays: true });\n\n const initialFilterParams = {\n ...convertObjectPropsToCamelCase(rawFilterParams, {}),\n };\n\n const boardType = el.dataset.parent;\n\n // eslint-disable-next-line no-new\n new Vue({\n el,\n name: 'BoardAppRoot',\n apolloProvider,\n provide: {\n initialBoardId: fullBoardId(boardId),\n disabled: parseBoolean(el.dataset.disabled),\n groupId: Number(groupId),\n rootPath,\n fullPath,\n groupPath: wiGroupPath,\n initialFilterParams,\n boardBaseUrl: el.dataset.boardBaseUrl,\n boardType,\n isGroup: boardType === WORKSPACE_GROUP,\n isGroupBoard: boardType === WORKSPACE_GROUP,\n isProjectBoard: boardType === WORKSPACE_PROJECT,\n currentUserId: gon.current_user_id || null,\n boardWeight: el.dataset.boardWeight ? parseInt(el.dataset.boardWeight, 10) : null,\n labelsManagePath: el.dataset.labelsManagePath,\n labelsFilterBasePath: el.dataset.labelsFilterBasePath,\n releasesFetchPath: el.dataset.releasesFetchPath,\n timeTrackingLimitToHours: parseBoolean(el.dataset.timeTrackingLimitToHours),\n issuableType: TYPE_ISSUE,\n emailsEnabled: parseBoolean(el.dataset.emailsEnabled),\n hasMissingBoards: parseBoolean(el.dataset.hasMissingBoards),\n weights: el.dataset.weights ? JSON.parse(el.dataset.weights) : [],\n isIssueBoard: true,\n isEpicBoard: false,\n reportAbusePath: el.dataset.wiReportAbusePath,\n issuesListPath: el.dataset.wiIssuesListPath,\n // Permissions\n canUpdate: parseBoolean(el.dataset.canUpdate),\n canAdminList: parseBoolean(el.dataset.canAdminList),\n canAdminBoard: parseBoolean(el.dataset.canAdminBoard),\n allowLabelCreate: parseBoolean(el.dataset.canUpdate),\n allowLabelEdit: parseBoolean(el.dataset.canUpdate),\n isSignedIn: isLoggedIn(),\n canAdminLabel: parseBoolean(wiCanAdminLabel),\n // Features\n multipleAssigneesFeatureAvailable: parseBoolean(el.dataset.multipleAssigneesFeatureAvailable),\n epicFeatureAvailable: parseBoolean(el.dataset.epicFeatureAvailable),\n iterationFeatureAvailable: parseBoolean(el.dataset.iterationFeatureAvailable),\n weightFeatureAvailable: parseBoolean(el.dataset.weightFeatureAvailable),\n scopedLabelsAvailable: parseBoolean(el.dataset.scopedLabels),\n milestoneListsAvailable: parseBoolean(el.dataset.milestoneListsAvailable),\n assigneeListsAvailable: parseBoolean(el.dataset.assigneeListsAvailable),\n iterationListsAvailable: parseBoolean(el.dataset.iterationListsAvailable),\n healthStatusFeatureAvailable: parseBoolean(el.dataset.healthStatusFeatureAvailable),\n allowScopedLabels: parseBoolean(el.dataset.scopedLabels),\n swimlanesFeatureAvailable: gon.licensed_features?.swimlanes,\n multipleIssueBoardsAvailable: parseBoolean(el.dataset.multipleBoardsAvailable),\n scopedIssueBoardFeatureEnabled: parseBoolean(el.dataset.scopedIssueBoardFeatureEnabled),\n allowSubEpics: false,\n hasScopedLabelsFeature: parseBoolean(wiHasScopedLabelsFeature),\n hasIterationsFeature: parseBoolean(el.dataset.iterationFeatureAvailable),\n hasIssueWeightsFeature: parseBoolean(el.dataset.weightFeatureAvailable),\n hasIssuableHealthStatusFeature: parseBoolean(el.dataset.healthStatusFeatureAvailable),\n hasSubepicsFeature: parseBoolean(el.dataset.subEpicsFeatureAvailable),\n hasLinkedItemsEpicsFeature: parseBoolean(el.dataset.hasLinkedItemsEpicsFeature),\n hasOkrsFeature: parseBoolean(el.dataset.hasOkrsFeature),\n commentTemplatePaths: JSON.parse(wiNewCommentTemplatePaths),\n },\n render: (createComponent) => createComponent(BoardApp),\n });\n}\n\nexport default () => {\n const $boardApp = document.getElementById('js-issuable-board-app');\n\n // check for browser back and trigger a hard reload to circumvent browser caching.\n window.addEventListener('pageshow', (event) => {\n const isNavTypeBackForward =\n window.performance && window.performance.navigation.type === navigationType.TYPE_BACK_FORWARD;\n\n if (event.persisted || isNavTypeBackForward) {\n window.location.reload();\n }\n });\n\n mountBoardApp($boardApp);\n};\n"],"sourceRoot":""}