{"version":3,"file":"EmissionGroupChooser-DArypPDT.mjs","names":[],"sources":["../src/components/display/emission/EmissionGroupChooser.vue","../src/components/display/emission/EmissionGroupChooser.vue"],"sourcesContent":["<template>\n    <OctopusMultiselect\n        :placeholder=\"placeholder ?? $t('Search - Emission groups placeholder')\"\n        :selected=\"groups\"\n        :options=\"allGroups\"\n        :no-border=\"noBorder\"\n        option-label=\"name\"\n        option-key=\"groupId\"\n        @update:selected=\"emitSelected\"\n    />\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref } from \"vue\";\n\nimport OctopusMultiselect from \"../../form/OctopusMultiselect.vue\"; \nimport { groupsApi, EmissionGroup } from \"../../../api/groupsApi\";\n\n//Props \nconst props = defineProps<{\n    /** Filter by organisation */\n    organisationId?: string|Array<string>;\n    /** Currently selected groups */\n    groups: Array<EmissionGroup>;\n    /** Change default placeholder */\n    placeholder?: string;\n    /** Disable borders */\n    noBorder?: boolean;\n}>();\n\n//Emits\nconst emit = defineEmits<{\n    (e: \"update:groups\", groups: Array<EmissionGroup>): void;\n}>();\n\n//Data\nconst maxElement = 200;\nconst allGroups = ref<Array<EmissionGroup>>([]);\n\nonMounted(async() => {\n    const response = await groupsApi.search({\n        first: 0,\n        size: maxElement,\n        organisationIds: [props.organisationId].flat(),\n    });\n\n    // Only groups with emissions are available\n    allGroups.value =  response.result.filter(g => g.emissionIds?.length ?? 0 > 0);\n});\n\nfunction emitSelected(option: Array<EmissionGroup>) {\n    emit(\"update:groups\", option);\n}\n</script>\n","<template>\n    <OctopusMultiselect\n        :placeholder=\"placeholder ?? $t('Search - Emission groups placeholder')\"\n        :selected=\"groups\"\n        :options=\"allGroups\"\n        :no-border=\"noBorder\"\n        option-label=\"name\"\n        option-key=\"groupId\"\n        @update:selected=\"emitSelected\"\n    />\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref } from \"vue\";\n\nimport OctopusMultiselect from \"../../form/OctopusMultiselect.vue\"; \nimport { groupsApi, EmissionGroup } from \"../../../api/groupsApi\";\n\n//Props \nconst props = defineProps<{\n    /** Filter by organisation */\n    organisationId?: string|Array<string>;\n    /** Currently selected groups */\n    groups: Array<EmissionGroup>;\n    /** Change default placeholder */\n    placeholder?: string;\n    /** Disable borders */\n    noBorder?: boolean;\n}>();\n\n//Emits\nconst emit = defineEmits<{\n    (e: \"update:groups\", groups: Array<EmissionGroup>): void;\n}>();\n\n//Data\nconst maxElement = 200;\nconst allGroups = ref<Array<EmissionGroup>>([]);\n\nonMounted(async() => {\n    const response = await groupsApi.search({\n        first: 0,\n        size: maxElement,\n        organisationIds: [props.organisationId].flat(),\n    });\n\n    // Only groups with emissions are available\n    allGroups.value =  response.result.filter(g => g.emissionIds?.length ?? 0 > 0);\n});\n\nfunction emitSelected(option: Array<EmissionGroup>) {\n    emit(\"update:groups\", option);\n}\n</script>\n"],"mappings":";;;;;;AAoCA,IAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAjBnB,MAAM,QAAQ;EAYd,MAAM,OAAO;EAMb,MAAM,YAAY,IAA0B,CAAC,CAAC;EAE9C,UAAU,YAAW;GAQjB,UAAU,SAAS,MAPI,UAAU,OAAO;IACpC,OAAO;IACP,MAAM;IACN,iBAAiB,CAAC,MAAM,cAAc,EAAE,KAAK;GACjD,CAAC,GAG2B,OAAO,QAAO,MAAK,EAAE,aAAa,UAAU,KAAK;EACjF,CAAC;EAED,SAAS,aAAa,QAA8B;GAChD,KAAK,iBAAiB,MAAM;EAChC;;;;;;;;;;;;;;;;;;;;qBCnDI,YAQE,OAAA,uBAAA;EAPG,aAAa,OAAA,eAAe,KAAA,GAAE,sCAAA;EAC9B,UAAU,OAAA;EACV,SAAS,OAAA;EACT,aAAW,OAAA;EACZ,gBAAa;EACb,cAAW;EACV,qBAAiB,OAAA"}