{"version":3,"file":"company-comparison-widget-DoMf2e5a.js","sources":["../../js/pages/company/components/company-comparison-widget.vue"],"sourcesContent":["<template>\n    <div>\n        <div v-if=\"isComparisonWidgetOpen\" class=\"fixed w-screen bg-[#00000040] h-screen top-0 z-20\"></div>\n        <div class=\"fixed bottom-0 right-52 mobile:right-10 z-30 flex flex-col shadow\"\n             v-click-outside=\"() => isComparisonWidgetOpen = false\">\n            <a href=\"\"\n               @click.prevent=\"toggleComparisonWidget\"\n               ref=\"widget\"\n               class=\"bg-primary-400 text-white py-1.5 px-4 rounded-t-lg select-none ml-auto text-sm hover:bg-primary-500 ease-in-out transition-colors cursor-pointer whitespace-nowrap\"\n               v-if=\"store.showComparisonWidget\">\n                <span>{{ translate('compare_companies') }} <span\n                    class=\"badge active badge-xs\">{{ store.currentVatsInComparison.length }}</span> </span>\n                <span class=\"ml-1\">\n                <i v-if=\"!isComparisonWidgetOpen\" class=\"far fa-angle-up text-xs\"></i>\n                <i v-else class=\"far fa-angle-down text-xs\"></i>\n            </span>\n            </a>\n            <div v-if=\"isComparisonWidgetOpen\"\n                 class=\"p-4 bg-white rounded-tl-lg w-96 mobile:w-80 ease-in-out transition-all duration-500\">\n                <div v-if=\"loading\">\n                    <i class=\"far fa-spinner animate-spin\"></i>\n                </div>\n                <ul v-else class=\"space-y-3\">\n                    <li v-for=\"c in companies\">\n                        <div class=\"flex gap-8\">\n                            <div class=\"grow\">\n                                <div class=\"font-medium text-sm flex\">\n                                    <span>\n                                        <a href=\"\"\n                                           class=\"hover:text-primary-400 text-base underline mr-2 group mobile:text-sm\">\n                                            {{ c.name }} <span\n                                            class=\"text-xs text-grey-700 group-hover:text-primary-400\">({{\n                                                c.form\n                                            }})</span> \n                                        </a>\n                                    </span>\n                                    <div class=\"inline-block ml-auto\">\n                                        <span v-if=\"!!c.barometer && canSeeScores\" v-html=\"c.barometer\"></span>\n                                    </div>\n                                </div>\n                                <div class=\"mt-1 text-grey-700 text-xs\">\n                                    <span>{{ c.vat.formatVat() }}</span>\n                                </div>\n                            </div>\n                            <div class=\"min-w-8\">\n                                <a href=\"\" :title=\"translate('remove_from_comparison')\"\n                                   @click.prevent.stop=\"store.removeFromComparison(c.vat)\" class=\"btn btn-icon btn-sm\"><i\n                                    class=\"far fa-times\"></i></a>\n                            </div>\n                        </div>\n                    </li>\n                </ul>\n                <p v-if=\"cannotCompareYet\" class=\"alert info mt-4\">\n                    {{ translate('compare_companies_too_few') }}\n                </p>\n               <div class=\"mt-4 flex justify-between\">\n                   <a :href=\"comparisonLink\" :disabled=\"cannotCompareYet\" class=\"btn btn-primary\">\n                       <i class=\"far fa-down-left-and-up-right-to-center rotate-45 mr-1\"></i>\n                       {{ translate('compare_companies') }}\n                   </a>\n                   \n                   <a href=\"\" @click.prevent.stop=\"store.removeAllFromComparison()\" :title=\"translate('comparison_delete_all')\" class=\"btn btn-default\"><i class=\"far fa-trash-alt\"></i></a>\n               </div>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script lang=\"ts\">\nimport {defineComponent} from 'vue';\nimport {useDetailStore} from \"../store\";\nimport Ajax from \"../../../lib/Ajax\";\nimport {ComparisonCompany} from \"../types\";\n\nexport default defineComponent({\n    name: \"company-comparison-widget\",\n    data() {\n        return {\n            isComparisonWidgetOpen: false,\n            canSeeScores: true,\n            loading: false\n        }\n    },\n    computed: {\n        companies(): ComparisonCompany[] {\n            return this.store.companiesInComparison.sort((a: ComparisonCompany,b: ComparisonCompany) => {\n                return this.store.currentVatsInComparison.indexOf(a.vat) - this.store.currentVatsInComparison.indexOf(b.vat);\n            });\n        },\n        comparisonLink(): string {\n            return \"/compare/\" + this.store.currentVatsInComparison.join(\"/\");\n        },\n        cannotCompareYet(): boolean {\n            return this.store.currentVatsInComparison.length <= 1\n        }\n    },\n    methods: {\n        async toggleComparisonWidget() {\n            const unFetchedVats: number[] = this.store.currentVatsInComparison.filter((v: number) => !this.store.companiesInComparison.map((c: ComparisonCompany) => c.vat).includes(v));\n\n            if (!this.isComparisonWidgetOpen && unFetchedVats.length > 0) {\n                this.loading = true;\n\n                unFetchedVats.forEach(async vat => {\n                    const company = await Ajax.getAsync<ComparisonCompany>(\"/ajax/company?vat=\" + vat);\n                    this.store.companiesInComparison.push(company);\n                });\n\n                this.loading = false;\n            }\n            this.isComparisonWidgetOpen = !this.isComparisonWidgetOpen;\n        },\n    }\n})\n</script>"],"names":["_sfc_main","defineComponent","a","b","unFetchedVats","v","c","vat","company","Ajax","_hoisted_1","_hoisted_2","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_16","_hoisted_17","_hoisted_19","_hoisted_20","_hoisted_21","_resolveDirective","_openBlock","_createElementBlock","_ctx","store","_withDirectives","_cache","_withModifiers","args","_createElementVNode","_createTextVNode","_toDisplayString","_hoisted_3","_createCommentVNode","_Fragment","_renderList","_hoisted_10","_hoisted_11","_hoisted_15","_hoisted_18","translate","$event","cannotCompareYet","comparisonLink","_hoisted_22"],"mappings":"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"}