{"version":3,"file":"DistributionStepper.vue.mjs","sources":["../../../lib/data-provider-interface/components/DistributionStepper.vue"],"sourcesContent":["<template>\n  <FormKit type=\"form\" :actions=\"false\" :plugins=\"[stepPlugin]\">\n    <div name=\"distribution-stepper\" class=\"singleDistributions\">\n      <div class=\"disInfoWrapper\" v-if=\"!isCollapsed\">\n        <ul class=\"steps\">\n          <li v-for=\"(step, stepName, index) in steps\" :key=\"index\" class=\"step\"\n            :data-step-active=\"activeStep === stepName\" :data-step-valid=\"step.valid && step.errorCount === 0\" :class=\"{\n              activeItem: activeStep === stepName, inactiveStep: stepName != activeStep, 'has-errors': checkStepValidity(stepName)\n            }\" @click=\"activeStep = stepName; indexOfDis = index + 1\">\n\n            <div class=\"stepBubbleWrap\">\n              <div class=\"circle stepCircle\">{{ convertToRoman(index + 1) }}</div>\n              <span v-if=\"checkStepValidity(stepName)\" class=\"step--errors\"\n                v-text=\"step.errorCount + step.blockingCount\" />\n              {{ $t('message.dataupload.steps.' + stepName + 'Step') }}\n            </div>\n            <div\n              v-if=\"index + 1 != Object.keys(getNavSteps($env.content.dataProviderInterface.specification).distributions).length\"\n              class=\"seperatorHorizontalStepper\">\n            </div>\n            <div v-if=\"activeStep === 'overview'\" class=\"seperatorHorizontalStepper\"></div>\n          </li>\n          <li class=\"step inactiveStep\" v-if=\"activeStep === 'overview'\">\n            <div class=\"circle stepCircle\"></div>\n          </li>\n        </ul>\n        <div class=\"d-flex flex-column w-100\">\n          <div v-for=\"(stepName, i) in getNavSteps($env.content.dataProviderInterface.specification).distributions\"\n            :key=\"i\">\n            <InputPageStep :name=\"stepName\">\n              <!-- <PropertyChooser></PropertyChooser> -->\n\n              <FormKitSchema :schema=\"schema[stepName]\" :library=\"library\" />\n              <p v-if=\"stepName === 'Mandatory'\" class=\"p-1\"> <b>*</b> {{ $t('message.dataupload.steps.MandatoryStep')\n              }}</p>\n            </InputPageStep>\n          </div>\n        </div>\n      </div>\n    </div>\n  </FormKit>\n\n  <div class=\"m-3 d-flex justify-content-end\">\n\n    <button v-if=\"indexOfDis > 1\" type=\"button\" class=\"btn btn-secondary\"\n      @click=\"goToPreviousStep(); scrollToTop(); indexOfDis = indexOfDis - 1\">{{\n        $t('message.dataupload.steps.previousDisStep')\n      }}</button>\n    <button v-if=\"indexOfDis < 4\" type=\"button\" class=\"btn btn-secondary ml-3\"\n      @click=\"goToNextStep(); scrollToTop(); indexOfDis = indexOfDis + 1\">{{\n        $t('message.dataupload.steps.nextDisStep')\n      }}</button>\n  </div>\n</template>\n\n<script>\nimport { defineComponent, markRaw, reactive } from 'vue';\nimport { mapGetters } from 'vuex';\nimport { useDpiStepper } from '../composables/useDpiStepper';\nimport InputPageStep from '../components/InputPageStep.vue';\nimport SelectControlledGroup from './SelectControlledGroup.vue';\nimport { useWindowScroll } from '@vueuse/core'\n\n\nexport default defineComponent({\n  props: {\n    name: {\n      type: String,\n      default: '',\n    },\n    index: {\n      required: true\n    },\n    schema: {\n      required: true,\n      type: Object,\n    },\n    context: {\n      type: Object,\n    },\n    distributionIsCollapsed: {\n      type: Boolean,\n    },\n    collapseDistributions: {\n      type: Function,\n    },\n    deleteDistribution: {\n      type: Function,\n    },\n  },\n  components: {\n    InputPageStep,\n  },\n  data() {\n    return {\n      isCollapsed: false,\n      camel2title: (str) =>\n        str\n          .replace(/([A-Z])/g, (match) => ` ${match}`)\n          .replace(/^./, (match) => match.toUpperCase())\n          .trim(),\n      isActive: false,\n      indexOfDis: 1,\n\n    }\n  },\n  methods: {\n    editDistribution() {\n      this.isCollapsed = !this.isCollapsed;\n      this.collapseDistributions(this.index);\n    },\n    scrollToTop() {\n      let { x, y } = useWindowScroll({ behavior: 'smooth' })\n      y.value = 0\n\n    },\n    convertToRoman(element) {\n      if (element === 1) {\n        return \"A\"\n      }\n      if (element === 2) {\n        return \"B\"\n      }\n      if (element === 3) {\n        return \"C\"\n      }\n      if (element === 4) {\n        return \"D\"\n      }\n    }\n  },\n  computed: {\n    ...mapGetters('dpiStore', [\n      'getNavSteps'\n    ]),\n    getName() {\n      return this.name\n        || values['Distributions']['distributionList'][this.name - 1]['Mandatory']['dcat:accessURL'][0]['@id'];\n    },\n  },\n  watch: {\n    distributionIsCollapsed: {\n      handler(newValue) {\n        this.isCollapsed = newValue;\n      },\n    },\n  },\n  created() { },\n  setup() {\n    const {\n      steps,\n      activeStep,\n      visitedSteps,\n      previousStep,\n      nextStep,\n      stepPlugin,\n      goToNextStep,\n      goToPreviousStep,\n    } = useDpiStepper();\n\n    const checkStepValidity = (stepName) => {\n      return (steps[stepName].errorCount > 0 || steps[stepName].blockingCount > 0) && visitedSteps.value.includes(stepName)\n    }\n\n    const library = markRaw({\n      SelectControlledGroup,\n    })\n\n    return {\n      steps,\n      visitedSteps,\n      activeStep,\n      previousStep,\n      nextStep,\n      stepPlugin,\n      checkStepValidity,\n      goToNextStep,\n      goToPreviousStep,\n      library,\n    }\n  }\n});\n</script>\n\n<style></style>"],"names":["_sfc_main","defineComponent","InputPageStep","str","match","x","y","useWindowScroll","element","mapGetters","newValue","steps","activeStep","visitedSteps","previousStep","nextStep","stepPlugin","goToNextStep","goToPreviousStep","useDpiStepper","checkStepValidity","stepName","library","markRaw","SelectControlledGroup","_hoisted_3","_hoisted_5","_hoisted_6","_hoisted_11","_hoisted_13","_createVNode","_component_FormKit","_ctx","_createElementVNode","_hoisted_1","_openBlock","_createElementBlock","_hoisted_2","_Fragment","step","index","_toDisplayString","_hoisted_8","_hoisted_9","_hoisted_10","_cache","_renderList","i","_component_InputPageStep","_component_FormKitSchema","_hoisted_12","_createTextVNode"],"mappings":";;;;;;;AAgEA,MAAKA,IAAaC,EAAa;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,OAAO;AAAA,MACL,UAAU;AAAA,IACX;AAAA,IACD,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACD,yBAAyB;AAAA,MACvB,MAAM;AAAA,IACP;AAAA,IACD,uBAAuB;AAAA,MACrB,MAAM;AAAA,IACP;AAAA,IACD,oBAAoB;AAAA,MAClB,MAAM;AAAA,IACP;AAAA,EACF;AAAA,EACD,YAAY;AAAA,mBACVC;AAAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,aAAa;AAAA,MACb,aAAa,CAACC,MACZA,EACG,QAAQ,YAAY,CAACC,MAAU,IAAIA,CAAK,EAAE,EAC1C,QAAQ,MAAM,CAACA,MAAUA,EAAM,YAAW,CAAE,EAC5C,KAAM;AAAA,MACX,UAAU;AAAA,MACV,YAAY;AAAA,IAEd;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP,mBAAmB;AACjB,WAAK,cAAc,CAAC,KAAK,aACzB,KAAK,sBAAsB,KAAK,KAAK;AAAA,IACtC;AAAA,IACD,cAAc;AACZ,UAAI,EAAE,GAAAC,GAAG,GAAAC,MAAMC,EAAgB,EAAE,UAAU,UAAU;AACrD,MAAAD,EAAE,QAAQ;AAAA,IAEX;AAAA,IACD,eAAeE,GAAS;AACtB,UAAIA,MAAY;AACd,eAAO;AAET,UAAIA,MAAY;AACd,eAAO;AAET,UAAIA,MAAY;AACd,eAAO;AAET,UAAIA,MAAY;AACd,eAAO;AAAA,IAEX;AAAA,EACD;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,YAAY;AAAA,MACxB;AAAA,IACF,CAAC;AAAA,IACD,UAAU;AACR,aAAO,KAAK,QACP,OAAO,cAAiB,iBAAoB,KAAK,OAAO,CAAC,EAAE,UAAa,gBAAgB,EAAE,CAAC,EAAE,KAAK;AAAA,IACxG;AAAA,EACF;AAAA,EACD,OAAO;AAAA,IACL,yBAAyB;AAAA,MACvB,QAAQC,GAAU;AAChB,aAAK,cAAcA;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAAA,EACD,UAAU;AAAA,EAAG;AAAA,EACb,QAAQ;AACN,UAAM;AAAA,MACJ,OAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,UAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,kBAAAC;AAAA,IACF,IAAIC,EAAa,GAEXC,IAAoB,CAACC,OACjBV,EAAMU,CAAQ,EAAE,aAAa,KAAKV,EAAMU,CAAQ,EAAE,gBAAgB,MAAMR,EAAa,MAAM,SAASQ,CAAQ,GAGhHC,IAAUC,EAAQ;AAAA,MACtB,uBAAAC;AAAAA,KACD;AAED,WAAO;AAAA,MACL,OAAAb;AAAA,MACA,cAAAE;AAAA,MACA,YAAAD;AAAA,MACA,cAAAE;AAAA,MACA,UAAAC;AAAA,MACA,YAAAC;AAAA,MACA,mBAAAI;AAAA,MACA,cAAAH;AAAA,MACA,kBAAAC;AAAA,MACA,SAAAI;AAAA,IACF;AAAA,EACF;AACF,CAAC;EAnLQ,MAAK;AAAA,EAAuB,OAAM;;;EAChC,OAAM;GACLG,IAAA,EAAA,OAAM,QAAO,2DAMRC,IAAA,EAAA,OAAM,iBAAgB,GACpBC,IAAA,EAAA,OAAM,oBAAmB;;EAO9B,OAAM;;;EAE8B,OAAM;;;EAE1C,OAAM;GAIPC,IAAA,EAAA,OAAM,2BAA0B;;EAOI,OAAM;GAShDC,IAAA,EAAA,OAAM,iCAAgC;;;;IAzC3CC,EAuCUC,GAAA;AAAA,MAvCD,MAAK;AAAA,MAAQ,SAAS;AAAA,MAAQ,UAAUC,EAAU,UAAA;AAAA;iBACzD,MAqCM;AAAA,QArCNC,EAqCM,OArCNC,GAqCM;AAAA,UApC+BF,EAAW,2BAA9CG,KAAAC,EAmCM,OAnCNC,GAmCM;AAAA,YAlCJJ,EAqBK,MArBLR,GAqBK;AAAA,eApBHU,EAAA,EAAA,GAAAC,EAgBKE,WAhBiCN,EAAK,OAAA,CAA/BO,GAAMlB,GAAUmB,YAA5BJ,EAgBK,MAAA;AAAA,gBAhByC,KAAKI;AAAA,gBAAO,UAAM,QAAM;AAAA,8BACmER,EAAU,eAAKX;AAAA,kBAAwB,cAAAA,KAAYW,EAAU;AAAA,kBAAA,cAAgBA,EAAiB,kBAACX,CAAQ;AAAA;gBAA7O,oBAAkBW,EAAU,eAAKX;AAAA,gBAAW,mBAAiBkB,EAAK,SAASA,EAAK,eAAU;AAAA,gBAEvF;AAAO,kBAAAP,EAAU,aAAGX,GAAUW,EAAA,aAAaQ,IAAK;AAAA,gBAAA;AAAA;gBAEpDP,EAKM,OALNP,GAKM;AAAA,kBAJJO,EAAoE,OAApEN,GAAkCc,EAAAT,EAAA,eAAeQ,IAAK,CAAA,CAAA,GAAA,CAAA;AAAA;kBAC1CR,EAAA,kBAAkBX,CAAQ,UAAtCe,EACkD,QAAA;AAAA;oBADT,OAAM;AAAA,oBAC7C,aAAAK,EAA6CF,EAAhC,aAAaA,EAAK,aAAa;AAAA;oBAAI,MAClDE,EAAGT,EAAE,GAAA,8BAA+BX,IAAQ,MAAA,CAAA,GAAA,CAAA;AAAA;;gBAGtCmB,SAAa,OAAO,KAAKR,cAAYA,EAAA,KAAK,QAAQ,sBAAsB,aAAa,EAAE,aAAa,EAAE,UAD9GG,KAAAC,EAGM,OAHNM,CAGM;;gBACKV,EAAU,eAAA,cAArBG,KAAAC,EAA+E,OAA/EO,CAA+E;;;cAE7CX,EAAU,eAAA,cAA9CG,KAAAC,EAEK,MAFLQ,GAEK,CAAA,GAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBADHZ,EAAqC,OAAA,EAAhC,OAAM,oBAAmB,GAAA,MAAA,EAAA;AAAA;;;YAGlCA,EAWM,OAXNL,GAWM;AAAA,eAVJO,EAAA,EAAA,GAAAC,EASME,GATuB,MAAAQ,EAAAd,EAAA,YAAYA,EAAA,KAAK,QAAQ,sBAAsB,aAAa,EAAE,eAA9E,CAAAX,GAAU0B,YAAvBX,EASM,OAAA,EARH,KAAKW,KAAC;AAAA,gBACPjB,EAMgBkB,GAAA,EANA,MAAM3B,EAAQ,GAAA;AAAA,6BAG5B,MAA+D;AAAA,oBAA/DS,EAA+DmB,GAAA;AAAA,sBAA/C,QAAQjB,EAAM,OAACX,CAAQ;AAAA,sBAAI,SAASW,EAAO;AAAA;;oBAClDX,MAAQ,eAAjBc,KAAAC,EACM,KADNc,GACM;AAAA,sBAD0CL,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAZ,EAAQ,WAAL,KAAC,EAAA;AAAA,sBAAIkB,EAAA,QAAInB,EAAE,GAAA,wCAAA,CAAA,GAAA,CAAA;AAAA;;;;;;;;;;;;IAS1EC,EAUM,OAVNJ,GAUM;AAAA,MARUG,EAAU,aAAA,UAAxBI,EAGa,UAAA;AAAA;QAHiB,MAAK;AAAA,QAAS,OAAM;AAAA,QAC/C;AAAO,UAAAJ,EAAgB,iBAAA,GAAIA,cAAW,GAAIA,EAAA,aAAaA,EAAU,aAAA;AAAA,QAAA;AAAA,WAChEA,EAAE,GAAA,0CAAA,CAAA,GAAA,CAAA;;MAEQA,EAAU,aAAA,UAAxBI,EAGa,UAAA;AAAA;QAHiB,MAAK;AAAA,QAAS,OAAM;AAAA,QAC/C;AAAO,UAAAJ,EAAY,aAAA,GAAIA,cAAW,GAAIA,EAAA,aAAaA,EAAU,aAAA;AAAA,QAAA;AAAA,WAC5DA,EAAE,GAAA,sCAAA,CAAA,GAAA,CAAA;;;;;"}