Added Swagger
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
import { OrderedMap, List } from "immutable"
|
||||
|
||||
import TopbarInsert from "./topbar-insert"
|
||||
import TopbarModal from "./modal/Modal"
|
||||
|
||||
import InsertDropdown from "./dropdown/Dropdown"
|
||||
import InsertDropdownItem from "./dropdown/DropdownItem"
|
||||
import AddForm from "./forms/components/AddForm"
|
||||
import FormChild from "./forms/components/FormChild"
|
||||
import FormDropdown from "./forms/components/FormDropdown"
|
||||
import FormInput from "./forms/components/FormInput"
|
||||
import FormInputWrapper from "./forms/components/FormInputWrapper"
|
||||
import FormMap from "./forms/components/FormMap"
|
||||
import InsertForm from "./forms/components/InsertForm"
|
||||
import InsertFormInput from "./forms/components/InsertFormInput"
|
||||
import InsertFormList from "./forms/components/InsertFormList"
|
||||
|
||||
export default function () {
|
||||
const ADD_TO_SPEC = "add_to_spec"
|
||||
|
||||
return {
|
||||
components: {
|
||||
TopbarInsert,
|
||||
TopbarModal,
|
||||
InsertDropdown,
|
||||
InsertDropdownItem,
|
||||
AddForm,
|
||||
FormChild,
|
||||
FormDropdown,
|
||||
FormInput,
|
||||
FormInputWrapper,
|
||||
FormMap,
|
||||
InsertForm,
|
||||
InsertFormInput,
|
||||
InsertFormList
|
||||
},
|
||||
statePlugins: {
|
||||
spec: {
|
||||
actions: {
|
||||
addToSpec: (path, item, key) => ({
|
||||
type: ADD_TO_SPEC,
|
||||
payload: { path, item, key }
|
||||
})
|
||||
},
|
||||
reducers: {
|
||||
[ADD_TO_SPEC]: (state, { payload }) => {
|
||||
const { path, item, key } = payload
|
||||
let currentItem = state.getIn(["json", ...path])
|
||||
|
||||
if (!currentItem) {
|
||||
currentItem = key ? new OrderedMap({ [key]: item }) : new List()
|
||||
}
|
||||
|
||||
currentItem = key ? currentItem.set(key, item) : currentItem.concat(item)
|
||||
|
||||
return state.setIn(["json", ...path], currentItem)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user