From 44e4299f6b10a5cede69cb5e71a8b83dc6494b51 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 20 Jan 2025 19:19:39 +0800 Subject: [PATCH] Replace toastr with a new implementation. --- .../mvc-razor-pages/javascript-api/notify.md | 33 +-- docs/en/images/js-notify-success.png | Bin 15425 -> 79218 bytes .../Toastr/ToastrScriptBundleContributor.cs | 15 -- .../Toastr/ToastrStyleBundleContributor.cs | 12 - .../SharedThemeGlobalScriptContributor.cs | 4 +- .../SharedThemeGlobalStyleContributor.cs | 5 +- .../toast/abp-toast.css | 139 +++++++++++ .../toast/abp-toast.js | 216 ++++++++++++++++++ .../toastr/abp-toastr.js | 34 --- .../package.json | 3 +- 10 files changed, 377 insertions(+), 84 deletions(-) delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Toastr/ToastrScriptBundleContributor.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Toastr/ToastrStyleBundleContributor.cs create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/toast/abp-toast.css create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/toast/abp-toast.js delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/toastr/abp-toastr.js diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/notify.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/notify.md index 970d35b851..043f811d49 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/notify.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/notify.md @@ -1,6 +1,6 @@ # ASP.NET Core MVC / Razor Pages UI: JavaScript Notify API -Notify API is used to show toast style, auto disappearing UI notifications to the end user. It is implemented by the [Toastr](https://github.com/CodeSeven/toastr) library by default. +Notify API is used to show toast style, auto disappearing UI notifications to the end user. ## Quick Example @@ -26,20 +26,23 @@ There are four types of pre-defined notifications; * `abp.notify.warn(...)` * `abp.notify.error(...)` -All of the methods above gets the following parameters; +All of the methods above accept the following parameters: * `message`: A message (`string`) to show to the user. * `title`: An optional title (`string`). -* `options`: Additional options to be passed to the underlying library, to the Toastr by default. - -## Toastr Configuration - -The notification API is implemented by the [Toastr](https://github.com/CodeSeven/toastr) library by default. You can see its own configuration options. - -**Example: Show toast messages on the top right of the page** - -````js -toastr.options.positionClass = 'toast-top-right'; -```` - -> ABP sets this option to `toast-bottom-right` by default. You can override it just as shown above. \ No newline at end of file +* `options`: Additional options to customize the notification. Available options: + * `life`: Display duration in milliseconds (default: `5000`) + * `sticky`: Keep toast visible until manually closed (default: `false`) + * `closable`: Show close button (default: `true`) + * `tapToDismiss`: Click anywhere on toast to dismiss (default: `false`) + * `containerKey`: Key for multiple container support (optional) + * `iconClass`: Custom icon class (optional) + * `position`: Position configuration (optional) + * `top`: Distance from top (default: `'auto'`) + * `right`: Distance from right (default: `'30px'`) + * `bottom`: Distance from bottom (default: `'30px'`) + * `left`: Distance from left (default: `'auto'`) + +## Global Configuration + +`AbpToastService.setDefaultOptions` method can be used to set default options for all notifications. This method should be called before any notification is shown. diff --git a/docs/en/images/js-notify-success.png b/docs/en/images/js-notify-success.png index d5300f3468fb51ef11b306222730a9e9b5d6648f..8366cb9d5a0d44729f4663d0d646ea4131a376fa 100644 GIT binary patch literal 79218 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
    NI(nltL5S&8afouW%2!kV=L+HdaQ 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 { + for (const key in source) { + if (source[key] && typeof source[key] === 'object') { + target[key] = this.extend(target[key] || {}, source[key]); + } else { + target[key] = source[key]; + } + } + }); + return target; +}; + +// Update toast container position based on global options +AbpToastService.prototype.updateContainerPosition = function() { + const { position } = this.globalOptions; + Object.assign(this.container.style, position); +}; + +// Update global options +AbpToastService.prototype.setGlobalOptions = function(options) { + this.globalOptions = this.extend({}, this.globalOptions, options); + this.updateContainerPosition(); +}; + +// Get icon class based on severity +AbpToastService.prototype.getIconClass = function(severity, options) { + // Use custom icon class if provided + if (options.iconClass) { + return options.iconClass; + } + + const icons = { + success: 'bi-check', + info: 'bi-info-circle', + warning: 'bi-exclamation-triangle', + error: 'bi-shield-exclamation' + }; + return icons[severity] || 'bi-exclamation-triangle'; +}; + +// Create toast DOM element +AbpToastService.prototype.createToastElement = function(message, title, severity, options) { + const toast = document.createElement('div'); + toast.className = `abp-toast abp-toast-${severity}`; + + const closeButton = options.closable !== false ? + `` : ''; + + const titleHtml = title ? `
    ${title}
    ` : ''; + + toast.innerHTML = ` +
    + +
    +
    + ${closeButton} + ${titleHtml} +

    ${message}

    +
    `; + + // Add event listeners + const closeButtonElement = toast.querySelector('.abp-toast-close-button'); + if (closeButtonElement) { + closeButtonElement.addEventListener('click', () => this.remove(toast)); + } + + if (options.tapToDismiss) { + toast.addEventListener('click', () => this.remove(toast)); + } + + return toast; +}; + +// Show a toast with given options +AbpToastService.prototype.show = function(message, title, severity = 'neutral', options = {}) { + const mergedOptions = this.extend({}, this.globalOptions, options); + const id = ++this.lastId; + const toast = this.createToastElement(message, title, severity, mergedOptions); + + // Set data attributes for non-object options + Object.entries(mergedOptions) + .filter(([_, value]) => typeof value !== 'object') + .forEach(([key, value]) => toast.dataset[key] = value); + + toast.dataset.id = id; + this.container.appendChild(toast); + this.toasts.push(toast); + + // Auto remove if not sticky + if (!mergedOptions.sticky) { + setTimeout(() => this.remove(toast), mergedOptions.life); + } + + return id; +}; + +// Remove a toast with animation +AbpToastService.prototype.remove = function(toastElement) { + toastElement.classList.add('toast-removing'); + setTimeout(() => { + if (toastElement.parentNode === this.container) { + this.container.removeChild(toastElement); + } + this.toasts = this.toasts.filter(t => t !== toastElement); + }, 300); // Match animation duration +}; + +// Convenience methods for different severities +AbpToastService.prototype.success = function(message, title, options) { + return this.show(message, title, 'success', options); +}; + +AbpToastService.prototype.error = function(message, title, options) { + return this.show(message, title, 'error', options); +}; + +AbpToastService.prototype.info = function(message, title, options) { + return this.show(message, title, 'info', options); +}; + +AbpToastService.prototype.warning = function(message, title, options) { + return this.show(message, title, 'warning', options); +}; + +// Clear all toasts +AbpToastService.prototype.clear = function(containerKey) { + if (containerKey) { + this.toasts = this.toasts.filter(toast => { + const shouldRemove = toast.dataset.containerKey === containerKey; + if (shouldRemove) { + this.remove(toast); + } + return !shouldRemove; + }); + } else { + this.toasts.forEach(toast => this.remove(toast)); + } +}; + +// Static method to set default options for all instances +AbpToastService.setDefaultOptions = function(options) { + AbpToastService.defaultOptions = this.prototype.extend({}, AbpToastService.defaultOptions, options); +}; + +var abp = abp || {}; +(function () { + var toast; + + function getToast() { + if (!toast) { + toast = new AbpToastService(); + } + return toast; + } + + abp.notify.success = function (message, title, options) { + getToast().success(message, title, options); + }; + + abp.notify.info = function (message, title, options) { + getToast().info(message, title, options); + }; + + abp.notify.warn = function (message, title, options) { + getToast().warning(message, title, options); + }; + + abp.notify.error = function (message, title, options) { + getToast().error(message, title, options); + }; +})(); \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/toastr/abp-toastr.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/toastr/abp-toastr.js deleted file mode 100644 index 37a7c40166..0000000000 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/toastr/abp-toastr.js +++ /dev/null @@ -1,34 +0,0 @@ -var abp = abp || {}; -(function () { - - if (!toastr) { - return; - } - - /* DEFAULTS *************************************************/ - - toastr.options.positionClass = 'toast-bottom-right'; - - /* NOTIFICATION *********************************************/ - - var showNotification = function (type, message, title, options) { - toastr[type](message, title, options); - }; - - abp.notify.success = function (message, title, options) { - showNotification('success', message, title, options); - }; - - abp.notify.info = function (message, title, options) { - showNotification('info', message, title, options); - }; - - abp.notify.warn = function (message, title, options) { - showNotification('warning', message, title, options); - }; - - abp.notify.error = function (message, title, options) { - showNotification('error', message, title, options); - }; - -})(); \ No newline at end of file diff --git a/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json b/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json index bbd90971f9..fc77c3a467 100644 --- a/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json +++ b/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json @@ -24,8 +24,7 @@ "@abp/moment": "~9.1.0-rc.1", "@abp/select2": "~9.1.0-rc.1", "@abp/sweetalert2": "~9.1.0-rc.1", - "@abp/timeago": "~9.1.0-rc.1", - "@abp/toastr": "~9.1.0-rc.1" + "@abp/timeago": "~9.1.0-rc.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io",