diff --git a/app/docker/components/log-viewer/logViewer.html b/app/docker/components/log-viewer/logViewer.html index 1e70f54f4..db4cce445 100644 --- a/app/docker/components/log-viewer/logViewer.html +++ b/app/docker/components/log-viewer/logViewer.html @@ -6,29 +6,28 @@
- - +
- - +
- - +
diff --git a/app/docker/components/log-viewer/logViewerController.js b/app/docker/components/log-viewer/logViewerController.js index 22cc69911..4cee6ec92 100644 --- a/app/docker/components/log-viewer/logViewerController.js +++ b/app/docker/components/log-viewer/logViewerController.js @@ -3,10 +3,11 @@ import _ from 'lodash-es'; import { NEW_LINE_BREAKER } from '@/constants'; angular.module('portainer.docker').controller('LogViewerController', [ + '$scope', 'clipboard', 'Blob', 'FileSaver', - function (clipboard, Blob, FileSaver) { + function ($scope, clipboard, Blob, FileSaver) { this.state = { availableSinceDatetime: [ { desc: 'Last day', value: moment().subtract(1, 'days').format() }, @@ -23,6 +24,30 @@ angular.module('portainer.docker').controller('LogViewerController', [ selectedLines: [], }; + this.handleLogsCollectionChange = handleLogsCollectionChange.bind(this); + this.handleLogsWrapLinesChange = handleLogsWrapLinesChange.bind(this); + this.handleDisplayTimestampsChange = handleDisplayTimestampsChange.bind(this); + + function handleLogsCollectionChange(enabled) { + $scope.$evalAsync(() => { + this.state.logCollection = enabled; + this.state.autoScroll = enabled; + this.logCollectionChange(enabled); + }); + } + + function handleLogsWrapLinesChange(enabled) { + $scope.$evalAsync(() => { + this.state.wrapLines = enabled; + }); + } + + function handleDisplayTimestampsChange(enabled) { + $scope.$evalAsync(() => { + this.displayTimestamps = enabled; + }); + } + this.copy = function () { clipboard.copyText(this.state.filteredLogs.map((log) => log.line).join(NEW_LINE_BREAKER)); $('#refreshRateChange').show();