Add filter to layout state

This commit is contained in:
Kyle Shockey
2017-07-11 21:33:14 -07:00
parent 7cfc7cb4fc
commit cf12091d93
4 changed files with 15 additions and 1 deletions

View File

@@ -61,7 +61,8 @@ module.exports = function SwaggerUI(opts) {
plugins: constructorConfig.presets, plugins: constructorConfig.presets,
state: { state: {
layout: { layout: {
layout: constructorConfig.layout layout: constructorConfig.layout,
filter: constructorConfig.filter
}, },
spec: { spec: {
spec: "", spec: "",

View File

@@ -1,6 +1,7 @@
import { normalizeArray } from "core/utils" import { normalizeArray } from "core/utils"
export const UPDATE_LAYOUT = "layout_update_layout" export const UPDATE_LAYOUT = "layout_update_layout"
export const UPDATE_FILTER = "layout_update_filter"
export const UPDATE_MODE = "layout_update_mode" export const UPDATE_MODE = "layout_update_mode"
export const SHOW = "layout_show" export const SHOW = "layout_show"
@@ -13,6 +14,13 @@ export function updateLayout(layout) {
} }
} }
export function updateFilter(filter) {
return {
type: UPDATE_FILTER,
payload: filter
}
}
export function show(thing, shown=true) { export function show(thing, shown=true) {
thing = normalizeArray(thing) thing = normalizeArray(thing)
return { return {

View File

@@ -1,5 +1,6 @@
import { import {
UPDATE_LAYOUT, UPDATE_LAYOUT,
UPDATE_FILTER,
UPDATE_MODE, UPDATE_MODE,
SHOW SHOW
} from "./actions" } from "./actions"
@@ -8,6 +9,8 @@ export default {
[UPDATE_LAYOUT]: (state, action) => state.set("layout", action.payload), [UPDATE_LAYOUT]: (state, action) => state.set("layout", action.payload),
[UPDATE_FILTER]: (state, action) => state.set("filter", action.payload),
[SHOW]: (state, action) => { [SHOW]: (state, action) => {
let thing = action.payload.thing let thing = action.payload.thing
let shown = action.payload.shown let shown = action.payload.shown

View File

@@ -5,6 +5,8 @@ const state = state => state
export const current = state => state.get("layout") export const current = state => state.get("layout")
export const currentFilter = state => state.get("filter")
export const isShown = (state, thing, def) => { export const isShown = (state, thing, def) => {
thing = normalizeArray(thing) thing = normalizeArray(thing)
return Boolean(state.getIn(["shown", ...thing], def)) return Boolean(state.getIn(["shown", ...thing], def))