debian-mirror-gitlab/app/assets/javascripts/pipelines/stores/pipelines_store.js
2019-12-04 20:38:33 +05:30

45 lines
1,002 B
JavaScript

import { parseIntPagination, normalizeHeaders } from '../../lib/utils/common_utils';
export default class PipelinesStore {
constructor() {
this.state = {};
this.state.pipelines = [];
this.state.count = {};
this.state.pageInfo = {};
// Used in MR Pipelines tab
this.state.isRunningMergeRequestPipeline = false;
}
storePipelines(pipelines = []) {
this.state.pipelines = pipelines;
}
storeCount(count = {}) {
this.state.count = count;
}
storePagination(pagination = {}) {
let paginationInfo;
if (Object.keys(pagination).length) {
const normalizedHeaders = normalizeHeaders(pagination);
paginationInfo = parseIntPagination(normalizedHeaders);
} else {
paginationInfo = pagination;
}
this.state.pageInfo = paginationInfo;
}
/**
* Toggles the isRunningPipeline flag
*
* @param {Boolean} value
*/
toggleIsRunningPipeline(value = false) {
this.state.isRunningMergeRequestPipeline = value;
}
}