UNPKG

mirador

Version:

An open-source, web-based 'multi-up' viewer that supports zoom-pan-rotate functionality, ability to display/compare simple images, and images with annotations.

99 lines (83 loc) 3.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setCanvas = setCanvas; exports.setNextCanvas = setNextCanvas; exports.setPreviousCanvas = setPreviousCanvas; exports.updateViewport = updateViewport; var _actionTypes = _interopRequireDefault(require("./action-types")); var _selectors = require("../selectors"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /** * setCanvas - action creator * * @param {String} windowId * @param {String} canvasId * @memberof ActionCreators */ function setCanvas(windowId, canvasId) { var newGroup = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; return function (dispatch, getState) { var state = getState(); var visibleCanvases = newGroup; if (!visibleCanvases) { var group = (0, _selectors.getCanvasGrouping)(state, { canvasId: canvasId, windowId: windowId }); visibleCanvases = (group || []).map(function (c) { return c.id; }); } dispatch(_objectSpread(_objectSpread({}, options), {}, { canvasId: canvasId, type: _actionTypes["default"].SET_CANVAS, visibleCanvases: visibleCanvases, windowId: windowId })); }; } /** Set the window's canvas to the next canvas grouping */ function setNextCanvas(windowId) { return function (dispatch, getState) { var state = getState(); var newGroup = (0, _selectors.getNextCanvasGrouping)(state, { windowId: windowId }); var ids = (newGroup || []).map(function (c) { return c.id; }); newGroup && dispatch(setCanvas(windowId, ids[0], ids)); }; } /** Set the window's canvas to the previous canvas grouping */ function setPreviousCanvas(windowId) { return function (dispatch, getState) { var state = getState(); var newGroup = (0, _selectors.getPreviousCanvasGrouping)(state, { windowId: windowId }); var ids = (newGroup || []).map(function (c) { return c.id; }); newGroup && dispatch(setCanvas(windowId, ids[0], ids)); }; } /** * * @param windowId * @param payload * @returns {{payload: *, type: string, windowId: *}} */ function updateViewport(windowId, payload) { return { payload: payload, type: _actionTypes["default"].UPDATE_VIEWPORT, windowId: windowId }; }