-
Notifications
You must be signed in to change notification settings - Fork 1
/
website_src_redux_reducers_ActiveElementReducer.jsx.html
83 lines (63 loc) · 6.96 KB
/
website_src_redux_reducers_ActiveElementReducer.jsx.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: website/src/redux/reducers/ActiveElementReducer.jsx</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: website/src/redux/reducers/ActiveElementReducer.jsx</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/**
* @file Reducers for active element branch.
*/
import * as AC from './../actions/ActionConstants';
import * as RC from './ReducerConstants';
import { insertIntoState } from './ReducerUtil';
/**
* Reduces the action for when a new element is targeted i.e. clicked by user.
* @param {Object} state The state of the store.
* @param {Object} action The action to reduce.
* @return {Object} The new state of the store.
*/
export const activeElementReducer = (state = RC.BLANK_STATE_ACTIVE_ELEMENT, action) => {
const pathToChange = [RC.ACTIVE_ELEMENT];
switch (action.type) {
case AC.TARGET_ELEMENT:
// Nothing to add.
break;
case AC.REMOVE_ELEMENT:
if (state[RC.ACTIVE_ELEMENT] === action.elementId) {
return insertIntoState(state, null, pathToChange);
} else {
return state;
}
default:
// Any other action just return we do not want to handle.
return state;
}
return insertIntoState(state, action.payload, pathToChange);
}
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="Canvas.html">Canvas</a></li><li><a href="CanvasElement.html">CanvasElement</a></li><li><a href="CanvasList.html">CanvasList</a></li><li><a href="CanvasOrientationBtns.html">CanvasOrientationBtns</a></li><li><a href="CanvasView.html">CanvasView</a></li><li><a href="ClearPreviewBtn.html">ClearPreviewBtn</a></li><li><a href="CreateCanvas.html">CreateCanvas</a></li><li><a href="DashNavBar.html">DashNavBar</a></li><li><a href="ExportModal.html">ExportModal</a></li><li><a href="ImportModelModal.html">ImportModelModal</a></li><li><a href="Landing.html">Landing</a></li><li><a href="MainLayout.html">MainLayout</a></li><li><a href="OptionsBar.html">OptionsBar</a></li><li><a href="Preview3D.html">Preview3D</a></li><li><a href="Render3DBtn.html">Render3DBtn</a></li><li><a href="ResizeTextfields.html">ResizeTextfields</a></li><li><a href="RotationSlider.html">RotationSlider</a></li><li><a href="SaveImgBtn.html">SaveImgBtn</a></li><li><a href="ShareCanvasModal.html">ShareCanvasModal</a></li><li><a href="Sidebar.html">Sidebar</a></li></ul><h3>Global</h3><ul><li><a href="global.html#activeElementReducer">activeElementReducer</a></li><li><a href="global.html#addCanvas">addCanvas</a></li><li><a href="global.html#addCanvasUser">addCanvasUser</a></li><li><a href="global.html#addElement">addElement</a></li><li><a href="global.html#addUserToCanvasByEmail">addUserToCanvasByEmail</a></li><li><a href="global.html#addUserToCanvasByUid">addUserToCanvasByUid</a></li><li><a href="global.html#CanvasError">CanvasError</a></li><li><a href="global.html#canvasReducer">canvasReducer</a></li><li><a href="global.html#clear">clear</a></li><li><a href="global.html#cloneElement">cloneElement</a></li><li><a href="global.html#craftmlCodeReducer">craftmlCodeReducer</a></li><li><a href="global.html#Dashboard">Dashboard</a></li><li><a href="global.html#deleteElement">deleteElement</a></li><li><a href="global.html#formPostBody">formPostBody</a></li><li><a href="global.html#generateScript">generateScript</a></li><li><a href="global.html#getAuthState">getAuthState</a></li><li><a href="global.html#getFirebaseUserByEmail">getFirebaseUserByEmail</a></li><li><a href="global.html#getRenderedImageUrl">getRenderedImageUrl</a></li><li><a href="global.html#getRequest">getRequest</a></li><li><a href="global.html#getUserInfo">getUserInfo</a></li><li><a href="global.html#handleCorsRequest">handleCorsRequest</a></li><li><a href="global.html#initElements">initElements</a></li><li><a href="global.html#initFirebase">initFirebase</a></li><li><a href="global.html#insertIntoState">insertIntoState</a></li><li><a href="global.html#LandingContent">LandingContent</a></li><li><a href="global.html#LandingNavBar">LandingNavBar</a></li><li><a href="global.html#LoadingIndicator">LoadingIndicator</a></li><li><a href="global.html#mainReducers">mainReducers</a></li><li><a href="global.html#PageNotFound">PageNotFound</a></li><li><a href="global.html#performAndDispatchLogin">performAndDispatchLogin</a></li><li><a href="global.html#postRequest">postRequest</a></li><li><a href="global.html#removeCanvas">removeCanvas</a></li><li><a href="global.html#removeCanvasUser">removeCanvasUser</a></li><li><a href="global.html#removeElement">removeElement</a></li><li><a href="global.html#removeElementAndPersist">removeElementAndPersist</a></li><li><a href="global.html#removeField">removeField</a></li><li><a href="global.html#Routes">Routes</a></li><li><a href="global.html#saveRenderedImage">saveRenderedImage</a></li><li><a href="global.html#setAuthState">setAuthState</a></li><li><a href="global.html#setAutoCodeUpdate">setAutoCodeUpdate</a></li><li><a href="global.html#setCanvasName">setCanvasName</a></li><li><a href="global.html#setCanvasNameAndPersist">setCanvasNameAndPersist</a></li><li><a href="global.html#setCanvasOrientation">setCanvasOrientation</a></li><li><a href="global.html#setCanvasOrientationAndPersist">setCanvasOrientationAndPersist</a></li><li><a href="global.html#setCanvasOwner">setCanvasOwner</a></li><li><a href="global.html#setCode">setCode</a></li><li><a href="global.html#setElementLocation">setElementLocation</a></li><li><a href="global.html#setElementRotation">setElementRotation</a></li><li><a href="global.html#setElementSize">setElementSize</a></li><li><a href="global.html#setHasCanvasImage">setHasCanvasImage</a></li><li><a href="global.html#SideBar">SideBar</a></li><li><a href="global.html#signOut">signOut</a></li><li><a href="global.html#storeConstructor">storeConstructor</a></li><li><a href="global.html#targetElement">targetElement</a></li><li><a href="global.html#updateAndPersist">updateAndPersist</a></li><li><a href="global.html#updateElement">updateElement</a></li><li><a href="global.html#updateElementReducer">updateElementReducer</a></li><li><a href="global.html#updateUserInfo">updateUserInfo</a></li><li><a href="global.html#userInfoReducer">userInfoReducer</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.0-dev</a> on Fri May 05 2017 07:15:02 GMT-0600 (Mountain Daylight Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>