{"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;;;;;;"}