INSERT INTO `cp_filejs` (`id`,`app`,`path`,`modul`,`file_name`,`content`) VALUES ('278','1','u2/creator','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})');