diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-13 12:09:22 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-13 12:09:22 +0000 |
commit | 286fe61013674fe2d245ffc8d2233baf09923e70 (patch) | |
tree | 2037291f5863105e54e75be056b49f7d62007cae /app/assets/javascripts/logs/stores/mutations.js | |
parent | 4cb5e5011abfe8d50ac3a7ebd0018c563c6d7af4 (diff) | |
download | gitlab-ce-286fe61013674fe2d245ffc8d2233baf09923e70.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/logs/stores/mutations.js')
-rw-r--r-- | app/assets/javascripts/logs/stores/mutations.js | 52 |
1 files changed, 42 insertions, 10 deletions
diff --git a/app/assets/javascripts/logs/stores/mutations.js b/app/assets/javascripts/logs/stores/mutations.js index ca31dd3bc20..d94d71cd25a 100644 --- a/app/assets/javascripts/logs/stores/mutations.js +++ b/app/assets/javascripts/logs/stores/mutations.js @@ -1,17 +1,24 @@ import * as types from './mutation_types'; +import { convertToFixedRange } from '~/lib/utils/datetime_range'; + +const mapLine = ({ timestamp, message }) => ({ + timestamp, + message, +}); export default { - /** Search data */ + // Search Data [types.SET_SEARCH](state, searchQuery) { state.search = searchQuery; }, - /** Time Range data */ + // Time Range Data [types.SET_TIME_RANGE](state, timeRange) { - state.timeRange.current = timeRange; + state.timeRange.selected = timeRange; + state.timeRange.current = convertToFixedRange(timeRange); }, - /** Environments data */ + // Environments Data [types.SET_PROJECT_ENVIRONMENT](state, environmentName) { state.environments.current = environmentName; }, @@ -28,24 +35,49 @@ export default { state.environments.isLoading = false; }, - /** Logs data */ + // Logs data [types.REQUEST_LOGS_DATA](state) { + state.timeRange.current = convertToFixedRange(state.timeRange.selected); + state.logs.lines = []; state.logs.isLoading = true; + + // start pagination from the beginning + state.logs.cursor = null; state.logs.isComplete = false; }, - [types.RECEIVE_LOGS_DATA_SUCCESS](state, lines) { - state.logs.lines = lines; + [types.RECEIVE_LOGS_DATA_SUCCESS](state, { logs = [], cursor }) { + state.logs.lines = logs.map(mapLine); state.logs.isLoading = false; - state.logs.isComplete = true; + state.logs.cursor = cursor; + + if (!cursor) { + state.logs.isComplete = true; + } }, [types.RECEIVE_LOGS_DATA_ERROR](state) { state.logs.lines = []; state.logs.isLoading = false; - state.logs.isComplete = true; }, - /** Pods data */ + [types.REQUEST_LOGS_DATA_PREPEND](state) { + state.logs.isLoading = true; + }, + [types.RECEIVE_LOGS_DATA_PREPEND_SUCCESS](state, { logs = [], cursor }) { + const lines = logs.map(mapLine); + state.logs.lines = lines.concat(state.logs.lines); + state.logs.isLoading = false; + state.logs.cursor = cursor; + + if (!cursor) { + state.logs.isComplete = true; + } + }, + [types.RECEIVE_LOGS_DATA_PREPEND_ERROR](state) { + state.logs.isLoading = false; + }, + + // Pods data [types.SET_CURRENT_POD_NAME](state, podName) { state.pods.current = podName; }, |