{"version":3,"sources":["webpack:///./src/modules/project/components/loads/components/TabStep.vue?8a28","webpack:///./src/modules/project/components/loads/components/TabStep.vue","webpack:///./src/modules/project/components/loads/components/TabStep.vue?c211","webpack:///./src/modules/project/components/loads/components/TabStep.vue?fd5b","webpack:///./src/modules/project/components/loads/components/TabStep.vue?c622","webpack:///./src/modules/project/projectUtilisMixin.ts"],"names":["render","_vm","this","_c","_self","_setupProxy","attrs","staticClass","staticStyle","on","$event","onDropInGroup","newStepNumber","preventDefault","_v","_s","translatorSteps","newStep","step","_l","groupedList","key","model","value","active","callback","$$v","$set","expression","ref","refInFor","slot","notPoeredByGenset","loads","it","i","stopPropagation","onDragstart","dragEndEvent","onDropInLoad","type","indexOf","_k","keyCode","button","selectToDrag","id","controlKey","nom","description","openLoadProperties","properties","staticRenderFns","allSteps","idProjet","undefined","mixins","projectUtilisMixin","extend","props","ChargeViewModel","project","ProjectModel","data","destinationStep","NaN","destinationOrder","selectToDragNDrop","computed","getFlatProjectLoads","filter","x","Array","from","length","$translator","language","modules","projectMenu","steps","grouped","groupBy","stepNumbers","map","retour","some","mounted","window","addEventListener","activeControlKey","methods","load","loadVM","getFlatProjectLoads2","find","$emit","isSelectedLoad","loadId","event","ctrlKey","desActiveControlKey","removeEventListener","removeIfSelected","conserveSelection","allreadySelected","nbSelected","remove","splice","push","list","keyGetter","Map","set","forEach","item","collection","get","updateAllSteps","keys","arr","sort","a","b","meta_StepOrder","e","dataTransfer","dropEffect","effectAllowed","text","srcElement","innerText","split","slice","join","ghostElt","document","createElement","classList","add","body","appendChild","setDragImage","setData","querySelectorAll","moveLoads","getData","destination","moveStepOrder","ordre","position","allStepsUsed","loadIds","isNaN","loadsToMove","y","maxStepOrder","reverse","firstOrDefault","component","_project$loads$flatMa","flatter","flatMap","charge","_charge$children$flat","children"],"mappings":"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","file":"js/chunk-40e9a57c.2465ed6f.js","sourcesContent":["export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabStep.vue?vue&type=style&index=0&id=e62159b8&prod&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-tab-item',[_c('div',{attrs:{\"id\":\"steps\"}},[_c('v-sheet',{staticClass:\"px-1\",staticStyle:{\"color\":\"white\"},attrs:{\"dropzone\":\"move\",\"color\":\"blue\"},on:{\"drop\":function($event){return _vm.onDropInGroup($event, _vm.newStepNumber)},\"dragover\":function($event){$event.preventDefault();},\"dragenter\":function($event){$event.preventDefault();}}},[_vm._v(\" \"+_vm._s(_vm.translatorSteps.newStep)+\" (\"+_vm._s(_vm.translatorSteps.step)+\" \"+_vm._s(_vm.newStepNumber)+\") \")]),_c('v-list',{attrs:{\"dense\":\"\",\"expand\":\"\",\"multiple\":\"\"}},_vm._l((_vm.groupedList),function(step){return _c('v-list-group',{key:step.key,attrs:{\"prepend-icon\":\"mdi-step-forward\",\"no-action\":\"\",\"dropzone\":\"move\"},on:{\"drop\":function($event){return _vm.onDropInGroup($event, step.key)},\"dragover\":function($event){$event.preventDefault();},\"dragenter\":function($event){$event.preventDefault();}},model:{value:(step.active),callback:function ($$v) {_vm.$set(step, \"active\", $$v)},expression:\"step.active\"}},[_c('v-list-item-content',{ref:step.key,refInFor:true,attrs:{\"slot\":\"activator\",\"id\":step.key},slot:\"activator\"},[_c('v-list-item-title',[_vm._v(_vm._s(step.key == 0 ? _vm.translatorSteps.notPoeredByGenset : `${_vm.translatorSteps.step} ${step.key}`))])],1),_vm._l((step.loads),function(it,i){return _c('v-list-item',{key:i,attrs:{\"dense\":\"\",\"prepend-icon\":\"mdi-step-forward\",\"link\":\"\",\"dropzone\":\"move\",\"draggable\":\"true\"},on:{\"dragstart\":function($event){$event.stopPropagation();return _vm.onDragstart($event, it)},\"dragend\":function($event){return _vm.dragEndEvent()},\"drop\":function($event){return _vm.onDropInLoad($event, it)},\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"]))return null;if('button' in $event && $event.button !== 0)return null;return _vm.selectToDrag(it.id, true, _vm.controlKey)},\"dragover\":function($event){$event.preventDefault();},\"dragenter\":function($event){$event.preventDefault();}}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(it.nom)+\" - \"),_c('span',{staticClass:\"subtitle-item\"},[_vm._v(_vm._s(it.description))])])],1),_c('v-btn',{attrs:{\"x-small\":\"\",\"elevation\":\"0\",\"plain\":\"\",\"outlined\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.openLoadProperties(it)}}},[_vm._v(\" \"+_vm._s(_vm.translatorSteps.properties)+\" \")])],1)})],2)}),1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport ProjectModel from '@/modules/homePage/model/ProjectModel'\r\nimport mixins from 'vue-typed-mixins'\r\nimport { ChargeViewModel } from '../models/chargePatronModel'\r\nimport projectUtilisMixin from '../../../projectUtilisMixin'\r\nimport { ChargeModel } from '@/modules/project/components/loads/models/chargeModel'\r\n\r\n//Tableau qui gère toutes les \"steps\" vues dans ce projet\r\nlet allSteps: number[] = []\r\nlet idProjet: number | undefined = undefined\r\n\r\nexport default mixins(projectUtilisMixin).extend({\r\n props: { value: ChargeViewModel, project: ProjectModel },\r\n data() {\r\n return {\r\n //loadToDrop: NaN,\r\n destinationStep: NaN,\r\n destinationOrder: NaN,\r\n selectToDragNDrop: [NaN],\r\n controlKey: false\r\n }\r\n },\r\n computed: {\r\n loads(): Array {\r\n return this.getFlatProjectLoads(this.project).filter(\r\n x => Array.from(x.loads).length == 0\r\n )\r\n },\r\n translatorSteps() {\r\n return this.$translator.language.data.modules.project.projectMenu.steps\r\n },\r\n groupedList(): Array<{\r\n key: any\r\n active: true\r\n loads: ChargeModel[]\r\n }> {\r\n const grouped = this.groupBy(this.loads, x => x.step)\r\n return grouped\r\n },\r\n stepNumbers(): number[] {\r\n return (this.groupedList as Array<{ key: number }>).map(x => x.key)\r\n },\r\n newStepNumber(): number {\r\n let retour = 0\r\n while (this.stepNumbers.some(x => x == retour)) {\r\n retour++\r\n }\r\n return retour\r\n }\r\n },\r\n mounted() {\r\n window.addEventListener('keydown', this.activeControlKey)\r\n },\r\n methods: {\r\n openLoadProperties(load: ChargeModel) {\r\n const loadVM = this.getFlatProjectLoads2(this.value).find(\r\n x => x.id == load.id\r\n )\r\n return this.$emit('openLoadProperties', loadVM)\r\n },\r\n isSelectedLoad(loadId: number): boolean {\r\n return this.selectToDragNDrop.some(x => x == loadId)\r\n },\r\n activeControlKey(event: KeyboardEvent) {\r\n if (event.ctrlKey && !this.controlKey) {\r\n this.controlKey = true\r\n window.addEventListener('keyup', this.desActiveControlKey)\r\n window.removeEventListener('keydown', this.activeControlKey)\r\n }\r\n },\r\n desActiveControlKey(event: KeyboardEvent) {\r\n if (event.key == 'Control' && this.controlKey) {\r\n this.controlKey = false\r\n window.addEventListener('keydown', this.activeControlKey)\r\n window.removeEventListener('keyup', this.desActiveControlKey)\r\n }\r\n },\r\n selectToDrag(\r\n loadId: number,\r\n removeIfSelected = true,\r\n conserveSelection = false\r\n ) {\r\n const allreadySelected = this.selectToDragNDrop.some(x => x == loadId)\r\n const nbSelected = this.selectToDragNDrop.filter(x => x != loadId).length\r\n\r\n if (allreadySelected && removeIfSelected && conserveSelection)\r\n this.selectToDragNDrop.remove(loadId)\r\n else {\r\n if (!conserveSelection) this.selectToDragNDrop.splice(0)\r\n if (!allreadySelected || (nbSelected > 0 && !conserveSelection))\r\n this.selectToDragNDrop.push(loadId)\r\n }\r\n },\r\n groupBy(list: Array, keyGetter: (x: ChargeModel) => any) {\r\n const map = new Map()\r\n //on ajoute la step 0 et celles liées aux charges\r\n map.set(0, [])\r\n list.forEach(item => {\r\n const key = keyGetter(item)\r\n const collection = map.get(key)\r\n if (!collection) map.set(key, [item])\r\n else collection.push(item)\r\n })\r\n //ainsi que les autres steps évoquées dans ce projet\r\n if (this.project.id === idProjet)\r\n allSteps.filter(x => !map.get(x)).forEach(x => map.set(x, []))\r\n //on met donc à jour ce tableau mémoire\r\n this.updateAllSteps([...map.keys()])\r\n //puis on en fait un tableau\r\n const arr = new Array<{\r\n key: any\r\n active: true\r\n loads: ChargeModel[]\r\n }>()\r\n map.forEach((x, key) => {\r\n arr.push({\r\n key: key,\r\n active: true,\r\n loads: x.sort((a, b) => a.meta_StepOrder - b.meta_StepOrder)\r\n })\r\n })\r\n\r\n return arr.sort((a, b) => a.key - b.key)\r\n },\r\n onDragstart(e: any, load: ChargeModel) {\r\n if (load != undefined) {\r\n this.selectToDrag(\r\n load.id,\r\n false,\r\n this.controlKey || this.selectToDragNDrop.some(x => x == load.id)\r\n )\r\n e.dataTransfer.dropEffect = 'move'\r\n e.dataTransfer.effectAllowed = 'move'\r\n const text = ((e as DragEvent).srcElement as HTMLElement).innerText\r\n .split('\\n')\r\n .slice(0, -1)\r\n .join(' ')\r\n const ghostElt = document.createElement('div')\r\n ghostElt.classList.add('ghost-elt-step')\r\n ghostElt.innerText = text\r\n document.body.appendChild(ghostElt)\r\n e.dataTransfer.setDragImage(ghostElt, 0, 0)\r\n e.dataTransfer.setData('loads', this.selectToDragNDrop)\r\n }\r\n },\r\n dragEndEvent() {\r\n document.querySelectorAll('.ghost-elt-step').forEach(x => x.remove())\r\n },\r\n onDropInGroup(e: any, step: number) {\r\n this.moveLoads(e.dataTransfer.getData('loads').split(`,`), step)\r\n },\r\n onDropInLoad(e: any, destination: ChargeModel) {\r\n this.moveLoads(\r\n e.dataTransfer.getData('loads').split(`,`),\r\n destination.step,\r\n destination.meta_StepOrder\r\n )\r\n },\r\n moveStepOrder(load: ChargeModel, ordre = NaN) {\r\n const position = ordre ?? load.meta_StepOrder + 1\r\n this.loads\r\n .filter(\r\n x =>\r\n x.step == load.step &&\r\n x.meta_StepOrder == position &&\r\n x.id != load.id\r\n )\r\n .forEach(x => this.moveStepOrder(x, position + 1))\r\n // eslint-disable-next-line @typescript-eslint/camelcase\r\n load.meta_StepOrder = position\r\n },\r\n updateAllSteps(allStepsUsed: number[]) {\r\n if (this.project.id !== idProjet) {\r\n idProjet = this.project.id\r\n allSteps = []\r\n }\r\n allSteps.push(...allStepsUsed.filter(x => allSteps.indexOf(x) === -1))\r\n },\r\n moveLoads(\r\n loadIds: number[],\r\n destinationStep: number,\r\n destinationOrder = NaN\r\n ) {\r\n if (loadIds.length > 0 && !isNaN(destinationStep)) {\r\n const loadsToMove = this.loads.filter(x => loadIds.some(y => y == x.id))\r\n\r\n loadsToMove.forEach(load => {\r\n load.step = destinationStep\r\n const maxStepOrder = this.loads.some(\r\n x => x.step == destinationStep && x.id != load.id\r\n )\r\n ? this.loads\r\n .filter(x => x.step == destinationStep && x.id != load.id)\r\n .sort(x => x.meta_StepOrder)\r\n .reverse()\r\n .firstOrDefault().meta_StepOrder\r\n : 1\r\n\r\n if (isNaN(destinationOrder)) destinationOrder = maxStepOrder + 1\r\n this.moveStepOrder(load, destinationOrder)\r\n })\r\n }\r\n }\r\n }\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabStep.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabStep.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TabStep.vue?vue&type=template&id=e62159b8&\"\nimport script from \"./TabStep.vue?vue&type=script&lang=ts&\"\nexport * from \"./TabStep.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TabStep.vue?vue&type=style&index=0&id=e62159b8&prod&lang=css&\"\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","import mixins from 'vue-typed-mixins'\r\nimport ProjectModel from '../homePage/model/ProjectModel'\r\nimport { ChargeModel } from './components/loads/models/chargeModel'\r\nimport { ChargeViewModel } from './components/loads/models/chargePatronModel'\r\n// @ts-ignore\r\n\r\nexport default mixins().extend({\r\n data() {\r\n return {}\r\n },\r\n methods: {\r\n getFlatProjectLoads(project: ProjectModel | undefined): ChargeModel[] {\r\n const flatter = (x: ChargeModel): ChargeModel[] => [\r\n x,\r\n ...Array.from(x.loads).flatMap((x: ChargeModel) => flatter(x))\r\n ]\r\n\r\n return project?.loads.flatMap(x => flatter(x)) ?? []\r\n },\r\n\r\n getFlatProjectLoads2(\r\n charge: ChargeViewModel | undefined\r\n ): ChargeViewModel[] {\r\n const flatter = (x: ChargeViewModel): ChargeViewModel[] => [\r\n x,\r\n ...Array.from(x.children).flatMap((x: ChargeViewModel) => flatter(x))\r\n ]\r\n\r\n return charge?.children.flatMap(x => flatter(x)) ?? []\r\n }\r\n }\r\n})\r\n"],"sourceRoot":""}