@@ -6,7 +6,7 @@ export default class AuthorizeBtn extends React.Component { | |||||
} | } | ||||
onClick =() => { | onClick =() => { | ||||
let { authActions, authSelectors, errActions} = this.props | |||||
let { authActions, authSelectors } = this.props | |||||
let definitions = authSelectors.definitionsToAuthorize() | let definitions = authSelectors.definitionsToAuthorize() | ||||
authActions.showDefinitions(definitions) | authActions.showDefinitions(definitions) | ||||
@@ -42,14 +42,12 @@ export default class Auths extends React.Component { | |||||
} | } | ||||
render() { | render() { | ||||
let { definitions, getComponent, authSelectors, errSelectors, specSelectors } = this.props | |||||
let { definitions, getComponent, authSelectors, errSelectors } = this.props | |||||
const ApiKeyAuth = getComponent("apiKeyAuth") | const ApiKeyAuth = getComponent("apiKeyAuth") | ||||
const BasicAuth = getComponent("basicAuth") | const BasicAuth = getComponent("basicAuth") | ||||
const Oauth2 = getComponent("oauth2", true) | const Oauth2 = getComponent("oauth2", true) | ||||
const Button = getComponent("Button") | const Button = getComponent("Button") | ||||
const JumpToPath = getComponent("JumpToPath", true) | |||||
let specStr = specSelectors.specStr() | |||||
let authorized = authSelectors.authorized() | let authorized = authSelectors.authorized() | ||||
let authorizedAuth = definitions.filter( (definition, key) => { | let authorizedAuth = definitions.filter( (definition, key) => { | ||||
@@ -16,7 +16,8 @@ export default class Oauth2 extends React.Component { | |||||
authSelectors: PropTypes.object.isRequired, | authSelectors: PropTypes.object.isRequired, | ||||
authActions: PropTypes.object.isRequired, | authActions: PropTypes.object.isRequired, | ||||
errSelectors: PropTypes.object.isRequired, | errSelectors: PropTypes.object.isRequired, | ||||
errActions: PropTypes.object.isRequired | |||||
errActions: PropTypes.object.isRequired, | |||||
getConfigs: PropTypes.function | |||||
} | } | ||||
constructor(props, context) { | constructor(props, context) { | ||||
@@ -1,7 +1,6 @@ | |||||
import React, { PropTypes } from "react" | import React, { PropTypes } from "react" | ||||
import Im, { List } from "immutable" | |||||
import { List } from "immutable" | |||||
import Collapse from "react-collapse" | import Collapse from "react-collapse" | ||||
import sortBy from "lodash/sortBy" | |||||
export default class Errors extends React.Component { | export default class Errors extends React.Component { | ||||
@@ -1,5 +1,4 @@ | |||||
import React, { Component, PropTypes } from "react" | import React, { Component, PropTypes } from "react" | ||||
import { fromJS } from "immutable" | |||||
export default class Execute extends Component { | export default class Execute extends Component { | ||||
@@ -29,9 +28,6 @@ export default class Execute extends Component { | |||||
onChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val) | onChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val) | ||||
render(){ | render(){ | ||||
let { getComponent, operation, specActions, path, method } = this.props | |||||
const ContentType = getComponent( "contentType" ) | |||||
return ( | return ( | ||||
<button className="btn execute opblock-control__btn" onClick={ this.onClick }> | <button className="btn execute opblock-control__btn" onClick={ this.onClick }> | ||||
Execute | Execute | ||||
@@ -2,8 +2,6 @@ import React, { PropTypes } from "react" | |||||
import OriCollapse from "react-collapse" | import OriCollapse from "react-collapse" | ||||
import _Markdown from "react-remarkable" | import _Markdown from "react-remarkable" | ||||
const noop = () => {} | |||||
function xclass(...args) { | function xclass(...args) { | ||||
return args.filter(a => !!a).join(" ").trim() | return args.filter(a => !!a).join(" ").trim() | ||||
} | } | ||||
@@ -44,12 +42,14 @@ export class Col extends React.Component { | |||||
const { | const { | ||||
hide, | hide, | ||||
keepContents, | keepContents, | ||||
mobile, /* we don't want these in the final component, since React now complains. So we extract them */ | |||||
/* we don't want these in the `rest` object that passes to the final component, | |||||
since React now complains. So we extract them */ | |||||
/* eslint-disable no-unused-vars */ | |||||
mobile, | |||||
tablet, | tablet, | ||||
desktop, | desktop, | ||||
large, | large, | ||||
/* eslint-enable no-unused-vars */ | |||||
...rest | ...rest | ||||
} = this.props | } = this.props | ||||
@@ -1,6 +1,5 @@ | |||||
import React, { Component, PropTypes } from "react" | import React, { Component, PropTypes } from "react" | ||||
import ImPropTypes from "react-immutable-proptypes" | import ImPropTypes from "react-immutable-proptypes" | ||||
import isObject from "lodash/isObject" | |||||
import { List } from "immutable" | import { List } from "immutable" | ||||
const braceOpen = "{" | const braceOpen = "{" | ||||
const braceClose = "}" | const braceClose = "}" | ||||
@@ -128,7 +127,6 @@ class Primitive extends Component { | |||||
let format = schema.get("format") | let format = schema.get("format") | ||||
let xml = schema.get("xml") | let xml = schema.get("xml") | ||||
let enumArray = schema.get("enum") | let enumArray = schema.get("enum") | ||||
let description = schema.get("description") | |||||
let properties = schema.filter( ( v, key) => ["enum", "type", "format", "$$ref"].indexOf(key) === -1 ) | let properties = schema.filter( ( v, key) => ["enum", "type", "format", "$$ref"].indexOf(key) === -1 ) | ||||
let style = required ? { fontWeight: "bold" } : {} | let style = required ? { fontWeight: "bold" } : {} | ||||
let propStyle = { color: "#999", fontStyle: "italic" } | let propStyle = { color: "#999", fontStyle: "italic" } | ||||
@@ -251,9 +249,6 @@ export default class ModelComponent extends Component { | |||||
} | } | ||||
render(){ | render(){ | ||||
let { name, schema } = this.props | |||||
let title = schema.get("title") || name | |||||
return <div className="model-box"> | return <div className="model-box"> | ||||
<Model { ...this.props } depth={ 1 } expandDepth={ this.props.expandDepth || 0 }/> | <Model { ...this.props } depth={ 1 } expandDepth={ this.props.expandDepth || 0 }/> | ||||
</div> | </div> | ||||
@@ -4,7 +4,9 @@ import React, { Component, PropTypes } from "react" | |||||
export default class Models extends Component { | export default class Models extends Component { | ||||
static propTypes = { | static propTypes = { | ||||
getComponent: PropTypes.func, | getComponent: PropTypes.func, | ||||
specSelectors: PropTypes.object | |||||
specSelectors: PropTypes.object, | |||||
layoutSelectors: PropTypes.object, | |||||
layoutActions: PropTypes.object | |||||
} | } | ||||
render(){ | render(){ | ||||
@@ -1,6 +1,12 @@ | |||||
import React from "react" | |||||
import React, { PropTypes } from "react" | |||||
export default class OnlineValidatorBadge extends React.Component { | export default class OnlineValidatorBadge extends React.Component { | ||||
static propTypes = { | |||||
getComponent: PropTypes.func.isRequired, | |||||
getConfigs: PropTypes.func.isRequired, | |||||
specSelectors: PropTypes.object.isRequired | |||||
} | |||||
constructor(props, context) { | constructor(props, context) { | ||||
super(props, context) | super(props, context) | ||||
let { specSelectors, getConfigs } = props | let { specSelectors, getConfigs } = props | ||||
@@ -1,5 +1,4 @@ | |||||
import React, { PropTypes } from "react" | import React, { PropTypes } from "react" | ||||
import { Map, fromJS } from "immutable" | |||||
import shallowCompare from "react-addons-shallow-compare" | import shallowCompare from "react-addons-shallow-compare" | ||||
import { getList } from "core/utils" | import { getList } from "core/utils" | ||||
import * as CustomPropTypes from "core/proptypes" | import * as CustomPropTypes from "core/proptypes" | ||||
@@ -112,9 +111,7 @@ export default class Operation extends React.Component { | |||||
specActions, | specActions, | ||||
specSelectors, | specSelectors, | ||||
authActions, | authActions, | ||||
authSelectors, | |||||
layoutSelectors, | |||||
layoutActions, | |||||
authSelectors | |||||
} = this.props | } = this.props | ||||
let summary = operation.get("summary") | let summary = operation.get("summary") | ||||
@@ -1,5 +1,4 @@ | |||||
import React, { PropTypes } from "react" | import React, { PropTypes } from "react" | ||||
import {presets} from "react-motion" | |||||
export default class Operations extends React.Component { | export default class Operations extends React.Component { | ||||
@@ -33,7 +32,6 @@ export default class Operations extends React.Component { | |||||
const Operation = getComponent("operation") | const Operation = getComponent("operation") | ||||
const Collapse = getComponent("Collapse") | const Collapse = getComponent("Collapse") | ||||
const Schemes = getComponent("schemes") | |||||
let showSummary = layoutSelectors.showSummary() | let showSummary = layoutSelectors.showSummary() | ||||
@@ -30,7 +30,6 @@ export default class Overview extends React.Component { | |||||
{ | { | ||||
taggedOps.map( (tagObj, tag) => { | taggedOps.map( (tagObj, tag) => { | ||||
let operations = tagObj.get("operations") | let operations = tagObj.get("operations") | ||||
let tagDetails = tagObj.get("tagDetails") | |||||
let showTagId = ["overview-tags", tag] | let showTagId = ["overview-tags", tag] | ||||
let showTag = layoutSelectors.isShown(showTagId, true) | let showTag = layoutSelectors.isShown(showTagId, true) | ||||
@@ -45,7 +44,7 @@ export default class Overview extends React.Component { | |||||
<Collapse isOpened={showTag} animated> | <Collapse isOpened={showTag} animated> | ||||
{ | { | ||||
operations.map( op => { | operations.map( op => { | ||||
let { path, method, operation, id } = op.toObject() // toObject is shallow | |||||
let { path, method, id } = op.toObject() // toObject is shallow | |||||
let showOpIdPrefix = "operations" | let showOpIdPrefix = "operations" | ||||
let showOpId = id | let showOpId = id | ||||
let shown = layoutSelectors.isShown([showOpIdPrefix, showOpId]) | let shown = layoutSelectors.isShown([showOpIdPrefix, showOpId]) | ||||
@@ -1,6 +1,6 @@ | |||||
import React, { Component, PropTypes } from "react" | import React, { Component, PropTypes } from "react" | ||||
import shallowCompare from "react-addons-shallow-compare" | import shallowCompare from "react-addons-shallow-compare" | ||||
import { Set, fromJS, List } from "immutable" | |||||
import { fromJS, List } from "immutable" | |||||
import { getSampleSchema } from "core/utils" | import { getSampleSchema } from "core/utils" | ||||
const NOOP = Function.prototype | const NOOP = Function.prototype | ||||
@@ -50,7 +50,7 @@ export default class ParamBody extends Component { | |||||
} | } | ||||
updateValues = (props) => { | updateValues = (props) => { | ||||
let { specSelectors, pathMethod, param, isExecute, consumesValue="", onChangeConsumes } = props | |||||
let { specSelectors, pathMethod, param, isExecute, consumesValue="" } = props | |||||
let parameter = specSelectors ? specSelectors.getParameter(pathMethod, param.get("name")) : {} | let parameter = specSelectors ? specSelectors.getParameter(pathMethod, param.get("name")) : {} | ||||
let isXml = /xml/i.test(consumesValue) | let isXml = /xml/i.test(consumesValue) | ||||
let paramValue = isXml ? parameter.get("value_xml") : parameter.get("value") | let paramValue = isXml ? parameter.get("value_xml") : parameter.get("value") | ||||
@@ -1,6 +1,6 @@ | |||||
import React, { Component, PropTypes } from "react" | import React, { Component, PropTypes } from "react" | ||||
import ImPropTypes from "react-immutable-proptypes" | import ImPropTypes from "react-immutable-proptypes" | ||||
import Im, { fromJS } from "immutable" | |||||
import Im from "immutable" | |||||
// More readable, just iterate over maps, only | // More readable, just iterate over maps, only | ||||
const eachMap = (iterable, fn) => iterable.valueSeq().filter(Im.Map.isMap).map(fn) | const eachMap = (iterable, fn) => iterable.valueSeq().filter(Im.Map.isMap).map(fn) | ||||
@@ -87,7 +87,7 @@ export default class Parameters extends Component { | |||||
</thead> | </thead> | ||||
<tbody> | <tbody> | ||||
{ | { | ||||
eachMap(parameters, (parameter, k) => ( | |||||
eachMap(parameters, (parameter) => ( | |||||
<ParameterRow fn={ fn } | <ParameterRow fn={ fn } | ||||
getComponent={ getComponent } | getComponent={ getComponent } | ||||
param={ parameter } | param={ parameter } | ||||
@@ -17,8 +17,6 @@ export default class Schemes extends React.Component { | |||||
} | } | ||||
onChange =( e ) => { | onChange =( e ) => { | ||||
let { path, method, specActions } = this.props | |||||
this.setScheme( e.target.value ) | this.setScheme( e.target.value ) | ||||
} | } | ||||
@@ -4,11 +4,13 @@ export default class TryItOutButton extends React.Component { | |||||
static propTypes = { | static propTypes = { | ||||
onTryoutClick: PropTypes.func, | onTryoutClick: PropTypes.func, | ||||
onCancelClick: PropTypes.func, | |||||
enabled: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form | enabled: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form | ||||
}; | }; | ||||
static defaultProps = { | static defaultProps = { | ||||
onTryoutClick: Function.prototype, | onTryoutClick: Function.prototype, | ||||
onCancelClick: Function.prototype, | |||||
enabled: false, | enabled: false, | ||||
}; | }; | ||||
@@ -68,7 +68,7 @@ module.exports = function SwaggerUI(opts) { | |||||
var system = store.getSystem() | var system = store.getSystem() | ||||
let queryConfig = parseSeach() | let queryConfig = parseSeach() | ||||
const downloadSpec = (configs) => { | |||||
const downloadSpec = () => { | |||||
if(typeof constructorConfig !== "object") { | if(typeof constructorConfig !== "object") { | ||||
return system | return system | ||||
} | } | ||||
@@ -96,7 +96,7 @@ module.exports = function SwaggerUI(opts) { | |||||
} | } | ||||
if (!system.specActions.getConfigByUrl || (system.specActions.getConfigByUrl && !system.specActions.getConfigByUrl(downloadSpec))) { | if (!system.specActions.getConfigByUrl || (system.specActions.getConfigByUrl && !system.specActions.getConfigByUrl(downloadSpec))) { | ||||
return downloadSpec(constructorConfig) | |||||
return downloadSpec() | |||||
} | } | ||||
} | } | ||||
@@ -1,8 +1,6 @@ | |||||
import React, { PropTypes, Component } from "react" | import React, { PropTypes, Component } from "react" | ||||
import { arrayify } from "core/utils" | |||||
import shallowCompare from "react-addons-shallow-compare" | import shallowCompare from "react-addons-shallow-compare" | ||||
import { List, fromJS } from "immutable" | import { List, fromJS } from "immutable" | ||||
import assign from "object-assign" | |||||
//import "less/json-schema-form" | //import "less/json-schema-form" | ||||
const noop = ()=> {} | const noop = ()=> {} | ||||
@@ -53,7 +51,7 @@ export class JsonSchema_string extends Component { | |||||
} | } | ||||
onEnumChange = (val) => this.props.onChange(val) | onEnumChange = (val) => this.props.onChange(val) | ||||
render() { | render() { | ||||
let { getComponent, value, schema, fn, required, description } = this.props | |||||
let { getComponent, value, schema, required, description } = this.props | |||||
let enumValue = schema["enum"] | let enumValue = schema["enum"] | ||||
let errors = schema.errors || [] | let errors = schema.errors || [] | ||||
@@ -119,13 +117,13 @@ export class JsonSchema_array extends Component { | |||||
} | } | ||||
onEnumChange = (value) => { | onEnumChange = (value) => { | ||||
this.setState(state => ({ | |||||
this.setState(() => ({ | |||||
value: value | value: value | ||||
}), this.onChange) | }), this.onChange) | ||||
} | } | ||||
render() { | render() { | ||||
let { getComponent, onChange, required, schema, fn } = this.props | |||||
let { getComponent, required, schema, fn } = this.props | |||||
let itemSchema = fn.inferSchema(schema.items) | let itemSchema = fn.inferSchema(schema.items) | ||||
@@ -26,7 +26,7 @@ export function transformPathToArray(property, jsSpec) { | |||||
return a.concat(b) | return a.concat(b) | ||||
}, []) | }, []) | ||||
.concat([""]) // add an empty item into the array, so we don't get stuck with something in our buffer below | .concat([""]) // add an empty item into the array, so we don't get stuck with something in our buffer below | ||||
.reduce((buffer, curr, i, arr) => { | |||||
.reduce((buffer, curr) => { | |||||
let obj = pathArr.length ? get(jsSpec, pathArr) : jsSpec | let obj = pathArr.length ? get(jsSpec, pathArr) : jsSpec | ||||
if(get(obj, makeAccessArray(buffer, curr))) { | if(get(obj, makeAccessArray(buffer, curr))) { | ||||
@@ -277,8 +277,6 @@ export let getLineNumberForPathAsync = promisifySyncFn(getLineNumberForPath) | |||||
function promisifySyncFn(fn) { | function promisifySyncFn(fn) { | ||||
return function(...args) { | return function(...args) { | ||||
return new Promise(function(resolve, reject) { | |||||
resolve(fn(...args)) | |||||
}) | |||||
return new Promise((resolve) => resolve(fn(...args))) | |||||
} | } | ||||
} | } |
@@ -4,7 +4,6 @@ import btoa from "btoa" | |||||
import { | import { | ||||
SHOW_AUTH_POPUP, | SHOW_AUTH_POPUP, | ||||
AUTHORIZE, | AUTHORIZE, | ||||
PRE_AUTHORIZE_OAUTH2, | |||||
AUTHORIZE_OAUTH2, | AUTHORIZE_OAUTH2, | ||||
LOGOUT | LOGOUT | ||||
} from "./actions" | } from "./actions" | ||||
@@ -21,7 +20,6 @@ export default { | |||||
// refactor withMutations | // refactor withMutations | ||||
securities.entrySeq().forEach( ([ key, security ]) => { | securities.entrySeq().forEach( ([ key, security ]) => { | ||||
let type = security.getIn(["schema", "type"]) | let type = security.getIn(["schema", "type"]) | ||||
let name = security.get("name") | |||||
if ( type === "apiKey" ) { | if ( type === "apiKey" ) { | ||||
map = map.set(key, security) | map = map.set(key, security) | ||||
@@ -10,7 +10,7 @@ export const shownDefinitions = createSelector( | |||||
export const definitionsToAuthorize = createSelector( | export const definitionsToAuthorize = createSelector( | ||||
state, | state, | ||||
auth =>( { specSelectors } ) => { | |||||
() =>( { specSelectors } ) => { | |||||
let definitions = specSelectors.securityDefinitions() | let definitions = specSelectors.securityDefinitions() | ||||
let list = List() | let list = List() | ||||
@@ -66,7 +66,6 @@ export const authorized = createSelector( | |||||
export const isAuthorized = ( state, securities ) =>( { authSelectors } ) => { | export const isAuthorized = ( state, securities ) =>( { authSelectors } ) => { | ||||
let authorized = authSelectors.authorized() | let authorized = authSelectors.authorized() | ||||
let isAuth = false | |||||
return !!securities.toJS().filter( ( security ) => { | return !!securities.toJS().filter( ( security ) => { | ||||
let isAuthorized = true | let isAuthorized = true | ||||
@@ -1,5 +1,3 @@ | |||||
import { Map } from "immutable" | |||||
// Add security to the final `execute` call ( via `extras` ) | // Add security to the final `execute` call ( via `extras` ) | ||||
export const execute = ( oriAction, { authSelectors, specSelectors }) => ({ path, method, operation, extras }) => { | export const execute = ( oriAction, { authSelectors, specSelectors }) => ({ path, method, operation, extras }) => { | ||||
let securities = { | let securities = { | ||||
@@ -10,4 +8,3 @@ export const execute = ( oriAction, { authSelectors, specSelectors }) => ({ path | |||||
return oriAction({ path, method, operation, securities, ...extras }) | return oriAction({ path, method, operation, securities, ...extras }) | ||||
} | } | ||||
@@ -4,7 +4,7 @@ import { createSelector } from "reselect" | |||||
import { Map } from "immutable" | import { Map } from "immutable" | ||||
export default function downloadUrlPlugin (toolbox) { | export default function downloadUrlPlugin (toolbox) { | ||||
let { fn, Im } = toolbox | |||||
let { fn } = toolbox | |||||
const actions = { | const actions = { | ||||
download: (url)=> ({ errActions, specSelectors, specActions }) => { | download: (url)=> ({ errActions, specSelectors, specActions }) => { | ||||
@@ -20,14 +20,14 @@ export function newThrownErrBatch(errors) { | |||||
} | } | ||||
} | } | ||||
export function newSpecErr(err, action) { | |||||
export function newSpecErr(err) { | |||||
return { | return { | ||||
type: NEW_SPEC_ERR, | type: NEW_SPEC_ERR, | ||||
payload: err | payload: err | ||||
} | } | ||||
} | } | ||||
export function newAuthErr(err, action) { | |||||
export function newAuthErr(err) { | |||||
return { | return { | ||||
type: NEW_AUTH_ERR, | type: NEW_AUTH_ERR, | ||||
payload: err | payload: err | ||||
@@ -1,4 +1,3 @@ | |||||
import concat from "lodash/concat" | |||||
import reduce from "lodash/reduce" | import reduce from "lodash/reduce" | ||||
let request = require.context("./transformers/", true, /\.js$/) | let request = require.context("./transformers/", true, /\.js$/) | ||||
let errorTransformers = [] | let errorTransformers = [] | ||||
@@ -1,6 +1,5 @@ | |||||
import get from "lodash/get" | import get from "lodash/get" | ||||
import last from "lodash/get" | |||||
import { fromJS, List } from "immutable" | |||||
import { fromJS } from "immutable" | |||||
export function transform(errors, { jsSpec }) { | export function transform(errors, { jsSpec }) { | ||||
// LOOK HERE THIS TRANSFORMER IS CURRENTLY DISABLED 😃 | // LOOK HERE THIS TRANSFORMER IS CURRENTLY DISABLED 😃 | ||||
@@ -184,7 +184,7 @@ export const logRequest = (req) => { | |||||
// Actually fire the request via fn.execute | // Actually fire the request via fn.execute | ||||
// (For debugging) and ease of testing | // (For debugging) and ease of testing | ||||
export const executeRequest = (req) => ({fn, specActions, errActions}) => { | |||||
export const executeRequest = (req) => ({fn, specActions}) => { | |||||
let { pathName, method } = req | let { pathName, method } = req | ||||
let parsedRequest = Object.assign({}, req) | let parsedRequest = Object.assign({}, req) | ||||
if ( pathName && method ) { | if ( pathName && method ) { | ||||
@@ -51,7 +51,6 @@ export default { | |||||
[VALIDATE_PARAMS]: ( state, { payload: { pathMethod } } ) => { | [VALIDATE_PARAMS]: ( state, { payload: { pathMethod } } ) => { | ||||
let operation = state.getIn( [ "resolved", "paths", ...pathMethod ] ) | let operation = state.getIn( [ "resolved", "paths", ...pathMethod ] ) | ||||
let parameters = operation.get("parameters") | |||||
let isXml = /xml/i.test(operation.get("consumes_value")) | let isXml = /xml/i.test(operation.get("consumes_value")) | ||||
return state.updateIn( [ "resolved", "paths", ...pathMethod, "parameters" ], fromJS([]), parameters => { | return state.updateIn( [ "resolved", "paths", ...pathMethod, "parameters" ], fromJS([]), parameters => { | ||||
@@ -64,9 +63,6 @@ export default { | |||||
}) | }) | ||||
}, | }, | ||||
[ClEAR_VALIDATE_PARAMS]: ( state, { payload: { pathMethod } } ) => { | [ClEAR_VALIDATE_PARAMS]: ( state, { payload: { pathMethod } } ) => { | ||||
let operation = state.getIn( [ "resolved", "paths", ...pathMethod ] ) | |||||
let parameters = operation.get("parameters") | |||||
return state.updateIn( [ "resolved", "paths", ...pathMethod, "parameters" ], fromJS([]), parameters => { | return state.updateIn( [ "resolved", "paths", ...pathMethod, "parameters" ], fromJS([]), parameters => { | ||||
return parameters.withMutations( parameters => { | return parameters.withMutations( parameters => { | ||||
for ( let i = 0, len = parameters.count(); i < len; i++ ) { | for ( let i = 0, len = parameters.count(); i < len; i++ ) { | ||||
@@ -224,7 +224,7 @@ export const requestFor = (state, path, method) => { | |||||
return requests(state).getIn([path, method], null) | return requests(state).getIn([path, method], null) | ||||
} | } | ||||
export const allowTryItOutFor = (state, path, method ) => { | |||||
export const allowTryItOutFor = () => { | |||||
// This is just a hook for now. | // This is just a hook for now. | ||||
return true | return true | ||||
} | } | ||||
@@ -3,10 +3,6 @@ import ReactDOM from "react-dom" | |||||
import { connect, Provider } from "react-redux" | import { connect, Provider } from "react-redux" | ||||
import omit from "lodash/omit" | import omit from "lodash/omit" | ||||
const NotFoundComponent = name => ()=> <span style={{color: "red"}}> "{name}" component not found </span> | |||||
const SystemWrapper = (getSystem, ComponentToWrap ) => class extends Component { | const SystemWrapper = (getSystem, ComponentToWrap ) => class extends Component { | ||||
render() { | render() { | ||||
return <ComponentToWrap {...getSystem() } {...this.props} {...this.context} /> | return <ComponentToWrap {...getSystem() } {...this.props} {...this.context} /> | ||||
@@ -75,10 +71,10 @@ const createClass = component => React.createClass({ | |||||
} | } | ||||
}) | }) | ||||
const Fallback = ({ error, name }) => <div style={{ // eslint-disable-line react/prop-types | |||||
const Fallback = ({ name }) => <div style={{ // eslint-disable-line react/prop-types | |||||
padding: "1em", | padding: "1em", | ||||
"color": "#aaa" | "color": "#aaa" | ||||
}}>😱 <i>Could not render { name ? name : "this component" }, see console.</i></div> | |||||
}}>😱 <i>Could not render { name || name === "t" ? name : "this component" }, see the console.</i></div> | |||||
const wrapRender = (component) => { | const wrapRender = (component) => { | ||||
const isStateless = component => !(component.prototype && component.prototype.isReactComponent) | const isStateless = component => !(component.prototype && component.prototype.isReactComponent) | ||||
@@ -1,7 +1,6 @@ | |||||
import { createStore, applyMiddleware, bindActionCreators, compose } from "redux" | import { createStore, applyMiddleware, bindActionCreators, compose } from "redux" | ||||
import Im, { fromJS, Map } from "immutable" | import Im, { fromJS, Map } from "immutable" | ||||
import deepExtend from "deep-extend" | import deepExtend from "deep-extend" | ||||
import createLogger from "redux-logger" | |||||
import { combineReducers } from "redux-immutable" | import { combineReducers } from "redux-immutable" | ||||
import assign from "object-assign" | import assign from "object-assign" | ||||
import serializeError from "serialize-error" | import serializeError from "serialize-error" | ||||
@@ -135,12 +135,11 @@ export function getList(iterable, keys) { | |||||
// Adapted from http://stackoverflow.com/a/2893259/454004 | // Adapted from http://stackoverflow.com/a/2893259/454004 | ||||
// Note: directly ported from CoffeeScript | // Note: directly ported from CoffeeScript | ||||
export function formatXml (xml) { | export function formatXml (xml) { | ||||
var contexp, fn, formatted, indent, l, lastType, len, lines, ln, pad, reg, transitions, wsexp | |||||
var contexp, fn, formatted, indent, l, lastType, len, lines, ln, reg, transitions, wsexp | |||||
reg = /(>)(<)(\/*)/g | reg = /(>)(<)(\/*)/g | ||||
wsexp = /[ ]*(.*)[ ]+\n/g | wsexp = /[ ]*(.*)[ ]+\n/g | ||||
contexp = /(<.+>)(.+\n)/g | contexp = /(<.+>)(.+\n)/g | ||||
xml = xml.replace(/\r\n/g, "\n").replace(reg, "$1\n$2$3").replace(wsexp, "$1\n").replace(contexp, "$1\n$2") | xml = xml.replace(/\r\n/g, "\n").replace(reg, "$1\n$2$3").replace(wsexp, "$1\n").replace(contexp, "$1\n$2") | ||||
pad = 0 | |||||
formatted = "" | formatted = "" | ||||
lines = xml.split("\n") | lines = xml.split("\n") | ||||
indent = 0 | indent = 0 | ||||
@@ -164,7 +163,7 @@ export function formatXml (xml) { | |||||
"other->other": 0 | "other->other": 0 | ||||
} | } | ||||
fn = function(ln) { | fn = function(ln) { | ||||
var fromTo, j, key, padding, type, types, value | |||||
var fromTo, key, padding, type, types, value | |||||
types = { | types = { | ||||
single: Boolean(ln.match(/<.+\/>/)), | single: Boolean(ln.match(/<.+\/>/)), | ||||
closing: Boolean(ln.match(/<\/.+>/)), | closing: Boolean(ln.match(/<\/.+>/)), | ||||
@@ -187,11 +186,13 @@ export function formatXml (xml) { | |||||
padding = "" | padding = "" | ||||
indent += transitions[fromTo] | indent += transitions[fromTo] | ||||
padding = ((function() { | padding = ((function() { | ||||
var m, ref1, results | |||||
/* eslint-disable no-unused-vars */ | |||||
var m, ref1, results, j | |||||
results = [] | results = [] | ||||
for (j = m = 0, ref1 = indent; 0 <= ref1 ? m < ref1 : m > ref1; j = 0 <= ref1 ? ++m : --m) { | for (j = m = 0, ref1 = indent; 0 <= ref1 ? m < ref1 : m > ref1; j = 0 <= ref1 ? ++m : --m) { | ||||
results.push(" ") | results.push(" ") | ||||
} | } | ||||
/* eslint-enable no-unused-vars */ | |||||
return results | return results | ||||
})()).join("") | })()).join("") | ||||
if (fromTo === "opening->closing") { | if (fromTo === "opening->closing") { | ||||
@@ -215,19 +216,9 @@ export function formatXml (xml) { | |||||
export function highlight (el) { | export function highlight (el) { | ||||
const MAX_LENGTH = 5000 | const MAX_LENGTH = 5000 | ||||
var | var | ||||
_window = window, | |||||
_document = document, | _document = document, | ||||
appendChild = "appendChild", | appendChild = "appendChild", | ||||
test = "test", | |||||
// style and color templates | |||||
textShadow = ";text-shadow:", | |||||
opacity = "opacity:.", | |||||
_0px_0px = " 0px 0px ", | |||||
_3px_0px_5 = "3px 0px 5", | |||||
brace = ")", | |||||
i, | |||||
microlighted | |||||
test = "test" | |||||
if (!el) return "" | if (!el) return "" | ||||
if (el.textContent.length > MAX_LENGTH) { return el.textContent } | if (el.textContent.length > MAX_LENGTH) { return el.textContent } | ||||
@@ -260,14 +251,7 @@ export function highlight (el) { | |||||
lastTokenType, | lastTokenType, | ||||
// flag determining if token is multi-character | // flag determining if token is multi-character | ||||
multichar, | multichar, | ||||
node, | |||||
// calculating the colors for the style templates | |||||
colorArr = /(\d*\, \d*\, \d*)(, ([.\d]*))?/g.exec( | |||||
_window.getComputedStyle(el).color | |||||
), | |||||
pxColor = "px rgba("+colorArr[1]+",", | |||||
alpha = colorArr[3]||1 | |||||
node | |||||
// running through characters and highlighting | // running through characters and highlighting | ||||
while (prev2 = prev1, | while (prev2 = prev1, | ||||
@@ -468,6 +452,17 @@ export const propChecker = (props, nextProps, objectList=[], ignoreList=[]) => { | |||||
|| objectList.some( objectPropName => !eq(props[objectPropName], nextProps[objectPropName]))) | || objectList.some( objectPropName => !eq(props[objectPropName], nextProps[objectPropName]))) | ||||
} | } | ||||
const validateNumber = ( val ) => { | |||||
if ( !/^\d+(.?\d+)?$/.test(val)) { | |||||
return "Value must be a number" | |||||
} | |||||
} | |||||
const validateInteger = ( val ) => { | |||||
if ( !/^\d+$/.test(val)) { | |||||
return "Value must be integer" | |||||
} | |||||
} | |||||
// validation of parameters before execute | // validation of parameters before execute | ||||
export const validateParam = (param, isXml) => { | export const validateParam = (param, isXml) => { | ||||
@@ -517,22 +512,9 @@ export const validateParam = (param, isXml) => { | |||||
return errors | return errors | ||||
} | } | ||||
const validateNumber = ( val ) => { | |||||
if ( !/^\d+(.?\d+)?$/.test(val)) { | |||||
return "Value must be a number" | |||||
} | |||||
} | |||||
const validateInteger = ( val ) => { | |||||
if ( !/^\d+$/.test(val)) { | |||||
return "Value must be integer" | |||||
} | |||||
} | |||||
export const getSampleSchema = (schema, contentType="", config={}) => { | export const getSampleSchema = (schema, contentType="", config={}) => { | ||||
if (/xml/.test(contentType)) { | if (/xml/.test(contentType)) { | ||||
if (!schema.xml || !schema.xml.name) { | if (!schema.xml || !schema.xml.name) { | ||||
let name | |||||
schema.xml = schema.xml || {} | schema.xml = schema.xml || {} | ||||
if (schema.$$ref) { | if (schema.$$ref) { | ||||
@@ -564,4 +546,4 @@ export const parseSeach = () => { | |||||
} | } | ||||
return map | return map | ||||
} | |||||
} |
@@ -37,7 +37,7 @@ export default function configPlugin (toolbox) { | |||||
function next(res) { | function next(res) { | ||||
if (res instanceof Error || res.status >= 400) { | if (res instanceof Error || res.status >= 400) { | ||||
specActions.updateLoadingStatus("failedConfig") | specActions.updateLoadingStatus("failedConfig") | ||||
console.log(res.statusText + " " + configUrl) | |||||
console.error(res.statusText + " " + configUrl) | |||||
} else { | } else { | ||||
callback(parseYamlConfig(res.text)) | callback(parseYamlConfig(res.text)) | ||||
} | } | ||||
@@ -70,4 +70,4 @@ export function filterConfigs (configs) { | |||||
} | } | ||||
return filteredConfigs | return filteredConfigs | ||||
} | |||||
} |
@@ -6,12 +6,14 @@ export default class StandaloneLayout extends React.Component { | |||||
errSelectors: PropTypes.object.isRequired, | errSelectors: PropTypes.object.isRequired, | ||||
errActions: PropTypes.object.isRequired, | errActions: PropTypes.object.isRequired, | ||||
specActions: PropTypes.object.isRequired, | specActions: PropTypes.object.isRequired, | ||||
specSelectors: PropTypes.object.isRequired, | |||||
layoutSelectors: PropTypes.object.isRequired, | layoutSelectors: PropTypes.object.isRequired, | ||||
layoutActions: PropTypes.object.isRequired | |||||
layoutActions: PropTypes.object.isRequired, | |||||
getComponent: PropTypes.func.isRequired | |||||
} | } | ||||
render() { | render() { | ||||
let { specSelectors, specActions, getComponent, errSelectors, errActions, spec, readOnly } = this.props | |||||
let { specSelectors, specActions, getComponent } = this.props | |||||
let info = specSelectors.info() | let info = specSelectors.info() | ||||
let url = specSelectors.url() | let url = specSelectors.url() | ||||
@@ -28,9 +30,7 @@ export default class StandaloneLayout extends React.Component { | |||||
let Container = getComponent("Container") | let Container = getComponent("Container") | ||||
let Row = getComponent("Row") | let Row = getComponent("Row") | ||||
let Col = getComponent("Col") | let Col = getComponent("Col") | ||||
let Button = getComponent("Button") | |||||
let Errors = getComponent("errors", true) | let Errors = getComponent("errors", true) | ||||
const SplitPaneMode = getComponent("SplitPaneMode", true) | |||||
const Schemes = getComponent("schemes") | const Schemes = getComponent("schemes") | ||||
const Topbar = getComponent("Topbar", true) | const Topbar = getComponent("Topbar", true) | ||||
@@ -3,7 +3,6 @@ import React from "react" | |||||
import expect, { createSpy } from "expect" | import expect, { createSpy } from "expect" | ||||
import { shallow } from "enzyme" | import { shallow } from "enzyme" | ||||
import Operation from "components/operation" | import Operation from "components/operation" | ||||
import Collapse from "react-collapse" | |||||
describe("<Operation/>", function(){ | describe("<Operation/>", function(){ | ||||
it.skip("blanket tests", function(){ | it.skip("blanket tests", function(){ | ||||
@@ -1,5 +1,5 @@ | |||||
/* eslint-env mocha */ | /* eslint-env mocha */ | ||||
import expect, { createSpy } from "expect" | |||||
import expect from "expect" | |||||
import { transformPathToArray } from "core/path-translator" | import { transformPathToArray } from "core/path-translator" | ||||
describe("validation plugin - path translator", function(){ | describe("validation plugin - path translator", function(){ | ||||
@@ -1,6 +1,5 @@ | |||||
/* eslint-env mocha */ | /* eslint-env mocha */ | ||||
import expect, { createSpy } from "expect" | import expect, { createSpy } from "expect" | ||||
import { fromJS } from "immutable" | |||||
import { execute } from "corePlugins/auth/spec-wrap-actions" | import { execute } from "corePlugins/auth/spec-wrap-actions" | ||||
describe("spec plugin - actions", function(){ | describe("spec plugin - actions", function(){ | ||||
@@ -18,7 +17,7 @@ describe("spec plugin - actions", function(){ | |||||
// When | // When | ||||
let executeFn = execute(oriExecute, system) | let executeFn = execute(oriExecute, system) | ||||
let executePromise = executeFn({}) | |||||
executeFn({}) | |||||
// Then | // Then | ||||
expect(oriExecute.calls.length).toEqual(1) | expect(oriExecute.calls.length).toEqual(1) | ||||
@@ -1,4 +1,4 @@ | |||||
import expect, { createSpy } from "expect" | |||||
import expect from "expect" | |||||
import { Map, List } from "immutable" | import { Map, List } from "immutable" | ||||
import { transform } from "corePlugins/err/error-transformers/transformers/not-of-type" | import { transform } from "corePlugins/err/error-transformers/transformers/not-of-type" | ||||
@@ -1,5 +1,5 @@ | |||||
import expect, { createSpy } from "expect" | |||||
import { Map, List, fromJS } from "immutable" | |||||
import expect from "expect" | |||||
import { fromJS } from "immutable" | |||||
import { transform } from "corePlugins/err/error-transformers/transformers/parameter-oneof" | import { transform } from "corePlugins/err/error-transformers/transformers/parameter-oneof" | ||||
describe.skip("err plugin - tranformers - parameter oneof", () => { | describe.skip("err plugin - tranformers - parameter oneof", () => { | ||||
@@ -25,7 +25,7 @@ describe("spec plugin - actions", function(){ | |||||
// When | // When | ||||
let executeFn = execute({ path: "/one", method: "get"}) | let executeFn = execute({ path: "/one", method: "get"}) | ||||
let executePromise = executeFn(system) | |||||
executeFn(system) | |||||
// Then | // Then | ||||
expect(system.specActions.executeRequest.calls[0].arguments[0]).toEqual({ | expect(system.specActions.executeRequest.calls[0].arguments[0]).toEqual({ | ||||
@@ -60,7 +60,7 @@ describe("spec plugin - actions", function(){ | |||||
// When | // When | ||||
let executeFn = execute({ hi: "hello" }) | let executeFn = execute({ hi: "hello" }) | ||||
let executePromise = executeFn(system) | |||||
executeFn(system) | |||||
// Then | // Then | ||||
expect(system.specActions.executeRequest.calls[0].arguments[0]).toInclude({hi: "hello"}) | expect(system.specActions.executeRequest.calls[0].arguments[0]).toInclude({hi: "hello"}) | ||||
@@ -72,7 +72,6 @@ describe("spec plugin - actions", function(){ | |||||
xit("should call fn.execute with arg ", function(){ | xit("should call fn.execute with arg ", function(){ | ||||
const response = {} | |||||
const system = { | const system = { | ||||
fn: { | fn: { | ||||
execute: createSpy().andReturn(Promise.resolve()) | execute: createSpy().andReturn(Promise.resolve()) | ||||
@@ -1,5 +1,5 @@ | |||||
/* eslint-env mocha */ | /* eslint-env mocha */ | ||||
import expect, { createSpy } from "expect" | |||||
import expect from "expect" | |||||
import { fromJS } from "immutable" | import { fromJS } from "immutable" | ||||
import { parameterValues, contentTypeValues } from "corePlugins/spec/selectors" | import { parameterValues, contentTypeValues } from "corePlugins/spec/selectors" | ||||
@@ -240,6 +240,7 @@ describe("bound system", function(){ | |||||
statePlugins: { | statePlugins: { | ||||
kyle: { | kyle: { | ||||
wrapActions: { | wrapActions: { | ||||
// eslint-disable-next-line no-unused-vars | |||||
simple: (ori) => (arg) => (sys) => { | simple: (ori) => (arg) => (sys) => { | ||||
return { type: "called" } | return { type: "called" } | ||||
} | } | ||||
@@ -256,7 +257,7 @@ describe("bound system", function(){ | |||||
}) | }) | ||||
}) | }) | ||||
describe("selectors", function(){ | describe("selectors", function(){ | ||||
@@ -1,5 +1,5 @@ | |||||
/* eslint-env mocha */ | /* eslint-env mocha */ | ||||
import expect, { createSpy } from "expect" | |||||
import expect from "expect" | |||||
import { fromJS } from "immutable" | import { fromJS } from "immutable" | ||||
import { mapToList } from "core/utils" | import { mapToList } from "core/utils" | ||||