uni-app-fe 0.0.1 → 0.0.2
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/fesm2022/uni-app-fe.mjs
CHANGED
|
@@ -158,7 +158,7 @@ class UNIPopupService {
|
|
|
158
158
|
}
|
|
159
159
|
createPopup(args) {
|
|
160
160
|
/* Recupera args */
|
|
161
|
-
const { id, type, message, html,
|
|
161
|
+
const { id, type, message, html, title, detail, closable } = args;
|
|
162
162
|
/* Aggiunge pulsante il dettaglio dell'errore */
|
|
163
163
|
const toolbarItems = [];
|
|
164
164
|
if (detail && message) {
|
|
@@ -172,7 +172,7 @@ class UNIPopupService {
|
|
|
172
172
|
this.createPopupInstance({
|
|
173
173
|
id,
|
|
174
174
|
type,
|
|
175
|
-
title: UniLocaleManager.translate(
|
|
175
|
+
title: title ?? UniLocaleManager.translate('ErrorFrontend'),
|
|
176
176
|
message: message ?? html,
|
|
177
177
|
toolbarItems,
|
|
178
178
|
});
|
|
@@ -180,24 +180,24 @@ class UNIPopupService {
|
|
|
180
180
|
/* -------------------------------- Methods: popup error/warning -------------------------------- */
|
|
181
181
|
createPopupError(args) {
|
|
182
182
|
/* Recupera args */
|
|
183
|
-
const { message,
|
|
183
|
+
const { message, title, detail, closable, ref } = args;
|
|
184
184
|
this.createPopup({
|
|
185
185
|
id: `popup-${ref ?? Date.now()}`,
|
|
186
186
|
type: 'ERROR',
|
|
187
187
|
message,
|
|
188
|
-
|
|
188
|
+
title,
|
|
189
189
|
detail,
|
|
190
190
|
closable,
|
|
191
191
|
});
|
|
192
192
|
}
|
|
193
193
|
createPopupWarning(args) {
|
|
194
194
|
/* Recupera args */
|
|
195
|
-
const { message,
|
|
195
|
+
const { message, title, detail, closable, ref } = args;
|
|
196
196
|
this.createPopup({
|
|
197
197
|
id: `popup-${ref ?? Date.now()}`,
|
|
198
198
|
type: 'WARNING',
|
|
199
199
|
message,
|
|
200
|
-
|
|
200
|
+
title,
|
|
201
201
|
detail,
|
|
202
202
|
closable,
|
|
203
203
|
});
|
|
@@ -227,10 +227,9 @@ class UNIPopupService {
|
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
/* Creazione popup */
|
|
230
|
-
const errorMessage = UniLocaleManager.translate(`error${err.status}`); // es: error404, error500
|
|
231
230
|
this.createPopupError({
|
|
232
|
-
message:
|
|
233
|
-
|
|
231
|
+
message: UniLocaleManager.translate(`error${err.status}`), // es: error404, error500
|
|
232
|
+
title: UniLocaleManager.translate(`ErrorBackend`),
|
|
234
233
|
detail: { message: errorDetail, messageToCopy: JSON.stringify(err) },
|
|
235
234
|
ref,
|
|
236
235
|
});
|
|
@@ -243,7 +242,7 @@ class UNIPopupService {
|
|
|
243
242
|
return;
|
|
244
243
|
this.createPopupError({
|
|
245
244
|
message: UniLocaleManager.translate(label, 'lbl', interpolateParams),
|
|
246
|
-
|
|
245
|
+
title: UniLocaleManager.translate('ErrorBackendCustom'),
|
|
247
246
|
detail: undefined,
|
|
248
247
|
closable: true,
|
|
249
248
|
ref,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uni-app-fe.mjs","sources":["../../../projects/uni-app-fe/src/manager/locale.manager.ts","../../../projects/uni-app-fe/src/pipe/uni-translate-inline-params.pipe.ts","../../../projects/uni-app-fe/src/pipe/uni-translate.pipe.ts","../../../projects/uni-app-fe/src/pipe/index.ts","../../../projects/uni-app-fe/src/service/uni-loader.service.ts","../../../projects/uni-app-fe/src/service/uni-popup.service.ts","../../../projects/uni-app-fe/src/service/uni-toast.service.ts","../../../projects/uni-app-fe/src/public-api.ts","../../../projects/uni-app-fe/src/uni-app-fe.ts"],"sourcesContent":["import { registerLocaleData } from '@angular/common';\r\nimport localeEs from '@angular/common/locales/es';\r\nimport localeIt from '@angular/common/locales/it';\r\nimport { loadMessages, locale } from 'devextreme/localization';\r\nimport esMessages from 'devextreme/localization/messages/es.json';\r\nimport itMessages from 'devextreme/localization/messages/it.json';\r\nimport { UniLocaleManager } from 'uni-manager';\r\n\r\nexport class UniLocaleManagerAngular {\r\n /* ------------------------------------------------------------------------------- */\r\n /* ----------------------------------- Metodi ------------------------------------ */\r\n /* ------------------------------------------------------------------------------- */\r\n /**\r\n * Registra i dati specifici del locale nel framework Angular.\r\n * Necessario per garantire che le pipe built-in (es. DatePipe, CurrencyPipe) operino secondo le convenzioni del paese corrente.\r\n */\r\n public static setLocaleAngular(): void {\r\n /* Imposta i dati del locale corrente in Angular necessari per le pipe */\r\n switch (UniLocaleManager.locale) {\r\n case 'it':\r\n registerLocaleData(localeIt);\r\n break;\r\n case 'es':\r\n registerLocaleData(localeEs);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Inizializza la localizzazione specifica per i componenti DevExtreme.\r\n * Imposta il locale per le formattazioni native dei widget e carica i file di messaggi JSON per la traduzione dei testi di sistema.\r\n */\r\n public static setLocaleDevextreme(): void {\r\n /* Imposta i dati del locale corrente in DevExtreme */\r\n locale(UniLocaleManager.locale);\r\n\r\n /* Carica i messaggi di traduzione */\r\n switch (UniLocaleManager.language) {\r\n case 'it':\r\n loadMessages(itMessages);\r\n break;\r\n case 'es':\r\n loadMessages(esMessages);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n","import { Pipe, type PipeTransform } from '@angular/core';\r\nimport { UniLocaleManager } from 'uni-manager';\r\n\r\n@Pipe({\r\n name: 'translate_inline_params',\r\n standalone: true,\r\n})\r\nexport class UNITranslateInlineParamsPipe implements PipeTransform {\r\n transform(label: string | null | undefined, splitChar: string): string {\r\n if (!label) return '';\r\n\r\n return UniLocaleManager.translateInlineParams(label, splitChar);\r\n }\r\n}\r\n","import { Pipe, type PipeTransform } from '@angular/core';\r\nimport { UniLocaleManager } from 'uni-manager';\r\n\r\n@Pipe({\r\n name: 'translate',\r\n standalone: true,\r\n})\r\nexport class UNITranslatePipe implements PipeTransform {\r\n transform(\r\n label: string | null | undefined,\r\n prefix = 'lbl',\r\n interpolateParams?: Record<string, string | number | Date>,\r\n ): string {\r\n if (!label) return '';\r\n\r\n return UniLocaleManager.translate(label, prefix, interpolateParams);\r\n }\r\n}\r\n","/* eslint-disable simple-import-sort/exports */\r\n\r\nexport * from './uni-translate-inline-params.pipe';\r\nexport * from './uni-translate.pipe';\r\n","import { Injectable } from '@angular/core';\r\nimport LoadPanel from 'devextreme/ui/load_panel';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UNILoaderService {\r\n /* Load Panel */\r\n private loadPanel: LoadPanel;\r\n\r\n constructor() {\r\n const container = document.querySelector('body');\r\n const content: HTMLDivElement = document.createElement('div');\r\n container!.appendChild(content);\r\n\r\n this.loadPanel = new LoadPanel(content, {\r\n showIndicator: true,\r\n showPane: true,\r\n shading: true,\r\n shadingColor: 'rgba(0,0,0,0.4)',\r\n });\r\n }\r\n\r\n /* ------------------------------------- Methods ------------------------------------- */\r\n public show(): void {\r\n this.loadPanel.show();\r\n }\r\n\r\n public hide(): void {\r\n this.loadPanel.hide();\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { custom } from 'devextreme/ui/dialog';\r\nimport Popup, { ToolbarItem } from 'devextreme/ui/popup';\r\nimport { UniLocaleManager } from 'uni-manager';\r\n\r\nexport type PopupType = 'INFO' | 'WARNING' | 'ERROR';\r\n\r\nexport type Instance = Popup<{\r\n title: string;\r\n deferRendering: boolean;\r\n maxHeight: number;\r\n maxWidth: number;\r\n dragEnabled: boolean;\r\n showCloseButton: boolean;\r\n hideOnOutsideClick: boolean;\r\n shading: boolean;\r\n wrapperAttr: { id: string; class?: string };\r\n toolbarItems: ToolbarItem[];\r\n contentTemplate: () => HTMLDivElement;\r\n onHidden: () => void;\r\n}>;\r\n\r\nexport type PopupContent = { message: string; html?: never } | { message?: never; html: string };\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UNIPopupService {\r\n /* Variables */\r\n private instances = new Map<string, Instance>();\r\n\r\n /* -------------------------------- Methods: popup creation -------------------------------- */\r\n public async createPopupConfirm(\r\n args: PopupContent & {\r\n onConfirm: () => void;\r\n lblTitle?: string;\r\n maxWidth?: number;\r\n },\r\n ): Promise<void> {\r\n const { message, html, onConfirm, lblTitle, maxWidth } = args;\r\n\r\n // Creazione del contenuto come stringa HTML\r\n const messageHtml =\r\n html ??\r\n `\r\n <div style=\"\r\n white-space: pre-line;\r\n word-break: break-all;\r\n padding: 0rem 1rem 1rem 1rem;\r\n max-width: ${typeof maxWidth === 'number' ? maxWidth + 'px' : '800px'};\r\n \">\r\n ${message ?? ''}\r\n </div>\r\n `;\r\n\r\n await custom({\r\n title: lblTitle && UniLocaleManager.translate(lblTitle),\r\n dragEnabled: false,\r\n showTitle: !!lblTitle,\r\n messageHtml,\r\n buttons: [\r\n {\r\n text: UniLocaleManager.translate('Confirm', 'btn'),\r\n onClick: onConfirm,\r\n },\r\n {\r\n text: UniLocaleManager.translate('Delete', 'btn'),\r\n onClick: (): null => null,\r\n },\r\n ],\r\n }).show();\r\n }\r\n\r\n public createPopup(\r\n args: PopupContent & {\r\n id: string;\r\n type: PopupType;\r\n lblTitle?: string;\r\n detail?: { message: string; messageToCopy?: string };\r\n closable?: boolean;\r\n },\r\n ): void {\r\n /* Recupera args */\r\n const { id, type, message, html, lblTitle, detail, closable } = args;\r\n\r\n /* Aggiunge pulsante il dettaglio dell'errore */\r\n const toolbarItems: ToolbarItem[] = [];\r\n if (detail && message) {\r\n toolbarItems.push(\r\n ...this.createErrorItems(id, message, detail.message, detail.messageToCopy),\r\n );\r\n }\r\n\r\n /* Aggiunge pulsante per la chiusura del popup (possibile poi solo da qui) */\r\n if (closable || closable === undefined) {\r\n toolbarItems.push(this.createCloseItem(id));\r\n }\r\n\r\n /* Crea popup */\r\n this.createPopupInstance({\r\n id,\r\n type,\r\n title: UniLocaleManager.translate(lblTitle ?? 'lblErrorFrontend'),\r\n message: message ?? html,\r\n toolbarItems,\r\n });\r\n }\r\n\r\n /* -------------------------------- Methods: popup error/warning -------------------------------- */\r\n public createPopupError(args: {\r\n message: string;\r\n lblTitle?: string;\r\n detail?: { message: string; messageToCopy?: string };\r\n closable?: boolean;\r\n ref?: string;\r\n }): void {\r\n /* Recupera args */\r\n const { message, lblTitle, detail, closable, ref } = args;\r\n\r\n this.createPopup({\r\n id: `popup-${ref ?? Date.now()}`,\r\n type: 'ERROR',\r\n message,\r\n lblTitle,\r\n detail,\r\n closable,\r\n });\r\n }\r\n\r\n public createPopupWarning(args: {\r\n message: string;\r\n lblTitle?: string;\r\n detail?: { message: string; messageToCopy?: string };\r\n closable?: boolean;\r\n ref?: string;\r\n }): void {\r\n /* Recupera args */\r\n const { message, lblTitle, detail, closable, ref } = args;\r\n\r\n this.createPopup({\r\n id: `popup-${ref ?? Date.now()}`,\r\n type: 'WARNING',\r\n message,\r\n lblTitle,\r\n detail,\r\n closable,\r\n });\r\n }\r\n\r\n public async createPopupErrorHttp(args: { err: HttpErrorResponse; ref?: string }): Promise<void> {\r\n /* Recupera args */\r\n const { err, ref } = args;\r\n\r\n /* Evita doppia istanza con lo stesso id */\r\n if (this.isPopupAlreadyExisting(ref)) return;\r\n\r\n /* Message detail */\r\n const { status, statusText, message, error } = err;\r\n let errorDetail = `[${status} - ${statusText}]: ${message}`;\r\n if (error) {\r\n try {\r\n if (error instanceof Blob) errorDetail += `\\n ${await error.text()}`;\r\n else if (typeof error === 'string') errorDetail += `\\n ${error}`;\r\n else if (typeof error === 'object') errorDetail += `\\n ${JSON.stringify(error, null, 2)}`;\r\n else errorDetail += `\\n ${String(error)}`;\r\n } catch (e) {\r\n errorDetail += `\\n Error processing the error message: ${e}`;\r\n }\r\n }\r\n\r\n /* Creazione popup */\r\n const errorMessage = UniLocaleManager.translate(`error${err.status}`); // es: error404, error500\r\n this.createPopupError({\r\n message: errorMessage,\r\n lblTitle: 'lblErrorBackend',\r\n detail: { message: errorDetail, messageToCopy: JSON.stringify(err) },\r\n ref,\r\n });\r\n }\r\n\r\n public async createPopupErrorCustom(args: {\r\n label: string;\r\n interpolateParams?: Record<string, string | number | Date>;\r\n ref?: string;\r\n }): Promise<void> {\r\n /* Recupera args */\r\n const { label, interpolateParams, ref } = args;\r\n\r\n /* Evita doppia istanza con lo stesso id */\r\n if (this.isPopupAlreadyExisting(ref)) return;\r\n\r\n this.createPopupError({\r\n message: UniLocaleManager.translate(label, 'lbl', interpolateParams),\r\n lblTitle: 'lblErrorBackendCustom',\r\n detail: undefined,\r\n closable: true,\r\n ref,\r\n });\r\n }\r\n\r\n /* -------------------------------- Methods: popup close -------------------------------- */\r\n public closePopupError(ref: string): void {\r\n const id = `popup-${ref}`;\r\n const instance = this.instances.get(id);\r\n if (!instance) return;\r\n\r\n instance.dispose();\r\n instance.element()?.remove();\r\n this.instances.delete(id);\r\n }\r\n\r\n /* -------------------------------- Methods: utils -------------------------------- */\r\n private createCloseItem(id?: string): ToolbarItem {\r\n return {\r\n widget: 'dxButton',\r\n toolbar: 'bottom',\r\n location: 'after',\r\n options: {\r\n type: 'normal',\r\n icon: 'close',\r\n text: UniLocaleManager.translate('Close', 'btn'),\r\n stylingMode: 'contained',\r\n onClick: (): void => {\r\n const popup = id ? this.instances.get(id) : undefined;\r\n popup?.hide();\r\n },\r\n },\r\n };\r\n }\r\n\r\n private createErrorItems(\r\n id: string,\r\n initialMessage: string,\r\n detailMessage: string,\r\n messageToCopy?: string,\r\n ): ToolbarItem[] {\r\n let inShow = false; // Variabile di stato per i dettagli\r\n const items: ToolbarItem[] = [\r\n {\r\n widget: 'dxButton',\r\n toolbar: 'bottom',\r\n location: 'before',\r\n options: {\r\n type: 'normal',\r\n icon: 'find',\r\n text: UniLocaleManager.translate('Details', 'btn'),\r\n stylingMode: 'contained',\r\n onClick: (e: any): void => {\r\n const popup = this.instances.get(id);\r\n if (!popup) return;\r\n const content = popup.content().firstElementChild as HTMLElement;\r\n if (!content) return;\r\n inShow = !inShow;\r\n content.textContent = inShow ? detailMessage : initialMessage;\r\n if (inShow) {\r\n // Modalità dettaglio\r\n content.style.display = 'block';\r\n content.style.textAlign = 'left';\r\n } else {\r\n // Modalità principal\r\n content.style.display = 'flex';\r\n content.style.alignItems = 'center';\r\n content.style.justifyContent = 'center';\r\n content.style.textAlign = 'center';\r\n }\r\n e.component.option({\r\n text: UniLocaleManager.translate(inShow ? 'Back' : 'Details', 'btn'),\r\n icon: inShow ? 'back' : 'find',\r\n });\r\n },\r\n },\r\n },\r\n {\r\n widget: 'dxButton',\r\n toolbar: 'bottom',\r\n location: 'before',\r\n options: {\r\n type: 'normal',\r\n icon: 'refresh',\r\n text: UniLocaleManager.translate('Refresh', 'btn'),\r\n stylingMode: 'contained',\r\n onClick: (): void => location.reload(),\r\n },\r\n },\r\n ];\r\n\r\n if (messageToCopy) {\r\n items.push({\r\n visible: window.isSecureContext,\r\n widget: 'dxButton',\r\n toolbar: 'bottom',\r\n location: 'after',\r\n options: {\r\n type: 'normal',\r\n icon: 'copy',\r\n text: UniLocaleManager.translate('Copy', 'btn'),\r\n stylingMode: 'contained',\r\n onClick: (): void => {\r\n try {\r\n navigator?.clipboard?.writeText(messageToCopy);\r\n } catch (e) {\r\n console.error('Failed to copy text: ', e);\r\n }\r\n },\r\n },\r\n });\r\n }\r\n\r\n return items;\r\n }\r\n\r\n private createPopupInstance(arg: {\r\n id: string;\r\n type: PopupType;\r\n title: string;\r\n message: string;\r\n toolbarItems: ToolbarItem[];\r\n }): void {\r\n /* Recupera argomenti */\r\n const { id, type, title, message, toolbarItems = [] } = arg;\r\n\r\n /* Evita doppia istanza con lo stesso id */\r\n if (this.instances.has(id)) {\r\n this.instances.get(id)?.show();\r\n return;\r\n }\r\n\r\n /* Crea container del popup */\r\n const container = document.createElement('div');\r\n document.body.appendChild(container);\r\n\r\n /* Crea classe css */\r\n let cssClass = '';\r\n switch (type) {\r\n case 'WARNING':\r\n cssClass = 'uni-popup-warning';\r\n break;\r\n case 'ERROR':\r\n cssClass = 'uni-popup-error';\r\n break;\r\n case 'INFO':\r\n cssClass = 'uni-popup-info';\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n /* Crea popup */\r\n const popup = new Popup(container, {\r\n title,\r\n deferRendering: false,\r\n maxHeight: 500,\r\n maxWidth: 1000,\r\n dragEnabled: false,\r\n showCloseButton: false,\r\n hideOnOutsideClick: false,\r\n shading: true,\r\n wrapperAttr: {\r\n id,\r\n ...(cssClass && { class: cssClass }),\r\n },\r\n toolbarItems,\r\n contentTemplate: (): HTMLDivElement => {\r\n const messageContainer = document.createElement('div');\r\n messageContainer.style.display = 'flex';\r\n messageContainer.style.alignItems = 'center';\r\n messageContainer.style.justifyContent = 'center';\r\n messageContainer.style.whiteSpace = 'pre-line';\r\n messageContainer.style.wordBreak = 'break-all';\r\n messageContainer.style.height = '100%';\r\n messageContainer.style.textAlign = 'center';\r\n messageContainer.textContent = message;\r\n return messageContainer;\r\n },\r\n onHidden: (): void => {\r\n popup.dispose();\r\n container.remove();\r\n this.instances.delete(id);\r\n },\r\n });\r\n\r\n /* Mostra popup */\r\n this.instances.set(id, popup);\r\n popup.show();\r\n }\r\n\r\n private isPopupAlreadyExisting(ref?: string): boolean {\r\n if (!ref) return false;\r\n\r\n const id = `popup-${ref}`;\r\n const existingPopup = this.instances.get(id);\r\n\r\n if (existingPopup) {\r\n existingPopup.show();\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport notify from 'devextreme/ui/notify';\r\nimport { ToastType } from 'devextreme/ui/toast_types';\r\nimport { IToastManager, ToastConfig } from 'uni-manager';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UNIToastService implements IToastManager {\r\n public success(message: string, config?: ToastConfig): void {\r\n this.show(message, 'success', config);\r\n }\r\n\r\n public info(message: string, config?: ToastConfig): void {\r\n this.show(message, 'info', config);\r\n }\r\n\r\n public warning(message: string, config?: ToastConfig): void {\r\n this.show(message, 'warning', config);\r\n }\r\n\r\n public error(message: string, config?: ToastConfig): void {\r\n this.show(message, 'error', config);\r\n }\r\n\r\n /* ----------------------- Metodi: utils ----------------------- */\r\n private show(message: string, type: ToastType, config?: ToastConfig): void {\r\n notify(\r\n {\r\n message,\r\n type,\r\n height: 50,\r\n width: 400,\r\n displayTime: config?.duration ?? 4000,\r\n animation: {\r\n show: { type: 'fade', duration: 400, from: 0, to: 1 },\r\n hide: { type: 'fade', duration: 300, from: 1, to: 0 },\r\n },\r\n },\r\n { position: 'bottom center', direction: 'up-push' },\r\n );\r\n }\r\n}\r\n","/*\r\n * Public API Surface of uni-app-fe\r\n */\r\n\r\nexport * from './manager/index';\r\nexport * from './pipe/index';\r\nexport * from './service/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"uni-app-fe.mjs","sources":["../../../projects/uni-app-fe/src/manager/locale.manager.ts","../../../projects/uni-app-fe/src/pipe/uni-translate-inline-params.pipe.ts","../../../projects/uni-app-fe/src/pipe/uni-translate.pipe.ts","../../../projects/uni-app-fe/src/pipe/index.ts","../../../projects/uni-app-fe/src/service/uni-loader.service.ts","../../../projects/uni-app-fe/src/service/uni-popup.service.ts","../../../projects/uni-app-fe/src/service/uni-toast.service.ts","../../../projects/uni-app-fe/src/public-api.ts","../../../projects/uni-app-fe/src/uni-app-fe.ts"],"sourcesContent":["import { registerLocaleData } from '@angular/common';\r\nimport localeEs from '@angular/common/locales/es';\r\nimport localeIt from '@angular/common/locales/it';\r\nimport { loadMessages, locale } from 'devextreme/localization';\r\nimport esMessages from 'devextreme/localization/messages/es.json';\r\nimport itMessages from 'devextreme/localization/messages/it.json';\r\nimport { UniLocaleManager } from 'uni-manager';\r\n\r\nexport class UniLocaleManagerAngular {\r\n /* ------------------------------------------------------------------------------- */\r\n /* ----------------------------------- Metodi ------------------------------------ */\r\n /* ------------------------------------------------------------------------------- */\r\n /**\r\n * Registra i dati specifici del locale nel framework Angular.\r\n * Necessario per garantire che le pipe built-in (es. DatePipe, CurrencyPipe) operino secondo le convenzioni del paese corrente.\r\n */\r\n public static setLocaleAngular(): void {\r\n /* Imposta i dati del locale corrente in Angular necessari per le pipe */\r\n switch (UniLocaleManager.locale) {\r\n case 'it':\r\n registerLocaleData(localeIt);\r\n break;\r\n case 'es':\r\n registerLocaleData(localeEs);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Inizializza la localizzazione specifica per i componenti DevExtreme.\r\n * Imposta il locale per le formattazioni native dei widget e carica i file di messaggi JSON per la traduzione dei testi di sistema.\r\n */\r\n public static setLocaleDevextreme(): void {\r\n /* Imposta i dati del locale corrente in DevExtreme */\r\n locale(UniLocaleManager.locale);\r\n\r\n /* Carica i messaggi di traduzione */\r\n switch (UniLocaleManager.language) {\r\n case 'it':\r\n loadMessages(itMessages);\r\n break;\r\n case 'es':\r\n loadMessages(esMessages);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n","import { Pipe, type PipeTransform } from '@angular/core';\r\nimport { UniLocaleManager } from 'uni-manager';\r\n\r\n@Pipe({\r\n name: 'translate_inline_params',\r\n standalone: true,\r\n})\r\nexport class UNITranslateInlineParamsPipe implements PipeTransform {\r\n transform(label: string | null | undefined, splitChar: string): string {\r\n if (!label) return '';\r\n\r\n return UniLocaleManager.translateInlineParams(label, splitChar);\r\n }\r\n}\r\n","import { Pipe, type PipeTransform } from '@angular/core';\r\nimport { UniLocaleManager } from 'uni-manager';\r\n\r\n@Pipe({\r\n name: 'translate',\r\n standalone: true,\r\n})\r\nexport class UNITranslatePipe implements PipeTransform {\r\n transform(\r\n label: string | null | undefined,\r\n prefix = 'lbl',\r\n interpolateParams?: Record<string, string | number | Date>,\r\n ): string {\r\n if (!label) return '';\r\n\r\n return UniLocaleManager.translate(label, prefix, interpolateParams);\r\n }\r\n}\r\n","/* eslint-disable simple-import-sort/exports */\r\n\r\nexport * from './uni-translate-inline-params.pipe';\r\nexport * from './uni-translate.pipe';\r\n","import { Injectable } from '@angular/core';\r\nimport LoadPanel from 'devextreme/ui/load_panel';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UNILoaderService {\r\n /* Load Panel */\r\n private loadPanel: LoadPanel;\r\n\r\n constructor() {\r\n const container = document.querySelector('body');\r\n const content: HTMLDivElement = document.createElement('div');\r\n container!.appendChild(content);\r\n\r\n this.loadPanel = new LoadPanel(content, {\r\n showIndicator: true,\r\n showPane: true,\r\n shading: true,\r\n shadingColor: 'rgba(0,0,0,0.4)',\r\n });\r\n }\r\n\r\n /* ------------------------------------- Methods ------------------------------------- */\r\n public show(): void {\r\n this.loadPanel.show();\r\n }\r\n\r\n public hide(): void {\r\n this.loadPanel.hide();\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { custom } from 'devextreme/ui/dialog';\r\nimport Popup, { ToolbarItem } from 'devextreme/ui/popup';\r\nimport { UniLocaleManager } from 'uni-manager';\r\n\r\nexport type PopupType = 'INFO' | 'WARNING' | 'ERROR';\r\n\r\nexport type Instance = Popup<{\r\n title: string;\r\n deferRendering: boolean;\r\n maxHeight: number;\r\n maxWidth: number;\r\n dragEnabled: boolean;\r\n showCloseButton: boolean;\r\n hideOnOutsideClick: boolean;\r\n shading: boolean;\r\n wrapperAttr: { id: string; class?: string };\r\n toolbarItems: ToolbarItem[];\r\n contentTemplate: () => HTMLDivElement;\r\n onHidden: () => void;\r\n}>;\r\n\r\nexport type PopupContent = { message: string; html?: never } | { message?: never; html: string };\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UNIPopupService {\r\n /* Variables */\r\n private instances = new Map<string, Instance>();\r\n\r\n /* -------------------------------- Methods: popup creation -------------------------------- */\r\n public async createPopupConfirm(\r\n args: PopupContent & {\r\n onConfirm: () => void;\r\n lblTitle?: string;\r\n maxWidth?: number;\r\n },\r\n ): Promise<void> {\r\n const { message, html, onConfirm, lblTitle, maxWidth } = args;\r\n\r\n // Creazione del contenuto come stringa HTML\r\n const messageHtml =\r\n html ??\r\n `\r\n <div style=\"\r\n white-space: pre-line;\r\n word-break: break-all;\r\n padding: 0rem 1rem 1rem 1rem;\r\n max-width: ${typeof maxWidth === 'number' ? maxWidth + 'px' : '800px'};\r\n \">\r\n ${message ?? ''}\r\n </div>\r\n `;\r\n\r\n await custom({\r\n title: lblTitle && UniLocaleManager.translate(lblTitle),\r\n dragEnabled: false,\r\n showTitle: !!lblTitle,\r\n messageHtml,\r\n buttons: [\r\n {\r\n text: UniLocaleManager.translate('Confirm', 'btn'),\r\n onClick: onConfirm,\r\n },\r\n {\r\n text: UniLocaleManager.translate('Delete', 'btn'),\r\n onClick: (): null => null,\r\n },\r\n ],\r\n }).show();\r\n }\r\n\r\n public createPopup(\r\n args: PopupContent & {\r\n id: string;\r\n type: PopupType;\r\n title?: string;\r\n detail?: { message: string; messageToCopy?: string };\r\n closable?: boolean;\r\n },\r\n ): void {\r\n /* Recupera args */\r\n const { id, type, message, html, title, detail, closable } = args;\r\n\r\n /* Aggiunge pulsante il dettaglio dell'errore */\r\n const toolbarItems: ToolbarItem[] = [];\r\n if (detail && message) {\r\n toolbarItems.push(\r\n ...this.createErrorItems(id, message, detail.message, detail.messageToCopy),\r\n );\r\n }\r\n\r\n /* Aggiunge pulsante per la chiusura del popup (possibile poi solo da qui) */\r\n if (closable || closable === undefined) {\r\n toolbarItems.push(this.createCloseItem(id));\r\n }\r\n\r\n /* Crea popup */\r\n this.createPopupInstance({\r\n id,\r\n type,\r\n title: title ?? UniLocaleManager.translate('ErrorFrontend'),\r\n message: message ?? html,\r\n toolbarItems,\r\n });\r\n }\r\n\r\n /* -------------------------------- Methods: popup error/warning -------------------------------- */\r\n public createPopupError(args: {\r\n message: string;\r\n title?: string;\r\n detail?: { message: string; messageToCopy?: string };\r\n closable?: boolean;\r\n ref?: string;\r\n }): void {\r\n /* Recupera args */\r\n const { message, title, detail, closable, ref } = args;\r\n\r\n this.createPopup({\r\n id: `popup-${ref ?? Date.now()}`,\r\n type: 'ERROR',\r\n message,\r\n title,\r\n detail,\r\n closable,\r\n });\r\n }\r\n\r\n public createPopupWarning(args: {\r\n message: string;\r\n title?: string;\r\n detail?: { message: string; messageToCopy?: string };\r\n closable?: boolean;\r\n ref?: string;\r\n }): void {\r\n /* Recupera args */\r\n const { message, title, detail, closable, ref } = args;\r\n\r\n this.createPopup({\r\n id: `popup-${ref ?? Date.now()}`,\r\n type: 'WARNING',\r\n message,\r\n title,\r\n detail,\r\n closable,\r\n });\r\n }\r\n\r\n public async createPopupErrorHttp(args: { err: HttpErrorResponse; ref?: string }): Promise<void> {\r\n /* Recupera args */\r\n const { err, ref } = args;\r\n\r\n /* Evita doppia istanza con lo stesso id */\r\n if (this.isPopupAlreadyExisting(ref)) return;\r\n\r\n /* Message detail */\r\n const { status, statusText, message, error } = err;\r\n let errorDetail = `[${status} - ${statusText}]: ${message}`;\r\n if (error) {\r\n try {\r\n if (error instanceof Blob) errorDetail += `\\n ${await error.text()}`;\r\n else if (typeof error === 'string') errorDetail += `\\n ${error}`;\r\n else if (typeof error === 'object') errorDetail += `\\n ${JSON.stringify(error, null, 2)}`;\r\n else errorDetail += `\\n ${String(error)}`;\r\n } catch (e) {\r\n errorDetail += `\\n Error processing the error message: ${e}`;\r\n }\r\n }\r\n\r\n /* Creazione popup */\r\n this.createPopupError({\r\n message: UniLocaleManager.translate(`error${err.status}`), // es: error404, error500\r\n title: UniLocaleManager.translate(`ErrorBackend`),\r\n detail: { message: errorDetail, messageToCopy: JSON.stringify(err) },\r\n ref,\r\n });\r\n }\r\n\r\n public async createPopupErrorCustom(args: {\r\n label: string;\r\n interpolateParams?: Record<string, string | number | Date>;\r\n ref?: string;\r\n }): Promise<void> {\r\n /* Recupera args */\r\n const { label, interpolateParams, ref } = args;\r\n\r\n /* Evita doppia istanza con lo stesso id */\r\n if (this.isPopupAlreadyExisting(ref)) return;\r\n\r\n this.createPopupError({\r\n message: UniLocaleManager.translate(label, 'lbl', interpolateParams),\r\n title: UniLocaleManager.translate('ErrorBackendCustom'),\r\n detail: undefined,\r\n closable: true,\r\n ref,\r\n });\r\n }\r\n\r\n /* -------------------------------- Methods: popup close -------------------------------- */\r\n public closePopupError(ref: string): void {\r\n const id = `popup-${ref}`;\r\n const instance = this.instances.get(id);\r\n if (!instance) return;\r\n\r\n instance.dispose();\r\n instance.element()?.remove();\r\n this.instances.delete(id);\r\n }\r\n\r\n /* -------------------------------- Methods: utils -------------------------------- */\r\n private createCloseItem(id?: string): ToolbarItem {\r\n return {\r\n widget: 'dxButton',\r\n toolbar: 'bottom',\r\n location: 'after',\r\n options: {\r\n type: 'normal',\r\n icon: 'close',\r\n text: UniLocaleManager.translate('Close', 'btn'),\r\n stylingMode: 'contained',\r\n onClick: (): void => {\r\n const popup = id ? this.instances.get(id) : undefined;\r\n popup?.hide();\r\n },\r\n },\r\n };\r\n }\r\n\r\n private createErrorItems(\r\n id: string,\r\n initialMessage: string,\r\n detailMessage: string,\r\n messageToCopy?: string,\r\n ): ToolbarItem[] {\r\n let inShow = false; // Variabile di stato per i dettagli\r\n const items: ToolbarItem[] = [\r\n {\r\n widget: 'dxButton',\r\n toolbar: 'bottom',\r\n location: 'before',\r\n options: {\r\n type: 'normal',\r\n icon: 'find',\r\n text: UniLocaleManager.translate('Details', 'btn'),\r\n stylingMode: 'contained',\r\n onClick: (e: any): void => {\r\n const popup = this.instances.get(id);\r\n if (!popup) return;\r\n const content = popup.content().firstElementChild as HTMLElement;\r\n if (!content) return;\r\n inShow = !inShow;\r\n content.textContent = inShow ? detailMessage : initialMessage;\r\n if (inShow) {\r\n // Modalità dettaglio\r\n content.style.display = 'block';\r\n content.style.textAlign = 'left';\r\n } else {\r\n // Modalità principal\r\n content.style.display = 'flex';\r\n content.style.alignItems = 'center';\r\n content.style.justifyContent = 'center';\r\n content.style.textAlign = 'center';\r\n }\r\n e.component.option({\r\n text: UniLocaleManager.translate(inShow ? 'Back' : 'Details', 'btn'),\r\n icon: inShow ? 'back' : 'find',\r\n });\r\n },\r\n },\r\n },\r\n {\r\n widget: 'dxButton',\r\n toolbar: 'bottom',\r\n location: 'before',\r\n options: {\r\n type: 'normal',\r\n icon: 'refresh',\r\n text: UniLocaleManager.translate('Refresh', 'btn'),\r\n stylingMode: 'contained',\r\n onClick: (): void => location.reload(),\r\n },\r\n },\r\n ];\r\n\r\n if (messageToCopy) {\r\n items.push({\r\n visible: window.isSecureContext,\r\n widget: 'dxButton',\r\n toolbar: 'bottom',\r\n location: 'after',\r\n options: {\r\n type: 'normal',\r\n icon: 'copy',\r\n text: UniLocaleManager.translate('Copy', 'btn'),\r\n stylingMode: 'contained',\r\n onClick: (): void => {\r\n try {\r\n navigator?.clipboard?.writeText(messageToCopy);\r\n } catch (e) {\r\n console.error('Failed to copy text: ', e);\r\n }\r\n },\r\n },\r\n });\r\n }\r\n\r\n return items;\r\n }\r\n\r\n private createPopupInstance(arg: {\r\n id: string;\r\n type: PopupType;\r\n title: string;\r\n message: string;\r\n toolbarItems: ToolbarItem[];\r\n }): void {\r\n /* Recupera argomenti */\r\n const { id, type, title, message, toolbarItems = [] } = arg;\r\n\r\n /* Evita doppia istanza con lo stesso id */\r\n if (this.instances.has(id)) {\r\n this.instances.get(id)?.show();\r\n return;\r\n }\r\n\r\n /* Crea container del popup */\r\n const container = document.createElement('div');\r\n document.body.appendChild(container);\r\n\r\n /* Crea classe css */\r\n let cssClass = '';\r\n switch (type) {\r\n case 'WARNING':\r\n cssClass = 'uni-popup-warning';\r\n break;\r\n case 'ERROR':\r\n cssClass = 'uni-popup-error';\r\n break;\r\n case 'INFO':\r\n cssClass = 'uni-popup-info';\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n /* Crea popup */\r\n const popup = new Popup(container, {\r\n title,\r\n deferRendering: false,\r\n maxHeight: 500,\r\n maxWidth: 1000,\r\n dragEnabled: false,\r\n showCloseButton: false,\r\n hideOnOutsideClick: false,\r\n shading: true,\r\n wrapperAttr: {\r\n id,\r\n ...(cssClass && { class: cssClass }),\r\n },\r\n toolbarItems,\r\n contentTemplate: (): HTMLDivElement => {\r\n const messageContainer = document.createElement('div');\r\n messageContainer.style.display = 'flex';\r\n messageContainer.style.alignItems = 'center';\r\n messageContainer.style.justifyContent = 'center';\r\n messageContainer.style.whiteSpace = 'pre-line';\r\n messageContainer.style.wordBreak = 'break-all';\r\n messageContainer.style.height = '100%';\r\n messageContainer.style.textAlign = 'center';\r\n messageContainer.textContent = message;\r\n return messageContainer;\r\n },\r\n onHidden: (): void => {\r\n popup.dispose();\r\n container.remove();\r\n this.instances.delete(id);\r\n },\r\n });\r\n\r\n /* Mostra popup */\r\n this.instances.set(id, popup);\r\n popup.show();\r\n }\r\n\r\n private isPopupAlreadyExisting(ref?: string): boolean {\r\n if (!ref) return false;\r\n\r\n const id = `popup-${ref}`;\r\n const existingPopup = this.instances.get(id);\r\n\r\n if (existingPopup) {\r\n existingPopup.show();\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport notify from 'devextreme/ui/notify';\r\nimport { ToastType } from 'devextreme/ui/toast_types';\r\nimport { IToastManager, ToastConfig } from 'uni-manager';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UNIToastService implements IToastManager {\r\n public success(message: string, config?: ToastConfig): void {\r\n this.show(message, 'success', config);\r\n }\r\n\r\n public info(message: string, config?: ToastConfig): void {\r\n this.show(message, 'info', config);\r\n }\r\n\r\n public warning(message: string, config?: ToastConfig): void {\r\n this.show(message, 'warning', config);\r\n }\r\n\r\n public error(message: string, config?: ToastConfig): void {\r\n this.show(message, 'error', config);\r\n }\r\n\r\n /* ----------------------- Metodi: utils ----------------------- */\r\n private show(message: string, type: ToastType, config?: ToastConfig): void {\r\n notify(\r\n {\r\n message,\r\n type,\r\n height: 50,\r\n width: 400,\r\n displayTime: config?.duration ?? 4000,\r\n animation: {\r\n show: { type: 'fade', duration: 400, from: 0, to: 1 },\r\n hide: { type: 'fade', duration: 300, from: 1, to: 0 },\r\n },\r\n },\r\n { position: 'bottom center', direction: 'up-push' },\r\n );\r\n }\r\n}\r\n","/*\r\n * Public API Surface of uni-app-fe\r\n */\r\n\r\nexport * from './manager/index';\r\nexport * from './pipe/index';\r\nexport * from './service/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -36,7 +36,7 @@ export declare class UNIPopupService {
|
|
|
36
36
|
createPopup(args: PopupContent & {
|
|
37
37
|
id: string;
|
|
38
38
|
type: PopupType;
|
|
39
|
-
|
|
39
|
+
title?: string;
|
|
40
40
|
detail?: {
|
|
41
41
|
message: string;
|
|
42
42
|
messageToCopy?: string;
|
|
@@ -45,7 +45,7 @@ export declare class UNIPopupService {
|
|
|
45
45
|
}): void;
|
|
46
46
|
createPopupError(args: {
|
|
47
47
|
message: string;
|
|
48
|
-
|
|
48
|
+
title?: string;
|
|
49
49
|
detail?: {
|
|
50
50
|
message: string;
|
|
51
51
|
messageToCopy?: string;
|
|
@@ -55,7 +55,7 @@ export declare class UNIPopupService {
|
|
|
55
55
|
}): void;
|
|
56
56
|
createPopupWarning(args: {
|
|
57
57
|
message: string;
|
|
58
|
-
|
|
58
|
+
title?: string;
|
|
59
59
|
detail?: {
|
|
60
60
|
message: string;
|
|
61
61
|
messageToCopy?: string;
|