diff options
Diffstat (limited to 'ui/imports/ui/reducers/graph-tooltip-window.reducer.js')
-rw-r--r-- | ui/imports/ui/reducers/graph-tooltip-window.reducer.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ui/imports/ui/reducers/graph-tooltip-window.reducer.js b/ui/imports/ui/reducers/graph-tooltip-window.reducer.js new file mode 100644 index 0000000..67f96f1 --- /dev/null +++ b/ui/imports/ui/reducers/graph-tooltip-window.reducer.js @@ -0,0 +1,48 @@ +///////////////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / +// / +// All rights reserved. This program and the accompanying materials / +// are made available under the terms of the Apache License, Version 2.0 / +// which accompanies this distribution, and is available at / +// http://www.apache.org/licenses/LICENSE-2.0 / +///////////////////////////////////////////////////////////////////////////////////////// +import * as R from 'ramda'; + +import * as actions from '/imports/ui/actions/graph-tooltip-window.actions'; + +const defaultState = { + label: '', + title: '', + left: 0, + top: 0, + show: false +}; + +export function reducer(state = defaultState, action) { + let attrsStr; + switch (action.type) { + case actions.ACTIVATE_GRAPH_TOOLTIP_WINDOW: + attrsStr = JSON.stringify(action.payload.attributes, null, 4) + .toString() + .replace(/\,/g,'<BR>') + .replace(/\[/g,'') + .replace(/\]/g,'') + .replace(/\{/g,'') + .replace(/\}/g,'') + .replace(/"/g,''); + + return R.merge(state, { + label: action.payload.label, + title: attrsStr, + left: action.payload.left, + top: action.payload.top - 28, + show: true + }); + + case actions.CLOSE_GRAPH_TOOLTIP_WINDOW: + return R.assoc('show', false, state); + + default: + return state; + } +} |