@bilfenyazilimekibi/bilpack 1.3.18 → 1.3.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bilpack.common.js +2 -2
- package/dist/bilpack.umd.js +2 -2
- package/dist/bilpack.umd.min.js +2 -2
- package/package.json +1 -1
package/dist/bilpack.common.js
CHANGED
|
@@ -709,7 +709,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
709
709
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
710
710
|
|
|
711
711
|
"use strict";
|
|
712
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var vue_advanced_cropper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-advanced-cropper */ \"./node_modules/vue-advanced-cropper/dist/index.es.js\");\n/* harmony import */ var vue_advanced_cropper_dist_style_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-advanced-cropper/dist/style.css */ \"./node_modules/vue-advanced-cropper/dist/style.css\");\n/* harmony import */ var _dev_project_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../dev/project.settings */ \"./dev/project.settings.js\");\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n components: { Cropper: vue_advanced_cropper__WEBPACK_IMPORTED_MODULE_0__.Cropper },\n\n props: {\n isSingleSelect: {\n default: false,\n },\n bottomScroll: {\n default: true,\n },\n topScroll: {\n type: Boolean,\n default: false\n },\n customSwitch: {\n default: false,\n },\n cropImg: {\n default: false,\n },\n imgChangeApi: {\n default: \"\",\n },\n isImageChange: {\n default: false,\n },\n coloredRows: {\n default: () => [],\n },\n schoolNameTooltip: {\n default: false,\n },\n queryPrefix: {\n default: null,\n },\n queryCallback: {\n default: null,\n },\n isClickableColumn: {\n default: false,\n },\n withoutActions: {\n default: false,\n },\n hasActivePassive: {\n default: false,\n },\n isExpandable: {\n default: false,\n },\n isSelectable: {\n default: false,\n },\n filterRange: {\n default: false,\n },\n pagination: {\n default: true,\n },\n searchableList: {\n default: true,\n },\n customizeActions: {\n default: false,\n },\n colorColumns: {\n default: false,\n },\n stickyColumns: {\n type: Array,\n default: () => [],\n },\n multiSelectSettings: {\n default: () => ({\n action: false,\n }),\n },\n isImage: {\n default: false,\n },\n // perPage: {\n // default: 10\n // },\n isAllItems: {\n default: false\n },\n filterPerPage: {\n default: true,\n },\n isTopArea: {\n default: true,\n },\n headers: {\n default: () => [],\n },\n colorChangeItems: {\n default: () => [],\n },\n noDataTitle: {\n default: () => [],\n },\n // hiddenColumns: {\n // default: () => []\n // },\n apiUrl: {\n type: String,\n default: null,\n },\n viewConditionFunction: {\n type: Function,\n },\n queryJsonProps: {\n type: Object,\n default: () => ({\n limit: { start: 0, stop: 100 },\n order: [{ columnName: \"id\", type: \"desc\" }],\n columns: null,\n }),\n },\n customParams: {\n default: null,\n },\n tableTitle: {\n default: true,\n },\n tabs: {\n default: () => ({ visible: false }),\n },\n isColumnFilter: {\n default: false,\n },\n isColumnDownload: {\n default: false,\n },\n downloadButtonText: {\n default: () => ({\n title: \"İndir\",\n color: \"#ffff\",\n }),\n },\n isAddButtonOptions: {\n default: null,\n },\n title: {\n type: String,\n },\n info: {\n default: true,\n },\n deleteOptions: {\n default: null,\n },\n updateOptions: {\n default: null,\n },\n initAuto: {\n default: true,\n },\n newItem: {\n default: false,\n },\n loading: {\n default: false,\n },\n switchKey: {\n default: \"\",\n },\n isFirstRun: {\n default: true,\n },\n },\n data() {\n return {\n imgFileLoader: false,\n cropDialog: false,\n currentImgSelectedItem: null,\n currentImgChangeType: \"Student\",\n aspectRatio: false,\n stencilProps: {\n movable: true,\n resizable: true,\n handlers: { corners: true },\n round: true,\n },\n cropShape: \"rectangle-stencil\",\n selectedImage: null,\n croppedImage: null,\n generalSettings: _dev_project_settings__WEBPACK_IMPORTED_MODULE_2__.generalSettings,\n tab: 0,\n isDownloadFilter: false,\n columnIsActive: false,\n isMobile: null,\n perPage: 10,\n excelOptions: {\n active: true,\n json_data: [],\n json_fields: {},\n excelFileName: \"\",\n json_meta: [\n [\n {\n key: \"charset\",\n value: \"utf-8\",\n },\n ],\n ],\n },\n deleteItem: null,\n options: {},\n sortBy: \"fat\",\n sortDesc: false,\n search: \"\",\n page: 1,\n pageCount: 0,\n skeletonLoader: true,\n mainLoader: true,\n queryJson: null,\n items: [],\n // perPageItems: [5, 10, 15, 20, 25],\n perPageItems: [],\n week: 10,\n weekItems: [5, 10, 15],\n currentPageNumber: 0,\n sortType: \"desc\",\n columnName: \"\",\n filterColumns: \"\",\n totalCount: \"\",\n listItemSelected: [],\n expanded: [],\n selectedHeaders: [],\n copyHeaders: [],\n checkBoxDisabled: false,\n switchKeyData: \"\",\n isDisabled: false,\n // Dinamik olarak oluşturulan hex renk sınıflarını izlemek için\n createdRowColorClasses: new Set(),\n };\n },\n watch: {\n totalCount(val) {\n if(this.isAllItems) {\n this.perPage = val\n }\n },\n cropDialog(val) {\n if (!val) {\n this.selectedImage = null;\n this.croppedImage = null;\n }\n },\n options: {\n handler() {\n this.fetchData();\n },\n deep: true,\n },\n tab(value) {\n // // query json tamamen güncelleyerek işlem yap\n\n // if (this.tabs.type === 'query') {\n //\n // let prefix = {}\n // prefix = {\n // \"columns\": column !== null ? { [column]: { \"value1\": val, \"operator\": \"like\" } } : null\n // }\n // this.queryPrefix = JSON.stringify(prefix)\n //\n // // let queryObj = {}\n // // queryObj = {\n // // \"limit\": { \"start\": 0, \"stop\": 10 },\n // // \"order\": [{ \"columnName\": \"id\", \"type\": \"desc\" }],\n // // \"columns\": column !== null ? { [column]: { \"value1\": val, \"operator\": \"like\" } } : null\n // // }\n //\n // setTimeout(() => this.fetchData())\n // // let queryObj = {}\n // // if (type === 'error') {\n //\n // // } else if (type === 'success') {\n // // queryObj = {\n // // \"limit\": { \"start\": -1, \"stop\": -1 },\n // // \"order\": [{ \"columnName\": \"id\", \"type\": \"desc\" }],\n // // \"columns\": { \"studentData\": { \"value1\": \"1\", \"operator\": \"like\" } }\n // // }\n // // } else {\n // // queryObj = {\n // // \"limit\": { \"start\": -1, \"stop\": -1 },\n // // \"order\": [{ \"columnName\": \"id\", \"type\": \"desc\" }],\n // // \"columns\": null\n // // }\n // // }\n\n // queryJson ile search işlemi yap\n\n // let column = this.tabs.content[value].column\n // let val = this.tabs.content[value].value\n\n this.showHeaders.forEach((item, index) => {\n // : Todo geçici çözüm. Bu alan düzenlencek\n if (item.value === \"studentData\") {\n if (this.tabs.content[value].key === \"success\") {\n this.showHeaders.find((x) => x.value === \"studentData\").searchValue = \"1\";\n } else if (this.tabs.content[value].key === \"error\") {\n this.showHeaders.find((x) => x.value === \"studentData\").searchValue = \"0\";\n } else {\n this.showHeaders.find((x) => x.value === \"studentData\").searchValue = \"\";\n }\n }\n\n if (item.value === this.tabs.content[value].key) {\n this.showHeaders[index].searchValue = this.tabs.content[value].value;\n }\n });\n setTimeout(() => this.searchData());\n\n // this.fetchData()\n },\n page(value) {\n if (value > 0) {\n let startVal = this.page === 1 ? 0 : this.perPage * (value - 1);\n this.queryJson.limit.start = startVal;\n this.queryJson.limit.stop = this.perPage;\n this.fetchData();\n }\n },\n perPage(value) {\n const self = this;\n this.queryJson.limit.stop = value;\n setTimeout(() => {\n self.perPage = value;\n });\n this.fetchData();\n },\n selectedHeaders: {\n handler() {\n this.initExcel();\n },\n deep: true,\n },\n expanded(value) {\n this.$emit(\"expandAction\", value);\n },\n listItemSelected(value) {\n const self = this;\n self.$emit(\"listItemSelected\", value);\n },\n },\n created() {\n \n this.queryJsonProps.limit.stop = this.perPage;\n // this.queryJsonProps.order.type = 'desc';\n\n // this.queryJson = this.queryJsonProps;\n this.queryJson = JSON.parse(JSON.stringify(this.queryJsonProps));\n\n this.selectedHeaders = this.headers;\n this.selectedHeaders.forEach((header, index) => {\n header.searchValue = \"\";\n header.selected = true;\n this.copyHeaders.push(header);\n });\n },\n mounted() {\n if (this.initAuto) {\n this.initExcel();\n if (this.apiUrl !== null) {\n this.hasActivePassive ? this.setActivePassive(\"active\") : this.fetchData();\n }\n this.dataSelectInit();\n }\n\n // Sticky kolonları ayarla\n if (this.stickyColumns.length > 0) {\n this.$nextTick(() => {\n setTimeout(() => {\n this.setupStickyColumns();\n }, 500);\n });\n }\n this.setupScrollSync();\n },\n updated() {\n // Tablo güncellendiğinde sticky kolonları tekrar ayarla\n if (this.stickyColumns.length > 0) {\n this.$nextTick(() => {\n this.setupStickyColumns();\n });\n }\n this.checkForHorizontalScroll();\n },\n beforeDestroy() {\n const table = this.$refs.dataTable;\n if (table) {\n const wrapper = table.$el.querySelector(\".v-data-table__wrapper\");\n if (wrapper) {\n wrapper.removeEventListener(\"scroll\", this.handleMainTableScroll);\n }\n }\n },\n methods: {\n checkboxIsDisabled(val) {\n const self = this;\n if(val == 'true') {\n self.isDisabled = true\n } else {\n self.isDisabled = false\n }\n },\n findAutoSelectItems(keyValue) {\n const self = this;\n let resultArray = [];\n\n self.items.forEach((item) => {\n if (item.hasOwnProperty(keyValue)) {\n // Eğer bu değer daha önce array'e eklenmemişse ekle\n if (!resultArray.includes(item[keyValue])) {\n const searchObject = {\n name: item[keyValue],\n val: item[keyValue],\n };\n resultArray.push(searchObject);\n }\n }\n });\n return resultArray;\n },\n async onFileSelected(event, item) {\n const file = event.target.files[0];\n\n if (this.cropImg) {\n if (file) {\n this.selectedImage = URL.createObjectURL(file);\n setTimeout(() => (this.cropDialog = true));\n }\n } else {\n this.saveImage(file);\n }\n },\n async saveImage(file, fileName = null) {\n try {\n if (file) {\n this.imgFileLoader = true;\n // this.selectedImage = URL.createObjectURL(file);\n const formData = new FormData();\n formData.append(\"studentId\", this.currentImgSelectedItem.studentId);\n formData.append(\"type\", this.currentImgChangeType);\n if (fileName) {\n formData.append(\"image\", file, `${fileName}`);\n } else {\n formData.append(\"image\", file);\n }\n\n const { status, message } = await this.$axios.post(this.imgChangeApi, formData);\n\n if (status) {\n this.fetchData();\n this.$refs.fileInput.value = null;\n this.currentImgSelectedItem = null;\n this.cropDialog = false;\n this.currentImgSelectedItem = null;\n } else {\n this.$refs.tableAlert.error(message);\n }\n }\n } catch (e) {\n console.error(\"Error updating image:\", e);\n const msg = e.message ? e.message : \"Bir Hata Oluştu!\";\n this.$refs.tableAlert.error(msg);\n } finally {\n this.imgFileLoader = false;\n }\n },\n createCircularCanvas(canvas) {\n const size = Math.min(canvas.width, canvas.height);\n const circularCanvas = document.createElement(\"canvas\");\n circularCanvas.width = size;\n circularCanvas.height = size;\n\n const ctx = circularCanvas.getContext(\"2d\");\n\n ctx.beginPath();\n ctx.arc(size / 2, size / 2, size / 2, 0, Math.PI * 2);\n ctx.clip();\n\n ctx.drawImage(\n canvas,\n (canvas.width - size) / 2,\n (canvas.height - size) / 2,\n size,\n size,\n 0,\n 0,\n size,\n size\n );\n\n return circularCanvas;\n },\n cropImage() {\n const { canvas } = this.$refs.cropper.getResult();\n\n const finalCanvas =\n this.cropShape === \"circle-stencil\" ? this.createCircularCanvas(canvas) : canvas;\n\n finalCanvas.toBlob((imageBlob) => {\n const fileType = imageBlob.type.split(\"/\")[1];\n this.saveImage(imageBlob, `${imageBlob.size}.${fileType}`);\n }, \"image/jpeg\");\n },\n imageChange(item, type = \"Student\") {\n if (!this.isImageChange) return;\n this.currentImgSelectedItem = item;\n this.currentImgChangeType = type;\n this.$refs.fileInput.click();\n },\n formatDate(date) {\n if (!date) return null;\n const d = new Date(date);\n const day = String(d.getDate()).padStart(2, \"0\");\n const month = String(d.getMonth() + 1).padStart(2, \"0\");\n const year = d.getFullYear();\n return `${day}-${month}-${year}`;\n },\n parseDate(date) {\n if (!date) return null;\n const [day, month, year] = date.split(\"-\");\n return new Date(year, month - 1, day).toISOString().substr(0, 10);\n },\n // istenilen row'un backgrounduna renk vermek için kullanılan function\n itemRowBackground(item) {\n const self = this;\n let coloredName = \"\";\n\n // Yeni kurallar: coloredRowValue bir ifade olabilir: \"{a}+{b}\"\n // Eski kurallar: direkt değer eşitliği\n self.coloredRows.map((rule) => {\n const leftRaw = item[rule.coloredRowKey];\n const rightRaw = rule.coloredRowValue;\n\n const leftVal = (typeof leftRaw === \"number\")\n ? leftRaw\n : (typeof leftRaw === \"string\" && leftRaw.trim() !== \"\" && !isNaN(Number(leftRaw)))\n ? Number(leftRaw)\n : leftRaw;\n\n const rightVal =\n typeof rightRaw === \"string\" && rightRaw.includes(\"{\")\n ? self.evaluateExpression(rightRaw, item)\n : ((typeof rightRaw === \"number\")\n ? rightRaw\n : (typeof rightRaw === \"string\" && rightRaw.trim() !== \"\" && !isNaN(Number(rightRaw)))\n ? Number(rightRaw)\n : rightRaw);\n\n let isEqual;\n if (typeof leftVal === \"number\" && typeof rightVal === \"number\") {\n isEqual = leftVal === rightVal;\n } else {\n isEqual = String(leftVal) === String(rightVal);\n }\n\n const condition = rule.equalValue ? isEqual : !isEqual;\n if (condition) {\n const cls = self.getRowClassForColor(rule.coloredRowColor);\n if (cls) coloredName = cls;\n }\n });\n\n return coloredName;\n },\n\n // \"{a}+{b}-{c}\" gibi ifadeleri değerlendirir (yalnızca 0-9, + - * / ( ) ve nokta)\n evaluateExpression(expr, item) {\n try {\n let replaced = expr.replace(/\\{([^}]+)\\}/g, (match, key) => {\n const val = item[key.trim()];\n const num = (typeof val === \"number\") ? val : Number(val);\n return isNaN(num) ? 0 : num;\n });\n // Güvenlik: sadece izinli karakterler\n if (/^[0-9+\\-*/().\\s]+$/.test(replaced) === false) return 0;\n // eslint-disable-next-line no-new-func\n const fn = new Function(`return (${replaced});`);\n const result = fn();\n return typeof result === \"number\" && isFinite(result) ? result : 0;\n } catch (e) {\n return 0;\n }\n },\n\n // Renk adına göre sınıf döndürür. Hex verilirse dinamik sınıf üretir.\n getRowClassForColor(color) {\n if (typeof color !== \"string\") return \"\";\n const lower = color.toLowerCase();\n const named = [\"red\", \"blue\", \"white\", \"yellow\", \"green\"];\n if (named.includes(lower)) return `table-${lower}`;\n\n // Hex renk desteği\n if (color.startsWith(\"#\") && (color.length === 7 || color.length === 4)) {\n const sanitized = color.replace('#', '').toUpperCase();\n const className = `table-hex-${sanitized}`;\n if (!this.createdRowColorClasses.has(className)) {\n this.injectRowColorStyle(className, color);\n this.createdRowColorClasses.add(className);\n }\n return className;\n }\n\n // Diğer geçerli css renkleri için de dinamik sınıf oluşturmayı deneyelim\n const className = `table-color-${btoa(unescape(encodeURIComponent(color))).replace(/=/g, '')}`;\n if (!this.createdRowColorClasses.has(className)) {\n this.injectRowColorStyle(className, color);\n this.createdRowColorClasses.add(className);\n }\n return className;\n },\n\n // Verilen sınıf adı için style tag inject eder\n injectRowColorStyle(className, color) {\n const style = document.createElement('style');\n style.type = 'text/css';\n style.textContent = `.v-application .${className} .text-start { background-color: ${color} !important; }`;\n document.head.appendChild(style);\n },\n openModal(item, name) {\n this.$emit(\"openModal\", item, name);\n },\n changeDateInput(item) {\n this.$emit(\"changeDateInput\", item);\n // Tarih seçimi yapıldığı zaman o öğrencinin checkboxını true yapmak için\n const exists = this.listItemSelected.some(\n (student) => student.studentClassroomId === item.studentClassroomId\n );\n if (!exists) {\n this.listItemSelected.push(item);\n }\n },\n changeInput(item, date) {\n item.vaccineDate = date;\n this.$emit(\"changeInput\", item);\n },\n getImage(type) {\n if (type === \"no-result\") {\n return this.$bilpack.settings.images.table.noResult;\n } else {\n return this.$bilpack.settings.images.noData;\n }\n },\n switchAction(item) {\n this.$emit(\"switchAction\", item);\n },\n onResize() {\n if (window.innerWidth < 769) this.isMobile = true;\n else this.isMobile = false;\n },\n selectFilter(item) {\n const self = this;\n if (item.selected) {\n self.copyHeaders.push(item)\n } else {\n self.copyHeaders = self.copyHeaders.filter(val => val.value !== item.value)\n }\n if (self.headers.some(item => item.value === \"action\")) {\n if (self.copyHeaders.length === 2) {\n self.checkboxIsDisabled('true')\n }\n else {\n self.checkboxIsDisabled('false')\n }\n\n } else {\n if (self.copyHeaders.length === 1) {\n self.checkboxIsDisabled('true')\n } else {\n self.checkboxIsDisabled('false')\n }\n }\n this.$nextTick(() => {\n setTimeout(() => {\n this.setupScrollSync();\n }, 100);\n });\n },\n setActivePassive(method) {\n const self = this;\n\n if (self.queryJson.columns === null) {\n self.queryJson.columns = {\n status: {\n value1: method === \"active\" ? \"1\" : \"0\",\n operator: \"equal\",\n },\n };\n } else {\n if (typeof self.queryJson.columns === \"object\") {\n self.queryJson.columns.status = {\n value1: method === \"active\" ? \"1\" : \"0\",\n operator: \"equal\",\n };\n }\n }\n\n self.queryJson.limit.start = \"0\";\n\n self.columnIsActive = method === \"active\";\n\n self.fetchData();\n },\n filterHandle(headers) {\n headers.forEach((val, key) => {\n if (val.value === \"action\") {\n headers.splice(key, 1);\n }\n });\n return headers;\n },\n initExcel() {\n const self = this;\n self.excelOptions.json_fields = {};\n setTimeout(() => {\n self.selectedHeaders.forEach((val) => {\n if (val.value !== \"action\") self.excelOptions.json_fields[val.text] = val.value;\n });\n }, 200);\n\n self.excelOptions.excelFileName =\n self.title !== undefined ? self.title : \"Excel Listesi\";\n },\n dataSelectInit() {\n const self = this;\n self.headers.forEach((item) => {\n if (\n item.searchOptions !== undefined &&\n item.searchOptions.type === \"select-data\"\n ) {\n // item.loader = true;\n if (item.searchOptions.endpoint !== \"\") {\n item.searchOptions.selectItems = [];\n self.$axios.get(item.searchOptions.endpoint).then((res) => {\n item.searchOptions.selectItems = res.data.data;\n });\n }\n }\n });\n },\n openDeleteConfirm(item) {\n this.$emit(\"deleteItem\", item);\n const self = this;\n self.deleteItem = item;\n if (self.deleteOptions.confirmText !== undefined) {\n this.$refs.tableAlert.confirm({\n text: self.deleteOptions.confirmText,\n });\n } else {\n this.$refs.tableAlert.confirm();\n }\n },\n deleteTableItem() {\n const self = this;\n const obj = {};\n\n self.deleteOptions.postParams.forEach((val) => {\n obj[val.param] = this.isSelectable\n ? JSON.stringify([this.deleteItem[val.value]]).replace(/\"/g, \"\")\n : this.deleteItem[val.value];\n });\n\n if (self.deleteOptions.customPostParams !== undefined) {\n self.deleteOptions.customPostParams.forEach((val) => {\n obj[val.param] = val.value;\n });\n }\n\n setTimeout(() => {\n self.$axios.post(self.deleteOptions.endpoint, obj).then((res) => {\n if (res.data.status) {\n self.$refs.tableAlert.success();\n self.fetchData();\n\n this.$emit(\"deleteAfterFunction\");\n } else {\n let text =\n res.data.message !== undefined ? res.data.message : \"Bir hata oluştu\";\n self.$refs.tableAlert.error({\n text: text,\n });\n }\n });\n });\n },\n searchData(customSearchValue) {\n let columns = {};\n\n if (this.queryPrefix !== null) {\n if (this.queryPrefix.columns !== undefined)\n columns = JSON.parse(JSON.stringify(this.queryPrefix.columns));\n }\n this.headers.forEach((value, key) => {\n if (value.searchValue) {\n let pushObject = {\n value1: value.searchValue,\n operator: value.operator,\n };\n customSearchValue\n ? customSearchValue?.length > 0\n ? (columns[customSearchValue] = pushObject)\n : (columns[value.value] = pushObject)\n : (columns[value.value] = pushObject);\n }\n });\n this.queryJson.columns = columns;\n this.$forceUpdate();\n this.page = 1;\n this.fetchData();\n },\n // searchData() {\n // let columns = {};\n // this.headers.forEach((value, key) => {\n // // todo: Bu alan tekrar düzenlenecek.\n // if (value.searchValue) {\n // if (value.value === 'preRegistrationStatus' && value.searchValue === '4') {\n // let pushObject = {\"value1\": 'true', \"operator\": value.operator}\n // columns['registrationStatus'] = pushObject\n // } else {\n // let pushObject = {\"value1\": value.searchValue, \"operator\": value.operator}\n // columns[value.value] = pushObject\n // }\n // }\n // })\n //\n // this.queryJson.columns = columns\n // this.page = 1;\n //\n // this.fetchData();\n // },\n customSorting(sortBy, sortDesc) {\n let sort = sortBy?.length === 0 ? \"id\" : sortBy[0];\n let desc = sortDesc;\n this.queryJson.order.forEach((value, key) => {\n if (value.columnName !== sort || value.type !== desc) {\n // this.page = 1;\n // if (value.columnName === 'FIELD(school,\\'GENEL\\')') {\n //\n // } else {\n // this.page = 1;\n // }\n }\n this.queryJson.order.type = desc;\n console.log(this.queryJson);\n if (value.columnName !== \"id\") sort = value.columnName;\n });\n // if (this.queryJson.order.columnName !== sort || this.queryJson.order.type !== desc) this.page = 1;\n this.queryJson.order = [];\n this.queryJson.order.push({\n columnName: sort,\n type: desc,\n });\n },\n resetAndFetch() {\n const self = this;\n self.showHeaders.forEach((item) => {\n item.searchValue = \"\";\n });\n self.queryJson = JSON.stringify(this.queryJsonProps);\n self.fetchData();\n },\n checkListItems() {\n try {\n const localSelectedItem = JSON.parse(localStorage.getItem(\"selectData\"));\n if (localSelectedItem) {\n this.listItemSelected = localSelectedItem;\n } else {\n this.listItemSelected = [];\n }\n } catch (error) {\n this.listItemSelected = [];\n }\n },\n fetchData(customQueryJson = null, refreshQuery = false) {\n const self = this;\n self.mainLoader = true;\n self.checkListItems();\n const { sortBy, sortDesc, page, itemsPerPage } = this.options;\n\n this.customSorting(sortBy, this.queryJsonProps.order[0].type);\n\n setTimeout(async () => {\n let queryJsonString =\n customQueryJson !== null ? customQueryJson : JSON.stringify(this.queryJson);\n\n let params = {\n queryJson: queryJsonString,\n };\n\n if (self.customParams !== null) Object.assign(params, self.customParams);\n\n if (self.queryCallback !== null && typeof self.queryCallback === \"function\") {\n params = await self.queryCallback(params);\n }\n // İstek atılmadan önce dışarıya event gönderiyoruz\n this.$emit('beforeRequest', {\n queryJsonProps: this.queryJson,\n timestamp: new Date().toLocaleString()\n });\n\n self.$axios.post(self.apiUrl, params).then((res) => {\n if (res.data.data.result !== undefined) {\n self.totalCount = res.data.data.totalCount;\n if (res.data.status) {\n self.initPerPageItems(this.totalCount);\n self.pageCount = Math.ceil(res.data.data.filterCount / self.perPage);\n self.items = res.data.data.result;\n self.items.map((val, index) => {\n if (val.createdAt) {\n const dateString = val.createdAt;\n const dateParts = dateString.split(\" \")[0].split(\"-\");\n const formattedDate = `${dateParts[1]}-${dateParts[2]}-${dateParts[0]}`;\n self.items[index].createdAt = formattedDate;\n self.items[index].fullSchollName = val.schoolNames;\n if (val.schoolNames) {\n if (val.schoolNames.includes(\",\")) {\n const arraySchoolName = val.schoolNames.split(\",\");\n self.items[index].schoolNames =\n arraySchoolName[0] + \"... +\" + (arraySchoolName?.length - 1);\n }\n }\n }\n });\n self.dateHandle(self.items, self.showHeaders);\n self.itemsCallback(self.items, self.showHeaders);\n self.items.map((val, index) => {\n if (val.registerPercentage) {\n self.items[index].registerPercentage = val.registerPercentage.replace(/\\./g, \",\");\n }\n });\n \n // Tablo gösterimi için değerleri dönüştür\n self.convertTableValues(self.items, self.headers);\n \n // Excel için ayrı bir veri seti oluştur ve dönüştür\n const excelItems = self.convertAlternateValues(self.items, self.headers);\n self.excelOptions.json_data = excelItems;\n \n self.$emit(\"onFetch\", self.items);\n\n if (self.stickyColumns.length > 0) {\n self.$nextTick(() => {\n setTimeout(() => {\n self.setupStickyColumns();\n }, 100);\n });\n }\n }\n }\n self.mainLoader = false;\n self.skeletonLoader = false;\n\n this.$nextTick(() => {\n setTimeout(() => {\n this.setupScrollSync();\n }, 100);\n });\n });\n });\n },\n itemsCallback(items, headers) {\n const self = this;\n const callbacks = headers.filter((x) => x.callback);\n if (callbacks) {\n callbacks.forEach((x) => {\n items.forEach((i, index) => {\n const fetchVal = i[x.value];\n if (fetchVal !== undefined && typeof x.callback === \"function\") {\n self.items[index][x.value] = x.callback(fetchVal);\n }\n });\n });\n }\n },\n dateHandle(items, headers) {\n let dateItems = [];\n headers.forEach((headerItem, index) => {\n if (headerItem.searchOptions !== undefined) {\n if (headerItem.searchOptions.type === \"date\") {\n dateItems.push(headerItem.value);\n }\n }\n });\n this.items.forEach((item, index) => {\n dateItems.forEach((val) => {\n if (item[val] !== null) {\n item[val] = this.convertDate(item[val]);\n }\n });\n });\n },\n convertDate(inputDate) {\n const dateObj = new Date(inputDate);\n const year = dateObj.getFullYear();\n const month = String(dateObj.getMonth() + 1).padStart(2, \"0\");\n const day = String(dateObj.getDate()).padStart(2, \"0\");\n return `${day}.${month}.${year}`;\n },\n initPerPageItems(totalCount = 0) {\n const self = this;\n let array = [];\n const defaultItems = [5, 10, 15, 20, 25];\n\n defaultItems.forEach((numb) =>\n totalCount > numb ? array.push({ text: numb, value: numb }) : \"\"\n );\n array.push({\n text: \"Tümü\",\n value: totalCount,\n });\n\n self.perPageItems = array;\n },\n getColor(item, name) {\n if (name === \"repetition\") {\n return item === \"1\" ? \"#DCFCE7\" : \"#FEE2E2\";\n }\n if (name === \"transfer\") {\n if (item === \"0\") return \"#FEE2E2\";\n else if (item === \"1\") return \"#DBEAFE\";\n else if (item === \"2\") return \"#DCFCE7\";\n else if (item === \"3\") return \"#FEE2E2\";\n else if (item === \"4\") return \"#DBEAFE\";\n }\n if (name === \"register\") {\n if (item === \"0\") return \"#DBEAFE\";\n else if (item === \"1\") return \"#DBEAFE\";\n else if (item === \"2\") return \"#DCFCE7\";\n }\n if (name === \"payment\" || name === \"working\") {\n return item === \"1\" ? \"#DCFCE7\" : \"#FEE2E2\";\n }\n if (name === \"leaving\") {\n return item === \"1\" ? \"#FEE2E2\" : \"#DBEAFE\";\n }\n if (name === \"graduated\") {\n return item === \"1\" ? \"#DCFCE7\" : \"#DBEAFE\";\n }\n if (name === \"registrationStatus\") {\n if (item === \"0\") return \"#DCFCE7\";\n else if (item === \"1\") return \"#DBEAFE\";\n else if (item === \"2\") return \"#DCFCE7\";\n else if (item === \"3\") return \"#FEE2E2\";\n else if (item === \"4\") return \"#DCFCE7\";\n }\n if (name === \"lastBranch\") {\n if (item === \"ÖNKAYIT\") return \"#DBEAFE\";\n else if (item === \"NAKİL\") return \"#DCFCE7\";\n else if (item === \"KAYITYENİLEME\") return \"#FEE2E2\";\n }\n if (name === \"announcementProcess\") {\n if (item === \"Güncel\") return \"#DCFCE7\";\n else if (item === \"Geçmiş\") return \"#D9D9D9\";\n else if (item === \"Beklemede\") return \"#FEE2E2\";\n }\n if (name === \"topicStatus\") {\n if (item === \"0\") return \"#DC2626\";\n else if (item === \"1\") return \"#16A34A\";\n }\n if (name === \"unitStatus\") {\n if (item === \"0\") return \"#DC2626\";\n else if (item === \"1\") return \"#16A34A\";\n }\n if (name === \"preRegistrationStatus\") {\n if (item === \"0\") return \"#DBEAFE\";\n else if (item === \"1\") return \"#DCFCE7\";\n else if (item === \"2\") return \"#FEE2E2\";\n else if (item === \"3\") return \"#FEE2E2\";\n else if (item === \"4\") return \"#DCFCE7\";\n }\n if (name === \"registerButton\") {\n return item === \"true\" ? \"#DCFCE7\" : \"#DBEAFE\";\n }\n },\n getTextColor(item, name) {\n if (name === \"repetition\") {\n return item === \"1\" ? \"#16A34A\" : \"#DC2626\";\n }\n if (name === \"transfer\") {\n if (item === \"0\") return \"#DC2626\";\n else if (item === \"1\") return \"#2563EB\";\n else if (item === \"2\") return \"#16A34A\";\n else if (item === \"3\") return \"#DC2626\";\n else if (item === \"4\") return \"#2563EB\";\n }\n if (name === \"register\") {\n if (item === \"0\") return \"#2563EB\";\n else if (item === \"1\") return \"#2563EB\";\n else if (item === \"2\") return \"#16A34A\";\n }\n if (name === \"payment\" || name === \"working\") {\n return item === \"1\" ? \"#16A34A\" : \"#DC2626\";\n }\n if (name === \"leaving\") {\n return item === \"1\" ? \"#DC2626\" : \"#2563EB\";\n }\n if (name === \"graduated\") {\n return item === \"1\" ? \"#16A34A\" : \"#2563EB\";\n }\n if (name === \"lastBranch\") {\n if (item === \"ÖNKAYIT\") return \"#2563EB\";\n else if (item === \"NAKİL\") return \"#16A34A\";\n else if (item === \"KAYITYENİLEME\") return \"#DC2626\";\n }\n if (name === \"registrationStatus\") {\n if (item === \"0\") return \"#16A34A\";\n else if (item === \"1\") return \"#2563EB\";\n else if (item === \"2\") return \"#16A34A\";\n }\n if (name === \"announcementProcess\") {\n if (item === \"Güncel\") return \"#00D095\";\n else if (item === \"Beklemede\") return \"#FE550D\";\n else if (item === \"Geçmiş\") return \"#464646\";\n }\n if (name === \"preRegistrationStatus\") {\n if (item === \"0\") return \"#2563EB\";\n else if (item === \"1\") return \"#16A34A\";\n else if (item === \"2\") return \"#DC2626\";\n else if (item === \"3\") return \"#DC2626\";\n else if (item === \"4\") return \"#16A34A\";\n }\n if (name === \"registerButton\") {\n return item === \"true\" ? \"#16A34A\" : \"#2563EB\";\n }\n },\n clickNewItem() {\n this.$emit(\"clickNewItem\");\n },\n clickMultiSelectAction(clickItem) {\n this.$emit(\"clickMultiSelectAction\", this.listItemSelected, clickItem);\n },\n stringToCode(str, name, value, selfItem) {\n const func = new Function(\"item\", `return ${str}`);\n const item = { [name]: value };\n return func(item);\n },\n setupStickyColumns() {\n const table = document.querySelector(\"#v-data-table\");\n if (!table) return;\n\n const headerCells = table.querySelectorAll(\"thead th\");\n const rows = table.querySelectorAll(\"tbody tr\");\n\n // Önce tüm sticky stilleri temizle\n headerCells.forEach((cell) => {\n cell.style.position = \"\";\n cell.style.left = \"\";\n cell.style.zIndex = \"\";\n cell.style.backgroundColor = \"\";\n cell.style.boxShadow = \"\";\n });\n\n rows.forEach((row) => {\n const cells = row.querySelectorAll(\"td\");\n cells.forEach((cell) => {\n cell.style.position = \"\";\n cell.style.left = \"\";\n cell.style.zIndex = \"\";\n cell.style.backgroundColor = \"\";\n cell.style.boxShadow = \"\";\n });\n });\n\n // Sticky kolonları ayarla\n let leftOffset = 0;\n\n this.stickyColumns.forEach((columnValue, index) => {\n // Header hücresini bul\n const headerIndex = this.showHeaders.findIndex(\n (header) => header.value === columnValue\n );\n if (headerIndex === -1) return;\n\n const headerCell = headerCells[headerIndex];\n if (!headerCell) return;\n\n // Sticky stil uygula\n headerCell.style.position = \"sticky\";\n headerCell.style.left = leftOffset + \"px\";\n headerCell.style.zIndex = \"2\";\n headerCell.style.backgroundColor = \"white\";\n headerCell.style.boxShadow = \"2px 0 5px rgba(0,0,0,0.1)\";\n\n // Tüm satırlar için aynı işlemi yap\n rows.forEach((row) => {\n const cells = row.querySelectorAll(\"td\");\n if (cells.length > headerIndex) {\n const cell = cells[headerIndex];\n cell.style.position = \"sticky\";\n cell.style.left = leftOffset + \"px\";\n cell.style.zIndex = \"1\";\n cell.style.backgroundColor = \"white\";\n cell.style.boxShadow = \"2px 0 5px rgba(0,0,0,0.1)\";\n }\n });\n\n // Bir sonraki kolon için offset güncelle\n leftOffset += headerCell.offsetWidth;\n });\n },\n checkForHorizontalScroll() {\n const table = this.$refs.dataTable;\n if (table) {\n const wrapper = table.$el.querySelector(\".v-data-table__wrapper\");\n if (this.bottomScroll) {\n wrapper.classList.add(\"active\");\n }\n this.hasHorizontalScroll = wrapper.scrollWidth > wrapper.clientWidth;\n }\n },\n handleTopScroll(e) {\n const table = this.$refs.dataTable.$el.querySelector(\".v-data-table__wrapper\");\n table.scrollLeft = e.target.scrollLeft;\n },\n handleMainTableScroll(e) {\n const topScrollBar = this.$refs.topScrollBar;\n if (topScrollBar) {\n topScrollBar.scrollLeft = e.target.scrollLeft;\n }\n },\n setupScrollSync() {\n this.$nextTick(() => {\n const table = this.$refs.dataTable;\n if (table) {\n const wrapper = table.$el.querySelector(\".v-data-table__wrapper\");\n if (wrapper) {\n const topScrollBar = this.$refs.topScrollBar;\n if (topScrollBar) {\n // Clear existing content\n topScrollBar.innerHTML = \"\";\n // Create and append the spacer div with exact width\n const spacerDiv = document.createElement(\"div\");\n spacerDiv.style.width = `${wrapper.scrollWidth}px`;\n spacerDiv.style.height = \"1px\";\n spacerDiv.style.minWidth = `${wrapper.scrollWidth + 120}px`; // Add min-width to ensure full width\n topScrollBar.appendChild(spacerDiv);\n\n // Set the wrapper width to match the table\n topScrollBar.style.width = `${wrapper.clientWidth + 100}px`;\n }\n wrapper.addEventListener(\"scroll\", this.handleMainTableScroll);\n }\n }\n });\n },\n isScrollable() {\n return this.hasHorizontalScroll\n },\n convertAlternateValues(items, headers) {\n const tempItems = JSON.parse(JSON.stringify(items));\n headers.forEach(header => {\n if (header.alternateValues && header.alternateValues.length > 0) {\n tempItems.forEach(item => {\n if (item[header.value]) {\n // Excel için özel sembol dönüşümü yapılacaksa\n if (header.excelSymbols) {\n const values = item[header.value].split(',');\n const convertedValues = values.map(val => {\n const found = header.alternateValues.find(av => av.key === val.trim());\n if (found && header.excelSymbols[found.key]) {\n const symbol = header.excelSymbols[found.key];\n // Excel XML formatında stil tanımlaması\n return `<html><font size=\"10\" color=\"${symbol.color}\">${symbol.char}</font></html>`;\n }\n return found ? found.value : val.trim();\n });\n item[header.value] = convertedValues.join(' ');\n } else {\n // Normal metin dönüşümü\n const values = item[header.value].split(',');\n const convertedValues = values.map(val => {\n const found = header.alternateValues.find(av => av.key === val.trim());\n return found ? found.value : val.trim();\n });\n item[header.value] = convertedValues.join(', ');\n }\n }\n });\n }\n });\n return tempItems;\n },\n\n convertTableValues(items, headers) {\n headers.forEach(header => {\n if (header.alternateValues && header.alternateValues.length > 0) {\n items.forEach(item => {\n // Risk dereceleri ve diğer tekil değerler için\n if (item[header.value] && !item[header.value].includes(',')) {\n const found = header.alternateValues.find(av => av.key === item[header.value]);\n if (found) {\n item[header.value] = found.value;\n }\n }\n });\n }\n });\n },\n },\n computed: {\n changedDate() {\n return (date) => {\n return this.formatDate(date);\n };\n },\n showHeaders() {\n return this.headers.filter((item) => this.copyHeaders.includes(item));\n },\n headerTemplates() {\n return this.headers.filter((x) => x.custom);\n },\n // visibleHeaders() {\n // return this.showHeaders.filter(header => !this.hiddenColumns.includes(header.value));\n // },\n // visibleColumns() {\n // return this.showHeaders.map(header => header.value).filter(column => !this.hiddenColumns.includes(column));\n // }\n\n },\n});\n\n\n//# sourceURL=webpack://@bilfenyazilimekibi/bilpack/./src/components/bf-table/index.vue?./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options");
|
|
712
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var vue_advanced_cropper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-advanced-cropper */ \"./node_modules/vue-advanced-cropper/dist/index.es.js\");\n/* harmony import */ var vue_advanced_cropper_dist_style_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-advanced-cropper/dist/style.css */ \"./node_modules/vue-advanced-cropper/dist/style.css\");\n/* harmony import */ var _dev_project_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../dev/project.settings */ \"./dev/project.settings.js\");\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n components: { Cropper: vue_advanced_cropper__WEBPACK_IMPORTED_MODULE_0__.Cropper },\n\n props: {\n isSingleSelect: {\n default: false,\n },\n bottomScroll: {\n default: true,\n },\n topScroll: {\n type: Boolean,\n default: false\n },\n customSwitch: {\n default: false,\n },\n cropImg: {\n default: false,\n },\n imgChangeApi: {\n default: \"\",\n },\n isImageChange: {\n default: false,\n },\n coloredRows: {\n default: () => [],\n },\n schoolNameTooltip: {\n default: false,\n },\n queryPrefix: {\n default: null,\n },\n queryCallback: {\n default: null,\n },\n isClickableColumn: {\n default: false,\n },\n withoutActions: {\n default: false,\n },\n hasActivePassive: {\n default: false,\n },\n isExpandable: {\n default: false,\n },\n isSelectable: {\n default: false,\n },\n filterRange: {\n default: false,\n },\n pagination: {\n default: true,\n },\n searchableList: {\n default: true,\n },\n customizeActions: {\n default: false,\n },\n colorColumns: {\n default: false,\n },\n stickyColumns: {\n type: Array,\n default: () => [],\n },\n multiSelectSettings: {\n default: () => ({\n action: false,\n }),\n },\n isImage: {\n default: false,\n },\n // perPage: {\n // default: 10\n // },\n isAllItems: {\n default: false\n },\n filterPerPage: {\n default: true,\n },\n isTopArea: {\n default: true,\n },\n headers: {\n default: () => [],\n },\n colorChangeItems: {\n default: () => [],\n },\n noDataTitle: {\n default: () => [],\n },\n // hiddenColumns: {\n // default: () => []\n // },\n apiUrl: {\n type: String,\n default: null,\n },\n viewConditionFunction: {\n type: Function,\n },\n queryJsonProps: {\n type: Object,\n default: () => ({\n limit: { start: 0, stop: 100 },\n order: [{ columnName: \"id\", type: \"desc\" }],\n columns: null,\n }),\n },\n customParams: {\n default: null,\n },\n tableTitle: {\n default: true,\n },\n tabs: {\n default: () => ({ visible: false }),\n },\n isColumnFilter: {\n default: false,\n },\n isColumnDownload: {\n default: false,\n },\n isRemoveEmptyForExcel: {\n default: false,\n },\n downloadButtonText: {\n default: () => ({\n title: \"İndir\",\n color: \"#ffff\",\n }),\n },\n isAddButtonOptions: {\n default: null,\n },\n title: {\n type: String,\n },\n info: {\n default: true,\n },\n deleteOptions: {\n default: null,\n },\n updateOptions: {\n default: null,\n },\n initAuto: {\n default: true,\n },\n newItem: {\n default: false,\n },\n loading: {\n default: false,\n },\n switchKey: {\n default: \"\",\n },\n isFirstRun: {\n default: true,\n },\n },\n data() {\n return {\n imgFileLoader: false,\n cropDialog: false,\n currentImgSelectedItem: null,\n currentImgChangeType: \"Student\",\n aspectRatio: false,\n stencilProps: {\n movable: true,\n resizable: true,\n handlers: { corners: true },\n round: true,\n },\n cropShape: \"rectangle-stencil\",\n selectedImage: null,\n croppedImage: null,\n generalSettings: _dev_project_settings__WEBPACK_IMPORTED_MODULE_2__.generalSettings,\n tab: 0,\n isDownloadFilter: false,\n columnIsActive: false,\n isMobile: null,\n perPage: 10,\n excelOptions: {\n active: true,\n json_data: [],\n json_fields: {},\n excelFileName: \"\",\n json_meta: [\n [\n {\n key: \"charset\",\n value: \"utf-8\",\n },\n ],\n ],\n },\n deleteItem: null,\n options: {},\n sortBy: \"fat\",\n sortDesc: false,\n search: \"\",\n page: 1,\n pageCount: 0,\n skeletonLoader: true,\n mainLoader: true,\n queryJson: null,\n items: [],\n // perPageItems: [5, 10, 15, 20, 25],\n perPageItems: [],\n week: 10,\n weekItems: [5, 10, 15],\n currentPageNumber: 0,\n sortType: \"desc\",\n columnName: \"\",\n filterColumns: \"\",\n totalCount: \"\",\n listItemSelected: [],\n expanded: [],\n selectedHeaders: [],\n copyHeaders: [],\n checkBoxDisabled: false,\n switchKeyData: \"\",\n isDisabled: false,\n // Dinamik olarak oluşturulan hex renk sınıflarını izlemek için\n createdRowColorClasses: new Set(),\n };\n },\n watch: {\n totalCount(val) {\n if(this.isAllItems) {\n this.perPage = val\n }\n },\n cropDialog(val) {\n if (!val) {\n this.selectedImage = null;\n this.croppedImage = null;\n }\n },\n options: {\n handler() {\n this.fetchData();\n },\n deep: true,\n },\n tab(value) {\n // // query json tamamen güncelleyerek işlem yap\n\n // if (this.tabs.type === 'query') {\n //\n // let prefix = {}\n // prefix = {\n // \"columns\": column !== null ? { [column]: { \"value1\": val, \"operator\": \"like\" } } : null\n // }\n // this.queryPrefix = JSON.stringify(prefix)\n //\n // // let queryObj = {}\n // // queryObj = {\n // // \"limit\": { \"start\": 0, \"stop\": 10 },\n // // \"order\": [{ \"columnName\": \"id\", \"type\": \"desc\" }],\n // // \"columns\": column !== null ? { [column]: { \"value1\": val, \"operator\": \"like\" } } : null\n // // }\n //\n // setTimeout(() => this.fetchData())\n // // let queryObj = {}\n // // if (type === 'error') {\n //\n // // } else if (type === 'success') {\n // // queryObj = {\n // // \"limit\": { \"start\": -1, \"stop\": -1 },\n // // \"order\": [{ \"columnName\": \"id\", \"type\": \"desc\" }],\n // // \"columns\": { \"studentData\": { \"value1\": \"1\", \"operator\": \"like\" } }\n // // }\n // // } else {\n // // queryObj = {\n // // \"limit\": { \"start\": -1, \"stop\": -1 },\n // // \"order\": [{ \"columnName\": \"id\", \"type\": \"desc\" }],\n // // \"columns\": null\n // // }\n // // }\n\n // queryJson ile search işlemi yap\n\n // let column = this.tabs.content[value].column\n // let val = this.tabs.content[value].value\n\n this.showHeaders.forEach((item, index) => {\n // : Todo geçici çözüm. Bu alan düzenlencek\n if (item.value === \"studentData\") {\n if (this.tabs.content[value].key === \"success\") {\n this.showHeaders.find((x) => x.value === \"studentData\").searchValue = \"1\";\n } else if (this.tabs.content[value].key === \"error\") {\n this.showHeaders.find((x) => x.value === \"studentData\").searchValue = \"0\";\n } else {\n this.showHeaders.find((x) => x.value === \"studentData\").searchValue = \"\";\n }\n }\n\n if (item.value === this.tabs.content[value].key) {\n this.showHeaders[index].searchValue = this.tabs.content[value].value;\n }\n });\n setTimeout(() => this.searchData());\n\n // this.fetchData()\n },\n page(value) {\n if (value > 0) {\n let startVal = this.page === 1 ? 0 : this.perPage * (value - 1);\n this.queryJson.limit.start = startVal;\n this.queryJson.limit.stop = this.perPage;\n this.fetchData();\n }\n },\n perPage(value) {\n const self = this;\n this.queryJson.limit.stop = value;\n setTimeout(() => {\n self.perPage = value;\n });\n this.fetchData();\n },\n selectedHeaders: {\n handler() {\n this.initExcel();\n },\n deep: true,\n },\n expanded(value) {\n this.$emit(\"expandAction\", value);\n },\n listItemSelected(value) {\n const self = this;\n self.$emit(\"listItemSelected\", value);\n },\n },\n created() {\n \n this.queryJsonProps.limit.stop = this.perPage;\n // this.queryJsonProps.order.type = 'desc';\n\n // this.queryJson = this.queryJsonProps;\n this.queryJson = JSON.parse(JSON.stringify(this.queryJsonProps));\n\n this.selectedHeaders = this.headers;\n this.selectedHeaders.forEach((header, index) => {\n header.searchValue = \"\";\n header.selected = true;\n this.copyHeaders.push(header);\n });\n },\n mounted() {\n if (this.initAuto) {\n this.initExcel();\n if (this.apiUrl !== null) {\n this.hasActivePassive ? this.setActivePassive(\"active\") : this.fetchData();\n }\n this.dataSelectInit();\n }\n\n // Sticky kolonları ayarla\n if (this.stickyColumns.length > 0) {\n this.$nextTick(() => {\n setTimeout(() => {\n this.setupStickyColumns();\n }, 500);\n });\n }\n this.setupScrollSync();\n },\n updated() {\n // Tablo güncellendiğinde sticky kolonları tekrar ayarla\n if (this.stickyColumns.length > 0) {\n this.$nextTick(() => {\n this.setupStickyColumns();\n });\n }\n this.checkForHorizontalScroll();\n },\n beforeDestroy() {\n const table = this.$refs.dataTable;\n if (table) {\n const wrapper = table.$el.querySelector(\".v-data-table__wrapper\");\n if (wrapper) {\n wrapper.removeEventListener(\"scroll\", this.handleMainTableScroll);\n }\n }\n },\n methods: {\n checkboxIsDisabled(val) {\n const self = this;\n if(val == 'true') {\n self.isDisabled = true\n } else {\n self.isDisabled = false\n }\n },\n findAutoSelectItems(keyValue) {\n const self = this;\n let resultArray = [];\n\n self.items.forEach((item) => {\n if (item.hasOwnProperty(keyValue)) {\n // Eğer bu değer daha önce array'e eklenmemişse ekle\n if (!resultArray.includes(item[keyValue])) {\n const searchObject = {\n name: item[keyValue],\n val: item[keyValue],\n };\n resultArray.push(searchObject);\n }\n }\n });\n return resultArray;\n },\n async onFileSelected(event, item) {\n const file = event.target.files[0];\n\n if (this.cropImg) {\n if (file) {\n this.selectedImage = URL.createObjectURL(file);\n setTimeout(() => (this.cropDialog = true));\n }\n } else {\n this.saveImage(file);\n }\n },\n async saveImage(file, fileName = null) {\n try {\n if (file) {\n this.imgFileLoader = true;\n // this.selectedImage = URL.createObjectURL(file);\n const formData = new FormData();\n formData.append(\"studentId\", this.currentImgSelectedItem.studentId);\n formData.append(\"type\", this.currentImgChangeType);\n if (fileName) {\n formData.append(\"image\", file, `${fileName}`);\n } else {\n formData.append(\"image\", file);\n }\n\n const { status, message } = await this.$axios.post(this.imgChangeApi, formData);\n\n if (status) {\n this.fetchData();\n this.$refs.fileInput.value = null;\n this.currentImgSelectedItem = null;\n this.cropDialog = false;\n this.currentImgSelectedItem = null;\n } else {\n this.$refs.tableAlert.error(message);\n }\n }\n } catch (e) {\n console.error(\"Error updating image:\", e);\n const msg = e.message ? e.message : \"Bir Hata Oluştu!\";\n this.$refs.tableAlert.error(msg);\n } finally {\n this.imgFileLoader = false;\n }\n },\n createCircularCanvas(canvas) {\n const size = Math.min(canvas.width, canvas.height);\n const circularCanvas = document.createElement(\"canvas\");\n circularCanvas.width = size;\n circularCanvas.height = size;\n\n const ctx = circularCanvas.getContext(\"2d\");\n\n ctx.beginPath();\n ctx.arc(size / 2, size / 2, size / 2, 0, Math.PI * 2);\n ctx.clip();\n\n ctx.drawImage(\n canvas,\n (canvas.width - size) / 2,\n (canvas.height - size) / 2,\n size,\n size,\n 0,\n 0,\n size,\n size\n );\n\n return circularCanvas;\n },\n cropImage() {\n const { canvas } = this.$refs.cropper.getResult();\n\n const finalCanvas =\n this.cropShape === \"circle-stencil\" ? this.createCircularCanvas(canvas) : canvas;\n\n finalCanvas.toBlob((imageBlob) => {\n const fileType = imageBlob.type.split(\"/\")[1];\n this.saveImage(imageBlob, `${imageBlob.size}.${fileType}`);\n }, \"image/jpeg\");\n },\n imageChange(item, type = \"Student\") {\n if (!this.isImageChange) return;\n this.currentImgSelectedItem = item;\n this.currentImgChangeType = type;\n this.$refs.fileInput.click();\n },\n formatDate(date) {\n if (!date) return null;\n const d = new Date(date);\n const day = String(d.getDate()).padStart(2, \"0\");\n const month = String(d.getMonth() + 1).padStart(2, \"0\");\n const year = d.getFullYear();\n return `${day}-${month}-${year}`;\n },\n parseDate(date) {\n if (!date) return null;\n const [day, month, year] = date.split(\"-\");\n return new Date(year, month - 1, day).toISOString().substr(0, 10);\n },\n // istenilen row'un backgrounduna renk vermek için kullanılan function\n itemRowBackground(item) {\n const self = this;\n let coloredName = \"\";\n\n // Yeni kurallar: coloredRowValue bir ifade olabilir: \"{a}+{b}\"\n // Eski kurallar: direkt değer eşitliği\n self.coloredRows.map((rule) => {\n const leftRaw = item[rule.coloredRowKey];\n const rightRaw = rule.coloredRowValue;\n\n const leftVal = (typeof leftRaw === \"number\")\n ? leftRaw\n : (typeof leftRaw === \"string\" && leftRaw.trim() !== \"\" && !isNaN(Number(leftRaw)))\n ? Number(leftRaw)\n : leftRaw;\n\n const rightVal =\n typeof rightRaw === \"string\" && rightRaw.includes(\"{\")\n ? self.evaluateExpression(rightRaw, item)\n : ((typeof rightRaw === \"number\")\n ? rightRaw\n : (typeof rightRaw === \"string\" && rightRaw.trim() !== \"\" && !isNaN(Number(rightRaw)))\n ? Number(rightRaw)\n : rightRaw);\n\n let isEqual;\n if (typeof leftVal === \"number\" && typeof rightVal === \"number\") {\n isEqual = leftVal === rightVal;\n } else {\n isEqual = String(leftVal) === String(rightVal);\n }\n\n const condition = rule.equalValue ? isEqual : !isEqual;\n if (condition) {\n const cls = self.getRowClassForColor(rule.coloredRowColor);\n if (cls) coloredName = cls;\n }\n });\n\n return coloredName;\n },\n\n // \"{a}+{b}-{c}\" gibi ifadeleri değerlendirir (yalnızca 0-9, + - * / ( ) ve nokta)\n evaluateExpression(expr, item) {\n try {\n let replaced = expr.replace(/\\{([^}]+)\\}/g, (match, key) => {\n const val = item[key.trim()];\n const num = (typeof val === \"number\") ? val : Number(val);\n return isNaN(num) ? 0 : num;\n });\n // Güvenlik: sadece izinli karakterler\n if (/^[0-9+\\-*/().\\s]+$/.test(replaced) === false) return 0;\n // eslint-disable-next-line no-new-func\n const fn = new Function(`return (${replaced});`);\n const result = fn();\n return typeof result === \"number\" && isFinite(result) ? result : 0;\n } catch (e) {\n return 0;\n }\n },\n\n // Renk adına göre sınıf döndürür. Hex verilirse dinamik sınıf üretir.\n getRowClassForColor(color) {\n if (typeof color !== \"string\") return \"\";\n const lower = color.toLowerCase();\n const named = [\"red\", \"blue\", \"white\", \"yellow\", \"green\"];\n if (named.includes(lower)) return `table-${lower}`;\n\n // Hex renk desteği\n if (color.startsWith(\"#\") && (color.length === 7 || color.length === 4)) {\n const sanitized = color.replace('#', '').toUpperCase();\n const className = `table-hex-${sanitized}`;\n if (!this.createdRowColorClasses.has(className)) {\n this.injectRowColorStyle(className, color);\n this.createdRowColorClasses.add(className);\n }\n return className;\n }\n\n // Diğer geçerli css renkleri için de dinamik sınıf oluşturmayı deneyelim\n const className = `table-color-${btoa(unescape(encodeURIComponent(color))).replace(/=/g, '')}`;\n if (!this.createdRowColorClasses.has(className)) {\n this.injectRowColorStyle(className, color);\n this.createdRowColorClasses.add(className);\n }\n return className;\n },\n\n // Verilen sınıf adı için style tag inject eder\n injectRowColorStyle(className, color) {\n const style = document.createElement('style');\n style.type = 'text/css';\n style.textContent = `.v-application .${className} .text-start { background-color: ${color} !important; }`;\n document.head.appendChild(style);\n },\n openModal(item, name) {\n this.$emit(\"openModal\", item, name);\n },\n changeDateInput(item) {\n this.$emit(\"changeDateInput\", item);\n // Tarih seçimi yapıldığı zaman o öğrencinin checkboxını true yapmak için\n const exists = this.listItemSelected.some(\n (student) => student.studentClassroomId === item.studentClassroomId\n );\n if (!exists) {\n this.listItemSelected.push(item);\n }\n },\n changeInput(item, date) {\n item.vaccineDate = date;\n this.$emit(\"changeInput\", item);\n },\n getImage(type) {\n if (type === \"no-result\") {\n return this.$bilpack.settings.images.table.noResult;\n } else {\n return this.$bilpack.settings.images.noData;\n }\n },\n switchAction(item) {\n this.$emit(\"switchAction\", item);\n },\n onResize() {\n if (window.innerWidth < 769) this.isMobile = true;\n else this.isMobile = false;\n },\n selectFilter(item) {\n const self = this;\n if (item.selected) {\n self.copyHeaders.push(item)\n } else {\n self.copyHeaders = self.copyHeaders.filter(val => val.value !== item.value)\n }\n if (self.headers.some(item => item.value === \"action\")) {\n if (self.copyHeaders.length === 2) {\n self.checkboxIsDisabled('true')\n }\n else {\n self.checkboxIsDisabled('false')\n }\n\n } else {\n if (self.copyHeaders.length === 1) {\n self.checkboxIsDisabled('true')\n } else {\n self.checkboxIsDisabled('false')\n }\n }\n this.$nextTick(() => {\n setTimeout(() => {\n this.setupScrollSync();\n }, 100);\n });\n // filter input her değiştiğinde excel listesini init ediyoruz //\n setTimeout(() => {\n self.initExcel()\n })\n },\n setActivePassive(method) {\n const self = this;\n\n if (self.queryJson.columns === null) {\n self.queryJson.columns = {\n status: {\n value1: method === \"active\" ? \"1\" : \"0\",\n operator: \"equal\",\n },\n };\n } else {\n if (typeof self.queryJson.columns === \"object\") {\n self.queryJson.columns.status = {\n value1: method === \"active\" ? \"1\" : \"0\",\n operator: \"equal\",\n };\n }\n }\n\n self.queryJson.limit.start = \"0\";\n\n self.columnIsActive = method === \"active\";\n\n self.fetchData();\n },\n filterHandle(headers) {\n headers.forEach((val, key) => {\n if (val.value === \"action\") {\n headers.splice(key, 1);\n }\n });\n return headers;\n },\n initExcel() {\n const self = this;\n self.excelOptions.json_fields = {};\n // isRemoveEmptyForExcel değerine göre filtrelenmiş listeyi ya da başlangıçtaki listeyi eşitliyoruz // \n const excelListItems = self.isRemoveEmptyForExcel ? self.copyHeaders : self.selectedHeaders;\n setTimeout(() => {\n excelListItems.forEach((val) => {\n if (val.value !== \"action\") self.excelOptions.json_fields[val.text] = val.value;\n });\n }, 200);\n\n self.excelOptions.excelFileName =\n self.title !== undefined ? self.title : \"Excel Listesi\";\n },\n dataSelectInit() {\n const self = this;\n self.headers.forEach((item) => {\n if (\n item.searchOptions !== undefined &&\n item.searchOptions.type === \"select-data\"\n ) {\n // item.loader = true;\n if (item.searchOptions.endpoint !== \"\") {\n item.searchOptions.selectItems = [];\n self.$axios.get(item.searchOptions.endpoint).then((res) => {\n item.searchOptions.selectItems = res.data.data;\n });\n }\n }\n });\n },\n openDeleteConfirm(item) {\n this.$emit(\"deleteItem\", item);\n const self = this;\n self.deleteItem = item;\n if (self.deleteOptions.confirmText !== undefined) {\n this.$refs.tableAlert.confirm({\n text: self.deleteOptions.confirmText,\n });\n } else {\n this.$refs.tableAlert.confirm();\n }\n },\n deleteTableItem() {\n const self = this;\n const obj = {};\n\n self.deleteOptions.postParams.forEach((val) => {\n obj[val.param] = this.isSelectable\n ? JSON.stringify([this.deleteItem[val.value]]).replace(/\"/g, \"\")\n : this.deleteItem[val.value];\n });\n\n if (self.deleteOptions.customPostParams !== undefined) {\n self.deleteOptions.customPostParams.forEach((val) => {\n obj[val.param] = val.value;\n });\n }\n\n setTimeout(() => {\n self.$axios.post(self.deleteOptions.endpoint, obj).then((res) => {\n if (res.data.status) {\n self.$refs.tableAlert.success();\n self.fetchData();\n\n this.$emit(\"deleteAfterFunction\");\n } else {\n let text =\n res.data.message !== undefined ? res.data.message : \"Bir hata oluştu\";\n self.$refs.tableAlert.error({\n text: text,\n });\n }\n });\n });\n },\n searchData(customSearchValue) {\n let columns = {};\n\n if (this.queryPrefix !== null) {\n if (this.queryPrefix.columns !== undefined)\n columns = JSON.parse(JSON.stringify(this.queryPrefix.columns));\n }\n this.headers.forEach((value, key) => {\n if (value.searchValue) {\n let pushObject = {\n value1: value.searchValue,\n operator: value.operator,\n };\n customSearchValue\n ? customSearchValue?.length > 0\n ? (columns[customSearchValue] = pushObject)\n : (columns[value.value] = pushObject)\n : (columns[value.value] = pushObject);\n }\n });\n this.queryJson.columns = columns;\n this.$forceUpdate();\n this.page = 1;\n this.fetchData();\n },\n // searchData() {\n // let columns = {};\n // this.headers.forEach((value, key) => {\n // // todo: Bu alan tekrar düzenlenecek.\n // if (value.searchValue) {\n // if (value.value === 'preRegistrationStatus' && value.searchValue === '4') {\n // let pushObject = {\"value1\": 'true', \"operator\": value.operator}\n // columns['registrationStatus'] = pushObject\n // } else {\n // let pushObject = {\"value1\": value.searchValue, \"operator\": value.operator}\n // columns[value.value] = pushObject\n // }\n // }\n // })\n //\n // this.queryJson.columns = columns\n // this.page = 1;\n //\n // this.fetchData();\n // },\n customSorting(sortBy, sortDesc) {\n let sort = sortBy?.length === 0 ? \"id\" : sortBy[0];\n let desc = sortDesc;\n this.queryJson.order.forEach((value, key) => {\n if (value.columnName !== sort || value.type !== desc) {\n // this.page = 1;\n // if (value.columnName === 'FIELD(school,\\'GENEL\\')') {\n //\n // } else {\n // this.page = 1;\n // }\n }\n this.queryJson.order.type = desc;\n console.log(this.queryJson);\n if (value.columnName !== \"id\") sort = value.columnName;\n });\n // if (this.queryJson.order.columnName !== sort || this.queryJson.order.type !== desc) this.page = 1;\n this.queryJson.order = [];\n this.queryJson.order.push({\n columnName: sort,\n type: desc,\n });\n },\n resetAndFetch() {\n const self = this;\n self.showHeaders.forEach((item) => {\n item.searchValue = \"\";\n });\n self.queryJson = JSON.stringify(this.queryJsonProps);\n self.fetchData();\n },\n checkListItems() {\n try {\n const localSelectedItem = JSON.parse(localStorage.getItem(\"selectData\"));\n if (localSelectedItem) {\n this.listItemSelected = localSelectedItem;\n } else {\n this.listItemSelected = [];\n }\n } catch (error) {\n this.listItemSelected = [];\n }\n },\n fetchData(customQueryJson = null, refreshQuery = false) {\n const self = this;\n self.mainLoader = true;\n self.checkListItems();\n const { sortBy, sortDesc, page, itemsPerPage } = this.options;\n\n this.customSorting(sortBy, this.queryJsonProps.order[0].type);\n\n setTimeout(async () => {\n let queryJsonString =\n customQueryJson !== null ? customQueryJson : JSON.stringify(this.queryJson);\n\n let params = {\n queryJson: queryJsonString,\n };\n\n if (self.customParams !== null) Object.assign(params, self.customParams);\n\n if (self.queryCallback !== null && typeof self.queryCallback === \"function\") {\n params = await self.queryCallback(params);\n }\n // İstek atılmadan önce dışarıya event gönderiyoruz\n this.$emit('beforeRequest', {\n queryJsonProps: this.queryJson,\n timestamp: new Date().toLocaleString()\n });\n\n self.$axios.post(self.apiUrl, params).then((res) => {\n if (res.data.data.result !== undefined) {\n self.totalCount = res.data.data.totalCount;\n if (res.data.status) {\n self.initPerPageItems(this.totalCount);\n self.pageCount = Math.ceil(res.data.data.filterCount / self.perPage);\n self.items = res.data.data.result;\n self.items.map((val, index) => {\n if (val.createdAt) {\n const dateString = val.createdAt;\n const dateParts = dateString.split(\" \")[0].split(\"-\");\n const formattedDate = `${dateParts[1]}-${dateParts[2]}-${dateParts[0]}`;\n self.items[index].createdAt = formattedDate;\n self.items[index].fullSchollName = val.schoolNames;\n if (val.schoolNames) {\n if (val.schoolNames.includes(\",\")) {\n const arraySchoolName = val.schoolNames.split(\",\");\n self.items[index].schoolNames =\n arraySchoolName[0] + \"... +\" + (arraySchoolName?.length - 1);\n }\n }\n }\n });\n self.dateHandle(self.items, self.showHeaders);\n self.itemsCallback(self.items, self.showHeaders);\n self.items.map((val, index) => {\n if (val.registerPercentage) {\n self.items[index].registerPercentage = val.registerPercentage.replace(/\\./g, \",\");\n }\n });\n \n // Tablo gösterimi için değerleri dönüştür\n self.convertTableValues(self.items, self.headers);\n \n // Excel için ayrı bir veri seti oluştur ve dönüştür\n const excelItems = self.convertAlternateValues(self.items, self.headers);\n self.excelOptions.json_data = excelItems;\n \n self.$emit(\"onFetch\", self.items);\n\n if (self.stickyColumns.length > 0) {\n self.$nextTick(() => {\n setTimeout(() => {\n self.setupStickyColumns();\n }, 100);\n });\n }\n }\n }\n self.mainLoader = false;\n self.skeletonLoader = false;\n\n this.$nextTick(() => {\n setTimeout(() => {\n this.setupScrollSync();\n }, 100);\n });\n });\n });\n },\n itemsCallback(items, headers) {\n const self = this;\n const callbacks = headers.filter((x) => x.callback);\n if (callbacks) {\n callbacks.forEach((x) => {\n items.forEach((i, index) => {\n const fetchVal = i[x.value];\n if (fetchVal !== undefined && typeof x.callback === \"function\") {\n self.items[index][x.value] = x.callback(fetchVal);\n }\n });\n });\n }\n },\n dateHandle(items, headers) {\n let dateItems = [];\n headers.forEach((headerItem, index) => {\n if (headerItem.searchOptions !== undefined) {\n if (headerItem.searchOptions.type === \"date\") {\n dateItems.push(headerItem.value);\n }\n }\n });\n this.items.forEach((item, index) => {\n dateItems.forEach((val) => {\n if (item[val] !== null) {\n item[val] = this.convertDate(item[val]);\n }\n });\n });\n },\n convertDate(inputDate) {\n const dateObj = new Date(inputDate);\n const year = dateObj.getFullYear();\n const month = String(dateObj.getMonth() + 1).padStart(2, \"0\");\n const day = String(dateObj.getDate()).padStart(2, \"0\");\n return `${day}.${month}.${year}`;\n },\n initPerPageItems(totalCount = 0) {\n const self = this;\n let array = [];\n const defaultItems = [5, 10, 15, 20, 25];\n\n defaultItems.forEach((numb) =>\n totalCount > numb ? array.push({ text: numb, value: numb }) : \"\"\n );\n array.push({\n text: \"Tümü\",\n value: totalCount,\n });\n\n self.perPageItems = array;\n },\n getColor(item, name) {\n if (name === \"repetition\") {\n return item === \"1\" ? \"#DCFCE7\" : \"#FEE2E2\";\n }\n if (name === \"transfer\") {\n if (item === \"0\") return \"#FEE2E2\";\n else if (item === \"1\") return \"#DBEAFE\";\n else if (item === \"2\") return \"#DCFCE7\";\n else if (item === \"3\") return \"#FEE2E2\";\n else if (item === \"4\") return \"#DBEAFE\";\n }\n if (name === \"register\") {\n if (item === \"0\") return \"#DBEAFE\";\n else if (item === \"1\") return \"#DBEAFE\";\n else if (item === \"2\") return \"#DCFCE7\";\n }\n if (name === \"payment\" || name === \"working\") {\n return item === \"1\" ? \"#DCFCE7\" : \"#FEE2E2\";\n }\n if (name === \"leaving\") {\n return item === \"1\" ? \"#FEE2E2\" : \"#DBEAFE\";\n }\n if (name === \"graduated\") {\n return item === \"1\" ? \"#DCFCE7\" : \"#DBEAFE\";\n }\n if (name === \"registrationStatus\") {\n if (item === \"0\") return \"#DCFCE7\";\n else if (item === \"1\") return \"#DBEAFE\";\n else if (item === \"2\") return \"#DCFCE7\";\n else if (item === \"3\") return \"#FEE2E2\";\n else if (item === \"4\") return \"#DCFCE7\";\n }\n if (name === \"lastBranch\") {\n if (item === \"ÖNKAYIT\") return \"#DBEAFE\";\n else if (item === \"NAKİL\") return \"#DCFCE7\";\n else if (item === \"KAYITYENİLEME\") return \"#FEE2E2\";\n }\n if (name === \"announcementProcess\") {\n if (item === \"Güncel\") return \"#DCFCE7\";\n else if (item === \"Geçmiş\") return \"#D9D9D9\";\n else if (item === \"Beklemede\") return \"#FEE2E2\";\n }\n if (name === \"topicStatus\") {\n if (item === \"0\") return \"#DC2626\";\n else if (item === \"1\") return \"#16A34A\";\n }\n if (name === \"unitStatus\") {\n if (item === \"0\") return \"#DC2626\";\n else if (item === \"1\") return \"#16A34A\";\n }\n if (name === \"preRegistrationStatus\") {\n if (item === \"0\") return \"#DBEAFE\";\n else if (item === \"1\") return \"#DCFCE7\";\n else if (item === \"2\") return \"#FEE2E2\";\n else if (item === \"3\") return \"#FEE2E2\";\n else if (item === \"4\") return \"#DCFCE7\";\n }\n if (name === \"registerButton\") {\n return item === \"true\" ? \"#DCFCE7\" : \"#DBEAFE\";\n }\n },\n getTextColor(item, name) {\n if (name === \"repetition\") {\n return item === \"1\" ? \"#16A34A\" : \"#DC2626\";\n }\n if (name === \"transfer\") {\n if (item === \"0\") return \"#DC2626\";\n else if (item === \"1\") return \"#2563EB\";\n else if (item === \"2\") return \"#16A34A\";\n else if (item === \"3\") return \"#DC2626\";\n else if (item === \"4\") return \"#2563EB\";\n }\n if (name === \"register\") {\n if (item === \"0\") return \"#2563EB\";\n else if (item === \"1\") return \"#2563EB\";\n else if (item === \"2\") return \"#16A34A\";\n }\n if (name === \"payment\" || name === \"working\") {\n return item === \"1\" ? \"#16A34A\" : \"#DC2626\";\n }\n if (name === \"leaving\") {\n return item === \"1\" ? \"#DC2626\" : \"#2563EB\";\n }\n if (name === \"graduated\") {\n return item === \"1\" ? \"#16A34A\" : \"#2563EB\";\n }\n if (name === \"lastBranch\") {\n if (item === \"ÖNKAYIT\") return \"#2563EB\";\n else if (item === \"NAKİL\") return \"#16A34A\";\n else if (item === \"KAYITYENİLEME\") return \"#DC2626\";\n }\n if (name === \"registrationStatus\") {\n if (item === \"0\") return \"#16A34A\";\n else if (item === \"1\") return \"#2563EB\";\n else if (item === \"2\") return \"#16A34A\";\n }\n if (name === \"announcementProcess\") {\n if (item === \"Güncel\") return \"#00D095\";\n else if (item === \"Beklemede\") return \"#FE550D\";\n else if (item === \"Geçmiş\") return \"#464646\";\n }\n if (name === \"preRegistrationStatus\") {\n if (item === \"0\") return \"#2563EB\";\n else if (item === \"1\") return \"#16A34A\";\n else if (item === \"2\") return \"#DC2626\";\n else if (item === \"3\") return \"#DC2626\";\n else if (item === \"4\") return \"#16A34A\";\n }\n if (name === \"registerButton\") {\n return item === \"true\" ? \"#16A34A\" : \"#2563EB\";\n }\n },\n clickNewItem() {\n this.$emit(\"clickNewItem\");\n },\n clickMultiSelectAction(clickItem) {\n this.$emit(\"clickMultiSelectAction\", this.listItemSelected, clickItem);\n },\n stringToCode(str, name, value, selfItem) {\n const func = new Function(\"item\", `return ${str}`);\n const item = { [name]: value };\n return func(item);\n },\n setupStickyColumns() {\n const table = document.querySelector(\"#v-data-table\");\n if (!table) return;\n\n const headerCells = table.querySelectorAll(\"thead th\");\n const rows = table.querySelectorAll(\"tbody tr\");\n\n // Önce tüm sticky stilleri temizle\n headerCells.forEach((cell) => {\n cell.style.position = \"\";\n cell.style.left = \"\";\n cell.style.zIndex = \"\";\n cell.style.backgroundColor = \"\";\n cell.style.boxShadow = \"\";\n });\n\n rows.forEach((row) => {\n const cells = row.querySelectorAll(\"td\");\n cells.forEach((cell) => {\n cell.style.position = \"\";\n cell.style.left = \"\";\n cell.style.zIndex = \"\";\n cell.style.backgroundColor = \"\";\n cell.style.boxShadow = \"\";\n });\n });\n\n // Sticky kolonları ayarla\n let leftOffset = 0;\n\n this.stickyColumns.forEach((columnValue, index) => {\n // Header hücresini bul\n const headerIndex = this.showHeaders.findIndex(\n (header) => header.value === columnValue\n );\n if (headerIndex === -1) return;\n\n const headerCell = headerCells[headerIndex];\n if (!headerCell) return;\n\n // Sticky stil uygula\n headerCell.style.position = \"sticky\";\n headerCell.style.left = leftOffset + \"px\";\n headerCell.style.zIndex = \"2\";\n headerCell.style.backgroundColor = \"white\";\n headerCell.style.boxShadow = \"2px 0 5px rgba(0,0,0,0.1)\";\n\n // Tüm satırlar için aynı işlemi yap\n rows.forEach((row) => {\n const cells = row.querySelectorAll(\"td\");\n if (cells.length > headerIndex) {\n const cell = cells[headerIndex];\n cell.style.position = \"sticky\";\n cell.style.left = leftOffset + \"px\";\n cell.style.zIndex = \"1\";\n cell.style.backgroundColor = \"white\";\n cell.style.boxShadow = \"2px 0 5px rgba(0,0,0,0.1)\";\n }\n });\n\n // Bir sonraki kolon için offset güncelle\n leftOffset += headerCell.offsetWidth;\n });\n },\n checkForHorizontalScroll() {\n const table = this.$refs.dataTable;\n if (table) {\n const wrapper = table.$el.querySelector(\".v-data-table__wrapper\");\n if (this.bottomScroll) {\n wrapper.classList.add(\"active\");\n }\n this.hasHorizontalScroll = wrapper.scrollWidth > wrapper.clientWidth;\n }\n },\n handleTopScroll(e) {\n const table = this.$refs.dataTable.$el.querySelector(\".v-data-table__wrapper\");\n table.scrollLeft = e.target.scrollLeft;\n },\n handleMainTableScroll(e) {\n const topScrollBar = this.$refs.topScrollBar;\n if (topScrollBar) {\n topScrollBar.scrollLeft = e.target.scrollLeft;\n }\n },\n setupScrollSync() {\n this.$nextTick(() => {\n const table = this.$refs.dataTable;\n if (table) {\n const wrapper = table.$el.querySelector(\".v-data-table__wrapper\");\n if (wrapper) {\n const topScrollBar = this.$refs.topScrollBar;\n if (topScrollBar) {\n // Clear existing content\n topScrollBar.innerHTML = \"\";\n // Create and append the spacer div with exact width\n const spacerDiv = document.createElement(\"div\");\n spacerDiv.style.width = `${wrapper.scrollWidth}px`;\n spacerDiv.style.height = \"1px\";\n spacerDiv.style.minWidth = `${wrapper.scrollWidth + 120}px`; // Add min-width to ensure full width\n topScrollBar.appendChild(spacerDiv);\n\n // Set the wrapper width to match the table\n topScrollBar.style.width = `${wrapper.clientWidth + 100}px`;\n }\n wrapper.addEventListener(\"scroll\", this.handleMainTableScroll);\n }\n }\n });\n },\n isScrollable() {\n return this.hasHorizontalScroll\n },\n convertAlternateValues(items, headers) {\n const tempItems = JSON.parse(JSON.stringify(items));\n headers.forEach(header => {\n if (header.alternateValues && header.alternateValues.length > 0) {\n tempItems.forEach(item => {\n if (item[header.value]) {\n // Excel için özel sembol dönüşümü yapılacaksa\n if (header.excelSymbols) {\n const values = item[header.value].split(',');\n const convertedValues = values.map(val => {\n const found = header.alternateValues.find(av => av.key === val.trim());\n if (found && header.excelSymbols[found.key]) {\n const symbol = header.excelSymbols[found.key];\n // Excel XML formatında stil tanımlaması\n return `<html><font size=\"10\" color=\"${symbol.color}\">${symbol.char}</font></html>`;\n }\n return found ? found.value : val.trim();\n });\n item[header.value] = convertedValues.join(' ');\n } else {\n // Normal metin dönüşümü\n const values = item[header.value].split(',');\n const convertedValues = values.map(val => {\n const found = header.alternateValues.find(av => av.key === val.trim());\n return found ? found.value : val.trim();\n });\n item[header.value] = convertedValues.join(', ');\n }\n }\n });\n }\n });\n return tempItems;\n },\n\n convertTableValues(items, headers) {\n headers.forEach(header => {\n if (header.alternateValues && header.alternateValues.length > 0) {\n items.forEach(item => {\n // Risk dereceleri ve diğer tekil değerler için\n if (item[header.value] && !item[header.value].includes(',')) {\n const found = header.alternateValues.find(av => av.key === item[header.value]);\n if (found) {\n item[header.value] = found.value;\n }\n }\n });\n }\n });\n },\n },\n computed: {\n changedDate() {\n return (date) => {\n return this.formatDate(date);\n };\n },\n showHeaders() {\n return this.headers.filter((item) => this.copyHeaders.includes(item));\n },\n headerTemplates() {\n return this.headers.filter((x) => x.custom);\n },\n // visibleHeaders() {\n // return this.showHeaders.filter(header => !this.hiddenColumns.includes(header.value));\n // },\n // visibleColumns() {\n // return this.showHeaders.map(header => header.value).filter(column => !this.hiddenColumns.includes(column));\n // }\n\n },\n});\n\n\n//# sourceURL=webpack://@bilfenyazilimekibi/bilpack/./src/components/bf-table/index.vue?./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options");
|
|
713
713
|
|
|
714
714
|
/***/ }),
|
|
715
715
|
|
|
@@ -1820,7 +1820,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1820
1820
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1821
1821
|
|
|
1822
1822
|
"use strict";
|
|
1823
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: () => (/* binding */ render),\n/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"div\",\n { staticClass: \"bf-data-table\" },\n [\n _vm.imgFileLoader\n ? _c(\"div\", { staticClass: \"file-loader\" }, [\n _c(\n \"div\",\n { staticClass: \"img-file-loader\" },\n [\n _c(\"v-progress-circular\", {\n attrs: { indeterminate: \"\", color: \"primary\", size: 50 },\n }),\n ],\n 1\n ),\n ])\n : _vm._e(),\n _c(\n \"transition\",\n { attrs: { name: \"fade\" } },\n [\n _vm.skeletonLoader\n ? _c(\"v-skeleton-loader\", {\n staticClass: \"table-skeleton\",\n attrs: { type: \"table\" },\n })\n : _vm._e(),\n ],\n 1\n ),\n _vm.isTopArea\n ? _c(\"div\", { staticClass: \"table-top-area\" }, [\n _c(\n \"div\",\n [\n _c(\"bf-text\", {\n staticClass: \"table-title font-weight-700 bf-text-3xl\",\n attrs: { text: _vm.title },\n }),\n _vm.hasActivePassive\n ? _c(\n \"div\",\n { staticClass: \"table-sub\" },\n [\n _c(\n \"v-btn\",\n {\n attrs: {\n disabled: !_vm.columnIsActive,\n small: \"\",\n color: \"error\",\n },\n on: {\n click: function ($event) {\n return _vm.setActivePassive(\"passive\")\n },\n },\n },\n [_vm._v(\"Passif \")]\n ),\n _c(\n \"v-btn\",\n {\n attrs: {\n disabled: _vm.columnIsActive,\n small: \"\",\n color: \"success\",\n },\n on: {\n click: function ($event) {\n return _vm.setActivePassive(\"active\")\n },\n },\n },\n [_vm._v(\"Aktif \")]\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n !_vm.withoutActions\n ? _c(\n \"div\",\n { staticClass: \"table-buttons\" },\n [\n _vm.isColumnFilter\n ? _c(\n \"v-menu\",\n {\n attrs: {\n \"close-on-content-click\": false,\n left: \"\",\n \"offset-y\": \"\",\n \"nudge-bottom\": \"10px\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"span\",\n _vm._g(\n _vm._b({}, \"span\", attrs, false),\n on\n ),\n [\n _c(\n \"bf-button\",\n {\n attrs: {\n widthIcon: true,\n rounded: false,\n color: \"listButton\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [\n _vm._v(\n \" fi-rr-filter \"\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [_vm._v(\" Filtrele \")]\n ),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n false,\n 2015553456\n ),\n },\n [\n _c(\"div\", { staticClass: \"menu\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"bf-text-lg font-weight-500 pl-4\",\n },\n [_vm._v(\"FİLTRELE\")]\n ),\n _c(\"div\", { staticClass: \"checkboxes px-3\" }, [\n _c(\n \"ul\",\n _vm._l(\n _vm.headers.filter(\n (x) => x.value !== \"action\"\n ),\n function (item) {\n return _c(\n \"li\",\n { staticClass: \"item\" },\n [\n _c(\"v-checkbox\", {\n attrs: {\n disabled:\n _vm.isDisabled && item.selected,\n small: \"\",\n \"hide-details\": \"\",\n dense: \"\",\n label: `${item.text}`,\n },\n on: {\n change: function ($event) {\n return _vm.selectFilter(item)\n },\n },\n model: {\n value: item.selected,\n callback: function ($$v) {\n _vm.$set(item, \"selected\", $$v)\n },\n expression: \"item.selected\",\n },\n }),\n ],\n 1\n )\n }\n ),\n 0\n ),\n ]),\n ]),\n ]\n )\n : _vm._e(),\n _vm.isColumnDownload\n ? _c(\n \"div\",\n { staticClass: \"downloadButton\" },\n [\n _c(\n \"download-excel\",\n {\n staticClass: \"excel-export-button\",\n attrs: {\n data: _vm.excelOptions.json_data,\n fields: _vm.excelOptions.json_fields,\n worksheet: _vm.excelOptions.excelFileName,\n name: _vm.excelOptions.excelFileName + \".xls\",\n },\n },\n [\n _c(\n \"v-tooltip\",\n {\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"bf-button\",\n {\n attrs: {\n block: \"\",\n widthIcon: true,\n color: \"primary\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [\n _vm._v(\n \" fi-rr-download \"\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"span\",\n {\n style: {\n color:\n _vm.downloadButtonText\n .color,\n },\n },\n [\n _vm._v(\n _vm._s(\n _vm.downloadButtonText\n .title\n )\n ),\n ]\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n false,\n 3988007991\n ),\n },\n [_c(\"span\", [_vm._v(\"Excel Çıktısı Al\")])]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.isAddButtonOptions\n ? _c(\n \"div\",\n { staticClass: \"isAddButton\" },\n [\n _c(\n \"v-tooltip\",\n {\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"bf-button\",\n {\n attrs: {\n to: _vm.isAddButtonOptions\n .isAddButtonHref,\n block: \"\",\n widthIcon: true,\n color:\n _vm.isAddButtonOptions\n .isAddButtonColor,\n },\n on: {\n click: function ($event) {\n return _vm.clickNewItem()\n },\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [\n _vm._v(\" fi-rr-add \"),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"span\",\n { staticClass: \"text-white\" },\n [\n _vm._v(\n _vm._s(\n _vm.isAddButtonOptions\n .isAddButtonText\n )\n ),\n ]\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n false,\n 317774699\n ),\n },\n [_c(\"span\", [_vm._v(\"Excel Çıktısı Al\")])]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.newItem\n ? _c(\n \"bf-button\",\n {\n staticClass: \"tableButton\",\n attrs: { widthIcon: true, color: \"primary\" },\n on: {\n click: function ($event) {\n return _vm.clickNewItem()\n },\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [_vm._v(\" fi-rr-add \")]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 3009037240\n ),\n },\n [_vm._v(\" Yeni Ekle \")]\n )\n : _vm._e(),\n _vm.multiSelectSettings.action !== false\n ? _c(\n \"bf-button\",\n {\n attrs: {\n disabled: _vm.multiSelectSettings.disabled,\n widthIcon: _vm.multiSelectSettings.widthIcon,\n color: \"listOutlineButton\",\n },\n on: {\n click: function ($event) {\n return _vm.clickMultiSelectAction()\n },\n },\n scopedSlots: _vm._u(\n [\n _vm.multiSelectSettings.widthIcon\n ? {\n key: \"icon\",\n fn: function () {\n return [_vm._v(\" fi-rr-trash \")]\n },\n proxy: true,\n }\n : null,\n ],\n null,\n true\n ),\n },\n [\n _vm._v(\n \" \" +\n _vm._s(_vm.multiSelectSettings.buttonText) +\n \" \"\n ),\n ]\n )\n : _vm._e(),\n _vm._t(\"listItemSelected\", null, {\n item: _vm.listItemSelected,\n }),\n ],\n 2\n )\n : _vm._e(),\n ])\n : _vm._e(),\n _c(\n \"div\",\n { staticClass: \"table-tabs\" },\n [\n _vm.tabs.visible\n ? _c(\n \"v-tabs\",\n {\n attrs: { color: \"#84CC16\" },\n model: {\n value: _vm.tab,\n callback: function ($$v) {\n _vm.tab = $$v\n },\n expression: \"tab\",\n },\n },\n _vm._l(_vm.tabs.content, function (item, index) {\n return _c(\n \"v-tab\",\n { key: index, attrs: { value: item.value } },\n [_vm._v(_vm._s(item.text))]\n )\n }),\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n _c(\n \"bf-card\",\n { attrs: { styleClass: \"pa-0\", loading: _vm.loading } },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.topScroll,\n expression: \"topScroll\",\n },\n ],\n staticClass: \"bf-table-scroll-container\",\n },\n [\n _c(\"div\", { staticClass: \"bf-table-scroll-wrapper\" }, [\n _c(\"div\", {\n ref: \"topScrollBar\",\n staticClass: \"bf-table-top-scroll\",\n on: { scroll: _vm.handleTopScroll },\n }),\n ]),\n ]\n ),\n _c(\n \"v-data-table\",\n {\n directives: [\n {\n name: \"resize\",\n rawName: \"v-resize\",\n value: _vm.onResize,\n expression: \"onResize\",\n },\n ],\n ref: \"dataTable\",\n staticClass: \"elevation-0 bf-table-with-scroll\",\n class: { \"sticky-table\": _vm.stickyColumns.length > 0 },\n attrs: {\n \"item-class\": _vm.itemRowBackground,\n headers: _vm.totalCount > 0 ? _vm.showHeaders : _vm.noDataTitle,\n items: _vm.items,\n \"show-expand\": _vm.isExpandable,\n \"show-select\": _vm.isSelectable,\n \"single-select\": _vm.isSingleSelect,\n expanded: _vm.expanded,\n options: _vm.options,\n \"loading-text\": \"Yükleniyor...\",\n id: \"v-data-table\",\n \"hide-default-footer\": \"\",\n \"items-per-page\": 2030,\n },\n on: {\n \"update:expanded\": function ($event) {\n _vm.expanded = $event\n },\n \"update:options\": function ($event) {\n _vm.options = $event\n },\n scroll: _vm.handleMainTableScroll,\n },\n scopedSlots: _vm._u(\n [\n _vm.schoolNameTooltip\n ? {\n key: \"item.schoolNames\",\n fn: function ({ item }) {\n return [\n _c(\n \"v-tooltip\",\n {\n attrs: { \"max-width\": \"auto\", left: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on }) {\n return [\n _c(\n \"p\",\n _vm._g(\n {\n staticStyle: { color: \"#333\" },\n attrs: { dark: \"\" },\n },\n on\n ),\n [_vm._v(_vm._s(item.schoolNames))]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n _vm._l(\n item.fullSchollName\n .split(\",\")\n .map((school) => school.trim()),\n function (school) {\n return _c(\"div\", [\n _c(\n \"span\",\n { staticStyle: { color: \"#333\" } },\n [_vm._v(_vm._s(school) + \",\")]\n ),\n _c(\"br\"),\n ])\n }\n ),\n 0\n ),\n ]\n },\n }\n : null,\n _vm._l(_vm.headerTemplates, function (customSlot) {\n return {\n key: `item.${customSlot.value}`,\n fn: function ({ item }) {\n return [_vm._t(customSlot.value, null, { item: item })]\n },\n }\n }),\n {\n key: \"expanded-item\",\n fn: function ({ headers, item }) {\n return [_vm._t(\"expanded\")]\n },\n },\n _vm.searchableList\n ? {\n key: \"body.prepend\",\n fn: function () {\n return [\n _vm.totalCount > 0\n ? _c(\n \"tr\",\n {\n staticClass:\n \"bf-data-table-column-filter-area mt-3\",\n },\n [\n _vm.isSelectable\n ? _c(\"td\", {\n staticClass:\n \"bf-data-table-column-td\",\n })\n : _vm._e(),\n _vm._l(\n _vm.showHeaders,\n function (item, headerItemIndex) {\n return item.value !== \"action\" &&\n item.sortable === undefined &&\n item.value !== \"data-table-expand\" &&\n !item.hidden\n ? _c(\n \"td\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.isMobile,\n expression: \"!isMobile\",\n },\n ],\n key: headerItemIndex,\n staticClass:\n \"bf-data-table-column-td\",\n },\n [\n item.searchOptions !==\n undefined &&\n item.searchOptions.type ===\n \"select-data\"\n ? _c(\n \"v-autocomplete\",\n {\n staticClass:\n \"bf-data-table-column-filter-field select\",\n attrs: {\n items:\n item.searchOptions\n .autoSelect ==\n true\n ? _vm.findAutoSelectItems(\n item\n .searchOptions\n .autoSelectSearchValue\n )\n : item\n .searchOptions\n .selectItems,\n \"item-text\":\n item.searchOptions\n .itemText,\n \"item-value\":\n item.searchOptions\n .itemValue,\n value:\n item.searchValue,\n disabled: item.loader,\n loading:\n _vm.mainLoader,\n clearable: \"\",\n \"hide-details\": \"\",\n solo: \"\",\n dense: \"\",\n \"append-icon\": \"\",\n },\n on: {\n change: function (\n $event\n ) {\n return _vm.searchData(\n item.searchOptions\n .autoSelectSearchValue\n )\n },\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"slotItem\",\n fn: function ({\n slotItem,\n }) {\n return [\n slotItem.val &&\n slotItem.val.includes(\n \"#\"\n )\n ? _c(\n \"div\",\n [\n _c(\n \"v-chip\",\n {\n staticClass:\n \"select-autocomplate-chip\",\n attrs:\n {\n color:\n slotItem.val\n ? slotItem.val\n : \"#FDF49D\",\n },\n }\n ),\n ],\n 1\n )\n : _c(\n \"div\",\n [\n _c(\n \"span\",\n {\n staticClass:\n \"select-autocomplate-span\",\n },\n [\n _vm._v(\n _vm._s(\n slotItem.name\n )\n ),\n ]\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n model: {\n value:\n item.searchValue,\n callback: function (\n $$v\n ) {\n _vm.$set(\n item,\n \"searchValue\",\n $$v\n )\n },\n expression:\n \"item.searchValue\",\n },\n },\n [\n _c(\n \"v-icon\",\n {\n attrs: {\n slot: \"prepend-inner\",\n color: \"#9CA3AF\",\n small: \"\",\n },\n slot: \"prepend-inner\",\n },\n [\n _vm._v(\n \"fi-rr-search\"\n ),\n ]\n ),\n ],\n 1\n )\n : item.searchOptions !==\n undefined &&\n item.searchOptions.type ===\n \"date\"\n ? _c(\n \"v-menu\",\n {\n ref: \"menu\",\n refInFor: true,\n attrs: {\n loading:\n _vm.mainLoader,\n \"close-on-content-click\": false,\n transition:\n \"scale-transition\",\n \"offset-y\": \"\",\n \"min-width\": \"auto\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({\n on,\n attrs,\n }) {\n return [\n _c(\n \"v-text-field\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"bf-data-table-column-filter-field date mb-0\",\n attrs:\n {\n readonly:\n \"\",\n loading:\n _vm.mainLoader,\n solo: \"\",\n dense:\n \"\",\n \"append-icon\":\n item.searchValue !==\n \"\"\n ? \"mdi-close\"\n : \"\",\n },\n on: {\n \"click:append\":\n function (\n $event\n ) {\n item.searchValue =\n \"\"\n _vm.searchData()\n },\n },\n model:\n {\n value:\n item.searchValue,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n item,\n \"searchValue\",\n $$v\n )\n },\n expression:\n \"item.searchValue\",\n },\n },\n \"v-text-field\",\n attrs,\n false\n ),\n on\n ),\n [\n _c(\n \"v-icon\",\n {\n attrs:\n {\n slot: \"prepend-inner\",\n color:\n \"#9CA3AF\",\n small:\n \"\",\n },\n slot: \"prepend-inner\",\n },\n [\n _vm._v(\n \"fi-rr-search\"\n ),\n ]\n ),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n model: {\n value: item.dateMenu,\n callback: function (\n $$v\n ) {\n _vm.$set(\n item,\n \"dateMenu\",\n $$v\n )\n },\n expression:\n \"item.dateMenu\",\n },\n },\n [\n _c(\"v-date-picker\", {\n attrs: {\n \"no-title\": \"\",\n locale: \"tr\",\n scrollable: \"\",\n },\n on: {\n input: function (\n $event\n ) {\n item.dateMenu = false\n _vm.searchData()\n },\n },\n model: {\n value:\n item.searchValue,\n callback: function (\n $$v\n ) {\n _vm.$set(\n item,\n \"searchValue\",\n $$v\n )\n },\n expression:\n \"item.searchValue\",\n },\n }),\n ],\n 1\n )\n : _c(\n \"v-text-field\",\n {\n staticClass:\n \"bf-data-table-column-filter-field\",\n attrs: {\n loading:\n _vm.mainLoader,\n \"hide-details\": \"\",\n type: \"text\",\n solo: \"\",\n dense: \"\",\n },\n on: {\n keyup: _vm.searchData,\n },\n model: {\n value:\n item.searchValue,\n callback: function (\n $$v\n ) {\n _vm.$set(\n item,\n \"searchValue\",\n $$v\n )\n },\n expression:\n \"item.searchValue\",\n },\n },\n [\n _c(\n \"v-icon\",\n {\n attrs: {\n slot: \"prepend-inner\",\n color: \"#9CA3AF\",\n small: \"\",\n },\n slot: \"prepend-inner\",\n },\n [\n _vm._v(\n \"fi-rr-search\"\n ),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _c(\"td\", {\n staticClass:\n \"bf-data-table-column-td bf-data-table-column-td-icons\",\n })\n }\n ),\n ],\n 2\n )\n : _vm._e(),\n ]\n },\n proxy: true,\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.studentImage\",\n fn: function ({ item }) {\n return [\n _c(\"input\", {\n ref: \"fileInput\",\n staticStyle: { display: \"none\" },\n attrs: { type: \"file\", accept: \"image/*\" },\n on: {\n change: (event) =>\n _vm.onFileSelected(event, item),\n },\n }),\n _c(\n \"div\",\n {\n staticClass: \"image file-img-area\",\n class: _vm.isImageChange\n ? \"cursor-pointer\"\n : \"\",\n },\n [\n item.studentImage\n ? _c(\"img\", {\n directives: [\n { name: \"viewer\", rawName: \"v-viewer\" },\n ],\n attrs: {\n src: item.studentImage,\n alt: \"\",\n },\n })\n : _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/img/empty-user-photo.png */ \"./src/assets/img/empty-user-photo.png\"),\n alt: \"\",\n },\n }),\n _vm.isImageChange\n ? _c(\n \"span\",\n {\n staticClass: \"file-img-btn\",\n on: {\n click: function ($event) {\n return _vm.imageChange(\n item,\n \"Student\"\n )\n },\n },\n },\n [\n _c(\"v-icon\", { attrs: { small: \"\" } }, [\n _vm._v(\"fi-rr-pencil\"),\n ]),\n ],\n 1\n )\n : _vm._e(),\n ]\n ),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.motherImage\",\n fn: function ({ item }) {\n return [\n _c(\n \"div\",\n {\n staticClass: \"image file-img-area\",\n class: _vm.isImageChange\n ? \"cursor-pointer\"\n : \"\",\n staticStyle: { \"padding-right\": \"16px\" },\n },\n [\n item.motherImage\n ? _c(\"img\", {\n directives: [\n { name: \"viewer\", rawName: \"v-viewer\" },\n ],\n attrs: { src: item.motherImage, alt: \"\" },\n })\n : _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/img/empty-user-photo.png */ \"./src/assets/img/empty-user-photo.png\"),\n alt: \"\",\n },\n }),\n _vm.isImageChange && item.motherName\n ? _c(\n \"span\",\n {\n staticClass: \"file-img-btn\",\n on: {\n click: function ($event) {\n return _vm.imageChange(\n item,\n \"Kadın\"\n )\n },\n },\n },\n [\n _c(\"v-icon\", { attrs: { small: \"\" } }, [\n _vm._v(\"fi-rr-pencil\"),\n ]),\n ],\n 1\n )\n : _vm._e(),\n ]\n ),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.fatherImage\",\n fn: function ({ item }) {\n return [\n _c(\n \"div\",\n {\n staticClass: \"image file-img-area\",\n class: _vm.isImageChange\n ? \"cursor-pointer\"\n : \"\",\n staticStyle: { \"padding-right\": \"16px\" },\n },\n [\n item.fatherImage\n ? _c(\"img\", {\n directives: [\n { name: \"viewer\", rawName: \"v-viewer\" },\n ],\n attrs: { src: item.fatherImage, alt: \"\" },\n })\n : _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/img/empty-user-photo.png */ \"./src/assets/img/empty-user-photo.png\"),\n alt: \"\",\n },\n }),\n _vm.isImageChange && item.fatherName\n ? _c(\n \"span\",\n {\n staticClass: \"file-img-btn\",\n on: {\n click: function ($event) {\n return _vm.imageChange(\n item,\n \"Erkek\"\n )\n },\n },\n },\n [\n _c(\"v-icon\", { attrs: { small: \"\" } }, [\n _vm._v(\"fi-rr-pencil\"),\n ]),\n ],\n 1\n )\n : _vm._e(),\n ]\n ),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.userImage\",\n fn: function ({ item }) {\n return [\n item.userImage === null\n ? _c(\n \"div\",\n { staticClass: \"image\" },\n [\n _c(\n \"v-avatar\",\n {\n staticClass: \"mr-auto top-avatar\",\n attrs: { color: \"primary\", size: \"32\" },\n },\n [\n _c(\n \"v-icon\",\n {\n attrs: {\n color: \"white\",\n small: \"\",\n },\n },\n [_vm._v(\"fi-rr-user\")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _c(\"div\", { staticClass: \"image\" }, [\n _c(\"img\", {\n attrs: { src: item.userImage, alt: \"\" },\n }),\n ]),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.image\",\n fn: function ({ item }) {\n return [\n item.image === null\n ? _c(\"div\", { staticClass: \"image\" }, [\n _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/img/empty-user-photo.png */ \"./src/assets/img/empty-user-photo.png\"),\n alt: \"\",\n },\n }),\n ])\n : _c(\"div\", { staticClass: \"image\" }, [\n _c(\"img\", {\n attrs: { src: item.image, alt: \"\" },\n }),\n ]),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.SORU_RESIM\",\n fn: function ({ item }) {\n return [\n item.SORU_RESIM === null\n ? _c(\"div\", { staticClass: \"image\" }, [\n _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/img/empty-user-photo.png */ \"./src/assets/img/empty-user-photo.png\"),\n alt: \"\",\n },\n }),\n ])\n : _c(\"div\", { staticClass: \"image\" }, [\n _c(\"img\", {\n attrs: { src: item.SORU_RESIM, alt: \"\" },\n }),\n ]),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.questionImage\",\n fn: function ({ item }) {\n return [\n item.questionImage === null\n ? _c(\"div\", [\n item.questionSketchImage !== null\n ? _c(\"div\", [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"viewer\",\n rawName: \"v-viewer\",\n },\n ],\n staticClass: \"image\",\n },\n [\n _c(\"img\", {\n attrs: {\n src: item.questionSketchImage,\n alt: \"\",\n },\n }),\n ]\n ),\n ])\n : _c(\"div\", [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"viewer\",\n rawName: \"v-viewer\",\n },\n ],\n staticClass: \"image\",\n },\n [\n _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/images/default-image.jpeg */ \"./src/assets/images/default-image.jpeg\"),\n alt: \"\",\n },\n }),\n ]\n ),\n ]),\n ])\n : _c(\"div\", [\n _c(\n \"div\",\n {\n directives: [\n { name: \"viewer\", rawName: \"v-viewer\" },\n ],\n staticClass: \"image\",\n },\n [\n _c(\"img\", {\n attrs: {\n src: item.questionImage,\n alt: \"\",\n },\n }),\n ]\n ),\n ]),\n ]\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.topicStatus\",\n fn: function ({ item }) {\n return [\n item.topicStatus === \"0\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.topicStatus,\n \"topicStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.topicStatus,\n \"topicStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Pasif \")]\n )\n : _vm._e(),\n item.topicStatus === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.topicStatus,\n \"topicStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.topicStatus,\n \"topicStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Aktif \")]\n )\n : _vm._e(),\n ]\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.unitStatus\",\n fn: function ({ item }) {\n return [\n item.unitStatus === \"0\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.unitStatus,\n \"unitStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.unitStatus,\n \"unitStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Pasif \")]\n )\n : _vm._e(),\n item.unitStatus === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.unitStatus,\n \"unitStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.unitStatus,\n \"unitStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Aktif \")]\n )\n : _vm._e(),\n ]\n },\n }\n : null,\n {\n key: \"item.studentData\",\n fn: function ({ item }) {\n return [\n item.studentData === \"0\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" + _vm.getTextColor(\"0\", \"register\"),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\"0\", \"register\"),\n dark: \"\",\n },\n },\n [_vm._v(\" Aktarılmayan \")]\n )\n : _vm._e(),\n item.studentData === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" + _vm.getTextColor(\"1\", \"register\"),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\"1\", \"register\"),\n dark: \"\",\n },\n },\n [_vm._v(\" Aktarılan \")]\n )\n : _vm._e(),\n ]\n },\n },\n _vm.colorColumns\n ? _vm._l(\n _vm.colorChangeItems,\n function (changeItem, index) {\n return {\n key: changeItem.path,\n fn: function ({ item }) {\n return [\n !_vm.isClickableColumn\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item[changeItem.name],\n changeItem.colorName\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item[changeItem.name],\n changeItem.colorName\n ),\n dark: \"\",\n },\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n _vm.stringToCode(\n changeItem.conditions.code,\n changeItem.name,\n item[changeItem.name]\n )\n ) +\n \" \"\n ),\n ]\n )\n : _c(\n \"div\",\n {\n staticClass: \"cursor-pointer\",\n style: \"color:\" + changeItem.textColor,\n on: {\n click: function ($event) {\n return _vm.openModal(\n item,\n changeItem.name\n )\n },\n },\n },\n [\n _vm._v(\n \" \" +\n _vm._s(item[changeItem.name]) +\n \" \"\n ),\n ]\n ),\n ]\n },\n }\n }\n )\n : null,\n _vm.colorColumns\n ? {\n key: \"item.registrationStatus\",\n fn: function ({ item }) {\n return [\n item.registrationStatus === \"0\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kayıt \")]\n )\n : _vm._e(),\n item.registrationStatus === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Ön Kayıt \")]\n )\n : _vm._e(),\n item.registrationStatus === \"2\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kesin Kayıt \")]\n )\n : _vm._e(),\n item.registrationStatus === \"3\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kayıt Yenileme \")]\n )\n : _vm._e(),\n ]\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.lastBranch\",\n fn: function ({ item }) {\n return [\n item.lastBranch === \"KAYIT\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kayıt \")]\n )\n : item.lastBranch === \"ÖNKAYIT\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Ön Kayıt \")]\n )\n : item.lastBranch === \"NAKİL\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kesin Kayıt \")]\n )\n : item.lastBranch === \"KAYITYENİLEME\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kayıt Yenileme \")]\n )\n : _c(\"div\", [\n _vm._v(_vm._s(item.lastBranch) + \" Şubesi\"),\n ]),\n ]\n },\n }\n : null,\n {\n key: \"item.registerPercentage\",\n fn: function ({ item }) {\n return [\n _c(\"span\", [\n _vm._v(\"%\" + _vm._s(item.registerPercentage)),\n ]),\n ]\n },\n },\n _vm.colorColumns\n ? {\n key: \"item.announcementProcess\",\n fn: function ({ item }) {\n return [\n item.announcementProcess === \"Geçmiş\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Geçmiş \")]\n )\n : _vm._e(),\n item.announcementProcess === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Güncel \")]\n )\n : _vm._e(),\n item.announcementProcess === \"2\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Geçmiş \")]\n )\n : _vm._e(),\n ]\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.referance\",\n fn: function ({ item }) {\n return _vm._l(\n JSON.parse(item.referance),\n function (referance, i) {\n return _c(\"div\", { key: i }, [\n _vm._v(\" \" + _vm._s(referance.name) + \" \"),\n _c(\n \"span\",\n { staticStyle: { color: \"#65a30d\" } },\n [\n _vm._v(\n \"B: \" +\n _vm._s(referance.referance.B) +\n \" \"\n ),\n ]\n ),\n _vm._v(\" | \"),\n _c(\n \"span\",\n { staticStyle: { color: \"#3b82f6\" } },\n [\n _vm._v(\n \"ST: \" + _vm._s(referance.referance.ST)\n ),\n ]\n ),\n ])\n }\n )\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.preRegistrationStatus\",\n fn: function ({ item }) {\n return [\n item.preRegistrationStatus === \"0\"\n ? _c(\"v-chip\", {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n dark: \"\",\n },\n })\n : _vm._e(),\n item.preRegistrationStatus === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Başarılı \")]\n )\n : _vm._e(),\n item.preRegistrationStatus === \"2\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Başarısız \")]\n )\n : _vm._e(),\n item.preRegistrationStatus === \"3\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kayıt Yapmayacak \")]\n )\n : _vm._e(),\n ]\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.leavingStatus\",\n fn: function ({ item }) {\n return [\n _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.leavingStatus,\n \"leaving\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.leavingStatus,\n \"leaving\"\n ),\n dark: \"\",\n },\n },\n [\n item.leavingStatus === \"0\"\n ? _c(\"div\", [_vm._v(\"Ayrılmadı\")])\n : _c(\n \"div\",\n { staticClass: \"leaving\" },\n [\n _c(\n \"div\",\n { staticClass: \"leavingTitle\" },\n [_vm._v(\"Ayrıldı\")]\n ),\n _c(\n \"v-tooltip\",\n {\n attrs: { top: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on }) {\n return [\n _c(\n \"v-icon\",\n _vm._g(\n {\n staticClass: \"mr-2\",\n attrs: {\n small: \"\",\n },\n },\n on\n ),\n [\n _vm._v(\n \" mdi-information-outline \"\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\"div\", [\n _c(\n \"div\",\n {\n staticClass: \"title\",\n staticStyle: {\n color: \"#333\",\n },\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n item.leavingReasonName\n ) +\n \" \"\n ),\n ]\n ),\n _c(\n \"div\",\n {\n staticClass: \"text\",\n staticStyle: {\n color: \"#333\",\n },\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n item.leavingDescription\n ) +\n \" \"\n ),\n ]\n ),\n ]),\n ]\n ),\n ],\n 1\n ),\n ]\n ),\n ]\n },\n }\n : null,\n {\n key: \"top\",\n fn: function ({ pagination, options, updateOptions }) {\n return [_vm._t(\"multiActions\")]\n },\n },\n {\n key: \"header.action\",\n fn: function ({ header }) {\n return [\n _c(\n \"div\",\n {\n staticStyle: {\n \"text-align\": \"right\",\n width: \"100%\",\n },\n },\n [_vm._v(_vm._s(header.text))]\n ),\n ]\n },\n },\n {\n key: \"item.action\",\n fn: function ({ item }) {\n return [\n _c(\n \"div\",\n { staticClass: \"action-column\" },\n [\n _vm.updateOptions !== null &&\n item[_vm.switchKey] !== undefined &&\n !_vm.customSwitch\n ? _c(\"v-switch\", {\n staticClass: \"switch mt-0\",\n attrs: {\n small: \"\",\n inset: \"\",\n \"hide-details\": \"\",\n \"input-value\": item[_vm.switchKey] === \"1\",\n },\n on: {\n click: function ($event) {\n return _vm.switchAction(item)\n },\n },\n })\n : _vm._e(),\n _vm._t(\"action\", null, { item: item }),\n _vm._t(\"date\", null, { item: item }),\n _vm.deleteOptions !== null\n ? _c(\n \"v-tooltip\",\n {\n attrs: { top: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on }) {\n return [\n item[\n _vm.deleteOptions.isVisibleKey\n ] === \"1\" ||\n item[\n _vm.deleteOptions.isVisibleKey\n ] === \"true\" ||\n _vm.deleteOptions.isVisibleKey ===\n undefined\n ? _c(\n \"div\",\n {\n staticClass:\n \"cursor-pointer mx-1\",\n staticStyle: {\n color: \"#333\",\n },\n },\n [\n _c(\n \"v-btn\",\n {\n attrs: {\n icon: \"\",\n small: \"\",\n },\n on: {\n click: function (\n $event\n ) {\n return _vm.openDeleteConfirm(\n item\n )\n },\n },\n },\n [\n _c(\n \"v-icon\",\n _vm._g(\n {\n attrs: {\n small: \"\",\n },\n },\n on\n ),\n [\n _vm._v(\n \" fi-rr-trash \"\n ),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"span\",\n { staticClass: \"tooltip-text\" },\n [_vm._v(\"Sil\")]\n ),\n ]\n )\n : _vm._e(),\n _vm.customSwitch\n ? _c(\"v-switch\", {\n staticClass: \"switch mt-0\",\n class: _vm.customSwitch\n ? \"custom-switch\"\n : \"\",\n attrs: {\n small: \"\",\n inset: \"\",\n \"hide-details\": \"\",\n \"input-value\": item[_vm.switchKey] === \"1\",\n label:\n item.status === \"0\"\n ? \"Aktife Al\"\n : \"Pasife Al\",\n },\n on: {\n click: function ($event) {\n return _vm.switchAction(item)\n },\n },\n })\n : _vm._e(),\n ],\n 2\n ),\n ]\n },\n },\n {\n key: \"item.topics\",\n fn: function ({ item }) {\n return [\n _vm._t(\"topics\", null, { item: item }),\n _c(\n \"v-tooltip\",\n {\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"span\",\n _vm._g(\n _vm._b(\n { staticStyle: { color: \"#333\" } },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [\n _vm._v(\n _vm._s(\n item.topics !== null\n ? item.topics.substring(0, 30) +\n \"..\"\n : null\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"span\",\n { staticStyle: { color: \"#333\" } },\n _vm._l(\n item.topics !== null\n ? item.topics.split(\",\")\n : null,\n function (topic, topicIndex) {\n return _c(\n \"div\",\n {\n key: topicIndex,\n staticClass: \"topic-badge\",\n },\n [_c(\"div\", [_vm._v(_vm._s(topic))])]\n )\n }\n ),\n 0\n ),\n ]\n ),\n ]\n },\n },\n {\n key: \"item.description\",\n fn: function ({ item }) {\n return [\n _c(\n \"v-tooltip\",\n {\n staticClass: \"description-tooltip\",\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n item.description?.length > 10\n ? _c(\n \"span\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"see-description\",\n staticStyle: {\n color: \"#333\",\n },\n },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [\n _vm._v(\n _vm._s(\n item.description.substring(\n 0,\n 30\n ) + \"...\"\n )\n ),\n ]\n )\n : _c(\n \"span\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"see-description\",\n staticStyle: {\n color: \"#333\",\n },\n },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [_vm._v(_vm._s(item.description))]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\"span\", [\n _c(\n \"div\",\n { staticClass: \"description-tooltip\" },\n [\n _c(\n \"div\",\n { staticStyle: { color: \"#333\" } },\n [_vm._v(_vm._s(item.description))]\n ),\n ]\n ),\n ]),\n ]\n ),\n ]\n },\n },\n !_vm.headers.filter((x) => x.value === \"examName\")[0]\n ?.isFullName\n ? {\n key: \"item.examName\",\n fn: function ({ item }) {\n return [\n _vm._t(\"examName\", null, { item: item }),\n _c(\n \"v-tooltip\",\n {\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"span\",\n _vm._g(\n _vm._b(\n {\n staticClass: \"see-tooltip\",\n staticStyle: {\n color: \"#333\",\n },\n },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [\n _vm._v(\n _vm._s(\n item.examName.substring(\n 0,\n 10\n ) + \"..\"\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"div\",\n { staticClass: \"title d-flex\" },\n [\n _c(\n \"v-icon\",\n _vm._g(\n {\n staticClass: \"titleIcon\",\n attrs: { small: \"\" },\n },\n _vm.on\n ),\n [_vm._v(\" fi-rr-info \")]\n ),\n ],\n 1\n ),\n _c(\n \"span\",\n [\n _c(\"div\", { staticClass: \"titleText\" }, [\n _vm._v(\"TÜM SINAVLAR\"),\n ]),\n _vm._l(\n item.examName.split(\"-\"),\n function (topic, topicIndex) {\n return _c(\n \"div\",\n {\n key: topicIndex,\n staticClass: \"tooltip-badge\",\n staticStyle: { color: \"#333\" },\n },\n [_vm._v(\" \" + _vm._s(topic) + \" \")]\n )\n }\n ),\n ],\n 2\n ),\n ]\n ),\n ]\n },\n }\n : null,\n {\n key: \"item.outcomeName\",\n fn: function ({ item }) {\n return [\n _c(\n \"v-tooltip\",\n {\n staticClass: \"outcomeName-tooltip\",\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n item.outcomeName?.length > 10\n ? _c(\n \"span\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"see-outcomeName\",\n staticStyle: {\n color: \"#333\",\n },\n },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [\n _vm._v(\n _vm._s(\n item.outcomeName.substring(\n 0,\n 15\n ) + \"...\"\n )\n ),\n ]\n )\n : _c(\n \"span\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"see-outcomeName\",\n staticStyle: {\n color: \"#333\",\n },\n },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [_vm._v(_vm._s(item.outcomeName))]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\"span\", { staticStyle: { color: \"#333\" } }, [\n _c(\"div\", { staticClass: \"tooltip-badge\" }, [\n _c(\"div\", [_vm._v(_vm._s(item.outcomeName))]),\n ]),\n ]),\n ]\n ),\n ]\n },\n },\n {\n key: \"item.vaccineDate\",\n fn: function ({ item, index }) {\n return [\n _c(\n \"div\",\n { staticClass: \"date-input\" },\n [\n _c(\n \"v-menu\",\n {\n ref: \"menu\",\n attrs: {\n \"close-on-content-click\": false,\n transition: \"scale-transition\",\n \"offset-y\": \"\",\n \"min-width\": \"auto\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"v-text-field\",\n _vm._g(\n _vm._b(\n {\n attrs: {\n value: _vm.formatDate(\n item.vaccineDate\n ),\n \"prepend-icon\":\n \"mdi-calendar\",\n readonly: \"\",\n },\n },\n \"v-text-field\",\n attrs,\n false\n ),\n on\n )\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n model: {\n value: item.menu,\n callback: function ($$v) {\n _vm.$set(item, \"menu\", $$v)\n },\n expression: \"item.menu\",\n },\n },\n [\n _c(\"v-date-picker\", {\n attrs: { locale: \"tr-TR\", \"no-title\": \"\" },\n on: {\n input: (date) =>\n _vm.changeInput(item, date),\n },\n model: {\n value: item.vaccineDate,\n callback: function ($$v) {\n _vm.$set(item, \"vaccineDate\", $$v)\n },\n expression: \"item.vaccineDate\",\n },\n }),\n _c(\"div\", { staticClass: \"dateInputButtons\" }, [\n _c(\n \"div\",\n {\n staticClass: \"dateInputButton mr-4\",\n on: {\n click: function ($event) {\n return _vm.changeDateInput(item)\n },\n },\n },\n [_vm._v(\" Uygula \")]\n ),\n _c(\n \"div\",\n {\n staticClass: \"dateInputButton\",\n on: {\n click: function ($event) {\n return _vm.clickMultiSelectAction(\n item\n )\n },\n },\n },\n [_vm._v(\" Seçilenlere Uygula \")]\n ),\n ]),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n model: {\n value: _vm.listItemSelected,\n callback: function ($$v) {\n _vm.listItemSelected = $$v\n },\n expression: \"listItemSelected\",\n },\n },\n [\n _c(\"template\", { slot: \"no-data\" }, [\n _vm.totalCount > 0\n ? _c(\"div\", { staticClass: \"empty-data-container\" }, [\n _c(\"img\", { attrs: { src: _vm.getImage(\"no-result\") } }),\n _c(\n \"div\",\n { staticClass: \"font-weight-700 bf-text-3xl mb-2\" },\n [_vm._v(\"Sonuç Bulunamadı!\")]\n ),\n _c(\"div\", { staticClass: \"font-weight-500 bf-text-lg\" }, [\n _vm._v(\n \" Arama sonuçlarınıza göre kayıtlı veri bulunamadı. Yeni veri ekleyebilirsiniz veya bir sorun olduğunu düşünüyorsanız destek talebi oluşturabilirsiniz. \"\n ),\n ]),\n ])\n : _vm._e(),\n ]),\n _c(\"template\", { slot: \"no-data\" }, [\n _vm.totalCount <= 0\n ? _c(\"div\", { staticClass: \"empty-data-container\" }, [\n _c(\"img\", { attrs: { src: _vm.getImage(\"no-data\") } }),\n _c(\n \"div\",\n { staticClass: \"font-weight-700 bf-text-3xl mb-2\" },\n [_vm._v(\"Veri Bulunamadı!\")]\n ),\n _c(\"div\", { staticClass: \"font-weight-500 bf-text-lg\" }, [\n _vm._v(\n \" Kayıtlı veri bulunamadı. Yeni veri ekleyebilirsiniz veya bir sorun olduğunu düşünüyorsanız destek talebi oluşturabilirsiniz. \"\n ),\n ]),\n ])\n : _vm._e(),\n ]),\n ],\n 2\n ),\n _vm.totalCount > 0 && _vm.items?.length > 0\n ? _c(\n \"div\",\n { staticClass: \"info-area\" },\n [\n _c(\"v-row\", [_vm._t(\"tableFooter\")], 2),\n _vm.pagination\n ? _c(\n \"v-row\",\n [\n _c(\"v-col\", { attrs: { sm: \"6\" } }, [\n _vm.info && _vm.items?.length > 0\n ? _c(\n \"div\",\n { staticClass: \"bf-data-table-info\" },\n [\n _c(\"bf-text\", {\n staticClass: \"h6\",\n attrs: {\n text:\n \"Toplam \" +\n _vm.totalCount +\n \" kayıt içinden \" +\n _vm.items?.length +\n \" sonuç gösteriliyor.\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n ]),\n _c(\"v-col\", { attrs: { sm: \"6\" } }, [\n _c(\n \"div\",\n { staticClass: \"text-center perpage-area\" },\n [\n _c(\"v-pagination\", {\n attrs: {\n length: parseInt(_vm.pageCount),\n \"total-visible\": 7,\n top: \"\",\n },\n model: {\n value: _vm.page,\n callback: function ($$v) {\n _vm.page = $$v\n },\n expression: \"page\",\n },\n }),\n _vm.filterPerPage && _vm.items?.length > 4\n ? _c(\"v-select\", {\n staticClass: \"perpage-select\",\n attrs: {\n items: _vm.perPageItems,\n \"item-text\": \"text\",\n \"item-value\": \"value\",\n \"menu-props\": {\n top: true,\n offsetY: true,\n nudgeTop: \"11px\",\n },\n \"hide-details\": \"\",\n outlined: \"\",\n dense: \"\",\n height: \"10\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"append\",\n fn: function () {\n return [\n _c(\n \"v-icon\",\n {\n staticClass:\n \"fa-2xs mt-2 ml-3\",\n attrs: { color: \"\" },\n },\n [_vm._v(\"fi-rr-angle-down\")]\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 4206032158\n ),\n model: {\n value: _vm.perPage,\n callback: function ($$v) {\n _vm.perPage = $$v\n },\n expression: \"perPage\",\n },\n })\n : _vm._e(),\n _vm.items.length > 4\n ? _c(\n \"div\",\n { staticClass: \"show-text d-inline\" },\n [_vm._v(\"Görüntüle\")]\n )\n : _vm._e(),\n ],\n 1\n ),\n ]),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n _c(\"bf-swal\", {\n ref: \"tableAlert\",\n on: { swalOnConfirm: _vm.deleteTableItem },\n }),\n _c(\n \"v-dialog\",\n {\n attrs: { width: \"500\" },\n model: {\n value: _vm.cropDialog,\n callback: function ($$v) {\n _vm.cropDialog = $$v\n },\n expression: \"cropDialog\",\n },\n },\n [\n _c(\n \"v-card\",\n [\n _c(\"v-card-text\", [\n _c(\"br\"),\n _c(\"br\"),\n _vm.selectedImage\n ? _c(\n \"div\",\n [\n _c(\n \"v-btn-toggle\",\n {\n staticStyle: { display: \"flex\" },\n attrs: { mandatory: \"\" },\n model: {\n value: _vm.cropShape,\n callback: function ($$v) {\n _vm.cropShape = $$v\n },\n expression: \"cropShape\",\n },\n },\n [\n _c(\n \"v-btn\",\n {\n staticStyle: { width: \"50%\" },\n attrs: {\n color: \"primary\",\n value: \"rectangle-stencil\",\n },\n },\n [\n _c(\"v-icon\", { attrs: { color: \"white\" } }, [\n _vm._v(\"mdi-rectangle-outline\"),\n ]),\n ],\n 1\n ),\n _c(\n \"v-btn\",\n {\n staticStyle: { width: \"50%\" },\n attrs: {\n color: \"primary\",\n value: \"circle-stencil\",\n },\n },\n [\n _c(\"v-icon\", { attrs: { color: \"white\" } }, [\n _vm._v(\"mdi-circle-outline\"),\n ]),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"cropper\", {\n ref: \"cropper\",\n attrs: {\n \"stencil-component\": _vm.cropShape,\n src: _vm.selectedImage,\n \"stencil-props\": _vm.stencilProps,\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n ]),\n _c(\"v-divider\"),\n _c(\n \"v-card-actions\",\n [\n _c(\"v-spacer\"),\n _c(\n \"v-btn\",\n {\n attrs: { color: \"error\", text: \"\" },\n on: {\n click: function ($event) {\n _vm.cropDialog = false\n },\n },\n },\n [_vm._v(\" Kapat \")]\n ),\n _c(\n \"v-btn\",\n {\n attrs: { color: \"primary\", text: \"\" },\n on: {\n click: function ($event) {\n return _vm.cropImage()\n },\n },\n },\n [_vm._v(\" Kaydet \")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://@bilfenyazilimekibi/bilpack/./src/components/bf-table/index.vue?./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options");
|
|
1823
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: () => (/* binding */ render),\n/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"div\",\n { staticClass: \"bf-data-table\" },\n [\n _vm.imgFileLoader\n ? _c(\"div\", { staticClass: \"file-loader\" }, [\n _c(\n \"div\",\n { staticClass: \"img-file-loader\" },\n [\n _c(\"v-progress-circular\", {\n attrs: { indeterminate: \"\", color: \"primary\", size: 50 },\n }),\n ],\n 1\n ),\n ])\n : _vm._e(),\n _c(\n \"transition\",\n { attrs: { name: \"fade\" } },\n [\n _vm.skeletonLoader\n ? _c(\"v-skeleton-loader\", {\n staticClass: \"table-skeleton\",\n attrs: { type: \"table\" },\n })\n : _vm._e(),\n ],\n 1\n ),\n _vm.isTopArea\n ? _c(\"div\", { staticClass: \"table-top-area\" }, [\n _c(\n \"div\",\n [\n _c(\"bf-text\", {\n staticClass: \"table-title font-weight-700 bf-text-3xl\",\n attrs: { text: _vm.title },\n }),\n _vm.hasActivePassive\n ? _c(\n \"div\",\n { staticClass: \"table-sub\" },\n [\n _c(\n \"v-btn\",\n {\n attrs: {\n disabled: !_vm.columnIsActive,\n small: \"\",\n color: \"error\",\n },\n on: {\n click: function ($event) {\n return _vm.setActivePassive(\"passive\")\n },\n },\n },\n [_vm._v(\"Passif \")]\n ),\n _c(\n \"v-btn\",\n {\n attrs: {\n disabled: _vm.columnIsActive,\n small: \"\",\n color: \"success\",\n },\n on: {\n click: function ($event) {\n return _vm.setActivePassive(\"active\")\n },\n },\n },\n [_vm._v(\"Aktif \")]\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n !_vm.withoutActions\n ? _c(\n \"div\",\n { staticClass: \"table-buttons\" },\n [\n _vm.isColumnFilter\n ? _c(\n \"v-menu\",\n {\n attrs: {\n \"close-on-content-click\": false,\n left: \"\",\n \"offset-y\": \"\",\n \"nudge-bottom\": \"10px\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"span\",\n _vm._g(\n _vm._b({}, \"span\", attrs, false),\n on\n ),\n [\n _c(\n \"bf-button\",\n {\n attrs: {\n widthIcon: true,\n rounded: false,\n color: \"listButton\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [\n _vm._v(\n \" fi-rr-filter \"\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [_vm._v(\" Filtrele \")]\n ),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n false,\n 2015553456\n ),\n },\n [\n _c(\"div\", { staticClass: \"menu\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"bf-text-lg font-weight-500 pl-4\",\n },\n [_vm._v(\"FİLTRELE\")]\n ),\n _c(\"div\", { staticClass: \"checkboxes px-3\" }, [\n _c(\n \"ul\",\n _vm._l(\n _vm.headers.filter(\n (x) => x.value !== \"action\"\n ),\n function (item) {\n return _c(\n \"li\",\n { staticClass: \"item\" },\n [\n _c(\"v-checkbox\", {\n attrs: {\n disabled:\n _vm.isDisabled && item.selected,\n small: \"\",\n \"hide-details\": \"\",\n dense: \"\",\n label: `${item.text}`,\n },\n on: {\n change: function ($event) {\n return _vm.selectFilter(item)\n },\n },\n model: {\n value: item.selected,\n callback: function ($$v) {\n _vm.$set(item, \"selected\", $$v)\n },\n expression: \"item.selected\",\n },\n }),\n ],\n 1\n )\n }\n ),\n 0\n ),\n ]),\n ]),\n ]\n )\n : _vm._e(),\n _vm.isColumnDownload\n ? _c(\n \"div\",\n { staticClass: \"downloadButton\" },\n [\n _c(\n \"download-excel\",\n {\n staticClass: \"excel-export-button\",\n attrs: {\n data: _vm.excelOptions.json_data,\n fields: _vm.excelOptions.json_fields,\n worksheet: _vm.excelOptions.excelFileName,\n name: _vm.excelOptions.excelFileName + \".xls\",\n },\n },\n [\n _c(\n \"v-tooltip\",\n {\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"bf-button\",\n {\n attrs: {\n block: \"\",\n widthIcon: true,\n color: \"primary\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [\n _vm._v(\n \" fi-rr-download \"\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"span\",\n {\n style: {\n color:\n _vm.downloadButtonText\n .color,\n },\n },\n [\n _vm._v(\n _vm._s(\n _vm.downloadButtonText\n .title\n )\n ),\n ]\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n false,\n 3988007991\n ),\n },\n [_c(\"span\", [_vm._v(\"Excel Çıktısı Al\")])]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.isAddButtonOptions\n ? _c(\n \"div\",\n { staticClass: \"isAddButton\" },\n [\n _c(\n \"v-tooltip\",\n {\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"bf-button\",\n {\n attrs: {\n to: _vm.isAddButtonOptions\n .isAddButtonHref,\n block: \"\",\n widthIcon: true,\n color:\n _vm.isAddButtonOptions\n .isAddButtonColor,\n },\n on: {\n click: function ($event) {\n return _vm.clickNewItem()\n },\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [\n _vm._v(\" fi-rr-add \"),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"span\",\n { staticClass: \"text-white\" },\n [\n _vm._v(\n _vm._s(\n _vm.isAddButtonOptions\n .isAddButtonText\n )\n ),\n ]\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n false,\n 317774699\n ),\n },\n [_c(\"span\", [_vm._v(\"Excel Çıktısı Al\")])]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.newItem\n ? _c(\n \"bf-button\",\n {\n staticClass: \"tableButton\",\n attrs: { widthIcon: true, color: \"primary\" },\n on: {\n click: function ($event) {\n return _vm.clickNewItem()\n },\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [_vm._v(\" fi-rr-add \")]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 3009037240\n ),\n },\n [_vm._v(\" Yeni Ekle \")]\n )\n : _vm._e(),\n _vm.multiSelectSettings.action !== false\n ? _c(\n \"bf-button\",\n {\n attrs: {\n disabled: _vm.multiSelectSettings.disabled,\n widthIcon: _vm.multiSelectSettings.widthIcon,\n color: \"listOutlineButton\",\n },\n on: {\n click: function ($event) {\n return _vm.clickMultiSelectAction()\n },\n },\n scopedSlots: _vm._u(\n [\n _vm.multiSelectSettings.widthIcon\n ? {\n key: \"icon\",\n fn: function () {\n return [_vm._v(\" fi-rr-trash \")]\n },\n proxy: true,\n }\n : null,\n ],\n null,\n true\n ),\n },\n [\n _vm._v(\n \" \" +\n _vm._s(_vm.multiSelectSettings.buttonText) +\n \" \"\n ),\n ]\n )\n : _vm._e(),\n _vm._t(\"listItemSelected\", null, {\n item: _vm.listItemSelected,\n }),\n ],\n 2\n )\n : _vm._e(),\n ])\n : _vm._e(),\n _c(\n \"div\",\n { staticClass: \"table-tabs\" },\n [\n _vm.tabs.visible\n ? _c(\n \"v-tabs\",\n {\n attrs: { color: \"#84CC16\" },\n model: {\n value: _vm.tab,\n callback: function ($$v) {\n _vm.tab = $$v\n },\n expression: \"tab\",\n },\n },\n _vm._l(_vm.tabs.content, function (item, index) {\n return _c(\n \"v-tab\",\n { key: index, attrs: { value: item.value } },\n [_vm._v(_vm._s(item.text))]\n )\n }),\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n _c(\n \"bf-card\",\n { attrs: { styleClass: \"pa-0\", loading: _vm.loading } },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.topScroll,\n expression: \"topScroll\",\n },\n ],\n staticClass: \"bf-table-scroll-container\",\n },\n [\n _c(\"div\", { staticClass: \"bf-table-scroll-wrapper\" }, [\n _c(\"div\", {\n ref: \"topScrollBar\",\n staticClass: \"bf-table-top-scroll\",\n on: { scroll: _vm.handleTopScroll },\n }),\n ]),\n ]\n ),\n _c(\n \"v-data-table\",\n {\n directives: [\n {\n name: \"resize\",\n rawName: \"v-resize\",\n value: _vm.onResize,\n expression: \"onResize\",\n },\n ],\n ref: \"dataTable\",\n staticClass: \"elevation-0 bf-table-with-scroll\",\n class: { \"sticky-table\": _vm.stickyColumns.length > 0 },\n attrs: {\n \"item-class\": _vm.itemRowBackground,\n headers: _vm.totalCount > 0 ? _vm.showHeaders : _vm.noDataTitle,\n items: _vm.items,\n \"show-expand\": _vm.isExpandable,\n \"show-select\": _vm.isSelectable,\n \"single-select\": _vm.isSingleSelect,\n expanded: _vm.expanded,\n options: _vm.options,\n \"loading-text\": \"Yükleniyor...\",\n id: \"v-data-table\",\n \"hide-default-footer\": \"\",\n \"items-per-page\": 2030,\n },\n on: {\n \"update:expanded\": function ($event) {\n _vm.expanded = $event\n },\n \"update:options\": function ($event) {\n _vm.options = $event\n },\n scroll: _vm.handleMainTableScroll,\n },\n scopedSlots: _vm._u(\n [\n _vm.schoolNameTooltip\n ? {\n key: \"item.schoolNames\",\n fn: function ({ item }) {\n return [\n _c(\n \"v-tooltip\",\n {\n attrs: { \"max-width\": \"auto\", left: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on }) {\n return [\n _c(\n \"p\",\n _vm._g(\n {\n staticStyle: { color: \"#333\" },\n attrs: { dark: \"\" },\n },\n on\n ),\n [_vm._v(_vm._s(item.schoolNames))]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n _vm._l(\n item.fullSchollName\n .split(\",\")\n .map((school) => school.trim()),\n function (school) {\n return _c(\"div\", [\n _c(\n \"span\",\n { staticStyle: { color: \"#333\" } },\n [_vm._v(_vm._s(school) + \",\")]\n ),\n _c(\"br\"),\n ])\n }\n ),\n 0\n ),\n ]\n },\n }\n : null,\n _vm._l(_vm.headerTemplates, function (customSlot) {\n return {\n key: `item.${customSlot.value}`,\n fn: function ({ item }) {\n return [_vm._t(customSlot.value, null, { item: item })]\n },\n }\n }),\n {\n key: \"expanded-item\",\n fn: function ({ headers, item }) {\n return [_vm._t(\"expanded\")]\n },\n },\n _vm.searchableList\n ? {\n key: \"body.prepend\",\n fn: function () {\n return [\n _vm.totalCount > 0\n ? _c(\n \"tr\",\n {\n staticClass:\n \"bf-data-table-column-filter-area mt-3\",\n },\n [\n _vm.isSelectable\n ? _c(\"td\", {\n staticClass:\n \"bf-data-table-column-td\",\n })\n : _vm._e(),\n _vm._l(\n _vm.showHeaders,\n function (item, headerItemIndex) {\n return item.value !== \"action\" &&\n item.sortable === undefined &&\n item.value !== \"data-table-expand\" &&\n !item.hidden\n ? _c(\n \"td\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.isMobile,\n expression: \"!isMobile\",\n },\n ],\n key: headerItemIndex,\n staticClass:\n \"bf-data-table-column-td\",\n },\n [\n item.searchOptions !==\n undefined &&\n item.searchOptions.type ===\n \"select-data\"\n ? _c(\n \"v-autocomplete\",\n {\n staticClass:\n \"bf-data-table-column-filter-field select\",\n attrs: {\n items:\n item.searchOptions\n .autoSelect ==\n true\n ? _vm.findAutoSelectItems(\n item\n .searchOptions\n .autoSelectSearchValue\n )\n : item\n .searchOptions\n .selectItems,\n \"item-text\":\n item.searchOptions\n .itemText,\n \"item-value\":\n item.searchOptions\n .itemValue,\n value:\n item.searchValue,\n disabled: item.loader,\n loading:\n _vm.mainLoader,\n clearable: \"\",\n \"hide-details\": \"\",\n solo: \"\",\n dense: \"\",\n \"append-icon\": \"\",\n },\n on: {\n change: function (\n $event\n ) {\n return _vm.searchData(\n item.searchOptions\n .autoSelectSearchValue\n )\n },\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"slotItem\",\n fn: function ({\n slotItem,\n }) {\n return [\n slotItem.val &&\n slotItem.val.includes(\n \"#\"\n )\n ? _c(\n \"div\",\n [\n _c(\n \"v-chip\",\n {\n staticClass:\n \"select-autocomplate-chip\",\n attrs:\n {\n color:\n slotItem.val\n ? slotItem.val\n : \"#FDF49D\",\n },\n }\n ),\n ],\n 1\n )\n : _c(\n \"div\",\n [\n _c(\n \"span\",\n {\n staticClass:\n \"select-autocomplate-span\",\n },\n [\n _vm._v(\n _vm._s(\n slotItem.name\n )\n ),\n ]\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n model: {\n value:\n item.searchValue,\n callback: function (\n $$v\n ) {\n _vm.$set(\n item,\n \"searchValue\",\n $$v\n )\n },\n expression:\n \"item.searchValue\",\n },\n },\n [\n _c(\n \"v-icon\",\n {\n attrs: {\n slot: \"prepend-inner\",\n color: \"#9CA3AF\",\n small: \"\",\n },\n slot: \"prepend-inner\",\n },\n [\n _vm._v(\n \"fi-rr-search\"\n ),\n ]\n ),\n ],\n 1\n )\n : item.searchOptions !==\n undefined &&\n item.searchOptions.type ===\n \"date\"\n ? _c(\n \"v-menu\",\n {\n ref: \"menu\",\n refInFor: true,\n attrs: {\n loading:\n _vm.mainLoader,\n \"close-on-content-click\": false,\n transition:\n \"scale-transition\",\n \"offset-y\": \"\",\n \"min-width\": \"auto\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({\n on,\n attrs,\n }) {\n return [\n _c(\n \"v-text-field\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"bf-data-table-column-filter-field date mb-0\",\n attrs:\n {\n readonly:\n \"\",\n loading:\n _vm.mainLoader,\n solo: \"\",\n dense:\n \"\",\n \"append-icon\":\n item.searchValue !==\n \"\"\n ? \"mdi-close\"\n : \"\",\n },\n on: {\n \"click:append\":\n function (\n $event\n ) {\n item.searchValue =\n \"\"\n _vm.searchData()\n },\n },\n model:\n {\n value:\n item.searchValue,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n item,\n \"searchValue\",\n $$v\n )\n },\n expression:\n \"item.searchValue\",\n },\n },\n \"v-text-field\",\n attrs,\n false\n ),\n on\n ),\n [\n _c(\n \"v-icon\",\n {\n attrs:\n {\n slot: \"prepend-inner\",\n color:\n \"#9CA3AF\",\n small:\n \"\",\n },\n slot: \"prepend-inner\",\n },\n [\n _vm._v(\n \"fi-rr-search\"\n ),\n ]\n ),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n model: {\n value: item.dateMenu,\n callback: function (\n $$v\n ) {\n _vm.$set(\n item,\n \"dateMenu\",\n $$v\n )\n },\n expression:\n \"item.dateMenu\",\n },\n },\n [\n _c(\"v-date-picker\", {\n attrs: {\n \"no-title\": \"\",\n locale: \"tr\",\n scrollable: \"\",\n },\n on: {\n input: function (\n $event\n ) {\n item.dateMenu = false\n _vm.searchData()\n },\n },\n model: {\n value:\n item.searchValue,\n callback: function (\n $$v\n ) {\n _vm.$set(\n item,\n \"searchValue\",\n $$v\n )\n },\n expression:\n \"item.searchValue\",\n },\n }),\n ],\n 1\n )\n : _c(\n \"v-text-field\",\n {\n staticClass:\n \"bf-data-table-column-filter-field\",\n attrs: {\n loading:\n _vm.mainLoader,\n \"hide-details\": \"\",\n type: \"text\",\n solo: \"\",\n dense: \"\",\n },\n on: {\n keyup: _vm.searchData,\n },\n model: {\n value:\n item.searchValue,\n callback: function (\n $$v\n ) {\n _vm.$set(\n item,\n \"searchValue\",\n $$v\n )\n },\n expression:\n \"item.searchValue\",\n },\n },\n [\n _c(\n \"v-icon\",\n {\n attrs: {\n slot: \"prepend-inner\",\n color: \"#9CA3AF\",\n small: \"\",\n },\n slot: \"prepend-inner\",\n },\n [\n _vm._v(\n \"fi-rr-search\"\n ),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _c(\"td\", {\n staticClass:\n \"bf-data-table-column-td bf-data-table-column-td-icons\",\n })\n }\n ),\n ],\n 2\n )\n : _vm._e(),\n ]\n },\n proxy: true,\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.studentImage\",\n fn: function ({ item }) {\n return [\n _c(\"input\", {\n ref: \"fileInput\",\n staticStyle: { display: \"none\" },\n attrs: { type: \"file\", accept: \"image/*\" },\n on: {\n change: (event) =>\n _vm.onFileSelected(event, item),\n },\n }),\n _c(\n \"div\",\n {\n staticClass: \"image file-img-area\",\n class: _vm.isImageChange\n ? \"cursor-pointer\"\n : \"\",\n },\n [\n item.studentImage\n ? _c(\"img\", {\n directives: [\n { name: \"viewer\", rawName: \"v-viewer\" },\n ],\n attrs: {\n src: item.studentImage,\n alt: \"\",\n },\n })\n : _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/img/empty-user-photo.png */ \"./src/assets/img/empty-user-photo.png\"),\n alt: \"\",\n },\n }),\n _vm.isImageChange\n ? _c(\n \"span\",\n {\n staticClass: \"file-img-btn\",\n on: {\n click: function ($event) {\n return _vm.imageChange(\n item,\n \"Student\"\n )\n },\n },\n },\n [\n _c(\"v-icon\", { attrs: { small: \"\" } }, [\n _vm._v(\"fi-rr-pencil\"),\n ]),\n ],\n 1\n )\n : _vm._e(),\n ]\n ),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.motherImage\",\n fn: function ({ item }) {\n return [\n _c(\n \"div\",\n {\n staticClass: \"image file-img-area\",\n class: _vm.isImageChange\n ? \"cursor-pointer\"\n : \"\",\n staticStyle: { \"padding-right\": \"16px\" },\n },\n [\n item.motherImage\n ? _c(\"img\", {\n directives: [\n { name: \"viewer\", rawName: \"v-viewer\" },\n ],\n attrs: { src: item.motherImage, alt: \"\" },\n })\n : _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/img/empty-user-photo.png */ \"./src/assets/img/empty-user-photo.png\"),\n alt: \"\",\n },\n }),\n _vm.isImageChange && item.motherName\n ? _c(\n \"span\",\n {\n staticClass: \"file-img-btn\",\n on: {\n click: function ($event) {\n return _vm.imageChange(\n item,\n \"Kadın\"\n )\n },\n },\n },\n [\n _c(\"v-icon\", { attrs: { small: \"\" } }, [\n _vm._v(\"fi-rr-pencil\"),\n ]),\n ],\n 1\n )\n : _vm._e(),\n ]\n ),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.fatherImage\",\n fn: function ({ item }) {\n return [\n _c(\n \"div\",\n {\n staticClass: \"image file-img-area\",\n class: _vm.isImageChange\n ? \"cursor-pointer\"\n : \"\",\n staticStyle: { \"padding-right\": \"16px\" },\n },\n [\n item.fatherImage\n ? _c(\"img\", {\n directives: [\n { name: \"viewer\", rawName: \"v-viewer\" },\n ],\n attrs: { src: item.fatherImage, alt: \"\" },\n })\n : _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/img/empty-user-photo.png */ \"./src/assets/img/empty-user-photo.png\"),\n alt: \"\",\n },\n }),\n _vm.isImageChange && item.fatherName\n ? _c(\n \"span\",\n {\n staticClass: \"file-img-btn\",\n on: {\n click: function ($event) {\n return _vm.imageChange(\n item,\n \"Erkek\"\n )\n },\n },\n },\n [\n _c(\"v-icon\", { attrs: { small: \"\" } }, [\n _vm._v(\"fi-rr-pencil\"),\n ]),\n ],\n 1\n )\n : _vm._e(),\n ]\n ),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.userImage\",\n fn: function ({ item }) {\n return [\n item.userImage === null\n ? _c(\n \"div\",\n { staticClass: \"image\" },\n [\n _c(\n \"v-avatar\",\n {\n staticClass: \"mr-auto top-avatar\",\n attrs: { color: \"primary\", size: \"32\" },\n },\n [\n _c(\n \"v-icon\",\n {\n attrs: {\n color: \"white\",\n small: \"\",\n },\n },\n [_vm._v(\"fi-rr-user\")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _c(\"div\", { staticClass: \"image\" }, [\n _c(\"img\", {\n attrs: { src: item.userImage, alt: \"\" },\n }),\n ]),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.image\",\n fn: function ({ item }) {\n return [\n item.image === null\n ? _c(\"div\", { staticClass: \"image\" }, [\n _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/img/empty-user-photo.png */ \"./src/assets/img/empty-user-photo.png\"),\n alt: \"\",\n },\n }),\n ])\n : _c(\n \"div\",\n {\n directives: [\n { name: \"viewer\", rawName: \"v-viewer\" },\n ],\n staticClass: \"image\",\n },\n [\n _c(\"img\", {\n attrs: { src: item.image, alt: \"\" },\n }),\n ]\n ),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.SORU_RESIM\",\n fn: function ({ item }) {\n return [\n item.SORU_RESIM === null\n ? _c(\"div\", { staticClass: \"image\" }, [\n _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/img/empty-user-photo.png */ \"./src/assets/img/empty-user-photo.png\"),\n alt: \"\",\n },\n }),\n ])\n : _c(\n \"div\",\n {\n directives: [\n { name: \"viewer\", rawName: \"v-viewer\" },\n ],\n staticClass: \"image\",\n },\n [\n _c(\"img\", {\n attrs: { src: item.SORU_RESIM, alt: \"\" },\n }),\n ]\n ),\n ]\n },\n }\n : null,\n _vm.isImage\n ? {\n key: \"item.questionImage\",\n fn: function ({ item }) {\n return [\n item.questionImage === null\n ? _c(\"div\", [\n item.questionSketchImage !== null\n ? _c(\"div\", [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"viewer\",\n rawName: \"v-viewer\",\n },\n ],\n staticClass: \"image\",\n },\n [\n _c(\"img\", {\n attrs: {\n src: item.questionSketchImage,\n alt: \"\",\n },\n }),\n ]\n ),\n ])\n : _c(\"div\", [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"viewer\",\n rawName: \"v-viewer\",\n },\n ],\n staticClass: \"image\",\n },\n [\n _c(\"img\", {\n attrs: {\n src: __webpack_require__(/*! ../../assets/images/default-image.jpeg */ \"./src/assets/images/default-image.jpeg\"),\n alt: \"\",\n },\n }),\n ]\n ),\n ]),\n ])\n : _c(\"div\", [\n _c(\n \"div\",\n {\n directives: [\n { name: \"viewer\", rawName: \"v-viewer\" },\n ],\n staticClass: \"image\",\n },\n [\n _c(\"img\", {\n attrs: {\n src: item.questionImage,\n alt: \"\",\n },\n }),\n ]\n ),\n ]),\n ]\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.topicStatus\",\n fn: function ({ item }) {\n return [\n item.topicStatus === \"0\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.topicStatus,\n \"topicStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.topicStatus,\n \"topicStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Pasif \")]\n )\n : _vm._e(),\n item.topicStatus === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.topicStatus,\n \"topicStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.topicStatus,\n \"topicStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Aktif \")]\n )\n : _vm._e(),\n ]\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.unitStatus\",\n fn: function ({ item }) {\n return [\n item.unitStatus === \"0\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.unitStatus,\n \"unitStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.unitStatus,\n \"unitStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Pasif \")]\n )\n : _vm._e(),\n item.unitStatus === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.unitStatus,\n \"unitStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.unitStatus,\n \"unitStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Aktif \")]\n )\n : _vm._e(),\n ]\n },\n }\n : null,\n {\n key: \"item.studentData\",\n fn: function ({ item }) {\n return [\n item.studentData === \"0\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" + _vm.getTextColor(\"0\", \"register\"),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\"0\", \"register\"),\n dark: \"\",\n },\n },\n [_vm._v(\" Aktarılmayan \")]\n )\n : _vm._e(),\n item.studentData === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" + _vm.getTextColor(\"1\", \"register\"),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\"1\", \"register\"),\n dark: \"\",\n },\n },\n [_vm._v(\" Aktarılan \")]\n )\n : _vm._e(),\n ]\n },\n },\n _vm.colorColumns\n ? _vm._l(\n _vm.colorChangeItems,\n function (changeItem, index) {\n return {\n key: changeItem.path,\n fn: function ({ item }) {\n return [\n !_vm.isClickableColumn\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item[changeItem.name],\n changeItem.colorName\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item[changeItem.name],\n changeItem.colorName\n ),\n dark: \"\",\n },\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n _vm.stringToCode(\n changeItem.conditions.code,\n changeItem.name,\n item[changeItem.name]\n )\n ) +\n \" \"\n ),\n ]\n )\n : _c(\n \"div\",\n {\n staticClass: \"cursor-pointer\",\n style: \"color:\" + changeItem.textColor,\n on: {\n click: function ($event) {\n return _vm.openModal(\n item,\n changeItem.name\n )\n },\n },\n },\n [\n _vm._v(\n \" \" +\n _vm._s(item[changeItem.name]) +\n \" \"\n ),\n ]\n ),\n ]\n },\n }\n }\n )\n : null,\n _vm.colorColumns\n ? {\n key: \"item.registrationStatus\",\n fn: function ({ item }) {\n return [\n item.registrationStatus === \"0\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kayıt \")]\n )\n : _vm._e(),\n item.registrationStatus === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Ön Kayıt \")]\n )\n : _vm._e(),\n item.registrationStatus === \"2\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kesin Kayıt \")]\n )\n : _vm._e(),\n item.registrationStatus === \"3\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.registrationStatus,\n \"registrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kayıt Yenileme \")]\n )\n : _vm._e(),\n ]\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.lastBranch\",\n fn: function ({ item }) {\n return [\n item.lastBranch === \"KAYIT\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kayıt \")]\n )\n : item.lastBranch === \"ÖNKAYIT\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Ön Kayıt \")]\n )\n : item.lastBranch === \"NAKİL\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kesin Kayıt \")]\n )\n : item.lastBranch === \"KAYITYENİLEME\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.lastBranch,\n \"lastBranch\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kayıt Yenileme \")]\n )\n : _c(\"div\", [\n _vm._v(_vm._s(item.lastBranch) + \" Şubesi\"),\n ]),\n ]\n },\n }\n : null,\n {\n key: \"item.registerPercentage\",\n fn: function ({ item }) {\n return [\n _c(\"span\", [\n _vm._v(\"%\" + _vm._s(item.registerPercentage)),\n ]),\n ]\n },\n },\n _vm.colorColumns\n ? {\n key: \"item.announcementProcess\",\n fn: function ({ item }) {\n return [\n item.announcementProcess === \"Geçmiş\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Geçmiş \")]\n )\n : _vm._e(),\n item.announcementProcess === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Güncel \")]\n )\n : _vm._e(),\n item.announcementProcess === \"2\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.announcementProcess,\n \"announcementProcess\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Geçmiş \")]\n )\n : _vm._e(),\n ]\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.referance\",\n fn: function ({ item }) {\n return _vm._l(\n JSON.parse(item.referance),\n function (referance, i) {\n return _c(\"div\", { key: i }, [\n _vm._v(\" \" + _vm._s(referance.name) + \" \"),\n _c(\n \"span\",\n { staticStyle: { color: \"#65a30d\" } },\n [\n _vm._v(\n \"B: \" +\n _vm._s(referance.referance.B) +\n \" \"\n ),\n ]\n ),\n _vm._v(\" | \"),\n _c(\n \"span\",\n { staticStyle: { color: \"#3b82f6\" } },\n [\n _vm._v(\n \"ST: \" + _vm._s(referance.referance.ST)\n ),\n ]\n ),\n ])\n }\n )\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.preRegistrationStatus\",\n fn: function ({ item }) {\n return [\n item.preRegistrationStatus === \"0\"\n ? _c(\"v-chip\", {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n dark: \"\",\n },\n })\n : _vm._e(),\n item.preRegistrationStatus === \"1\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Başarılı \")]\n )\n : _vm._e(),\n item.preRegistrationStatus === \"2\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Başarısız \")]\n )\n : _vm._e(),\n item.preRegistrationStatus === \"3\"\n ? _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.preRegistrationStatus,\n \"preRegistrationStatus\"\n ),\n dark: \"\",\n },\n },\n [_vm._v(\" Kayıt Yapmayacak \")]\n )\n : _vm._e(),\n ]\n },\n }\n : null,\n _vm.colorColumns\n ? {\n key: \"item.leavingStatus\",\n fn: function ({ item }) {\n return [\n _c(\n \"v-chip\",\n {\n style:\n \"color:\" +\n _vm.getTextColor(\n item.leavingStatus,\n \"leaving\"\n ),\n attrs: {\n color: _vm.$vuetify.theme.dark\n ? \"#374151\"\n : _vm.getColor(\n item.leavingStatus,\n \"leaving\"\n ),\n dark: \"\",\n },\n },\n [\n item.leavingStatus === \"0\"\n ? _c(\"div\", [_vm._v(\"Ayrılmadı\")])\n : _c(\n \"div\",\n { staticClass: \"leaving\" },\n [\n _c(\n \"div\",\n { staticClass: \"leavingTitle\" },\n [_vm._v(\"Ayrıldı\")]\n ),\n _c(\n \"v-tooltip\",\n {\n attrs: { top: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on }) {\n return [\n _c(\n \"v-icon\",\n _vm._g(\n {\n staticClass: \"mr-2\",\n attrs: {\n small: \"\",\n },\n },\n on\n ),\n [\n _vm._v(\n \" mdi-information-outline \"\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\"div\", [\n _c(\n \"div\",\n {\n staticClass: \"title\",\n staticStyle: {\n color: \"#333\",\n },\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n item.leavingReasonName\n ) +\n \" \"\n ),\n ]\n ),\n _c(\n \"div\",\n {\n staticClass: \"text\",\n staticStyle: {\n color: \"#333\",\n },\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n item.leavingDescription\n ) +\n \" \"\n ),\n ]\n ),\n ]),\n ]\n ),\n ],\n 1\n ),\n ]\n ),\n ]\n },\n }\n : null,\n {\n key: \"top\",\n fn: function ({ pagination, options, updateOptions }) {\n return [_vm._t(\"multiActions\")]\n },\n },\n {\n key: \"header.action\",\n fn: function ({ header }) {\n return [\n _c(\n \"div\",\n {\n staticStyle: {\n \"text-align\": \"right\",\n width: \"100%\",\n },\n },\n [_vm._v(_vm._s(header.text))]\n ),\n ]\n },\n },\n {\n key: \"item.action\",\n fn: function ({ item }) {\n return [\n _c(\n \"div\",\n { staticClass: \"action-column\" },\n [\n _vm.updateOptions !== null &&\n item[_vm.switchKey] !== undefined &&\n !_vm.customSwitch\n ? _c(\"v-switch\", {\n staticClass: \"switch mt-0\",\n attrs: {\n small: \"\",\n inset: \"\",\n \"hide-details\": \"\",\n \"input-value\": item[_vm.switchKey] === \"1\",\n },\n on: {\n click: function ($event) {\n return _vm.switchAction(item)\n },\n },\n })\n : _vm._e(),\n _vm._t(\"action\", null, { item: item }),\n _vm._t(\"date\", null, { item: item }),\n _vm.deleteOptions !== null\n ? _c(\n \"v-tooltip\",\n {\n attrs: { top: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on }) {\n return [\n item[\n _vm.deleteOptions.isVisibleKey\n ] === \"1\" ||\n item[\n _vm.deleteOptions.isVisibleKey\n ] === \"true\" ||\n _vm.deleteOptions.isVisibleKey ===\n undefined\n ? _c(\n \"div\",\n {\n staticClass:\n \"cursor-pointer mx-1\",\n staticStyle: {\n color: \"#333\",\n },\n },\n [\n _c(\n \"v-btn\",\n {\n attrs: {\n icon: \"\",\n small: \"\",\n },\n on: {\n click: function (\n $event\n ) {\n return _vm.openDeleteConfirm(\n item\n )\n },\n },\n },\n [\n _c(\n \"v-icon\",\n _vm._g(\n {\n attrs: {\n small: \"\",\n },\n },\n on\n ),\n [\n _vm._v(\n \" fi-rr-trash \"\n ),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"span\",\n { staticClass: \"tooltip-text\" },\n [_vm._v(\"Sil\")]\n ),\n ]\n )\n : _vm._e(),\n _vm.customSwitch\n ? _c(\"v-switch\", {\n staticClass: \"switch mt-0\",\n class: _vm.customSwitch\n ? \"custom-switch\"\n : \"\",\n attrs: {\n small: \"\",\n inset: \"\",\n \"hide-details\": \"\",\n \"input-value\": item[_vm.switchKey] === \"1\",\n label:\n item.status === \"0\"\n ? \"Aktife Al\"\n : \"Pasife Al\",\n },\n on: {\n click: function ($event) {\n return _vm.switchAction(item)\n },\n },\n })\n : _vm._e(),\n ],\n 2\n ),\n ]\n },\n },\n {\n key: \"item.topics\",\n fn: function ({ item }) {\n return [\n _vm._t(\"topics\", null, { item: item }),\n _c(\n \"v-tooltip\",\n {\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"span\",\n _vm._g(\n _vm._b(\n { staticStyle: { color: \"#333\" } },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [\n _vm._v(\n _vm._s(\n item.topics !== null\n ? item.topics.substring(0, 30) +\n \"..\"\n : null\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"span\",\n { staticStyle: { color: \"#333\" } },\n _vm._l(\n item.topics !== null\n ? item.topics.split(\",\")\n : null,\n function (topic, topicIndex) {\n return _c(\n \"div\",\n {\n key: topicIndex,\n staticClass: \"topic-badge\",\n },\n [_c(\"div\", [_vm._v(_vm._s(topic))])]\n )\n }\n ),\n 0\n ),\n ]\n ),\n ]\n },\n },\n {\n key: \"item.description\",\n fn: function ({ item }) {\n return [\n _c(\n \"v-tooltip\",\n {\n staticClass: \"description-tooltip\",\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n item.description?.length > 10\n ? _c(\n \"span\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"see-description\",\n staticStyle: {\n color: \"#333\",\n },\n },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [\n _vm._v(\n _vm._s(\n item.description.substring(\n 0,\n 30\n ) + \"...\"\n )\n ),\n ]\n )\n : _c(\n \"span\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"see-description\",\n staticStyle: {\n color: \"#333\",\n },\n },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [_vm._v(_vm._s(item.description))]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\"span\", [\n _c(\n \"div\",\n { staticClass: \"description-tooltip\" },\n [\n _c(\n \"div\",\n { staticStyle: { color: \"#333\" } },\n [_vm._v(_vm._s(item.description))]\n ),\n ]\n ),\n ]),\n ]\n ),\n ]\n },\n },\n !_vm.headers.filter((x) => x.value === \"examName\")[0]\n ?.isFullName\n ? {\n key: \"item.examName\",\n fn: function ({ item }) {\n return [\n _vm._t(\"examName\", null, { item: item }),\n _c(\n \"v-tooltip\",\n {\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"span\",\n _vm._g(\n _vm._b(\n {\n staticClass: \"see-tooltip\",\n staticStyle: {\n color: \"#333\",\n },\n },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [\n _vm._v(\n _vm._s(\n item.examName.substring(\n 0,\n 10\n ) + \"..\"\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"div\",\n { staticClass: \"title d-flex\" },\n [\n _c(\n \"v-icon\",\n _vm._g(\n {\n staticClass: \"titleIcon\",\n attrs: { small: \"\" },\n },\n _vm.on\n ),\n [_vm._v(\" fi-rr-info \")]\n ),\n ],\n 1\n ),\n _c(\n \"span\",\n [\n _c(\"div\", { staticClass: \"titleText\" }, [\n _vm._v(\"TÜM SINAVLAR\"),\n ]),\n _vm._l(\n item.examName.split(\"-\"),\n function (topic, topicIndex) {\n return _c(\n \"div\",\n {\n key: topicIndex,\n staticClass: \"tooltip-badge\",\n staticStyle: { color: \"#333\" },\n },\n [_vm._v(\" \" + _vm._s(topic) + \" \")]\n )\n }\n ),\n ],\n 2\n ),\n ]\n ),\n ]\n },\n }\n : null,\n {\n key: \"item.outcomeName\",\n fn: function ({ item }) {\n return [\n _c(\n \"v-tooltip\",\n {\n staticClass: \"outcomeName-tooltip\",\n attrs: { bottom: \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n item.outcomeName?.length > 10\n ? _c(\n \"span\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"see-outcomeName\",\n staticStyle: {\n color: \"#333\",\n },\n },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [\n _vm._v(\n _vm._s(\n item.outcomeName.substring(\n 0,\n 15\n ) + \"...\"\n )\n ),\n ]\n )\n : _c(\n \"span\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"see-outcomeName\",\n staticStyle: {\n color: \"#333\",\n },\n },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [_vm._v(_vm._s(item.outcomeName))]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\"span\", { staticStyle: { color: \"#333\" } }, [\n _c(\"div\", { staticClass: \"tooltip-badge\" }, [\n _c(\"div\", [_vm._v(_vm._s(item.outcomeName))]),\n ]),\n ]),\n ]\n ),\n ]\n },\n },\n {\n key: \"item.vaccineDate\",\n fn: function ({ item, index }) {\n return [\n _c(\n \"div\",\n { staticClass: \"date-input\" },\n [\n _c(\n \"v-menu\",\n {\n ref: \"menu\",\n attrs: {\n \"close-on-content-click\": false,\n transition: \"scale-transition\",\n \"offset-y\": \"\",\n \"min-width\": \"auto\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"v-text-field\",\n _vm._g(\n _vm._b(\n {\n attrs: {\n value: _vm.formatDate(\n item.vaccineDate\n ),\n \"prepend-icon\":\n \"mdi-calendar\",\n readonly: \"\",\n },\n },\n \"v-text-field\",\n attrs,\n false\n ),\n on\n )\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n model: {\n value: item.menu,\n callback: function ($$v) {\n _vm.$set(item, \"menu\", $$v)\n },\n expression: \"item.menu\",\n },\n },\n [\n _c(\"v-date-picker\", {\n attrs: { locale: \"tr-TR\", \"no-title\": \"\" },\n on: {\n input: (date) =>\n _vm.changeInput(item, date),\n },\n model: {\n value: item.vaccineDate,\n callback: function ($$v) {\n _vm.$set(item, \"vaccineDate\", $$v)\n },\n expression: \"item.vaccineDate\",\n },\n }),\n _c(\"div\", { staticClass: \"dateInputButtons\" }, [\n _c(\n \"div\",\n {\n staticClass: \"dateInputButton mr-4\",\n on: {\n click: function ($event) {\n return _vm.changeDateInput(item)\n },\n },\n },\n [_vm._v(\" Uygula \")]\n ),\n _c(\n \"div\",\n {\n staticClass: \"dateInputButton\",\n on: {\n click: function ($event) {\n return _vm.clickMultiSelectAction(\n item\n )\n },\n },\n },\n [_vm._v(\" Seçilenlere Uygula \")]\n ),\n ]),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n model: {\n value: _vm.listItemSelected,\n callback: function ($$v) {\n _vm.listItemSelected = $$v\n },\n expression: \"listItemSelected\",\n },\n },\n [\n _c(\"template\", { slot: \"no-data\" }, [\n _vm.totalCount > 0\n ? _c(\"div\", { staticClass: \"empty-data-container\" }, [\n _c(\"img\", { attrs: { src: _vm.getImage(\"no-result\") } }),\n _c(\n \"div\",\n { staticClass: \"font-weight-700 bf-text-3xl mb-2\" },\n [_vm._v(\"Sonuç Bulunamadı!\")]\n ),\n _c(\"div\", { staticClass: \"font-weight-500 bf-text-lg\" }, [\n _vm._v(\n \" Arama sonuçlarınıza göre kayıtlı veri bulunamadı. Yeni veri ekleyebilirsiniz veya bir sorun olduğunu düşünüyorsanız destek talebi oluşturabilirsiniz. \"\n ),\n ]),\n ])\n : _vm._e(),\n ]),\n _c(\"template\", { slot: \"no-data\" }, [\n _vm.totalCount <= 0\n ? _c(\"div\", { staticClass: \"empty-data-container\" }, [\n _c(\"img\", { attrs: { src: _vm.getImage(\"no-data\") } }),\n _c(\n \"div\",\n { staticClass: \"font-weight-700 bf-text-3xl mb-2\" },\n [_vm._v(\"Veri Bulunamadı!\")]\n ),\n _c(\"div\", { staticClass: \"font-weight-500 bf-text-lg\" }, [\n _vm._v(\n \" Kayıtlı veri bulunamadı. Yeni veri ekleyebilirsiniz veya bir sorun olduğunu düşünüyorsanız destek talebi oluşturabilirsiniz. \"\n ),\n ]),\n ])\n : _vm._e(),\n ]),\n ],\n 2\n ),\n _vm.totalCount > 0 && _vm.items?.length > 0\n ? _c(\n \"div\",\n { staticClass: \"info-area\" },\n [\n _c(\"v-row\", [_vm._t(\"tableFooter\")], 2),\n _vm.pagination\n ? _c(\n \"v-row\",\n [\n _c(\"v-col\", { attrs: { sm: \"6\" } }, [\n _vm.info && _vm.items?.length > 0\n ? _c(\n \"div\",\n { staticClass: \"bf-data-table-info\" },\n [\n _c(\"bf-text\", {\n staticClass: \"h6\",\n attrs: {\n text:\n \"Toplam \" +\n _vm.totalCount +\n \" kayıt içinden \" +\n _vm.items?.length +\n \" sonuç gösteriliyor.\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n ]),\n _c(\"v-col\", { attrs: { sm: \"6\" } }, [\n _c(\n \"div\",\n { staticClass: \"text-center perpage-area\" },\n [\n _c(\"v-pagination\", {\n attrs: {\n length: parseInt(_vm.pageCount),\n \"total-visible\": 7,\n top: \"\",\n },\n model: {\n value: _vm.page,\n callback: function ($$v) {\n _vm.page = $$v\n },\n expression: \"page\",\n },\n }),\n _vm.filterPerPage && _vm.items?.length > 4\n ? _c(\"v-select\", {\n staticClass: \"perpage-select\",\n attrs: {\n items: _vm.perPageItems,\n \"item-text\": \"text\",\n \"item-value\": \"value\",\n \"menu-props\": {\n top: true,\n offsetY: true,\n nudgeTop: \"11px\",\n },\n \"hide-details\": \"\",\n outlined: \"\",\n dense: \"\",\n height: \"10\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"append\",\n fn: function () {\n return [\n _c(\n \"v-icon\",\n {\n staticClass:\n \"fa-2xs mt-2 ml-3\",\n attrs: { color: \"\" },\n },\n [_vm._v(\"fi-rr-angle-down\")]\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 4206032158\n ),\n model: {\n value: _vm.perPage,\n callback: function ($$v) {\n _vm.perPage = $$v\n },\n expression: \"perPage\",\n },\n })\n : _vm._e(),\n _vm.items.length > 4\n ? _c(\n \"div\",\n { staticClass: \"show-text d-inline\" },\n [_vm._v(\"Görüntüle\")]\n )\n : _vm._e(),\n ],\n 1\n ),\n ]),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n _c(\"bf-swal\", {\n ref: \"tableAlert\",\n on: { swalOnConfirm: _vm.deleteTableItem },\n }),\n _c(\n \"v-dialog\",\n {\n attrs: { width: \"500\" },\n model: {\n value: _vm.cropDialog,\n callback: function ($$v) {\n _vm.cropDialog = $$v\n },\n expression: \"cropDialog\",\n },\n },\n [\n _c(\n \"v-card\",\n [\n _c(\"v-card-text\", [\n _c(\"br\"),\n _c(\"br\"),\n _vm.selectedImage\n ? _c(\n \"div\",\n [\n _c(\n \"v-btn-toggle\",\n {\n staticStyle: { display: \"flex\" },\n attrs: { mandatory: \"\" },\n model: {\n value: _vm.cropShape,\n callback: function ($$v) {\n _vm.cropShape = $$v\n },\n expression: \"cropShape\",\n },\n },\n [\n _c(\n \"v-btn\",\n {\n staticStyle: { width: \"50%\" },\n attrs: {\n color: \"primary\",\n value: \"rectangle-stencil\",\n },\n },\n [\n _c(\"v-icon\", { attrs: { color: \"white\" } }, [\n _vm._v(\"mdi-rectangle-outline\"),\n ]),\n ],\n 1\n ),\n _c(\n \"v-btn\",\n {\n staticStyle: { width: \"50%\" },\n attrs: {\n color: \"primary\",\n value: \"circle-stencil\",\n },\n },\n [\n _c(\"v-icon\", { attrs: { color: \"white\" } }, [\n _vm._v(\"mdi-circle-outline\"),\n ]),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"cropper\", {\n ref: \"cropper\",\n attrs: {\n \"stencil-component\": _vm.cropShape,\n src: _vm.selectedImage,\n \"stencil-props\": _vm.stencilProps,\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n ]),\n _c(\"v-divider\"),\n _c(\n \"v-card-actions\",\n [\n _c(\"v-spacer\"),\n _c(\n \"v-btn\",\n {\n attrs: { color: \"error\", text: \"\" },\n on: {\n click: function ($event) {\n _vm.cropDialog = false\n },\n },\n },\n [_vm._v(\" Kapat \")]\n ),\n _c(\n \"v-btn\",\n {\n attrs: { color: \"primary\", text: \"\" },\n on: {\n click: function ($event) {\n return _vm.cropImage()\n },\n },\n },\n [_vm._v(\" Kaydet \")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://@bilfenyazilimekibi/bilpack/./src/components/bf-table/index.vue?./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options");
|
|
1824
1824
|
|
|
1825
1825
|
/***/ }),
|
|
1826
1826
|
|