@bilfenyazilimekibi/bilpack 1.3.16 → 1.3.17
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 +3 -3
- package/dist/bilpack.umd.js +3 -3
- package/dist/bilpack.umd.min.js +3 -3
- package/package.json +1 -1
package/dist/bilpack.common.js
CHANGED
|
@@ -335,7 +335,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
335
335
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
336
336
|
|
|
337
337
|
"use strict";
|
|
338
|
-
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 _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/bf-form/helpers.js\");\n/* harmony import */ var _components_form_image__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/form-image */ \"./src/components/bf-form/components/form-image.vue\");\n/* harmony import */ var _components_preview_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/preview/index */ \"./src/components/bf-form/components/preview/index.vue\");\n\n\n\n\n// import { vMaska } from \"maska\"\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: \"bf-form\",\n props: {\n selectedFileName: {\n default: \"\",\n },\n deleteButton: {\n default: false,\n },\n saveButton: {\n default: true,\n },\n customClass: {\n default: \"\",\n },\n previewSettings: {\n default: () => {\n return {};\n },\n },\n formButtonContent: {\n default: () => {\n return {\n title: \"Kaydet\",\n hasIcon: false,\n iconTitle: {\n default: \"\",\n },\n };\n },\n },\n formDeleteButtonContent: {\n default: () => {\n return {\n title: \"Sil\",\n hasIcon: false,\n iconTitle: {\n default: \"\",\n },\n };\n },\n },\n settings: {\n default: {},\n },\n items: {\n default: {},\n },\n endpoint: {\n default: \"\",\n },\n editOptions: {\n default: null,\n },\n showSubmit: {\n default: true,\n },\n hasCustomSubmitSlot: {\n default: false,\n },\n },\n components: {\n imageInput: _components_form_image__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n preview: _components_preview_index__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n },\n // directives: { maska: vMaska },\n data() {\n return {\n formGroups: [],\n formItems: {},\n formIsValid: false,\n startInit: false,\n editMode: false,\n loader: false,\n editForm: null,\n show: true,\n isReady: false,\n blankUrl: \"\",\n editData: {},\n maskPhone: \"(###) ### ## ##\",\n formPreviewSettings: {\n show: true,\n customize: false,\n submitText: \"Kaydet\",\n },\n\n formSettings: {\n title: \"\",\n module: \"\",\n confirmOnSave: false,\n postMode: \"object\",\n errorMsg: \"Bir hata meydana geldi\",\n successMsg: \"\",\n confirmText: \"\",\n resetItems: false,\n redirectUrl: null,\n },\n defaultKeys: [\n {\n key: \"valueMasked\",\n defaultVal: \"\",\n },\n {\n key: \"sabmitValueMask\",\n defaultVal: false,\n },\n {\n key: \"mask\",\n defaultVal: false,\n },\n {\n key: \"maskRaw\",\n defaultVal: true,\n },\n {\n key: \"disabled\",\n defaultVal: false,\n },\n {\n key: \"show\",\n defaultVal: true,\n },\n {\n key: \"col\",\n defaultVal: 12,\n },\n {\n key: \"colStyle\",\n defaultVal: \"\",\n },\n {\n key: \"style\",\n defaultVal: \"\",\n },\n {\n key: \"maxWidth\",\n defaultVal: \"100%\",\n },\n {\n key: \"type\",\n defaultVal: \"input\",\n },\n {\n key: \"value\",\n defaultVal: \"\",\n },\n // {\n // key: 'rules',\n // defaultVal: []\n // },\n {\n key: \"errors\",\n defaultVal: [],\n },\n {\n key: \"placeholder\",\n defaultVal: \"\",\n },\n {\n key: \"showCustomError\",\n defaultVal: false,\n },\n ],\n };\n },\n computed: {\n currentMask() {\n return (item) => {\n return typeof item.mask === \"function\" ? item.mask(item) : item.mask;\n };\n },\n },\n methods: {\n deepClone: (obj) => {\n if (obj === null || typeof obj !== \"object\") {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) => deepClone(item));\n }\n\n const clone = {};\n for (let key in obj) {\n if (typeof obj[key] === \"object\" || typeof obj[key] === \"function\") {\n clone[key] = deepClone(obj[key]);\n } else {\n clone[key] = obj[key];\n }\n }\n return clone;\n },\n getComboboxItems(formItem) {\n // v-combobox için string array'e çevir\n if (formItem.options.items && Array.isArray(formItem.options.items)) {\n return formItem.options.items.map(item => {\n if (typeof item === 'string') {\n return item;\n } else if (typeof item === 'object' && item.text) {\n return item.text;\n } else if (typeof item === 'object' && item.value) {\n return item.value;\n }\n return String(item);\n });\n }\n return [];\n },\n addCustomValue(formItem) {\n // Custom değeri ekle\n if (formItem.searchText && formItem.searchText.trim()) {\n const customValue = formItem.searchText.trim();\n \n // Eğer multiple ise array'e ekle, değilse direkt ata\n if (formItem.options.multiple) {\n if (!formItem.value) formItem.value = [];\n if (!formItem.value.includes(customValue)) {\n formItem.value.push(customValue);\n }\n } else {\n formItem.value = customValue;\n }\n \n // Items listesine de ekle (tekrar eklenmemesi için)\n const items = this.getComboboxItems(formItem);\n if (!items.includes(customValue)) {\n formItem.options.items.push({\n text: customValue,\n value: customValue\n });\n }\n \n // Search text'i temizle\n formItem.searchText = '';\n \n // Change event'ini tetikle\n this.changeItem(formItem);\n }\n },\n // checkbox inputların tümünün seçilip seçilmediğini kontrol ediyor\n getMultipleToggleValue(formItem) {\n if (formItem.value) {\n return (\n formItem.value.length ===\n formItem.options.items.map((x) => x[formItem.options.value]).length\n );\n }\n },\n // checkbox inputların tümünün seçilmesini sağlıyor\n toggleAllOptions(formItem) {\n formItem.value = this.getMultipleToggleValue(formItem)\n ? []\n : formItem.options.items.map((x) => x[formItem.options.value]);\n this.$forceUpdate();\n },\n deleteButtonClick() {\n this.$emit(\"onDeleteClickEmit\", \"\");\n },\n async init(mode = \"create\", initOptions = null) {\n const self = this;\n\n await self.setFormSettings(mode);\n self.startInit = true;\n self.editMode = mode === \"update\";\n\n // groups\n // self.formItems = self.setDefaultKeys(self.items, mode); // ---> with reference\n\n const initItems = { ...self.items };\n // const initItems = JSON.parse(JSON.stringify(self.items))\n const handledItems = await self.setFormGroups(initItems, mode);\n self.formGroups = handledItems.initGroupArray;\n self.formItems = self.setDefaultKeys(handledItems.allItems, mode); // ---> without reference\n self.formItems = self.setFunctionKeys(self.formItems);\n self\n .setInitOptions(initOptions)\n .then(() => {\n // self.$refs['imgInput' + item.name][0].init()\n this.$forceUpdate();\n self.initSelectData(self.editMode);\n\n setTimeout(() => {\n self.isReady = true;\n });\n setTimeout(() => self.initComponents());\n setTimeout(() => {\n if (self.formPreviewSettings.show)\n self.$refs.form_preview.setItems(self.formItems);\n // if (initOptions.callback !== undefined && (typeof initOptions.callback === 'function')) initOptions.callback(self.formItems)\n });\n })\n .catch((err) => {\n console.error(\"setInitOptions error\", err);\n });\n },\n async setFormGroups(initItems, mode) {\n const self = this;\n\n const allItems = {};\n const initGroupArray = [];\n\n const defaultGroup = {\n title: \"\",\n previewType: \"default\",\n items: [],\n };\n\n Object.keys(initItems).forEach((itemKey, itemIndex) => {\n if (itemKey.includes(\"form_group\")) {\n const prevType = initItems[itemKey].previewType;\n const title = initItems[itemKey].title;\n const formGroupItems = initItems[itemKey].items;\n const obj = {\n title: title !== undefined ? title : \"\",\n previewType: prevType !== undefined ? prevType : \"default\",\n // items: Object.keys(initItems[itemKey].items).map(x => x)\n items: Object.keys(initItems[itemKey].items)\n .filter(\n (x) =>\n formGroupItems[x].onlyMode === undefined ||\n formGroupItems[x].onlyMode === mode\n )\n .map((x) => x),\n };\n\n initGroupArray.push(obj);\n\n Object.keys(initItems[itemKey].items).forEach((val) => {\n allItems[val] = initItems[itemKey].items[val];\n // if sub group on development\n });\n } else {\n if (\n initItems[itemKey].onlyMode === undefined ||\n initItems[itemKey].onlyMode === mode\n )\n defaultGroup.items.push(itemKey);\n allItems[itemKey] = initItems[itemKey];\n\n if (defaultGroup.items.length !== 0) {\n const nextElement = Object.keys(initItems)[itemIndex + 1];\n if (nextElement === undefined || nextElement.includes(\"form_group\")) {\n initGroupArray.push(JSON.parse(JSON.stringify(defaultGroup)));\n defaultGroup.items = [];\n }\n }\n }\n });\n\n return { initGroupArray, allItems };\n },\n async setFormSettings(formMode) {\n const self = this;\n const formSettingsObj =\n self.settings[formMode] !== undefined ? self.settings[formMode] : self.settings;\n const formPreviewSettingsObj =\n self.previewSettings[formMode] !== undefined\n ? self.previewSettings[formMode]\n : self.previewSettings;\n self.formSettings = Object.assign(self.formSettings, formSettingsObj);\n self.formPreviewSettings = Object.assign(\n self.formPreviewSettings,\n formPreviewSettingsObj\n );\n self.$forceUpdate();\n },\n async updateFormSettings(type = \"form\", key, value) {\n const self = this;\n // type = formSettings, formPreviewSettings\n const settingsType = type === \"preview\" ? \"formPreviewSettings\" : \"formSettings\";\n self[settingsType][key] = value;\n self.$forceUpdate();\n },\n initComponents() {\n const self = this;\n Object.keys(self.formItems).forEach((itemKey) => {\n const item = self.formItems[itemKey];\n if (item.type === \"image\") self.$refs[\"imgInput\" + item.name][0].init();\n });\n },\n setInitOptions(initOptions) {\n const self = this;\n return new Promise((resolve, reject) => {\n if (initOptions !== null) {\n if (initOptions.defaultValues !== undefined) {\n // TODO try to to aciton with setValues(initOptions.defaultValues) and remove code bellow if it's success\n Object.keys(initOptions.defaultValues).forEach((itemKey) => {\n const defaultItemVal = initOptions.defaultValues[itemKey];\n const formItem = self.formItems[itemKey];\n if (formItem !== undefined) {\n formItem.value = defaultItemVal;\n if (formItem.mask) formItem.valueMasked = defaultItemVal;\n if (formItem.type === \"date\") {\n // formItem.dateTextField = defaultItemVal;\n formItem.dateTextField = self.dateToString(defaultItemVal);\n }\n }\n });\n\n setTimeout(() => {\n resolve();\n });\n }\n if (initOptions.fetch !== undefined) {\n const params =\n initOptions.fetch.params !== undefined ? initOptions.fetch.params : \"\";\n self.$axios\n .post(self.$axios.defaults.baseURL + initOptions.fetch.endpoint, params)\n .then((res) => {\n const result = res.data.data;\n const data = Array.isArray(result) ? result[0] : result;\n if (initOptions.setByKey !== undefined) {\n // country id null ise (daha önce ülke bölge seçilmediyse)\n if (data.countryId === null) {\n initOptions.setByKey.country = \"1\";\n }\n Object.keys(initOptions.setByKey).forEach((key) => {\n const addKeyVal = initOptions.setByKey[key];\n const formItem = self.formItems[key];\n\n if (formItem !== undefined) {\n if (\n formItem.type === \"select-relation\" ||\n (formItem.type === \"select-data\" && formItem.options.multiple)\n ) {\n data[key] = (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.arrayValToStr)(data[addKeyVal]);\n } else {\n data[key] = data[addKeyVal];\n }\n }\n });\n }\n\n this.$forceUpdate();\n\n self.setValues(data);\n self.editData = self.setEditData(data, initOptions);\n setTimeout(() => resolve());\n });\n }\n } else {\n resolve();\n }\n });\n },\n setEditData(fetchData, initOptions) {\n const includeOnPost = initOptions.setByKey;\n let includeData = {};\n if (includeOnPost !== undefined) {\n Object.keys(includeOnPost).forEach((key) => {\n const includeItemKey = includeOnPost[key];\n includeData[key] = fetchData[includeItemKey];\n });\n }\n return includeData;\n },\n setValues(values) {\n const self = this;\n\n Object.keys(values).forEach((valueKey) => {\n const item = self.formItems[valueKey];\n const value = values[valueKey];\n if (item !== undefined) {\n item.value = value;\n if (item.mask) item.valueMasked = value;\n\n if (item.options.replaceVal !== undefined) {\n item.options.replaceVal.forEach((setting) => {\n if (value === setting.detect) item.value = setting.to;\n });\n }\n\n if (item.type !== \"select-relation\" && item.type !== \"select-data\") {\n item.valueText = item.value;\n }\n\n if (item.type === \"date\") {\n // item.dateTextField = item.value\n item.dateTextField = self.dateToString(item.value);\n }\n }\n });\n\n this.$forceUpdate();\n },\n initSelectData(isEdit = false) {\n const self = this;\n\n Object.keys(self.formItems).forEach((itemKey) => {\n const item = self.formItems[itemKey];\n let status = true;\n if (item.type === \"select-data\" || item.type === \"select-relation\") {\n let params = \"\";\n if (item.type === \"select-relation\") {\n if (!item.options.start && !isEdit) status = false;\n // if (isEdit && (item.value === null || item.value === '')) status = false;\n if (\n isEdit &&\n !item.options.start &&\n (item.value === null || item.value === \"\")\n )\n status = false;\n params = self.setParams(item, item.options.params);\n } else {\n params = item.options.params !== undefined ? item.options.params : \"\";\n }\n\n if (status)\n self.fetchSelectItems(item, item.options.endpoint, params, item.value);\n }\n });\n },\n reInitSelect(name, params = \"\", value = null) {\n const self = this;\n const item = self.formItems[name];\n if (item !== undefined)\n self.fetchSelectItems(item, item.options.endpoint, params, value);\n },\n async fetchSelectItems(\n item,\n endpoint = null,\n params = \"\",\n setValue = null,\n selectedValue = null\n ) {\n const self = this;\n\n item.loader = true;\n\n // self.$axios.post(self.$axios.defaults.baseURL + initOptions.fetch.endpoint, params)\n\n // TODO bilems de nerde kullanıldı?\n // findIdEndingKey(obj) {\n // for (let key in obj) {\n // if (key.endsWith('id')) {\n // return key;\n // }\n // }\n // return null;\n // },\n // if (currentId) {\n // let idEndingKey = self.findIdEndingKey(params);\n // params[idEndingKey] = currentId\n // }\n\n let url = endpoint !== null ? endpoint : item.options.endpoint;\n if (url) {\n if (url.includes(\"...\")) {\n const baseUrl = self.$axios.defaults.baseURL.split(\"/bildash\")[0];\n url = baseUrl + url.split(\"...\")[1];\n }\n }\n\n const res = await self.$axios.post(url, params);\n if (res.data.status) {\n item.options.disabled = false;\n // Eğer gelen selectbox içerikleri tek bir endpoint içinde toplandı ise key'ine göre items alanını dolduruyoruz.\n if (item.options.contentType === \"all\") {\n const allCategories = res.data.data;\n item.options.items = allCategories.find(\n (x) => x.type === item.options.contentKey\n ).children;\n } else {\n item.options.items =\n item.filterBY !== undefined\n ? res.data.data.filter((x) => x[item.filterBY.key] === item.filterBY.value)\n : res.data.data;\n }\n // if (setValue !== null || setValue !== \"\") self.setMultiSelectData(item, setValue);\n if (\n item.options.defaultOptions !== undefined &&\n Array.isArray(item.options.defaultOptions)\n ) {\n item.options.defaultOptions.forEach((val) => item.options.items.unshift(val));\n }\n if (item.type === \"select-relation\" || item.type === \"select-data\") {\n item.valueText = (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.getSelectText)(item);\n }\n\n item.loader = false;\n this.$forceUpdate();\n setTimeout(() => {\n self.$emit(\"onFetchSelect\", item, selectedValue);\n });\n }\n },\n updateElement(itemName, keyToChange, value) {\n const item = this.formItems[itemName];\n if (item) {\n const keys = keyToChange.split(\".\");\n let currentObj = item;\n\n for (let i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n if (!currentObj[key]) {\n currentObj[key] = {};\n }\n currentObj = currentObj[key];\n }\n\n const finalKey = keys[keys.length - 1];\n currentObj[finalKey] = value;\n\n this.$forceUpdate();\n } else {\n console.error(`Element couldn't be updated. No name key (${itemName}) available`);\n }\n },\n // setMultiSelectData(item, value) {\n // // ---> this function is about the multiselect-vue plugin. Not need anymore <---\n // if (item.value) {\n // if (item.value.includes('[') && item.value.includes(']')) {\n // // is array\n // const newArray = [];\n // JSON.parse(item.value).forEach(val => {\n // const findObj = item.options.items.find(x => x[item.options.value] === val);\n // if (findObj) newArray.push(findObj)\n // });\n //\n // item.options.model = newArray\n //\n // } else {\n // const findObj = item.options.items.find(x => x[item.options.value] === value);\n // item.options.model = findObj;\n // }\n // }\n // },\n setFunctionKeys(items) {\n const self = this;\n /*\n this function is need because on the preview functions we are using JSON.stringify\n After this the functions will be automatically null because stringify does not support functions\n */\n\n Object.keys(items).forEach((itemKey) => {\n const item = items[itemKey];\n const propsItem = self.items[itemKey];\n\n if (item.type === \"select-relation\" && propsItem !== undefined) {\n item.options.paramsCallback =\n propsItem.options.paramsCallback !== undefined\n ? propsItem.options.paramsCallback\n : null;\n }\n });\n\n return items;\n },\n setDefaultKeys(items, formMode) {\n const self = this;\n\n Object.keys(items).forEach((itemKey) => {\n const item = items[itemKey];\n\n if (item.valueText === undefined) item.valueText = \"\";\n\n if (item.onlyMode !== undefined && item.onlyMode !== formMode)\n delete items[itemKey];\n\n if (item.name === undefined) item.name = itemKey;\n\n if (item.nullable === undefined) item.nullable = true;\n\n self.defaultKeys.forEach((val) => {\n if (item[val.key] === undefined) item[val.key] = val.defaultVal;\n });\n\n if (item.rules === undefined) item.rules = [];\n\n if (item.required) item.rules.push((v) => !!v || \"Bu alan zorunludur!\");\n\n if (item.min !== undefined) {\n item.rules.push(\n (v) =>\n (v && v.length >= item.min) ||\n \"Bu alan minimum \" + item.min + \" karakter olabilir.\"\n );\n }\n\n if (item.max !== undefined) {\n item.rules.push(\n (v) =>\n (v || \"\").length <= item.max ||\n \"Bu alan maksimum \" + item.max + \" karakter olabilir.\"\n );\n }\n\n if (item.type === \"select\") {\n if (item.callback === undefined) item.callback = null;\n if (item.options.label === undefined) item.options.label = \"text\";\n if (item.options.value === undefined) item.options.value = \"value\";\n if (item.options.allowCustom === undefined) item.options.allowCustom = false;\n }\n\n // if (item.type === 'multiselect') {\n // if (item.callback === undefined) item.callback = null;\n // if (item.options.disabled === undefined) item.options.disabled = true;\n // if (item.options.addDynamic === undefined) item.options.addDynamic = null;\n // item.loader = true;\n // item.options.items = [];\n // item.options.model = null\n // }\n\n if (item.type === \"select-data\") {\n if (item.callback === undefined) item.callback = null;\n if (item.options.multiple === undefined) item.options.multiple = false;\n item.loader = true;\n item.options.items = [];\n // item.valueText = ''\n }\n\n if (item.type === \"select-relation\") {\n item.loader = false;\n item.options.items = [];\n if (item.options.start === undefined) item.options.start = false;\n if (item.options.target === undefined)\n item.options.target = { reset: [], activate: [] };\n if (item.options.disabled === undefined) item.options.disabled = true;\n if (item.options.addDynamic === undefined) item.options.addDynamic = null;\n // item.valueText = ''\n // if(!item.options.start) item.disabled = true\n // if (item.options.resetItems === undefined) item.options.resetItems = [];\n }\n\n if (item.type === \"date\" && item.dateMenu === undefined) item.dateMenu = false;\n if (item.type === \"date\" && item.dateTextField === undefined)\n item.dateTextField = \"\";\n\n if (item.type === \"image\") item.defaultVal = null;\n\n if (item.options === undefined) item.options = {};\n });\n\n return items;\n },\n getFormValue() {\n const self = this;\n const obj = {};\n Object.keys(self.formItems).forEach((itemKey) => {\n const item = self.formItems[itemKey];\n obj[item.name] = item.value;\n });\n return obj;\n },\n cleanSpaces(value) {\n return value.replace(/\\s+/g, \"\");\n },\n // form gönderilidiğinde çalışır\n async onSubmit() {\n const self = this;\n const result = self.checkForm();\n\n if (result.status) {\n // success\n // axios post\n\n const obj = self.editMode ? Object.assign(self.editData, result.obj) : result.obj;\n const text = self.editMode\n ? self.formSettings.module +\n \" güncellenecek, güncellemek istediğinize emin misiniz?\"\n : self.formSettings.module + \" eklenecek, eklemek istediğinize emin misiniz?\";\n\n let endpoint = \"\";\n\n if (typeof self.endpoint === \"object\") {\n endpoint = self.editMode ? self.endpoint.update : self.endpoint.create;\n } else if (typeof self.endpoint === \"string\") {\n endpoint = self.endpoint;\n }\n\n // const finalObj = {};\n // Object.keys(obj).forEach(itemKey => {\n // const item = self.formItems[itemKey];\n // if (item === undefined) return;\n // if (item.value === '' && item.nullable) return;\n // finalObj[itemKey] = obj[itemKey];\n // });\n Object.keys(obj).forEach((objKey) => {\n if (obj[objKey] === \"\") {\n obj[objKey] = null;\n }\n });\n let finalObj = obj;\n if (self.formSettings.postMode === \"formData\") {\n const formData = new FormData();\n Object.keys(obj).forEach((itemKey) => {\n if (obj[itemKey]) {\n formData.append(itemKey, obj[itemKey]);\n }\n });\n\n finalObj = formData;\n }\n\n if (self.formSettings.confirmOnSave) {\n const confirmText =\n self.formSettings.confirmText !== \"\" ? self.formSettings.confirmText : text;\n\n self.$refs[\"form_swal\"].confirm({\n onConfirm: async () => {\n await self.handleSave(endpoint, finalObj);\n },\n title: \"Emin misiniz?\",\n text: confirmText,\n });\n // await self.$store.dispatch('swall/setSwall', {\n // type: 'confirm',\n // options: {\n // onConfirm: async () => {\n // await self.handleSave(endpoint, finalObj)\n // },\n // title: 'Emin misiniz?',\n // text: confirmText,\n // }\n // })\n } else {\n await self.handleSave(endpoint, finalObj);\n }\n }\n },\n async handleSave(endpoint, params) {\n const self = this;\n self.loader = true;\n\n // errorMsg: '',\n // successMsg: '',\n try {\n const copyParams = params ? JSON.parse(JSON.stringify(params)) : {};\n const { data, status, message } = await self.$axios.$post(endpoint, params);\n if (status) {\n self.loader = false;\n if (self.formSettings.resetItems) {\n let items = Object.values(self.formItems);\n items.forEach((item, key) => {\n item.value = null;\n item.valueText = null;\n });\n }\n const successText = self.editMode\n ? self.formSettings.module + \" güncellendi.\"\n : self.formSettings.module + \" eklendi.\";\n if (self.formSettings.redirectUrl !== null) {\n self.$refs[\"form_swal\"].close();\n setTimeout(async () => {\n // await self.$router.push(self.formSettings.redirectUrl)\n const routeObj = {\n path: self.formSettings.redirectUrl,\n };\n if (self.formSettings.setQuery !== undefined)\n routeObj.query = self.formSettings.setQuery;\n await self.$router.push(routeObj);\n }, 300);\n } else {\n self.$refs[\"form_swal\"].success({\n title: \"İşlem tamamlandı!\",\n text: successText,\n });\n // await self.$store.dispatch('swall/setSwall', {\n // type: 'success',\n // options: {\n // title: 'İşlem tamamlandı!',\n // text: successText\n // }\n // })\n if (self.formSettings.resetItems) self.onReset();\n }\n // TODO handle if resData and bodyParams are type of FormData\n self.$emit(\"onSuccess\", {\n formItems: self.formItems,\n resData: data,\n bodyPrams: copyParams,\n });\n } else {\n self.loader = false;\n throw { message };\n }\n } catch (e) {\n const errText = e.message !== undefined ? e.message : self.formSettings.errorMsg;\n self.$refs[\"form_swal\"].error({\n title: \"Hata!\",\n text: errText,\n });\n // await self.$store.dispatch('swall/setSwall', {\n // type: 'error',\n // options: {\n // title: 'Hata!',\n // text: errText\n // }\n // })\n self.$emit(\"onError\");\n }\n },\n resetItems() {\n this.onReset();\n },\n // form elementlerini resetler\n onReset() {\n const self = this;\n\n Object.keys(self.formItems).forEach((itemKey) => {\n const item = self.formItems[itemKey];\n item.value = \"\";\n item.valueText = \"\";\n item.errors = [];\n if (item.mask) item.valueMasked = \"\";\n if (item.type === \"multiselect\") item.options.model = null;\n if (item.type === \"select-relation\") {\n if (!item.options.start) item.options.items = [];\n // item.options.model = null\n }\n });\n self.$refs.ref_form.resetValidation();\n\n if (self.$refs.form_preview) self.$refs.form_preview.setItems(self.formItems);\n\n self.$emit(\"resetAfter\");\n self.$forceUpdate();\n },\n validateRule(value, rules) {\n for (const rule of rules) {\n const validationResult = rule(value);\n if (validationResult !== true) {\n return { status: false, message: validationResult };\n }\n }\n return { status: true, message: \"\" };\n },\n checkForm() {\n const self = this;\n let status = self.$refs.ref_form.validate();\n const obj = {};\n\n Object.keys(self.formItems).forEach((itemKey) => {\n const item = self.formItems[itemKey];\n\n\n // image alanları için required kontrolü\n if (item.type === \"image\" && item.required) {\n if (!item.value) {\n item.errors = [{ msg: \"Bu alan zorunludur!\" }];\n status = false;\n } else {\n item.errors = [];\n }\n }\n\n // if (item.mask) {\n // //değere ait boşlukları sil, eğer değer null değilse\n // self.formItems[itemKey].value = this.cleanSpaces(self.formItems[itemKey].value);\n // self.formItems[itemKey].valueText = this.cleanSpaces(self.formItems[itemKey].valueText);\n // }\n\n if (item.mask) {\n const val = typeof item.value === \"string\" ? item.value.trim() : item.value;\n const err = [];\n if (item.required && !val) err.push(\"Bu alan zorunludur!\");\n const rulesValidation = self.validateRule(val, item.rules);\n if (!rulesValidation.status) err.push(rulesValidation.message);\n if (err.length > 0) status = false;\n item.errors = err;\n }\n\n if (item.type === \"custom\") {\n let checkStatus = self.checkCustomErrors(item);\n if (!checkStatus) status = false;\n }\n\n if (item.submitExclude) return;\n obj[item.name] = Array.isArray(item.value)\n ? JSON.stringify(item.value).replace(/\"/g, \"\")\n : item.value;\n });\n\n this.$forceUpdate();\n\n return {\n status: status,\n obj: obj,\n };\n },\n // maskelenmiş değeri maskelenmemiş hale çevirmek ve o şekilde göndermek için kullanılıyor.\n changeMaskedItem(maskedValue, item) {\n const self = this;\n const { mask, maskRaw } = item;\n\n const rawValue = maskedValue.replace(/\\D/g, \"\");\n item.value = maskRaw ? rawValue : maskedValue;\n self.$forceUpdate();\n // item.valueMasked = item\n self.changeItem(item);\n },\n // valueText değerini değişen değere eşitlemek için kullanılıyor.//\n // valueText değeri text olmayan bir değerin text karşılığına verdiğimiz değer oluyor. Örneğin value değeri '0' olan bir datanın value textDeğeri 'yapılmadı' olabilir //\n // onSingleSelect adında bir emiti çalıştırıyor. Bu emit değişen item değerini döndürüyor.\n changeItem(item, event) {\n const self = this;\n // if (item.rules !== null) self.checkCustomErrors(item);\n if (item.options.replaceVal !== undefined) {\n item.options.replaceVal.forEach((setting) => {\n if (item.value === setting.detect) {\n item.value = setting.to;\n }\n });\n }\n\n if (item.type === \"select-relation\" || item.type === \"select-data\") {\n item.valueText = (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.getSelectText)(item);\n } else {\n item.valueText = item.value;\n }\n\n if (item.type === \"select-relation\") self.selectDataChange(item);\n self.$emit(\"onSingleSelect\", item, self.formItems);\n self.$forceUpdate();\n if (self.formPreviewSettings.show) {\n self.$refs.form_preview.setItems(self.formItems);\n }\n },\n checkCustomErrors(item) {\n const self = this;\n const errors = [];\n\n Object.keys(item).forEach((itenKey) => {\n const findCheckValue = item[itenKey]; // required, min, max etc.\n let value = item.value;\n\n if (value === null || value === undefined) value = \"\";\n\n if (Array.isArray(value)) {\n if (value.length === 0) value = \"\";\n } else {\n value = item.type === \"image\" ? value : value.trim();\n }\n\n switch (itenKey) {\n case \"required\":\n if (findCheckValue && value === \"\") {\n errors.push({\n show: true,\n key: \"thisFieldRequired\",\n msg: \"Bu alan zorunludur!\",\n val: \"\",\n });\n }\n break;\n case \"max\":\n if (value.length > findCheckValue) {\n errors.push({\n show: true,\n key: \"maxDynamic\",\n msg: `Bu alan maksimum ${findCheckValue} karakter olabilir.`,\n val: findCheckValue,\n });\n }\n break;\n case \"min\":\n if (value.length < findCheckValue) {\n errors.push({\n show: true,\n key: \"minDynamic\",\n msg: `Bu alan minimum ${findCheckValue} karakter olabilir.`,\n val: findCheckValue,\n });\n }\n break;\n case \"custom\":\n // TODO custom\n // if (!findCheckValue.func(value)) {\n // errors.push({\n // show: true,\n // msg: ruleValue.msg,\n // val: ruleValue\n // })\n // }\n\n break;\n default:\n // code block\n }\n });\n\n self.formItems[item.name].errors = errors;\n\n return !errors.length > 0;\n },\n selectDataChange(formItem) {\n // formItem.value = val !== null ? val[formItem.options.value] : null;\n //\n // if (formItem.multiple !== undefined && (formItem.multiple)) {\n // const multiVal = [];\n // val.forEach(item => {\n // multiVal.push(item[formItem.options.value])\n // });\n // formItem.value = JSON.stringify(multiVal);\n // }\n if (formItem.type === \"select-relation\") this.changeRelationSelect(formItem);\n this.$forceUpdate();\n this.$emit(\"onSelect\", formItem, this.formItems);\n },\n changeRelationSelect(formItem) {\n const self = this;\n\n const targetOptions = formItem.options.target;\n const selectedValue = formItem.value;\n\n targetOptions.reset.forEach((itemKey) => {\n const item = self.formItems[itemKey];\n if (item === undefined) {\n console.warn(\"warning: no target reset item on form items like -> \", itemKey);\n return;\n }\n item.value = \"\";\n item.options.items = [];\n if (item.options.withoutDisable !== undefined && item.options.withoutDisable) {\n item.options.disabled = false;\n } else {\n item.options.disabled = true;\n }\n });\n\n if (formItem.value !== \"\" && formItem.value !== null) {\n targetOptions.activate.forEach((itemKey) => {\n const item = self.formItems[itemKey];\n if (item === undefined) {\n console.warn(\n \"warning: no target activate item on form items like -> \",\n itemKey\n );\n return;\n }\n \n const params = self.setParams(item, item.options.params);\n \n self.fetchSelectItems(item, item.options.endpoint, params, null, selectedValue);\n });\n }\n },\n setParams(item, params) {\n const self = this;\n\n if (params === undefined) return \"\";\n\n let obj = {};\n\n Object.keys(params).forEach((val) => {\n const paramItem = params[val];\n if (params[val] !== null) {\n const findItem = self.formItems[paramItem];\n const itemVal = findItem ? findItem.value : null;\n obj[val] = itemVal;\n } else {\n obj[val] = null;\n }\n });\n\n if (\n item.options.paramsCallback !== null &&\n typeof item.options.paramsCallback === \"function\"\n ) {\n obj = item.options.paramsCallback(obj);\n }\n\n return obj;\n },\n // submitDynamicSelect(formItem) {\n // const self = this;\n // const refName = 'multiselect_' + formItem.name;\n // const val = self.$refs[refName][0].search;\n // const options = formItem.options.addDynamic;\n // const param = options.params !== undefined ? {[options.params]: val} : val;\n // self.$swal({\n // title: 'Emin misiniz?',\n // text: options.module + \" eklenecek, eklemek istediğinize emin misiniz?\",\n // type: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#1dc722',\n // cancelButtonColor: '#d33',\n // confirmButtonText: 'Evet, ekle!',\n // cancelButtonText: 'Vazgeç'\n // }).then((result) => {\n // if (result.value) {\n // self.$axios.$post(this.$axios.defaults.baseURL + options.endpoint, param)\n // .then((data) => {\n // if (data.status) {\n // self.$swal('İşlem tamamlandı!', options.module + ' eklendi.', 'success')\n // let params\n // if (formItem.type === 'select-relation') {\n // params = self.setParams(formItem, formItem.options.params);\n // } else {\n // params = formItem.options.params !== undefined ? formItem.options.params : '';\n // }\n // self.fetchSelectItems(formItem, formItem.options.endpoint, params, formItem.value);\n // } else {\n // self.$swal('Hata!', '' + data.message + '', 'error');\n // }\n // })\n // .catch(err => {\n // self.$swal('Hata!', 'Bir hata meydana geldi', 'error')\n // })\n // }\n // })\n // },\n\n // bilgisayardan seçilen dosyanın inputa set edilmesini sağlıyor.\n // emit ismi: setFileVal, emit değeri: bilgisayardan seçilen dosya\n setFileVal(data) {\n this.formItems[data.name].value = data.file;\n this.$forceUpdate();\n this.$emit(\"setFileVal\", {\n file: data.file,\n });\n },\n autocompleteFilter(formItem, item, queryText, itemText) {\n let textOne;\n if (!isNaN(item[formItem.options.label])) {\n textOne = JSON.stringify(item[formItem.options.label]);\n } else {\n if (\n formItem.options.type === \"mergeInput\" ||\n Array.isArray(formItem.options.label)\n ) {\n for (let i = 0; i <= formItem.options.label.length; i++) {\n if (item[formItem.options.label[i]] !== undefined) {\n textOne += \" \" + item[formItem.options.label[i]].toLocaleLowerCase(\"tr-TR\");\n }\n }\n } else {\n textOne = item[formItem.options.label].toLocaleLowerCase(\"tr-TR\");\n }\n }\n const searchText = queryText.toLocaleLowerCase(\"tr-TR\");\n return textOne.indexOf(searchText) > -1;\n },\n // seçilen input değerinin sonuna backend tarafından gelen 'mergeLabel' değrini eklemek için kullanılıyor.\n setItemText(item, formItem) {\n const formText = formItem.options.label;\n const mergeText = formItem.options.mergeLabel;\n if (Array.isArray(formText)) {\n let str = \"\";\n formText.forEach((val) => {\n str += item[val] !== undefined ? item[val] + \" \" : val + \" \";\n });\n return str.trim();\n } else {\n return mergeText ? item[formText] + \" \" + item[mergeText] : item[formText];\n }\n },\n // date input elementinde girilen tarih değerinin input üzerinde de değişmesini sağlar.\n // girilen değeri kullanıcıya \"DD-MM-YYYY\" formatında gösterir fakat bu değeri gönderirken \"YYYY-MM-DD\" formatında gönderir.\n parseDate(formItem, isPicker = false) {\n const self = this;\n if (isPicker) {\n formItem.dateMenu = false;\n // formItem.dateTextField = formItem.value\n formItem.dateTextField = self.dateToString(formItem.value);\n self.$forceUpdate();\n } else {\n const regex = /\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$/g;\n // const textField = formItem.dateTextField\n const textField = self.stringToDate(formItem.dateTextField);\n\n if (regex.test(textField)) {\n formItem.value = textField;\n } else {\n formItem.dateTextField = \"\";\n }\n }\n this.changeItem(formItem);\n this.$forceUpdate();\n },\n // date input elementinde \"YYYY-MM-DD\" olan formatı \"DD-MM-YYYY\" şeklinde değiştirir.\n dateToString(date) {\n try {\n const [year, month, day] = date.split(\"-\");\n return `${day}-${month}-${year}`;\n } catch (e) {\n return date;\n }\n },\n // date input elementinde \"DD-MM-YYYY\" olan formatı \"YYYY-MM-DD\" şeklinde değiştirir.\n stringToDate(stringDate) {\n try {\n const [day, month, year] = stringDate.split(\"-\");\n return `${year}-${month.padStart(2, \"0\")}-${day.padStart(2, \"0\")}`;\n } catch (e) {\n return stringDate;\n }\n },\n },\n});\n\n\n//# sourceURL=webpack://@bilfenyazilimekibi/bilpack/./src/components/bf-form/index.vue?./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options");
|
|
338
|
+
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 _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/bf-form/helpers.js\");\n/* harmony import */ var _components_form_image__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/form-image */ \"./src/components/bf-form/components/form-image.vue\");\n/* harmony import */ var _components_preview_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/preview/index */ \"./src/components/bf-form/components/preview/index.vue\");\n\n\n\n\n// import { vMaska } from \"maska\"\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: \"bf-form\",\n props: {\n selectedFileName: {\n default: \"\",\n },\n deleteButton: {\n default: false,\n },\n saveButton: {\n default: true,\n },\n customClass: {\n default: \"\",\n },\n previewSettings: {\n default: () => {\n return {};\n },\n },\n formButtonContent: {\n default: () => {\n return {\n title: \"Kaydet\",\n hasIcon: false,\n iconTitle: {\n default: \"\",\n },\n };\n },\n },\n formDeleteButtonContent: {\n default: () => {\n return {\n title: \"Sil\",\n hasIcon: false,\n iconTitle: {\n default: \"\",\n },\n };\n },\n },\n settings: {\n default: {},\n },\n items: {\n default: {},\n },\n endpoint: {\n default: \"\",\n },\n editOptions: {\n default: null,\n },\n showSubmit: {\n default: true,\n },\n hasCustomSubmitSlot: {\n default: false,\n },\n },\n components: {\n imageInput: _components_form_image__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n preview: _components_preview_index__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n },\n // directives: { maska: vMaska },\n data() {\n return {\n formGroups: [],\n formItems: {},\n formIsValid: false,\n startInit: false,\n editMode: false,\n loader: false,\n editForm: null,\n show: true,\n isReady: false,\n blankUrl: \"\",\n editData: {},\n maskPhone: \"(###) ### ## ##\",\n formPreviewSettings: {\n show: true,\n customize: false,\n submitText: \"Kaydet\",\n },\n\n formSettings: {\n title: \"\",\n module: \"\",\n confirmOnSave: false,\n postMode: \"object\",\n errorMsg: \"Bir hata meydana geldi\",\n successMsg: \"\",\n confirmText: \"\",\n resetItems: false,\n redirectUrl: null,\n },\n defaultKeys: [\n {\n key: \"valueMasked\",\n defaultVal: \"\",\n },\n {\n key: \"sabmitValueMask\",\n defaultVal: false,\n },\n {\n key: \"mask\",\n defaultVal: false,\n },\n {\n key: \"maskRaw\",\n defaultVal: true,\n },\n {\n key: \"disabled\",\n defaultVal: false,\n },\n {\n key: \"show\",\n defaultVal: true,\n },\n {\n key: \"col\",\n defaultVal: 12,\n },\n {\n key: \"colStyle\",\n defaultVal: \"\",\n },\n {\n key: \"style\",\n defaultVal: \"\",\n },\n {\n key: \"maxWidth\",\n defaultVal: \"100%\",\n },\n {\n key: \"type\",\n defaultVal: \"input\",\n },\n {\n key: \"value\",\n defaultVal: \"\",\n },\n // {\n // key: 'rules',\n // defaultVal: []\n // },\n {\n key: \"errors\",\n defaultVal: [],\n },\n {\n key: \"placeholder\",\n defaultVal: \"\",\n },\n {\n key: \"showCustomError\",\n defaultVal: false,\n },\n ],\n };\n },\n computed: {\n currentMask() {\n return (item) => {\n return typeof item.mask === \"function\" ? item.mask(item) : item.mask;\n };\n },\n },\n methods: {\n deepClone: (obj) => {\n if (obj === null || typeof obj !== \"object\") {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) => deepClone(item));\n }\n\n const clone = {};\n for (let key in obj) {\n if (typeof obj[key] === \"object\" || typeof obj[key] === \"function\") {\n clone[key] = deepClone(obj[key]);\n } else {\n clone[key] = obj[key];\n }\n }\n return clone;\n },\n getComboboxItems(formItem) {\n // v-combobox için string array'e çevir\n if (formItem.options.items && Array.isArray(formItem.options.items)) {\n return formItem.options.items.map((item) => {\n if (typeof item === \"string\") {\n return item;\n } else if (typeof item === \"object\" && item.text) {\n return item.text;\n } else if (typeof item === \"object\" && item.value) {\n return item.value;\n }\n return String(item);\n });\n }\n return [];\n },\n addCustomValue(formItem) {\n // Custom değeri ekle\n if (formItem.searchText && formItem.searchText.trim()) {\n const customValue = formItem.searchText.trim();\n\n // Eğer multiple ise array'e ekle, değilse direkt ata\n if (formItem.options.multiple) {\n if (!formItem.value) formItem.value = [];\n if (!formItem.value.includes(customValue)) {\n formItem.value.push(customValue);\n }\n } else {\n formItem.value = customValue;\n }\n\n // Items listesine de ekle (tekrar eklenmemesi için)\n const items = this.getComboboxItems(formItem);\n if (!items.includes(customValue)) {\n formItem.options.items.push({\n text: customValue,\n value: customValue,\n });\n }\n\n // Search text'i temizle\n formItem.searchText = \"\";\n\n // Change event'ini tetikle\n this.changeItem(formItem);\n }\n },\n // checkbox inputların tümünün seçilip seçilmediğini kontrol ediyor\n getMultipleToggleValue(formItem) {\n if (formItem.value) {\n return (\n formItem.value.length ===\n formItem.options.items.map((x) => x[formItem.options.value]).length\n );\n }\n },\n // checkbox inputların tümünün seçilmesini sağlıyor\n toggleAllOptions(formItem) {\n formItem.value = this.getMultipleToggleValue(formItem)\n ? []\n : formItem.options.items.map((x) => x[formItem.options.value]);\n this.$forceUpdate();\n },\n deleteButtonClick() {\n this.$emit(\"onDeleteClickEmit\", \"\");\n },\n async init(mode = \"create\", initOptions = null) {\n const self = this;\n\n await self.setFormSettings(mode);\n self.startInit = true;\n self.editMode = mode === \"update\";\n\n // groups\n // self.formItems = self.setDefaultKeys(self.items, mode); // ---> with reference\n\n const initItems = { ...self.items };\n // const initItems = JSON.parse(JSON.stringify(self.items))\n const handledItems = await self.setFormGroups(initItems, mode);\n self.formGroups = handledItems.initGroupArray;\n self.formItems = self.setDefaultKeys(handledItems.allItems, mode); // ---> without reference\n self.formItems = self.setFunctionKeys(self.formItems);\n self\n .setInitOptions(initOptions)\n .then(() => {\n // self.$refs['imgInput' + item.name][0].init()\n this.$forceUpdate();\n self.initSelectData(self.editMode);\n\n setTimeout(() => {\n self.isReady = true;\n });\n setTimeout(() => self.initComponents());\n setTimeout(() => {\n if (self.formPreviewSettings.show)\n self.$refs.form_preview.setItems(self.formItems);\n // if (initOptions.callback !== undefined && (typeof initOptions.callback === 'function')) initOptions.callback(self.formItems)\n });\n })\n .catch((err) => {\n console.error(\"setInitOptions error\", err);\n });\n },\n async setFormGroups(initItems, mode) {\n const self = this;\n\n const allItems = {};\n const initGroupArray = [];\n\n const defaultGroup = {\n title: \"\",\n previewType: \"default\",\n items: [],\n };\n\n Object.keys(initItems).forEach((itemKey, itemIndex) => {\n if (itemKey.includes(\"form_group\")) {\n const prevType = initItems[itemKey].previewType;\n const title = initItems[itemKey].title;\n const formGroupItems = initItems[itemKey].items;\n const obj = {\n title: title !== undefined ? title : \"\",\n previewType: prevType !== undefined ? prevType : \"default\",\n // items: Object.keys(initItems[itemKey].items).map(x => x)\n items: Object.keys(initItems[itemKey].items)\n .filter(\n (x) =>\n formGroupItems[x].onlyMode === undefined ||\n formGroupItems[x].onlyMode === mode\n )\n .map((x) => x),\n };\n\n initGroupArray.push(obj);\n\n Object.keys(initItems[itemKey].items).forEach((val) => {\n allItems[val] = initItems[itemKey].items[val];\n // if sub group on development\n });\n } else {\n if (\n initItems[itemKey].onlyMode === undefined ||\n initItems[itemKey].onlyMode === mode\n )\n defaultGroup.items.push(itemKey);\n allItems[itemKey] = initItems[itemKey];\n\n if (defaultGroup.items.length !== 0) {\n const nextElement = Object.keys(initItems)[itemIndex + 1];\n if (\n nextElement === undefined ||\n nextElement.includes(\"form_group\")\n ) {\n initGroupArray.push(JSON.parse(JSON.stringify(defaultGroup)));\n defaultGroup.items = [];\n }\n }\n }\n });\n\n return { initGroupArray, allItems };\n },\n async setFormSettings(formMode) {\n const self = this;\n const formSettingsObj =\n self.settings[formMode] !== undefined\n ? self.settings[formMode]\n : self.settings;\n const formPreviewSettingsObj =\n self.previewSettings[formMode] !== undefined\n ? self.previewSettings[formMode]\n : self.previewSettings;\n self.formSettings = Object.assign(self.formSettings, formSettingsObj);\n self.formPreviewSettings = Object.assign(\n self.formPreviewSettings,\n formPreviewSettingsObj\n );\n self.$forceUpdate();\n },\n async updateFormSettings(type = \"form\", key, value) {\n const self = this;\n // type = formSettings, formPreviewSettings\n const settingsType =\n type === \"preview\" ? \"formPreviewSettings\" : \"formSettings\";\n self[settingsType][key] = value;\n self.$forceUpdate();\n },\n initComponents() {\n const self = this;\n Object.keys(self.formItems).forEach((itemKey) => {\n const item = self.formItems[itemKey];\n if (item.type === \"image\") self.$refs[\"imgInput\" + item.name][0].init();\n });\n },\n setInitOptions(initOptions) {\n const self = this;\n return new Promise((resolve, reject) => {\n if (initOptions !== null) {\n if (initOptions.defaultValues !== undefined) {\n // TODO try to to aciton with setValues(initOptions.defaultValues) and remove code bellow if it's success\n Object.keys(initOptions.defaultValues).forEach((itemKey) => {\n const defaultItemVal = initOptions.defaultValues[itemKey];\n const formItem = self.formItems[itemKey];\n if (formItem !== undefined) {\n formItem.value = defaultItemVal;\n if (formItem.mask) formItem.valueMasked = defaultItemVal;\n if (formItem.type === \"date\") {\n // formItem.dateTextField = defaultItemVal;\n formItem.dateTextField = self.dateToString(defaultItemVal);\n }\n }\n });\n\n setTimeout(() => {\n resolve();\n });\n }\n if (initOptions.fetch !== undefined) {\n const params =\n initOptions.fetch.params !== undefined\n ? initOptions.fetch.params\n : \"\";\n self.$axios\n .post(\n self.$axios.defaults.baseURL + initOptions.fetch.endpoint,\n params\n )\n .then((res) => {\n const result = res.data.data;\n const data = Array.isArray(result) ? result[0] : result;\n if (initOptions.setByKey !== undefined) {\n // country id null ise (daha önce ülke bölge seçilmediyse)\n if (data.countryId === null) {\n initOptions.setByKey.country = \"1\";\n }\n Object.keys(initOptions.setByKey).forEach((key) => {\n const addKeyVal = initOptions.setByKey[key];\n const formItem = self.formItems[key];\n\n if (formItem !== undefined) {\n if (\n formItem.type === \"select-relation\" ||\n (formItem.type === \"select-data\" &&\n formItem.options.multiple)\n ) {\n data[key] = (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.arrayValToStr)(data[addKeyVal]);\n } else {\n data[key] = data[addKeyVal];\n }\n }\n });\n }\n\n this.$forceUpdate();\n\n self.setValues(data);\n self.editData = self.setEditData(data, initOptions);\n setTimeout(() => resolve());\n });\n }\n } else {\n resolve();\n }\n });\n },\n setEditData(fetchData, initOptions) {\n const includeOnPost = initOptions.setByKey;\n let includeData = {};\n if (includeOnPost !== undefined) {\n Object.keys(includeOnPost).forEach((key) => {\n const includeItemKey = includeOnPost[key];\n includeData[key] = fetchData[includeItemKey];\n });\n }\n return includeData;\n },\n setValues(values) {\n const self = this;\n\n Object.keys(values).forEach((valueKey) => {\n const item = self.formItems[valueKey];\n const value = values[valueKey];\n if (item !== undefined) {\n item.value = value;\n if (item.mask) item.valueMasked = value;\n\n if (item.options.replaceVal !== undefined) {\n item.options.replaceVal.forEach((setting) => {\n if (value === setting.detect) item.value = setting.to;\n });\n }\n\n if (item.type !== \"select-relation\" && item.type !== \"select-data\") {\n item.valueText = item.value;\n }\n\n if (item.type === \"date\") {\n // item.dateTextField = item.value\n item.dateTextField = self.dateToString(item.value);\n }\n }\n });\n\n this.$forceUpdate();\n },\n initSelectData(isEdit = false) {\n const self = this;\n\n Object.keys(self.formItems).forEach((itemKey) => {\n const item = self.formItems[itemKey];\n let status = true;\n if (item.type === \"select-data\" || item.type === \"select-relation\") {\n let params = \"\";\n if (item.type === \"select-relation\") {\n if (!item.options.start && !isEdit) status = false;\n // if (isEdit && (item.value === null || item.value === '')) status = false;\n if (\n isEdit &&\n !item.options.start &&\n (item.value === null || item.value === \"\")\n )\n status = false;\n params = self.setParams(item, item.options.params);\n } else {\n params =\n item.options.params !== undefined ? item.options.params : \"\";\n }\n\n if (status)\n self.fetchSelectItems(\n item,\n item.options.endpoint,\n params,\n item.value\n );\n }\n });\n },\n reInitSelect(name, params = \"\", value = null) {\n const self = this;\n const item = self.formItems[name];\n if (item !== undefined)\n self.fetchSelectItems(item, item.options.endpoint, params, value);\n },\n async fetchSelectItems(\n item,\n endpoint = null,\n params = \"\",\n setValue = null,\n selectedValue = null\n ) {\n const self = this;\n\n item.loader = true;\n\n // self.$axios.post(self.$axios.defaults.baseURL + initOptions.fetch.endpoint, params)\n\n // TODO bilems de nerde kullanıldı?\n // findIdEndingKey(obj) {\n // for (let key in obj) {\n // if (key.endsWith('id')) {\n // return key;\n // }\n // }\n // return null;\n // },\n // if (currentId) {\n // let idEndingKey = self.findIdEndingKey(params);\n // params[idEndingKey] = currentId\n // }\n\n let url = endpoint !== null ? endpoint : item.options.endpoint;\n if (url) {\n if (url.includes(\"...\")) {\n const baseUrl = self.$axios.defaults.baseURL.split(\"/bildash\")[0];\n url = baseUrl + url.split(\"...\")[1];\n }\n }\n\n const res = await self.$axios.post(url, params);\n if (res.data.status) {\n item.options.disabled = false;\n // Eğer gelen selectbox içerikleri tek bir endpoint içinde toplandı ise key'ine göre items alanını dolduruyoruz.\n if (item.options.contentType === \"all\") {\n const allCategories = res.data.data;\n item.options.items = allCategories.find(\n (x) => x.type === item.options.contentKey\n ).children;\n } else {\n item.options.items =\n item.filterBY !== undefined\n ? res.data.data.filter(\n (x) => x[item.filterBY.key] === item.filterBY.value\n )\n : res.data.data;\n }\n // if (setValue !== null || setValue !== \"\") self.setMultiSelectData(item, setValue);\n if (\n item.options.defaultOptions !== undefined &&\n Array.isArray(item.options.defaultOptions)\n ) {\n item.options.defaultOptions.forEach((val) =>\n item.options.items.unshift(val)\n );\n }\n if (item.type === \"select-relation\" || item.type === \"select-data\") {\n item.valueText = (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.getSelectText)(item);\n }\n\n // Eğer sort değeri varsa sıralama yap\n if (item.options.sort) {\n self.applySortToItem(item);\n }\n\n item.loader = false;\n this.$forceUpdate();\n setTimeout(() => {\n self.$emit(\"onFetchSelect\", item, selectedValue);\n });\n }\n },\n updateElement(itemName, keyToChange, value) {\n const item = this.formItems[itemName];\n if (item) {\n const keys = keyToChange.split(\".\");\n let currentObj = item;\n\n for (let i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n if (!currentObj[key]) {\n currentObj[key] = {};\n }\n currentObj = currentObj[key];\n }\n\n const finalKey = keys[keys.length - 1];\n currentObj[finalKey] = value;\n\n this.$forceUpdate();\n } else {\n console.error(\n `Element couldn't be updated. No name key (${itemName}) available`\n );\n }\n },\n // setMultiSelectData(item, value) {\n // // ---> this function is about the multiselect-vue plugin. Not need anymore <---\n // if (item.value) {\n // if (item.value.includes('[') && item.value.includes(']')) {\n // // is array\n // const newArray = [];\n // JSON.parse(item.value).forEach(val => {\n // const findObj = item.options.items.find(x => x[item.options.value] === val);\n // if (findObj) newArray.push(findObj)\n // });\n //\n // item.options.model = newArray\n //\n // } else {\n // const findObj = item.options.items.find(x => x[item.options.value] === value);\n // item.options.model = findObj;\n // }\n // }\n // },\n setFunctionKeys(items) {\n const self = this;\n /*\n this function is need because on the preview functions we are using JSON.stringify\n After this the functions will be automatically null because stringify does not support functions\n */\n\n Object.keys(items).forEach((itemKey) => {\n const item = items[itemKey];\n const propsItem = self.items[itemKey];\n\n if (item.type === \"select-relation\" && propsItem !== undefined) {\n item.options.paramsCallback =\n propsItem.options.paramsCallback !== undefined\n ? propsItem.options.paramsCallback\n : null;\n }\n });\n\n return items;\n },\n setDefaultKeys(items, formMode) {\n const self = this;\n\n Object.keys(items).forEach((itemKey) => {\n const item = items[itemKey];\n\n if (item.valueText === undefined) item.valueText = \"\";\n\n if (item.onlyMode !== undefined && item.onlyMode !== formMode)\n delete items[itemKey];\n\n if (item.name === undefined) item.name = itemKey;\n\n if (item.nullable === undefined) item.nullable = true;\n\n self.defaultKeys.forEach((val) => {\n if (item[val.key] === undefined) item[val.key] = val.defaultVal;\n });\n\n if (item.rules === undefined) item.rules = [];\n\n if (item.required) item.rules.push((v) => !!v || \"Bu alan zorunludur!\");\n\n if (item.min !== undefined) {\n item.rules.push(\n (v) =>\n (v && v.length >= item.min) ||\n \"Bu alan minimum \" + item.min + \" karakter olabilir.\"\n );\n }\n\n if (item.max !== undefined) {\n item.rules.push(\n (v) =>\n (v || \"\").length <= item.max ||\n \"Bu alan maksimum \" + item.max + \" karakter olabilir.\"\n );\n }\n\n if (item.type === \"select\") {\n if (item.callback === undefined) item.callback = null;\n if (item.options.label === undefined) item.options.label = \"text\";\n if (item.options.value === undefined) item.options.value = \"value\";\n if (item.options.allowCustom === undefined)\n item.options.allowCustom = false;\n }\n\n // if (item.type === 'multiselect') {\n // if (item.callback === undefined) item.callback = null;\n // if (item.options.disabled === undefined) item.options.disabled = true;\n // if (item.options.addDynamic === undefined) item.options.addDynamic = null;\n // item.loader = true;\n // item.options.items = [];\n // item.options.model = null\n // }\n\n if (item.type === \"select-data\") {\n if (item.callback === undefined) item.callback = null;\n if (item.options.multiple === undefined)\n item.options.multiple = false;\n item.loader = true;\n item.options.items = [];\n // item.valueText = ''\n }\n\n if (item.type === \"select-relation\") {\n item.loader = false;\n item.options.items = [];\n if (item.options.start === undefined) item.options.start = false;\n if (item.options.target === undefined)\n item.options.target = { reset: [], activate: [] };\n if (item.options.disabled === undefined) item.options.disabled = true;\n if (item.options.addDynamic === undefined)\n item.options.addDynamic = null;\n // item.valueText = ''\n // if(!item.options.start) item.disabled = true\n // if (item.options.resetItems === undefined) item.options.resetItems = [];\n }\n\n if (item.type === \"date\" && item.dateMenu === undefined)\n item.dateMenu = false;\n if (item.type === \"date\" && item.dateTextField === undefined)\n item.dateTextField = \"\";\n\n if (item.type === \"image\") item.defaultVal = null;\n\n if (item.options === undefined) item.options = {};\n });\n\n return items;\n },\n getFormValue() {\n const self = this;\n const obj = {};\n Object.keys(self.formItems).forEach((itemKey) => {\n const item = self.formItems[itemKey];\n obj[item.name] = item.value;\n });\n return obj;\n },\n cleanSpaces(value) {\n return value.replace(/\\s+/g, \"\");\n },\n // form gönderilidiğinde çalışır\n async onSubmit() {\n const self = this;\n const result = self.checkForm();\n\n if (result.status) {\n // success\n // axios post\n\n const obj = self.editMode\n ? Object.assign(self.editData, result.obj)\n : result.obj;\n const text = self.editMode\n ? self.formSettings.module +\n \" güncellenecek, güncellemek istediğinize emin misiniz?\"\n : self.formSettings.module +\n \" eklenecek, eklemek istediğinize emin misiniz?\";\n\n let endpoint = \"\";\n\n if (typeof self.endpoint === \"object\") {\n endpoint = self.editMode\n ? self.endpoint.update\n : self.endpoint.create;\n } else if (typeof self.endpoint === \"string\") {\n endpoint = self.endpoint;\n }\n\n // const finalObj = {};\n // Object.keys(obj).forEach(itemKey => {\n // const item = self.formItems[itemKey];\n // if (item === undefined) return;\n // if (item.value === '' && item.nullable) return;\n // finalObj[itemKey] = obj[itemKey];\n // });\n Object.keys(obj).forEach((objKey) => {\n if (obj[objKey] === \"\") {\n obj[objKey] = null;\n }\n });\n let finalObj = obj;\n if (self.formSettings.postMode === \"formData\") {\n const formData = new FormData();\n Object.keys(obj).forEach((itemKey) => {\n if (obj[itemKey]) {\n formData.append(itemKey, obj[itemKey]);\n }\n });\n\n finalObj = formData;\n }\n\n if (self.formSettings.confirmOnSave) {\n const confirmText =\n self.formSettings.confirmText !== \"\"\n ? self.formSettings.confirmText\n : text;\n\n self.$refs[\"form_swal\"].confirm({\n onConfirm: async () => {\n await self.handleSave(endpoint, finalObj);\n },\n title: \"Emin misiniz?\",\n text: confirmText,\n });\n // await self.$store.dispatch('swall/setSwall', {\n // type: 'confirm',\n // options: {\n // onConfirm: async () => {\n // await self.handleSave(endpoint, finalObj)\n // },\n // title: 'Emin misiniz?',\n // text: confirmText,\n // }\n // })\n } else {\n await self.handleSave(endpoint, finalObj);\n }\n }\n },\n async handleSave(endpoint, params) {\n const self = this;\n self.loader = true;\n\n // errorMsg: '',\n // successMsg: '',\n try {\n const copyParams = params ? JSON.parse(JSON.stringify(params)) : {};\n const { data, status, message } = await self.$axios.$post(\n endpoint,\n params\n );\n if (status) {\n self.loader = false;\n if (self.formSettings.resetItems) {\n let items = Object.values(self.formItems);\n items.forEach((item, key) => {\n item.value = null;\n item.valueText = null;\n });\n }\n const successText = self.editMode\n ? self.formSettings.module + \" güncellendi.\"\n : self.formSettings.module + \" eklendi.\";\n if (self.formSettings.redirectUrl !== null) {\n self.$refs[\"form_swal\"].close();\n setTimeout(async () => {\n // await self.$router.push(self.formSettings.redirectUrl)\n const routeObj = {\n path: self.formSettings.redirectUrl,\n };\n if (self.formSettings.setQuery !== undefined)\n routeObj.query = self.formSettings.setQuery;\n await self.$router.push(routeObj);\n }, 300);\n } else {\n self.$refs[\"form_swal\"].success({\n title: \"İşlem tamamlandı!\",\n text: successText,\n });\n // await self.$store.dispatch('swall/setSwall', {\n // type: 'success',\n // options: {\n // title: 'İşlem tamamlandı!',\n // text: successText\n // }\n // })\n if (self.formSettings.resetItems) self.onReset();\n }\n // TODO handle if resData and bodyParams are type of FormData\n self.$emit(\"onSuccess\", {\n formItems: self.formItems,\n resData: data,\n bodyPrams: copyParams,\n });\n } else {\n self.loader = false;\n throw { message };\n }\n } catch (e) {\n const errText =\n e.message !== undefined ? e.message : self.formSettings.errorMsg;\n self.$refs[\"form_swal\"].error({\n title: \"Hata!\",\n text: errText,\n });\n // await self.$store.dispatch('swall/setSwall', {\n // type: 'error',\n // options: {\n // title: 'Hata!',\n // text: errText\n // }\n // })\n self.$emit(\"onError\");\n }\n },\n resetItems() {\n this.onReset();\n },\n // form elementlerini resetler\n onReset() {\n const self = this;\n\n Object.keys(self.formItems).forEach((itemKey) => {\n const item = self.formItems[itemKey];\n item.value = \"\";\n item.valueText = \"\";\n item.errors = [];\n if (item.mask) item.valueMasked = \"\";\n if (item.type === \"multiselect\") item.options.model = null;\n if (item.type === \"select-relation\") {\n if (!item.options.start) item.options.items = [];\n // item.options.model = null\n }\n });\n self.$refs.ref_form.resetValidation();\n\n if (self.$refs.form_preview)\n self.$refs.form_preview.setItems(self.formItems);\n\n self.$emit(\"resetAfter\");\n self.$forceUpdate();\n },\n validateRule(value, rules) {\n for (const rule of rules) {\n const validationResult = rule(value);\n if (validationResult !== true) {\n return { status: false, message: validationResult };\n }\n }\n return { status: true, message: \"\" };\n },\n checkForm() {\n const self = this;\n let status = self.$refs.ref_form.validate();\n const obj = {};\n\n Object.keys(self.formItems).forEach((itemKey) => {\n const item = self.formItems[itemKey];\n\n // image alanları için required kontrolü\n if (item.type === \"image\" && item.required) {\n if (!item.value) {\n item.errors = [{ msg: \"Bu alan zorunludur!\" }];\n status = false;\n } else {\n item.errors = [];\n }\n }\n\n // if (item.mask) {\n // //değere ait boşlukları sil, eğer değer null değilse\n // self.formItems[itemKey].value = this.cleanSpaces(self.formItems[itemKey].value);\n // self.formItems[itemKey].valueText = this.cleanSpaces(self.formItems[itemKey].valueText);\n // }\n\n if (item.mask) {\n const val =\n typeof item.value === \"string\" ? item.value.trim() : item.value;\n const err = [];\n if (item.required && !val) err.push(\"Bu alan zorunludur!\");\n const rulesValidation = self.validateRule(val, item.rules);\n if (!rulesValidation.status) err.push(rulesValidation.message);\n if (err.length > 0) status = false;\n item.errors = err;\n }\n\n if (item.type === \"custom\") {\n let checkStatus = self.checkCustomErrors(item);\n if (!checkStatus) status = false;\n }\n\n if (item.submitExclude) return;\n obj[item.name] = Array.isArray(item.value)\n ? JSON.stringify(item.value).replace(/\"/g, \"\")\n : item.value;\n });\n\n this.$forceUpdate();\n\n return {\n status: status,\n obj: obj,\n };\n },\n // maskelenmiş değeri maskelenmemiş hale çevirmek ve o şekilde göndermek için kullanılıyor.\n changeMaskedItem(maskedValue, item) {\n const self = this;\n const { mask, maskRaw } = item;\n\n const rawValue = maskedValue.replace(/\\D/g, \"\");\n item.value = maskRaw ? rawValue : maskedValue;\n self.$forceUpdate();\n // item.valueMasked = item\n self.changeItem(item);\n },\n // valueText değerini değişen değere eşitlemek için kullanılıyor.//\n // valueText değeri text olmayan bir değerin text karşılığına verdiğimiz değer oluyor. Örneğin value değeri '0' olan bir datanın value textDeğeri 'yapılmadı' olabilir //\n // onSingleSelect adında bir emiti çalıştırıyor. Bu emit değişen item değerini döndürüyor.\n changeItem(item, event) {\n const self = this;\n // if (item.rules !== null) self.checkCustomErrors(item);\n if (item.options.replaceVal !== undefined) {\n item.options.replaceVal.forEach((setting) => {\n if (item.value === setting.detect) {\n item.value = setting.to;\n }\n });\n }\n\n if (item.type === \"select-relation\" || item.type === \"select-data\") {\n item.valueText = (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.getSelectText)(item);\n } else {\n item.valueText = item.value;\n }\n\n if (item.type === \"select-relation\") self.selectDataChange(item);\n self.$emit(\"onSingleSelect\", item, self.formItems);\n self.$forceUpdate();\n if (self.formPreviewSettings.show) {\n self.$refs.form_preview.setItems(self.formItems);\n }\n },\n checkCustomErrors(item) {\n const self = this;\n const errors = [];\n\n Object.keys(item).forEach((itenKey) => {\n const findCheckValue = item[itenKey]; // required, min, max etc.\n let value = item.value;\n\n if (value === null || value === undefined) value = \"\";\n\n if (Array.isArray(value)) {\n if (value.length === 0) value = \"\";\n } else {\n value = item.type === \"image\" ? value : value.trim();\n }\n\n switch (itenKey) {\n case \"required\":\n if (findCheckValue && value === \"\") {\n errors.push({\n show: true,\n key: \"thisFieldRequired\",\n msg: \"Bu alan zorunludur!\",\n val: \"\",\n });\n }\n break;\n case \"max\":\n if (value.length > findCheckValue) {\n errors.push({\n show: true,\n key: \"maxDynamic\",\n msg: `Bu alan maksimum ${findCheckValue} karakter olabilir.`,\n val: findCheckValue,\n });\n }\n break;\n case \"min\":\n if (value.length < findCheckValue) {\n errors.push({\n show: true,\n key: \"minDynamic\",\n msg: `Bu alan minimum ${findCheckValue} karakter olabilir.`,\n val: findCheckValue,\n });\n }\n break;\n case \"custom\":\n // TODO custom\n // if (!findCheckValue.func(value)) {\n // errors.push({\n // show: true,\n // msg: ruleValue.msg,\n // val: ruleValue\n // })\n // }\n\n break;\n default:\n // code block\n }\n });\n\n self.formItems[item.name].errors = errors;\n\n return !errors.length > 0;\n },\n selectDataChange(formItem) {\n // formItem.value = val !== null ? val[formItem.options.value] : null;\n //\n // if (formItem.multiple !== undefined && (formItem.multiple)) {\n // const multiVal = [];\n // val.forEach(item => {\n // multiVal.push(item[formItem.options.value])\n // });\n // formItem.value = JSON.stringify(multiVal);\n // }\n if (formItem.type === \"select-relation\")\n this.changeRelationSelect(formItem);\n this.$forceUpdate();\n this.$emit(\"onSelect\", formItem, this.formItems);\n },\n changeRelationSelect(formItem) {\n const self = this;\n\n const targetOptions = formItem.options.target;\n const selectedValue = formItem.value;\n\n targetOptions.reset.forEach((itemKey) => {\n const item = self.formItems[itemKey];\n if (item === undefined) {\n console.warn(\n \"warning: no target reset item on form items like -> \",\n itemKey\n );\n return;\n }\n item.value = \"\";\n item.options.items = [];\n if (\n item.options.withoutDisable !== undefined &&\n item.options.withoutDisable\n ) {\n item.options.disabled = false;\n } else {\n item.options.disabled = true;\n }\n });\n\n if (formItem.value !== \"\" && formItem.value !== null) {\n targetOptions.activate.forEach((itemKey) => {\n const item = self.formItems[itemKey];\n if (item === undefined) {\n console.warn(\n \"warning: no target activate item on form items like -> \",\n itemKey\n );\n return;\n }\n\n const params = self.setParams(item, item.options.params);\n\n self.fetchSelectItems(\n item,\n item.options.endpoint,\n params,\n null,\n selectedValue\n );\n });\n }\n },\n setParams(item, params) {\n const self = this;\n\n if (params === undefined) return \"\";\n\n let obj = {};\n\n Object.keys(params).forEach((val) => {\n const paramItem = params[val];\n if (params[val] !== null) {\n const findItem = self.formItems[paramItem];\n const itemVal = findItem ? findItem.value : null;\n obj[val] = itemVal;\n } else {\n obj[val] = null;\n }\n });\n\n if (\n item.options.paramsCallback !== null &&\n typeof item.options.paramsCallback === \"function\"\n ) {\n obj = item.options.paramsCallback(obj);\n }\n\n return obj;\n },\n // submitDynamicSelect(formItem) {\n // const self = this;\n // const refName = 'multiselect_' + formItem.name;\n // const val = self.$refs[refName][0].search;\n // const options = formItem.options.addDynamic;\n // const param = options.params !== undefined ? {[options.params]: val} : val;\n // self.$swal({\n // title: 'Emin misiniz?',\n // text: options.module + \" eklenecek, eklemek istediğinize emin misiniz?\",\n // type: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#1dc722',\n // cancelButtonColor: '#d33',\n // confirmButtonText: 'Evet, ekle!',\n // cancelButtonText: 'Vazgeç'\n // }).then((result) => {\n // if (result.value) {\n // self.$axios.$post(this.$axios.defaults.baseURL + options.endpoint, param)\n // .then((data) => {\n // if (data.status) {\n // self.$swal('İşlem tamamlandı!', options.module + ' eklendi.', 'success')\n // let params\n // if (formItem.type === 'select-relation') {\n // params = self.setParams(formItem, formItem.options.params);\n // } else {\n // params = formItem.options.params !== undefined ? formItem.options.params : '';\n // }\n // self.fetchSelectItems(formItem, formItem.options.endpoint, params, formItem.value);\n // } else {\n // self.$swal('Hata!', '' + data.message + '', 'error');\n // }\n // })\n // .catch(err => {\n // self.$swal('Hata!', 'Bir hata meydana geldi', 'error')\n // })\n // }\n // })\n // },\n\n // bilgisayardan seçilen dosyanın inputa set edilmesini sağlıyor.\n // emit ismi: setFileVal, emit değeri: bilgisayardan seçilen dosya\n setFileVal(data) {\n this.formItems[data.name].value = data.file;\n this.$forceUpdate();\n this.$emit(\"setFileVal\", {\n file: data.file,\n });\n },\n autocompleteFilter(formItem, item, queryText, itemText) {\n let textOne;\n if (!isNaN(item[formItem.options.label])) {\n textOne = JSON.stringify(item[formItem.options.label]);\n } else {\n if (\n formItem.options.type === \"mergeInput\" ||\n Array.isArray(formItem.options.label)\n ) {\n for (let i = 0; i <= formItem.options.label.length; i++) {\n if (item[formItem.options.label[i]] !== undefined) {\n textOne +=\n \" \" +\n item[formItem.options.label[i]].toLocaleLowerCase(\"tr-TR\");\n }\n }\n } else {\n textOne = item[formItem.options.label].toLocaleLowerCase(\"tr-TR\");\n }\n }\n const searchText = queryText.toLocaleLowerCase(\"tr-TR\");\n return textOne.indexOf(searchText) > -1;\n },\n // seçilen input değerinin sonuna backend tarafından gelen 'mergeLabel' değrini eklemek için kullanılıyor.\n setItemText(item, formItem) {\n const formText = formItem.options.label;\n const mergeText = formItem.options.mergeLabel;\n if (Array.isArray(formText)) {\n let str = \"\";\n formText.forEach((val) => {\n str += item[val] !== undefined ? item[val] + \" \" : val + \" \";\n });\n return str.trim();\n } else {\n return mergeText\n ? item[formText] + \" \" + item[mergeText]\n : item[formText];\n }\n },\n // date input elementinde girilen tarih değerinin input üzerinde de değişmesini sağlar.\n // girilen değeri kullanıcıya \"DD-MM-YYYY\" formatında gösterir fakat bu değeri gönderirken \"YYYY-MM-DD\" formatında gönderir.\n parseDate(formItem, isPicker = false) {\n const self = this;\n if (isPicker) {\n formItem.dateMenu = false;\n // formItem.dateTextField = formItem.value\n formItem.dateTextField = self.dateToString(formItem.value);\n self.$forceUpdate();\n } else {\n const regex = /\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$/g;\n // const textField = formItem.dateTextField\n const textField = self.stringToDate(formItem.dateTextField);\n\n if (regex.test(textField)) {\n formItem.value = textField;\n } else {\n formItem.dateTextField = \"\";\n }\n }\n this.changeItem(formItem);\n this.$forceUpdate();\n },\n // date input elementinde \"YYYY-MM-DD\" olan formatı \"DD-MM-YYYY\" şeklinde değiştirir.\n dateToString(date) {\n try {\n const [year, month, day] = date.split(\"-\");\n return `${day}-${month}-${year}`;\n } catch (e) {\n return date;\n }\n },\n // date input elementinde \"DD-MM-YYYY\" olan formatı \"YYYY-MM-DD\" şeklinde değiştirir.\n stringToDate(stringDate) {\n try {\n const [day, month, year] = stringDate.split(\"-\");\n return `${year}-${month.padStart(2, \"0\")}-${day.padStart(2, \"0\")}`;\n } catch (e) {\n return stringDate;\n }\n },\n // Tek bir item için sorting işlemi\n applySortToItem(item) {\n const self = this;\n\n // Sort değeri kontrolü\n if (!item.options.sort) {\n return;\n }\n\n // Select tipinde olup items array'i var mı kontrol et\n if (\n (item.type === \"select\" ||\n item.type === \"select-data\" ||\n item.type === \"select-relation\") &&\n item.options &&\n item.options.items &&\n Array.isArray(item.options.items)\n ) {\n const items = item.options.items;\n const labelKey = item.options.label || \"text\";\n const valueKey = item.options.value || \"value\";\n const sortType = item.options.sort.toLowerCase();\n\n // Sıralama fonksiyonu\n items.sort((a, b) => {\n let aValue = a[labelKey] || a[valueKey] || \"\";\n let bValue = b[labelKey] || b[valueKey] || \"\";\n\n // String değerleri küçük harfe çevir (Türkçe karakter desteği)\n if (typeof aValue === \"string\")\n aValue = aValue.toLocaleLowerCase(\"tr-TR\");\n if (typeof bValue === \"string\")\n bValue = bValue.toLocaleLowerCase(\"tr-TR\");\n\n // Sıralama yönüne göre karşılaştır\n if (sortType === \"asc\") {\n return aValue > bValue ? 1 : aValue < bValue ? -1 : 0;\n } else if (sortType === \"desc\") {\n return aValue < bValue ? 1 : aValue > bValue ? -1 : 0;\n }\n\n return 0;\n });\n }\n },\n },\n});\n\n\n//# sourceURL=webpack://@bilfenyazilimekibi/bilpack/./src/components/bf-form/index.vue?./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options");
|
|
339
339
|
|
|
340
340
|
/***/ }),
|
|
341
341
|
|
|
@@ -1633,7 +1633,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1633
1633
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1634
1634
|
|
|
1635
1635
|
"use strict";
|
|
1636
|
-
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 _vm.startInit\n ? _c(\n \"div\",\n { staticClass: \"bf-form\" },\n [\n _vm.isReady\n ? _c(\n \"v-row\",\n [\n _c(\n \"v-col\",\n {\n attrs: {\n xl: _vm.formPreviewSettings.show ? 9 : 12,\n lg: _vm.formPreviewSettings.show ? 9 : 12,\n md: _vm.formPreviewSettings.show ? 8 : 12,\n },\n },\n [\n _c(\n \"bf-card\",\n {\n class: [\n _vm.editForm !== null ? \"edit-card\" : \"\",\n _vm.customClass,\n ],\n },\n [\n _vm.show\n ? _c(\n \"v-form\",\n {\n ref: \"ref_form\",\n attrs: { \"lazy-validation\": \"\" },\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.onSubmit.apply(null, arguments)\n },\n reset: _vm.onReset,\n },\n model: {\n value: _vm.formIsValid,\n callback: function ($$v) {\n _vm.formIsValid = $$v\n },\n expression: \"formIsValid\",\n },\n },\n [\n _c(\n \"v-row\",\n [\n _c(\"v-col\", [\n _c(\n \"div\",\n { staticClass: \"form-group-items\" },\n _vm._l(\n _vm.formGroups,\n function (formGroup, groupIndex) {\n return _c(\n \"div\",\n {\n key: groupIndex,\n staticClass: \"form-group\",\n },\n [\n _c(\n \"h3\",\n {\n staticClass: \"mt-4 mb-2\",\n },\n [\n _vm._v(\n _vm._s(formGroup.title)\n ),\n ]\n ),\n _c(\n \"v-row\",\n _vm._l(\n formGroup.items,\n function (\n formItem,\n index\n ) {\n return _vm.formItems[\n formItem\n ].show\n ? _c(\n \"v-col\",\n {\n key: index,\n class: {\n hiddenField:\n _vm\n .formItems[\n formItem\n ].type ===\n \"hidden\",\n },\n style:\n _vm.formItems[\n formItem\n ].colStyle,\n attrs: {\n cols: _vm\n .formItems[\n formItem\n ].col,\n sm: _vm\n .formItems[\n formItem\n ].sm,\n md: _vm\n .formItems[\n formItem\n ].md,\n lg: _vm\n .formItems[\n formItem\n ].lg,\n xl: _vm\n .formItems[\n formItem\n ].xl,\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"bf-form-item\",\n style: [\n `max-width: ${_vm.formItems[formItem].maxWidth}`,\n _vm\n .formItems[\n formItem\n ].style,\n ],\n },\n [\n _vm\n .formItems[\n formItem\n ].type ===\n \"hidden\" &&\n _vm\n .formItems[\n formItem\n ].show\n ? _c(\n \"input\",\n {\n directives:\n [\n {\n name: \"model\",\n rawName:\n \"v-model\",\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n expression:\n \"formItems[formItem].value\",\n },\n ],\n attrs:\n {\n type: \"hidden\",\n },\n domProps:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n },\n on: {\n input:\n function (\n $event\n ) {\n if (\n $event\n .target\n .composing\n )\n return\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $event\n .target\n .value\n )\n },\n },\n }\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].outLable\n ? _c(\n \"label\",\n {\n staticClass:\n \"out-lable\",\n attrs:\n {\n for: \"\",\n },\n },\n [\n _vm._v(\n _vm._s(\n _vm\n .formItems[\n formItem\n ]\n .outLable\n )\n ),\n ]\n )\n : _vm._e(),\n !_vm\n .formItems[\n formItem\n ].mask &&\n (_vm\n .formItems[\n formItem\n ].type ===\n \"input\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"number\")\n ? _c(\n \"v-text-field\",\n {\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n staticClass:\n \"bf-text-field\",\n attrs:\n {\n type: _vm\n .formItems[\n formItem\n ]\n .type,\n rules:\n _vm\n .formItems[\n formItem\n ]\n .rules,\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n outlined:\n \"\",\n dense:\n \"\",\n },\n on: {\n input:\n function (\n $event\n ) {\n return _vm.changeItem(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].value\",\n },\n }\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].mask &&\n (_vm\n .formItems[\n formItem\n ].type ===\n \"input\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"number\")\n ? _c(\n \"v-text-field\",\n {\n directives:\n [\n {\n name: \"mask\",\n rawName:\n \"v-mask\",\n value:\n _vm.currentMask(\n _vm\n .formItems[\n formItem\n ]\n ),\n expression:\n \"currentMask(formItems[formItem])\",\n },\n ],\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n staticClass:\n \"bf-text-field masked\",\n attrs:\n {\n type: _vm\n .formItems[\n formItem\n ]\n .type,\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n value:\n _vm\n .formItems[\n formItem\n ]\n .valueMasked,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n outlined:\n \"\",\n dense:\n \"\",\n error:\n _vm\n .formItems[\n formItem\n ]\n .errors\n .length >\n 0,\n \"error-messages\":\n _vm\n .formItems[\n formItem\n ]\n .errors\n .length >\n 0\n ? _vm\n .formItems[\n formItem\n ]\n .errors[0]\n : \"\",\n },\n on: {\n input:\n function (\n $event\n ) {\n return _vm.changeMaskedItem(\n $event,\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .valueMasked,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"valueMasked\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].valueMasked\",\n },\n }\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].type ===\n \"textarea\"\n ? _c(\n \"v-textarea\",\n {\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n staticClass:\n \"bf-textarea\",\n attrs:\n {\n rules:\n _vm\n .formItems[\n formItem\n ]\n .rules,\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n clearable:\n \"\",\n outlined:\n \"\",\n dense:\n \"\",\n },\n on: {\n input:\n function (\n $event\n ) {\n return _vm.changeItem(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].value\",\n },\n }\n )\n : _vm._e(),\n (_vm\n .formItems[\n formItem\n ].type ===\n \"select-data\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"select-relation\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"select\") &&\n !_vm\n .formItems[\n formItem\n ].options\n .allowCustom\n ? _c(\n \"v-autocomplete\",\n {\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n staticClass:\n \"bf-autocomplete\",\n attrs:\n {\n items:\n _vm\n .formItems[\n formItem\n ]\n .options\n .items,\n \"item-text\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .label,\n \"item-value\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .value,\n rules:\n _vm\n .formItems[\n formItem\n ]\n .rules,\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n required:\n _vm\n .formItems[\n formItem\n ]\n .required,\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n loading:\n _vm\n .formItems[\n formItem\n ]\n .loader,\n \"deletable-chips\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n multiple:\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n \"small-chips\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n outlined:\n \"\",\n clearable:\n \"\",\n dense:\n \"\",\n filter:\n _vm.autocompleteFilter.bind(\n this,\n _vm\n .formItems[\n formItem\n ]\n ),\n },\n on: {\n change:\n function (\n $event\n ) {\n return _vm.changeItem(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n scopedSlots:\n _vm._u(\n [\n {\n key: \"selection\",\n fn: function ({\n item,\n index,\n }) {\n return [\n _c(\n \"div\",\n [\n _vm\n .formItems[\n formItem\n ]\n .inSelectType ===\n \"widthImage\"\n ? _c(\n \"img\",\n {\n attrs:\n {\n width:\n \"100px\",\n src: item[\n _vm\n .formItems[\n formItem\n ]\n .widthImageKey\n ],\n },\n }\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple &&\n index ===\n 0\n ? _c(\n \"v-chip\",\n {\n staticClass:\n \"ma-2\",\n attrs:\n {\n small:\n \"\",\n },\n },\n [\n _vm._v(\n _vm._s(\n _vm.setItemText(\n item,\n _vm\n .formItems[\n formItem\n ]\n )\n ) +\n \" \"\n ),\n ]\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple &&\n index >\n 0 &&\n _vm\n .formItems[\n formItem\n ]\n .options\n .showSelectedItems\n ? _c(\n \"v-chip\",\n {\n staticClass:\n \"ma-1\",\n attrs:\n {\n small:\n \"\",\n },\n },\n [\n _vm._v(\n _vm._s(\n _vm.setItemText(\n item,\n _vm\n .formItems[\n formItem\n ]\n )\n ) +\n \" \"\n ),\n ]\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple &&\n index ===\n 1 &&\n !_vm\n .formItems[\n formItem\n ]\n .options\n .showSelectedItems\n ? _c(\n \"span\",\n {\n staticClass:\n \"grey--text text-caption\",\n },\n [\n _vm._v(\n \" (+\" +\n _vm._s(\n _vm\n .formItems[\n formItem\n ]\n .value\n .length -\n 1\n ) +\n \" diğer) \"\n ),\n ]\n )\n : _vm._e(),\n !_vm\n .formItems[\n formItem\n ]\n .options\n .multiple\n ? _c(\n \"span\",\n [\n _vm._v(\n _vm._s(\n _vm.setItemText(\n item,\n _vm\n .formItems[\n formItem\n ]\n )\n )\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ]\n },\n },\n {\n key: \"item\",\n fn: function ({\n item,\n }) {\n return [\n _c(\n \"div\",\n [\n _vm\n .formItems[\n formItem\n ]\n .inSelectType ===\n \"widthImage\"\n ? _c(\n \"img\",\n {\n attrs:\n {\n width:\n \"100px\",\n src: item[\n _vm\n .formItems[\n formItem\n ]\n .widthImageKey\n ],\n },\n }\n )\n : _vm._e(),\n _vm._v(\n \" \" +\n _vm._s(\n _vm.setItemText(\n item,\n _vm\n .formItems[\n formItem\n ]\n )\n ) +\n \" \"\n ),\n ]\n ),\n ]\n },\n },\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple &&\n _vm\n .formItems[\n formItem\n ]\n .options\n .isAllItem !==\n false\n ? {\n key: \"prepend-item\",\n fn: function () {\n return [\n _c(\n \"v-checkbox\",\n {\n staticClass:\n \"mt-2 ml-2\",\n attrs:\n {\n label:\n \"Tümünü Seç\",\n value:\n _vm.getMultipleToggleValue(\n _vm\n .formItems[\n formItem\n ]\n ),\n },\n on: {\n click:\n function (\n $event\n ) {\n return _vm.toggleAllOptions(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n }\n ),\n ]\n },\n proxy: true,\n }\n : null,\n ],\n null,\n true\n ),\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].value\",\n },\n },\n [\n _c(\n \"template\",\n {\n slot: \"no-data\",\n },\n [\n _c(\n \"div\",\n {\n staticStyle:\n {\n \"text-align\":\n \"center\",\n },\n },\n [\n _vm._v(\n \"Veri Bulunamadı\"\n ),\n ]\n ),\n ]\n ),\n ],\n 2\n )\n : _vm._e(),\n (_vm\n .formItems[\n formItem\n ].type ===\n \"select-data\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"select-relation\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"select\") &&\n _vm\n .formItems[\n formItem\n ].options\n .allowCustom\n ? _c(\n \"v-combobox\",\n {\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n staticClass:\n \"bf-combobox\",\n attrs:\n {\n items:\n _vm.getComboboxItems(\n _vm\n .formItems[\n formItem\n ]\n ),\n \"search-input\":\n _vm\n .formItems[\n formItem\n ]\n .searchText,\n rules:\n _vm\n .formItems[\n formItem\n ]\n .rules,\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n required:\n _vm\n .formItems[\n formItem\n ]\n .required,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n loading:\n _vm\n .formItems[\n formItem\n ]\n .loader,\n \"deletable-chips\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n multiple:\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n \"small-chips\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n outlined:\n \"\",\n clearable:\n \"\",\n dense:\n \"\",\n \"hide-selected\":\n \"\",\n },\n on: {\n \"update:searchInput\":\n function (\n $event\n ) {\n return _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"searchText\",\n $event\n )\n },\n \"update:search-input\":\n function (\n $event\n ) {\n return _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"searchText\",\n $event\n )\n },\n change:\n function (\n $event\n ) {\n return _vm.changeItem(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].value\",\n },\n },\n [\n _c(\n \"template\",\n {\n slot: \"no-data\",\n },\n [\n _c(\n \"div\",\n {\n staticStyle:\n {\n \"text-align\":\n \"center\",\n padding:\n \"8px\",\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"mb-2\",\n },\n [\n _vm._v(\n \"Veri Bulunamadı\"\n ),\n ]\n ),\n _vm\n .formItems[\n formItem\n ]\n .searchText &&\n _vm.formItems[\n formItem\n ].searchText.trim()\n ? _c(\n \"v-btn\",\n {\n attrs:\n {\n small:\n \"\",\n color:\n \"primary\",\n },\n on: {\n click:\n function (\n $event\n ) {\n return _vm.addCustomValue(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n },\n [\n _vm._v(\n ' \"' +\n _vm._s(\n _vm\n .formItems[\n formItem\n ]\n .searchText\n ) +\n '\" Ekle '\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ]\n ),\n ],\n 2\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].type ===\n \"image\"\n ? _c(\n \"image-input\",\n {\n ref:\n \"imgInput\" +\n _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n attrs:\n {\n info: _vm\n .formItems[\n formItem\n ],\n inputType:\n _vm\n .formItems[\n formItem\n ]\n .inputType,\n selectedFileName:\n _vm.selectedFileName,\n },\n on: {\n setFileVal:\n _vm.setFileVal,\n },\n }\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].type ===\n \"date\"\n ? _c(\n \"v-menu\",\n {\n ref: \"menu\",\n refInFor: true,\n attrs:\n {\n \"close-on-content-click\": false,\n transition:\n \"scale-transition\",\n \"offset-y\":\n \"\",\n \"min-width\":\n \"290px\",\n },\n scopedSlots:\n _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({\n on,\n }) {\n return [\n _c(\n \"v-text-field\",\n _vm._g(\n {\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n attrs:\n {\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n autocomplete:\n \"off\",\n \"prepend-inner-icon\":\n \"mdi-calendar\",\n \"return-value\":\n _vm\n .formItems[\n formItem\n ]\n .value,\n rules:\n _vm\n .formItems[\n formItem\n ]\n .rules,\n required:\n _vm\n .formItems[\n formItem\n ]\n .required,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n outlined:\n \"\",\n dense:\n \"\",\n },\n on: {\n \"update:returnValue\":\n function (\n $event\n ) {\n return _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $event\n )\n },\n \"update:return-value\":\n function (\n $event\n ) {\n return _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $event\n )\n },\n change:\n function (\n $event\n ) {\n return _vm.parseDate(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .dateTextField,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"dateTextField\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].dateTextField\",\n },\n },\n on\n )\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .dateMenu,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"dateMenu\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].dateMenu\",\n },\n },\n [\n _c(\n \"v-date-picker\",\n {\n attrs:\n {\n locale:\n \"tr-tr\",\n \"first-day-of-week\": 1,\n \"no-title\":\n \"\",\n scrollable:\n \"\",\n },\n on: {\n change:\n function (\n $event\n ) {\n return _vm.parseDate(\n _vm\n .formItems[\n formItem\n ],\n true\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].value\",\n },\n }\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].type ===\n \"custom\"\n ? _c(\n \"div\",\n [\n _vm._t(\n `${_vm.formItems[formItem].name}`,\n null,\n {\n item: _vm\n .formItems[\n formItem\n ],\n }\n ),\n ],\n 2\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ]\n .showCustomError\n ? _c(\n \"div\",\n _vm._l(\n _vm\n .formItems[\n formItem\n ]\n .errors,\n function (\n errItem,\n errIndex\n ) {\n return _c(\n \"div\",\n {\n key: errIndex,\n staticClass:\n \"v-text-field__details\",\n staticStyle:\n {\n \"margin-top\":\n \"4px\",\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"v-messages theme--light error--text\",\n attrs:\n {\n role: \"alert\",\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"v-messages__wrapper\",\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"v-messages__message\",\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n errItem.msg\n ) +\n \" \"\n ),\n ]\n ),\n ]\n ),\n ]\n ),\n ]\n )\n }\n ),\n 0\n )\n : _vm._e(),\n ],\n 1\n ),\n ]\n )\n : _vm._e()\n }\n ),\n 1\n ),\n ],\n 1\n )\n }\n ),\n 0\n ),\n _vm.showSubmit &&\n !_vm.formPreviewSettings.show\n ? _c(\n \"div\",\n { staticClass: \"form-submit\" },\n [\n _vm.hasCustomSubmitSlot\n ? _c(\n \"div\",\n [\n _vm._t(\n \"submitContent\",\n null,\n {\n items:\n _vm.formItems,\n loader: _vm.loader,\n submit:\n _vm.onSubmit,\n }\n ),\n ],\n 2\n )\n : _c(\n \"div\",\n [\n _c(\n \"v-row\",\n [\n _c(\n \"v-col\",\n {\n staticClass:\n \"formButton\",\n },\n [\n _vm.saveButton\n ? _c(\n \"bf-button\",\n {\n attrs: {\n widthIcon:\n _vm\n .formButtonContent\n .hasIcon,\n color:\n \"primary\",\n },\n on: {\n click:\n _vm.onSubmit,\n },\n scopedSlots:\n _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [\n _vm._v(\n \" \" +\n _vm._s(\n _vm\n .formButtonContent\n .iconTitle\n ) +\n \" \"\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 2384765431\n ),\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n _vm\n .formButtonContent\n .title\n ) +\n \" \"\n ),\n ]\n )\n : _vm._e(),\n _vm.deleteButton\n ? _c(\n \"bf-button\",\n {\n staticClass:\n \"ml-3\",\n attrs: {\n widthIcon:\n _vm\n .formButtonContent\n .hasIcon,\n color:\n \"error\",\n },\n on: {\n click:\n function (\n $event\n ) {\n return _vm.deleteButtonClick()\n },\n },\n scopedSlots:\n _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [\n _vm._v(\n \" \" +\n _vm._s(\n _vm\n .formDeleteButtonContent\n .iconTitle\n ) +\n \" \"\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 1293402222\n ),\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n _vm\n .formDeleteButtonContent\n .title\n ) +\n \" \"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n )\n : _vm._e(),\n ]),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"v-col\",\n {\n attrs: {\n xl: _vm.formPreviewSettings.show ? 3 : 12,\n lg: _vm.formPreviewSettings.show ? 3 : 12,\n md: _vm.formPreviewSettings.show ? 4 : 12,\n },\n },\n [\n _c(\n \"div\",\n { staticClass: \"preview-container\" },\n [\n _vm.formPreviewSettings.show\n ? _c(\n \"bf-card\",\n [\n _c(\n \"preview\",\n {\n ref: \"form_preview\",\n attrs: {\n loader: _vm.loader,\n customize:\n _vm.formPreviewSettings.customize,\n submitText:\n _vm.formPreviewSettings.submitText,\n groups: _vm.formGroups,\n },\n on: { clickSave: _vm.onSubmit },\n },\n [\n _vm.formPreviewSettings.customize\n ? _c(\n \"div\",\n [\n _vm._t(\"submit-content\", null, {\n formItems: _vm.formItems,\n loader: _vm.loader,\n submitText:\n _vm.formPreviewSettings\n .submitText,\n submit: _vm.onSubmit,\n }),\n ],\n 2\n )\n : _vm._e(),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n ]\n ),\n ],\n 1\n )\n : _c(\n \"div\",\n { staticClass: \"text-center\" },\n [\n _c(\"v-progress-circular\", {\n attrs: { indeterminate: \"\", color: \"primary\" },\n }),\n ],\n 1\n ),\n _c(\"bf-swal\", { ref: \"form_swal\" }),\n ],\n 1\n )\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://@bilfenyazilimekibi/bilpack/./src/components/bf-form/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");
|
|
1636
|
+
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 _vm.startInit\n ? _c(\n \"div\",\n { staticClass: \"bf-form\" },\n [\n _vm.isReady\n ? _c(\n \"v-row\",\n [\n _c(\n \"v-col\",\n {\n attrs: {\n xl: _vm.formPreviewSettings.show ? 9 : 12,\n lg: _vm.formPreviewSettings.show ? 9 : 12,\n md: _vm.formPreviewSettings.show ? 8 : 12,\n },\n },\n [\n _c(\n \"bf-card\",\n {\n class: [\n _vm.editForm !== null ? \"edit-card\" : \"\",\n _vm.customClass,\n ],\n },\n [\n _vm.show\n ? _c(\n \"v-form\",\n {\n ref: \"ref_form\",\n attrs: { \"lazy-validation\": \"\" },\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.onSubmit.apply(null, arguments)\n },\n reset: _vm.onReset,\n },\n model: {\n value: _vm.formIsValid,\n callback: function ($$v) {\n _vm.formIsValid = $$v\n },\n expression: \"formIsValid\",\n },\n },\n [\n _c(\n \"v-row\",\n [\n _c(\"v-col\", [\n _c(\n \"div\",\n { staticClass: \"form-group-items\" },\n _vm._l(\n _vm.formGroups,\n function (formGroup, groupIndex) {\n return _c(\n \"div\",\n {\n key: groupIndex,\n staticClass: \"form-group\",\n },\n [\n _c(\n \"h3\",\n {\n staticClass: \"mt-4 mb-2\",\n },\n [\n _vm._v(\n _vm._s(formGroup.title)\n ),\n ]\n ),\n _c(\n \"v-row\",\n _vm._l(\n formGroup.items,\n function (\n formItem,\n index\n ) {\n return _vm.formItems[\n formItem\n ].show\n ? _c(\n \"v-col\",\n {\n key: index,\n class: {\n hiddenField:\n _vm\n .formItems[\n formItem\n ].type ===\n \"hidden\",\n },\n style:\n _vm.formItems[\n formItem\n ].colStyle,\n attrs: {\n cols: _vm\n .formItems[\n formItem\n ].col,\n sm: _vm\n .formItems[\n formItem\n ].sm,\n md: _vm\n .formItems[\n formItem\n ].md,\n lg: _vm\n .formItems[\n formItem\n ].lg,\n xl: _vm\n .formItems[\n formItem\n ].xl,\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"bf-form-item\",\n style: [\n `max-width: ${_vm.formItems[formItem].maxWidth}`,\n _vm\n .formItems[\n formItem\n ].style,\n ],\n },\n [\n _vm\n .formItems[\n formItem\n ].type ===\n \"hidden\" &&\n _vm\n .formItems[\n formItem\n ].show\n ? _c(\n \"input\",\n {\n directives:\n [\n {\n name: \"model\",\n rawName:\n \"v-model\",\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n expression:\n \"formItems[formItem].value\",\n },\n ],\n attrs:\n {\n type: \"hidden\",\n },\n domProps:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n },\n on: {\n input:\n function (\n $event\n ) {\n if (\n $event\n .target\n .composing\n )\n return\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $event\n .target\n .value\n )\n },\n },\n }\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].outLable\n ? _c(\n \"label\",\n {\n staticClass:\n \"out-lable\",\n attrs:\n {\n for: \"\",\n },\n },\n [\n _vm._v(\n _vm._s(\n _vm\n .formItems[\n formItem\n ]\n .outLable\n )\n ),\n ]\n )\n : _vm._e(),\n !_vm\n .formItems[\n formItem\n ].mask &&\n (_vm\n .formItems[\n formItem\n ].type ===\n \"input\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"number\")\n ? _c(\n \"v-text-field\",\n {\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n staticClass:\n \"bf-text-field\",\n attrs:\n {\n type: _vm\n .formItems[\n formItem\n ]\n .type,\n rules:\n _vm\n .formItems[\n formItem\n ]\n .rules,\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n outlined:\n \"\",\n dense:\n \"\",\n },\n on: {\n input:\n function (\n $event\n ) {\n return _vm.changeItem(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].value\",\n },\n }\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].mask &&\n (_vm\n .formItems[\n formItem\n ].type ===\n \"input\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"number\")\n ? _c(\n \"v-text-field\",\n {\n directives:\n [\n {\n name: \"mask\",\n rawName:\n \"v-mask\",\n value:\n _vm.currentMask(\n _vm\n .formItems[\n formItem\n ]\n ),\n expression:\n \"currentMask(formItems[formItem])\",\n },\n ],\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n staticClass:\n \"bf-text-field masked\",\n attrs:\n {\n type: _vm\n .formItems[\n formItem\n ]\n .type,\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n value:\n _vm\n .formItems[\n formItem\n ]\n .valueMasked,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n outlined:\n \"\",\n dense:\n \"\",\n error:\n _vm\n .formItems[\n formItem\n ]\n .errors\n .length >\n 0,\n \"error-messages\":\n _vm\n .formItems[\n formItem\n ]\n .errors\n .length >\n 0\n ? _vm\n .formItems[\n formItem\n ]\n .errors[0]\n : \"\",\n },\n on: {\n input:\n function (\n $event\n ) {\n return _vm.changeMaskedItem(\n $event,\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .valueMasked,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"valueMasked\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].valueMasked\",\n },\n }\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].type ===\n \"textarea\"\n ? _c(\n \"v-textarea\",\n {\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n staticClass:\n \"bf-textarea\",\n attrs:\n {\n rules:\n _vm\n .formItems[\n formItem\n ]\n .rules,\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n clearable:\n \"\",\n outlined:\n \"\",\n dense:\n \"\",\n },\n on: {\n input:\n function (\n $event\n ) {\n return _vm.changeItem(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].value\",\n },\n }\n )\n : _vm._e(),\n (_vm\n .formItems[\n formItem\n ].type ===\n \"select-data\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"select-relation\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"select\") &&\n !_vm\n .formItems[\n formItem\n ].options\n .allowCustom\n ? _c(\n \"v-autocomplete\",\n {\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n staticClass:\n \"bf-autocomplete\",\n attrs:\n {\n items:\n _vm\n .formItems[\n formItem\n ]\n .options\n .items,\n \"item-text\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .label,\n \"item-value\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .value,\n rules:\n _vm\n .formItems[\n formItem\n ]\n .rules,\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n required:\n _vm\n .formItems[\n formItem\n ]\n .required,\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n loading:\n _vm\n .formItems[\n formItem\n ]\n .loader,\n \"deletable-chips\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n multiple:\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n \"small-chips\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n outlined:\n \"\",\n clearable:\n \"\",\n dense:\n \"\",\n filter:\n _vm.autocompleteFilter.bind(\n this,\n _vm\n .formItems[\n formItem\n ]\n ),\n },\n on: {\n change:\n function (\n $event\n ) {\n return _vm.changeItem(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n scopedSlots:\n _vm._u(\n [\n {\n key: \"selection\",\n fn: function ({\n item,\n index,\n }) {\n return [\n _c(\n \"div\",\n [\n _vm\n .formItems[\n formItem\n ]\n .inSelectType ===\n \"widthImage\"\n ? _c(\n \"img\",\n {\n attrs:\n {\n width:\n \"100px\",\n src: item[\n _vm\n .formItems[\n formItem\n ]\n .widthImageKey\n ],\n },\n }\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple &&\n index ===\n 0\n ? _c(\n \"v-chip\",\n {\n staticClass:\n \"ma-2\",\n attrs:\n {\n small:\n \"\",\n },\n },\n [\n _vm._v(\n _vm._s(\n _vm.setItemText(\n item,\n _vm\n .formItems[\n formItem\n ]\n )\n ) +\n \" \"\n ),\n ]\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple &&\n index >\n 0 &&\n _vm\n .formItems[\n formItem\n ]\n .options\n .showSelectedItems\n ? _c(\n \"v-chip\",\n {\n staticClass:\n \"ma-1\",\n attrs:\n {\n small:\n \"\",\n },\n },\n [\n _vm._v(\n _vm._s(\n _vm.setItemText(\n item,\n _vm\n .formItems[\n formItem\n ]\n )\n ) +\n \" \"\n ),\n ]\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple &&\n index ===\n 1 &&\n !_vm\n .formItems[\n formItem\n ]\n .options\n .showSelectedItems\n ? _c(\n \"span\",\n {\n staticClass:\n \"grey--text text-caption\",\n },\n [\n _vm._v(\n \" (+\" +\n _vm._s(\n _vm\n .formItems[\n formItem\n ]\n .value\n .length -\n 1\n ) +\n \" diğer) \"\n ),\n ]\n )\n : _vm._e(),\n !_vm\n .formItems[\n formItem\n ]\n .options\n .multiple\n ? _c(\n \"span\",\n [\n _vm._v(\n _vm._s(\n _vm.setItemText(\n item,\n _vm\n .formItems[\n formItem\n ]\n )\n )\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ]\n },\n },\n {\n key: \"item\",\n fn: function ({\n item,\n }) {\n return [\n _c(\n \"div\",\n [\n _vm\n .formItems[\n formItem\n ]\n .inSelectType ===\n \"widthImage\"\n ? _c(\n \"img\",\n {\n attrs:\n {\n width:\n \"100px\",\n src: item[\n _vm\n .formItems[\n formItem\n ]\n .widthImageKey\n ],\n },\n }\n )\n : _vm._e(),\n _vm._v(\n \" \" +\n _vm._s(\n _vm.setItemText(\n item,\n _vm\n .formItems[\n formItem\n ]\n )\n ) +\n \" \"\n ),\n ]\n ),\n ]\n },\n },\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple &&\n _vm\n .formItems[\n formItem\n ]\n .options\n .isAllItem !==\n false\n ? {\n key: \"prepend-item\",\n fn: function () {\n return [\n _c(\n \"v-checkbox\",\n {\n staticClass:\n \"mt-2 ml-2\",\n attrs:\n {\n label:\n \"Tümünü Seç\",\n value:\n _vm.getMultipleToggleValue(\n _vm\n .formItems[\n formItem\n ]\n ),\n },\n on: {\n click:\n function (\n $event\n ) {\n return _vm.toggleAllOptions(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n }\n ),\n ]\n },\n proxy: true,\n }\n : null,\n ],\n null,\n true\n ),\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].value\",\n },\n },\n [\n _c(\n \"template\",\n {\n slot: \"no-data\",\n },\n [\n _c(\n \"div\",\n {\n staticStyle:\n {\n \"text-align\":\n \"center\",\n },\n },\n [\n _vm._v(\n \" Veri Bulunamadı \"\n ),\n ]\n ),\n ]\n ),\n ],\n 2\n )\n : _vm._e(),\n (_vm\n .formItems[\n formItem\n ].type ===\n \"select-data\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"select-relation\" ||\n _vm\n .formItems[\n formItem\n ].type ===\n \"select\") &&\n _vm\n .formItems[\n formItem\n ].options\n .allowCustom\n ? _c(\n \"v-combobox\",\n {\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n staticClass:\n \"bf-combobox\",\n attrs:\n {\n items:\n _vm.getComboboxItems(\n _vm\n .formItems[\n formItem\n ]\n ),\n \"search-input\":\n _vm\n .formItems[\n formItem\n ]\n .searchText,\n rules:\n _vm\n .formItems[\n formItem\n ]\n .rules,\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n required:\n _vm\n .formItems[\n formItem\n ]\n .required,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n loading:\n _vm\n .formItems[\n formItem\n ]\n .loader,\n \"deletable-chips\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n multiple:\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n \"small-chips\":\n _vm\n .formItems[\n formItem\n ]\n .options\n .multiple,\n outlined:\n \"\",\n clearable:\n \"\",\n dense:\n \"\",\n \"hide-selected\":\n \"\",\n },\n on: {\n \"update:searchInput\":\n function (\n $event\n ) {\n return _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"searchText\",\n $event\n )\n },\n \"update:search-input\":\n function (\n $event\n ) {\n return _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"searchText\",\n $event\n )\n },\n change:\n function (\n $event\n ) {\n return _vm.changeItem(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].value\",\n },\n },\n [\n _c(\n \"template\",\n {\n slot: \"no-data\",\n },\n [\n _c(\n \"div\",\n {\n staticStyle:\n {\n \"text-align\":\n \"center\",\n padding:\n \"8px\",\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"mb-2\",\n },\n [\n _vm._v(\n \"Veri Bulunamadı\"\n ),\n ]\n ),\n _vm\n .formItems[\n formItem\n ]\n .searchText &&\n _vm.formItems[\n formItem\n ].searchText.trim()\n ? _c(\n \"v-btn\",\n {\n attrs:\n {\n small:\n \"\",\n color:\n \"primary\",\n },\n on: {\n click:\n function (\n $event\n ) {\n return _vm.addCustomValue(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n },\n [\n _vm._v(\n ' \"' +\n _vm._s(\n _vm\n .formItems[\n formItem\n ]\n .searchText\n ) +\n '\" Ekle '\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ]\n ),\n ],\n 2\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].type ===\n \"image\"\n ? _c(\n \"image-input\",\n {\n ref:\n \"imgInput\" +\n _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n attrs:\n {\n info: _vm\n .formItems[\n formItem\n ],\n inputType:\n _vm\n .formItems[\n formItem\n ]\n .inputType,\n selectedFileName:\n _vm.selectedFileName,\n },\n on: {\n setFileVal:\n _vm.setFileVal,\n },\n }\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].type ===\n \"date\"\n ? _c(\n \"v-menu\",\n {\n ref: \"menu\",\n refInFor: true,\n attrs:\n {\n \"close-on-content-click\": false,\n transition:\n \"scale-transition\",\n \"offset-y\":\n \"\",\n \"min-width\":\n \"290px\",\n },\n scopedSlots:\n _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({\n on,\n }) {\n return [\n _c(\n \"v-text-field\",\n _vm._g(\n {\n ref: _vm\n .formItems[\n formItem\n ]\n .name,\n refInFor: true,\n attrs:\n {\n label:\n _vm\n .formItems[\n formItem\n ]\n .label,\n autocomplete:\n \"off\",\n \"prepend-inner-icon\":\n \"mdi-calendar\",\n \"return-value\":\n _vm\n .formItems[\n formItem\n ]\n .value,\n rules:\n _vm\n .formItems[\n formItem\n ]\n .rules,\n required:\n _vm\n .formItems[\n formItem\n ]\n .required,\n disabled:\n _vm\n .formItems[\n formItem\n ]\n .disabled,\n outlined:\n \"\",\n dense:\n \"\",\n },\n on: {\n \"update:returnValue\":\n function (\n $event\n ) {\n return _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $event\n )\n },\n \"update:return-value\":\n function (\n $event\n ) {\n return _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $event\n )\n },\n change:\n function (\n $event\n ) {\n return _vm.parseDate(\n _vm\n .formItems[\n formItem\n ]\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .dateTextField,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"dateTextField\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].dateTextField\",\n },\n },\n on\n )\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .dateMenu,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"dateMenu\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].dateMenu\",\n },\n },\n [\n _c(\n \"v-date-picker\",\n {\n attrs:\n {\n locale:\n \"tr-tr\",\n \"first-day-of-week\": 1,\n \"no-title\":\n \"\",\n scrollable:\n \"\",\n },\n on: {\n change:\n function (\n $event\n ) {\n return _vm.parseDate(\n _vm\n .formItems[\n formItem\n ],\n true\n )\n },\n },\n model:\n {\n value:\n _vm\n .formItems[\n formItem\n ]\n .value,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm\n .formItems[\n formItem\n ],\n \"value\",\n $$v\n )\n },\n expression:\n \"formItems[formItem].value\",\n },\n }\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ].type ===\n \"custom\"\n ? _c(\n \"div\",\n [\n _vm._t(\n `${_vm.formItems[formItem].name}`,\n null,\n {\n item: _vm\n .formItems[\n formItem\n ],\n }\n ),\n ],\n 2\n )\n : _vm._e(),\n _vm\n .formItems[\n formItem\n ]\n .showCustomError\n ? _c(\n \"div\",\n _vm._l(\n _vm\n .formItems[\n formItem\n ]\n .errors,\n function (\n errItem,\n errIndex\n ) {\n return _c(\n \"div\",\n {\n key: errIndex,\n staticClass:\n \"v-text-field__details\",\n staticStyle:\n {\n \"margin-top\":\n \"4px\",\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"v-messages theme--light error--text\",\n attrs:\n {\n role: \"alert\",\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"v-messages__wrapper\",\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"v-messages__message\",\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n errItem.msg\n ) +\n \" \"\n ),\n ]\n ),\n ]\n ),\n ]\n ),\n ]\n )\n }\n ),\n 0\n )\n : _vm._e(),\n ],\n 1\n ),\n ]\n )\n : _vm._e()\n }\n ),\n 1\n ),\n ],\n 1\n )\n }\n ),\n 0\n ),\n _vm.showSubmit &&\n !_vm.formPreviewSettings.show\n ? _c(\n \"div\",\n { staticClass: \"form-submit\" },\n [\n _vm.hasCustomSubmitSlot\n ? _c(\n \"div\",\n [\n _vm._t(\n \"submitContent\",\n null,\n {\n items:\n _vm.formItems,\n loader: _vm.loader,\n submit:\n _vm.onSubmit,\n }\n ),\n ],\n 2\n )\n : _c(\n \"div\",\n [\n _c(\n \"v-row\",\n [\n _c(\n \"v-col\",\n {\n staticClass:\n \"formButton\",\n },\n [\n _vm.saveButton\n ? _c(\n \"bf-button\",\n {\n attrs: {\n widthIcon:\n _vm\n .formButtonContent\n .hasIcon,\n color:\n \"primary\",\n },\n on: {\n click:\n _vm.onSubmit,\n },\n scopedSlots:\n _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [\n _vm._v(\n \" \" +\n _vm._s(\n _vm\n .formButtonContent\n .iconTitle\n ) +\n \" \"\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 2384765431\n ),\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n _vm\n .formButtonContent\n .title\n ) +\n \" \"\n ),\n ]\n )\n : _vm._e(),\n _vm.deleteButton\n ? _c(\n \"bf-button\",\n {\n staticClass:\n \"ml-3\",\n attrs: {\n widthIcon:\n _vm\n .formButtonContent\n .hasIcon,\n color:\n \"error\",\n },\n on: {\n click:\n function (\n $event\n ) {\n return _vm.deleteButtonClick()\n },\n },\n scopedSlots:\n _vm._u(\n [\n {\n key: \"icon\",\n fn: function () {\n return [\n _vm._v(\n \" \" +\n _vm._s(\n _vm\n .formDeleteButtonContent\n .iconTitle\n ) +\n \" \"\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 1293402222\n ),\n },\n [\n _vm._v(\n \" \" +\n _vm._s(\n _vm\n .formDeleteButtonContent\n .title\n ) +\n \" \"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n )\n : _vm._e(),\n ]),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"v-col\",\n {\n attrs: {\n xl: _vm.formPreviewSettings.show ? 3 : 12,\n lg: _vm.formPreviewSettings.show ? 3 : 12,\n md: _vm.formPreviewSettings.show ? 4 : 12,\n },\n },\n [\n _c(\n \"div\",\n { staticClass: \"preview-container\" },\n [\n _vm.formPreviewSettings.show\n ? _c(\n \"bf-card\",\n [\n _c(\n \"preview\",\n {\n ref: \"form_preview\",\n attrs: {\n loader: _vm.loader,\n customize:\n _vm.formPreviewSettings.customize,\n submitText:\n _vm.formPreviewSettings.submitText,\n groups: _vm.formGroups,\n },\n on: { clickSave: _vm.onSubmit },\n },\n [\n _vm.formPreviewSettings.customize\n ? _c(\n \"div\",\n [\n _vm._t(\"submit-content\", null, {\n formItems: _vm.formItems,\n loader: _vm.loader,\n submitText:\n _vm.formPreviewSettings\n .submitText,\n submit: _vm.onSubmit,\n }),\n ],\n 2\n )\n : _vm._e(),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n ]\n ),\n ],\n 1\n )\n : _c(\n \"div\",\n { staticClass: \"text-center\" },\n [\n _c(\"v-progress-circular\", {\n attrs: { indeterminate: \"\", color: \"primary\" },\n }),\n ],\n 1\n ),\n _c(\"bf-swal\", { ref: \"form_swal\" }),\n ],\n 1\n )\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://@bilfenyazilimekibi/bilpack/./src/components/bf-form/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");
|
|
1637
1637
|
|
|
1638
1638
|
/***/ }),
|
|
1639
1639
|
|
|
@@ -1644,7 +1644,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1644
1644
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1645
1645
|
|
|
1646
1646
|
"use strict";
|
|
1647
|
-
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 _vm.$auth !== undefined\n ? _c(\"div\", { staticClass: \"bf-header\" }, [\n _c(\n \"div\",\n {\n staticClass: \"top-bar\",\n class: { focus: _vm.isScrollOver65 },\n style: [\n _vm.miniVariant\n ? { width: \"calc(100% - 88px)\" }\n : { width: \"calc(100% - 238px)\" },\n ],\n },\n [\n _vm.$vuetify.breakpoint.smAndUp\n ? _c(\n \"div\",\n {\n staticClass: \"hamburger-icon\",\n on: {\n click: function ($event) {\n return _vm.$emit(\"sideMenuToggle\")\n },\n },\n },\n [\n _vm.miniVariant\n ? _c(\"v-icon\", { attrs: { small: \"\" } }, [\n _vm._v(\"fi-rr-indent\"),\n ])\n : _c(\"v-icon\", { attrs: { small: \"\" } }, [\n _vm._v(\"fi-rr-menu-burger\"),\n ]),\n ],\n 1\n )\n : _vm._e(),\n _vm.$vuetify.breakpoint.smAndUp\n ? _c(\n \"v-autocomplete\",\n {\n attrs: {\n dense: \"\",\n solo: \"\",\n flat: \"\",\n \"hide-details\": \"\",\n label: \"Arama yapmak için buraya yazın\",\n items: _vm.entries,\n \"item-text\": \"name\",\n \"item-value\": \"id\",\n \"append-icon\": \"\",\n \"return-object\": \"\",\n },\n on: {\n change: function ($event) {\n return _vm.goTo()\n },\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"no-data\",\n fn: function () {\n return [\n _c(\"div\", { staticClass: \"px-4\" }, [\n _vm._v(\"Sonuç bulunamadı!\"),\n ]),\n ]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 191309827\n ),\n model: {\n value: _vm.selectedVal,\n callback: function ($$v) {\n _vm.selectedVal = $$v\n },\n expression: \"selectedVal\",\n },\n },\n [\n _c(\n \"v-icon\",\n {\n attrs: { slot: \"prepend\", color: \"#9CA3AF\", small: \"\" },\n slot: \"prepend\",\n },\n [_vm._v(\"fi-rr-search\")]\n ),\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"router-link\",\n {\n staticClass: \"side-logo\",\n class: [_vm.miniVariant ? \"mini-variant\" : \"\"],\n attrs: { to: \"/\" },\n },\n [\n !_vm.$vuetify.breakpoint.smAndUp && _vm.setLogo() !== \"\"\n ? _c(\"img\", {\n staticClass: \"mt-2\",\n attrs: { width: \"120\", height: \"32\", src: _vm.setLogo() },\n })\n : _vm._e(),\n ]\n ),\n _c(\n \"div\",\n { staticClass: \"ml-5\" },\n [\n _c(\"div\", { staticClass: \"inline-block\" }, [\n _c(\n \"span\",\n { staticClass: \"current-year-badge\" },\n [\n _c(\n \"v-icon\",\n {\n staticClass: \"mr-2 mb-1\",\n attrs: { color: \"#9CA3AF\", \"x-small\": \"\" },\n },\n [_vm._v(\"fi-rr-calendar\")]\n ),\n _vm._v(\" \" + _vm._s(_vm.activeYear)),\n ],\n 1\n ),\n ]),\n _c(\n \"v-menu\",\n {\n attrs: { left: \"\", \"offset-y\": \"\" },\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 { staticClass: \"icon-container\" },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [\n _c(\n \"v-icon\",\n { attrs: { color: \"#9CA3AF\", small: \"\" } },\n [_vm._v(\"fi-rr-grid\")]\n ),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n false,\n 3286984523\n ),\n },\n [\n _c(\n \"div\",\n { staticClass: \"app-projects-menu\" },\n _vm._l(_vm.apps, function (item, index) {\n return _c(\n \"a\",\n {\n staticClass: \"item\",\n class: item.name == \"Bil Akademi\" ? \"d-none\" : \"\",\n attrs: {\n href: item.link + item.projectLink,\n target: \"_blank\",\n },\n },\n [\n _c(\"img\", { attrs: { src: item.logo, alt: \"\" } }),\n _c(\"div\", [_vm._v(_vm._s(item.name))]),\n ]\n )\n }),\n 0\n ),\n ]\n ),\n _c(\n \"v-menu\",\n {\n attrs: { \"offset-y\": \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"v-avatar\",\n _vm._g(\n _vm._b(\n {\n staticClass: \"mr-auto top-avatar\",\n attrs: { color: \"primary\", size: \"32\" },\n },\n \"v-avatar\",\n attrs,\n false\n ),\n on\n ),\n [\n _c(\n \"v-icon\",\n { attrs: { color: \"white\", small: \"\" } },\n [_vm._v(\"fi-rr-user\")]\n ),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n false,\n 1143684267\n ),\n },\n [\n _c(\"div\", { staticClass: \"app-profile-menu\" }, [\n _c(\"div\", { staticClass: \"item\" }, [\n _vm.$auth.$state.user !== null\n ? _c(\"span\", { staticClass: \"text\" }, [\n _vm._v(_vm._s(_vm.$auth.$state.user.userEmail)),\n ])\n : _vm._e(),\n ]),\n _c(\"div\", { staticClass: \"item no-border\" }, [\n _c(\n \"a\",\n {\n staticClass: \"link\",\n attrs: { href: \"../takvimim\" },\n },\n [\n _c(\"v-icon\", [_vm._v(\"mdi-calendar\")]),\n _vm._v(\" Takvimim\"),\n ],\n 1\n ),\n ]),\n _vm.modeChangeIsVisible\n ? _c(\n \"div\",\n {\n staticClass: \"item colored\",\n on: {\n click: function ($event) {\n return _vm.darkMode()\n },\n },\n },\n [\n !_vm.$vuetify.theme.dark\n ? _c(\n \"a\",\n {\n staticClass: \"link\",\n attrs: { href: \"#\" },\n },\n [\n _c(\"v-icon\", [\n _vm._v(\"mdi-weather-night\"),\n ]),\n _vm._v(\" Gece Moduna Geç \"),\n ],\n 1\n )\n : _vm._e(),\n _vm.$vuetify.theme.dark\n ? _c(\n \"a\",\n {\n staticClass: \"link\",\n attrs: { href: \"#\" },\n },\n [\n _c(\n \"v-icon\",\n { attrs: { color: \"#257aeb\" } },\n [_vm._v(\" fi-rr-sun \")]\n ),\n _vm._v(\" Gündüz Moduna Geç \"),\n ],\n 1\n )\n : _vm._e(),\n ]\n )\n : _vm._e(),\n _c(\"div\", { staticClass: \"item\" }, [\n _c(\n \"a\",\n {\n staticClass: \"link\",\n attrs: { href: \"#\" },\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.logout()\n },\n },\n },\n [\n _c(\"v-icon\", [_vm._v(\"mdi-logout\")]),\n _vm._v(\" Çıkış Yap\"),\n ],\n 1\n ),\n ]),\n ]),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://@bilfenyazilimekibi/bilpack/./src/components/bf-header/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");
|
|
1647
|
+
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 _vm.$auth !== undefined\n ? _c(\"div\", { staticClass: \"bf-header\" }, [\n _c(\n \"div\",\n {\n staticClass: \"top-bar\",\n class: { focus: _vm.isScrollOver65 },\n style: [\n _vm.miniVariant\n ? { width: \"calc(100% - 88px)\" }\n : { width: \"calc(100% - 238px)\" },\n ],\n },\n [\n _vm.$vuetify.breakpoint.smAndUp\n ? _c(\n \"div\",\n {\n staticClass: \"hamburger-icon\",\n on: {\n click: function ($event) {\n return _vm.$emit(\"sideMenuToggle\")\n },\n },\n },\n [\n _vm.miniVariant\n ? _c(\"v-icon\", { attrs: { small: \"\" } }, [\n _vm._v(\"fi-rr-indent\"),\n ])\n : _c(\"v-icon\", { attrs: { small: \"\" } }, [\n _vm._v(\"fi-rr-menu-burger\"),\n ]),\n ],\n 1\n )\n : _vm._e(),\n _vm.$vuetify.breakpoint.smAndUp\n ? _c(\n \"v-autocomplete\",\n {\n attrs: {\n dense: \"\",\n solo: \"\",\n flat: \"\",\n \"hide-details\": \"\",\n label: \"Arama yapmak için buraya yazın\",\n items: _vm.entries,\n \"item-text\": \"name\",\n \"item-value\": \"id\",\n \"append-icon\": \"\",\n \"return-object\": \"\",\n },\n on: {\n change: function ($event) {\n return _vm.goTo()\n },\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"no-data\",\n fn: function () {\n return [\n _c(\"div\", { staticClass: \"px-4\" }, [\n _vm._v(\"Sonuç bulunamadı!\"),\n ]),\n ]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 191309827\n ),\n model: {\n value: _vm.selectedVal,\n callback: function ($$v) {\n _vm.selectedVal = $$v\n },\n expression: \"selectedVal\",\n },\n },\n [\n _c(\n \"v-icon\",\n {\n attrs: { slot: \"prepend\", color: \"#9CA3AF\", small: \"\" },\n slot: \"prepend\",\n },\n [_vm._v(\"fi-rr-search\")]\n ),\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"router-link\",\n {\n staticClass: \"side-logo\",\n class: [_vm.miniVariant ? \"mini-variant\" : \"\"],\n attrs: { to: \"/\" },\n },\n [\n !_vm.$vuetify.breakpoint.smAndUp && _vm.setLogo() !== \"\"\n ? _c(\"img\", {\n staticClass: \"mt-2\",\n attrs: { width: \"120\", height: \"32\", src: _vm.setLogo() },\n })\n : _vm._e(),\n ]\n ),\n _c(\n \"div\",\n { staticClass: \"ml-5\" },\n [\n _c(\"div\", { staticClass: \"inline-block\" }, [\n _c(\n \"span\",\n { staticClass: \"current-year-badge\" },\n [\n _c(\n \"v-icon\",\n {\n staticClass: \"mr-2 mb-1\",\n attrs: { color: \"#9CA3AF\", \"x-small\": \"\" },\n },\n [_vm._v(\"fi-rr-calendar\")]\n ),\n _vm._v(\" \" + _vm._s(_vm.activeYear)),\n ],\n 1\n ),\n ]),\n _c(\n \"v-menu\",\n {\n attrs: { left: \"\", \"offset-y\": \"\" },\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 { staticClass: \"icon-container\" },\n \"span\",\n attrs,\n false\n ),\n on\n ),\n [\n _c(\n \"v-icon\",\n { attrs: { color: \"#9CA3AF\", small: \"\" } },\n [_vm._v(\"fi-rr-grid\")]\n ),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n false,\n 3286984523\n ),\n },\n [\n _c(\n \"div\",\n { staticClass: \"app-projects-menu\" },\n _vm._l(_vm.apps, function (item, index) {\n return _c(\n \"a\",\n {\n staticClass: \"item\",\n class: item.name == \"Bil Akademi\" ? \"d-none\" : \"\",\n attrs: {\n href: item.link + item.projectLink,\n target: \"_blank\",\n },\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"max-width\": \"30px\",\n \"max-height\": \"34px\",\n },\n attrs: { src: item.logo, alt: \"\" },\n }),\n _c(\"div\", [_vm._v(_vm._s(item.name))]),\n ]\n )\n }),\n 0\n ),\n ]\n ),\n _c(\n \"v-menu\",\n {\n attrs: { \"offset-y\": \"\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function ({ on, attrs }) {\n return [\n _c(\n \"v-avatar\",\n _vm._g(\n _vm._b(\n {\n staticClass: \"mr-auto top-avatar\",\n attrs: { color: \"primary\", size: \"32\" },\n },\n \"v-avatar\",\n attrs,\n false\n ),\n on\n ),\n [\n _c(\n \"v-icon\",\n { attrs: { color: \"white\", small: \"\" } },\n [_vm._v(\"fi-rr-user\")]\n ),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n false,\n 1143684267\n ),\n },\n [\n _c(\"div\", { staticClass: \"app-profile-menu\" }, [\n _c(\"div\", { staticClass: \"item\" }, [\n _vm.$auth.$state.user !== null\n ? _c(\"span\", { staticClass: \"text\" }, [\n _vm._v(_vm._s(_vm.$auth.$state.user.userEmail)),\n ])\n : _vm._e(),\n ]),\n _c(\"div\", { staticClass: \"item no-border\" }, [\n _c(\n \"a\",\n {\n staticClass: \"link\",\n attrs: { href: \"../takvimim\" },\n },\n [\n _c(\"v-icon\", [_vm._v(\"mdi-calendar\")]),\n _vm._v(\" Takvimim\"),\n ],\n 1\n ),\n ]),\n _vm.modeChangeIsVisible\n ? _c(\n \"div\",\n {\n staticClass: \"item colored\",\n on: {\n click: function ($event) {\n return _vm.darkMode()\n },\n },\n },\n [\n !_vm.$vuetify.theme.dark\n ? _c(\n \"a\",\n {\n staticClass: \"link\",\n attrs: { href: \"#\" },\n },\n [\n _c(\"v-icon\", [\n _vm._v(\"mdi-weather-night\"),\n ]),\n _vm._v(\" Gece Moduna Geç \"),\n ],\n 1\n )\n : _vm._e(),\n _vm.$vuetify.theme.dark\n ? _c(\n \"a\",\n {\n staticClass: \"link\",\n attrs: { href: \"#\" },\n },\n [\n _c(\n \"v-icon\",\n { attrs: { color: \"#257aeb\" } },\n [_vm._v(\" fi-rr-sun \")]\n ),\n _vm._v(\" Gündüz Moduna Geç \"),\n ],\n 1\n )\n : _vm._e(),\n ]\n )\n : _vm._e(),\n _c(\"div\", { staticClass: \"item\" }, [\n _c(\n \"a\",\n {\n staticClass: \"link\",\n attrs: { href: \"#\" },\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.logout()\n },\n },\n },\n [\n _c(\"v-icon\", [_vm._v(\"mdi-logout\")]),\n _vm._v(\" Çıkış Yap\"),\n ],\n 1\n ),\n ]),\n ]),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://@bilfenyazilimekibi/bilpack/./src/components/bf-header/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");
|
|
1648
1648
|
|
|
1649
1649
|
/***/ }),
|
|
1650
1650
|
|