UNPKG

@shopify/app-bridge-host

Version:

App Bridge Host contains middleware and components that are meant to be consumed by the app's host. The middleware and `Frame` component are responsible for facilitating messages posted between the client and host, and used to act on actions sent from the

49 lines (48 loc) 2.08 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var actions_1 = require("@shopify/app-bridge/actions"); var resourcePicker_1 = require("@shopify/app-bridge/validate/actions/resourcePicker"); exports.defaultResourcePickerStore = null; function resourcePickerReducer(state, action) { if (state === void 0) { state = exports.defaultResourcePickerStore; } var castAction = action; if (resourcePicker_1.validateAction(castAction)) { return state; } switch (action.type) { case actions_1.ResourcePicker.ActionType.OPEN: case actions_1.ResourcePicker.ActionType.UPDATE: { var open_1 = action.type === actions_1.ResourcePicker.ActionType.OPEN ? true : (state && state.open) || false; var _a = castAction.payload, id = _a.id, initialQuery = _a.initialQuery, selectMultiple = _a.selectMultiple, showHidden = _a.showHidden, showVariants = _a.showVariants, resourceType = _a.resourceType, actionVerb = _a.actionVerb; return { id: id, initialQuery: initialQuery, selectMultiple: selectMultiple, showHidden: showHidden, showVariants: showVariants, resourceType: resourceType, actionVerb: actionVerb, open: open_1, }; } case actions_1.ResourcePicker.ActionType.SELECT: case actions_1.ResourcePicker.ActionType.CANCEL: case actions_1.ResourcePicker.ActionType.CLOSE: { return __assign({}, state, { open: false }); } default: return state; } } exports.default = resourcePickerReducer;