aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/ducks
diff options
context:
space:
mode:
authorMatthew Shao <me@matshao.com>2017-07-01 08:46:04 -0500
committerGitHub <noreply@github.com>2017-07-01 08:46:04 -0500
commitf3231ed758324a7de465ee5a377f9c40b0a8df34 (patch)
tree3979c67de95b398e8d0c89034feee60a0d0a3bb6 /web/src/js/ducks
parent321352ef0bc1911d49c8b6f8537674b03fa92f70 (diff)
parentaad0b95cbe65e97574d49f3933002d347470d1ef (diff)
downloadmitmproxy-f3231ed758324a7de465ee5a377f9c40b0a8df34.tar.gz
mitmproxy-f3231ed758324a7de465ee5a377f9c40b0a8df34.tar.bz2
mitmproxy-f3231ed758324a7de465ee5a377f9c40b0a8df34.zip
Merge pull request #2416 from MatthewShao/mitmweb-options
[WIP] [web] Mitmweb options editor UI
Diffstat (limited to 'web/src/js/ducks')
-rw-r--r--web/src/js/ducks/options.js32
-rw-r--r--web/src/js/ducks/ui/index.js2
-rw-r--r--web/src/js/ducks/ui/modal.js33
3 files changed, 67 insertions, 0 deletions
diff --git a/web/src/js/ducks/options.js b/web/src/js/ducks/options.js
new file mode 100644
index 00000000..39c2f3fc
--- /dev/null
+++ b/web/src/js/ducks/options.js
@@ -0,0 +1,32 @@
+import { fetchApi } from '../utils'
+
+export const RECEIVE = 'OPTIONS_RECEIVE'
+export const UPDATE = 'OPTIONS_UPDATE'
+export const REQUEST_UPDATE = 'REQUEST_UPDATE'
+export const UNKNOWN_CMD = 'OPTIONS_UNKNOWN_CMD'
+
+const defaultState = {
+
+}
+
+export default function reducer(state = defaultState, action) {
+ switch (action.type) {
+
+ case RECEIVE:
+ return action.data
+
+ case UPDATE:
+ return {
+ ...state,
+ ...action.data,
+ }
+
+ default:
+ return state
+ }
+}
+
+export function update(options) {
+ fetchApi.put('/options', options)
+ return { type: REQUEST_UPDATE }
+}
diff --git a/web/src/js/ducks/ui/index.js b/web/src/js/ducks/ui/index.js
index 1d989eb1..741671b2 100644
--- a/web/src/js/ducks/ui/index.js
+++ b/web/src/js/ducks/ui/index.js
@@ -1,9 +1,11 @@
import { combineReducers } from 'redux'
import flow from './flow'
import header from './header'
+import modal from './modal'
// TODO: Just move ducks/ui/* into ducks/?
export default combineReducers({
flow,
header,
+ modal
})
diff --git a/web/src/js/ducks/ui/modal.js b/web/src/js/ducks/ui/modal.js
new file mode 100644
index 00000000..aafddaf7
--- /dev/null
+++ b/web/src/js/ducks/ui/modal.js
@@ -0,0 +1,33 @@
+export const HIDE_MODAL = 'UI_HIDE_MODAL'
+export const SET_ACTIVE_MODAL = 'UI_SET_ACTIVE_MODAL'
+
+const defaultState = {
+ activeModal: undefined,
+}
+
+export default function reducer(state = defaultState, action){
+ switch (action.type){
+
+ case SET_ACTIVE_MODAL:
+ return {
+ ...state,
+ activeModal: action.activeModal,
+ }
+
+ case HIDE_MODAL:
+ return {
+ ...state,
+ activeModal: undefined
+ }
+ default:
+ return state
+ }
+}
+
+export function setActiveModal(activeModal) {
+ return { type: SET_ACTIVE_MODAL, activeModal }
+}
+
+export function hideModal(){
+ return { type: HIDE_MODAL }
+}