diff --git a/source/components/datatable/status.mjs b/source/components/datatable/status.mjs index 8f929c080bc90be87d0fd0f7e9c37a82b64bdc4f..6ea1294cf0c3e64a234afe1a99529466cde4cd13 100644 --- a/source/components/datatable/status.mjs +++ b/source/components/datatable/status.mjs @@ -30,6 +30,7 @@ import "./datasource/rest.mjs"; import "../form/popper.mjs"; import "../form/context-error.mjs"; import { StatusStyleSheet } from "./stylesheet/status.mjs"; +import {Formatter} from "../../text/formatter.mjs"; export { DatasourceStatus }; @@ -82,6 +83,11 @@ class DatasourceStatus extends CustomElement { * @property {string} templates.main Main template * @property {Object} datasource Datasource configuration * @property {string} datasource.selector The selector of the datasource + * @property {Object} callbacks Callbacks + * @property {Function} callbacks.onError Callback function for error handling + * @property {Object} timeouts Timeouts + * @property {number} timeouts.message Timeout for the message + * @property {Object} state State */ get defaults() { return Object.assign({}, super.defaults, { @@ -93,6 +99,11 @@ class DatasourceStatus extends CustomElement { selector: null, }, + callbacks: { + onError: null + }, + + timeouts: { message: 4000, }, @@ -205,6 +216,12 @@ function initEventHandler() { } } catch (e) { } finally { + + const callback = self.getOption("callbacks.onError", null); + if (callback) { + msg = callback(msg); + } + self[errorElementSymbol].setErrorMessage(msg, timeout); } });