{"version":3,"sources":["webpack:///./src/shared/components/tableFilter.vue?e003","webpack:///./src/shared/components/tableFilter.vue?babd","webpack:///./src/shared/components/tableFilter.vue?18d3","webpack:///./src/shared/components/tableFilter.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","ref","staticClass","attrs","placeholder","on","onInput","staticRenderFns","props","type","String","setup","initialTable","table","tableWidth","tableFilter","inputValue","value","toLowerCase","results","querySelectorAll","forEach","row","item","itemContent","innerHTML","includes","push","tableHead","querySelector","unshift","resultsHTML","result","outerHTML","style","width","parentElement","cloneNode","clientWidth","component"],"mappings":"uHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,IAAI,cAAcC,YAAY,sBAAsBC,MAAM,CAAC,KAAO,OAAO,YAAcR,EAAIS,aAAaC,GAAG,CAAC,MAAQV,EAAIW,YAChOC,EAAkB,G,4CCKP,iBAAgB,CAC9BC,MAAO,CACNJ,YAAa,CACZK,KAAMC,SAGRC,MAAA,WACC,IACIC,EACAC,EACAC,EAHEC,EAAc,iBAIpB,SAAST,IACR,GAAKO,GAAUD,EAAf,CAGA,IAAMI,EAAcD,EAAYE,MAA2BA,MAAMC,cAC3DC,EAAqB,GAE3BP,EAAaQ,iBAAiB,MAAMC,SAAQ,SAACC,GAC5CA,EAAIF,iBAAiB,KAAKC,SAAQ,SAACE,GAClC,IAAMC,EAAcD,EAAKE,UAAUP,cAC/BM,EAAYE,SAASV,KAAgBG,EAAQO,SAASJ,KAGzC,WAAfN,IACEQ,EAAYE,SAAS,cAA+B,WAAfV,IAEvCG,EAAQQ,KAAKL,SAKjB,IAAMM,EAAYhB,EAAaiB,cAAc,MACxCV,EAAQO,SAASE,IACrBT,EAAQW,QAAQF,GAEjB,IAAIG,EAAc,GAClBZ,EAAQE,SAAQ,SAACW,GAChBD,GAAeC,EAAOC,aAEvBpB,EAAMY,UAAYM,EAClBlB,EAAMqB,MAAMC,MAAWrB,EAAU,MAUlC,OARA,gBAAU,W,MACTD,EAA6D,QAApD,EAAAE,EAAYE,MAA2BmB,qBAAa,eAAEP,cAAc,SACzEhB,IAAUD,IACbA,EAAeC,EAAMwB,WAAU,GAC/BvB,EAAaD,EAAMyB,YAClBvB,EAAYE,MAA2BiB,MAAMC,MAAWtB,EAAMyB,YAAW,SAGrE,CAAEhC,QAAO,EAAES,YAAW,MCzDqc,I,YCOhewB,EAAY,eACd,EACA7C,EACAa,GACA,EACA,KACA,KACA,MAIa,aAAAgC,E","file":"js/chunk-2d21aafb.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',{ref:\"tableFilter\",staticClass:\"olb-input mt-2 mb-1\",attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder},on:{\"input\":_vm.onInput}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\nimport { defineComponent, onMounted, ref } from '@vue/composition-api';\n\nexport default defineComponent({\n\tprops: {\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t},\n\t},\n\tsetup() {\n\t\tconst tableFilter = ref();\n\t\tlet initialTable: HTMLTableElement | null | undefined;\n\t\tlet table: HTMLTableElement | null | undefined;\n\t\tlet tableWidth: number;\n\t\tfunction onInput() {\n\t\t\tif (!table || !initialTable) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst inputValue = (tableFilter.value as HTMLInputElement).value.toLowerCase();\n\t\t\tconst results: Element[] = [];\n\t\t\t// look through all table rows\n\t\t\tinitialTable.querySelectorAll('tr').forEach((row) => {\n\t\t\t\trow.querySelectorAll('*').forEach((item) => {\n\t\t\t\t\tconst itemContent = item.innerHTML.toLowerCase();\n\t\t\t\t\tif (itemContent.includes(inputValue) && !results.includes(row)) {\n\t\t\t\t\t\t// exception for 'kaufen' so lines containing 'verkaufen' aren't shown\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tinputValue !== 'kaufen' ||\n\t\t\t\t\t\t\t(!itemContent.includes('verkaufen') && inputValue === 'kaufen')\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresults.push(row);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tconst tableHead = initialTable.querySelector('tr') as HTMLElement;\n\t\t\tif (!results.includes(tableHead)) {\n\t\t\t\tresults.unshift(tableHead);\n\t\t\t}\n\t\t\tlet resultsHTML = '';\n\t\t\tresults.forEach((result) => {\n\t\t\t\tresultsHTML += result.outerHTML;\n\t\t\t});\n\t\t\ttable.innerHTML = resultsHTML;\n\t\t\ttable.style.width = `${tableWidth}px`;\n\t\t}\n\t\tonMounted(() => {\n\t\t\ttable = (tableFilter.value as HTMLInputElement).parentElement?.querySelector('table');\n\t\t\tif (table && !initialTable) {\n\t\t\t\tinitialTable = table.cloneNode(true) as HTMLTableElement;\n\t\t\t\ttableWidth = table.clientWidth;\n\t\t\t\t(tableFilter.value as HTMLInputElement).style.width = `${table.clientWidth}px`;\n\t\t\t}\n\t\t});\n\t\treturn { onInput, tableFilter };\n\t},\n});\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tableFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tableFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tableFilter.vue?vue&type=template&id=dab10204&\"\nimport script from \"./tableFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./tableFilter.vue?vue&type=script&lang=ts&\"\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"],"sourceRoot":""}