From f988d16215c116ddf4b9574d6f2bdceb49b07ae9 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 19 May 2025 20:40:11 +0530 Subject: [PATCH] fix: use toast.create api instead of createToast --- .../erpnext_crm_settings.py | 2 +- frontend/components.d.ts | 3 + .../FilesUploader/FilesUploader.vue | 9 +-- .../FilesUploader/FilesUploaderArea.vue | 33 ++++------ frontend/src/components/ListBulkActions.vue | 28 +++----- frontend/src/components/Settings/EmailAdd.vue | 9 +-- .../src/components/Settings/EmailEdit.vue | 15 +---- .../components/Settings/ProfileSettings.vue | 9 +-- .../src/components/Settings/SettingsPage.vue | 17 ++--- .../components/Settings/TelephonySettings.vue | 38 ++--------- frontend/src/components/Telephony/CallUI.vue | 17 ++--- .../src/components/Telephony/ExotelCallUI.vue | 10 +-- frontend/src/components/ViewControls.vue | 10 +-- frontend/src/data/document.js | 18 ++---- frontend/src/data/script.js | 5 +- frontend/src/pages/Contact.vue | 33 ++-------- frontend/src/pages/Deal.vue | 64 +++++-------------- frontend/src/pages/Lead.vue | 53 ++++----------- frontend/src/pages/MobileContact.vue | 33 ++-------- frontend/src/pages/MobileDeal.vue | 50 ++++----------- frontend/src/pages/MobileLead.vue | 40 +++--------- frontend/src/pages/MobileOrganization.vue | 21 +----- frontend/src/pages/Organization.vue | 21 +----- frontend/src/utils/index.js | 29 ++------- frontend/vite.config.js | 8 +-- 25 files changed, 138 insertions(+), 437 deletions(-) diff --git a/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.py b/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.py index f530a65d..7a004387 100644 --- a/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.py +++ b/crm/fcrm/doctype/erpnext_crm_settings/erpnext_crm_settings.py @@ -264,7 +264,7 @@ def create_customer_in_remote_site(customer, erpnext_crm_settings): @frappe.whitelist() def get_crm_form_script(): return """ -async function setupForm({ doc, call, $dialog, updateField, createToast }) { +async function setupForm({ doc, call, $dialog, updateField, toast }) { let actions = []; let is_erpnext_integration_enabled = await call("frappe.client.get_single_value", {doctype: "ERPNext CRM Settings", field: "enabled"}); if (!["Lost", "Won"].includes(doc?.status) && is_erpnext_integration_enabled) { diff --git a/frontend/components.d.ts b/frontend/components.d.ts index bfacdcf1..d824c8a7 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -150,6 +150,8 @@ declare module 'vue' { ListIcon: typeof import('./src/components/Icons/ListIcon.vue')['default'] ListRows: typeof import('./src/components/ListViews/ListRows.vue')['default'] LoadingIndicator: typeof import('./src/components/Icons/LoadingIndicator.vue')['default'] + LucideCalendar: typeof import('~icons/lucide/calendar')['default'] + LucidePlus: typeof import('~icons/lucide/plus')['default'] MarkAsDoneIcon: typeof import('./src/components/Icons/MarkAsDoneIcon.vue')['default'] MaximizeIcon: typeof import('./src/components/Icons/MaximizeIcon.vue')['default'] MenuIcon: typeof import('./src/components/Icons/MenuIcon.vue')['default'] @@ -173,6 +175,7 @@ declare module 'vue' { OrganizationsIcon: typeof import('./src/components/Icons/OrganizationsIcon.vue')['default'] OrganizationsListView: typeof import('./src/components/ListViews/OrganizationsListView.vue')['default'] OutboundCallIcon: typeof import('./src/components/Icons/OutboundCallIcon.vue')['default'] + Password: typeof import('./src/components/Controls/Password.vue')['default'] PauseIcon: typeof import('./src/components/Icons/PauseIcon.vue')['default'] PhoneIcon: typeof import('./src/components/Icons/PhoneIcon.vue')['default'] PinIcon: typeof import('./src/components/Icons/PinIcon.vue')['default'] diff --git a/frontend/src/components/FilesUploader/FilesUploader.vue b/frontend/src/components/FilesUploader/FilesUploader.vue index 2daff30e..8fd5a08e 100644 --- a/frontend/src/components/FilesUploader/FilesUploader.vue +++ b/frontend/src/components/FilesUploader/FilesUploader.vue @@ -104,7 +104,7 @@ import FilesUploaderArea from '@/components/FilesUploader/FilesUploaderArea.vue' import FilesUploadHandler from './filesUploaderHandler' import { isMobileView } from '@/composables/settings' -import { createToast } from '@/utils' +import { toast } from 'frappe-ui' import { ref, computed } from 'vue' const props = defineProps({ @@ -165,12 +165,7 @@ function attachFiles() { function uploadViaWebLink() { let fileUrl = filesUploaderArea.value.webLink if (!fileUrl) { - createToast({ - title: __('Error'), - title: __('Please enter a valid URL'), - icon: 'x', - iconClasses: 'text-ink-red-4', - }) + toast.error(__('Please enter a valid URL')) return } fileUrl = decodeURI(fileUrl) diff --git a/frontend/src/components/FilesUploader/FilesUploaderArea.vue b/frontend/src/components/FilesUploader/FilesUploaderArea.vue index cf69c2fb..d78d0846 100644 --- a/frontend/src/components/FilesUploader/FilesUploaderArea.vue +++ b/frontend/src/components/FilesUploader/FilesUploaderArea.vue @@ -126,8 +126,13 @@ import FileTextIcon from '@/components/Icons/FileTextIcon.vue' import FileAudioIcon from '@/components/Icons/FileAudioIcon.vue' import FileVideoIcon from '@/components/Icons/FileVideoIcon.vue' -import { createToast, formatDate, convertSize } from '@/utils' -import { FormControl, CircularProgressBar, createResource } from 'frappe-ui' +import { formatDate, convertSize } from '@/utils' +import { + FormControl, + CircularProgressBar, + createResource, + toast, +} from 'frappe-ui' import { ref, onMounted, watch, onUnmounted } from 'vue' const props = defineProps({ @@ -324,24 +329,18 @@ function checkRestrictions(file) { if (!isCorrectType) { console.warn('File skipped because of invalid file type', file) - createToast({ - title: __('File "{0}" was skipped because of invalid file type', [ - file.name, - ]), - icon: 'alert-circle', - iconClasses: 'text-orange-600', - }) + toast.warning( + __('File "{0}" was skipped because of invalid file type', [file.name]), + ) } if (!validFileSize) { console.warn('File skipped because of invalid file size', file.size, file) - createToast({ - title: __('File "{0}" was skipped because size exceeds {1} MB', [ + toast.warning( + __('File "{0}" was skipped because size exceeds {1} MB', [ file.name, maxFileSize / (1024 * 1024), ]), - icon: 'alert-circle', - iconClasses: 'text-orange-600', - }) + ) } return isCorrectType && validFileSize @@ -363,11 +362,7 @@ function showMaxFilesNumberWarning(file, maxNumberOfFiles) { ) } - createToast({ - title: message, - icon: 'alert-circle', - iconClasses: 'text-orange-600', - }) + toast.warning(message) } function removeFile(name) { diff --git a/frontend/src/components/ListBulkActions.vue b/frontend/src/components/ListBulkActions.vue index f5d58845..76b41650 100644 --- a/frontend/src/components/ListBulkActions.vue +++ b/frontend/src/components/ListBulkActions.vue @@ -19,10 +19,10 @@