INSERT INTO `cp_filejs` (`id`,`app`,`path`,`modul`,`file_name`,`content`) VALUES ('247','4','u8/manager','waste','js/waste-add.js--','import {\r\n WasteAdd\r\n} from \\\\\\\"./api/waste.js\\\\\\\";\r\nimport app, {\r\n showToast\r\n} from \\\\\\\"./app.js\\\\\\\";\r\nimport store from \\\\\\\"./store.js\\\\\\\";\r\n\r\nvar $ = Dom7;\r\n\r\n// input waste_image\r\n$(document).on(\\\\\\\\\\\\\\\'change\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'input#fileuploadInput\\\\\\\\\\\\\\\', function (e) {\r\n const file = e.target.files[0]\r\n const reader = new FileReader()\r\n\r\n reader.onload = function (e) {\r\n document.querySelector(\\\\\\\\\\\\\\\'.custom-file-upload label\\\\\\\\\\\\\\\').style.backgroundImage = `url(\\\\\\\\\\\\\\\'${e.target.result}\\\\\\\\\\\\\\\')`\r\n document.querySelector(\\\\\\\\\\\\\\\'.custom-file-upload label\\\\\\\\\\\\\\\').style.backgroundSize = \\\\\\\\\\\\\\\'cover\\\\\\\\\\\\\\\'\r\n }\r\n\r\n reader.readAsDataURL(file)\r\n})\r\n\r\n$(document).on(\\\\\\\\\\\\\\\'click\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'#submit-waste-add-form\\\\\\\\\\\\\\\', async function (e) {\r\n var view = app.views.current\r\n const form = $(\\\\\\\\\\\\\\\'form#WasteAddForm\\\\\\\\\\\\\\\')\r\n\r\n const cover_image = form.find(\\\\\\\\\\\\\\\'input[name=\\\\\\\"waste_image\\\\\\\"]\\\\\\\\\\\\\\\').prop(\\\\\\\\\\\\\\\'files\\\\\\\\\\\\\\\')[0]\r\n const category = $(\\\\\\\\\\\\\\\'input[name=\\\\\\\"category\\\\\\\"]\\\\\\\\\\\\\\\').val().trim();\r\n const quantity = $(\\\\\\\\\\\\\\\'input[name=\\\\\\\"quantity\\\\\\\"]\\\\\\\\\\\\\\\').val().trim();\r\n const location = $(\\\\\\\\\\\\\\\'input[name=\\\\\\\"location\\\\\\\"]\\\\\\\\\\\\\\\').val().trim();\r\n //const label = $(\\\\\\\\\\\\\\\'input[name=\\\\\\\"label\\\\\\\"]\\\\\\\\\\\\\\\').val().trim();\r\n const description = $(\\\\\\\\\\\\\\\'#waste_description\\\\\\\\\\\\\\\').val();\r\n\r\n if (!cover_image) {\r\n showToast(\\\\\\\\\\\\\\\'Please upload a cover image\\\\\\\\\\\\\\\')\r\n return\r\n }\r\n\r\n if (quantity === \\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\') {\r\n showToast(\\\\\\\\\\\\\\\'Please enter quantity (kg)\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'Error\\\\\\\\\\\\\\\');\r\n return;\r\n }\r\n if (category === \\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\') {\r\n showToast(\\\\\\\\\\\\\\\'Please enter category\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'Error\\\\\\\\\\\\\\\');\r\n return;\r\n }\r\n\r\n if (location === \\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\') {\r\n showToast(\\\\\\\\\\\\\\\'Please enter your loaction\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'Error\\\\\\\\\\\\\\\');\r\n return;\r\n } \r\n\r\n let base64 = null\r\n\r\n if (cover_image) {\r\n // Wrap the FileReader in a Promise to wait for it to complete\r\n base64 = await new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(cover_image)\r\n\r\n reader.onload = () => resolve(reader.result)\r\n reader.onerror = () => reject(new Error(\\\\\\\\\\\\\\\'Failed to read image as base64\\\\\\\\\\\\\\\'))\r\n })\r\n }\r\n\r\n const data = {\r\n description: description,\r\n cover_photo: base64,\r\n quantity: quantity,\r\n category: category,\r\n location: location,\r\n }\r\n\r\n try {\r\n app.preloader.show()\r\n\r\n const response = await WasteAdd(data)\r\n\r\n app.preloader.hide()\r\n\r\n if (!response || response.error) {\r\n throw new Error(response.error);\r\n }\r\n\r\n showToast(\\\\\\\\\\\\\\\'Add waste successfully\\\\\\\\\\\\\\\')\r\n /*\r\n await store.dispatch(\\\\\\\\\\\\\\\'getMyWastes\\\\\\\\\\\\\\\', {\r\n page: 1,\r\n clear: true\r\n })\r\n */\r\n view.router.back(`/profile/`, {\r\n force: true\r\n })\r\n\r\n //view.router.back()\r\n } catch (error) {\r\n app.notification.create({\r\n titleRightText: \\\\\\\\\\\\\\\'now\\\\\\\\\\\\\\\',\r\n subtitle: \\\\\\\\\\\\\\\'Oops, something went wrong\\\\\\\\\\\\\\\',\r\n text: error.message || \\\\\\\\\\\\\\\'Failed to add post\\\\\\\\\\\\\\\',\r\n }).open()\r\n app.preloader.hide()\r\n }\r\n})');