{"version":3,"sources":["webpack:///./src/services/contracts.js","webpack:///./src/components/elements/Tables.vue","webpack:///src/components/elements/Tables.vue","webpack:///./src/components/elements/Tables.vue?fc56","webpack:///./src/components/elements/Tables.vue?5d6e","webpack:///./src/views/pages/developmentDone/contracts/all.vue","webpack:///src/views/pages/developmentDone/contracts/all.vue","webpack:///./src/views/pages/developmentDone/contracts/all.vue?fdbb","webpack:///./src/views/pages/developmentDone/contracts/all.vue?65b9","webpack:///./src/components/elements/Tables.vue?0495","webpack:///./src/components/elements/Tables.vue?918c"],"names":["db","firebase","firestore","storage","ref","collectionRef","collection","users","agentID","JSON","parse","localStorage","getItem","uid","GetAllContracts","Promise","resolve","reject","data","get","then","querySnapshot","GetAllContractTypes","res","contractTypes","console","log","ContractTypes","forEach","async","contractData","doc","clientId","id","clientName","found","findIndex","el","en","CotractType","ar","clientDoc","exists","display_name","error","push","createdAt","nanosecondsToISO8601","created_at","seconds","catch","GetPendingContracts","query","where","GetContractById","findByContractID","limit","clientData","err","Error","setPrice","docId","price","clientID","contractTitle","note","estimatedTiming","docRef","body","title","update","TotalPayment","Number","ContractStatus","pushNotification","create","markPaid","markClosed","AddContractTypes","nameEn","nameAr","add","currentArray","set","UpdateContractType","edit","contractToEdit","find","obj","editnameEn","editnameAr","DeleteContractType","nameToDeleteEn","nameToDeleteAr","Delete","index","splice","UploadContract","file","contractUrl","uploadFile","generateUniqueFileName","name","contractDate","moment","format","updateContractFile","downloadURL","decodedURL","decodeURIComponent","substring","lastIndexOf","split","deleteContractFile","sendContract","phoneNumber","message","_res$data","axios","post","_res$data2","status","sendToWhatsapp","fileName","currentUser","auth","userId","fileRef","child","put","getDownloadURL","originalFileName","timestamp","Date","now","randomString","Math","random","toString","slice","fileExtension","pop","milliseconds","date","render","_vm","this","_c","_self","staticClass","attrs","_v","_s","$t","pageOptions","model","value","perPage","callback","$$v","expression","filter","hideAddButton","_e","directives","rawName","modifiers","addbtn","_l","filterKeys","key","getHeadName","staticStyle","options","current_language","scopedSlots","_u","fn","proxy","selectVal","$set","ariaDescribedby","sortOptions","tableSort","sortDesc","domProps","isBusy","filteredItems","finalFields","currentPage","filterOn","on","$event","onFiltered","class","item","contractStatus","includes","isPaid","QuestionStatus","$emit","rowClicked","_data$item","isAnonymous","params","rows","pageChanged","staticRenderFns","components","Multiselect","props","sortBy","type","String","default","tableData","Array","fields","Type","Boolean","hideShowMore","required","hasAnnon","watch","created","label","sortable","length","ASCOrDESC","totalRows","computed","f","map","text","keep","_this$selectVal$key","some","val","contractStatu","labels","vals","from","Set","mounted","methods","page","itemsPerPage","element","component","items","flattenedtabletData","meta","content","appConfig","description","Layout","PageHeader","Table","Contracts","testData","href","active","$i18n","locale","formatter","filterByFormatted","$router","path","ContractID","contract","ContractTitle","contractType"],"mappings":"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","file":"js/chunk-dce521a8.9694cd44.js","sourcesContent":["import \"firebase/firestore\";\nimport \"firebase/auth\";\nimport moment from \"moment\";\nimport axios from \"axios\";\nimport firebase from \"firebase/app\";\nconst db = firebase.firestore();\nconst storage = firebase.storage().ref();\nconst collectionRef = db.collection(\"Contract\");\nconst users = db.collection(\"users\");\nimport { pushNotification, create } from \"./notification\";\nconst agentID = JSON.parse(localStorage.getItem(\"auth.currentUser\")).uid;\n\nexport function GetAllContracts() {\n return new Promise((resolve, reject) => {\n const data = [];\n\n collectionRef\n .get()\n .then((querySnapshot) => {\n GetAllContractTypes().then((res) => {\n let contractTypes = [];\n console.log(res);\n contractTypes = res[0].ContractTypes;\n\n querySnapshot.forEach(async (doc) => {\n const contractData = doc.data();\n const clientId = contractData.uid.id;\n let clientName = \"\";\n const found = contractTypes.findIndex(\n (el) =>\n el.en == contractData.CotractType ||\n el.ar == contractData.CotractType\n );\n if (found >= 0) {\n contractData.CotractType = contractTypes[found];\n }\n try {\n const clientDoc = await users.doc(clientId).get();\n\n if (clientDoc.exists) {\n clientName = clientDoc.data().display_name;\n } else {\n console.log(\"Client not found\");\n }\n } catch (error) {\n console.error(\"Error fetching client data:\", error);\n }\n data.push({\n id: doc.id,\n createdAt: nanosecondsToISO8601(doc.data().created_at.seconds),\n contractData,\n clientName,\n clientId,\n }); //contains the document data\n // console.log(data);\n });\n resolve(data);\n });\n })\n .catch((error) => {\n console.error(\"Error getting documents:\", error);\n reject(error);\n });\n });\n}\nexport function GetContractsCount() {\n return new Promise((resolve, reject) => {\n collectionRef\n .get()\n .then((querySnapshot) => {\n resolve(querySnapshot.size);\n })\n .catch((error) => {\n console.error(\"Error getting documents:\", error);\n reject(error);\n });\n });\n}\nexport function GetPendingContracts() {\n return new Promise((resolve, reject) => {\n const data = [];\n const query = collectionRef.where(\"ContractStatus\", \"==\", 0);\n\n query\n .get()\n .then((querySnapshot) => {\n GetAllContractTypes().then((res) => {\n let contractTypes = [];\n console.log(res);\n contractTypes = res[0].ContractTypes;\n querySnapshot.forEach(async (doc) => {\n const contractData = doc.data();\n const clientId = contractData.uid.id;\n let clientName = \"\";\n const found = contractTypes.findIndex(\n (el) =>\n el.en == contractData.CotractType ||\n el.ar == contractData.CotractType\n );\n if (found >= 0) {\n contractData.CotractType = contractTypes[found];\n }\n try {\n const clientDoc = await users.doc(clientId).get();\n\n if (clientDoc.exists) {\n clientName = clientDoc.data().display_name;\n } else {\n console.log(\"Client not found\");\n }\n } catch (error) {\n console.error(\"Error fetching client data:\", error);\n }\n data.push({\n id: doc.id,\n createdAt: nanosecondsToISO8601(doc.data().created_at.seconds),\n contractData,\n clientName,\n clientId,\n }); //contains the document data\n // console.log(data);\n });\n resolve(data);\n });\n })\n .catch((error) => {\n console.error(\"Error getting documents:\", error);\n reject(error);\n });\n });\n}\nexport async function GetContractById(id) {\n try {\n let doc = await collectionRef.doc(id).get();\n if (!doc.exists) {\n const findByContractID = await collectionRef\n .where(\"ContractID\", \"==\", id)\n .limit(1)\n .get();\n findByContractID.forEach((el) => {\n doc = el;\n });\n }\n if (doc.exists) {\n const contractData = doc.data();\n const clientId = contractData.uid.id;\n let clientData = \"\";\n\n try {\n const clientDoc = await users.doc(clientId).get();\n\n if (clientDoc.exists) {\n clientData = clientDoc.data();\n } else {\n console.log(\"Client not found\");\n }\n } catch (error) {\n console.error(\"Error fetching client data:\", error);\n }\n try {\n GetAllContractTypes().then((res) => {\n let contractTypes = [];\n contractTypes = res[0].ContractTypes;\n const found = contractTypes.findIndex(\n (el) =>\n el.en == contractData.CotractType ||\n el.ar == contractData.CotractType\n );\n if (found >= 0) {\n contractData.CotractType = contractTypes[found];\n }\n });\n } catch (err) {\n console.log(err);\n }\n\n const data = {\n id: doc.id,\n createdAt: nanosecondsToISO8601(contractData.created_at.seconds),\n contractData,\n clientData,\n clientId,\n };\n // console.log(data);\n return data;\n } else {\n console.log(\"Contract not found\");\n throw new Error(\"Contract not found\");\n }\n } catch (error) {\n console.error(\"Error getting contract document:\", error);\n throw error;\n }\n}\nexport async function setPrice(\n docId,\n price,\n clientID,\n contractTitle,\n note,\n estimatedTiming\n) {\n const docRef = collectionRef.doc(docId);\n const body = `تم تحديث سعر العقد الى ${price} دينار كويتي `;\n const title = contractTitle;\n try {\n await docRef.update({\n TotalPayment: Number(price),\n ContractStatus: 1,\n note,\n estimatedTiming,\n });\n await pushNotification(clientID, body, title);\n await create(clientID, agentID, title, body, \"contract\", docId);\n return true;\n } catch (error) {\n console.error(\"Error setting Price: \", error);\n return false;\n }\n}\nexport async function markPaid(docId) {\n const docRef = collectionRef.doc(docId);\n\n try {\n await docRef.update({ ContractStatus: 2 });\n return true;\n } catch (error) {\n console.error(\"Error marking Paid: \", error);\n return false;\n }\n}\nexport async function markClosed(docId, clientID, contractTitle) {\n const docRef = collectionRef.doc(docId);\n const body = `تم غلق العقد الخاص بك `;\n const title = contractTitle;\n try {\n await docRef.update({ ContractStatus: 3 });\n pushNotification(clientID, body, title);\n create(clientID, agentID, title, body, \"contract\", docId);\n return true;\n } catch (error) {\n console.error(\"Error marking Closed: \", error);\n return false;\n }\n}\nexport function GetAllContractTypes() {\n return new Promise((resolve, reject) => {\n const data = [];\n\n db.collection(\"ContractTypes\")\n .get()\n .then((querySnapshot) => {\n querySnapshot.forEach(async (doc) => {\n data.push({\n id: doc.id,\n ...doc.data(),\n }); //contains the document data\n // console.log(data);\n });\n resolve(data);\n })\n .catch((error) => {\n console.error(\"Error getting documents:\", error);\n reject(error);\n });\n });\n}\nexport function AddContractTypes(id, nameEn, nameAr) {\n return new Promise((resolve, reject) => {\n const add = db.collection(\"ContractTypes\").doc(id);\n\n add\n .get()\n .then((doc) => {\n if (doc.exists) {\n // Step 2: Retrieve the current array from the document\n const currentArray = doc.data().ContractTypes || []; // Retrieve the existing ContractTypes array\n\n // Step 3: Add the new contract type to the array\n currentArray.push({\n ar: nameAr,\n en: nameEn,\n });\n\n // Step 4: Update the document in Firestore with the modified array\n add\n .update({ ContractTypes: currentArray }) // Update the ContractTypes field with the modified array\n .then(() => {\n console.log(\"New contract type added in Firestore.\");\n resolve(\"New contract type added in Firestore.\");\n })\n .catch((error) => {\n console.error(\"Error updating document: \", error);\n reject(\"Error updating document.\");\n });\n } else {\n // If the document does not exist, create it with the new contract type\n add\n .set({\n ContractTypes: [\n {\n ar: nameAr,\n en: nameEn,\n },\n ],\n })\n .then(() => {\n console.log(\n \"Document created with new contract type in Firestore.\"\n );\n resolve(\"Document created with new contract type in Firestore.\");\n })\n .catch((error) => {\n console.error(\"Error creating document: \", error);\n reject(\"Error creating document.\");\n });\n }\n })\n .catch((error) => {\n console.error(\"Error getting document: \", error);\n reject(\"Error getting document.\");\n });\n });\n}\n\nexport function UpdateContractType(id, edit) {\n return new Promise((resolve, reject) => {\n const update = db.collection(\"ContractTypes\").doc(id);\n\n update\n .get()\n .then((doc) => {\n if (doc.exists) {\n // Step 2: Retrieve the current array from the document\n const currentArray = doc.data().ContractTypes || []; // Retrieve the existing ContractTypes array\n\n // Step 3: Locate the object you want to edit within the array\n const contractToEdit = currentArray.find(\n (obj) => obj.en === edit.nameEn || obj.ar === edit.nameAr\n );\n\n if (contractToEdit) {\n // Step 4: Edit the object's properties\n if (edit.editnameEn) contractToEdit.en = edit.editnameEn;\n if (edit.editnameAr) contractToEdit.ar = edit.editnameAr;\n\n // Step 5: Update the document in Firestore with the modified array\n update\n .update({ ContractTypes: currentArray }) // Update the ContractTypes field with the modified array\n .then(() => {\n console.log(\"Contract type edited in the array in Firestore.\");\n resolve(\"Contract type edited in the array in Firestore.\");\n })\n .catch((error) => {\n console.error(\"Error updating document: \", error);\n reject(\"Error updating document.\");\n });\n } else {\n console.log(\"Contract type not found in the array.\");\n reject(\"Contract type not found in the array.\");\n }\n } else {\n console.log(\"Document does not exist.\");\n reject(\"Document does not exist.\");\n }\n })\n .catch((error) => {\n console.error(\"Error getting document: \", error);\n reject(\"Error getting document.\");\n });\n });\n}\n\nexport function DeleteContractType(id, nameToDeleteEn, nameToDeleteAr) {\n return new Promise((resolve, reject) => {\n const Delete = db.collection(\"ContractTypes\").doc(id);\n\n Delete.get()\n .then((doc) => {\n if (doc.exists) {\n // Step 2: Retrieve the current array from the document\n const currentArray = doc.data().ContractTypes || []; // Retrieve the existing ContractTypes array\n\n // Step 3: Locate the object you want to delete within the array\n const index = currentArray.findIndex(\n (obj) => obj.en === nameToDeleteEn || obj.ar === nameToDeleteAr\n );\n\n if (index !== -1) {\n // Step 4: Remove the object from the array\n currentArray.splice(index, 1);\n\n // Step 5: Update the document in Firestore with the modified array\n Delete.update({ ContractTypes: currentArray }) // Update the ContractTypes field with the modified array\n .then(() => {\n console.log(\n \"Contract type deleted from the array in Firestore.\"\n );\n resolve(\"Contract type deleted from the array in Firestore.\");\n })\n .catch((error) => {\n console.error(\"Error updating document: \", error);\n reject(\"Error updating document.\");\n });\n } else {\n console.log(\"Contract type not found in the array.\");\n reject(\"Contract type not found in the array.\");\n }\n } else {\n console.log(\"Document does not exist.\");\n reject(\"Document does not exist.\");\n }\n })\n .catch((error) => {\n console.error(\"Error getting document: \", error);\n reject(\"Error getting document.\");\n });\n });\n}\n\nexport async function UploadContract(file, docId) {\n const contractUrl = await uploadFile(generateUniqueFileName(file.name), file);\n const docRef = collectionRef.doc(docId);\n await docRef.update({\n contractUrl: contractUrl,\n contractDate: moment().format(\"LLL\"),\n });\n}\nexport async function updateContractFile(downloadURL, docId, file) {\n const decodedURL = decodeURIComponent(downloadURL);\n const fileName = decodedURL\n .substring(decodedURL.lastIndexOf(\"/\") + 1)\n .split(\"?\")[0];\n fileName;\n const contractUrl = await uploadFile(generateUniqueFileName(file.name), file);\n const docRef = collectionRef.doc(docId);\n await docRef.update({\n contractUrl: contractUrl,\n contractDate: moment().format(\"LLL\"),\n });\n}\nexport async function deleteContractFile(docId) {\n const docRef = collectionRef.doc(docId);\n await docRef.update({ contractDate: \"\", contractUrl: \"\" });\n}\nexport async function sendContract(phoneNumber, message, docId) {\n const res = await axios.post(\n \"https://us-central1-law-office-flutterflow.cloudfunctions.net/app/whatsapp/send\",\n {\n phoneNumber,\n message,\n }\n );\n if (!res?.data?.status) {\n throw new Error(res?.data?.message);\n }\n const docRef = collectionRef.doc(docId);\n await docRef.update({ sendToWhatsapp: true });\n}\n\nasync function uploadFile(fileName, file) {\n const currentUser = firebase.auth().currentUser;\n if (!currentUser) {\n throw new Error(\"User is not signed in.\");\n }\n const userId = currentUser.uid;\n const fileRef = storage.child(`users/${userId}/${fileName}`);\n const res = await fileRef.put(file);\n return await res?.ref.getDownloadURL();\n}\n\nfunction generateUniqueFileName(originalFileName) {\n const timestamp = Date.now();\n const randomString = Math.random().toString(36).slice(2, 9);\n const fileExtension = originalFileName.split(\".\").pop();\n return `${timestamp}-${randomString}.${fileExtension}`;\n}\nfunction nanosecondsToISO8601(seconds) {\n const milliseconds = seconds * 1000; // Convert nanoseconds to milliseconds\n const date = new Date(milliseconds);\n return date;\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"row mt-4\"},[_c('div',{staticClass:\"col-sm-12 col-md-6\"},[_c('div',{staticClass:\"dataTables_length\",attrs:{\"id\":\"tickets-table_length\"}},[_c('label',{staticClass:\"d-inline-flex align-items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"show\"))+\"  \"),_c('b-form-select',{attrs:{\"size\":\"sm\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"entries\"))+\" \")],1)])]),_c('div',{staticClass:\"col-sm-12 col-md-6\"},[_c('div',{staticClass:\"dataTables_filter text-md-right\",attrs:{\"id\":\"tickets-table_filter\"}},[_c('label',{staticClass:\"d-inline-flex align-items-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"search\"))+\": \"),_c('b-form-input',{staticClass:\"form-control form-control-sm ml-2\",attrs:{\"type\":\"search\",\"placeholder\":_vm.$t('search') + '...'},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}})],1),(!_vm.hideAddButton)?_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.modal-add\",modifiers:{\"modal-add\":true}}],staticClass:\"add-button\",attrs:{\"disabled\":!_vm.addbtn,\"variant\":\"success\"}},[_vm._v(\"+ \")]):_vm._e()],1)])]),_c('div',{staticClass:\"filter-container\"},[_vm._l((_vm.filterKeys),function(key,index){return _c('div',{key:`filterOfIndex.${index}`},[_c('b',[_vm._v(_vm._s(_vm.getHeadName(key)))]),_c('multiselect',{staticStyle:{\"max-width\":\"100%\"},attrs:{\"options\":_vm.options[key],\"searchable\":true,\"close-on-select\":true,\"show-labels\":true,\"placeholder\":\"--\",\"max-height\":150,\"hideSelected\":true,\"multiple\":true,\"dir\":_vm.current_language === 'ar'? 'rtl' : 'ltr',\"selectLabel\":_vm.$t('pressToSelect'),\"deselectLabel\":_vm.$t('pressToDeselect'),\"selectedLabel\":_vm.$t('selected'),\"label\":\"name\",\"track-by\":\"name\"},scopedSlots:_vm._u([{key:\"noResult\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('noResults'))+\" \")]},proxy:true},{key:\"noOptions\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('noOptions'))+\" \")]},proxy:true}],null,true),model:{value:(_vm.selectVal[key]),callback:function ($$v) {_vm.$set(_vm.selectVal, key, $$v)},expression:\"selectVal[key]\"}})],1)}),_c('b-form-group',{staticClass:\"mb-0 table-sort-container\",attrs:{\"label\":_vm.$t('sort')},scopedSlots:_vm._u([{key:\"default\",fn:function({ ariaDescribedby }){return [_c('b-input-group',[_c('b-form-select',{staticClass:\"w-75\",attrs:{\"id\":\"sort-by-select\",\"options\":_vm.sortOptions,\"aria-describedby\":ariaDescribedby},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('option',{attrs:{\"value\":\"\"}},[_vm._v(\"--\")])]},proxy:true}],null,true),model:{value:(_vm.tableSort),callback:function ($$v) {_vm.tableSort=$$v},expression:\"tableSort\"}}),_c('b-form-select',{staticClass:\"w-25\",attrs:{\"disabled\":!_vm.tableSort,\"aria-describedby\":ariaDescribedby},model:{value:(_vm.sortDesc),callback:function ($$v) {_vm.sortDesc=$$v},expression:\"sortDesc\"}},[_c('option',{domProps:{\"value\":false}},[_vm._v(_vm._s(_vm.$t('asc')))]),_c('option',{domProps:{\"value\":true}},[_vm._v(_vm._s(_vm.$t('desc')))])])],1)]}}])})],2),_c('div',{staticClass:\"table-responsive mb-0\"},[_c('b-table',{attrs:{\"busy\":_vm.isBusy,\"items\":_vm.filteredItems,\"fields\":_vm.finalFields,\"responsive\":\"sm\",\"head-variant\":\"dark\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"sort-by\":_vm.tableSort,\"sort-desc\":_vm.sortDesc,\"filter\":_vm.filter,\"filter-included-fields\":_vm.filterOn,\"hover\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.tableSort=$event},\"update:sort-by\":function($event){_vm.tableSort=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event},\"filtered\":_vm.onFiltered},scopedSlots:_vm._u([{key:\"table-busy\",fn:function(){return [_c('div',{staticClass:\"text-center text-danger my-2\"},[_c('b-spinner',{staticClass:\"align-middle\"}),_c('strong',[_vm._v(\"Loading...\")])],1)]},proxy:true},{key:\"cell(status)\",fn:function(data){return [_c('div',{staticClass:\"badge font-size-12\",class:data.item.status\n ? 'badge-soft-success'\n : 'badge-soft-warning'},[_vm._v(\" \"+_vm._s(data.value)+\" \")])]}},{key:\"cell(contractStatus)\",fn:function(data){return [_c('div',{staticClass:\"badge font-size-12\",class:{\n 'badge-soft-warning':data.item.contractStatus === 0,\n 'badge-soft-info':data.item.contractStatus === 1,\n 'badge-soft-success':data.item.contractStatus === 2,\n 'badge-soft-danger':data.item.contractStatus === 3,\n 'badge-soft-secondary': ![0,1,2,3].includes(data.item.contractStatus)\n }},[_vm._v(\" \"+_vm._s(data.value)+\" \")])]}},{key:\"cell(isPaid)\",fn:function(data){return [(data.value !== 'ــــــــ')?[_c('div',{staticClass:\"badge font-size-12\",class:data.item.isPaid\n ? 'badge-soft-success'\n : 'badge-soft-danger'},[_vm._v(\" \"+_vm._s(data.value)+\" \")])]:[_c('div',{staticClass:\"badge font-weight-lighter font-size-12\"},[_vm._v(_vm._s(data.value))])]]}},{key:\"cell(QuestionStatus)\",fn:function(data){return [_c('div',{staticClass:\"badge font-size-12\",class:data.item.QuestionStatus\n ? 'badge-soft-success'\n : 'badge-soft-danger'},[_vm._v(\" \"+_vm._s(data.value)+\" \")])]}},{key:\"cell(edit)\",fn:function(data){return [_c('b-button',{attrs:{\"pill\":\"\",\"variant\":\"warning\"},on:{\"click\":function($event){return _vm.$emit('editClicked', data)}}},[_c('i',{staticClass:\"ri-pencil-fill\"})])]}},{key:\"cell(actions)\",fn:function(data){return [_c('b-button',{attrs:{\"variant\":\"dark\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.rowClicked(data.item)}}},[_c('i',{staticClass:\"mdi mdi-eye-outline\"})])]}},{key:\"cell(clientName)\",fn:function(data){return [(data.item.clientId)?[(data.item?.isAnonymous)?[_vm._v(\" \"+_vm._s(_vm.$t('anonymous'))+\" \")]:[_c('router-link',{staticClass:\"client-link\",attrs:{\"to\":{name:'clientPage',params:{id:data.item.clientId}}}},[_vm._v(\" \"+_vm._s(data.item.clientName)+\" \")])]]:[_vm._v(\" \"+_vm._s(data.item.clientName)+\" \")]]}}])})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"dataTables_paginate paging_simple_numbers float-right\"},[_c('ul',{staticClass:\"pagination pagination-rounded mb-0\"},[_c('b-pagination',{attrs:{\"total-rows\":_vm.rows,\"per-page\":_vm.perPage},on:{\"change\":_vm.pageChanged},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)])])])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tables.vue?vue&type=script&lang=js&\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tables.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tables.vue?vue&type=template&id=b28c6868&scoped=true&\"\nimport script from \"./Tables.vue?vue&type=script&lang=js&\"\nexport * from \"./Tables.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Tables.vue?vue&type=style&index=0&id=b28c6868&prod&scoped=true&lang=css&\"\nimport style1 from \"./Tables.vue?vue&type=style&index=1&id=b28c6868&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 \"b28c6868\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Layout',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('Table',{attrs:{\"tableData\":_vm.flattenedtabletData,\"fields\":_vm.fields,\"sortBy\":_vm.sortBy,\"filterOn\":_vm.filterOn,\"filter-keys\":['clientName', 'contractStatus', 'contractType']},on:{\"rowClicked\":_vm.rowClicked}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./all.vue?vue&type=script&lang=js&\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./all.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./all.vue?vue&type=template&id=7b88d66c&\"\nimport script from \"./all.vue?vue&type=script&lang=js&\"\nexport * from \"./all.vue?vue&type=script&lang=js&\"\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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tables.vue?vue&type=style&index=0&id=b28c6868&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tables.vue?vue&type=style&index=1&id=b28c6868&prod&lang=css&\""],"sourceRoot":""}