@woocommerce/data
Version:
WooCommerce Admin data store and utilities
155 lines (154 loc) • 4.69 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeFavorite = exports.addFavorite = exports.onLoad = exports.onHistoryChange = exports.removeFavoriteSuccess = exports.removeFavoriteFailure = exports.removeFavoriteRequest = exports.addFavoriteSuccess = exports.addFavoriteFailure = exports.addFavoriteRequest = exports.getFavoritesSuccess = exports.getFavoritesRequest = exports.getFavoritesFailure = exports.addMenuItems = exports.setMenuItems = void 0;
/**
* External dependencies
*/
const api_fetch_1 = __importDefault(require("@wordpress/api-fetch"));
const navigation_1 = require("@woocommerce/navigation");
/**
* Internal dependencies
*/
const action_types_1 = __importDefault(require("./action-types"));
const constants_1 = require("../constants");
function setMenuItems(menuItems) {
return {
type: action_types_1.default.SET_MENU_ITEMS,
menuItems,
};
}
exports.setMenuItems = setMenuItems;
function addMenuItems(menuItems) {
return {
type: action_types_1.default.ADD_MENU_ITEMS,
menuItems,
};
}
exports.addMenuItems = addMenuItems;
function getFavoritesFailure(error) {
return {
type: action_types_1.default.GET_FAVORITES_FAILURE,
error,
};
}
exports.getFavoritesFailure = getFavoritesFailure;
function getFavoritesRequest(favorites) {
return {
type: action_types_1.default.GET_FAVORITES_REQUEST,
favorites,
};
}
exports.getFavoritesRequest = getFavoritesRequest;
function getFavoritesSuccess(favorites) {
return {
type: action_types_1.default.GET_FAVORITES_SUCCESS,
favorites,
};
}
exports.getFavoritesSuccess = getFavoritesSuccess;
function addFavoriteRequest(favorite) {
return {
type: action_types_1.default.ADD_FAVORITE_REQUEST,
favorite,
};
}
exports.addFavoriteRequest = addFavoriteRequest;
function addFavoriteFailure(favorite, error) {
return {
type: action_types_1.default.ADD_FAVORITE_FAILURE,
favorite,
error,
};
}
exports.addFavoriteFailure = addFavoriteFailure;
function addFavoriteSuccess(favorite) {
return {
type: action_types_1.default.ADD_FAVORITE_SUCCESS,
favorite,
};
}
exports.addFavoriteSuccess = addFavoriteSuccess;
function removeFavoriteRequest(favorite) {
return {
type: action_types_1.default.REMOVE_FAVORITE_REQUEST,
favorite,
};
}
exports.removeFavoriteRequest = removeFavoriteRequest;
function removeFavoriteFailure(favorite, error) {
return {
type: action_types_1.default.REMOVE_FAVORITE_FAILURE,
favorite,
error,
};
}
exports.removeFavoriteFailure = removeFavoriteFailure;
function removeFavoriteSuccess(favorite) {
return {
type: action_types_1.default.REMOVE_FAVORITE_SUCCESS,
favorite,
};
}
exports.removeFavoriteSuccess = removeFavoriteSuccess;
function* onHistoryChange() {
const persistedQuery = (0, navigation_1.getPersistedQuery)();
if (!Object.keys(persistedQuery).length) {
return null;
}
yield {
type: action_types_1.default.ON_HISTORY_CHANGE,
persistedQuery,
};
}
exports.onHistoryChange = onHistoryChange;
function* onLoad() {
yield onHistoryChange();
}
exports.onLoad = onLoad;
function* addFavorite(favorite) {
yield addFavoriteRequest(favorite);
try {
const results = yield (0, api_fetch_1.default)({
path: `${constants_1.WC_ADMIN_NAMESPACE}/navigation/favorites/me`,
method: 'POST',
data: {
item_id: favorite,
},
});
if (results) {
yield addFavoriteSuccess(favorite);
return results;
}
throw new Error();
}
catch (error) {
yield addFavoriteFailure(favorite, error);
throw new Error();
}
}
exports.addFavorite = addFavorite;
function* removeFavorite(favorite) {
yield removeFavoriteRequest(favorite);
try {
const results = yield (0, api_fetch_1.default)({
path: `${constants_1.WC_ADMIN_NAMESPACE}/navigation/favorites/me`,
method: 'DELETE',
data: {
item_id: favorite,
},
});
if (results) {
yield removeFavoriteSuccess(favorite);
return results;
}
throw new Error();
}
catch (error) {
yield removeFavoriteFailure(favorite, error);
throw new Error();
}
}
exports.removeFavorite = removeFavorite;