diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/log-viewer.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/log-viewer.repository.ts index 5878734a15..5870e28762 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/log-viewer.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/log-viewer.repository.ts @@ -93,4 +93,9 @@ export class UmbLogViewerRepository { await this.#init(); return this.#messagesDataSource.getLogViewerLevel({ skip, take }); } + + async getLogViewerValidateLogsSize({ startDate, endDate }: { startDate?: string; endDate?: string }) { + await this.#init(); + return this.#messagesDataSource.getLogViewerValidateLogsSize({ startDate, endDate }); + } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/log-viewer.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/log-viewer.server.data.ts index 727b529835..ebdf1264e5 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/log-viewer.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/log-viewer.server.data.ts @@ -71,133 +71,143 @@ export class UmbLogSearchesServerDataSource implements LogSearchDataSource { * @implements {LogMessagesDataSource} */ export class UmbLogMessagesServerDataSource implements LogMessagesDataSource { - #host: UmbControllerHostInterface; + #host: UmbControllerHostInterface; - /** - * Creates an instance of UmbLogMessagesServerDataSource. - * @param {UmbControllerHostInterface} host - * @memberof UmbLogMessagesServerDataSource - */ - constructor(host: UmbControllerHostInterface) { - this.#host = host; - } + /** + * Creates an instance of UmbLogMessagesServerDataSource. + * @param {UmbControllerHostInterface} host + * @memberof UmbLogMessagesServerDataSource + */ + constructor(host: UmbControllerHostInterface) { + this.#host = host; + } - /** - * Grabs all the loggers from the server - * - * @param {{ skip?: number; take?: number }} { skip = 0, take = 100 } - * @return {*} - * @memberof UmbLogMessagesServerDataSource - */ - async getLogViewerLevel({ skip = 0, take = 100 }: { skip?: number; take?: number }) { - return await tryExecuteAndNotify(this.#host, LogViewerResource.getLogViewerLevel({ skip, take })); - } + /** + * Grabs all the loggers from the server + * + * @param {{ skip?: number; take?: number }} { skip = 0, take = 100 } + * @return {*} + * @memberof UmbLogMessagesServerDataSource + */ + async getLogViewerLevel({ skip = 0, take = 100 }: { skip?: number; take?: number }) { + return await tryExecuteAndNotify(this.#host, LogViewerResource.getLogViewerLevel({ skip, take })); + } - /** - * Grabs all the number of different log messages from the server - * - * @param {{ skip?: number; take?: number }} { skip = 0, take = 100 } - * @return {*} - * @memberof UmbLogMessagesServerDataSource - */ - async getLogViewerLevelCount({ startDate, endDate }: { startDate?: string; endDate?: string }) { - return await tryExecuteAndNotify( - this.#host, - LogViewerResource.getLogViewerLevelCount({ - startDate, - endDate, - }) - ); + /** + * Grabs all the number of different log messages from the server + * + * @param {{ skip?: number; take?: number }} { skip = 0, take = 100 } + * @return {*} + * @memberof UmbLogMessagesServerDataSource + */ + async getLogViewerLevelCount({ startDate, endDate }: { startDate?: string; endDate?: string }) { + return await tryExecuteAndNotify( + this.#host, + LogViewerResource.getLogViewerLevelCount({ + startDate, + endDate, + }) + ); + } + /** + * Grabs all the log messages from the server + * + * @param {{ + * skip?: number; + * take?: number; + * orderDirection?: DirectionModel; + * filterExpression?: string; + * logLevel?: Array; + * startDate?: string; + * endDate?: string; + * }} { + * skip = 0, + * take = 100, + * orderDirection, + * filterExpression, + * logLevel, + * startDate, + * endDate, + * } + * @return {*} + * @memberof UmbLogMessagesServerDataSource + */ + async getLogViewerLogs({ + skip = 0, + take = 100, + orderDirection, + filterExpression, + logLevel, + startDate, + endDate, + }: { + skip?: number; + take?: number; + orderDirection?: DirectionModel; + filterExpression?: string; + logLevel?: Array; + startDate?: string; + endDate?: string; + }) { + return await tryExecuteAndNotify( + this.#host, + LogViewerResource.getLogViewerLog({ + skip, + take, + orderDirection, + filterExpression, + logLevel, + startDate, + endDate, + }) + ); + } + /** + * Grabs all the log message templates from the server + * + * @param {{ + * skip?: number; + * take?: number; + * startDate?: string; + * endDate?: string; + * }} { + * skip, + * take = 100, + * startDate, + * endDate, + * } + * @return {*} + * @memberof UmbLogMessagesServerDataSource + */ + async getLogViewerMessageTemplate({ + skip, + take = 100, + startDate, + endDate, + }: { + skip?: number; + take?: number; + startDate?: string; + endDate?: string; + }) { + return await tryExecuteAndNotify( + this.#host, + LogViewerResource.getLogViewerMessageTemplate({ + skip, + take, + startDate, + endDate, + }) + ); + } + + async getLogViewerValidateLogsSize({ startDate, endDate }: { startDate?: string; endDate?: string }) { + return await tryExecuteAndNotify( + this.#host, + LogViewerResource.getLogViewerValidateLogsSize({ + startDate, + endDate, + }) + ); + } } - /** - * Grabs all the log messages from the server - * - * @param {{ - * skip?: number; - * take?: number; - * orderDirection?: DirectionModel; - * filterExpression?: string; - * logLevel?: Array; - * startDate?: string; - * endDate?: string; - * }} { - * skip = 0, - * take = 100, - * orderDirection, - * filterExpression, - * logLevel, - * startDate, - * endDate, - * } - * @return {*} - * @memberof UmbLogMessagesServerDataSource - */ - async getLogViewerLogs({ - skip = 0, - take = 100, - orderDirection, - filterExpression, - logLevel, - startDate, - endDate, - }: { - skip?: number; - take?: number; - orderDirection?: DirectionModel; - filterExpression?: string; - logLevel?: Array; - startDate?: string; - endDate?: string; - }) { - return await tryExecuteAndNotify( - this.#host, - LogViewerResource.getLogViewerLog({ - skip, - take, - orderDirection, - filterExpression, - logLevel, - startDate, - endDate, - }) - ); - } - /** - * Grabs all the log message templates from the server - * - * @param {{ - * skip?: number; - * take?: number; - * startDate?: string; - * endDate?: string; - * }} { - * skip, - * take = 100, - * startDate, - * endDate, - * } - * @return {*} - * @memberof UmbLogMessagesServerDataSource - */ - async getLogViewerMessageTemplate({ - skip, - take = 100, - startDate, - endDate, - }: { - skip?: number; - take?: number; - startDate?: string; - endDate?: string; - }) { - return await tryExecuteAndNotify( - this.#host, - LogViewerResource.getLogViewerMessageTemplate({ - skip, - take, - startDate, - endDate, - }) - ); - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer.context.ts index c201f5c2af..86db97466c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer.context.ts @@ -62,6 +62,9 @@ export class UmbLogViewerWorkspaceContext { #loggers = new DeepState(null); loggers = createObservablePart(this.#loggers, (data) => data?.items); + #canShowLogs = new DeepState(null); + canShowLogs = createObservablePart(this.#canShowLogs, (data) => data); + #filterExpression = new StringState(''); filterExpression = createObservablePart(this.#filterExpression, (data) => data); @@ -169,6 +172,16 @@ export class UmbLogViewerWorkspaceContext { } } + async validateLogSize() { + const { data, error } = await this.#repository.getLogViewerValidateLogsSize({ ...this.#dateRange.getValue() }); + debugger; + if (error) { + this.#canShowLogs.next(false); + return; + } + this.#canShowLogs.next(true); + } + setCurrentPage(page: number) { this.currentPage = page; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/log-overview-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/log-overview-view.element.ts index 2be52cbde2..98da8e9a41 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/log-overview-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/log-overview-view.element.ts @@ -102,6 +102,7 @@ export class UmbLogViewerOverviewViewElement extends UmbLitElement { this.#logViewerContext = instance; this.#observeStuff(); this.#logViewerContext?.getLogLevels(0, 100); + this.#logViewerContext?.validateLogSize(); }); }