UNPKG

@kephas/ui

Version:

Provides a common infrastructure for UI components.

1 lines 5.75 kB
{"version":3,"file":"kephas-ui.mjs","sources":["../../../../projects/kephas/ui/src/lib/notificationService.ts","../../../../projects/kephas/ui/src/public-api.ts","../../../../projects/kephas/ui/src/kephas-ui.ts"],"sourcesContent":["import { SingletonAppServiceContract, AppService, Priority, Logger, LogLevel } from '@kephas/core';\r\n\r\n/**\r\n * Notification service.\r\n *\r\n * @export\r\n * @class NotificationService\r\n */\r\n@AppService({ overridePriority: Priority.Low })\r\n@SingletonAppServiceContract()\r\nexport class NotificationService {\r\n /**\r\n * Gets or sets the logger.\r\n *\r\n * @protected\r\n * @type {Logger}\r\n * @memberof NotificationService\r\n */\r\n protected logger: Logger;\r\n\r\n /**\r\n * Creates an instance of Notification.\r\n * @param {Logger} [logger] Optional. The logger.\r\n * @memberof NotificationService\r\n */\r\n constructor(logger?: Logger) {\r\n this.logger = logger || new Logger();\r\n }\r\n\r\n /**\r\n * Notifies the message at error level.\r\n *\r\n * @param {*} data The information to be displayed.\r\n * @memberof NotificationService\r\n */\r\n public notifyError(data: any) {\r\n // debugger;\r\n const severityString = data.severity || LogLevel[LogLevel.Error];\r\n const severity = severityString === LogLevel[LogLevel.Warning]\r\n ? LogLevel.Warning\r\n : LogLevel.Error;\r\n this.show(this.formatData(data), severity);\r\n }\r\n\r\n /**\r\n * Notifies the message at warning level.\r\n *\r\n * @param {*} data The information to be displayed.\r\n * @memberof NotificationService\r\n */\r\n public notifyWarning(data: any) {\r\n // debugger;\r\n const severityString = data.severity || LogLevel[LogLevel.Warning];\r\n const severity = severityString === LogLevel[LogLevel.Warning]\r\n ? LogLevel.Warning\r\n : LogLevel.Error;\r\n this.show(this.formatData(data), severity);\r\n }\r\n\r\n /**\r\n * Notifies the message at information level.\r\n *\r\n * @param {*} data The information to be displayed.\r\n * @memberof NotificationService\r\n */\r\n public notifyInfo(data: any) {\r\n this.show(this.formatData(data), LogLevel.Info);\r\n }\r\n\r\n /**\r\n * Shows the notification.\r\n *\r\n * @protected\r\n * @param {*} formattedData The formatted data.\r\n * @param {LogLevel} severity The severity.\r\n * @memberof NotificationService\r\n */\r\n protected show(formattedData: any, severity: LogLevel) {\r\n this.logger.log(severity, null, formattedData);\r\n }\r\n\r\n /**\r\n * Formats the data. By default it returns a formatted string.\r\n *\r\n * @protected\r\n * @param {*} data The information to be formatted.\r\n * @returns {string}\r\n * @memberof NotificationService\r\n */\r\n protected formatData(data: any): any {\r\n if (!data) {\r\n return 'Unknown error. Please check the client and server logs for more information.';\r\n }\r\n\r\n if (data.message && data.url) {\r\n return `${data.message} (url: ${data.url}).`;\r\n }\r\n\r\n if (typeof (data) === 'object') {\r\n if (data.error) {\r\n // this is the case of Kendo data objects.\r\n if (typeof data.error === 'object') {\r\n if (data.error.responseStatus) {\r\n return data.error.responseStatus.message;\r\n }\r\n }\r\n return data.error;\r\n }\r\n\r\n if (data.message) {\r\n return data.message;\r\n }\r\n }\r\n\r\n return data;\r\n }\r\n}\r\n","/*\n * Public API Surface of ui\n */\n\nexport { NotificationService } from './lib/notificationService';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;;;;;;IAQa,mBAAmB,GAAhC,MAAa,mBAAmB;;;;;;IAe5B,YAAY,MAAe;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;KACxC;;;;;;;IAQM,WAAW,CAAC,IAAS;;QAExB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,cAAc,KAAK,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;cACxD,QAAQ,CAAC,OAAO;cAChB,QAAQ,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;KAC9C;;;;;;;IAQM,aAAa,CAAC,IAAS;;QAE1B,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,cAAc,KAAK,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;cACxD,QAAQ,CAAC,OAAO;cAChB,QAAQ,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;KAC9C;;;;;;;IAQM,UAAU,CAAC,IAAS;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;KACnD;;;;;;;;;IAUS,IAAI,CAAC,aAAkB,EAAE,QAAkB;QACjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;KAClD;;;;;;;;;IAUS,UAAU,CAAC,IAAS;QAC1B,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,8EAA8E,CAAC;SACzF;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE;YAC1B,OAAO,GAAG,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC;SAChD;QAED,IAAI,QAAQ,IAAI,CAAC,KAAK,QAAQ,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,EAAE;;gBAEZ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAChC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;wBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;qBAC5C;iBACJ;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,OAAO,IAAI,CAAC,OAAO,CAAC;aACvB;SACJ;QAED,OAAO,IAAI,CAAC;KACf;EACJ;AA1GY,mBAAmB;IAF/B,UAAU,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC9C,2BAA2B,EAAE;qCAgBL,MAAM;GAflB,mBAAmB,CA0G/B;;ACpHD;;;;ACAA;;;;;;"}