{"version":3,"file":"GlobalSearchCollection-df2e64e3.js","sources":["../../../node_modules/@heroicons/vue/24/outline/esm/ArrowRightIcon.js","../../../app/javascript/components/global_search/global-search-visualization.js","../../../app/javascript/components/global_search/GlobalSearchCollection.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport default function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n \"stroke-width\": \"1.5\",\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"path\", {\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n d: \"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"\n })\n ]))\n}","import { computed } from 'vue';\nimport { useStore } from 'vuex';\nimport TableCellCoin from '@/components/table/renderer/TableCellCoin.vue';\nimport ScreenerPriceCell from '@/components/screener/ScreenerPriceCell.vue';\nimport TableRendererCompany from '@/components/table/renderer/TableRendererCompany.vue';\nimport RendererActions from '@/components/table/renderer/RendererActions.vue';\nimport TableCellNewsItem from '@/components/table/renderer/TableCellNewsItem.vue';\n\nconst highlightRenderer = {\n template: ``\n};\n\nexport function useGlobalSearchVisualization(collection) {\n const $store = useStore();\n const coins = computed(() => $store.getters.coins);\n const columnDefsMap = {\n pages: [\n {\n headerName: 'Page',\n field: 'name'\n }\n ],\n coins: [\n {\n headerName: 'Coin',\n cellRenderer: TableCellCoin,\n field: 'coin'\n },\n {\n headerName: 'Tab',\n field: 'tab'\n },\n {\n headerName: 'Price',\n field: 'price',\n cellRenderer: ScreenerPriceCell,\n sortable: true,\n type: 'rightAligned'\n },\n {\n headerName: '% Change',\n field: 'percent_change',\n valueGetter: function (params) {\n return params.data.percent_change * 100;\n },\n cellRenderer: 'BaseCellPercentChange',\n sortable: true,\n type: 'rightAligned'\n }\n ],\n companies: [\n {\n headerName: 'Company',\n cellRenderer: TableRendererCompany,\n field: 'company'\n },\n {\n headerName: 'About',\n field: 'description',\n tooltipField: 'description',\n cellRenderer: highlightRenderer\n }\n ],\n recent_searches: [\n {\n headerName: 'Search',\n field: 'search'\n },\n {\n headerName: 'Actions',\n cellRenderer: RendererActions,\n cellRendererParams: {\n actions: ['delete']\n },\n type: 'rightAligned'\n }\n ],\n news: [\n {\n headerName: 'News',\n field: 'hit',\n cellRenderer: TableCellNewsItem\n }\n ],\n dashboards: [\n {\n headerName: 'Name',\n field: 'title',\n cellRenderer: highlightRenderer\n },\n {\n headerName: 'Description',\n field: 'description',\n tooltipField: 'description',\n cellRenderer: highlightRenderer\n }\n ],\n widget_templates: [\n {\n headerName: 'Name',\n field: 'title',\n cellRenderer: highlightRenderer\n },\n {\n headerName: 'Description',\n field: 'description',\n tooltipField: 'description',\n cellRenderer: highlightRenderer\n }\n ],\n datasets: [\n {\n headerName: 'Provider',\n field: 'provider',\n maxWidth: 150,\n cellRenderer: highlightRenderer\n },\n {\n headerName: 'Name',\n field: 'title',\n cellRenderer: highlightRenderer\n },\n {\n headerName: 'Description',\n field: 'description',\n tooltipField: 'description',\n cellRenderer: highlightRenderer\n }\n ]\n };\n\n const hitTransformMap = {\n coins: hit => {\n const coin = coins.value.find(c => c.coin_uid == hit.coin_uid);\n return {\n id: hit.id,\n coin: {\n uid: hit.coin_uid,\n ticker: hit.ticker,\n name: hit.name\n },\n tab: hit.tab.name,\n price: coin?.price || null,\n percent_change: coin?.price_return_24_hours || null\n };\n },\n companies: hit => {\n return {\n id: hit.id,\n company: {\n company_uid: hit.id,\n image_url: hit.image_url,\n name: hit.name\n },\n description: hit.description\n };\n },\n recent_searches: hit => {\n return {\n search: hit,\n id: hit\n };\n },\n news: hit => {\n return {\n hit: hit,\n id: hit.id\n };\n },\n dashboards: hit => hit,\n widget_templates: hit => hit,\n datasets: hit => hit,\n pages: hit => hit\n };\n\n const rowHeightMap = {\n news: 80\n };\n\n const columnDefs = columnDefsMap[collection];\n const hitsTransform = hits =>\n hits\n .filter((s, index, self) => collection != 'recent_searches' || self.indexOf(s) === index)\n .map(h => hitTransformMap[collection]?.(h))\n .flat();\n const rowHeight = rowHeightMap[collection];\n return { columnDefs, hitsTransform, rowHeight };\n}\n","\n\n\n"],"names":["render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","highlightRenderer","useGlobalSearchVisualization","collection","$store","useStore","coins","computed","columnDefsMap","TableCellCoin","ScreenerPriceCell","params","TableRendererCompany","RendererActions","TableCellNewsItem","hitTransformMap","hit","coin","rowHeightMap","columnDefs","hitsTransform","hits","s","index","self","h","_a","rowHeight","selectedCollection","inject","setSelectedCollection","overflowOnFocus","currentSearch","currentRefinement","watch","refinedNext","lastDisplayedRow","page","activeItem","id","gridApi","props","rowNode","rowData","ref","setRowData","onGridReady","onBodyScroll","event","emits","context","text","buffer","highlightRegex","matchPosition","startIndex","endIndex","truncatedText","match"],"mappings":"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","x_google_ignoreList":[0]}