Initial commit

This commit is contained in:
zhongjin
2020-06-15 10:58:47 +08:00
commit 4f1dfe7564
8590 changed files with 1516878 additions and 0 deletions
@@ -0,0 +1,34 @@
import toObject from 'new-dashboard/utils/to-object';
export function setApps (state, apps) {
state.list = toObject(apps, 'id');
state.isFetching = false;
state.isErrored = false;
state.error = [];
}
export function addApp (state, app) {
state.list = { ...state.list, [app.id]: app };
}
export function updateOAuthApp (state, app) {
const isOAuthAppPresent = state.list.hasOwnProperty(app.id);
if (isOAuthAppPresent) {
Object.assign(state.list[app.id], app);
}
}
export function setRequestError (state, error) {
state.isFetching = false;
state.isErrored = true;
state.error = error;
state.list = {};
}
export function setFetchingState (state) {
state.isFetching = true;
state.isErrored = false;
state.error = [];
state.list = {};
}
@@ -0,0 +1,67 @@
export function setCategories (state, data) {
state.categories = data.map(c => c.category);
state.isFetching = false;
state.isErrored = false;
state.error = [];
}
export function setCountries (state, data) {
state.countries = data.map(c => c.country);
state.isFetching = false;
state.isErrored = false;
state.error = [];
}
export function setDatasets (state, datasets) {
state.list = datasets;
state.isFetching = false;
state.isErrored = false;
state.error = [];
state.numResults = datasets.length;
}
export function setRequestError (state, error) {
state.isFetching = false;
state.isErrored = true;
state.error = error;
state.list = {};
state.numResults = 0;
}
export function setFetchingState (state) {
state.isFetching = true;
state.isErrored = false;
state.error = [];
state.list = {};
}
export function setPagination (state, page = 1) {
state.page = page;
state.numPages = Math.ceil(state.numResults / state.resultsPerPage) || 1;
}
export function setResultsPerPage (state, resultsPerPage = 12) {
state.resultsPerPage = resultsPerPage;
}
export function setOrder (DEFAULT_VALUES) {
return function (state, orderOptions) {
state.order = orderOptions.order || DEFAULT_VALUES.order;
state.orderDirection = orderOptions.direction || DEFAULT_VALUES.orderDirection;
};
}
export function orderDatasets (state) {
const orderAsc = (list, order) => {
list.sort((a, b) => (a[order] > b[order]) ? 1 : -1);
};
const orderDesc = (list, order) => {
list.sort((a, b) => (a[order] < b[order]) ? 1 : -1);
};
const orderByDirection = {
'asc': () => orderAsc(state.list, state.order),
'desc': () => orderDesc(state.list, state.order)
};
return orderByDirection[state.orderDirection]();
}
@@ -0,0 +1,58 @@
import toObject from 'new-dashboard/utils/to-object';
export function setFetchingState (state) {
state.isFetching = true;
state.isErrored = false;
state.error = {};
}
export function setFilterType (state, filterType = 'mine') {
state.filterType = filterType;
}
export function setPagination (state, page = 1) {
state.page = page;
state.numPages = Math.ceil(state.metadata.total_entries / state.resultsPerPage) || 1;
}
export function setOrder (DEFAULT_VALUES) {
return function (state, orderOptions) {
state.order = orderOptions.order || DEFAULT_VALUES.order;
state.orderDirection = orderOptions.direction || DEFAULT_VALUES.orderDirection;
};
}
export function setResultsPerPage (state, resultsPerPage = 12) {
state.resultsPerPage = resultsPerPage;
}
export function setRequestError (state, error) {
state.isFetching = false;
state.isErrored = true;
state.error = error;
}
export function setVisualizations (state, visualizationsData) {
state.list = toObject(visualizationsData.visualizations, 'id');
state.metadata = {
total_entries: visualizationsData.total_entries,
total_likes: visualizationsData.total_likes,
total_shared: visualizationsData.total_shared,
total_locked: visualizationsData.total_locked,
total_user_entries: visualizationsData.total_user_entries
};
state.isFetching = false;
}
export function updateNumberLikes (state, {visualizationAttributes}) {
state.metadata.total_likes += visualizationAttributes.liked ? 1 : -1;
}
export function updateVisualization (state, {visualizationId, visualizationAttributes}) {
const isVisualizationPresent = state.list.hasOwnProperty(visualizationId);
if (isVisualizationPresent) {
Object.assign(state.list[visualizationId], visualizationAttributes);
}
}