@shopify/app-bridge-host
Version:
App Bridge Host contains components and middleware to be consumed by the app's host, as well as the host itself. The middleware and `Frame` component are responsible for facilitating communication between the client and host, and used to act on actions se
45 lines (42 loc) • 2.09 kB
JavaScript
import { __assign } from 'tslib';
import { ResourcePicker } from '@shopify/app-bridge-core/actions';
import { validateAction } from '@shopify/app-bridge-core/validate/actions/resourcePicker';
var defaultResourcePickerStore = null;
function resourcePickerReducer(state, action) {
if (state === void 0) { state = defaultResourcePickerStore; }
var castAction = action;
if (validateAction(castAction)) {
return state;
}
switch (action.type) {
case ResourcePicker.Action.OPEN:
case ResourcePicker.Action.UPDATE: {
var open_1 = action.type === ResourcePicker.Action.OPEN ? true : (state && state.open) || false;
var _a = castAction.payload, id = _a.id, initialQuery = _a.initialQuery, filterQuery = _a.filterQuery, initialSelectionIds = _a.initialSelectionIds, selectMultiple = _a.selectMultiple, showHidden = _a.showHidden, showVariants = _a.showVariants, showDraft = _a.showDraft, showArchived = _a.showArchived, showDraftBadge = _a.showDraftBadge, showArchivedBadge = _a.showArchivedBadge, resourceType = _a.resourceType, actionVerb = _a.actionVerb;
return {
id: id,
initialQuery: initialQuery,
filterQuery: filterQuery,
initialSelectionIds: initialSelectionIds,
selectMultiple: selectMultiple,
showHidden: showHidden,
showVariants: showVariants,
showDraft: showDraft,
showArchived: showArchived,
showDraftBadge: showDraftBadge,
showArchivedBadge: showArchivedBadge,
resourceType: resourceType,
actionVerb: actionVerb,
open: open_1,
};
}
case ResourcePicker.Action.SELECT:
case ResourcePicker.Action.CANCEL:
case ResourcePicker.Action.CLOSE: {
return __assign(__assign({}, state), { open: false });
}
default:
return state;
}
}
export { resourcePickerReducer as default, defaultResourcePickerStore };