Initial commit
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
import CartoNode from 'carto-node';
|
||||
import toObject from 'new-dashboard/utils/to-object';
|
||||
import { defaultParams as filtersDefaultParams } from 'new-dashboard/core/configuration/filters';
|
||||
|
||||
const client = new CartoNode.AuthenticatedClient();
|
||||
|
||||
const featuredFavoritedMaps = {
|
||||
namespaced: true,
|
||||
state: {
|
||||
isFetching: false,
|
||||
isFiltered: false,
|
||||
isErrored: false,
|
||||
error: {},
|
||||
list: {},
|
||||
metadata: {},
|
||||
order: 'updated_at',
|
||||
params: {
|
||||
per_page: 2,
|
||||
only_liked: true
|
||||
}
|
||||
},
|
||||
getters: {},
|
||||
mutations: {
|
||||
setRequestError (state, error) {
|
||||
state.isFetching = false;
|
||||
state.isErrored = true;
|
||||
state.error = error;
|
||||
},
|
||||
|
||||
setFeaturedFavoritedMaps (state, maps) {
|
||||
state.list = toObject(maps.visualizations, 'id');
|
||||
state.metadata = {
|
||||
total_entries: maps.total_entries,
|
||||
total_likes: maps.total_likes,
|
||||
total_shared: maps.total_shared,
|
||||
total_user_entries: maps.total_user_entries
|
||||
};
|
||||
state.isFetching = false;
|
||||
},
|
||||
|
||||
setFetchingState (state) {
|
||||
state.isFetching = true;
|
||||
state.isErrored = false;
|
||||
state.error = {};
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
fetchMaps (context) {
|
||||
const favoritedParams = {
|
||||
...filtersDefaultParams,
|
||||
...context.state.params,
|
||||
order: context.state.order
|
||||
};
|
||||
|
||||
context.commit('setFetchingState');
|
||||
|
||||
client.getVisualization('',
|
||||
favoritedParams,
|
||||
function (err, _, data) {
|
||||
if (err) {
|
||||
context.commit('setRequestError', err);
|
||||
return;
|
||||
}
|
||||
|
||||
context.commit('setFeaturedFavoritedMaps', data);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default featuredFavoritedMaps;
|
||||
@@ -0,0 +1,70 @@
|
||||
|
||||
import featuredFavoritedMaps from 'new-dashboard/store/modules/maps/featured-favorited-maps';
|
||||
import Filters from 'new-dashboard/core/configuration/filters';
|
||||
|
||||
import * as VisualizationActions from '../../actions/visualizations';
|
||||
import * as VisualizationMutations from '../../mutations/visualizations';
|
||||
|
||||
const DEFAULT_VALUES = {
|
||||
filter: 'mine',
|
||||
order: 'favorited,updated_at',
|
||||
orderDirection: 'desc,desc'
|
||||
};
|
||||
|
||||
const maps = {
|
||||
namespaced: true,
|
||||
modules: {
|
||||
featuredFavoritedMaps
|
||||
},
|
||||
state: {
|
||||
isFetching: false,
|
||||
isFiltered: false,
|
||||
isErrored: false,
|
||||
error: {},
|
||||
filterType: DEFAULT_VALUES.filter,
|
||||
order: DEFAULT_VALUES.order,
|
||||
orderDirection: DEFAULT_VALUES.orderDirection,
|
||||
list: {},
|
||||
metadata: {},
|
||||
page: 1,
|
||||
numPages: 1,
|
||||
resultsPerPage: 12
|
||||
},
|
||||
getters: {},
|
||||
mutations: {
|
||||
setFetchingState: VisualizationMutations.setFetchingState,
|
||||
setFilterType: VisualizationMutations.setFilterType,
|
||||
setOrder: VisualizationMutations.setOrder(DEFAULT_VALUES),
|
||||
setPagination: VisualizationMutations.setPagination,
|
||||
setResultsPerPage: VisualizationMutations.setResultsPerPage,
|
||||
setRequestError: VisualizationMutations.setRequestError,
|
||||
setVisualizations: VisualizationMutations.setVisualizations,
|
||||
updateNumberLikes: VisualizationMutations.updateNumberLikes,
|
||||
updateVisualization: VisualizationMutations.updateVisualization
|
||||
},
|
||||
actions: {
|
||||
deleteLike: VisualizationActions.deleteLike,
|
||||
filter: VisualizationActions.filter,
|
||||
like: VisualizationActions.like,
|
||||
order: VisualizationActions.order,
|
||||
resetFilters: VisualizationActions.resetFilters(DEFAULT_VALUES),
|
||||
setResultsPerPage: VisualizationActions.setResultsPerPage,
|
||||
setURLOptions: VisualizationActions.setURLOptions,
|
||||
updateVisualization: VisualizationActions.updateVisualization,
|
||||
|
||||
fetch (context) {
|
||||
const params = {
|
||||
...Filters[context.state.filterType],
|
||||
types: 'derived',
|
||||
page: context.state.page,
|
||||
order: context.state.order,
|
||||
order_direction: context.state.orderDirection,
|
||||
per_page: context.state.resultsPerPage
|
||||
};
|
||||
|
||||
VisualizationActions.fetchVisualizations(context, params);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default maps;
|
||||
Reference in New Issue
Block a user