UNPKG

@helpscout/artboard

Version:

A tool kit for React UI development and design

220 lines 6.42 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 Artboard_ActionTypes_1 = require("./Artboard.ActionTypes"); var Artboard_store_1 = require("./Artboard.store"); var Artboard_utils_1 = require("./Artboard.utils"); /** * GENERAL */ exports.onReady = function (props) { var state = Artboard_store_1.default.getState(); var mergedProps = exports.mergePropsWithState(props, state); return { type: Artboard_ActionTypes_1.default.ON_READY, payload: { props: mergedProps }, }; }; exports.loadLocalState = function (props) { var state = Artboard_store_1.default.getState(); var artboardName = Artboard_utils_1.getArtboardNameFromProps(props); var localState = Artboard_utils_1.loadSessionState(artboardName); var mergedState = exports.mergeStateWithProps(state, props); mergedState = exports.mergeStateWithProps(mergedState, localState); return { type: Artboard_ActionTypes_1.default.LOAD_LOCAL_STATE, payload: { state: mergedState }, }; }; exports.saveLocalState = function () { var state = Artboard_store_1.default.getState(); var artboardName = state.artboardName; if (artboardName) { Artboard_utils_1.saveSessionState(artboardName, state); return { type: Artboard_ActionTypes_1.default.SAVE_LOCAL_STATE, }; } else { return { type: Artboard_ActionTypes_1.default.NULL, }; } }; exports.resetSettings = function (initialProps) { return { type: Artboard_ActionTypes_1.default.RESET, payload: { props: initialProps, }, }; }; exports.performActionStart = function () { return { type: Artboard_ActionTypes_1.default.PERFORM_ACTION_START, }; }; exports.performActionEnd = function () { return { type: Artboard_ActionTypes_1.default.PERFORM_ACTION_END, }; }; /** * DARK MODE */ exports.toggleDarkMode = function () { return { type: Artboard_ActionTypes_1.default.TOGGLE_DARK_MODE }; }; /** * INTERFACE */ exports.toggleInterface = function () { return { type: Artboard_ActionTypes_1.default.TOGGLE_INTERFACE }; }; /** * GUIDES */ exports.toggleGuides = function () { return { type: Artboard_ActionTypes_1.default.TOGGLE_GUIDES }; }; /** * BOX INSPECTOR */ exports.toggleBoxInspector = function () { return { type: Artboard_ActionTypes_1.default.TOGGLE_BOX_INSPECTOR }; }; /** * SIZE INSPECTOR */ exports.toggleSizeInspector = function () { return { type: Artboard_ActionTypes_1.default.TOGGLE_SIZE_INSPECTOR }; }; /** * EYEDROPPER */ exports.startEyeDropper = function () { return { type: Artboard_ActionTypes_1.default.EYEDROPPER_START }; }; exports.readyEyeDropper = function () { return { type: Artboard_ActionTypes_1.default.EYEDROPPER_READY }; }; exports.stopEyeDropper = function () { return { type: Artboard_ActionTypes_1.default.EYEDROPPER_STOP }; }; /** * CROSSHAIR */ exports.startCrosshair = function () { return { type: Artboard_ActionTypes_1.default.CROSSHAIR_START }; }; exports.stopCrosshair = function () { var state = Artboard_store_1.default.getState(); if (!state.isCrosshairActive) { return { type: Artboard_ActionTypes_1.default.NULL, }; } return { type: Artboard_ActionTypes_1.default.CROSSHAIR_END }; }; exports.toggleCrosshair = function () { var state = Artboard_store_1.default.getState(); if (state.isCrosshairActive) { return exports.stopCrosshair(); } else { return exports.startCrosshair(); } }; exports.addCrosshairSnapshot = function (snapshot) { return { type: Artboard_ActionTypes_1.default.CROSSHAIR_ADD_SNAPSHOT, payload: { snapshot: snapshot, }, }; }; exports.clearCrosshairSnapshots = function () { return { type: Artboard_ActionTypes_1.default.CROSSHAIR_CLEAR }; }; /** * RESIZER */ exports.onResize = function (event, resizeProps) { var _a = resizeProps.size, height = _a.height, width = _a.width; return { type: Artboard_ActionTypes_1.default.RESIZE_ARTBOARD, payload: { artboardHeight: height, artboardWidth: width, }, }; }; /** * MOVE */ exports.moveStart = function () { return { type: Artboard_ActionTypes_1.default.MOVE_START }; }; exports.moveEnd = function () { return { type: Artboard_ActionTypes_1.default.MOVE_END }; }; exports.moveDragStart = function () { return { type: Artboard_ActionTypes_1.default.MOVE_DRAG_START }; }; exports.moveDrag = function (positions) { return { type: Artboard_ActionTypes_1.default.MOVE_DRAG, payload: positions }; }; exports.moveDragEnd = function () { return { type: Artboard_ActionTypes_1.default.MOVE_DRAG_END }; }; /** * ZOOM */ exports.zoomIn = function () { return { type: Artboard_ActionTypes_1.default.ZOOM_IN }; }; exports.zoomOut = function () { return { type: Artboard_ActionTypes_1.default.ZOOM_OUT }; }; exports.zoomInStart = function () { return { type: Artboard_ActionTypes_1.default.ZOOM_IN_START }; }; exports.zoomOutStart = function () { return { type: Artboard_ActionTypes_1.default.ZOOM_OUT_START }; }; exports.zoomReset = function () { return { type: Artboard_ActionTypes_1.default.ZOOM_RESET }; }; /** * UTILS */ exports.mergePropsWithState = function (props, state) { var nextState = {}; Object.keys(props).forEach(function (key) { if (state.hasOwnProperty(key)) { var value = props[key]; if (value !== undefined) { nextState[key] = props[key]; } } }); return nextState; }; exports.mergeStateWithProps = function (state, props) { return Object.keys(state).reduce(function (acc, key) { var _a; var value = props[key] !== undefined ? props[key] : state[key]; return __assign({}, acc, (_a = {}, _a[key] = value, _a)); }, {}); }; //# sourceMappingURL=Artboard.actions.js.map