forked from jasder/forgeplus
6790 lines
520 KiB
JavaScript
6790 lines
520 KiB
JavaScript
|
webpackJsonp([156],{
|
|||
|
|
|||
|
/***/ 1000:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
var $defineProperty = __webpack_require__(38);
|
|||
|
var createDesc = __webpack_require__(93);
|
|||
|
|
|||
|
module.exports = function (object, index, value) {
|
|||
|
if (index in object) $defineProperty.f(object, index, createDesc(0, value));
|
|||
|
else object[index] = value;
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1001:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
var ITERATOR = __webpack_require__(36)('iterator');
|
|||
|
var SAFE_CLOSING = false;
|
|||
|
|
|||
|
try {
|
|||
|
var riter = [7][ITERATOR]();
|
|||
|
riter['return'] = function () { SAFE_CLOSING = true; };
|
|||
|
// eslint-disable-next-line no-throw-literal
|
|||
|
Array.from(riter, function () { throw 2; });
|
|||
|
} catch (e) { /* empty */ }
|
|||
|
|
|||
|
module.exports = function (exec, skipClosing) {
|
|||
|
if (!skipClosing && !SAFE_CLOSING) return false;
|
|||
|
var safe = false;
|
|||
|
try {
|
|||
|
var arr = [7];
|
|||
|
var iter = arr[ITERATOR]();
|
|||
|
iter.next = function () { return { done: safe = true }; };
|
|||
|
arr[ITERATOR] = function () { return iter; };
|
|||
|
exec(arr);
|
|||
|
} catch (e) { /* empty */ }
|
|||
|
return safe;
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1002:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
exports.__esModule = true;
|
|||
|
|
|||
|
var _from = __webpack_require__(993);
|
|||
|
|
|||
|
var _from2 = _interopRequireDefault(_from);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|||
|
|
|||
|
exports.default = function (arr) {
|
|||
|
if (Array.isArray(arr)) {
|
|||
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
|
|||
|
arr2[i] = arr[i];
|
|||
|
}
|
|||
|
|
|||
|
return arr2;
|
|||
|
} else {
|
|||
|
return (0, _from2.default)(arr);
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1003:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
/**
|
|||
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|||
|
*
|
|||
|
* This source code is licensed under the MIT license found in the
|
|||
|
* LICENSE file in the root directory of this source tree.
|
|||
|
*
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
var React = __webpack_require__(0);
|
|||
|
var factory = __webpack_require__(1004);
|
|||
|
|
|||
|
if (typeof React === 'undefined') {
|
|||
|
throw Error(
|
|||
|
'create-react-class could not find the React object. If you are using script tags, ' +
|
|||
|
'make sure that React is being loaded before create-react-class.'
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
// Hack to grab NoopUpdateQueue from isomorphic React
|
|||
|
var ReactNoopUpdateQueue = new React.Component().updater;
|
|||
|
|
|||
|
module.exports = factory(
|
|||
|
React.Component,
|
|||
|
React.isValidElement,
|
|||
|
ReactNoopUpdateQueue
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1004:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
/**
|
|||
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|||
|
*
|
|||
|
* This source code is licensed under the MIT license found in the
|
|||
|
* LICENSE file in the root directory of this source tree.
|
|||
|
*
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
var _assign = __webpack_require__(60);
|
|||
|
|
|||
|
var emptyObject = __webpack_require__(1005);
|
|||
|
var _invariant = __webpack_require__(1006);
|
|||
|
|
|||
|
if (false) {
|
|||
|
var warning = require('fbjs/lib/warning');
|
|||
|
}
|
|||
|
|
|||
|
var MIXINS_KEY = 'mixins';
|
|||
|
|
|||
|
// Helper function to allow the creation of anonymous functions which do not
|
|||
|
// have .name set to the name of the variable being assigned to.
|
|||
|
function identity(fn) {
|
|||
|
return fn;
|
|||
|
}
|
|||
|
|
|||
|
var ReactPropTypeLocationNames;
|
|||
|
if (false) {
|
|||
|
ReactPropTypeLocationNames = {
|
|||
|
prop: 'prop',
|
|||
|
context: 'context',
|
|||
|
childContext: 'child context'
|
|||
|
};
|
|||
|
} else {
|
|||
|
ReactPropTypeLocationNames = {};
|
|||
|
}
|
|||
|
|
|||
|
function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {
|
|||
|
/**
|
|||
|
* Policies that describe methods in `ReactClassInterface`.
|
|||
|
*/
|
|||
|
|
|||
|
var injectedMixins = [];
|
|||
|
|
|||
|
/**
|
|||
|
* Composite components are higher-level components that compose other composite
|
|||
|
* or host components.
|
|||
|
*
|
|||
|
* To create a new type of `ReactClass`, pass a specification of
|
|||
|
* your new class to `React.createClass`. The only requirement of your class
|
|||
|
* specification is that you implement a `render` method.
|
|||
|
*
|
|||
|
* var MyComponent = React.createClass({
|
|||
|
* render: function() {
|
|||
|
* return <div>Hello World</div>;
|
|||
|
* }
|
|||
|
* });
|
|||
|
*
|
|||
|
* The class specification supports a specific protocol of methods that have
|
|||
|
* special meaning (e.g. `render`). See `ReactClassInterface` for
|
|||
|
* more the comprehensive protocol. Any other properties and methods in the
|
|||
|
* class specification will be available on the prototype.
|
|||
|
*
|
|||
|
* @interface ReactClassInterface
|
|||
|
* @internal
|
|||
|
*/
|
|||
|
var ReactClassInterface = {
|
|||
|
/**
|
|||
|
* An array of Mixin objects to include when defining your component.
|
|||
|
*
|
|||
|
* @type {array}
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
mixins: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* An object containing properties and methods that should be defined on
|
|||
|
* the component's constructor instead of its prototype (static methods).
|
|||
|
*
|
|||
|
* @type {object}
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
statics: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Definition of prop types for this component.
|
|||
|
*
|
|||
|
* @type {object}
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
propTypes: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Definition of context types for this component.
|
|||
|
*
|
|||
|
* @type {object}
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
contextTypes: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Definition of context types this component sets for its children.
|
|||
|
*
|
|||
|
* @type {object}
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
childContextTypes: 'DEFINE_MANY',
|
|||
|
|
|||
|
// ==== Definition methods ====
|
|||
|
|
|||
|
/**
|
|||
|
* Invoked when the component is mounted. Values in the mapping will be set on
|
|||
|
* `this.props` if that prop is not specified (i.e. using an `in` check).
|
|||
|
*
|
|||
|
* This method is invoked before `getInitialState` and therefore cannot rely
|
|||
|
* on `this.state` or use `this.setState`.
|
|||
|
*
|
|||
|
* @return {object}
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
getDefaultProps: 'DEFINE_MANY_MERGED',
|
|||
|
|
|||
|
/**
|
|||
|
* Invoked once before the component is mounted. The return value will be used
|
|||
|
* as the initial value of `this.state`.
|
|||
|
*
|
|||
|
* getInitialState: function() {
|
|||
|
* return {
|
|||
|
* isOn: false,
|
|||
|
* fooBaz: new BazFoo()
|
|||
|
* }
|
|||
|
* }
|
|||
|
*
|
|||
|
* @return {object}
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
getInitialState: 'DEFINE_MANY_MERGED',
|
|||
|
|
|||
|
/**
|
|||
|
* @return {object}
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
getChildContext: 'DEFINE_MANY_MERGED',
|
|||
|
|
|||
|
/**
|
|||
|
* Uses props from `this.props` and state from `this.state` to render the
|
|||
|
* structure of the component.
|
|||
|
*
|
|||
|
* No guarantees are made about when or how often this method is invoked, so
|
|||
|
* it must not have side effects.
|
|||
|
*
|
|||
|
* render: function() {
|
|||
|
* var name = this.props.name;
|
|||
|
* return <div>Hello, {name}!</div>;
|
|||
|
* }
|
|||
|
*
|
|||
|
* @return {ReactComponent}
|
|||
|
* @required
|
|||
|
*/
|
|||
|
render: 'DEFINE_ONCE',
|
|||
|
|
|||
|
// ==== Delegate methods ====
|
|||
|
|
|||
|
/**
|
|||
|
* Invoked when the component is initially created and about to be mounted.
|
|||
|
* This may have side effects, but any external subscriptions or data created
|
|||
|
* by this method must be cleaned up in `componentWillUnmount`.
|
|||
|
*
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
componentWillMount: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Invoked when the component has been mounted and has a DOM representation.
|
|||
|
* However, there is no guarantee that the DOM node is in the document.
|
|||
|
*
|
|||
|
* Use this as an opportunity to operate on the DOM when the component has
|
|||
|
* been mounted (initialized and rendered) for the first time.
|
|||
|
*
|
|||
|
* @param {DOMElement} rootNode DOM element representing the component.
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
componentDidMount: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Invoked before the component receives new props.
|
|||
|
*
|
|||
|
* Use this as an opportunity to react to a prop transition by updating the
|
|||
|
* state using `this.setState`. Current props are accessed via `this.props`.
|
|||
|
*
|
|||
|
* componentWillReceiveProps: function(nextProps, nextContext) {
|
|||
|
* this.setState({
|
|||
|
* likesIncreasing: nextProps.likeCount > this.props.likeCount
|
|||
|
* });
|
|||
|
* }
|
|||
|
*
|
|||
|
* NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop
|
|||
|
* transition may cause a state change, but the opposite is not true. If you
|
|||
|
* need it, you are probably looking for `componentWillUpdate`.
|
|||
|
*
|
|||
|
* @param {object} nextProps
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
componentWillReceiveProps: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Invoked while deciding if the component should be updated as a result of
|
|||
|
* receiving new props, state and/or context.
|
|||
|
*
|
|||
|
* Use this as an opportunity to `return false` when you're certain that the
|
|||
|
* transition to the new props/state/context will not require a component
|
|||
|
* update.
|
|||
|
*
|
|||
|
* shouldComponentUpdate: function(nextProps, nextState, nextContext) {
|
|||
|
* return !equal(nextProps, this.props) ||
|
|||
|
* !equal(nextState, this.state) ||
|
|||
|
* !equal(nextContext, this.context);
|
|||
|
* }
|
|||
|
*
|
|||
|
* @param {object} nextProps
|
|||
|
* @param {?object} nextState
|
|||
|
* @param {?object} nextContext
|
|||
|
* @return {boolean} True if the component should update.
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
shouldComponentUpdate: 'DEFINE_ONCE',
|
|||
|
|
|||
|
/**
|
|||
|
* Invoked when the component is about to update due to a transition from
|
|||
|
* `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`
|
|||
|
* and `nextContext`.
|
|||
|
*
|
|||
|
* Use this as an opportunity to perform preparation before an update occurs.
|
|||
|
*
|
|||
|
* NOTE: You **cannot** use `this.setState()` in this method.
|
|||
|
*
|
|||
|
* @param {object} nextProps
|
|||
|
* @param {?object} nextState
|
|||
|
* @param {?object} nextContext
|
|||
|
* @param {ReactReconcileTransaction} transaction
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
componentWillUpdate: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Invoked when the component's DOM representation has been updated.
|
|||
|
*
|
|||
|
* Use this as an opportunity to operate on the DOM when the component has
|
|||
|
* been updated.
|
|||
|
*
|
|||
|
* @param {object} prevProps
|
|||
|
* @param {?object} prevState
|
|||
|
* @param {?object} prevContext
|
|||
|
* @param {DOMElement} rootNode DOM element representing the component.
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
componentDidUpdate: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Invoked when the component is about to be removed from its parent and have
|
|||
|
* its DOM representation destroyed.
|
|||
|
*
|
|||
|
* Use this as an opportunity to deallocate any external resources.
|
|||
|
*
|
|||
|
* NOTE: There is no `componentDidUnmount` since your component will have been
|
|||
|
* destroyed by that point.
|
|||
|
*
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
componentWillUnmount: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Replacement for (deprecated) `componentWillMount`.
|
|||
|
*
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
UNSAFE_componentWillMount: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Replacement for (deprecated) `componentWillReceiveProps`.
|
|||
|
*
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',
|
|||
|
|
|||
|
/**
|
|||
|
* Replacement for (deprecated) `componentWillUpdate`.
|
|||
|
*
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
UNSAFE_componentWillUpdate: 'DEFINE_MANY',
|
|||
|
|
|||
|
// ==== Advanced methods ====
|
|||
|
|
|||
|
/**
|
|||
|
* Updates the component's currently mounted DOM representation.
|
|||
|
*
|
|||
|
* By default, this implements React's rendering and reconciliation algorithm.
|
|||
|
* Sophisticated clients may wish to override this.
|
|||
|
*
|
|||
|
* @param {ReactReconcileTransaction} transaction
|
|||
|
* @internal
|
|||
|
* @overridable
|
|||
|
*/
|
|||
|
updateComponent: 'OVERRIDE_BASE'
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* Similar to ReactClassInterface but for static methods.
|
|||
|
*/
|
|||
|
var ReactClassStaticInterface = {
|
|||
|
/**
|
|||
|
* This method is invoked after a component is instantiated and when it
|
|||
|
* receives new props. Return an object to update state in response to
|
|||
|
* prop changes. Return null to indicate no change to state.
|
|||
|
*
|
|||
|
* If an object is returned, its keys will be merged into the existing state.
|
|||
|
*
|
|||
|
* @return {object || null}
|
|||
|
* @optional
|
|||
|
*/
|
|||
|
getDerivedStateFromProps: 'DEFINE_MANY_MERGED'
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* Mapping from class specification keys to special processing functions.
|
|||
|
*
|
|||
|
* Although these are declared like instance properties in the specification
|
|||
|
* when defining classes using `React.createClass`, they are actually static
|
|||
|
* and are accessible on the constructor instead of the prototype. Despite
|
|||
|
* being static, they must be defined outside of the "statics" key under
|
|||
|
* which all other static methods are defined.
|
|||
|
*/
|
|||
|
var RESERVED_SPEC_KEYS = {
|
|||
|
displayName: function(Constructor, displayName) {
|
|||
|
Constructor.displayName = displayName;
|
|||
|
},
|
|||
|
mixins: function(Constructor, mixins) {
|
|||
|
if (mixins) {
|
|||
|
for (var i = 0; i < mixins.length; i++) {
|
|||
|
mixSpecIntoComponent(Constructor, mixins[i]);
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
childContextTypes: function(Constructor, childContextTypes) {
|
|||
|
if (false) {
|
|||
|
validateTypeDef(Constructor, childContextTypes, 'childContext');
|
|||
|
}
|
|||
|
Constructor.childContextTypes = _assign(
|
|||
|
{},
|
|||
|
Constructor.childContextTypes,
|
|||
|
childContextTypes
|
|||
|
);
|
|||
|
},
|
|||
|
contextTypes: function(Constructor, contextTypes) {
|
|||
|
if (false) {
|
|||
|
validateTypeDef(Constructor, contextTypes, 'context');
|
|||
|
}
|
|||
|
Constructor.contextTypes = _assign(
|
|||
|
{},
|
|||
|
Constructor.contextTypes,
|
|||
|
contextTypes
|
|||
|
);
|
|||
|
},
|
|||
|
/**
|
|||
|
* Special case getDefaultProps which should move into statics but requires
|
|||
|
* automatic merging.
|
|||
|
*/
|
|||
|
getDefaultProps: function(Constructor, getDefaultProps) {
|
|||
|
if (Constructor.getDefaultProps) {
|
|||
|
Constructor.getDefaultProps = createMergedResultFunction(
|
|||
|
Constructor.getDefaultProps,
|
|||
|
getDefaultProps
|
|||
|
);
|
|||
|
} else {
|
|||
|
Constructor.getDefaultProps = getDefaultProps;
|
|||
|
}
|
|||
|
},
|
|||
|
propTypes: function(Constructor, propTypes) {
|
|||
|
if (false) {
|
|||
|
validateTypeDef(Constructor, propTypes, 'prop');
|
|||
|
}
|
|||
|
Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);
|
|||
|
},
|
|||
|
statics: function(Constructor, statics) {
|
|||
|
mixStaticSpecIntoComponent(Constructor, statics);
|
|||
|
},
|
|||
|
autobind: function() {}
|
|||
|
};
|
|||
|
|
|||
|
function validateTypeDef(Constructor, typeDef, location) {
|
|||
|
for (var propName in typeDef) {
|
|||
|
if (typeDef.hasOwnProperty(propName)) {
|
|||
|
// use a warning instead of an _invariant so components
|
|||
|
// don't show up in prod but only in __DEV__
|
|||
|
if (false) {
|
|||
|
warning(
|
|||
|
typeof typeDef[propName] === 'function',
|
|||
|
'%s: %s type `%s` is invalid; it must be a function, usually from ' +
|
|||
|
'React.PropTypes.',
|
|||
|
Constructor.displayName || 'ReactClass',
|
|||
|
ReactPropTypeLocationNames[location],
|
|||
|
propName
|
|||
|
);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function validateMethodOverride(isAlreadyDefined, name) {
|
|||
|
var specPolicy = ReactClassInterface.hasOwnProperty(name)
|
|||
|
? ReactClassInterface[name]
|
|||
|
: null;
|
|||
|
|
|||
|
// Disallow overriding of base class methods unless explicitly allowed.
|
|||
|
if (ReactClassMixin.hasOwnProperty(name)) {
|
|||
|
_invariant(
|
|||
|
specPolicy === 'OVERRIDE_BASE',
|
|||
|
'ReactClassInterface: You are attempting to override ' +
|
|||
|
'`%s` from your class specification. Ensure that your method names ' +
|
|||
|
'do not overlap with React methods.',
|
|||
|
name
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
// Disallow defining methods more than once unless explicitly allowed.
|
|||
|
if (isAlreadyDefined) {
|
|||
|
_invariant(
|
|||
|
specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',
|
|||
|
'ReactClassInterface: You are attempting to define ' +
|
|||
|
'`%s` on your component more than once. This conflict may be due ' +
|
|||
|
'to a mixin.',
|
|||
|
name
|
|||
|
);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* Mixin helper which handles policy validation and reserved
|
|||
|
* specification keys when building React classes.
|
|||
|
*/
|
|||
|
function mixSpecIntoComponent(Constructor, spec) {
|
|||
|
if (!spec) {
|
|||
|
if (false) {
|
|||
|
var typeofSpec = typeof spec;
|
|||
|
var isMixinValid = typeofSpec === 'object' && spec !== null;
|
|||
|
|
|||
|
if (process.env.NODE_ENV !== 'production') {
|
|||
|
warning(
|
|||
|
isMixinValid,
|
|||
|
"%s: You're attempting to include a mixin that is either null " +
|
|||
|
'or not an object. Check the mixins included by the component, ' +
|
|||
|
'as well as any mixins they include themselves. ' +
|
|||
|
'Expected object but got %s.',
|
|||
|
Constructor.displayName || 'ReactClass',
|
|||
|
spec === null ? null : typeofSpec
|
|||
|
);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
_invariant(
|
|||
|
typeof spec !== 'function',
|
|||
|
"ReactClass: You're attempting to " +
|
|||
|
'use a component class or function as a mixin. Instead, just use a ' +
|
|||
|
'regular object.'
|
|||
|
);
|
|||
|
_invariant(
|
|||
|
!isValidElement(spec),
|
|||
|
"ReactClass: You're attempting to " +
|
|||
|
'use a component as a mixin. Instead, just use a regular object.'
|
|||
|
);
|
|||
|
|
|||
|
var proto = Constructor.prototype;
|
|||
|
var autoBindPairs = proto.__reactAutoBindPairs;
|
|||
|
|
|||
|
// By handling mixins before any other properties, we ensure the same
|
|||
|
// chaining order is applied to methods with DEFINE_MANY policy, whether
|
|||
|
// mixins are listed before or after these methods in the spec.
|
|||
|
if (spec.hasOwnProperty(MIXINS_KEY)) {
|
|||
|
RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);
|
|||
|
}
|
|||
|
|
|||
|
for (var name in spec) {
|
|||
|
if (!spec.hasOwnProperty(name)) {
|
|||
|
continue;
|
|||
|
}
|
|||
|
|
|||
|
if (name === MIXINS_KEY) {
|
|||
|
// We have already handled mixins in a special case above.
|
|||
|
continue;
|
|||
|
}
|
|||
|
|
|||
|
var property = spec[name];
|
|||
|
var isAlreadyDefined = proto.hasOwnProperty(name);
|
|||
|
validateMethodOverride(isAlreadyDefined, name);
|
|||
|
|
|||
|
if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {
|
|||
|
RESERVED_SPEC_KEYS[name](Constructor, property);
|
|||
|
} else {
|
|||
|
// Setup methods on prototype:
|
|||
|
// The following member methods should not be automatically bound:
|
|||
|
// 1. Expected ReactClass methods (in the "interface").
|
|||
|
// 2. Overridden methods (that were mixed in).
|
|||
|
var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);
|
|||
|
var isFunction = typeof property === 'function';
|
|||
|
var shouldAutoBind =
|
|||
|
isFunction &&
|
|||
|
!isReactClassMethod &&
|
|||
|
!isAlreadyDefined &&
|
|||
|
spec.autobind !== false;
|
|||
|
|
|||
|
if (shouldAutoBind) {
|
|||
|
autoBindPairs.push(name, property);
|
|||
|
proto[name] = property;
|
|||
|
} else {
|
|||
|
if (isAlreadyDefined) {
|
|||
|
var specPolicy = ReactClassInterface[name];
|
|||
|
|
|||
|
// These cases should already be caught by validateMethodOverride.
|
|||
|
_invariant(
|
|||
|
isReactClassMethod &&
|
|||
|
(specPolicy === 'DEFINE_MANY_MERGED' ||
|
|||
|
specPolicy === 'DEFINE_MANY'),
|
|||
|
'ReactClass: Unexpected spec policy %s for key %s ' +
|
|||
|
'when mixing in component specs.',
|
|||
|
specPolicy,
|
|||
|
name
|
|||
|
);
|
|||
|
|
|||
|
// For methods which are defined more than once, call the existing
|
|||
|
// methods before calling the new property, merging if appropriate.
|
|||
|
if (specPolicy === 'DEFINE_MANY_MERGED') {
|
|||
|
proto[name] = createMergedResultFunction(proto[name], property);
|
|||
|
} else if (specPolicy === 'DEFINE_MANY') {
|
|||
|
proto[name] = createChainedFunction(proto[name], property);
|
|||
|
}
|
|||
|
} else {
|
|||
|
proto[name] = property;
|
|||
|
if (false) {
|
|||
|
// Add verbose displayName to the function, which helps when looking
|
|||
|
// at profiling tools.
|
|||
|
if (typeof property === 'function' && spec.displayName) {
|
|||
|
proto[name].displayName = spec.displayName + '_' + name;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function mixStaticSpecIntoComponent(Constructor, statics) {
|
|||
|
if (!statics) {
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
for (var name in statics) {
|
|||
|
var property = statics[name];
|
|||
|
if (!statics.hasOwnProperty(name)) {
|
|||
|
continue;
|
|||
|
}
|
|||
|
|
|||
|
var isReserved = name in RESERVED_SPEC_KEYS;
|
|||
|
_invariant(
|
|||
|
!isReserved,
|
|||
|
'ReactClass: You are attempting to define a reserved ' +
|
|||
|
'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' +
|
|||
|
'as an instance property instead; it will still be accessible on the ' +
|
|||
|
'constructor.',
|
|||
|
name
|
|||
|
);
|
|||
|
|
|||
|
var isAlreadyDefined = name in Constructor;
|
|||
|
if (isAlreadyDefined) {
|
|||
|
var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)
|
|||
|
? ReactClassStaticInterface[name]
|
|||
|
: null;
|
|||
|
|
|||
|
_invariant(
|
|||
|
specPolicy === 'DEFINE_MANY_MERGED',
|
|||
|
'ReactClass: You are attempting to define ' +
|
|||
|
'`%s` on your component more than once. This conflict may be ' +
|
|||
|
'due to a mixin.',
|
|||
|
name
|
|||
|
);
|
|||
|
|
|||
|
Constructor[name] = createMergedResultFunction(Constructor[name], property);
|
|||
|
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
Constructor[name] = property;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* Merge two objects, but throw if both contain the same key.
|
|||
|
*
|
|||
|
* @param {object} one The first object, which is mutated.
|
|||
|
* @param {object} two The second object
|
|||
|
* @return {object} one after it has been mutated to contain everything in two.
|
|||
|
*/
|
|||
|
function mergeIntoWithNoDuplicateKeys(one, two) {
|
|||
|
_invariant(
|
|||
|
one && two && typeof one === 'object' && typeof two === 'object',
|
|||
|
'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'
|
|||
|
);
|
|||
|
|
|||
|
for (var key in two) {
|
|||
|
if (two.hasOwnProperty(key)) {
|
|||
|
_invariant(
|
|||
|
one[key] === undefined,
|
|||
|
'mergeIntoWithNoDuplicateKeys(): ' +
|
|||
|
'Tried to merge two objects with the same key: `%s`. This conflict ' +
|
|||
|
'may be due to a mixin; in particular, this may be caused by two ' +
|
|||
|
'getInitialState() or getDefaultProps() methods returning objects ' +
|
|||
|
'with clashing keys.',
|
|||
|
key
|
|||
|
);
|
|||
|
one[key] = two[key];
|
|||
|
}
|
|||
|
}
|
|||
|
return one;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* Creates a function that invokes two functions and merges their return values.
|
|||
|
*
|
|||
|
* @param {function} one Function to invoke first.
|
|||
|
* @param {function} two Function to invoke second.
|
|||
|
* @return {function} Function that invokes the two argument functions.
|
|||
|
* @private
|
|||
|
*/
|
|||
|
function createMergedResultFunction(one, two) {
|
|||
|
return function mergedResult() {
|
|||
|
var a = one.apply(this, arguments);
|
|||
|
var b = two.apply(this, arguments);
|
|||
|
if (a == null) {
|
|||
|
return b;
|
|||
|
} else if (b == null) {
|
|||
|
return a;
|
|||
|
}
|
|||
|
var c = {};
|
|||
|
mergeIntoWithNoDuplicateKeys(c, a);
|
|||
|
mergeIntoWithNoDuplicateKeys(c, b);
|
|||
|
return c;
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* Creates a function that invokes two functions and ignores their return vales.
|
|||
|
*
|
|||
|
* @param {function} one Function to invoke first.
|
|||
|
* @param {function} two Function to invoke second.
|
|||
|
* @return {function} Function that invokes the two argument functions.
|
|||
|
* @private
|
|||
|
*/
|
|||
|
function createChainedFunction(one, two) {
|
|||
|
return function chainedFunction() {
|
|||
|
one.apply(this, arguments);
|
|||
|
two.apply(this, arguments);
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* Binds a method to the component.
|
|||
|
*
|
|||
|
* @param {object} component Component whose method is going to be bound.
|
|||
|
* @param {function} method Method to be bound.
|
|||
|
* @return {function} The bound method.
|
|||
|
*/
|
|||
|
function bindAutoBindMethod(component, method) {
|
|||
|
var boundMethod = method.bind(component);
|
|||
|
if (false) {
|
|||
|
boundMethod.__reactBoundContext = component;
|
|||
|
boundMethod.__reactBoundMethod = method;
|
|||
|
boundMethod.__reactBoundArguments = null;
|
|||
|
var componentName = component.constructor.displayName;
|
|||
|
var _bind = boundMethod.bind;
|
|||
|
boundMethod.bind = function(newThis) {
|
|||
|
for (
|
|||
|
var _len = arguments.length,
|
|||
|
args = Array(_len > 1 ? _len - 1 : 0),
|
|||
|
_key = 1;
|
|||
|
_key < _len;
|
|||
|
_key++
|
|||
|
) {
|
|||
|
args[_key - 1] = arguments[_key];
|
|||
|
}
|
|||
|
|
|||
|
// User is trying to bind() an autobound method; we effectively will
|
|||
|
// ignore the value of "this" that the user is trying to use, so
|
|||
|
// let's warn.
|
|||
|
if (newThis !== component && newThis !== null) {
|
|||
|
if (process.env.NODE_ENV !== 'production') {
|
|||
|
warning(
|
|||
|
false,
|
|||
|
'bind(): React component methods may only be bound to the ' +
|
|||
|
'component instance. See %s',
|
|||
|
componentName
|
|||
|
);
|
|||
|
}
|
|||
|
} else if (!args.length) {
|
|||
|
if (process.env.NODE_ENV !== 'production') {
|
|||
|
warning(
|
|||
|
false,
|
|||
|
'bind(): You are binding a component method to the component. ' +
|
|||
|
'React does this for you automatically in a high-performance ' +
|
|||
|
'way, so you can safely remove this call. See %s',
|
|||
|
componentName
|
|||
|
);
|
|||
|
}
|
|||
|
return boundMethod;
|
|||
|
}
|
|||
|
var reboundMethod = _bind.apply(boundMethod, arguments);
|
|||
|
reboundMethod.__reactBoundContext = component;
|
|||
|
reboundMethod.__reactBoundMethod = method;
|
|||
|
reboundMethod.__reactBoundArguments = args;
|
|||
|
return reboundMethod;
|
|||
|
};
|
|||
|
}
|
|||
|
return boundMethod;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* Binds all auto-bound methods in a component.
|
|||
|
*
|
|||
|
* @param {object} component Component whose method is going to be bound.
|
|||
|
*/
|
|||
|
function bindAutoBindMethods(component) {
|
|||
|
var pairs = component.__reactAutoBindPairs;
|
|||
|
for (var i = 0; i < pairs.length; i += 2) {
|
|||
|
var autoBindKey = pairs[i];
|
|||
|
var method = pairs[i + 1];
|
|||
|
component[autoBindKey] = bindAutoBindMethod(component, method);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
var IsMountedPreMixin = {
|
|||
|
componentDidMount: function() {
|
|||
|
this.__isMounted = true;
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
var IsMountedPostMixin = {
|
|||
|
componentWillUnmount: function() {
|
|||
|
this.__isMounted = false;
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* Add more to the ReactClass base class. These are all legacy features and
|
|||
|
* therefore not already part of the modern ReactComponent.
|
|||
|
*/
|
|||
|
var ReactClassMixin = {
|
|||
|
/**
|
|||
|
* TODO: This will be deprecated because state should always keep a consistent
|
|||
|
* type signature and the only use case for this, is to avoid that.
|
|||
|
*/
|
|||
|
replaceState: function(newState, callback) {
|
|||
|
this.updater.enqueueReplaceState(this, newState, callback);
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* Checks whether or not this composite component is mounted.
|
|||
|
* @return {boolean} True if mounted, false otherwise.
|
|||
|
* @protected
|
|||
|
* @final
|
|||
|
*/
|
|||
|
isMounted: function() {
|
|||
|
if (false) {
|
|||
|
warning(
|
|||
|
this.__didWarnIsMounted,
|
|||
|
'%s: isMounted is deprecated. Instead, make sure to clean up ' +
|
|||
|
'subscriptions and pending requests in componentWillUnmount to ' +
|
|||
|
'prevent memory leaks.',
|
|||
|
(this.constructor && this.constructor.displayName) ||
|
|||
|
this.name ||
|
|||
|
'Component'
|
|||
|
);
|
|||
|
this.__didWarnIsMounted = true;
|
|||
|
}
|
|||
|
return !!this.__isMounted;
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
var ReactClassComponent = function() {};
|
|||
|
_assign(
|
|||
|
ReactClassComponent.prototype,
|
|||
|
ReactComponent.prototype,
|
|||
|
ReactClassMixin
|
|||
|
);
|
|||
|
|
|||
|
/**
|
|||
|
* Creates a composite component class given a class specification.
|
|||
|
* See https://facebook.github.io/react/docs/top-level-api.html#react.createclass
|
|||
|
*
|
|||
|
* @param {object} spec Class specification (which must define `render`).
|
|||
|
* @return {function} Component constructor function.
|
|||
|
* @public
|
|||
|
*/
|
|||
|
function createClass(spec) {
|
|||
|
// To keep our warnings more understandable, we'll use a little hack here to
|
|||
|
// ensure that Constructor.name !== 'Constructor'. This makes sure we don't
|
|||
|
// unnecessarily identify a class without displayName as 'Constructor'.
|
|||
|
var Constructor = identity(function(props, context, updater) {
|
|||
|
// This constructor gets overridden by mocks. The argument is used
|
|||
|
// by mocks to assert on what gets mounted.
|
|||
|
|
|||
|
if (false) {
|
|||
|
warning(
|
|||
|
this instanceof Constructor,
|
|||
|
'Something is calling a React component directly. Use a factory or ' +
|
|||
|
'JSX instead. See: https://fb.me/react-legacyfactory'
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
// Wire up auto-binding
|
|||
|
if (this.__reactAutoBindPairs.length) {
|
|||
|
bindAutoBindMethods(this);
|
|||
|
}
|
|||
|
|
|||
|
this.props = props;
|
|||
|
this.context = context;
|
|||
|
this.refs = emptyObject;
|
|||
|
this.updater = updater || ReactNoopUpdateQueue;
|
|||
|
|
|||
|
this.state = null;
|
|||
|
|
|||
|
// ReactClasses doesn't have constructors. Instead, they use the
|
|||
|
// getInitialState and componentWillMount methods for initialization.
|
|||
|
|
|||
|
var initialState = this.getInitialState ? this.getInitialState() : null;
|
|||
|
if (false) {
|
|||
|
// We allow auto-mocks to proceed as if they're returning null.
|
|||
|
if (
|
|||
|
initialState === undefined &&
|
|||
|
this.getInitialState._isMockFunction
|
|||
|
) {
|
|||
|
// This is probably bad practice. Consider warning here and
|
|||
|
// deprecating this convenience.
|
|||
|
initialState = null;
|
|||
|
}
|
|||
|
}
|
|||
|
_invariant(
|
|||
|
typeof initialState === 'object' && !Array.isArray(initialState),
|
|||
|
'%s.getInitialState(): must return an object or null',
|
|||
|
Constructor.displayName || 'ReactCompositeComponent'
|
|||
|
);
|
|||
|
|
|||
|
this.state = initialState;
|
|||
|
});
|
|||
|
Constructor.prototype = new ReactClassComponent();
|
|||
|
Constructor.prototype.constructor = Constructor;
|
|||
|
Constructor.prototype.__reactAutoBindPairs = [];
|
|||
|
|
|||
|
injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));
|
|||
|
|
|||
|
mixSpecIntoComponent(Constructor, IsMountedPreMixin);
|
|||
|
mixSpecIntoComponent(Constructor, spec);
|
|||
|
mixSpecIntoComponent(Constructor, IsMountedPostMixin);
|
|||
|
|
|||
|
// Initialize the defaultProps property after all mixins have been merged.
|
|||
|
if (Constructor.getDefaultProps) {
|
|||
|
Constructor.defaultProps = Constructor.getDefaultProps();
|
|||
|
}
|
|||
|
|
|||
|
if (false) {
|
|||
|
// This is a tag to indicate that the use of these method names is ok,
|
|||
|
// since it's used with createClass. If it's not, then it's likely a
|
|||
|
// mistake so we'll warn you to use the static property, property
|
|||
|
// initializer or constructor respectively.
|
|||
|
if (Constructor.getDefaultProps) {
|
|||
|
Constructor.getDefaultProps.isReactClassApproved = {};
|
|||
|
}
|
|||
|
if (Constructor.prototype.getInitialState) {
|
|||
|
Constructor.prototype.getInitialState.isReactClassApproved = {};
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
_invariant(
|
|||
|
Constructor.prototype.render,
|
|||
|
'createClass(...): Class specification must implement a `render` method.'
|
|||
|
);
|
|||
|
|
|||
|
if (false) {
|
|||
|
warning(
|
|||
|
!Constructor.prototype.componentShouldUpdate,
|
|||
|
'%s has a method called ' +
|
|||
|
'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +
|
|||
|
'The name is phrased as a question because the function is ' +
|
|||
|
'expected to return a value.',
|
|||
|
spec.displayName || 'A component'
|
|||
|
);
|
|||
|
warning(
|
|||
|
!Constructor.prototype.componentWillRecieveProps,
|
|||
|
'%s has a method called ' +
|
|||
|
'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',
|
|||
|
spec.displayName || 'A component'
|
|||
|
);
|
|||
|
warning(
|
|||
|
!Constructor.prototype.UNSAFE_componentWillRecieveProps,
|
|||
|
'%s has a method called UNSAFE_componentWillRecieveProps(). ' +
|
|||
|
'Did you mean UNSAFE_componentWillReceiveProps()?',
|
|||
|
spec.displayName || 'A component'
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
// Reduce time spent doing lookups by setting these on the prototype.
|
|||
|
for (var methodName in ReactClassInterface) {
|
|||
|
if (!Constructor.prototype[methodName]) {
|
|||
|
Constructor.prototype[methodName] = null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return Constructor;
|
|||
|
}
|
|||
|
|
|||
|
return createClass;
|
|||
|
}
|
|||
|
|
|||
|
module.exports = factory;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1005:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
/**
|
|||
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|||
|
*
|
|||
|
* This source code is licensed under the MIT license found in the
|
|||
|
* LICENSE file in the root directory of this source tree.
|
|||
|
*
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
var emptyObject = {};
|
|||
|
|
|||
|
if (false) {
|
|||
|
Object.freeze(emptyObject);
|
|||
|
}
|
|||
|
|
|||
|
module.exports = emptyObject;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1006:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
/**
|
|||
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|||
|
*
|
|||
|
* This source code is licensed under the MIT license found in the
|
|||
|
* LICENSE file in the root directory of this source tree.
|
|||
|
*
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* Use invariant() to assert state which your program assumes to be true.
|
|||
|
*
|
|||
|
* Provide sprintf-style format (only %s is supported) and arguments
|
|||
|
* to provide information about what broke and what you were
|
|||
|
* expecting.
|
|||
|
*
|
|||
|
* The invariant message will be stripped in production, but the invariant
|
|||
|
* will remain to ensure logic does not differ in production.
|
|||
|
*/
|
|||
|
|
|||
|
var validateFormat = function validateFormat(format) {};
|
|||
|
|
|||
|
if (false) {
|
|||
|
validateFormat = function validateFormat(format) {
|
|||
|
if (format === undefined) {
|
|||
|
throw new Error('invariant requires an error message argument');
|
|||
|
}
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
function invariant(condition, format, a, b, c, d, e, f) {
|
|||
|
validateFormat(format);
|
|||
|
|
|||
|
if (!condition) {
|
|||
|
var error;
|
|||
|
if (format === undefined) {
|
|||
|
error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
|
|||
|
} else {
|
|||
|
var args = [a, b, c, d, e, f];
|
|||
|
var argIndex = 0;
|
|||
|
error = new Error(format.replace(/%s/g, function () {
|
|||
|
return args[argIndex++];
|
|||
|
}));
|
|||
|
error.name = 'Invariant Violation';
|
|||
|
}
|
|||
|
|
|||
|
error.framesToPop = 1; // we don't care about invariant's own frame
|
|||
|
throw error;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
module.exports = invariant;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1007:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|||
|
|
|||
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
var _validator = __webpack_require__(1008);
|
|||
|
|
|||
|
var _validator2 = _interopRequireDefault(_validator);
|
|||
|
|
|||
|
var _messages2 = __webpack_require__(1028);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Encapsulates a validation schema.
|
|||
|
*
|
|||
|
* @param descriptor An object declaring validation rules
|
|||
|
* for this schema.
|
|||
|
*/
|
|||
|
function Schema(descriptor) {
|
|||
|
this.rules = null;
|
|||
|
this._messages = _messages2.messages;
|
|||
|
this.define(descriptor);
|
|||
|
}
|
|||
|
|
|||
|
Schema.prototype = {
|
|||
|
messages: function messages(_messages) {
|
|||
|
if (_messages) {
|
|||
|
this._messages = (0, _util.deepMerge)((0, _messages2.newMessages)(), _messages);
|
|||
|
}
|
|||
|
return this._messages;
|
|||
|
},
|
|||
|
define: function define(rules) {
|
|||
|
if (!rules) {
|
|||
|
throw new Error('Cannot configure a schema with no rules');
|
|||
|
}
|
|||
|
if ((typeof rules === 'undefined' ? 'undefined' : _typeof(rules)) !== 'object' || Array.isArray(rules)) {
|
|||
|
throw new Error('Rules must be an object');
|
|||
|
}
|
|||
|
this.rules = {};
|
|||
|
var z = void 0;
|
|||
|
var item = void 0;
|
|||
|
for (z in rules) {
|
|||
|
if (rules.hasOwnProperty(z)) {
|
|||
|
item = rules[z];
|
|||
|
this.rules[z] = Array.isArray(item) ? item : [item];
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
validate: function validate(source_) {
|
|||
|
var _this = this;
|
|||
|
|
|||
|
var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|||
|
var oc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
|
|||
|
|
|||
|
var source = source_;
|
|||
|
var options = o;
|
|||
|
var callback = oc;
|
|||
|
if (typeof options === 'function') {
|
|||
|
callback = options;
|
|||
|
options = {};
|
|||
|
}
|
|||
|
if (!this.rules || Object.keys(this.rules).length === 0) {
|
|||
|
if (callback) {
|
|||
|
callback();
|
|||
|
}
|
|||
|
return Promise.resolve();
|
|||
|
}
|
|||
|
|
|||
|
function complete(results) {
|
|||
|
var i = void 0;
|
|||
|
var errors = [];
|
|||
|
var fields = {};
|
|||
|
|
|||
|
function add(e) {
|
|||
|
if (Array.isArray(e)) {
|
|||
|
var _errors;
|
|||
|
|
|||
|
errors = (_errors = errors).concat.apply(_errors, e);
|
|||
|
} else {
|
|||
|
errors.push(e);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
for (i = 0; i < results.length; i++) {
|
|||
|
add(results[i]);
|
|||
|
}
|
|||
|
if (!errors.length) {
|
|||
|
errors = null;
|
|||
|
fields = null;
|
|||
|
} else {
|
|||
|
fields = (0, _util.convertFieldsError)(errors);
|
|||
|
}
|
|||
|
callback(errors, fields);
|
|||
|
}
|
|||
|
|
|||
|
if (options.messages) {
|
|||
|
var messages = this.messages();
|
|||
|
if (messages === _messages2.messages) {
|
|||
|
messages = (0, _messages2.newMessages)();
|
|||
|
}
|
|||
|
(0, _util.deepMerge)(messages, options.messages);
|
|||
|
options.messages = messages;
|
|||
|
} else {
|
|||
|
options.messages = this.messages();
|
|||
|
}
|
|||
|
var arr = void 0;
|
|||
|
var value = void 0;
|
|||
|
var series = {};
|
|||
|
var keys = options.keys || Object.keys(this.rules);
|
|||
|
keys.forEach(function (z) {
|
|||
|
arr = _this.rules[z];
|
|||
|
value = source[z];
|
|||
|
arr.forEach(function (r) {
|
|||
|
var rule = r;
|
|||
|
if (typeof rule.transform === 'function') {
|
|||
|
if (source === source_) {
|
|||
|
source = _extends({}, source);
|
|||
|
}
|
|||
|
value = source[z] = rule.transform(value);
|
|||
|
}
|
|||
|
if (typeof rule === 'function') {
|
|||
|
rule = {
|
|||
|
validator: rule
|
|||
|
};
|
|||
|
} else {
|
|||
|
rule = _extends({}, rule);
|
|||
|
}
|
|||
|
rule.validator = _this.getValidationMethod(rule);
|
|||
|
rule.field = z;
|
|||
|
rule.fullField = rule.fullField || z;
|
|||
|
rule.type = _this.getType(rule);
|
|||
|
if (!rule.validator) {
|
|||
|
return;
|
|||
|
}
|
|||
|
series[z] = series[z] || [];
|
|||
|
series[z].push({
|
|||
|
rule: rule,
|
|||
|
value: value,
|
|||
|
source: source,
|
|||
|
field: z
|
|||
|
});
|
|||
|
});
|
|||
|
});
|
|||
|
var errorFields = {};
|
|||
|
return (0, _util.asyncMap)(series, options, function (data, doIt) {
|
|||
|
var rule = data.rule;
|
|||
|
var deep = (rule.type === 'object' || rule.type === 'array') && (_typeof(rule.fields) === 'object' || _typeof(rule.defaultField) === 'object');
|
|||
|
deep = deep && (rule.required || !rule.required && data.value);
|
|||
|
rule.field = data.field;
|
|||
|
|
|||
|
function addFullfield(key, schema) {
|
|||
|
return _extends({}, schema, {
|
|||
|
fullField: rule.fullField + '.' + key
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
function cb() {
|
|||
|
var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|||
|
|
|||
|
var errors = e;
|
|||
|
if (!Array.isArray(errors)) {
|
|||
|
errors = [errors];
|
|||
|
}
|
|||
|
if (!options.suppressWarning && errors.length) {
|
|||
|
Schema.warning('async-validator:', errors);
|
|||
|
}
|
|||
|
if (errors.length && rule.message) {
|
|||
|
errors = [].concat(rule.message);
|
|||
|
}
|
|||
|
|
|||
|
errors = errors.map((0, _util.complementError)(rule));
|
|||
|
|
|||
|
if (options.first && errors.length) {
|
|||
|
errorFields[rule.field] = 1;
|
|||
|
return doIt(errors);
|
|||
|
}
|
|||
|
if (!deep) {
|
|||
|
doIt(errors);
|
|||
|
} else {
|
|||
|
// if rule is required but the target object
|
|||
|
// does not exist fail at the rule level and don't
|
|||
|
// go deeper
|
|||
|
if (rule.required && !data.value) {
|
|||
|
if (rule.message) {
|
|||
|
errors = [].concat(rule.message).map((0, _util.complementError)(rule));
|
|||
|
} else if (options.error) {
|
|||
|
errors = [options.error(rule, (0, _util.format)(options.messages.required, rule.field))];
|
|||
|
} else {
|
|||
|
errors = [];
|
|||
|
}
|
|||
|
return doIt(errors);
|
|||
|
}
|
|||
|
|
|||
|
var fieldsSchema = {};
|
|||
|
if (rule.defaultField) {
|
|||
|
for (var k in data.value) {
|
|||
|
if (data.value.hasOwnProperty(k)) {
|
|||
|
fieldsSchema[k] = rule.defaultField;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);
|
|||
|
for (var f in fieldsSchema) {
|
|||
|
if (fieldsSchema.hasOwnProperty(f)) {
|
|||
|
var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];
|
|||
|
fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));
|
|||
|
}
|
|||
|
}
|
|||
|
var schema = new Schema(fieldsSchema);
|
|||
|
schema.messages(options.messages);
|
|||
|
if (data.rule.options) {
|
|||
|
data.rule.options.messages = options.messages;
|
|||
|
data.rule.options.error = options.error;
|
|||
|
}
|
|||
|
schema.validate(data.value, data.rule.options || options, function (errs) {
|
|||
|
var finalErrors = [];
|
|||
|
if (errors && errors.length) {
|
|||
|
finalErrors.push.apply(finalErrors, errors);
|
|||
|
}
|
|||
|
if (errs && errs.length) {
|
|||
|
finalErrors.push.apply(finalErrors, errs);
|
|||
|
}
|
|||
|
doIt(finalErrors.length ? finalErrors : null);
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
var res = void 0;
|
|||
|
if (rule.asyncValidator) {
|
|||
|
res = rule.asyncValidator(rule, data.value, cb, data.source, options);
|
|||
|
} else if (rule.validator) {
|
|||
|
res = rule.validator(rule, data.value, cb, data.source, options);
|
|||
|
if (res === true) {
|
|||
|
cb();
|
|||
|
} else if (res === false) {
|
|||
|
cb(rule.message || rule.field + ' fails');
|
|||
|
} else if (res instanceof Array) {
|
|||
|
cb(res);
|
|||
|
} else if (res instanceof Error) {
|
|||
|
cb(res.message);
|
|||
|
}
|
|||
|
}
|
|||
|
if (res && res.then) {
|
|||
|
res.then(function () {
|
|||
|
return cb();
|
|||
|
}, function (e) {
|
|||
|
return cb(e);
|
|||
|
});
|
|||
|
}
|
|||
|
}, function (results) {
|
|||
|
complete(results);
|
|||
|
});
|
|||
|
},
|
|||
|
getType: function getType(rule) {
|
|||
|
if (rule.type === undefined && rule.pattern instanceof RegExp) {
|
|||
|
rule.type = 'pattern';
|
|||
|
}
|
|||
|
if (typeof rule.validator !== 'function' && rule.type && !_validator2['default'].hasOwnProperty(rule.type)) {
|
|||
|
throw new Error((0, _util.format)('Unknown rule type %s', rule.type));
|
|||
|
}
|
|||
|
return rule.type || 'string';
|
|||
|
},
|
|||
|
getValidationMethod: function getValidationMethod(rule) {
|
|||
|
if (typeof rule.validator === 'function') {
|
|||
|
return rule.validator;
|
|||
|
}
|
|||
|
var keys = Object.keys(rule);
|
|||
|
var messageIndex = keys.indexOf('message');
|
|||
|
if (messageIndex !== -1) {
|
|||
|
keys.splice(messageIndex, 1);
|
|||
|
}
|
|||
|
if (keys.length === 1 && keys[0] === 'required') {
|
|||
|
return _validator2['default'].required;
|
|||
|
}
|
|||
|
return _validator2['default'][this.getType(rule)] || false;
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
Schema.register = function register(type, validator) {
|
|||
|
if (typeof validator !== 'function') {
|
|||
|
throw new Error('Cannot register a validator by type, validator is not a function');
|
|||
|
}
|
|||
|
_validator2['default'][type] = validator;
|
|||
|
};
|
|||
|
|
|||
|
Schema.warning = _util.warning;
|
|||
|
|
|||
|
Schema.messages = _messages2.messages;
|
|||
|
|
|||
|
exports['default'] = Schema;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1008:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _string = __webpack_require__(1009);
|
|||
|
|
|||
|
var _string2 = _interopRequireDefault(_string);
|
|||
|
|
|||
|
var _method = __webpack_require__(1015);
|
|||
|
|
|||
|
var _method2 = _interopRequireDefault(_method);
|
|||
|
|
|||
|
var _number = __webpack_require__(1016);
|
|||
|
|
|||
|
var _number2 = _interopRequireDefault(_number);
|
|||
|
|
|||
|
var _boolean = __webpack_require__(1017);
|
|||
|
|
|||
|
var _boolean2 = _interopRequireDefault(_boolean);
|
|||
|
|
|||
|
var _regexp = __webpack_require__(1018);
|
|||
|
|
|||
|
var _regexp2 = _interopRequireDefault(_regexp);
|
|||
|
|
|||
|
var _integer = __webpack_require__(1019);
|
|||
|
|
|||
|
var _integer2 = _interopRequireDefault(_integer);
|
|||
|
|
|||
|
var _float = __webpack_require__(1020);
|
|||
|
|
|||
|
var _float2 = _interopRequireDefault(_float);
|
|||
|
|
|||
|
var _array = __webpack_require__(1021);
|
|||
|
|
|||
|
var _array2 = _interopRequireDefault(_array);
|
|||
|
|
|||
|
var _object = __webpack_require__(1022);
|
|||
|
|
|||
|
var _object2 = _interopRequireDefault(_object);
|
|||
|
|
|||
|
var _enum = __webpack_require__(1023);
|
|||
|
|
|||
|
var _enum2 = _interopRequireDefault(_enum);
|
|||
|
|
|||
|
var _pattern = __webpack_require__(1024);
|
|||
|
|
|||
|
var _pattern2 = _interopRequireDefault(_pattern);
|
|||
|
|
|||
|
var _date = __webpack_require__(1025);
|
|||
|
|
|||
|
var _date2 = _interopRequireDefault(_date);
|
|||
|
|
|||
|
var _required = __webpack_require__(1026);
|
|||
|
|
|||
|
var _required2 = _interopRequireDefault(_required);
|
|||
|
|
|||
|
var _type = __webpack_require__(1027);
|
|||
|
|
|||
|
var _type2 = _interopRequireDefault(_type);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
exports['default'] = {
|
|||
|
string: _string2['default'],
|
|||
|
method: _method2['default'],
|
|||
|
number: _number2['default'],
|
|||
|
boolean: _boolean2['default'],
|
|||
|
regexp: _regexp2['default'],
|
|||
|
integer: _integer2['default'],
|
|||
|
float: _float2['default'],
|
|||
|
array: _array2['default'],
|
|||
|
object: _object2['default'],
|
|||
|
'enum': _enum2['default'],
|
|||
|
pattern: _pattern2['default'],
|
|||
|
date: _date2['default'],
|
|||
|
url: _type2['default'],
|
|||
|
hex: _type2['default'],
|
|||
|
email: _type2['default'],
|
|||
|
required: _required2['default']
|
|||
|
};
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1009:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Performs validation for string types.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function string(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options, 'string');
|
|||
|
if (!(0, _util.isEmptyValue)(value, 'string')) {
|
|||
|
_rule2['default'].type(rule, value, source, errors, options);
|
|||
|
_rule2['default'].range(rule, value, source, errors, options);
|
|||
|
_rule2['default'].pattern(rule, value, source, errors, options);
|
|||
|
if (rule.whitespace === true) {
|
|||
|
_rule2['default'].whitespace(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = string;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1010:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
var util = _interopRequireWildcard(_util);
|
|||
|
|
|||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
|
|||
|
|
|||
|
/**
|
|||
|
* Rule for validating whitespace.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param errors An array of errors that this rule may add
|
|||
|
* validation errors to.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function whitespace(rule, value, source, errors, options) {
|
|||
|
if (/^\s+$/.test(value) || value === '') {
|
|||
|
errors.push(util.format(options.messages.whitespace, rule.fullField));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = whitespace;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1011:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
var util = _interopRequireWildcard(_util);
|
|||
|
|
|||
|
var _required = __webpack_require__(904);
|
|||
|
|
|||
|
var _required2 = _interopRequireDefault(_required);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
|
|||
|
|
|||
|
/* eslint max-len:0 */
|
|||
|
|
|||
|
var pattern = {
|
|||
|
// http://emailregex.com/
|
|||
|
email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
|
|||
|
url: new RegExp('^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$', 'i'),
|
|||
|
hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
|
|||
|
};
|
|||
|
|
|||
|
var types = {
|
|||
|
integer: function integer(value) {
|
|||
|
return types.number(value) && parseInt(value, 10) === value;
|
|||
|
},
|
|||
|
float: function float(value) {
|
|||
|
return types.number(value) && !types.integer(value);
|
|||
|
},
|
|||
|
array: function array(value) {
|
|||
|
return Array.isArray(value);
|
|||
|
},
|
|||
|
regexp: function regexp(value) {
|
|||
|
if (value instanceof RegExp) {
|
|||
|
return true;
|
|||
|
}
|
|||
|
try {
|
|||
|
return !!new RegExp(value);
|
|||
|
} catch (e) {
|
|||
|
return false;
|
|||
|
}
|
|||
|
},
|
|||
|
date: function date(value) {
|
|||
|
return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';
|
|||
|
},
|
|||
|
number: function number(value) {
|
|||
|
if (isNaN(value)) {
|
|||
|
return false;
|
|||
|
}
|
|||
|
return typeof value === 'number';
|
|||
|
},
|
|||
|
object: function object(value) {
|
|||
|
return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && !types.array(value);
|
|||
|
},
|
|||
|
method: function method(value) {
|
|||
|
return typeof value === 'function';
|
|||
|
},
|
|||
|
email: function email(value) {
|
|||
|
return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;
|
|||
|
},
|
|||
|
url: function url(value) {
|
|||
|
return typeof value === 'string' && !!value.match(pattern.url);
|
|||
|
},
|
|||
|
hex: function hex(value) {
|
|||
|
return typeof value === 'string' && !!value.match(pattern.hex);
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* Rule for validating the type of a value.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param errors An array of errors that this rule may add
|
|||
|
* validation errors to.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function type(rule, value, source, errors, options) {
|
|||
|
if (rule.required && value === undefined) {
|
|||
|
(0, _required2['default'])(rule, value, source, errors, options);
|
|||
|
return;
|
|||
|
}
|
|||
|
var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];
|
|||
|
var ruleType = rule.type;
|
|||
|
if (custom.indexOf(ruleType) > -1) {
|
|||
|
if (!types[ruleType](value)) {
|
|||
|
errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));
|
|||
|
}
|
|||
|
// straight typeof check
|
|||
|
} else if (ruleType && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== rule.type) {
|
|||
|
errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = type;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1012:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
var util = _interopRequireWildcard(_util);
|
|||
|
|
|||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
|
|||
|
|
|||
|
/**
|
|||
|
* Rule for validating minimum and maximum allowed values.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param errors An array of errors that this rule may add
|
|||
|
* validation errors to.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function range(rule, value, source, errors, options) {
|
|||
|
var len = typeof rule.len === 'number';
|
|||
|
var min = typeof rule.min === 'number';
|
|||
|
var max = typeof rule.max === 'number';
|
|||
|
// 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)
|
|||
|
var spRegexp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
|
|||
|
var val = value;
|
|||
|
var key = null;
|
|||
|
var num = typeof value === 'number';
|
|||
|
var str = typeof value === 'string';
|
|||
|
var arr = Array.isArray(value);
|
|||
|
if (num) {
|
|||
|
key = 'number';
|
|||
|
} else if (str) {
|
|||
|
key = 'string';
|
|||
|
} else if (arr) {
|
|||
|
key = 'array';
|
|||
|
}
|
|||
|
// if the value is not of a supported type for range validation
|
|||
|
// the validation rule rule should use the
|
|||
|
// type property to also test for a particular type
|
|||
|
if (!key) {
|
|||
|
return false;
|
|||
|
}
|
|||
|
if (arr) {
|
|||
|
val = value.length;
|
|||
|
}
|
|||
|
if (str) {
|
|||
|
// 处理码点大于U+010000的文字length属性不准确的bug,如"𠮷𠮷𠮷".lenght !== 3
|
|||
|
val = value.replace(spRegexp, '_').length;
|
|||
|
}
|
|||
|
if (len) {
|
|||
|
if (val !== rule.len) {
|
|||
|
errors.push(util.format(options.messages[key].len, rule.fullField, rule.len));
|
|||
|
}
|
|||
|
} else if (min && !max && val < rule.min) {
|
|||
|
errors.push(util.format(options.messages[key].min, rule.fullField, rule.min));
|
|||
|
} else if (max && !min && val > rule.max) {
|
|||
|
errors.push(util.format(options.messages[key].max, rule.fullField, rule.max));
|
|||
|
} else if (min && max && (val < rule.min || val > rule.max)) {
|
|||
|
errors.push(util.format(options.messages[key].range, rule.fullField, rule.min, rule.max));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = range;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1013:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
var util = _interopRequireWildcard(_util);
|
|||
|
|
|||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
|
|||
|
|
|||
|
var ENUM = 'enum';
|
|||
|
|
|||
|
/**
|
|||
|
* Rule for validating a value exists in an enumerable list.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param errors An array of errors that this rule may add
|
|||
|
* validation errors to.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function enumerable(rule, value, source, errors, options) {
|
|||
|
rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];
|
|||
|
if (rule[ENUM].indexOf(value) === -1) {
|
|||
|
errors.push(util.format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = enumerable;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1014:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
var util = _interopRequireWildcard(_util);
|
|||
|
|
|||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
|
|||
|
|
|||
|
/**
|
|||
|
* Rule for validating a regular expression pattern.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param errors An array of errors that this rule may add
|
|||
|
* validation errors to.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function pattern(rule, value, source, errors, options) {
|
|||
|
if (rule.pattern) {
|
|||
|
if (rule.pattern instanceof RegExp) {
|
|||
|
// if a RegExp instance is passed, reset `lastIndex` in case its `global`
|
|||
|
// flag is accidentally set to `true`, which in a validation scenario
|
|||
|
// is not necessary and the result might be misleading
|
|||
|
rule.pattern.lastIndex = 0;
|
|||
|
if (!rule.pattern.test(value)) {
|
|||
|
errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
|
|||
|
}
|
|||
|
} else if (typeof rule.pattern === 'string') {
|
|||
|
var _pattern = new RegExp(rule.pattern);
|
|||
|
if (!_pattern.test(value)) {
|
|||
|
errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = pattern;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1015:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Validates a function.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function method(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value) && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options);
|
|||
|
if (value !== undefined) {
|
|||
|
_rule2['default'].type(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = method;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1016:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Validates a number.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function number(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if (value === '') {
|
|||
|
value = undefined;
|
|||
|
}
|
|||
|
if ((0, _util.isEmptyValue)(value) && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options);
|
|||
|
if (value !== undefined) {
|
|||
|
_rule2['default'].type(rule, value, source, errors, options);
|
|||
|
_rule2['default'].range(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = number;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1017:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Validates a boolean.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function boolean(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value) && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options);
|
|||
|
if (value !== undefined) {
|
|||
|
_rule2['default'].type(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = boolean;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1018:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Validates the regular expression type.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function regexp(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value) && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options);
|
|||
|
if (!(0, _util.isEmptyValue)(value)) {
|
|||
|
_rule2['default'].type(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = regexp;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1019:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Validates a number is an integer.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function integer(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value) && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options);
|
|||
|
if (value !== undefined) {
|
|||
|
_rule2['default'].type(rule, value, source, errors, options);
|
|||
|
_rule2['default'].range(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = integer;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1020:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Validates a number is a floating point number.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function floatFn(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value) && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options);
|
|||
|
if (value !== undefined) {
|
|||
|
_rule2['default'].type(rule, value, source, errors, options);
|
|||
|
_rule2['default'].range(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = floatFn;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1021:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Validates an array.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function array(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value, 'array') && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options, 'array');
|
|||
|
if (!(0, _util.isEmptyValue)(value, 'array')) {
|
|||
|
_rule2['default'].type(rule, value, source, errors, options);
|
|||
|
_rule2['default'].range(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = array;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1022:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Validates an object.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function object(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value) && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options);
|
|||
|
if (value !== undefined) {
|
|||
|
_rule2['default'].type(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = object;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1023:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
var ENUM = 'enum';
|
|||
|
|
|||
|
/**
|
|||
|
* Validates an enumerable list.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function enumerable(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value) && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options);
|
|||
|
if (value) {
|
|||
|
_rule2['default'][ENUM](rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = enumerable;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1024:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/**
|
|||
|
* Validates a regular expression pattern.
|
|||
|
*
|
|||
|
* Performs validation when a rule only contains
|
|||
|
* a pattern property but is not declared as a string type.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param callback The callback function.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function pattern(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options);
|
|||
|
if (!(0, _util.isEmptyValue)(value, 'string')) {
|
|||
|
_rule2['default'].pattern(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = pattern;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1025:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
function date(rule, value, callback, source, options) {
|
|||
|
// console.log('integer rule called %j', rule);
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
// console.log('validate on %s value', value);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value) && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options);
|
|||
|
if (!(0, _util.isEmptyValue)(value)) {
|
|||
|
var dateObject = void 0;
|
|||
|
|
|||
|
if (typeof value === 'number') {
|
|||
|
dateObject = new Date(value);
|
|||
|
} else {
|
|||
|
dateObject = value;
|
|||
|
}
|
|||
|
|
|||
|
_rule2['default'].type(rule, dateObject, source, errors, options);
|
|||
|
if (dateObject) {
|
|||
|
_rule2['default'].range(rule, dateObject.getTime(), source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = date;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1026:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
function required(rule, value, callback, source, options) {
|
|||
|
var errors = [];
|
|||
|
var type = Array.isArray(value) ? 'array' : typeof value === 'undefined' ? 'undefined' : _typeof(value);
|
|||
|
_rule2['default'].required(rule, value, source, errors, options, type);
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = required;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1027:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _rule = __webpack_require__(863);
|
|||
|
|
|||
|
var _rule2 = _interopRequireDefault(_rule);
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
function type(rule, value, callback, source, options) {
|
|||
|
var ruleType = rule.type;
|
|||
|
var errors = [];
|
|||
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|||
|
if (validate) {
|
|||
|
if ((0, _util.isEmptyValue)(value, ruleType) && !rule.required) {
|
|||
|
return callback();
|
|||
|
}
|
|||
|
_rule2['default'].required(rule, value, source, errors, options, ruleType);
|
|||
|
if (!(0, _util.isEmptyValue)(value, ruleType)) {
|
|||
|
_rule2['default'].type(rule, value, source, errors, options);
|
|||
|
}
|
|||
|
}
|
|||
|
callback(errors);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = type;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1028:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports.newMessages = newMessages;
|
|||
|
function newMessages() {
|
|||
|
return {
|
|||
|
'default': 'Validation error on field %s',
|
|||
|
required: '%s is required',
|
|||
|
'enum': '%s must be one of %s',
|
|||
|
whitespace: '%s cannot be empty',
|
|||
|
date: {
|
|||
|
format: '%s date %s is invalid for format %s',
|
|||
|
parse: '%s date could not be parsed, %s is invalid ',
|
|||
|
invalid: '%s date %s is invalid'
|
|||
|
},
|
|||
|
types: {
|
|||
|
string: '%s is not a %s',
|
|||
|
method: '%s is not a %s (function)',
|
|||
|
array: '%s is not an %s',
|
|||
|
object: '%s is not an %s',
|
|||
|
number: '%s is not a %s',
|
|||
|
date: '%s is not a %s',
|
|||
|
boolean: '%s is not a %s',
|
|||
|
integer: '%s is not an %s',
|
|||
|
float: '%s is not a %s',
|
|||
|
regexp: '%s is not a valid %s',
|
|||
|
email: '%s is not a valid %s',
|
|||
|
url: '%s is not a valid %s',
|
|||
|
hex: '%s is not a valid %s'
|
|||
|
},
|
|||
|
string: {
|
|||
|
len: '%s must be exactly %s characters',
|
|||
|
min: '%s must be at least %s characters',
|
|||
|
max: '%s cannot be longer than %s characters',
|
|||
|
range: '%s must be between %s and %s characters'
|
|||
|
},
|
|||
|
number: {
|
|||
|
len: '%s must equal %s',
|
|||
|
min: '%s cannot be less than %s',
|
|||
|
max: '%s cannot be greater than %s',
|
|||
|
range: '%s must be between %s and %s'
|
|||
|
},
|
|||
|
array: {
|
|||
|
len: '%s must be exactly %s in length',
|
|||
|
min: '%s cannot be less than %s in length',
|
|||
|
max: '%s cannot be greater than %s in length',
|
|||
|
range: '%s must be between %s and %s in length'
|
|||
|
},
|
|||
|
pattern: {
|
|||
|
mismatch: '%s value %s does not match pattern %s'
|
|||
|
},
|
|||
|
clone: function clone() {
|
|||
|
var cloned = JSON.parse(JSON.stringify(this));
|
|||
|
cloned.clone = this.clone;
|
|||
|
return cloned;
|
|||
|
}
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
var messages = exports.messages = newMessages();
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1029:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
var assignValue = __webpack_require__(917),
|
|||
|
castPath = __webpack_require__(874),
|
|||
|
isIndex = __webpack_require__(873),
|
|||
|
isObject = __webpack_require__(171),
|
|||
|
toKey = __webpack_require__(871);
|
|||
|
|
|||
|
/**
|
|||
|
* The base implementation of `_.set`.
|
|||
|
*
|
|||
|
* @private
|
|||
|
* @param {Object} object The object to modify.
|
|||
|
* @param {Array|string} path The path of the property to set.
|
|||
|
* @param {*} value The value to set.
|
|||
|
* @param {Function} [customizer] The function to customize path creation.
|
|||
|
* @returns {Object} Returns `object`.
|
|||
|
*/
|
|||
|
function baseSet(object, path, value, customizer) {
|
|||
|
if (!isObject(object)) {
|
|||
|
return object;
|
|||
|
}
|
|||
|
path = castPath(path, object);
|
|||
|
|
|||
|
var index = -1,
|
|||
|
length = path.length,
|
|||
|
lastIndex = length - 1,
|
|||
|
nested = object;
|
|||
|
|
|||
|
while (nested != null && ++index < length) {
|
|||
|
var key = toKey(path[index]),
|
|||
|
newValue = value;
|
|||
|
|
|||
|
if (index != lastIndex) {
|
|||
|
var objValue = nested[key];
|
|||
|
newValue = customizer ? customizer(objValue, key, nested) : undefined;
|
|||
|
if (newValue === undefined) {
|
|||
|
newValue = isObject(objValue)
|
|||
|
? objValue
|
|||
|
: (isIndex(path[index + 1]) ? [] : {});
|
|||
|
}
|
|||
|
}
|
|||
|
assignValue(nested, key, newValue);
|
|||
|
nested = nested[key];
|
|||
|
}
|
|||
|
return object;
|
|||
|
}
|
|||
|
|
|||
|
module.exports = baseSet;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1030:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
var reactIs = __webpack_require__(181);
|
|||
|
|
|||
|
/**
|
|||
|
* Copyright 2015, Yahoo! Inc.
|
|||
|
* Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
|
|||
|
*/
|
|||
|
var REACT_STATICS = {
|
|||
|
childContextTypes: true,
|
|||
|
contextType: true,
|
|||
|
contextTypes: true,
|
|||
|
defaultProps: true,
|
|||
|
displayName: true,
|
|||
|
getDefaultProps: true,
|
|||
|
getDerivedStateFromError: true,
|
|||
|
getDerivedStateFromProps: true,
|
|||
|
mixins: true,
|
|||
|
propTypes: true,
|
|||
|
type: true
|
|||
|
};
|
|||
|
var KNOWN_STATICS = {
|
|||
|
name: true,
|
|||
|
length: true,
|
|||
|
prototype: true,
|
|||
|
caller: true,
|
|||
|
callee: true,
|
|||
|
arguments: true,
|
|||
|
arity: true
|
|||
|
};
|
|||
|
var FORWARD_REF_STATICS = {
|
|||
|
'$$typeof': true,
|
|||
|
render: true,
|
|||
|
defaultProps: true,
|
|||
|
displayName: true,
|
|||
|
propTypes: true
|
|||
|
};
|
|||
|
var MEMO_STATICS = {
|
|||
|
'$$typeof': true,
|
|||
|
compare: true,
|
|||
|
defaultProps: true,
|
|||
|
displayName: true,
|
|||
|
propTypes: true,
|
|||
|
type: true
|
|||
|
};
|
|||
|
var TYPE_STATICS = {};
|
|||
|
TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
|
|||
|
TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
|
|||
|
|
|||
|
function getStatics(component) {
|
|||
|
// React v16.11 and below
|
|||
|
if (reactIs.isMemo(component)) {
|
|||
|
return MEMO_STATICS;
|
|||
|
} // React v16.12 and above
|
|||
|
|
|||
|
|
|||
|
return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
|
|||
|
}
|
|||
|
|
|||
|
var defineProperty = Object.defineProperty;
|
|||
|
var getOwnPropertyNames = Object.getOwnPropertyNames;
|
|||
|
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|||
|
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|||
|
var getPrototypeOf = Object.getPrototypeOf;
|
|||
|
var objectPrototype = Object.prototype;
|
|||
|
function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
|
|||
|
if (typeof sourceComponent !== 'string') {
|
|||
|
// don't hoist over string (html) components
|
|||
|
if (objectPrototype) {
|
|||
|
var inheritedComponent = getPrototypeOf(sourceComponent);
|
|||
|
|
|||
|
if (inheritedComponent && inheritedComponent !== objectPrototype) {
|
|||
|
hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
var keys = getOwnPropertyNames(sourceComponent);
|
|||
|
|
|||
|
if (getOwnPropertySymbols) {
|
|||
|
keys = keys.concat(getOwnPropertySymbols(sourceComponent));
|
|||
|
}
|
|||
|
|
|||
|
var targetStatics = getStatics(targetComponent);
|
|||
|
var sourceStatics = getStatics(sourceComponent);
|
|||
|
|
|||
|
for (var i = 0; i < keys.length; ++i) {
|
|||
|
var key = keys[i];
|
|||
|
|
|||
|
if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
|
|||
|
var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
|
|||
|
|
|||
|
try {
|
|||
|
// Avoid failures from read-only properties
|
|||
|
defineProperty(targetComponent, key, descriptor);
|
|||
|
} catch (e) {}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return targetComponent;
|
|||
|
}
|
|||
|
|
|||
|
module.exports = hoistNonReactStatics;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1043:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|||
|
|
|||
|
// load the styles
|
|||
|
var content = __webpack_require__(1044);
|
|||
|
if(typeof content === 'string') content = [[module.i, content, '']];
|
|||
|
// Prepare cssTransformation
|
|||
|
var transform;
|
|||
|
|
|||
|
var options = {"hmr":false}
|
|||
|
options.transform = transform
|
|||
|
// add the styles to the DOM
|
|||
|
var update = __webpack_require__(300)(content, options);
|
|||
|
if(content.locals) module.exports = content.locals;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1044:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
exports = module.exports = __webpack_require__(299)(true);
|
|||
|
// imports
|
|||
|
|
|||
|
|
|||
|
// module
|
|||
|
exports.push([module.i, ".ant-form{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:\"tnum\";font-feature-settings:\"tnum\"}.ant-form legend{display:block;width:100%;margin-bottom:20px;padding:0;color:rgba(0,0,0,.45);font-size:16px;line-height:inherit;border:0;border-bottom:1px solid #d9d9d9}.ant-form label{font-size:14px}.ant-form input[type=search]{-webkit-box-sizing:border-box;box-sizing:border-box}.ant-form input[type=checkbox],.ant-form input[type=radio]{line-height:normal}.ant-form input[type=file]{display:block}.ant-form input[type=range]{display:block;width:100%}.ant-form select[multiple],.ant-form select[size]{height:auto}.ant-form input[type=checkbox]:focus,.ant-form input[type=file]:focus,.ant-form input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ant-form output{display:block;padding-top:15px;color:rgba(0,0,0,.65);font-size:14px;line-height:1.5}.ant-form-item-required:before{display:inline-block;margin-right:4px;color:#f5222d;font-size:14px;font-family:SimSun,sans-serif;line-height:1;content:\"*\"}.ant-form-hide-required-mark .ant-form-item-required:before{display:none}.ant-form-item-label>label{color:rgba(0,0,0,.85)}.ant-form-item-label>label:after{content:\":\";position:relative;top:-.5px;margin:0 8px 0 2px}.ant-form-item-label>label.ant-form-item-no-colon:after{content:\" \"}.ant-form-item{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:\"tnum\";font-feature-settings:\"tnum\";margin-bottom:24px;vertical-align:top}.ant-form-item label{position:relative}.ant-form-item label>.anticon{font-size:14px;vertical-align:top}.ant-form-item-control{position:relative;line-height:40px;zoom:1}.ant-form-item-control:after,.ant-form-item-control:before{display:table;content:\"\"}.ant-form-item-control:after{clear:both}.ant-form-item-children{position:relative}.ant-form-item-with-help{margin-bottom:5px}.ant-form-item-label{display:inline-block;overflow:hidden;line-height:39.9999px;white-space:nowrap;text-align:right;vertical-align:middle}.ant-form-item-label-left{text-align:left}.ant-form-item .ant-switch{margin:2px 0 4px}.ant-form-explain,.ant-form-extra{clear:both;min-height:22px;margin-top:-2px;color:rgba(0,0,0,.45);font-size:14px;line-height:1.5;-webkit-transition:color .3s cubic-bezier(.215,.61,.355,1);-o-transition:color .3s cubic-bezier(.215,.61,.355,1);transition:color .3s cubic-bezier(.215,.61,.355,1)}.ant-form-explain{margin-bottom:-1px}.ant-form-extra{padding-top:4px}.ant-form-text{display:inline-block;padding-right:8px}.ant-form-split{display:block;text-align:center}form .has-feedback .ant-input{padding-right:30px}form .has-feedback .ant-input-affix-wrapper .ant-input-suffix{padding-right:18px}form .has-feedback .ant-input-affix-wrapper .ant-input{padding-right:49px}form .has-feedback .ant-input-affix-wrapper.ant-input-affix-wrapper-input-with-clear-btn .ant-input{padding-right:68px}form .has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-arrow,form .has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection__clear,form .has-feedback>.ant-select .ant-select-arrow,form .has-feedback>.ant-select .ant-select-selection__clear{right:28px}form .has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection-selected-value,form .has-feedback>.ant-select .ant-select-selection-selected-value{padding-right:42px}form .has-feedback .ant-cascader-picker-arrow{margin-right:17px}form .has-feedback .ant-calendar-picker-clear,form .has-feedback .ant-calendar-picker-icon,form .has-feedback .ant-cascader-picker-clear,form .has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix,form .has-feedback .ant-time-picker-clear,form .has-feedback .ant-time-picker-icon{right:28px}form .ant-mentions,form textarea.ant-input{
|
|||
|
|
|||
|
// exports
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1045:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports["default"] = void 0;
|
|||
|
|
|||
|
var React = _interopRequireWildcard(__webpack_require__(0));
|
|||
|
|
|||
|
var PropTypes = _interopRequireWildcard(__webpack_require__(1));
|
|||
|
|
|||
|
var _classnames = _interopRequireDefault(__webpack_require__(3));
|
|||
|
|
|||
|
var _createDOMForm = _interopRequireDefault(__webpack_require__(1046));
|
|||
|
|
|||
|
var _createFormField = _interopRequireDefault(__webpack_require__(908));
|
|||
|
|
|||
|
var _omit = _interopRequireDefault(__webpack_require__(47));
|
|||
|
|
|||
|
var _configProvider = __webpack_require__(11);
|
|||
|
|
|||
|
var _type = __webpack_require__(72);
|
|||
|
|
|||
|
var _warning = _interopRequireDefault(__webpack_require__(43));
|
|||
|
|
|||
|
var _FormItem = _interopRequireDefault(__webpack_require__(1052));
|
|||
|
|
|||
|
var _constants = __webpack_require__(909);
|
|||
|
|
|||
|
var _context = _interopRequireDefault(__webpack_require__(910));
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|||
|
|
|||
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|||
|
|
|||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|||
|
|
|||
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|||
|
|
|||
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|||
|
|
|||
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|||
|
|
|||
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|||
|
|
|||
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|||
|
|
|||
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|||
|
|
|||
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|||
|
|
|||
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|||
|
|
|||
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|||
|
|
|||
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|||
|
|
|||
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|||
|
|
|||
|
var FormLayouts = (0, _type.tuple)('horizontal', 'inline', 'vertical');
|
|||
|
|
|||
|
var Form =
|
|||
|
/*#__PURE__*/
|
|||
|
function (_React$Component) {
|
|||
|
_inherits(Form, _React$Component);
|
|||
|
|
|||
|
function Form(props) {
|
|||
|
var _this;
|
|||
|
|
|||
|
_classCallCheck(this, Form);
|
|||
|
|
|||
|
_this = _possibleConstructorReturn(this, _getPrototypeOf(Form).call(this, props));
|
|||
|
|
|||
|
_this.renderForm = function (_ref) {
|
|||
|
var _classNames;
|
|||
|
|
|||
|
var getPrefixCls = _ref.getPrefixCls;
|
|||
|
var _this$props = _this.props,
|
|||
|
customizePrefixCls = _this$props.prefixCls,
|
|||
|
hideRequiredMark = _this$props.hideRequiredMark,
|
|||
|
_this$props$className = _this$props.className,
|
|||
|
className = _this$props$className === void 0 ? '' : _this$props$className,
|
|||
|
layout = _this$props.layout;
|
|||
|
var prefixCls = getPrefixCls('form', customizePrefixCls);
|
|||
|
var formClassName = (0, _classnames["default"])(prefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-horizontal"), layout === 'horizontal'), _defineProperty(_classNames, "".concat(prefixCls, "-vertical"), layout === 'vertical'), _defineProperty(_classNames, "".concat(prefixCls, "-inline"), layout === 'inline'), _defineProperty(_classNames, "".concat(prefixCls, "-hide-required-mark"), hideRequiredMark), _classNames), className);
|
|||
|
var formProps = (0, _omit["default"])(_this.props, ['prefixCls', 'className', 'layout', 'form', 'hideRequiredMark', 'wrapperCol', 'labelAlign', 'labelCol', 'colon']);
|
|||
|
return React.createElement("form", _extends({}, formProps, {
|
|||
|
className: formClassName
|
|||
|
}));
|
|||
|
};
|
|||
|
|
|||
|
(0, _warning["default"])(!props.form, 'Form', 'It is unnecessary to pass `form` to `Form` after antd@1.7.0.');
|
|||
|
return _this;
|
|||
|
}
|
|||
|
|
|||
|
_createClass(Form, [{
|
|||
|
key: "render",
|
|||
|
value: function render() {
|
|||
|
var _this$props2 = this.props,
|
|||
|
wrapperCol = _this$props2.wrapperCol,
|
|||
|
labelAlign = _this$props2.labelAlign,
|
|||
|
labelCol = _this$props2.labelCol,
|
|||
|
layout = _this$props2.layout,
|
|||
|
colon = _this$props2.colon;
|
|||
|
return React.createElement(_context["default"].Provider, {
|
|||
|
value: {
|
|||
|
wrapperCol: wrapperCol,
|
|||
|
labelAlign: labelAlign,
|
|||
|
labelCol: labelCol,
|
|||
|
vertical: layout === 'vertical',
|
|||
|
colon: colon
|
|||
|
}
|
|||
|
}, React.createElement(_configProvider.ConfigConsumer, null, this.renderForm));
|
|||
|
}
|
|||
|
}]);
|
|||
|
|
|||
|
return Form;
|
|||
|
}(React.Component);
|
|||
|
|
|||
|
exports["default"] = Form;
|
|||
|
Form.defaultProps = {
|
|||
|
colon: true,
|
|||
|
layout: 'horizontal',
|
|||
|
hideRequiredMark: false,
|
|||
|
onSubmit: function onSubmit(e) {
|
|||
|
e.preventDefault();
|
|||
|
}
|
|||
|
};
|
|||
|
Form.propTypes = {
|
|||
|
prefixCls: PropTypes.string,
|
|||
|
layout: PropTypes.oneOf(FormLayouts),
|
|||
|
children: PropTypes.any,
|
|||
|
onSubmit: PropTypes.func,
|
|||
|
hideRequiredMark: PropTypes.bool,
|
|||
|
colon: PropTypes.bool
|
|||
|
};
|
|||
|
Form.Item = _FormItem["default"];
|
|||
|
Form.createFormField = _createFormField["default"];
|
|||
|
|
|||
|
Form.create = function create() {
|
|||
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|||
|
return (0, _createDOMForm["default"])(_extends(_extends({
|
|||
|
fieldNameProp: 'id'
|
|||
|
}, options), {
|
|||
|
fieldMetaProp: _constants.FIELD_META_PROP,
|
|||
|
fieldDataProp: _constants.FIELD_DATA_PROP
|
|||
|
}));
|
|||
|
};
|
|||
|
//# sourceMappingURL=Form.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1046:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _extends2 = __webpack_require__(25);
|
|||
|
|
|||
|
var _extends3 = _interopRequireDefault(_extends2);
|
|||
|
|
|||
|
var _reactDom = __webpack_require__(4);
|
|||
|
|
|||
|
var _reactDom2 = _interopRequireDefault(_reactDom);
|
|||
|
|
|||
|
var _domScrollIntoView = __webpack_require__(185);
|
|||
|
|
|||
|
var _domScrollIntoView2 = _interopRequireDefault(_domScrollIntoView);
|
|||
|
|
|||
|
var _has = __webpack_require__(1047);
|
|||
|
|
|||
|
var _has2 = _interopRequireDefault(_has);
|
|||
|
|
|||
|
var _createBaseForm = __webpack_require__(907);
|
|||
|
|
|||
|
var _createBaseForm2 = _interopRequireDefault(_createBaseForm);
|
|||
|
|
|||
|
var _createForm = __webpack_require__(1051);
|
|||
|
|
|||
|
var _utils = __webpack_require__(885);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
function computedStyle(el, prop) {
|
|||
|
var getComputedStyle = window.getComputedStyle;
|
|||
|
var style =
|
|||
|
// If we have getComputedStyle
|
|||
|
getComputedStyle ?
|
|||
|
// Query it
|
|||
|
// TODO: From CSS-Query notes, we might need (node, null) for FF
|
|||
|
getComputedStyle(el) :
|
|||
|
|
|||
|
// Otherwise, we are in IE and use currentStyle
|
|||
|
el.currentStyle;
|
|||
|
if (style) {
|
|||
|
return style[
|
|||
|
// Switch to camelCase for CSSOM
|
|||
|
// DEV: Grabbed from jQuery
|
|||
|
// https://github.com/jquery/jquery/blob/1.9-stable/src/css.js#L191-L194
|
|||
|
// https://github.com/jquery/jquery/blob/1.9-stable/src/core.js#L593-L597
|
|||
|
prop.replace(/-(\w)/gi, function (word, letter) {
|
|||
|
return letter.toUpperCase();
|
|||
|
})];
|
|||
|
}
|
|||
|
return undefined;
|
|||
|
}
|
|||
|
|
|||
|
function getScrollableContainer(n) {
|
|||
|
var node = n;
|
|||
|
var nodeName = void 0;
|
|||
|
/* eslint no-cond-assign:0 */
|
|||
|
while ((nodeName = node.nodeName.toLowerCase()) !== 'body') {
|
|||
|
var overflowY = computedStyle(node, 'overflowY');
|
|||
|
// https://stackoverflow.com/a/36900407/3040605
|
|||
|
if (node !== n && (overflowY === 'auto' || overflowY === 'scroll') && node.scrollHeight > node.clientHeight) {
|
|||
|
return node;
|
|||
|
}
|
|||
|
node = node.parentNode;
|
|||
|
}
|
|||
|
return nodeName === 'body' ? node.ownerDocument : node;
|
|||
|
}
|
|||
|
|
|||
|
var mixin = {
|
|||
|
getForm: function getForm() {
|
|||
|
return (0, _extends3['default'])({}, _createForm.mixin.getForm.call(this), {
|
|||
|
validateFieldsAndScroll: this.validateFieldsAndScroll
|
|||
|
});
|
|||
|
},
|
|||
|
validateFieldsAndScroll: function validateFieldsAndScroll(ns, opt, cb) {
|
|||
|
var _this = this;
|
|||
|
|
|||
|
var _getParams = (0, _utils.getParams)(ns, opt, cb),
|
|||
|
names = _getParams.names,
|
|||
|
callback = _getParams.callback,
|
|||
|
options = _getParams.options;
|
|||
|
|
|||
|
var newCb = function newCb(error, values) {
|
|||
|
if (error) {
|
|||
|
var validNames = _this.fieldsStore.getValidFieldsName();
|
|||
|
var firstNode = void 0;
|
|||
|
var firstTop = void 0;
|
|||
|
|
|||
|
validNames.forEach(function (name) {
|
|||
|
if ((0, _has2['default'])(error, name)) {
|
|||
|
var instance = _this.getFieldInstance(name);
|
|||
|
if (instance) {
|
|||
|
var node = _reactDom2['default'].findDOMNode(instance);
|
|||
|
var top = node.getBoundingClientRect().top;
|
|||
|
if (node.type !== 'hidden' && (firstTop === undefined || firstTop > top)) {
|
|||
|
firstTop = top;
|
|||
|
firstNode = node;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
if (firstNode) {
|
|||
|
var c = options.container || getScrollableContainer(firstNode);
|
|||
|
(0, _domScrollIntoView2['default'])(firstNode, c, (0, _extends3['default'])({
|
|||
|
onlyScrollIfNeeded: true
|
|||
|
}, options.scroll));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (typeof callback === 'function') {
|
|||
|
callback(error, values);
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
return this.validateFields(names, options, newCb);
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
function createDOMForm(option) {
|
|||
|
return (0, _createBaseForm2['default'])((0, _extends3['default'])({}, option), [mixin]);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = createDOMForm;
|
|||
|
module.exports = exports['default'];
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1047:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
var baseHas = __webpack_require__(1048),
|
|||
|
hasPath = __webpack_require__(943);
|
|||
|
|
|||
|
/**
|
|||
|
* Checks if `path` is a direct property of `object`.
|
|||
|
*
|
|||
|
* @static
|
|||
|
* @since 0.1.0
|
|||
|
* @memberOf _
|
|||
|
* @category Object
|
|||
|
* @param {Object} object The object to query.
|
|||
|
* @param {Array|string} path The path to check.
|
|||
|
* @returns {boolean} Returns `true` if `path` exists, else `false`.
|
|||
|
* @example
|
|||
|
*
|
|||
|
* var object = { 'a': { 'b': 2 } };
|
|||
|
* var other = _.create({ 'a': _.create({ 'b': 2 }) });
|
|||
|
*
|
|||
|
* _.has(object, 'a');
|
|||
|
* // => true
|
|||
|
*
|
|||
|
* _.has(object, 'a.b');
|
|||
|
* // => true
|
|||
|
*
|
|||
|
* _.has(object, ['a', 'b']);
|
|||
|
* // => true
|
|||
|
*
|
|||
|
* _.has(other, 'a');
|
|||
|
* // => false
|
|||
|
*/
|
|||
|
function has(object, path) {
|
|||
|
return object != null && hasPath(object, path, baseHas);
|
|||
|
}
|
|||
|
|
|||
|
module.exports = has;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1048:
|
|||
|
/***/ (function(module, exports) {
|
|||
|
|
|||
|
/** Used for built-in method references. */
|
|||
|
var objectProto = Object.prototype;
|
|||
|
|
|||
|
/** Used to check objects for own properties. */
|
|||
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
|||
|
|
|||
|
/**
|
|||
|
* The base implementation of `_.has` without support for deep paths.
|
|||
|
*
|
|||
|
* @private
|
|||
|
* @param {Object} [object] The object to query.
|
|||
|
* @param {Array|string} key The key to check.
|
|||
|
* @returns {boolean} Returns `true` if `key` exists, else `false`.
|
|||
|
*/
|
|||
|
function baseHas(object, key) {
|
|||
|
return object != null && hasOwnProperty.call(object, key);
|
|||
|
}
|
|||
|
|
|||
|
module.exports = baseHas;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1049:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports.default = void 0;
|
|||
|
|
|||
|
var _react = _interopRequireDefault(__webpack_require__(0));
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|||
|
|
|||
|
var unsafeLifecyclesPolyfill = function unsafeLifecyclesPolyfill(Component) {
|
|||
|
var prototype = Component.prototype;
|
|||
|
|
|||
|
if (!prototype || !prototype.isReactComponent) {
|
|||
|
throw new Error('Can only polyfill class components');
|
|||
|
} // only handle componentWillReceiveProps
|
|||
|
|
|||
|
|
|||
|
if (typeof prototype.componentWillReceiveProps !== 'function') {
|
|||
|
return Component;
|
|||
|
} // In React 16.9, React.Profiler was introduced together with UNSAFE_componentWillReceiveProps
|
|||
|
// https://reactjs.org/blog/2019/08/08/react-v16.9.0.html#performance-measurements-with-reactprofiler
|
|||
|
|
|||
|
|
|||
|
if (!_react.default.Profiler) {
|
|||
|
return Component;
|
|||
|
} // Here polyfill get started
|
|||
|
|
|||
|
|
|||
|
prototype.UNSAFE_componentWillReceiveProps = prototype.componentWillReceiveProps;
|
|||
|
delete prototype.componentWillReceiveProps;
|
|||
|
return Component;
|
|||
|
};
|
|||
|
|
|||
|
var _default = unsafeLifecyclesPolyfill;
|
|||
|
exports.default = _default;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1050:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _defineProperty2 = __webpack_require__(71);
|
|||
|
|
|||
|
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
|
|||
|
|
|||
|
var _extends2 = __webpack_require__(25);
|
|||
|
|
|||
|
var _extends3 = _interopRequireDefault(_extends2);
|
|||
|
|
|||
|
var _classCallCheck2 = __webpack_require__(12);
|
|||
|
|
|||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
|||
|
|
|||
|
var _createClass2 = __webpack_require__(46);
|
|||
|
|
|||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
|||
|
|
|||
|
exports['default'] = createFieldsStore;
|
|||
|
|
|||
|
var _set = __webpack_require__(905);
|
|||
|
|
|||
|
var _set2 = _interopRequireDefault(_set);
|
|||
|
|
|||
|
var _createFormField = __webpack_require__(908);
|
|||
|
|
|||
|
var _createFormField2 = _interopRequireDefault(_createFormField);
|
|||
|
|
|||
|
var _utils = __webpack_require__(885);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
function partOf(a, b) {
|
|||
|
return b.indexOf(a) === 0 && ['.', '['].indexOf(b[a.length]) !== -1;
|
|||
|
}
|
|||
|
|
|||
|
function internalFlattenFields(fields) {
|
|||
|
return (0, _utils.flattenFields)(fields, function (_, node) {
|
|||
|
return (0, _createFormField.isFormField)(node);
|
|||
|
}, 'You must wrap field data with `createFormField`.');
|
|||
|
}
|
|||
|
|
|||
|
var FieldsStore = function () {
|
|||
|
function FieldsStore(fields) {
|
|||
|
(0, _classCallCheck3['default'])(this, FieldsStore);
|
|||
|
|
|||
|
_initialiseProps.call(this);
|
|||
|
|
|||
|
this.fields = internalFlattenFields(fields);
|
|||
|
this.fieldsMeta = {};
|
|||
|
}
|
|||
|
|
|||
|
(0, _createClass3['default'])(FieldsStore, [{
|
|||
|
key: 'updateFields',
|
|||
|
value: function updateFields(fields) {
|
|||
|
this.fields = internalFlattenFields(fields);
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'flattenRegisteredFields',
|
|||
|
value: function flattenRegisteredFields(fields) {
|
|||
|
var validFieldsName = this.getAllFieldsName();
|
|||
|
return (0, _utils.flattenFields)(fields, function (path) {
|
|||
|
return validFieldsName.indexOf(path) >= 0;
|
|||
|
}, 'You cannot set a form field before rendering a field associated with the value.');
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'setFields',
|
|||
|
value: function setFields(fields) {
|
|||
|
var _this = this;
|
|||
|
|
|||
|
var fieldsMeta = this.fieldsMeta;
|
|||
|
var nowFields = (0, _extends3['default'])({}, this.fields, fields);
|
|||
|
var nowValues = {};
|
|||
|
Object.keys(fieldsMeta).forEach(function (f) {
|
|||
|
nowValues[f] = _this.getValueFromFields(f, nowFields);
|
|||
|
});
|
|||
|
Object.keys(nowValues).forEach(function (f) {
|
|||
|
var value = nowValues[f];
|
|||
|
var fieldMeta = _this.getFieldMeta(f);
|
|||
|
if (fieldMeta && fieldMeta.normalize) {
|
|||
|
var nowValue = fieldMeta.normalize(value, _this.getValueFromFields(f, _this.fields), nowValues);
|
|||
|
if (nowValue !== value) {
|
|||
|
nowFields[f] = (0, _extends3['default'])({}, nowFields[f], {
|
|||
|
value: nowValue
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
this.fields = nowFields;
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'resetFields',
|
|||
|
value: function resetFields(ns) {
|
|||
|
var fields = this.fields;
|
|||
|
|
|||
|
var names = ns ? this.getValidFieldsFullName(ns) : this.getAllFieldsName();
|
|||
|
return names.reduce(function (acc, name) {
|
|||
|
var field = fields[name];
|
|||
|
if (field && 'value' in field) {
|
|||
|
acc[name] = {};
|
|||
|
}
|
|||
|
return acc;
|
|||
|
}, {});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'setFieldMeta',
|
|||
|
value: function setFieldMeta(name, meta) {
|
|||
|
this.fieldsMeta[name] = meta;
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'setFieldsAsDirty',
|
|||
|
value: function setFieldsAsDirty() {
|
|||
|
var _this2 = this;
|
|||
|
|
|||
|
Object.keys(this.fields).forEach(function (name) {
|
|||
|
var field = _this2.fields[name];
|
|||
|
var fieldMeta = _this2.fieldsMeta[name];
|
|||
|
if (field && fieldMeta && (0, _utils.hasRules)(fieldMeta.validate)) {
|
|||
|
_this2.fields[name] = (0, _extends3['default'])({}, field, {
|
|||
|
dirty: true
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getFieldMeta',
|
|||
|
value: function getFieldMeta(name) {
|
|||
|
this.fieldsMeta[name] = this.fieldsMeta[name] || {};
|
|||
|
return this.fieldsMeta[name];
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getValueFromFields',
|
|||
|
value: function getValueFromFields(name, fields) {
|
|||
|
var field = fields[name];
|
|||
|
if (field && 'value' in field) {
|
|||
|
return field.value;
|
|||
|
}
|
|||
|
var fieldMeta = this.getFieldMeta(name);
|
|||
|
return fieldMeta && fieldMeta.initialValue;
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getValidFieldsName',
|
|||
|
value: function getValidFieldsName() {
|
|||
|
var _this3 = this;
|
|||
|
|
|||
|
var fieldsMeta = this.fieldsMeta;
|
|||
|
|
|||
|
return fieldsMeta ? Object.keys(fieldsMeta).filter(function (name) {
|
|||
|
return !_this3.getFieldMeta(name).hidden;
|
|||
|
}) : [];
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getAllFieldsName',
|
|||
|
value: function getAllFieldsName() {
|
|||
|
var fieldsMeta = this.fieldsMeta;
|
|||
|
|
|||
|
return fieldsMeta ? Object.keys(fieldsMeta) : [];
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getValidFieldsFullName',
|
|||
|
value: function getValidFieldsFullName(maybePartialName) {
|
|||
|
var maybePartialNames = Array.isArray(maybePartialName) ? maybePartialName : [maybePartialName];
|
|||
|
return this.getValidFieldsName().filter(function (fullName) {
|
|||
|
return maybePartialNames.some(function (partialName) {
|
|||
|
return fullName === partialName || (0, _utils.startsWith)(fullName, partialName) && ['.', '['].indexOf(fullName[partialName.length]) >= 0;
|
|||
|
});
|
|||
|
});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getFieldValuePropValue',
|
|||
|
value: function getFieldValuePropValue(fieldMeta) {
|
|||
|
var name = fieldMeta.name,
|
|||
|
getValueProps = fieldMeta.getValueProps,
|
|||
|
valuePropName = fieldMeta.valuePropName;
|
|||
|
|
|||
|
var field = this.getField(name);
|
|||
|
var fieldValue = 'value' in field ? field.value : fieldMeta.initialValue;
|
|||
|
if (getValueProps) {
|
|||
|
return getValueProps(fieldValue);
|
|||
|
}
|
|||
|
return (0, _defineProperty3['default'])({}, valuePropName, fieldValue);
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getField',
|
|||
|
value: function getField(name) {
|
|||
|
return (0, _extends3['default'])({}, this.fields[name], {
|
|||
|
name: name
|
|||
|
});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getNotCollectedFields',
|
|||
|
value: function getNotCollectedFields() {
|
|||
|
var _this4 = this;
|
|||
|
|
|||
|
var fieldsName = this.getValidFieldsName();
|
|||
|
return fieldsName.filter(function (name) {
|
|||
|
return !_this4.fields[name];
|
|||
|
}).map(function (name) {
|
|||
|
return {
|
|||
|
name: name,
|
|||
|
dirty: false,
|
|||
|
value: _this4.getFieldMeta(name).initialValue
|
|||
|
};
|
|||
|
}).reduce(function (acc, field) {
|
|||
|
return (0, _set2['default'])(acc, field.name, (0, _createFormField2['default'])(field));
|
|||
|
}, {});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getNestedAllFields',
|
|||
|
value: function getNestedAllFields() {
|
|||
|
var _this5 = this;
|
|||
|
|
|||
|
return Object.keys(this.fields).reduce(function (acc, name) {
|
|||
|
return (0, _set2['default'])(acc, name, (0, _createFormField2['default'])(_this5.fields[name]));
|
|||
|
}, this.getNotCollectedFields());
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getFieldMember',
|
|||
|
value: function getFieldMember(name, member) {
|
|||
|
return this.getField(name)[member];
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getNestedFields',
|
|||
|
value: function getNestedFields(names, getter) {
|
|||
|
var fields = names || this.getValidFieldsName();
|
|||
|
return fields.reduce(function (acc, f) {
|
|||
|
return (0, _set2['default'])(acc, f, getter(f));
|
|||
|
}, {});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'getNestedField',
|
|||
|
value: function getNestedField(name, getter) {
|
|||
|
var fullNames = this.getValidFieldsFullName(name);
|
|||
|
if (fullNames.length === 0 || // Not registered
|
|||
|
fullNames.length === 1 && fullNames[0] === name // Name already is full name.
|
|||
|
) {
|
|||
|
return getter(name);
|
|||
|
}
|
|||
|
var isArrayValue = fullNames[0][name.length] === '[';
|
|||
|
var suffixNameStartIndex = isArrayValue ? name.length : name.length + 1;
|
|||
|
return fullNames.reduce(function (acc, fullName) {
|
|||
|
return (0, _set2['default'])(acc, fullName.slice(suffixNameStartIndex), getter(fullName));
|
|||
|
}, isArrayValue ? [] : {});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'isValidNestedFieldName',
|
|||
|
|
|||
|
|
|||
|
// @private
|
|||
|
// BG: `a` and `a.b` cannot be use in the same form
|
|||
|
value: function isValidNestedFieldName(name) {
|
|||
|
var names = this.getAllFieldsName();
|
|||
|
return names.every(function (n) {
|
|||
|
return !partOf(n, name) && !partOf(name, n);
|
|||
|
});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: 'clearField',
|
|||
|
value: function clearField(name) {
|
|||
|
delete this.fields[name];
|
|||
|
delete this.fieldsMeta[name];
|
|||
|
}
|
|||
|
}]);
|
|||
|
return FieldsStore;
|
|||
|
}();
|
|||
|
|
|||
|
var _initialiseProps = function _initialiseProps() {
|
|||
|
var _this6 = this;
|
|||
|
|
|||
|
this.setFieldsInitialValue = function (initialValues) {
|
|||
|
var flattenedInitialValues = _this6.flattenRegisteredFields(initialValues);
|
|||
|
var fieldsMeta = _this6.fieldsMeta;
|
|||
|
Object.keys(flattenedInitialValues).forEach(function (name) {
|
|||
|
if (fieldsMeta[name]) {
|
|||
|
_this6.setFieldMeta(name, (0, _extends3['default'])({}, _this6.getFieldMeta(name), {
|
|||
|
initialValue: flattenedInitialValues[name]
|
|||
|
}));
|
|||
|
}
|
|||
|
});
|
|||
|
};
|
|||
|
|
|||
|
this.getAllValues = function () {
|
|||
|
var fieldsMeta = _this6.fieldsMeta,
|
|||
|
fields = _this6.fields;
|
|||
|
|
|||
|
return Object.keys(fieldsMeta).reduce(function (acc, name) {
|
|||
|
return (0, _set2['default'])(acc, name, _this6.getValueFromFields(name, fields));
|
|||
|
}, {});
|
|||
|
};
|
|||
|
|
|||
|
this.getFieldsValue = function (names) {
|
|||
|
return _this6.getNestedFields(names, _this6.getFieldValue);
|
|||
|
};
|
|||
|
|
|||
|
this.getFieldValue = function (name) {
|
|||
|
var fields = _this6.fields;
|
|||
|
|
|||
|
return _this6.getNestedField(name, function (fullName) {
|
|||
|
return _this6.getValueFromFields(fullName, fields);
|
|||
|
});
|
|||
|
};
|
|||
|
|
|||
|
this.getFieldsError = function (names) {
|
|||
|
return _this6.getNestedFields(names, _this6.getFieldError);
|
|||
|
};
|
|||
|
|
|||
|
this.getFieldError = function (name) {
|
|||
|
return _this6.getNestedField(name, function (fullName) {
|
|||
|
return (0, _utils.getErrorStrs)(_this6.getFieldMember(fullName, 'errors'));
|
|||
|
});
|
|||
|
};
|
|||
|
|
|||
|
this.isFieldValidating = function (name) {
|
|||
|
return _this6.getFieldMember(name, 'validating');
|
|||
|
};
|
|||
|
|
|||
|
this.isFieldsValidating = function (ns) {
|
|||
|
var names = ns || _this6.getValidFieldsName();
|
|||
|
return names.some(function (n) {
|
|||
|
return _this6.isFieldValidating(n);
|
|||
|
});
|
|||
|
};
|
|||
|
|
|||
|
this.isFieldTouched = function (name) {
|
|||
|
return _this6.getFieldMember(name, 'touched');
|
|||
|
};
|
|||
|
|
|||
|
this.isFieldsTouched = function (ns) {
|
|||
|
var names = ns || _this6.getValidFieldsName();
|
|||
|
return names.some(function (n) {
|
|||
|
return _this6.isFieldTouched(n);
|
|||
|
});
|
|||
|
};
|
|||
|
};
|
|||
|
|
|||
|
function createFieldsStore(fields) {
|
|||
|
return new FieldsStore(fields);
|
|||
|
}
|
|||
|
module.exports = exports['default'];
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1051:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports.mixin = undefined;
|
|||
|
|
|||
|
var _createBaseForm = __webpack_require__(907);
|
|||
|
|
|||
|
var _createBaseForm2 = _interopRequireDefault(_createBaseForm);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
var mixin = exports.mixin = {
|
|||
|
getForm: function getForm() {
|
|||
|
return {
|
|||
|
getFieldsValue: this.fieldsStore.getFieldsValue,
|
|||
|
getFieldValue: this.fieldsStore.getFieldValue,
|
|||
|
getFieldInstance: this.getFieldInstance,
|
|||
|
setFieldsValue: this.setFieldsValue,
|
|||
|
setFields: this.setFields,
|
|||
|
setFieldsInitialValue: this.fieldsStore.setFieldsInitialValue,
|
|||
|
getFieldDecorator: this.getFieldDecorator,
|
|||
|
getFieldProps: this.getFieldProps,
|
|||
|
getFieldsError: this.fieldsStore.getFieldsError,
|
|||
|
getFieldError: this.fieldsStore.getFieldError,
|
|||
|
isFieldValidating: this.fieldsStore.isFieldValidating,
|
|||
|
isFieldsValidating: this.fieldsStore.isFieldsValidating,
|
|||
|
isFieldsTouched: this.fieldsStore.isFieldsTouched,
|
|||
|
isFieldTouched: this.fieldsStore.isFieldTouched,
|
|||
|
isSubmitting: this.isSubmitting,
|
|||
|
submit: this.submit,
|
|||
|
validateFields: this.validateFields,
|
|||
|
resetFields: this.resetFields
|
|||
|
};
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
function createForm(options) {
|
|||
|
return (0, _createBaseForm2['default'])(options, [mixin]);
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = createForm;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1052:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports["default"] = void 0;
|
|||
|
|
|||
|
var React = _interopRequireWildcard(__webpack_require__(0));
|
|||
|
|
|||
|
var ReactDOM = _interopRequireWildcard(__webpack_require__(4));
|
|||
|
|
|||
|
var PropTypes = _interopRequireWildcard(__webpack_require__(1));
|
|||
|
|
|||
|
var _classnames = _interopRequireDefault(__webpack_require__(3));
|
|||
|
|
|||
|
var _rcAnimate = _interopRequireDefault(__webpack_require__(92));
|
|||
|
|
|||
|
var _omit = _interopRequireDefault(__webpack_require__(47));
|
|||
|
|
|||
|
var _row = _interopRequireDefault(__webpack_require__(977));
|
|||
|
|
|||
|
var _col = _interopRequireDefault(__webpack_require__(978));
|
|||
|
|
|||
|
var _icon = _interopRequireDefault(__webpack_require__(26));
|
|||
|
|
|||
|
var _configProvider = __webpack_require__(11);
|
|||
|
|
|||
|
var _warning = _interopRequireDefault(__webpack_require__(43));
|
|||
|
|
|||
|
var _type = __webpack_require__(72);
|
|||
|
|
|||
|
var _constants = __webpack_require__(909);
|
|||
|
|
|||
|
var _context = _interopRequireDefault(__webpack_require__(910));
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|||
|
|
|||
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|||
|
|
|||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|||
|
|
|||
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|||
|
|
|||
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|||
|
|
|||
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|||
|
|
|||
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|||
|
|
|||
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|||
|
|
|||
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|||
|
|
|||
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|||
|
|
|||
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|||
|
|
|||
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|||
|
|
|||
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|||
|
|
|||
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|||
|
|
|||
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
|
|||
|
|
|||
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
|
|||
|
|
|||
|
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
|
|||
|
|
|||
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
|
|||
|
|
|||
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|||
|
var t = {};
|
|||
|
|
|||
|
for (var p in s) {
|
|||
|
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|||
|
}
|
|||
|
|
|||
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|||
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|||
|
}
|
|||
|
return t;
|
|||
|
};
|
|||
|
|
|||
|
var ValidateStatuses = (0, _type.tuple)('success', 'warning', 'error', 'validating', '');
|
|||
|
var FormLabelAligns = (0, _type.tuple)('left', 'right');
|
|||
|
|
|||
|
function intersperseSpace(list) {
|
|||
|
return list.reduce(function (current, item) {
|
|||
|
return [].concat(_toConsumableArray(current), [' ', item]);
|
|||
|
}, []).slice(1);
|
|||
|
}
|
|||
|
|
|||
|
var FormItem =
|
|||
|
/*#__PURE__*/
|
|||
|
function (_React$Component) {
|
|||
|
_inherits(FormItem, _React$Component);
|
|||
|
|
|||
|
function FormItem() {
|
|||
|
var _this;
|
|||
|
|
|||
|
_classCallCheck(this, FormItem);
|
|||
|
|
|||
|
_this = _possibleConstructorReturn(this, _getPrototypeOf(FormItem).apply(this, arguments));
|
|||
|
_this.helpShow = false; // Resolve duplicated ids bug between different forms
|
|||
|
// https://github.com/ant-design/ant-design/issues/7351
|
|||
|
|
|||
|
_this.onLabelClick = function () {
|
|||
|
var id = _this.props.id || _this.getId();
|
|||
|
|
|||
|
if (!id) {
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
var formItemNode = ReactDOM.findDOMNode(_assertThisInitialized(_this));
|
|||
|
var control = formItemNode.querySelector("[id=\"".concat(id, "\"]"));
|
|||
|
|
|||
|
if (control && control.focus) {
|
|||
|
control.focus();
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
_this.onHelpAnimEnd = function (_key, helpShow) {
|
|||
|
_this.helpShow = helpShow;
|
|||
|
|
|||
|
if (!helpShow) {
|
|||
|
_this.setState({});
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
_this.renderFormItem = function (_ref) {
|
|||
|
var _itemClassName;
|
|||
|
|
|||
|
var getPrefixCls = _ref.getPrefixCls;
|
|||
|
|
|||
|
var _a = _this.props,
|
|||
|
customizePrefixCls = _a.prefixCls,
|
|||
|
style = _a.style,
|
|||
|
className = _a.className,
|
|||
|
restProps = __rest(_a, ["prefixCls", "style", "className"]);
|
|||
|
|
|||
|
var prefixCls = getPrefixCls('form', customizePrefixCls);
|
|||
|
|
|||
|
var children = _this.renderChildren(prefixCls);
|
|||
|
|
|||
|
var itemClassName = (_itemClassName = {}, _defineProperty(_itemClassName, "".concat(prefixCls, "-item"), true), _defineProperty(_itemClassName, "".concat(prefixCls, "-item-with-help"), _this.helpShow), _defineProperty(_itemClassName, "".concat(className), !!className), _itemClassName);
|
|||
|
return React.createElement(_row["default"], _extends({
|
|||
|
className: (0, _classnames["default"])(itemClassName),
|
|||
|
style: style
|
|||
|
}, (0, _omit["default"])(restProps, ['id', 'htmlFor', 'label', 'labelAlign', 'labelCol', 'wrapperCol', 'help', 'extra', 'validateStatus', 'hasFeedback', 'required', 'colon']), {
|
|||
|
key: "row"
|
|||
|
}), children);
|
|||
|
};
|
|||
|
|
|||
|
return _this;
|
|||
|
}
|
|||
|
|
|||
|
_createClass(FormItem, [{
|
|||
|
key: "componentDidMount",
|
|||
|
value: function componentDidMount() {
|
|||
|
var _this$props = this.props,
|
|||
|
children = _this$props.children,
|
|||
|
help = _this$props.help,
|
|||
|
validateStatus = _this$props.validateStatus,
|
|||
|
id = _this$props.id;
|
|||
|
(0, _warning["default"])(this.getControls(children, true).length <= 1 || help !== undefined || validateStatus !== undefined, 'Form.Item', 'Cannot generate `validateStatus` and `help` automatically, ' + 'while there are more than one `getFieldDecorator` in it.');
|
|||
|
(0, _warning["default"])(!id, 'Form.Item', '`id` is deprecated for its label `htmlFor`. Please use `htmlFor` directly.');
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "getHelpMessage",
|
|||
|
value: function getHelpMessage() {
|
|||
|
var help = this.props.help;
|
|||
|
|
|||
|
if (help === undefined && this.getOnlyControl()) {
|
|||
|
var _this$getField = this.getField(),
|
|||
|
errors = _this$getField.errors;
|
|||
|
|
|||
|
if (errors) {
|
|||
|
return intersperseSpace(errors.map(function (e, index) {
|
|||
|
var node = null;
|
|||
|
|
|||
|
if (React.isValidElement(e)) {
|
|||
|
node = e;
|
|||
|
} else if (React.isValidElement(e.message)) {
|
|||
|
node = e.message;
|
|||
|
} // eslint-disable-next-line react/no-array-index-key
|
|||
|
|
|||
|
|
|||
|
return node ? React.cloneElement(node, {
|
|||
|
key: index
|
|||
|
}) : e.message;
|
|||
|
}));
|
|||
|
}
|
|||
|
|
|||
|
return '';
|
|||
|
}
|
|||
|
|
|||
|
return help;
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "getControls",
|
|||
|
value: function getControls(children, recursively) {
|
|||
|
var controls = [];
|
|||
|
var childrenArray = React.Children.toArray(children);
|
|||
|
|
|||
|
for (var i = 0; i < childrenArray.length; i++) {
|
|||
|
if (!recursively && controls.length > 0) {
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
var child = childrenArray[i];
|
|||
|
|
|||
|
if (child.type && (child.type === FormItem || child.type.displayName === 'FormItem')) {
|
|||
|
continue;
|
|||
|
}
|
|||
|
|
|||
|
if (!child.props) {
|
|||
|
continue;
|
|||
|
}
|
|||
|
|
|||
|
if (_constants.FIELD_META_PROP in child.props) {
|
|||
|
// And means FIELD_DATA_PROP in child.props, too.
|
|||
|
controls.push(child);
|
|||
|
} else if (child.props.children) {
|
|||
|
controls = controls.concat(this.getControls(child.props.children, recursively));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return controls;
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "getOnlyControl",
|
|||
|
value: function getOnlyControl() {
|
|||
|
var child = this.getControls(this.props.children, false)[0];
|
|||
|
return child !== undefined ? child : null;
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "getChildProp",
|
|||
|
value: function getChildProp(prop) {
|
|||
|
var child = this.getOnlyControl();
|
|||
|
return child && child.props && child.props[prop];
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "getId",
|
|||
|
value: function getId() {
|
|||
|
return this.getChildProp('id');
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "getMeta",
|
|||
|
value: function getMeta() {
|
|||
|
return this.getChildProp(_constants.FIELD_META_PROP);
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "getField",
|
|||
|
value: function getField() {
|
|||
|
return this.getChildProp(_constants.FIELD_DATA_PROP);
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "getValidateStatus",
|
|||
|
value: function getValidateStatus() {
|
|||
|
var onlyControl = this.getOnlyControl();
|
|||
|
|
|||
|
if (!onlyControl) {
|
|||
|
return '';
|
|||
|
}
|
|||
|
|
|||
|
var field = this.getField();
|
|||
|
|
|||
|
if (field.validating) {
|
|||
|
return 'validating';
|
|||
|
}
|
|||
|
|
|||
|
if (field.errors) {
|
|||
|
return 'error';
|
|||
|
}
|
|||
|
|
|||
|
var fieldValue = 'value' in field ? field.value : this.getMeta().initialValue;
|
|||
|
|
|||
|
if (fieldValue !== undefined && fieldValue !== null && fieldValue !== '') {
|
|||
|
return 'success';
|
|||
|
}
|
|||
|
|
|||
|
return '';
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "isRequired",
|
|||
|
value: function isRequired() {
|
|||
|
var required = this.props.required;
|
|||
|
|
|||
|
if (required !== undefined) {
|
|||
|
return required;
|
|||
|
}
|
|||
|
|
|||
|
if (this.getOnlyControl()) {
|
|||
|
var meta = this.getMeta() || {};
|
|||
|
var validate = meta.validate || [];
|
|||
|
return validate.filter(function (item) {
|
|||
|
return !!item.rules;
|
|||
|
}).some(function (item) {
|
|||
|
return item.rules.some(function (rule) {
|
|||
|
return rule.required;
|
|||
|
});
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "renderHelp",
|
|||
|
value: function renderHelp(prefixCls) {
|
|||
|
var help = this.getHelpMessage();
|
|||
|
var children = help ? React.createElement("div", {
|
|||
|
className: "".concat(prefixCls, "-explain"),
|
|||
|
key: "help"
|
|||
|
}, help) : null;
|
|||
|
|
|||
|
if (children) {
|
|||
|
this.helpShow = !!children;
|
|||
|
}
|
|||
|
|
|||
|
return React.createElement(_rcAnimate["default"], {
|
|||
|
transitionName: "show-help",
|
|||
|
component: "",
|
|||
|
transitionAppear: true,
|
|||
|
key: "help",
|
|||
|
onEnd: this.onHelpAnimEnd
|
|||
|
}, children);
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "renderExtra",
|
|||
|
value: function renderExtra(prefixCls) {
|
|||
|
var extra = this.props.extra;
|
|||
|
return extra ? React.createElement("div", {
|
|||
|
className: "".concat(prefixCls, "-extra")
|
|||
|
}, extra) : null;
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "renderValidateWrapper",
|
|||
|
value: function renderValidateWrapper(prefixCls, c1, c2, c3) {
|
|||
|
var props = this.props;
|
|||
|
var onlyControl = this.getOnlyControl;
|
|||
|
var validateStatus = props.validateStatus === undefined && onlyControl ? this.getValidateStatus() : props.validateStatus;
|
|||
|
var classes = "".concat(prefixCls, "-item-control");
|
|||
|
|
|||
|
if (validateStatus) {
|
|||
|
classes = (0, _classnames["default"])("".concat(prefixCls, "-item-control"), {
|
|||
|
'has-feedback': props.hasFeedback || validateStatus === 'validating',
|
|||
|
'has-success': validateStatus === 'success',
|
|||
|
'has-warning': validateStatus === 'warning',
|
|||
|
'has-error': validateStatus === 'error',
|
|||
|
'is-validating': validateStatus === 'validating'
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
var iconType = '';
|
|||
|
|
|||
|
switch (validateStatus) {
|
|||
|
case 'success':
|
|||
|
iconType = 'check-circle';
|
|||
|
break;
|
|||
|
|
|||
|
case 'warning':
|
|||
|
iconType = 'exclamation-circle';
|
|||
|
break;
|
|||
|
|
|||
|
case 'error':
|
|||
|
iconType = 'close-circle';
|
|||
|
break;
|
|||
|
|
|||
|
case 'validating':
|
|||
|
iconType = 'loading';
|
|||
|
break;
|
|||
|
|
|||
|
default:
|
|||
|
iconType = '';
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
var icon = props.hasFeedback && iconType ? React.createElement("span", {
|
|||
|
className: "".concat(prefixCls, "-item-children-icon")
|
|||
|
}, React.createElement(_icon["default"], {
|
|||
|
type: iconType,
|
|||
|
theme: iconType === 'loading' ? 'outlined' : 'filled'
|
|||
|
})) : null;
|
|||
|
return React.createElement("div", {
|
|||
|
className: classes
|
|||
|
}, React.createElement("span", {
|
|||
|
className: "".concat(prefixCls, "-item-children")
|
|||
|
}, c1, icon), c2, c3);
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "renderWrapper",
|
|||
|
value: function renderWrapper(prefixCls, children) {
|
|||
|
var _this2 = this;
|
|||
|
|
|||
|
return React.createElement(_context["default"].Consumer, {
|
|||
|
key: "wrapper"
|
|||
|
}, function (_ref2) {
|
|||
|
var contextWrapperCol = _ref2.wrapperCol,
|
|||
|
vertical = _ref2.vertical;
|
|||
|
var wrapperCol = _this2.props.wrapperCol;
|
|||
|
var mergedWrapperCol = ('wrapperCol' in _this2.props ? wrapperCol : contextWrapperCol) || {};
|
|||
|
var className = (0, _classnames["default"])("".concat(prefixCls, "-item-control-wrapper"), mergedWrapperCol.className); // No pass FormContext since it's useless
|
|||
|
|
|||
|
return React.createElement(_context["default"].Provider, {
|
|||
|
value: {
|
|||
|
vertical: vertical
|
|||
|
}
|
|||
|
}, React.createElement(_col["default"], _extends({}, mergedWrapperCol, {
|
|||
|
className: className
|
|||
|
}), children));
|
|||
|
});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "renderLabel",
|
|||
|
value: function renderLabel(prefixCls) {
|
|||
|
var _this3 = this;
|
|||
|
|
|||
|
return React.createElement(_context["default"].Consumer, {
|
|||
|
key: "label"
|
|||
|
}, function (_ref3) {
|
|||
|
var _classNames;
|
|||
|
|
|||
|
var vertical = _ref3.vertical,
|
|||
|
contextLabelAlign = _ref3.labelAlign,
|
|||
|
contextLabelCol = _ref3.labelCol,
|
|||
|
contextColon = _ref3.colon;
|
|||
|
var _this3$props = _this3.props,
|
|||
|
label = _this3$props.label,
|
|||
|
labelCol = _this3$props.labelCol,
|
|||
|
labelAlign = _this3$props.labelAlign,
|
|||
|
colon = _this3$props.colon,
|
|||
|
id = _this3$props.id,
|
|||
|
htmlFor = _this3$props.htmlFor;
|
|||
|
|
|||
|
var required = _this3.isRequired();
|
|||
|
|
|||
|
var mergedLabelCol = ('labelCol' in _this3.props ? labelCol : contextLabelCol) || {};
|
|||
|
var mergedLabelAlign = 'labelAlign' in _this3.props ? labelAlign : contextLabelAlign;
|
|||
|
var labelClsBasic = "".concat(prefixCls, "-item-label");
|
|||
|
var labelColClassName = (0, _classnames["default"])(labelClsBasic, mergedLabelAlign === 'left' && "".concat(labelClsBasic, "-left"), mergedLabelCol.className);
|
|||
|
var labelChildren = label; // Keep label is original where there should have no colon
|
|||
|
|
|||
|
var computedColon = colon === true || contextColon !== false && colon !== false;
|
|||
|
var haveColon = computedColon && !vertical; // Remove duplicated user input colon
|
|||
|
|
|||
|
if (haveColon && typeof label === 'string' && label.trim() !== '') {
|
|||
|
labelChildren = label.replace(/[::]\s*$/, '');
|
|||
|
}
|
|||
|
|
|||
|
var labelClassName = (0, _classnames["default"])((_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-item-required"), required), _defineProperty(_classNames, "".concat(prefixCls, "-item-no-colon"), !computedColon), _classNames));
|
|||
|
return label ? React.createElement(_col["default"], _extends({}, mergedLabelCol, {
|
|||
|
className: labelColClassName
|
|||
|
}), React.createElement("label", {
|
|||
|
htmlFor: htmlFor || id || _this3.getId(),
|
|||
|
className: labelClassName,
|
|||
|
title: typeof label === 'string' ? label : '',
|
|||
|
onClick: _this3.onLabelClick
|
|||
|
}, labelChildren)) : null;
|
|||
|
});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "renderChildren",
|
|||
|
value: function renderChildren(prefixCls) {
|
|||
|
var children = this.props.children;
|
|||
|
return [this.renderLabel(prefixCls), this.renderWrapper(prefixCls, this.renderValidateWrapper(prefixCls, children, this.renderHelp(prefixCls), this.renderExtra(prefixCls)))];
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "render",
|
|||
|
value: function render() {
|
|||
|
return React.createElement(_configProvider.ConfigConsumer, null, this.renderFormItem);
|
|||
|
}
|
|||
|
}]);
|
|||
|
|
|||
|
return FormItem;
|
|||
|
}(React.Component);
|
|||
|
|
|||
|
exports["default"] = FormItem;
|
|||
|
FormItem.defaultProps = {
|
|||
|
hasFeedback: false
|
|||
|
};
|
|||
|
FormItem.propTypes = {
|
|||
|
prefixCls: PropTypes.string,
|
|||
|
label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
|
|||
|
labelCol: PropTypes.object,
|
|||
|
help: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),
|
|||
|
validateStatus: PropTypes.oneOf(ValidateStatuses),
|
|||
|
hasFeedback: PropTypes.bool,
|
|||
|
wrapperCol: PropTypes.object,
|
|||
|
className: PropTypes.string,
|
|||
|
id: PropTypes.string,
|
|||
|
children: PropTypes.node,
|
|||
|
colon: PropTypes.bool
|
|||
|
};
|
|||
|
//# sourceMappingURL=FormItem.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1358:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|||
|
|
|||
|
// load the styles
|
|||
|
var content = __webpack_require__(1435);
|
|||
|
if(typeof content === 'string') content = [[module.i, content, '']];
|
|||
|
// Prepare cssTransformation
|
|||
|
var transform;
|
|||
|
|
|||
|
var options = {"hmr":false}
|
|||
|
options.transform = transform
|
|||
|
// add the styles to the DOM
|
|||
|
var update = __webpack_require__(300)(content, options);
|
|||
|
if(content.locals) module.exports = content.locals;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1435:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
exports = module.exports = __webpack_require__(299)(true);
|
|||
|
// imports
|
|||
|
|
|||
|
|
|||
|
// module
|
|||
|
exports.push([module.i, ".ant-form{color:#05101a}.ant-checkbox-disabled+span,.ant-radio-disabled+span{color:#666!important;cursor:default}.ant-radio-wrapper{color:#666!important}.ant-checkbox-wrapper+.ant-checkbox-wrapper{margin-left:0!important}.ant-select-selection,.ant-select-selection-selected-value{min-height:40px;min-line-height:40px}.ml61{margin-left:61px}.w64{width:64px}.w55{width:55px!important}.max1010{width:1010px!important;max-width:1010px!important}.yw18{min-width:18px}.chooseAnswer{display:inline-block;width:68px;text-align:center;height:24px;line-height:24px;background:#ededed;color:#666;margin-left:10px;border-radius:12px}.problemShow{padding:30px;border-bottom:1px solid #eee}.problemShow:last-child{border-bottom:none}.invite-tipysls{position:absolute;top:-8px;right:140px;color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;width:170px;text-align:center;border-radius:2px;background-color:rgba(5,16,26,.6)}.yslinvitetip{display:block;right:-16px}.right-black-trangle,.yslinvitetip{border-width:8px;position:absolute;top:10px;border-style:dashed solid dashed dashed;border-color:transparent transparent transparent rgba(5,16,26,.6);font-size:0;line-height:0}.right-black-trangle{left:-16px}.right-black-trangles{top:10px;left:-16px;border-color:transparent rgba(5,16,26,.6) transparent transparent}.right-black-trangles,.top-black-trangle{border-width:8px;position:absolute;border-style:dashed solid dashed dashed;font-size:0;line-height:0}.top-black-trangle{top:-16px;right:4px;border-color:transparent transparent rgba(5,16,26,.6)}.invite-tipysl{color:#999;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;border-radius:2px;font-size:14px}.edu-position-hideysl li a:hover{background:#f1f1f1;color:#05101a}.to-back-left{width:0;height:0;margin-top:27px;border-right:15px solid #fafafa;border-top:10px solid transparent;border-bottom:10px solid transparent}.unlimit{height:24px;line-height:24px;padding:0 10px;border-radius:12px;cursor:pointer;border:1px solid #cdcdcd;color:#666}.unlimit.active{background-color:#4cacff;border:1px solid #4cacff;color:#fff}.edu-table tbody tr:last-child td,.edu-table thead th{border-bottom:none!important}.edu-table tbody tr:hover td{background-color:#fff!important}.countList p.countHeader{background-color:#f8f8f8;color:#666;height:38px;font-size:16px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;display:-webkit-flex}.countList p.countHeader ul{width:100%;padding:0 30px}.countList div.countBody span,.countList p.countHeader span{float:left}.countList div.countBody{margin:0 30px;border-bottom:1px solid #ebebeb;padding:12px 0}.countList div.countBody:last-child{border-bottom:none}.countList div.countBody span:first-child,.countList p.countHeader span:first-child{width:50%;text-align:left}.countList div.countBody span:nth-child(2),.countList p.countHeader span:nth-child(2){width:15%;text-align:center}.countList div.countBody span:nth-child(3),.countList p.countHeader span:nth-child(3){width:35%;text-align:left}.percentForm{width:330px;background:#f5f5f5;position:relative;margin-top:7px}.percentForm,.percentValue{height:11px;border-radius:6px}.percentValue{position:absolute;top:0;left:0;background:#29bd8b}.answerTxt{max-height:500px;background-color:#f2f9ff;width:100%;margin-top:10px;padding:10px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#4c4c4c}.otherTxt{border:none!important;border-bottom:1px solid #eee!important;background:transparent!important;-ms-flex:1 1;flex:1 1;height:20px!important;line-height:20px!important}.otherTxt.ant-input:focus,.otherTxt.ant-input:hover{border:none!important;border-bottom:1px solid #eee!important;background:#f8f8f8!important}.mustAnswer{padding:0 10px;border-radius:15px;height:22px;line-height:22px;background:#eaeaea;color:#999;font-size:14px}.previewList{border-bottom:1px solid #ebebeb}.previewList:last-child{border-bottom:none}.textLine{-ms-flex:1 1;flex:1 1;height:22px;border-bottom:1px solid #ebebeb}.answerList{margin-bottom:20px}.answerList,.answerList li{-webkit-box-sizing:borde
|
|||
|
|
|||
|
// exports
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1777:
|
|||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_radio_style_css__ = __webpack_require__(178);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_radio_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_antd_lib_radio_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_radio__ = __webpack_require__(176);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_radio___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_antd_lib_radio__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_antd_lib_input_style_css__ = __webpack_require__(57);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_antd_lib_input_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_antd_lib_input_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd_lib_input__ = __webpack_require__(58);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd_lib_input___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_antd_lib_input__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_antd_lib_modal_style_css__ = __webpack_require__(27);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_antd_lib_modal_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_antd_lib_modal_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_antd_lib_modal__ = __webpack_require__(28);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_antd_lib_modal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_antd_lib_modal__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_antd_lib_checkbox_style_css__ = __webpack_require__(308);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_antd_lib_checkbox_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_antd_lib_checkbox_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_antd_lib_checkbox__ = __webpack_require__(305);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_antd_lib_checkbox___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_antd_lib_checkbox__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_antd_lib_select_style_css__ = __webpack_require__(307);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_antd_lib_select_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_antd_lib_select_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_antd_lib_select__ = __webpack_require__(303);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_antd_lib_select___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_antd_lib_select__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react__ = __webpack_require__(0);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_router_dom__ = __webpack_require__(48);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_antd_lib_date_picker_locale_zh_CN__ = __webpack_require__(182);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_antd_lib_date_picker_locale_zh_CN___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_antd_lib_date_picker_locale_zh_CN__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_educoder__ = __webpack_require__(5);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_axios__ = __webpack_require__(8);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14_axios__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__modals_Modals__ = __webpack_require__(175);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__coursesPublic_CoursesListType__ = __webpack_require__(1122);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__coursesPublic_AccessoryModal__ = __webpack_require__(1407);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__css_Courses_css__ = __webpack_require__(312);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__css_Courses_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_18__css_Courses_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__common_CBreadcrumb__ = __webpack_require__(333);
|
|||
|
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Option=__WEBPACK_IMPORTED_MODULE_9_antd_lib_select___default.a.Option;var CheckboxGroup=__WEBPACK_IMPORTED_MODULE_7_antd_lib_checkbox___default.a.Group;var confirm=__WEBPACK_IMPORTED_MODULE_5_antd_lib_modal___default.a.confirm;var GraduationTasksnewtype=true;var $=window.$;var Search=__WEBPACK_IMPORTED_MODULE_3_antd_lib_input___default.a.Search;var RadioGroup=__WEBPACK_IMPORTED_MODULE_1_antd_lib_radio___default.a.Group;var WorkDetailPageHeader=function(_Component){_inherits(WorkDetailPageHeader,_Component);function WorkDetailPageHeader(props){_classCallCheck(this,WorkDetailPageHeader);var _this=_possibleConstructorReturn(this,(WorkDetailPageHeader.__proto__||Object.getPrototypeOf(WorkDetailPageHeader)).call(this,props));_this.goback=function(){var workId=_this.props.match.params.workId;if(window.location.pathname.indexOf('appraise')==-1){var category_id=_this.props.category.category_id;_this.props.toListPage(_this.props.match.params,category_id);}else{_this.props.toWorkListPage(_this.props.match.params,workId);// this.props.match.params.category_id
|
|||
|
}// this.props.history.goBack()
|
|||
|
};_this.Cancelvisible=function(){_this.setState({accessoryVisible:false});};_this.addAccessory=function(){_this.setState({accessoryVisible:true});};_this.setupdate=function(){_this.props.getReviseAttachments&&_this.props.getReviseAttachments();};_this.state={};return _this;}_createClass(WorkDetailPageHeader,[{key:"componentDidMount",value:function componentDidMount(){}// 补交附件
|
|||
|
},{key:"render",value:function render(){var dateFormat='YYYY-MM-DD HH:mm';var _props=this.props,course_name=_props.course_name,homework_name=_props.homework_name,search=_props.search,page=_props.page,loadingstate=_props.loadingstate,homework_status=_props.homework_status,description=_props.description,noTab=_props.noTab,view_answer=_props.view_answer,author_name=_props.author_name,category=_props.category,work_id=_props.work_id,current_user=_props.current_user;var courseId=this.props.match.params.coursesId;var category_id=category&&category.category_id;var category_name=category&&category.category_name;var workId=this.props.match.params.workId;var studentWorkId=this.props.match.params.studentWorkId;var isGroup=this.props.isGroup();var moduleName=!isGroup?"普通作业":"分组作业";var moduleEngName=this.props.getModuleName();var childModuleName=this.props.moduleName;return __WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement("div",null,__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement("div",{className:"newMain clearfix worklist1 workDetailPageHeader"},__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement("div",{className:"educontent mt20"},__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement("style",null,"\n .memoContent {\n background: #fff;\n }\n .workDetailPageHeader .summaryname {\n line-height:28px\n }\n "),__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_19__common_CBreadcrumb__["a" /* default */],{items:[{to:current_user&¤t_user.first_category_url,name:course_name},{to:"/courses/"+courseId+"/"+moduleEngName+"/"+category_id,name:category_name},window.location.pathname.indexOf('appraise')==-1?{}:{to:"/courses/"+courseId+"/"+moduleEngName+"/"+workId+"/list",name:'作业详情'},// 1. 与上一条联动,当匿评他人作品时,TA人作品的作者真实姓名切换为“匿名”
|
|||
|
window.location.pathname.indexOf('appraise')==-1?{name:'作业详情'}:{name:author_name}]}),__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement("div",{className:"clearfix mt20 mb20"},__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement("span",{className:" fl color-black summaryname"},homework_name),__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_16__coursesPublic_CoursesListType__["a" /* default */],{typelist:homework_status,typesylename:"mt3"}),category&&__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement("a",{className:"color-grey-6 fr font-16 ml30 mr30 lineh-25",onClick:this.goback},"\u8FD4\u56DE"),this.props.update_atta&&__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10_react___default.a.Fragment,null,this.state.accessoryVisible===true?__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_17__coursesPublic_AccessoryModal__["a" /* default */],Object.assign({},this.props,{modalname:"补交附件",visible:this.state.accessoryVisible,Cancelname:"取消",Savesname:"确认",Cancel:this.Cancelvisible,setupdate:this.setupdate,seeworks:undefined,reviseAttachmentUrl:"/student_works/"+(work_id||studentWorkId)+"/revise_attachment.json"})):"",__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement("a",{className:"fr color-blue font-16 ",href:"javascript:void(0)",onClick:this.addAccessory,style:{'marginTop':'-4px'}},"\u8865\u4EA4\u9644\u4EF6"))),noTab!==true&&__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement("div",{className:"stud-class-set bor-bottom-greyE"},__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement("div",{className:"mt10 clearfix edu-back-white poll_list pl5"},__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_11_react_router_dom__["b" /* Link */],{className:(childModuleName=='作品列表'?'active':'')+" ",to:"/courses/"+courseId+"/"+moduleEngName+"/"+workId+"/list"},"\u4F5C\u54C1\u5217\u8868"),__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_11_react_router_dom__["b" /* Link */],{className:(childModuleName=='作业描述'?'active':'')+" ",to:"/courses/"+courseId+"/"+moduleEngName+"/"+workId+"/question"},"\u4F5C\u4E1A\u63CF\u8FF0"),view_answer==true&&__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_11_react_router_dom__["b" /* Link */],{className:(childModuleName=='参考答案'?'active':'')+" ",to:"/courses/"+courseId+"/"+moduleEngName+"/"+workId+"/answer"},"\u53C2\u8003\u7B54\u6848"),__WEBPACK_IMPORTED_MODULE_10_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_11_react_router_dom__["b" /* Link */],{className:(childModuleName=='设置'?'active':'')+" ",style:{paddingLeft:this.props.isAdmin()?'38px':'20px'},to:"/courses/"+courseId+"/"+moduleEngName+"/"+workId+"/setting"},this.props.isAdmin()?"设置":"得分规则"),this.props.tabRightComponents)),this.props.children))));}}]);return WorkDetailPageHeader;}(__WEBPACK_IMPORTED_MODULE_10_react__["Component"]);/* harmony default export */ __webpack_exports__["a"] = (WorkDetailPageHeader);
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 1973:
|
|||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_tooltip_style_css__ = __webpack_require__(173);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_tooltip_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_antd_lib_tooltip_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_tooltip__ = __webpack_require__(172);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_tooltip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_antd_lib_tooltip__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_antd_lib_date_picker_style_css__ = __webpack_require__(1075);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_antd_lib_date_picker_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_antd_lib_date_picker_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd_lib_date_picker__ = __webpack_require__(1076);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd_lib_date_picker___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_antd_lib_date_picker__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_antd_lib_select_style_css__ = __webpack_require__(307);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_antd_lib_select_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_antd_lib_select_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_antd_lib_select__ = __webpack_require__(303);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_antd_lib_select___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_antd_lib_select__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_antd_lib_input_style_css__ = __webpack_require__(57);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_antd_lib_input_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_antd_lib_input_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_antd_lib_input__ = __webpack_require__(58);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_antd_lib_input___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_antd_lib_input__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react__ = __webpack_require__(0);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_educoder__ = __webpack_require__(5);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__css_members_css__ = __webpack_require__(314);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__css_members_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__css_members_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__css_busyWork_css__ = __webpack_require__(1078);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__css_busyWork_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11__css_busyWork_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__pollStyle_css__ = __webpack_require__(1358);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__pollStyle_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__pollStyle_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_moment__ = __webpack_require__(70);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_moment__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_antd_lib_date_picker_locale_zh_CN__ = __webpack_require__(182);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_antd_lib_date_picker_locale_zh_CN___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14_antd_lib_date_picker_locale_zh_CN__);
|
|||
|
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Search=__WEBPACK_IMPORTED_MODULE_7_antd_lib_input___default.a.Search;var Option=__WEBPACK_IMPORTED_MODULE_5_antd_lib_select___default.a.Option;var dataformat="YYYY-MM-DD HH:mm";function range(start,end){var result=[];for(var i=start;i<end;i++){result.push(i);}return result;}function disabledDateTime(){return{disabledMinutes:function disabledMinutes(){return range(1,30).concat(range(31,60));}// disabledSeconds: () => range(1,60)
|
|||
|
};}function disabledDate(current){return current&¤t<__WEBPACK_IMPORTED_MODULE_13_moment___default()().endOf('day').subtract(1,'days');}var PollDetailTabForthRules=function(_Component){_inherits(PollDetailTabForthRules,_Component);function PollDetailTabForthRules(props){_classCallCheck(this,PollDetailTabForthRules);var _this=_possibleConstructorReturn(this,(PollDetailTabForthRules.__proto__||Object.getPrototypeOf(PollDetailTabForthRules)).call(this,props));_initialiseProps.call(_this);var list=[{course_group_id:[],course_group_name:[],publish_time:undefined,end_time:undefined,publish_flag:"",end_flag:"",class_flag:"",course_search:"",poll_status:0,p_timeflag:false,e_timeflag:false}];_this.state={rules:_this.props.rules&&_this.props.rules.length==0?list:_this.props.rules,course_group:_this.props.course_group,selectedCourse:[],flagPageEdit:_this.props.flagPageEdit};return _this;}_createClass(PollDetailTabForthRules,[{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){if(JSON.stringify(this.props.rules)!=JSON.stringify(prevProps.rules)){this.setState({rules:this.props.rules});this.unitChoose(this.props.rules);}if(this.props.flagPageEdit!=prevProps.flagPageEdit){this.setState({flagPageEdit:this.props.flagPageEdit});}}// 添加发布规则
|
|||
|
//删除发布规则
|
|||
|
//修改发布规则里面的结束时间
|
|||
|
//修改发布规则里面的发布时间
|
|||
|
// changeOpen=(e,index)=>{
|
|||
|
// let arr=Object.assign({}, this.state.rules[parseInt(index)]);
|
|||
|
// arr.open= true;
|
|||
|
// let rules=this.state.rules;
|
|||
|
// rules[index]=arr;
|
|||
|
// this.setState({
|
|||
|
// rules
|
|||
|
// })
|
|||
|
// }
|
|||
|
// changeClose=(e,index)=>{
|
|||
|
// let arr=Object.assign({}, this.state.rules[parseInt(index)]);
|
|||
|
// arr.open= false;
|
|||
|
// let rules=this.state.rules;
|
|||
|
// rules[index]=arr;
|
|||
|
// this.setState({
|
|||
|
// rules
|
|||
|
// })
|
|||
|
// }
|
|||
|
// 选择分班
|
|||
|
//整合所有已经选择了的course_group_id
|
|||
|
// 输入搜索分班
|
|||
|
//搜索
|
|||
|
},{key:"render",value:function render(){var _this2=this;var _state=this.state,rules=_state.rules,course_group=_state.course_group,flagPageEdit=_state.flagPageEdit;var isAdmin=this.props.isAdmin();console.log(flagPageEdit);return __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("div",{className:"bor-top-greyE pt20"},__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("p",{className:"clearfix mb10"},__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("span",{className:"fl with40 pr20"},"\xA0"),__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("span",{className:"fl pr20 color-grey-c with25"},"(\u5B66\u751F\u6536\u5230",this.props.moduleName||(this.props.type==="Exercise"?"试卷":"问卷"),"\u7684\u65F6\u95F4)"),__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("span",{className:"fl color-grey-c"},"(",this.props.moduleName=='作业'?'学生“按时”提交作品的时间截点':'学生可以答题的时间截点',")")),__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("style",null,"\n .setInfo .ant-select-selection--multiple .ant-select-selection__choice__content {\n max-width:280px;\n }\n "),rules&&rules.length>0&&rules.map(function(rule,r){var courseGroup=rule.course_search!=""?course_group.filter(function(item){return item.course_group_name.indexOf(rule.course_search)!=-1;}):course_group;return __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("div",{className:"clearfix mb5",key:r},flagPageEdit===undefined?"":flagPageEdit===true?__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("style",null,"\n .yskspickersy\n .ant-input, .ant-input .ant-input-suffix{\n background-color: #fff !important;\n }\n\t\t\t\t\t\t\t\t\t \t"):"",__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("div",{className:"with40 fl pr20 df"},__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("span",{className:"font-16 pr20 fl mt8"},"\u53D1\u5E03\u89C4\u5219",r+1),__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("div",{className:"flex1"},__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("style",null,".ant-select{\n min-width:200px,\n }\n "),__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_antd_lib_select___default.a,{placeholder:"\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0",className:rule.class_flag&&rule.class_flag!=""?"noticeTip setInfo":"setInfo",mode:"multiple",filterOption:function filterOption(input,option){return option.props.children.toLowerCase().indexOf(input.toLowerCase())>=0;},value:rule.course_group_id,onChange:function onChange(value,option){return _this2.changeClasses(value,option,r);},disabled:_this2.props.isAdmin()===true?rule.p_timeflag===undefined?__WEBPACK_IMPORTED_MODULE_13_moment___default()(rule.publish_time,dataformat)<=__WEBPACK_IMPORTED_MODULE_13_moment___default()()?true:!flagPageEdit:rule.e_timeflag===undefined?rule.publish_time===null?false:!flagPageEdit:rule.p_timeflag==true?true:!flagPageEdit:true},courseGroup&&courseGroup.length>0&&courseGroup.map(function(team,t){return __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(Option,{value:team.course_group_id,key:t,style:{display:""+(team.course_choosed==0?"":"none")}},team.course_group_name);})),__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("p",{className:"color-orange-tip lineh-25 clearfix",style:{height:"25px"}},rule.class_flag&&rule.class_flag!=""?__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("span",{className:"fl color-red"},rule.class_flag):""))),__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("div",{className:"fl pr20 with25 yskspickersy"},__WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_antd_lib_tooltip___default.a,{placement:"bottom",title:rule.p_timeflag===undefined?__WEBPACK_IMPORTED_MODULE_13_moment___default()(rule.
|
|||
|
var arr=Object.assign({},_this3.state.rules[parseInt(index)]);arr.publish_time=date===""?"":__WEBPACK_IMPORTED_MODULE_13_moment___default()(Object(__WEBPACK_IMPORTED_MODULE_9_educoder__["W" /* handleDateString */])(date)).format("YYYY-MM-DD HH:mm");if(!arr.end_time){if(e!=null){arr.end_time=__WEBPACK_IMPORTED_MODULE_13_moment___default()(__WEBPACK_IMPORTED_MODULE_13_moment___default()(Object(__WEBPACK_IMPORTED_MODULE_9_educoder__["W" /* handleDateString */])(date)).add(1,'months')).format("YYYY-MM-DD HH:mm");}}if(date!=""&&date!=undefined&&__WEBPACK_IMPORTED_MODULE_13_moment___default()(date,dataformat)>__WEBPACK_IMPORTED_MODULE_13_moment___default()()){arr.publish_flag="";}var rules=_this3.state.rules;rules[index]=arr;_this3.setState({rules:rules});_this3.props.rulesCheckInfo&&_this3.props.rulesCheckInfo(rules);};this.changeClasses=function(value,option,index){var arr=Object.assign({},_this3.state.rules[parseInt(index)]);arr.course_group_id=value;arr.class_flag="";var rules=_this3.state.rules;rules[index]=arr;//修改选择分班下拉选项(是否被选中)
|
|||
|
//let course_group = this.state.course_group;
|
|||
|
_this3.unitChoose(rules);_this3.setState({rules:rules//course_group:course_group
|
|||
|
});_this3.props.rulesCheckInfo&&_this3.props.rulesCheckInfo(rules);};this.unitChoose=function(rules){var arr=[];if(rules){rules.forEach(function(ele){var Arraytype=Array.isArray(ele.course_group_id);if(Arraytype===true){ele.course_group_id.forEach(function(e){arr.push(e);});}else{arr.push(ele.course_group_id);}});}var course_group=_this3.state.course_group;course_group.forEach(function(ele){if(arr.indexOf(ele.course_group_id)!=-1){ele.course_choosed=1;}else{ele.course_choosed=0;}});_this3.setState({course_group:course_group});};this.fouceThis=function(e){e.preventDefault();};this.inputSearchCourse=function(e,index){_this3.inputSearch(e,index);};this.ActionSearchCourse=function(e,index){_this3.inputSearch(e,index);};this.inputSearch=function(e,index){var arr=Object.assign({},_this3.state.rules[parseInt(index)]);arr.course_search=e.target.value;var rules=_this3.state.rules;rules[index]=arr;_this3.setState({rules:rules});};this.notUnifiedSettingCheck=function(rules){var flag=void 0,flag1=void 0,flag2=true;var myRules=[];if(rules.length==0){myRules=_this3.state.rules.slice(0);}else{myRules=rules;}for(var i=0;i<myRules.length;i++){var arr=Object.assign({},myRules[parseInt(i)]);if(arr.poll_status<2){if(arr.course_group_id===undefined||arr.course_group_id.length==0){arr.class_flag="请选择分班";flag1=false;}else{flag1=true;}if(arr.publish_time===undefined||arr.publish_time===null||arr.publish_time===""){arr.publish_flag="请选择发布时间";flag1=false;}else if(!arr.p_timeflag&&__WEBPACK_IMPORTED_MODULE_13_moment___default()(arr.publish_time,dataformat)<=__WEBPACK_IMPORTED_MODULE_13_moment___default()()){arr.publish_flag="发布时间不能早于当前时间";flag1=false;}if(arr.end_time===undefined||arr.end_time===null||arr.end_time===""){arr.end_flag="请选择截止时间";flag1=false;}else if(!arr.e_timeflag&&__WEBPACK_IMPORTED_MODULE_13_moment___default()(arr.end_time,dataformat)<=__WEBPACK_IMPORTED_MODULE_13_moment___default()()){if(_this3.props.type==="Shixun"){}else{arr.end_flag="截止时间不能早于当前时间";flag1=false;}}else if(!arr.e_timeflag&&__WEBPACK_IMPORTED_MODULE_13_moment___default()(arr.end_time,dataformat)<=__WEBPACK_IMPORTED_MODULE_13_moment___default()(arr.publish_time,dataformat)){arr.end_flag="截止时间不能早于发布时间";flag1=false;}else{flag1=true;}myRules[i]=arr;}}return{validate:flag1,rules:myRules};};this.exerciseSettingCheck=function(rules){var flag=void 0,flag1=void 0,flag2=true;var myRules=[];if(rules.length==0){myRules=_this3.state.rules.slice(0);}else{myRules=rules;}for(var i=0;i<myRules.length;i++){var arr=Object.assign({},_this3.state.rules[parseInt(i)]);if(arr.poll_status<2){if(arr.course_group_id===undefined||arr.course_group_id.length===0){arr.class_flag="请选择分班";flag=false;}else{flag=true;}if(arr.publish_time==undefined||arr.publish_time===null||arr.publish_time===""){arr.publish_flag="请选择发布时间";flag1=false;}else if(__WEBPACK_IMPORTED_MODULE_13_moment___default()(arr.publish_time,dataformat)<=__WEBPACK_IMPORTED_MODULE_13_moment___default()()){arr.publish_flag="发布时间不能早于当前时间";flag1=false;}if(arr.end_time===undefined||arr.end_time===null||arr.end_time===""){arr.end_flag="请选择截止时间";flag2=false;}else if(__WEBPACK_IMPORTED_MODULE_13_moment___default()(arr.end_time,dataformat)<=__WEBPACK_IMPORTED_MODULE_13_moment___default()()){if(_this3.props.type==="Shixun"){}else{arr.end_flag="截止时间不能早于当前时间";flag2=false;}}else if(__WEBPACK_IMPORTED_MODULE_13_moment___default()(arr.end_time,dataformat)<=__WEBPACK_IMPORTED_MODULE_13_moment___default()(arr.publish_time,dataformat)){arr.end_flag="截止时间不能早于发布时间";flag2=false;}else{flag2=true;}myRules[i]=arr;}}if(flag===false||flag1===false||flag2===false){return{validate:false,rules:myRules};}else{return{validate:true,rules:myRules};}};};/* harmony default export */ __webpack_exports__["a"] = (PollDetailTabForthRules);
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 3137:
|
|||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_button_style_css__ = __webpack_require__(89);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_button_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_antd_lib_button_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_button__ = __webpack_require__(75);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_antd_lib_button__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_antd_lib_form_style_css__ = __webpack_require__(959);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_antd_lib_form_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_antd_lib_form_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd_lib_form__ = __webpack_require__(960);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd_lib_form___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_antd_lib_form__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_antd_lib_tooltip_style_css__ = __webpack_require__(173);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_antd_lib_tooltip_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_antd_lib_tooltip_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_antd_lib_tooltip__ = __webpack_require__(172);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_antd_lib_tooltip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_antd_lib_tooltip__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_antd_lib_date_picker_style_css__ = __webpack_require__(1075);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_antd_lib_date_picker_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_antd_lib_date_picker_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_antd_lib_date_picker__ = __webpack_require__(1076);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_antd_lib_date_picker___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_antd_lib_date_picker__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_antd_lib_radio_style_css__ = __webpack_require__(178);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_antd_lib_radio_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_antd_lib_radio_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_antd_lib_radio__ = __webpack_require__(176);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_antd_lib_radio___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_antd_lib_radio__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_antd_lib_input_style_css__ = __webpack_require__(57);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_antd_lib_input_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_antd_lib_input_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_antd_lib_input__ = __webpack_require__(58);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_antd_lib_input___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_antd_lib_input__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_antd_lib_modal_style_css__ = __webpack_require__(27);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_antd_lib_modal_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_antd_lib_modal_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_antd_lib_modal__ = __webpack_require__(28);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_antd_lib_modal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_antd_lib_modal__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_antd_lib_checkbox_style_css__ = __webpack_require__(308);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_antd_lib_checkbox_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14_antd_lib_checkbox_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_antd_lib_checkbox__ = __webpack_require__(305);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_antd_lib_checkbox___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15_antd_lib_checkbox__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16_antd_lib_select_style_css__ = __webpack_require__(307);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16_antd_lib_select_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_16_antd_lib_select_style_css__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17_antd_lib_select__ = __webpack_require__(303);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17_antd_lib_select___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_17_antd_lib_select__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18_react__ = __webpack_require__(0);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_18_react__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19_react_router_dom__ = __webpack_require__(48);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20_antd_lib_date_picker_locale_zh_CN__ = __webpack_require__(182);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20_antd_lib_date_picker_locale_zh_CN___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_20_antd_lib_date_picker_locale_zh_CN__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_educoder__ = __webpack_require__(5);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22_axios__ = __webpack_require__(8);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_22_axios__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__modals_Modals__ = __webpack_require__(175);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__coursesPublic_CoursesListType__ = __webpack_require__(1122);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__coursesPublic_HomeworkModal__ = __webpack_require__(1176);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__coursesPublic_AccessoryModal__ = __webpack_require__(1407);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__common_WorkDetailPageHeader__ = __webpack_require__(1777);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__PublishRightnow__ = __webpack_require__(1614);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__poll_PollDetailTabForthRules__ = __webpack_require__(1973);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__common__ = __webpack_require__(1971);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31_moment__ = __webpack_require__(70);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_31_moment__);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__css_Courses_css__ = __webpack_require__(312);
|
|||
|
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__css_Courses_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_32__css_Courses_css__);
|
|||
|
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Option=__WEBPACK_IMPORTED_MODULE_17_antd_lib_select___default.a.Option;var CheckboxGroup=__WEBPACK_IMPORTED_MODULE_15_antd_lib_checkbox___default.a.Group;var confirm=__WEBPACK_IMPORTED_MODULE_13_antd_lib_modal___default.a.confirm;var GraduationTasksnewtype=true;var $=window.$;var Search=__WEBPACK_IMPORTED_MODULE_11_antd_lib_input___default.a.Search;var RadioGroup=__WEBPACK_IMPORTED_MODULE_9_antd_lib_radio___default.a.Group;var dateFormat='YYYY-MM-DD HH:mm';function scrollTo(className){$("html").animate({scrollTop:$(""+className).offset().top-400});}function range(start,end){var result=[];for(var i=start;i<end;i++){result.push(i);}return result;}function disabledDateTime(){return{// disabledHours: () => range(0, 24).splice(4, 20),
|
|||
|
disabledMinutes:function disabledMinutes(){return range(1,30).concat(range(31,60));}// disabledSeconds: () => [55, 56],
|
|||
|
};}function disabledDateFunc(current){return current&¤t<__WEBPACK_IMPORTED_MODULE_31_moment___default()().endOf('day').subtract(1,'days');}// 类似页面 http://localhost:3007/courses/1309/graduation/graduation_tasks/48/76/setting
|
|||
|
//普通作业分组作业设置
|
|||
|
var CommonWorkSetting=function(_Component){_inherits(CommonWorkSetting,_Component);function CommonWorkSetting(props){_classCallCheck(this,CommonWorkSetting);var _this=_possibleConstructorReturn(this,(CommonWorkSetting.__proto__||Object.getPrototypeOf(CommonWorkSetting)).call(this,props));_this.fetchData=function(){var workId=_this.props.match.params.workId;var isAdmin=_this.props.isAdmin();var url="/homework_commons/"+workId+"/settings.json";__WEBPACK_IMPORTED_MODULE_22_axios___default.a.get(url).then(function(result){if(result.data.course_id){// let assigngroups = []
|
|||
|
// for (var list of result.data.graduation_groups) {
|
|||
|
// assigngroups.push({
|
|||
|
// assign_group_id: list.assign_group_id,
|
|||
|
// select_name: list.select_name,
|
|||
|
// })
|
|||
|
// }
|
|||
|
// let starttype=false;
|
|||
|
// let endtype=false;
|
|||
|
// if(Date.parse(result.data.publish_time)<Date.parse(new Date())){
|
|||
|
// starttype=true
|
|||
|
// }
|
|||
|
// if(Date.parse(result.data.end_time)<Date.parse(new Date())){
|
|||
|
// endtype=true
|
|||
|
// }
|
|||
|
//
|
|||
|
var disable_unified_setting=false;var rules=[];if(result.data.unified_setting==false){rules=result.data.group_settings.filter(function(item){return item.publish_time;}).map(function(item){if(disable_unified_setting==false&&__WEBPACK_IMPORTED_MODULE_31_moment___default()(item.publish_time)<__WEBPACK_IMPORTED_MODULE_31_moment___default()()){// 已经有规则发不过了,不能修改统一设置
|
|||
|
disable_unified_setting=true;}return{course_group_id:[item.group_id],course_group_name:[item.group_name],publish_time:item.publish_time,end_time:item.end_time,publish_flag:"",end_flag:"",class_flag:"",course_search:"",poll_status:0,e_timeflag:!(__WEBPACK_IMPORTED_MODULE_31_moment___default()(item.end_time)>__WEBPACK_IMPORTED_MODULE_31_moment___default()()&&isAdmin),p_timeflag:!(__WEBPACK_IMPORTED_MODULE_31_moment___default()(item.publish_time)>__WEBPACK_IMPORTED_MODULE_31_moment___default()()&&isAdmin)};});}else if(result.data.publish_time&&__WEBPACK_IMPORTED_MODULE_31_moment___default()(result.data.publish_time)<__WEBPACK_IMPORTED_MODULE_31_moment___default()()){disable_unified_setting=true;}_this.fetchMoment=__WEBPACK_IMPORTED_MODULE_31_moment___default()();_this.setState(Object.assign({// starttimetype:starttype,
|
|||
|
// endtimetype:endtype,
|
|||
|
disable_unified_setting:disable_unified_setting},result.data,{init_publish_time:result.data.publish_time,init_end_time:result.data.end_time,init_late_time:result.data.late_time,init_evaluation_start:result.data.evaluation_start,init_evaluation_end:result.data.evaluation_end,init_appeal_time:result.data.appeal_time,rules:rules,ta_proportion:result.data.ta_proportion*100,te_proportion:result.data.te_proportion*100,st_proportion:result.data.st_proportion*100}));_this.props.initWorkDetailCommonState&&_this.props.initWorkDetailCommonState(Object.assign(Object.assign({},result.data),{moduleName:'设置'}));}}).catch(function(error){console.log(error);});};_this.fetchAllListener=function(){_this.fetchData();};_this.base_on_project_change=function(e){_this.setState({base_on_project:e.target.checked});};_this.setminnum=function(e){if(isNaN(parseInt(e.target.value))){_this.setState({minnum:""});}else if(parseInt(e.target.value)===0){_this.setState({minnum:1});}else{_this.setState({minnum:parseInt(e.target.value)});}};_this.setmaxnum=function(e){var minnum=_this.state.minnum;if(isNaN(parseInt(e.target.value))){_this.setState({maxnum:""});}else if(parseInt(e.target.value)===0){_this.setState({maxnum:parseInt(minnum)+1});}else{if(parseInt(e.target.value)<=parseInt(minnum)){_this.setState({maxnum:minnum+1});}else{_this.setState({maxnum:parseInt(e.target.value)});}}};_this.onChangeTimepublish=function(date,dateString){// console.log('startValue', dateString);
|
|||
|
_this.setState({publish_time:Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["W" /* handleDateString */])(dateString)});var endTime=null;if(!_this.state.end_time&&date){endTime=date.add(1,'months').add(1,'hours').minutes(0);_this.setState({end_time:endTime.format(dateFormat)});}if(_this.state.allow_late&&!_this.state.late_time&&endTime){_this.setState({late_time:endTime.add(1,'months').format(dateFormat)});}};_this.onChangeTimeend=function(date,dateString){// console.log('startValue',dateString);
|
|||
|
_this.setState({end_time:Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["W" /* handleDateString */])(dateString)});};_this.onChangeTimelatetime=function(date,dateString){_this.setState({late_time:Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["W" /* handleDateString */])(dateString)});};_this.on_unified_setting=function(e){var checked=e.target.checked;_this.setState({unified_setting:checked});};_this.anonymous_comment_change=function(e){var checked=e.target.checked;var currentEndTime=_this._getCurrentEndTime();var evaluation_start=void 0,evaluation_end=void 0,evaluation_num=0,absence_penalty=0;if(checked){if(_this.state.allow_late&&_this.state.late_time){evaluation_start=__WEBPACK_IMPORTED_MODULE_31_moment___default()(_this.state.late_time).add(14,'days').format(dateFormat);evaluation_end=__WEBPACK_IMPORTED_MODULE_31_moment___default()(_this.state.late_time).add(28,'days').format(dateFormat);}else if(currentEndTime){evaluation_start=__WEBPACK_IMPORTED_MODULE_31_moment___default()(currentEndTime).add(14,'days').format(dateFormat);evaluation_end=__WEBPACK_IMPORTED_MODULE_31_moment___default()(currentEndTime).add(28,'days').format(dateFormat);}if(!_this.state.evaluation_num){evaluation_num=3;}if(!_this.state.absence_penalty){absence_penalty=2;}}else{evaluation_start=null;evaluation_end=null;evaluation_num=0;absence_penalty=0;}_this.setState({evaluation_start:evaluation_start,evaluation_end:evaluation_end,evaluation_num:evaluation_num,absence_penalty:absence_penalty,anonymous_comment:checked,te_proportion:checked?50:70,ta_proportion:checked?30:30,st_proportion:checked?20:0});};_this.onChangeEvaluationStart=function(date,dateString){_this.setState({evaluation_start:Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["W" /* handleDateString */])(dateString)});};_this.onChangeEvaluationEnd=function(date,dateString){_this.setState({evaluation_end:Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["W" /* handleDateString */])(dateString)});};_this.evaluation_num_change=function(e){var value=e.target.value;_this.setState({evaluation_num:value});};_this.absence_penalty_change=function(e){var value=e.target.value;_this.setState({absence_penalty:value});};_this.anonymous_appeal_change=function(e){var evaluation_end=_this.state.evaluation_end;var anonymous_appeal=e.target.checked;var appeal_time=void 0,appeal_penalty=_this.state.appeal_penalty;var currentEndTime=_this._getCurrentEndTime();if(anonymous_appeal){appeal_penalty=2;if(_this.state.allow_late&&_this.state.late_time){appeal_time=__WEBPACK_IMPORTED_MODULE_31_moment___default()(_this.state.late_time).add(5*7,'days').format(dateFormat);}else if(currentEndTime){appeal_time=__WEBPACK_IMPORTED_MODULE_31_moment___default()(currentEndTime).add(5*7,'days').format(dateFormat);}}else{appeal_time=null;}_this.setState({appeal_time:appeal_time,appeal_penalty:appeal_penalty,anonymous_appeal:anonymous_appeal});};_this.appeal_time_change=function(date,dateString){_this.setState({appeal_time:Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["W" /* handleDateString */])(dateString)});};_this.appeal_penalty_change=function(e){var value=e.target.value;_this.setState({appeal_penalty:value});};_this.ta_mode_change=function(e){_this.setState({ta_mode:e.target.value});};_this.te_proportion_change=function(e){_this.setState({te_proportion:e.target.value});};_this.ta_proportion_change=function(e){_this.setState({ta_proportion:e.target.value});};_this.st_proportion_change=function(e){_this.setState({st_proportion:e.target.value});};_this.final_mode_change=function(e){_this.setState({final_mode:e.target.value});};_this.work_public_change=function(e){_this.setState({work_public:e.target.checked});};_this.score_open_change=function(e){_this.setState({score_open:e.target.checked});};_this.answer_public_change=function(e){_this.setState({answer_public:e.target.checked});};_this.allow_late_change=function(e){// console.log(e.target.checked );
|
|||
|
_this.setState({allow_late:e.target.checked});if(e.target.checked){_this.setState({late_penalty:5});var currentEndTime=_this._getCurrentEndTime();if(currentEndTime&&!_this.state.late_time){_this.setState({late_time:__WEBPACK_IMPORTED_MODULE_31_moment___default()(Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["W" /* handleDateString */])(currentEndTime)).add(1,'months').format(dateFormat)});}}else{_this.setState({late_time:null});}};_this.late_penalty_change=function(e){var value=parseInt(e.target.value);if(isNaN(value)){value=0;}_this.setState({late_penalty:value});};_this.publish=function(){var starttime=_this.props.getNowFormatDates(1);var endtime=_this.props.getNowFormatDates(2);_this.setState({modalname:"立即发布",visible:true,Topval:"本操作只对“未发布”的对象生效",Botvalleft:"暂不发布",Botval:"则通过后续手动设置,定时发布",starttime:__WEBPACK_IMPORTED_MODULE_31_moment___default()(__WEBPACK_IMPORTED_MODULE_31_moment___default()(new Date())).format("YYYY-MM-DD HH:mm"),endtime:endtime,Cancelname:"暂不发布",Savesname:"立即发布",Cancel:_this.publishcanner,Saves:_this.homepublish});};_this.publishcanner=function(){_this.setState({visible:false});};_this.homepublish=function(){// let task_Id=this.props.match.params.task_Id;
|
|||
|
// const cid = this.props.match.params.coursesId
|
|||
|
// let url = `/courses/${cid}/graduation_tasks/publish_task.json`;
|
|||
|
// axios.post(url,{
|
|||
|
// task_ids:[task_Id],
|
|||
|
// }).then((response)=>{
|
|||
|
// if (response.data.status == 0) {
|
|||
|
// this.setState({
|
|||
|
// Modalstype:true,
|
|||
|
// Modalstopval:response.data.message,
|
|||
|
// ModalSave:this.cancelmodel,
|
|||
|
// Loadtype:true,
|
|||
|
// checkBoxValues:[],
|
|||
|
// checkAllValue:false
|
|||
|
// })
|
|||
|
// this.fetchData();
|
|||
|
// }
|
|||
|
// }).catch((error)=>{
|
|||
|
// })
|
|||
|
};_this.onSubmit=function(){var _this$state=_this.state,publish_time=_this$state.publish_time,unified_setting=_this$state.unified_setting;// if (publish_time || !unified_setting) {
|
|||
|
_this.saveWorkSetting();// } else {
|
|||
|
// this.publishModal.current.open(true)
|
|||
|
// }
|
|||
|
};_this._getCurrentEndTime=function(){var _this$state2=_this.state,unified_setting=_this$state2.unified_setting,end_time=_this$state2.end_time,rules=_this$state2.rules;if(unified_setting){return end_time;}else{var max_un_unified_setting_end_time=null;rules.map(function(item){if(!max_un_unified_setting_end_time||__WEBPACK_IMPORTED_MODULE_31_moment___default()(item.end_time)>__WEBPACK_IMPORTED_MODULE_31_moment___default()(max_un_unified_setting_end_time)){max_un_unified_setting_end_time=item.end_time;}});return max_un_unified_setting_end_time;}};_this.saveWorkSetting=function(){var workId=_this.props.match.params.workId;var _this$state3=_this.state,assigngroups=_this$state3.assigngroups,hascommit=_this$state3.hascommit,minnums=_this$state3.minnums,max_nums=_this$state3.max_nums;var _this$state4=_this.state,homework_status=_this$state4.homework_status,homework_id=_this$state4.homework_id,homework_name=_this$state4.homework_name,homework_type=_this$state4.homework_type,publish_immediately=_this$state4.publish_immediately,end_immediately=_this$state4.end_immediately,publish_time=_this$state4.publish_time,end_time=_this$state4.end_time,allow_late=_this$state4.allow_late,late_penalty=_this$state4.late_penalty,late_time=_this$state4.late_time,work_public=_this$state4.work_public,score_open=_this$state4.score_open,answer_public=_this$state4.answer_public,group_settings=_this$state4.group_settings,anonymous_comment=_this$state4.anonymous_comment,anonymous_appeal=_this$state4.anonymous_appeal,evaluation_start=_this$state4.evaluation_start,evaluation_end=_this$state4.evaluation_end,evaluation_num=_this$state4.evaluation_num,absence_penalty=_this$state4.absence_penalty,appeal_time=_this$state4.appeal_time,appeal_penalty=_this$state4.appeal_penalty,ta_mode=_this$state4.ta_mode,final_mode=_this$state4.final_mode,te_proportion=_this$state4.te_proportion,ta_proportion=_this$state4.ta_proportion,st_proportion=_this$state4.st_proportion,unified_setting=_this$state4.unified_setting,publish_time_type=_this$state4.publish_time_type,end_time_type=_this$state4.end_time_type;var group_settings_param=[];var max_un_unified_setting_end_time=null;if(!unified_setting){var result=_this.refs.pollDetailTabForthRules.notUnifiedSettingCheck(_this.state.rules);_this.setState({rules:result.rules});if(result.validate==false){scrollTo('.unified_setting');return false;}group_settings_param=result.rules.map(function(item){if(!max_un_unified_setting_end_time||__WEBPACK_IMPORTED_MODULE_31_moment___default()(item.end_time)>__WEBPACK_IMPORTED_MODULE_31_moment___default()(max_un_unified_setting_end_time)){max_un_unified_setting_end_time=item.end_time;}return{group_id:item.course_group_id,publish_time:item.publish_time,end_time:item.end_time};});}if(unified_setting&&!publish_time){_this.setState({publicTimeTip:'发布时间不能为空'});scrollTo('.publicTimeTip');return false;}if(unified_setting&&!end_time){_this.setState({publicTimeTip:'截止时间不能为空'});scrollTo('.publicTimeTip');return false;}var temp_publish_time=void 0;var temp_end_time=void 0;if(unified_setting){temp_publish_time=publish_time;temp_end_time=end_time;if(!temp_publish_time){var publish_time_moment=Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["N" /* getNextHalfHourOfMoment */])(__WEBPACK_IMPORTED_MODULE_31_moment___default()());temp_publish_time=publish_time_moment.format(dateFormat);}if(!temp_end_time){temp_end_time=__WEBPACK_IMPORTED_MODULE_31_moment___default()(Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["W" /* handleDateString */])(temp_publish_time)).add(1,'months').format(dateFormat);}}else{temp_end_time=max_un_unified_setting_end_time;}// 已发布的不检查
|
|||
|
var isUnPublish=homework_status.indexOf(__WEBPACK_IMPORTED_MODULE_30__common__["b" /* STATUS_UN_PUBLISH */])!=-1;var isAdmin=_this.props.isAdmin();var current=__WEBPACK_IMPORTED_MODULE_31_moment___default()();var publish_time_editable=isUnPublish;var end_time_editable=isAdmin||!end_time||__WEBPACK_IMPORTED_MODULE_31_moment___default()(end_time)>current;if(unified_setting){if(publish_time_editable&&temp_publish_time&&__WEBPACK_IMPORTED_MODULE_31_moment___default()(temp_publish_time)<__WEBPACK_IMPORTED_MODULE_31_moment___default()()){_this.setState({publicTimeTip:'发布时间不能小于当前时间'});scrollTo('.publicTimeTip');return false;}// 已截止的不检查
|
|||
|
if(end_time_editable&&temp_end_time&&__WEBPACK_IMPORTED_MODULE_31_moment___default()(temp_end_time)<=__WEBPACK_IMPORTED_MODULE_31_moment___default()(temp_publish_time)){_this.setState({publicTimeTip:'截止时间必须晚于发布时间'});scrollTo('.publicTimeTip');return false;}}_this.setState({publicTimeTip:''});// 补交
|
|||
|
if(allow_late&&!late_time){_this.setState({latetimetype:'结束时间不能为空'});scrollTo('.latetimetype');return false;}if(allow_late&&__WEBPACK_IMPORTED_MODULE_31_moment___default()(late_time)<__WEBPACK_IMPORTED_MODULE_31_moment___default()(temp_end_time)){_this.setState({latetimetype:"结束时间不能早于截止时间"});scrollTo('.latetimetype');return false;}_this.setState({latetimetype:''});// 匿评
|
|||
|
if(anonymous_comment){if(!evaluation_start){_this.setState({anonymous_comment_time_tip:'匿评开启时间不能为空'});scrollTo('.anonymous_comment_time_tip');return false;}if(!evaluation_end){_this.setState({anonymous_comment_time_tip:'匿评结束时间不能为空'});scrollTo('.anonymous_comment_time_tip');return false;}if(__WEBPACK_IMPORTED_MODULE_31_moment___default()(evaluation_start)<__WEBPACK_IMPORTED_MODULE_31_moment___default()(temp_end_time)){_this.setState({anonymous_comment_time_tip:"匿评开启时间不能早于发布截止时间"});scrollTo('.anonymous_comment_time_tip');return false;}if(__WEBPACK_IMPORTED_MODULE_31_moment___default()(evaluation_start)>=__WEBPACK_IMPORTED_MODULE_31_moment___default()(evaluation_end)){_this.setState({anonymous_comment_time_tip:"匿评结束时间必须晚于匿评开启时间"});scrollTo('.anonymous_comment_time_tip');return false;}_this.setState({anonymous_comment_time_tip:''});if(evaluation_num==0){_this.setState({evaluation_num_tip:'匿评数必须为正整数'},function(){scrollTo('.evaluation_num_tip');});return false;}_this.setState({evaluation_num_tip:''});if(absence_penalty==undefined||absence_penalty===""){_this.setState({absence_penalty_tip:'必须为0或正整数'},function(){scrollTo('.absence_penalty_tip');});return false;}_this.setState({absence_penalty_tip:''});if(anonymous_appeal){if(!appeal_time){_this.setState({appeal_time_tip:'匿评申诉结束时间不能为空'});scrollTo('.appeal_time_tip');return false;}if(__WEBPACK_IMPORTED_MODULE_31_moment___default()(appeal_time)<=__WEBPACK_IMPORTED_MODULE_31_moment___default()(evaluation_end)){_this.setState({appeal_time_tip:"匿评申诉结束时间必须晚于匿评结束时间"});scrollTo('.appeal_time_tip');return false;}_this.setState({appeal_time_tip:''});if(appeal_penalty==undefined){_this.setState({appeal_penalty_tip:'必须为0或正整数'},function(){scrollTo('.appeal_penalty_tip');});return false;}_this.setState({appeal_penalty_tip:''});}}if(final_mode==false&&parseInt(te_proportion)+parseInt(ta_proportion)+parseInt(st_proportion)!=100){_this.setState({final_mode_false_tip:"评分占比之和必须等于100%"});scrollTo('.final_mode_false_tip');return false;}/**
|
|||
|
"group_settings": [
|
|||
|
{
|
|||
|
"group_id": [820, 821],
|
|||
|
"publish_time": "2018-04-18 10:00:00",
|
|||
|
"end_time": "2018-04-20 10:00:00"
|
|||
|
},
|
|||
|
* */// axios
|
|||
|
var course_id=_this.props.match.params.coursesId;var url="/homework_commons/"+workId+"/update_settings.json";// comments
|
|||
|
var temp_publish_time_date=new Date(temp_publish_time);var temp_end_time_date=new Date(temp_end_time);var late_time_date=new Date(late_time);var evaluation_start_date=new Date(evaluation_start);var evaluation_end_date=new Date(evaluation_end);var appeal_time_date=new Date(appeal_time);__WEBPACK_IMPORTED_MODULE_22_axios___default.a.post(url,{course_id:course_id,unified_setting:unified_setting,// 统一设置
|
|||
|
group_settings:group_settings_param,publish_time:temp_publish_time?!isNaN(temp_publish_time_date.getTime())?temp_publish_time_date:new Date(temp_publish_time.replace(/-/g,'/')):temp_publish_time,// 发布
|
|||
|
end_time:temp_end_time?!isNaN(temp_end_time_date.getTime())?temp_end_time_date:new Date(temp_end_time.replace(/-/g,'/')):temp_end_time,// 截止
|
|||
|
late_penalty:late_penalty,// 迟交扣分
|
|||
|
allow_late:allow_late,// 是否允许补交
|
|||
|
late_time:late_time?!isNaN(late_time_date.getTime())?late_time_date:new Date(late_time.replace(/-/g,'/')):late_time,// 补交截止时间
|
|||
|
anonymous_comment:anonymous_comment,// true: 启用匿评 false:未启用匿评
|
|||
|
evaluation_start:evaluation_start?!isNaN(evaluation_start_date.getTime())?evaluation_start_date:new Date(evaluation_start.replace(/-/g,'/')):evaluation_start,//匿评开始时间
|
|||
|
evaluation_end:evaluation_end?!isNaN(evaluation_end_date.getTime())?evaluation_end_date:new Date(evaluation_end.replace(/-/g,'/')):evaluation_end,evaluation_num:evaluation_num,// 匿评数
|
|||
|
absence_penalty:absence_penalty,// 匿评扣分
|
|||
|
anonymous_appeal:anonymous_appeal,// true: 启用匿评申诉, false:未启用
|
|||
|
appeal_time:appeal_time?!isNaN(appeal_time_date.getTime())?appeal_time_date:new Date(appeal_time.replace(/-/g,'/')):appeal_time,// 申诉结束时间
|
|||
|
appeal_penalty:appeal_penalty,// 违规匿评扣分
|
|||
|
ta_mode:ta_mode,// 1:普通模式 0:复审模式
|
|||
|
final_mode:final_mode,// true: 单项评分优先, false: 多项评分配比
|
|||
|
te_proportion:te_proportion/100,ta_proportion:ta_proportion/100,st_proportion:st_proportion/100,work_public:work_public,//公开作品
|
|||
|
score_open:score_open,// 公开成绩
|
|||
|
answer_public:answer_public}).then(function(response){if(response.data.status==0){_this.setState({startEditFlag:false});_this.props.showNotification('更新成功');// 查看是否需要弹框立即发布
|
|||
|
if(!publish_time){}}}).catch(function(error){});return true;};_this.selectassigngroups=function(e,index){var assigngroups=_this.state.assigngroups;var newassigngroups=assigngroups;for(var i=0;i<newassigngroups.length;i++){if(i===parseInt(index.key)){newassigngroups[i].assign_group_id=index.props.id;newassigngroups[i].select_name=index.props.value;}}//
|
|||
|
// console.log(assigngroups)
|
|||
|
// console.log(newassigngroups)
|
|||
|
// assigngroups.push({
|
|||
|
// assign_group_id:list.assign_group_id,
|
|||
|
// select_name:list.select_name,
|
|||
|
// })
|
|||
|
_this.setState({assigngroups:newassigngroups});};_this.goback=function(){_this.fetchData();_this.setState({startEditFlag:false});// this.props.toListPage(this.props.match.params, this.state.category.category_id)
|
|||
|
};_this.end=function(){_this.setState({modalname:"立即截止",visible:true,Topval:"本操作只对“提交中”的对象生效",Botvalleft:"暂不截止",Botval:"则将根据已设置的截止时间,定时截止",Cancelname:"暂不截止",Savesname:"立即截止",Cancel:_this.publishcanner,Saves:_this.coursetaskend});};_this.publishcanner=function(){_this.setState({visible:false});};_this.cancelmodel=function(){_this.setState({Modalstype:false,Loadtype:false,visible:false,Modalstopval:"",ModalCancel:"",ModalSave:""});};_this.coursetaskend=function(){// const coursesId = this.props.match.params.coursesId;
|
|||
|
// const task_Id = this.props.match.params.task_Id;
|
|||
|
// let url = `/courses/${coursesId}/graduation_tasks/end_task.json`;
|
|||
|
// axios.post(url,{
|
|||
|
// task_ids:[task_Id],
|
|||
|
// all_check:0
|
|||
|
// }).then((response)=>{
|
|||
|
// if (response.data.status == 0) {
|
|||
|
// this.setState({
|
|||
|
// Modalstype:true,
|
|||
|
// Modalstopval:response.data.message,
|
|||
|
// ModalSave:this.cancelmodel,
|
|||
|
// Loadtype:true,
|
|||
|
// checkBoxValues:[],
|
|||
|
// checkAllValue:false
|
|||
|
// })
|
|||
|
// }
|
|||
|
// }).catch((error)=>{
|
|||
|
// })
|
|||
|
};_this.setcommentnum=function(e){_this.setState({commentnum:parseInt(e.target.value)});};_this.onToPublishClick=function(){};_this.rulesCheckInfo=function(rules){console.log(rules);_this.setState({rules:rules});};_this.Cancelvisible=function(){_this.setState({accessoryVisible:false});};_this.addAccessory=function(){_this.setState({accessoryVisible:true});};_this.setupdate=function(){};_this.publishModal=__WEBPACK_IMPORTED_MODULE_18_react___default.a.createRef();_this.endModal=__WEBPACK_IMPORTED_MODULE_18_react___default.a.createRef();_this.fetchMoment=__WEBPACK_IMPORTED_MODULE_31_moment___default()();_this.state={unified_setting:true,rules:[],course_name:"",homework_name:"",publish_time:null,end_time:null,homework_status:[],anonymous_comment:false,ta_mode:1,evaluation_num:3,absence_penalty:2,appeal_penalty:2,te_proportion:50,ta_proportion:30,st_proportion:20,startEditFlag:false};return _this;}_createClass(CommonWorkSetting,[{key:"componentDidMount",value:function componentDidMount(){this.fetchData();try{this.props.triggerRef(this);}catch(e){}Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["_2" /* on */])('commonwork_fetch_all',this.fetchAllListener);if(this.props.isAdmin()===true){this.setState({startEditFlag:true});}}},{key:"componentWillUnmount",value:function componentWillUnmount(){Object(__WEBPACK_IMPORTED_MODULE_21_educoder__["_1" /* off */])('commonwork_fetch_all',this.fetchAllListener);}// 启用匿评
|
|||
|
// 启用匿评申诉
|
|||
|
// 补交设置 允许补交
|
|||
|
//立即发布
|
|||
|
// 补交附件
|
|||
|
},{key:"render",value:function render(){var _this2=this,_React$createElement;var getFieldDecorator=this.props.form.getFieldDecorator;var _state=this.state,course_name=_state.course_name,settingdata=_state.settingdata,base_on_project=_state.base_on_project,Modalstype=_state.Modalstype,Modalstopval=_state.Modalstopval,operworks=_state.operworks,opergrade=_state.opergrade,graduationgroups=_state.graduationgroups,Loadtype=_state.Loadtype,task_type=_state.task_type,publicTimeTip=_state.publicTimeTip,ModalCancel=_state.ModalCancel,ModalSave=_state.ModalSave,allowlate=_state.allowlate,latepenalty=_state.latepenalty,latetime=_state.latetime,crosscomment=_state.crosscomment,commentstatus=_state.commentstatus,commentnum=_state.commentnum,commenttime=_state.commenttime,numtype=_state.numtype,minnum=_state.minnum,maxnum=_state.maxnum,modalname=_state.modalname,visible=_state.visible,Topval=_state.Topval,Topvalright=_state.Topvalright,Botvalleft=_state.Botvalleft,Botval=_state.Botval,starttime=_state.starttime,endtime=_state.endtime,Cancelname=_state.Cancelname,Savesname=_state.Savesname,Cancel=_state.Cancel,Saves=_state.Saves,course_groups=_state.course_groups,hasproject=_state.hasproject,hascommit=_state.hascommit,minnumstype=_state.minnumstype,maxnumstype=_state.maxnumstype,latepenaltytype=_state.latepenaltytype,latepenaltyvalue=_state.latepenaltyvalue,latetimetype=_state.latetimetype,starttimetype=_state.starttimetype,endtimetype=_state.endtimetype,commenttimetype=_state.commenttimetype,commenttimevalue=_state.commenttimevalue,homework_status=_state.homework_status,homework_id=_state.homework_id,homework_name=_state.homework_name,homework_type=_state.homework_type,publish_immediately=_state.publish_immediately,end_immediately=_state.end_immediately,unified_setting=_state.unified_setting,publish_time=_state.publish_time,end_time=_state.end_time,allow_late=_state.allow_late,late_penalty=_state.late_penalty,late_time=_state.late_time,work_public=_state.work_public,score_open=_state.score_open,answer_public=_state.answer_public,group_settings=_state.group_settings,anonymous_comment=_state.anonymous_comment,anonymous_appeal=_state.anonymous_appeal,evaluation_start=_state.evaluation_start,evaluation_end=_state.evaluation_end,evaluation_num=_state.evaluation_num,absence_penalty=_state.absence_penalty,appeal_time=_state.appeal_time,appeal_penalty=_state.appeal_penalty,ta_mode=_state.ta_mode,final_mode=_state.final_mode,te_proportion=_state.te_proportion,ta_proportion=_state.ta_proportion,st_proportion=_state.st_proportion,anonymous_comment_time_tip=_state.anonymous_comment_time_tip,appeal_time_tip=_state.appeal_time_tip,final_mode_false_tip=_state.final_mode_false_tip,startEditFlag=_state.startEditFlag,publish_time_type=_state.publish_time_type,end_time_type=_state.end_time_type,rules=_state.rules,disable_unified_setting=_state.disable_unified_setting,work_statuses=_state.work_statuses,work_id=_state.work_id,accessoryVisible=_state.accessoryVisible,init_late_time=_state.init_late_time,init_evaluation_start=_state.init_evaluation_start,init_evaluation_end=_state.init_evaluation_end,init_appeal_time=_state.init_appeal_time;// 是否可编辑的判断
|
|||
|
var isUnPublish=homework_status.indexOf(__WEBPACK_IMPORTED_MODULE_30__common__["b" /* STATUS_UN_PUBLISH */])!=-1;var isSuperAdmin=this.props.isSuperAdmin();var isAdmin=this.props.isAdmin();var current=__WEBPACK_IMPORTED_MODULE_31_moment___default()();var publish_time_editable=isUnPublish;var end_time_editable=!end_time||__WEBPACK_IMPORTED_MODULE_31_moment___default()(end_time)>current;var courseId=this.props.match.params.coursesId;var workId=this.props.match.params.workId;var category_id=this.props.match.params.category_id;var radioStyle={display:'block',height:'30px',lineHeight:'30px'};//
|
|||
|
//
|
|||
|
// console.log(Date.parse(publish_time))
|
|||
|
// console.log(this.props.isSuperAdmin())
|
|||
|
var adaptered_group_settings=[];if(group_settings){/**
|
|||
|
item.end_time,
|
|||
|
item.publish_time
|
|||
|
*/adaptered_group_settings=group_settings.map(function(item){return{course_group_id:item.group_id,course_group_name:item.group_name};});}var exportUrl="/api/homework_commons/"+workId+"/works_list.zip";var exportResultUrl="/api/homework_commons/"+workId+"/works_list.xlsx";var noAuth=!isAdmin||!startEditFlag;return __WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_18_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_23__modals_Modals__["a" /* default */],{modalsType:Modalstype,modalsTopval:Modalstopval,modalCancel:ModalCancel,modalSave:ModalSave,loadtype:Loadtype}),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_28__PublishRightnow__["a" /* default */],Object.assign({ref:this.publishModal,showActionButton:false},this.props,{checkBoxValues:[workId],action:this.fetchData,isPublish:true,doWhenSuccess:this.doWhenSuccess,checkBeforePost:this.saveWorkSetting,onToPublishClick:this.onToPublishClick})),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_28__PublishRightnow__["a" /* default */],Object.assign({ref:this.endModal,showActionButton:false},this.props,{checkBoxValues:[workId],action:this.fetchData,isPublish:false,doWhenSuccess:this.doWhenSuccess})),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("style",null,"\n .settingForm .ant-radio-group, .settingForm.ant-form {\n color: #666;\n }\n .settingForm.ant-form {\n margin-bottom: 30px;\n }\n\n .settingForm input.ant-input {\n height: 40px\n }\n\n .settingForm .color-grey-9 {\n color: #ccc !important;\n }\n\n "),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_antd_lib_form___default.a,{className:'settingForm'},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"stud-class-set bor-bottom-greyE pd20 edu-back-white pl36"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("p",{className:"mb30 clearfix"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-16 fl color-dark"},"\u53D1\u5E03\u8BBE\u7F6E"),!startEditFlag&&isAdmin?__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("a",{className:"fr white-btn edu-blueline-btn mr10 mr6 lineh-24",onClick:function onClick(){_this2.setState({startEditFlag:true});}},"\u7F16\u8F91\u8BBE\u7F6E"):""),group_settings&&!!group_settings.length&&__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("p",{className:"clearfix mb20 unified_setting"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_21_educoder__["g" /* ConditionToolTip */],{condition:disable_unified_setting,title:"已发布,不能再修改"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_15_antd_lib_checkbox___default.a,{className:"font-16 color-grey-6",checked:unified_setting,onChange:this.on_unified_setting,disabled:disable_unified_setting||noAuth},"\u7EDF\u4E00\u8BBE\u7F6E")),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"color-grey-9"},"\uFF08\u9009\u4E2D\u5219\u6240\u6709\u5206\u73ED\u4F7F\u7528\u76F8\u540C\u7684\u53D1\u5E03\u8BBE\u7F6E\uFF0C\u4EC5\u8BFE\u5802\u7BA1\u7406\u5458\u53EF\u4FEE\u6539\uFF1B\u5426\u5219\u5404\u4E2A\u5206\u73ED\u5141\u8BB8\u5355\u72EC\u8BBE\u7F6E\uFF09")),unified_setting?__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_18_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"h20 mb30 ml30"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,"\u53D1\u5E03\u65F6\u95F4\uFF1A"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_21_educoder__["g" /* ConditionToolTip */],{condition:__WEBPACK_IMPORTED_MODULE_31_moment___default()(this.state.init_publish_time)<
|
|||
|
,disabled:__WEBPACK_IMPORTED_MODULE_31_moment___default()(this.state.init_publish_time)<__WEBPACK_IMPORTED_MODULE_31_moment___default()()||noAuth// disabledDate={ (publish_time) => {
|
|||
|
// return publish_time && publish_time < moment().add(-1, 'days'); }
|
|||
|
// }
|
|||
|
}))),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 color-grey-9 ml10"},"\uFF08\u5B66\u751F\u6536\u5230\u4F5C\u4E1A\u7684\u65F6\u95F4\uFF09")),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"h20 mb30 ml30"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,"\u622A\u6B62\u65F6\u95F4\uFF1A"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_21_educoder__["g" /* ConditionToolTip */],{condition:__WEBPACK_IMPORTED_MODULE_31_moment___default()(this.state.init_end_time)<this.fetchMoment,title:this.props.isAdmin()?"时间已过,不能再修改":""},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_antd_lib_date_picker___default.a,(_React$createElement={dropdownClassName:"hideDisable",showTime:{format:'HH:mm'},disabledTime:disabledDateTime,showToday:false,locale:__WEBPACK_IMPORTED_MODULE_20_antd_lib_date_picker_locale_zh_CN___default.a,format:dateFormat,placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",id:"endTime",width:"210px",value:!end_time?"":__WEBPACK_IMPORTED_MODULE_31_moment___default()(end_time,dateFormat),onChange:this.onChangeTimeend,disabled:this.props.isSuperAdmin()?false:end_time_type===true?true:false},_defineProperty(_React$createElement,"disabled",__WEBPACK_IMPORTED_MODULE_31_moment___default()(this.state.init_end_time)<__WEBPACK_IMPORTED_MODULE_31_moment___default()()||noAuth),_defineProperty(_React$createElement,"disabledDate",disabledDateFunc),_React$createElement)))),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 color-grey-9 ml10"},"\uFF08\u5B66\u751F\u201C\u6309\u65F6\u201D\u63D0\u4EA4\u4F5C\u54C1\u7684\u65F6\u95F4\u622A\u70B9\uFF09")),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"publicTimeTip color-red ml30"},publicTimeTip)):adaptered_group_settings&&!!adaptered_group_settings.length&&__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_29__poll_PollDetailTabForthRules__["a" /* default */],Object.assign({},this.props,this.state,{ref:"pollDetailTabForthRules",rules:rules,course_group:adaptered_group_settings,rulesCheckInfo:function rulesCheckInfo(info){return _this2.rulesCheckInfo(info);},flagPageEdit:startEditFlag,moduleName:"\u4F5C\u4E1A"}))),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"stud-class-set bor-bottom-greyE pd20 edu-back-white pl36"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:" font-16 color-dark h20 mb20"},"\u8865\u4EA4\u8BBE\u7F6E",__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"ml15 font-14 color-grey-9 "})),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_15_antd_lib_checkbox___default.a,{style:radioStyle,value:"允许补交",checked:allow_late,className:"font-16 ",onChange:this.allow_late_change,disabled:noAuth||__WEBPACK_IMPORTED_MODULE_31_moment___default()(init_late_time)<this.fetchMoment},"\u5F00\u542F\u8865\u4EA4 ",__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 ml10 color-grey-c",style:{textAlign:"left",fontSize:"14px"}},"\uFF08\u9009\u4E2D\uFF0C\u5219\u5141\u8BB8\u5B66\u751F\u5EF6\u65F6\u63D0\u4EA4\u4F5C\u54C1\uFF09")),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"h21 mb10 ml30 mt20"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,"\u8FDF\u4EA4\u6263\u5206\uFF1A"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_11_antd_lib_input___default.a,{type:"number",className:"mr10",style:{width:"100px"},value:late_penalty,onInput:this.late_penalty_change,min:0,max:100,disabled:!allow_late||noAuth}),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 color-grey-9 "},"\uFF08\u5EF6\u65F6\u63D0\u4EA4\u4F5C\u54C1\u65F6\uFF0C\u5B66\u7
|
|||
|
,disabled:!allow_late||noAuth,disabledDate:disabledDateFunc// disabledDate={ (late_time) =>
|
|||
|
// {
|
|||
|
// const end_time = this.state.end_time
|
|||
|
// if (!end_time || !late_time) { return false; }
|
|||
|
// return late_time < moment(end_time, dateFormat).add(-1, 'days'); }
|
|||
|
// }
|
|||
|
})),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 color-grey-9 ml10"},"\uFF08\u5B66\u751F\u201C\u5EF6\u65F6\u201D\u63D0\u4EA4\u4F5C\u54C1\u7684\u65F6\u95F4\u622A\u70B9\uFF09"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"latetimetype color-red "},latetimetype))),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"stud-class-set bor-bottom-greyE pd20 edu-back-white pl36"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:" font-16 color-dark h20 mb20"},"\u533F\u8BC4\u8BBE\u7F6E "),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"mb20"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_15_antd_lib_checkbox___default.a,{className:"ml30",checked:anonymous_comment,onChange:this.anonymous_comment_change,disabled:noAuth||__WEBPACK_IMPORTED_MODULE_31_moment___default()(init_evaluation_start)<__WEBPACK_IMPORTED_MODULE_31_moment___default()()},"\u542F\u7528\u533F\u8BC4"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 color-grey-9"},this.state.category&&this.state.category.category_name==="普通作业"?"(作品数量≥2个,可以开启匿评)":"(提交作品的分组数量≥2个,可以开启匿评)")),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"h20 mb30 ml60"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,"\u5F00\u542F\u65F6\u95F4\uFF1A"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_antd_lib_tooltip___default.a,{placement:"bottom",title:starttimetype===true?this.props.isAdmin()?"发布时间已过,则不能修改":"":""},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_21_educoder__["g" /* ConditionToolTip */],{condition:__WEBPACK_IMPORTED_MODULE_31_moment___default()(init_evaluation_start)<this.fetchMoment,title:this.props.isAdmin()?"时间已过,不能再修改":""},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_antd_lib_date_picker___default.a,{dropdownClassName:"hideDisable",showTime:{format:'HH:mm'},disabledTime:disabledDateTime,showToday:false,locale:__WEBPACK_IMPORTED_MODULE_20_antd_lib_date_picker_locale_zh_CN___default.a,format:dateFormat,placeholder:"\u8BF7\u9009\u62E9\u533F\u540D\u5F00\u542F\u65F6\u95F4",id:"startime",width:"210px",value:!evaluation_start?"":__WEBPACK_IMPORTED_MODULE_31_moment___default()(evaluation_start,dateFormat),onChange:this.onChangeEvaluationStart,disabled:(anonymous_comment&&!noAuth?false:true)||__WEBPACK_IMPORTED_MODULE_31_moment___default()(init_evaluation_start)<__WEBPACK_IMPORTED_MODULE_31_moment___default()()// disabledDate={ (evaluation_start) =>
|
|||
|
// {
|
|||
|
// const end_time = this.state.end_time
|
|||
|
// if (!end_time || !evaluation_start) { return false; }
|
|||
|
// return evaluation_start.valueOf() < moment(end_time, dateFormat).valueOf(); }
|
|||
|
// }
|
|||
|
})))),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 color-grey-9 ml10"},"\uFF08\u533F\u8BC4\u5F00\u59CB\u65F6\u95F4\u4E4B\u524D\u63D0\u4EA4\u4F5C\u54C1\u7684\u5B66\u751F\uFF0C\u53C2\u4E0E\u533F\u8BC4\uFF09")),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"h20 mb30 ml60"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,"\u7ED3\u675F\u65F6\u95F4\uFF1A"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_21_educoder__["g" /* ConditionToolTip */],{condition:__WEBPACK_IMPORTED_MODULE_31_moment___default()(init_evaluation_end)<this.fetchMoment,title:this.props.isAdmin()?"时间已过,不能再修改":""},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_antd_lib_date_picker___default.a,{dropdownClassName:"hideDisable",showTime:{format:'HH:mm'},showToday:false,locale:__WEBPACK_IMPORTED_MODULE_20_antd_lib_date_picker_locale_zh_CN___default.a,format:dateFormat,placeholder:"\u8BF7\u9009\u62E9\u533F\u540D\u7ED3\u675F\u65F6\u95F4",id:"endtime",width:"210px",value:!evaluation_end?"":__WEBPACK_IMPORTED_MODULE_31_moment___default()(evaluation_end,dateFormat),onChange:this.onChangeEvaluationEnd,disabledTime:disabledDateTime,disabled:(anonymous_comment&&!noAuth?false:true)||__WEBPACK_IMPORTED_MODULE_31_moment___default()(init_evaluation_end)<__WEBPACK_IMPORTED_MODULE_31_moment___default()(),disabledDate:disabledDateFunc// disabledDate={ (evaluation_end) =>
|
|||
|
// {
|
|||
|
// const evaluation_start = this.state.evaluation_start
|
|||
|
// if (!evaluation_start || !evaluation_end) { return false; }
|
|||
|
// return evaluation_end.valueOf() < moment(evaluation_start, dateFormat).valueOf(); }
|
|||
|
// }
|
|||
|
}))),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 color-grey-9 ml10"},"\uFF08\u5B66\u751F\u533F\u8BC4TA\u4EBA\u4F5C\u54C1\u7684\u65F6\u95F4\u622A\u70B9\uFF09"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 color-grey-9 ml10"})),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:" anonymous_comment_time_tip color-red ml60",style:{}},anonymous_comment_time_tip),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"h20 mb30 ml60"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,"\u533F\u8BC4\u6570\u91CF\uFF1A"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_antd_lib_tooltip___default.a,{placement:"bottom",title:starttimetype===true?this.props.isAdmin()?"发布时间已过,则不能修改":"":""},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_11_antd_lib_input___default.a,{type:"number",className:"mr10",style:{width:"100px"},value:evaluation_num,onInput:this.evaluation_num_change,disabled:anonymous_comment&&!noAuth?false:true,min:0,max:100}))),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 color-grey-9 "},"\uFF08\u6BCF\u4E2A\u5B66\u751F\u5C06\u88AB\u5206\u914D\u7684\u533F\u8BC4\u4F5C\u54C1\u6570\u91CF\uFF09")),this.state.evaluation_num_tip&&__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:" evaluation_num_tip color-red ml60",style:{marginTop:'-6px'}},this.state.evaluation_num_tip),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"h20 mb30 ml60"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,"\u7F3A\u8BC4\u6263\u5206\uFF1A"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_antd_lib_tooltip___default.a,{placement:"bottom",title:starttimetype===true?this.props.isAdmin()?"发布时间已过,则不能修改":"":""},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",null,__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_11_antd_lib_input___default.a,{type:"number",className:"mr10",style:{width:"100px"},value:absence_penalty,onInput:this.absence_penalty_change,disabled:anonymous_comment&&!noAuth?false:true,min:0,max:100}))),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("span",{className:"font-14 color-grey-9 "},"\uFF08\u5B66\u751F\u7F3A\u8BC4\u65F6\uFF0C\u5176\u6210\u7EE9\u5C06\u88AB\u6263\u51CF\u7684\u5206\u503C\uFF09")),this.state.absence_penalty_tip&&__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:" absence_penalty_tip color-red ml60",style:{marginTop:'-6px'}},this.state.absence_penalty_tip),anonymous_comment&&__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_18_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("div",{className:"mb20"},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_15_antd_lib_checkbox___default.a,{className:"ml30",checked:anonymous_appeal,onChange:this.anonymous_appeal_change,disabled:noAuth||__WEBPACK_IMPORTED_MODULE_31_moment___default()(init_appeal_time)<__WEBPACK_IMPORTED_MODULE_31_moment___default()()},"\u542F\u7528\u533F\u8BC4\u7533\u8BC9"),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("style",null,"\n .pop-instruction p.p {\n margin-left: 18px;\n }\n "),__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_21_educoder__["v" /* PopInstruction */],{width:458,id:1},__WEBPACK_IMPORTED_MODULE_18_react___default.a.createElement("p",{className:"font-14 edu-txt-left pop-instruction"},"\u5141\u8BB8\u5B66\u751F\u5BF9\u81EA\u5DF1\u4F5C\u54C1\u7684\u533F\u8BC4\u8BC4\u5206\u8FDB\u884C\u7533\u8BC9\uFF0C\u7531\u6559\u
|
|||
|
//
|
|||
|
// {/* <Radio style={radioStyle} value={true} disabled={noAuth || moment(init_late_time) < this.fetchMoment}>允许补交</Radio>*/}
|
|||
|
// {/* <Radio style={radioStyle} value={false} disabled={noAuth || moment(init_late_time) < this.fetchMoment}>禁止补交</Radio>*/}
|
|||
|
//
|
|||
|
// {/*</RadioGroup>*/}
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 862:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|||
|
|
|||
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|||
|
|
|||
|
exports.convertFieldsError = convertFieldsError;
|
|||
|
exports.format = format;
|
|||
|
exports.isEmptyValue = isEmptyValue;
|
|||
|
exports.isEmptyObject = isEmptyObject;
|
|||
|
exports.asyncMap = asyncMap;
|
|||
|
exports.complementError = complementError;
|
|||
|
exports.deepMerge = deepMerge;
|
|||
|
/* eslint no-console:0 */
|
|||
|
|
|||
|
var formatRegExp = /%[sdj%]/g;
|
|||
|
|
|||
|
var warning = exports.warning = function warning() {};
|
|||
|
|
|||
|
// don't print warning message when in production env or node runtime
|
|||
|
if (false) {
|
|||
|
exports.warning = warning = function warning(type, errors) {
|
|||
|
if (typeof console !== 'undefined' && console.warn) {
|
|||
|
if (errors.every(function (e) {
|
|||
|
return typeof e === 'string';
|
|||
|
})) {
|
|||
|
console.warn(type, errors);
|
|||
|
}
|
|||
|
}
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
function convertFieldsError(errors) {
|
|||
|
if (!errors || !errors.length) return null;
|
|||
|
var fields = {};
|
|||
|
errors.forEach(function (error) {
|
|||
|
var field = error.field;
|
|||
|
fields[field] = fields[field] || [];
|
|||
|
fields[field].push(error);
|
|||
|
});
|
|||
|
return fields;
|
|||
|
}
|
|||
|
|
|||
|
function format() {
|
|||
|
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|||
|
args[_key] = arguments[_key];
|
|||
|
}
|
|||
|
|
|||
|
var i = 1;
|
|||
|
var f = args[0];
|
|||
|
var len = args.length;
|
|||
|
if (typeof f === 'function') {
|
|||
|
return f.apply(null, args.slice(1));
|
|||
|
}
|
|||
|
if (typeof f === 'string') {
|
|||
|
var str = String(f).replace(formatRegExp, function (x) {
|
|||
|
if (x === '%%') {
|
|||
|
return '%';
|
|||
|
}
|
|||
|
if (i >= len) {
|
|||
|
return x;
|
|||
|
}
|
|||
|
switch (x) {
|
|||
|
case '%s':
|
|||
|
return String(args[i++]);
|
|||
|
case '%d':
|
|||
|
return Number(args[i++]);
|
|||
|
case '%j':
|
|||
|
try {
|
|||
|
return JSON.stringify(args[i++]);
|
|||
|
} catch (_) {
|
|||
|
return '[Circular]';
|
|||
|
}
|
|||
|
break;
|
|||
|
default:
|
|||
|
return x;
|
|||
|
}
|
|||
|
});
|
|||
|
for (var arg = args[i]; i < len; arg = args[++i]) {
|
|||
|
str += ' ' + arg;
|
|||
|
}
|
|||
|
return str;
|
|||
|
}
|
|||
|
return f;
|
|||
|
}
|
|||
|
|
|||
|
function isNativeStringType(type) {
|
|||
|
return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';
|
|||
|
}
|
|||
|
|
|||
|
function isEmptyValue(value, type) {
|
|||
|
if (value === undefined || value === null) {
|
|||
|
return true;
|
|||
|
}
|
|||
|
if (type === 'array' && Array.isArray(value) && !value.length) {
|
|||
|
return true;
|
|||
|
}
|
|||
|
if (isNativeStringType(type) && typeof value === 'string' && !value) {
|
|||
|
return true;
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
function isEmptyObject(obj) {
|
|||
|
return Object.keys(obj).length === 0;
|
|||
|
}
|
|||
|
|
|||
|
function asyncParallelArray(arr, func, callback) {
|
|||
|
var results = [];
|
|||
|
var total = 0;
|
|||
|
var arrLength = arr.length;
|
|||
|
|
|||
|
function count(errors) {
|
|||
|
results.push.apply(results, errors);
|
|||
|
total++;
|
|||
|
if (total === arrLength) {
|
|||
|
callback(results);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
arr.forEach(function (a) {
|
|||
|
func(a, count);
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
function asyncSerialArray(arr, func, callback) {
|
|||
|
var index = 0;
|
|||
|
var arrLength = arr.length;
|
|||
|
|
|||
|
function next(errors) {
|
|||
|
if (errors && errors.length) {
|
|||
|
callback(errors);
|
|||
|
return;
|
|||
|
}
|
|||
|
var original = index;
|
|||
|
index = index + 1;
|
|||
|
if (original < arrLength) {
|
|||
|
func(arr[original], next);
|
|||
|
} else {
|
|||
|
callback([]);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
next([]);
|
|||
|
}
|
|||
|
|
|||
|
function flattenObjArr(objArr) {
|
|||
|
var ret = [];
|
|||
|
Object.keys(objArr).forEach(function (k) {
|
|||
|
ret.push.apply(ret, objArr[k]);
|
|||
|
});
|
|||
|
return ret;
|
|||
|
}
|
|||
|
|
|||
|
function asyncMap(objArr, option, func, callback) {
|
|||
|
if (option.first) {
|
|||
|
var flattenArr = flattenObjArr(objArr);
|
|||
|
return asyncSerialArray(flattenArr, func, callback);
|
|||
|
}
|
|||
|
var firstFields = option.firstFields || [];
|
|||
|
if (firstFields === true) {
|
|||
|
firstFields = Object.keys(objArr);
|
|||
|
}
|
|||
|
var objArrKeys = Object.keys(objArr);
|
|||
|
var objArrLength = objArrKeys.length;
|
|||
|
var total = 0;
|
|||
|
var results = [];
|
|||
|
var pending = new Promise(function (resolve, reject) {
|
|||
|
var next = function next(errors) {
|
|||
|
results.push.apply(results, errors);
|
|||
|
total++;
|
|||
|
if (total === objArrLength) {
|
|||
|
callback(results);
|
|||
|
return results.length ? reject({ errors: results, fields: convertFieldsError(results) }) : resolve();
|
|||
|
}
|
|||
|
};
|
|||
|
objArrKeys.forEach(function (key) {
|
|||
|
var arr = objArr[key];
|
|||
|
if (firstFields.indexOf(key) !== -1) {
|
|||
|
asyncSerialArray(arr, func, next);
|
|||
|
} else {
|
|||
|
asyncParallelArray(arr, func, next);
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
pending['catch'](function (e) {
|
|||
|
return e;
|
|||
|
});
|
|||
|
return pending;
|
|||
|
}
|
|||
|
|
|||
|
function complementError(rule) {
|
|||
|
return function (oe) {
|
|||
|
if (oe && oe.message) {
|
|||
|
oe.field = oe.field || rule.fullField;
|
|||
|
return oe;
|
|||
|
}
|
|||
|
return {
|
|||
|
message: typeof oe === 'function' ? oe() : oe,
|
|||
|
field: oe.field || rule.fullField
|
|||
|
};
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
function deepMerge(target, source) {
|
|||
|
if (source) {
|
|||
|
for (var s in source) {
|
|||
|
if (source.hasOwnProperty(s)) {
|
|||
|
var value = source[s];
|
|||
|
if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && _typeof(target[s]) === 'object') {
|
|||
|
target[s] = _extends({}, target[s], value);
|
|||
|
} else {
|
|||
|
target[s] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return target;
|
|||
|
}
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 863:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _required = __webpack_require__(904);
|
|||
|
|
|||
|
var _required2 = _interopRequireDefault(_required);
|
|||
|
|
|||
|
var _whitespace = __webpack_require__(1010);
|
|||
|
|
|||
|
var _whitespace2 = _interopRequireDefault(_whitespace);
|
|||
|
|
|||
|
var _type = __webpack_require__(1011);
|
|||
|
|
|||
|
var _type2 = _interopRequireDefault(_type);
|
|||
|
|
|||
|
var _range = __webpack_require__(1012);
|
|||
|
|
|||
|
var _range2 = _interopRequireDefault(_range);
|
|||
|
|
|||
|
var _enum = __webpack_require__(1013);
|
|||
|
|
|||
|
var _enum2 = _interopRequireDefault(_enum);
|
|||
|
|
|||
|
var _pattern = __webpack_require__(1014);
|
|||
|
|
|||
|
var _pattern2 = _interopRequireDefault(_pattern);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
exports['default'] = {
|
|||
|
required: _required2['default'],
|
|||
|
whitespace: _whitespace2['default'],
|
|||
|
type: _type2['default'],
|
|||
|
range: _range2['default'],
|
|||
|
'enum': _enum2['default'],
|
|||
|
pattern: _pattern2['default']
|
|||
|
};
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 885:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _extends2 = __webpack_require__(25);
|
|||
|
|
|||
|
var _extends3 = _interopRequireDefault(_extends2);
|
|||
|
|
|||
|
exports.argumentContainer = argumentContainer;
|
|||
|
exports.identity = identity;
|
|||
|
exports.flattenArray = flattenArray;
|
|||
|
exports.treeTraverse = treeTraverse;
|
|||
|
exports.flattenFields = flattenFields;
|
|||
|
exports.normalizeValidateRules = normalizeValidateRules;
|
|||
|
exports.getValidateTriggers = getValidateTriggers;
|
|||
|
exports.getValueFromEvent = getValueFromEvent;
|
|||
|
exports.getErrorStrs = getErrorStrs;
|
|||
|
exports.getParams = getParams;
|
|||
|
exports.isEmptyObject = isEmptyObject;
|
|||
|
exports.hasRules = hasRules;
|
|||
|
exports.startsWith = startsWith;
|
|||
|
|
|||
|
var _hoistNonReactStatics = __webpack_require__(1030);
|
|||
|
|
|||
|
var _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);
|
|||
|
|
|||
|
var _warning = __webpack_require__(35);
|
|||
|
|
|||
|
var _warning2 = _interopRequireDefault(_warning);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
function getDisplayName(WrappedComponent) {
|
|||
|
return WrappedComponent.displayName || WrappedComponent.name || 'WrappedComponent';
|
|||
|
}
|
|||
|
|
|||
|
function argumentContainer(Container, WrappedComponent) {
|
|||
|
/* eslint no-param-reassign:0 */
|
|||
|
Container.displayName = 'Form(' + getDisplayName(WrappedComponent) + ')';
|
|||
|
Container.WrappedComponent = WrappedComponent;
|
|||
|
return (0, _hoistNonReactStatics2['default'])(Container, WrappedComponent);
|
|||
|
}
|
|||
|
|
|||
|
function identity(obj) {
|
|||
|
return obj;
|
|||
|
}
|
|||
|
|
|||
|
function flattenArray(arr) {
|
|||
|
return Array.prototype.concat.apply([], arr);
|
|||
|
}
|
|||
|
|
|||
|
function treeTraverse() {
|
|||
|
var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|||
|
var tree = arguments[1];
|
|||
|
var isLeafNode = arguments[2];
|
|||
|
var errorMessage = arguments[3];
|
|||
|
var callback = arguments[4];
|
|||
|
|
|||
|
if (isLeafNode(path, tree)) {
|
|||
|
callback(path, tree);
|
|||
|
} else if (tree === undefined || tree === null) {
|
|||
|
// Do nothing
|
|||
|
} else if (Array.isArray(tree)) {
|
|||
|
tree.forEach(function (subTree, index) {
|
|||
|
return treeTraverse(path + '[' + index + ']', subTree, isLeafNode, errorMessage, callback);
|
|||
|
});
|
|||
|
} else {
|
|||
|
// It's object and not a leaf node
|
|||
|
if (typeof tree !== 'object') {
|
|||
|
(0, _warning2['default'])(false, errorMessage);
|
|||
|
return;
|
|||
|
}
|
|||
|
Object.keys(tree).forEach(function (subTreeKey) {
|
|||
|
var subTree = tree[subTreeKey];
|
|||
|
treeTraverse('' + path + (path ? '.' : '') + subTreeKey, subTree, isLeafNode, errorMessage, callback);
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function flattenFields(maybeNestedFields, isLeafNode, errorMessage) {
|
|||
|
var fields = {};
|
|||
|
treeTraverse(undefined, maybeNestedFields, isLeafNode, errorMessage, function (path, node) {
|
|||
|
fields[path] = node;
|
|||
|
});
|
|||
|
return fields;
|
|||
|
}
|
|||
|
|
|||
|
function normalizeValidateRules(validate, rules, validateTrigger) {
|
|||
|
var validateRules = validate.map(function (item) {
|
|||
|
var newItem = (0, _extends3['default'])({}, item, {
|
|||
|
trigger: item.trigger || []
|
|||
|
});
|
|||
|
if (typeof newItem.trigger === 'string') {
|
|||
|
newItem.trigger = [newItem.trigger];
|
|||
|
}
|
|||
|
return newItem;
|
|||
|
});
|
|||
|
if (rules) {
|
|||
|
validateRules.push({
|
|||
|
trigger: validateTrigger ? [].concat(validateTrigger) : [],
|
|||
|
rules: rules
|
|||
|
});
|
|||
|
}
|
|||
|
return validateRules;
|
|||
|
}
|
|||
|
|
|||
|
function getValidateTriggers(validateRules) {
|
|||
|
return validateRules.filter(function (item) {
|
|||
|
return !!item.rules && item.rules.length;
|
|||
|
}).map(function (item) {
|
|||
|
return item.trigger;
|
|||
|
}).reduce(function (pre, curr) {
|
|||
|
return pre.concat(curr);
|
|||
|
}, []);
|
|||
|
}
|
|||
|
|
|||
|
function getValueFromEvent(e) {
|
|||
|
// To support custom element
|
|||
|
if (!e || !e.target) {
|
|||
|
return e;
|
|||
|
}
|
|||
|
var target = e.target;
|
|||
|
|
|||
|
return target.type === 'checkbox' ? target.checked : target.value;
|
|||
|
}
|
|||
|
|
|||
|
function getErrorStrs(errors) {
|
|||
|
if (errors) {
|
|||
|
return errors.map(function (e) {
|
|||
|
if (e && e.message) {
|
|||
|
return e.message;
|
|||
|
}
|
|||
|
return e;
|
|||
|
});
|
|||
|
}
|
|||
|
return errors;
|
|||
|
}
|
|||
|
|
|||
|
function getParams(ns, opt, cb) {
|
|||
|
var names = ns;
|
|||
|
var options = opt;
|
|||
|
var callback = cb;
|
|||
|
if (cb === undefined) {
|
|||
|
if (typeof names === 'function') {
|
|||
|
callback = names;
|
|||
|
options = {};
|
|||
|
names = undefined;
|
|||
|
} else if (Array.isArray(names)) {
|
|||
|
if (typeof options === 'function') {
|
|||
|
callback = options;
|
|||
|
options = {};
|
|||
|
} else {
|
|||
|
options = options || {};
|
|||
|
}
|
|||
|
} else {
|
|||
|
callback = options;
|
|||
|
options = names || {};
|
|||
|
names = undefined;
|
|||
|
}
|
|||
|
}
|
|||
|
return {
|
|||
|
names: names,
|
|||
|
options: options,
|
|||
|
callback: callback
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
function isEmptyObject(obj) {
|
|||
|
return Object.keys(obj).length === 0;
|
|||
|
}
|
|||
|
|
|||
|
function hasRules(validate) {
|
|||
|
if (validate) {
|
|||
|
return validate.some(function (item) {
|
|||
|
return item.rules && item.rules.length;
|
|||
|
});
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
function startsWith(str, prefix) {
|
|||
|
return str.lastIndexOf(prefix, 0) === 0;
|
|||
|
}
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 887:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
var defineProperty = __webpack_require__(902);
|
|||
|
|
|||
|
/**
|
|||
|
* The base implementation of `assignValue` and `assignMergeValue` without
|
|||
|
* value checks.
|
|||
|
*
|
|||
|
* @private
|
|||
|
* @param {Object} object The object to modify.
|
|||
|
* @param {string} key The key of the property to assign.
|
|||
|
* @param {*} value The value to assign.
|
|||
|
*/
|
|||
|
function baseAssignValue(object, key, value) {
|
|||
|
if (key == '__proto__' && defineProperty) {
|
|||
|
defineProperty(object, key, {
|
|||
|
'configurable': true,
|
|||
|
'enumerable': true,
|
|||
|
'value': value,
|
|||
|
'writable': true
|
|||
|
});
|
|||
|
} else {
|
|||
|
object[key] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
module.exports = baseAssignValue;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 898:
|
|||
|
/***/ (function(module, exports) {
|
|||
|
|
|||
|
/**
|
|||
|
* Helper function for iterating over a collection
|
|||
|
*
|
|||
|
* @param collection
|
|||
|
* @param fn
|
|||
|
*/
|
|||
|
function each(collection, fn) {
|
|||
|
var i = 0,
|
|||
|
length = collection.length,
|
|||
|
cont;
|
|||
|
|
|||
|
for(i; i < length; i++) {
|
|||
|
cont = fn(collection[i], i);
|
|||
|
if(cont === false) {
|
|||
|
break; //allow early exit
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* Helper function for determining whether target object is an array
|
|||
|
*
|
|||
|
* @param target the object under test
|
|||
|
* @return {Boolean} true if array, false otherwise
|
|||
|
*/
|
|||
|
function isArray(target) {
|
|||
|
return Object.prototype.toString.apply(target) === '[object Array]';
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* Helper function for determining whether target object is a function
|
|||
|
*
|
|||
|
* @param target the object under test
|
|||
|
* @return {Boolean} true if function, false otherwise
|
|||
|
*/
|
|||
|
function isFunction(target) {
|
|||
|
return typeof target === 'function';
|
|||
|
}
|
|||
|
|
|||
|
module.exports = {
|
|||
|
isFunction : isFunction,
|
|||
|
isArray : isArray,
|
|||
|
each : each
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 900:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports["default"] = void 0;
|
|||
|
|
|||
|
var _createReactContext = _interopRequireDefault(__webpack_require__(301));
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|||
|
|
|||
|
var RowContext = (0, _createReactContext["default"])({});
|
|||
|
var _default = RowContext;
|
|||
|
exports["default"] = _default;
|
|||
|
//# sourceMappingURL=RowContext.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 902:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
var getNative = __webpack_require__(866);
|
|||
|
|
|||
|
var defineProperty = (function() {
|
|||
|
try {
|
|||
|
var func = getNative(Object, 'defineProperty');
|
|||
|
func({}, '', {});
|
|||
|
return func;
|
|||
|
} catch (e) {}
|
|||
|
}());
|
|||
|
|
|||
|
module.exports = defineProperty;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 904:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _util = __webpack_require__(862);
|
|||
|
|
|||
|
var util = _interopRequireWildcard(_util);
|
|||
|
|
|||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
|
|||
|
|
|||
|
/**
|
|||
|
* Rule for validating required fields.
|
|||
|
*
|
|||
|
* @param rule The validation rule.
|
|||
|
* @param value The value of the field on the source object.
|
|||
|
* @param source The source object being validated.
|
|||
|
* @param errors An array of errors that this rule may add
|
|||
|
* validation errors to.
|
|||
|
* @param options The validation options.
|
|||
|
* @param options.messages The validation messages.
|
|||
|
*/
|
|||
|
function required(rule, value, source, errors, options, type) {
|
|||
|
if (rule.required && (!source.hasOwnProperty(rule.field) || util.isEmptyValue(value, type || rule.type))) {
|
|||
|
errors.push(util.format(options.messages.required, rule.fullField));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = required;
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 905:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
var baseSet = __webpack_require__(1029);
|
|||
|
|
|||
|
/**
|
|||
|
* Sets the value at `path` of `object`. If a portion of `path` doesn't exist,
|
|||
|
* it's created. Arrays are created for missing index properties while objects
|
|||
|
* are created for all other missing properties. Use `_.setWith` to customize
|
|||
|
* `path` creation.
|
|||
|
*
|
|||
|
* **Note:** This method mutates `object`.
|
|||
|
*
|
|||
|
* @static
|
|||
|
* @memberOf _
|
|||
|
* @since 3.7.0
|
|||
|
* @category Object
|
|||
|
* @param {Object} object The object to modify.
|
|||
|
* @param {Array|string} path The path of the property to set.
|
|||
|
* @param {*} value The value to set.
|
|||
|
* @returns {Object} Returns `object`.
|
|||
|
* @example
|
|||
|
*
|
|||
|
* var object = { 'a': [{ 'b': { 'c': 3 } }] };
|
|||
|
*
|
|||
|
* _.set(object, 'a[0].b.c', 4);
|
|||
|
* console.log(object.a[0].b.c);
|
|||
|
* // => 4
|
|||
|
*
|
|||
|
* _.set(object, ['x', '0', 'y', 'z'], 5);
|
|||
|
* console.log(object.x[0].y.z);
|
|||
|
* // => 5
|
|||
|
*/
|
|||
|
function set(object, path, value) {
|
|||
|
return object == null ? object : baseSet(object, path, value);
|
|||
|
}
|
|||
|
|
|||
|
module.exports = set;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 907:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _objectWithoutProperties2 = __webpack_require__(74);
|
|||
|
|
|||
|
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
|||
|
|
|||
|
var _defineProperty2 = __webpack_require__(71);
|
|||
|
|
|||
|
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
|
|||
|
|
|||
|
var _extends5 = __webpack_require__(25);
|
|||
|
|
|||
|
var _extends6 = _interopRequireDefault(_extends5);
|
|||
|
|
|||
|
var _toConsumableArray2 = __webpack_require__(1002);
|
|||
|
|
|||
|
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
|||
|
|
|||
|
var _react = __webpack_require__(0);
|
|||
|
|
|||
|
var _react2 = _interopRequireDefault(_react);
|
|||
|
|
|||
|
var _createReactClass = __webpack_require__(1003);
|
|||
|
|
|||
|
var _createReactClass2 = _interopRequireDefault(_createReactClass);
|
|||
|
|
|||
|
var _unsafeLifecyclesPolyfill = __webpack_require__(1049);
|
|||
|
|
|||
|
var _unsafeLifecyclesPolyfill2 = _interopRequireDefault(_unsafeLifecyclesPolyfill);
|
|||
|
|
|||
|
var _asyncValidator = __webpack_require__(1007);
|
|||
|
|
|||
|
var _asyncValidator2 = _interopRequireDefault(_asyncValidator);
|
|||
|
|
|||
|
var _warning = __webpack_require__(35);
|
|||
|
|
|||
|
var _warning2 = _interopRequireDefault(_warning);
|
|||
|
|
|||
|
var _get = __webpack_require__(888);
|
|||
|
|
|||
|
var _get2 = _interopRequireDefault(_get);
|
|||
|
|
|||
|
var _set = __webpack_require__(905);
|
|||
|
|
|||
|
var _set2 = _interopRequireDefault(_set);
|
|||
|
|
|||
|
var _eq = __webpack_require__(870);
|
|||
|
|
|||
|
var _eq2 = _interopRequireDefault(_eq);
|
|||
|
|
|||
|
var _createFieldsStore = __webpack_require__(1050);
|
|||
|
|
|||
|
var _createFieldsStore2 = _interopRequireDefault(_createFieldsStore);
|
|||
|
|
|||
|
var _utils = __webpack_require__(885);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|||
|
|
|||
|
/* eslint-disable react/prefer-es6-class */
|
|||
|
/* eslint-disable prefer-promise-reject-errors */
|
|||
|
|
|||
|
var DEFAULT_TRIGGER = 'onChange';
|
|||
|
|
|||
|
function createBaseForm() {
|
|||
|
var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|||
|
var mixins = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|||
|
var validateMessages = option.validateMessages,
|
|||
|
onFieldsChange = option.onFieldsChange,
|
|||
|
onValuesChange = option.onValuesChange,
|
|||
|
_option$mapProps = option.mapProps,
|
|||
|
mapProps = _option$mapProps === undefined ? _utils.identity : _option$mapProps,
|
|||
|
mapPropsToFields = option.mapPropsToFields,
|
|||
|
fieldNameProp = option.fieldNameProp,
|
|||
|
fieldMetaProp = option.fieldMetaProp,
|
|||
|
fieldDataProp = option.fieldDataProp,
|
|||
|
_option$formPropName = option.formPropName,
|
|||
|
formPropName = _option$formPropName === undefined ? 'form' : _option$formPropName,
|
|||
|
formName = option.name,
|
|||
|
withRef = option.withRef;
|
|||
|
|
|||
|
|
|||
|
return function decorate(WrappedComponent) {
|
|||
|
var Form = (0, _createReactClass2['default'])({
|
|||
|
displayName: 'Form',
|
|||
|
|
|||
|
mixins: mixins,
|
|||
|
|
|||
|
getInitialState: function getInitialState() {
|
|||
|
var _this = this;
|
|||
|
|
|||
|
var fields = mapPropsToFields && mapPropsToFields(this.props);
|
|||
|
this.fieldsStore = (0, _createFieldsStore2['default'])(fields || {});
|
|||
|
|
|||
|
this.instances = {};
|
|||
|
this.cachedBind = {};
|
|||
|
this.clearedFieldMetaCache = {};
|
|||
|
|
|||
|
this.renderFields = {};
|
|||
|
this.domFields = {};
|
|||
|
|
|||
|
// HACK: https://github.com/ant-design/ant-design/issues/6406
|
|||
|
['getFieldsValue', 'getFieldValue', 'setFieldsInitialValue', 'getFieldsError', 'getFieldError', 'isFieldValidating', 'isFieldsValidating', 'isFieldsTouched', 'isFieldTouched'].forEach(function (key) {
|
|||
|
_this[key] = function () {
|
|||
|
var _fieldsStore;
|
|||
|
|
|||
|
if (false) {
|
|||
|
(0, _warning2['default'])(false, 'you should not use `ref` on enhanced form, please use `wrappedComponentRef`. ' + 'See: https://github.com/react-component/form#note-use-wrappedcomponentref-instead-of-withref-after-rc-form140');
|
|||
|
}
|
|||
|
return (_fieldsStore = _this.fieldsStore)[key].apply(_fieldsStore, arguments);
|
|||
|
};
|
|||
|
});
|
|||
|
|
|||
|
return {
|
|||
|
submitting: false
|
|||
|
};
|
|||
|
},
|
|||
|
componentDidMount: function componentDidMount() {
|
|||
|
this.cleanUpUselessFields();
|
|||
|
},
|
|||
|
componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
|
|||
|
if (mapPropsToFields) {
|
|||
|
this.fieldsStore.updateFields(mapPropsToFields(nextProps));
|
|||
|
}
|
|||
|
},
|
|||
|
componentDidUpdate: function componentDidUpdate() {
|
|||
|
this.cleanUpUselessFields();
|
|||
|
},
|
|||
|
onCollectCommon: function onCollectCommon(name, action, args) {
|
|||
|
var fieldMeta = this.fieldsStore.getFieldMeta(name);
|
|||
|
if (fieldMeta[action]) {
|
|||
|
fieldMeta[action].apply(fieldMeta, (0, _toConsumableArray3['default'])(args));
|
|||
|
} else if (fieldMeta.originalProps && fieldMeta.originalProps[action]) {
|
|||
|
var _fieldMeta$originalPr;
|
|||
|
|
|||
|
(_fieldMeta$originalPr = fieldMeta.originalProps)[action].apply(_fieldMeta$originalPr, (0, _toConsumableArray3['default'])(args));
|
|||
|
}
|
|||
|
var value = fieldMeta.getValueFromEvent ? fieldMeta.getValueFromEvent.apply(fieldMeta, (0, _toConsumableArray3['default'])(args)) : _utils.getValueFromEvent.apply(undefined, (0, _toConsumableArray3['default'])(args));
|
|||
|
if (onValuesChange && value !== this.fieldsStore.getFieldValue(name)) {
|
|||
|
var valuesAll = this.fieldsStore.getAllValues();
|
|||
|
var valuesAllSet = {};
|
|||
|
valuesAll[name] = value;
|
|||
|
Object.keys(valuesAll).forEach(function (key) {
|
|||
|
return (0, _set2['default'])(valuesAllSet, key, valuesAll[key]);
|
|||
|
});
|
|||
|
onValuesChange((0, _extends6['default'])((0, _defineProperty3['default'])({}, formPropName, this.getForm()), this.props), (0, _set2['default'])({}, name, value), valuesAllSet);
|
|||
|
}
|
|||
|
var field = this.fieldsStore.getField(name);
|
|||
|
return { name: name, field: (0, _extends6['default'])({}, field, { value: value, touched: true }), fieldMeta: fieldMeta };
|
|||
|
},
|
|||
|
onCollect: function onCollect(name_, action) {
|
|||
|
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|||
|
args[_key - 2] = arguments[_key];
|
|||
|
}
|
|||
|
|
|||
|
var _onCollectCommon = this.onCollectCommon(name_, action, args),
|
|||
|
name = _onCollectCommon.name,
|
|||
|
field = _onCollectCommon.field,
|
|||
|
fieldMeta = _onCollectCommon.fieldMeta;
|
|||
|
|
|||
|
var validate = fieldMeta.validate;
|
|||
|
|
|||
|
|
|||
|
this.fieldsStore.setFieldsAsDirty();
|
|||
|
|
|||
|
var newField = (0, _extends6['default'])({}, field, {
|
|||
|
dirty: (0, _utils.hasRules)(validate)
|
|||
|
});
|
|||
|
this.setFields((0, _defineProperty3['default'])({}, name, newField));
|
|||
|
},
|
|||
|
onCollectValidate: function onCollectValidate(name_, action) {
|
|||
|
for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|||
|
args[_key2 - 2] = arguments[_key2];
|
|||
|
}
|
|||
|
|
|||
|
var _onCollectCommon2 = this.onCollectCommon(name_, action, args),
|
|||
|
field = _onCollectCommon2.field,
|
|||
|
fieldMeta = _onCollectCommon2.fieldMeta;
|
|||
|
|
|||
|
var newField = (0, _extends6['default'])({}, field, {
|
|||
|
dirty: true
|
|||
|
});
|
|||
|
|
|||
|
this.fieldsStore.setFieldsAsDirty();
|
|||
|
|
|||
|
this.validateFieldsInternal([newField], {
|
|||
|
action: action,
|
|||
|
options: {
|
|||
|
firstFields: !!fieldMeta.validateFirst
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
getCacheBind: function getCacheBind(name, action, fn) {
|
|||
|
if (!this.cachedBind[name]) {
|
|||
|
this.cachedBind[name] = {};
|
|||
|
}
|
|||
|
var cache = this.cachedBind[name];
|
|||
|
if (!cache[action] || cache[action].oriFn !== fn) {
|
|||
|
cache[action] = {
|
|||
|
fn: fn.bind(this, name, action),
|
|||
|
oriFn: fn
|
|||
|
};
|
|||
|
}
|
|||
|
return cache[action].fn;
|
|||
|
},
|
|||
|
getFieldDecorator: function getFieldDecorator(name, fieldOption) {
|
|||
|
var _this2 = this;
|
|||
|
|
|||
|
var props = this.getFieldProps(name, fieldOption);
|
|||
|
return function (fieldElem) {
|
|||
|
// We should put field in record if it is rendered
|
|||
|
_this2.renderFields[name] = true;
|
|||
|
|
|||
|
var fieldMeta = _this2.fieldsStore.getFieldMeta(name);
|
|||
|
var originalProps = fieldElem.props;
|
|||
|
if (false) {
|
|||
|
var valuePropName = fieldMeta.valuePropName;
|
|||
|
(0, _warning2['default'])(!(valuePropName in originalProps), '`getFieldDecorator` will override `' + valuePropName + '`, ' + ('so please don\'t set `' + valuePropName + '` directly ') + 'and use `setFieldsValue` to set it.');
|
|||
|
var defaultValuePropName = 'default' + valuePropName[0].toUpperCase() + valuePropName.slice(1);
|
|||
|
(0, _warning2['default'])(!(defaultValuePropName in originalProps), '`' + defaultValuePropName + '` is invalid ' + ('for `getFieldDecorator` will set `' + valuePropName + '`,') + ' please use `option.initialValue` instead.');
|
|||
|
}
|
|||
|
fieldMeta.originalProps = originalProps;
|
|||
|
fieldMeta.ref = fieldElem.ref;
|
|||
|
return _react2['default'].cloneElement(fieldElem, (0, _extends6['default'])({}, props, _this2.fieldsStore.getFieldValuePropValue(fieldMeta)));
|
|||
|
};
|
|||
|
},
|
|||
|
getFieldProps: function getFieldProps(name) {
|
|||
|
var _this3 = this;
|
|||
|
|
|||
|
var usersFieldOption = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|||
|
|
|||
|
if (!name) {
|
|||
|
throw new Error('Must call `getFieldProps` with valid name string!');
|
|||
|
}
|
|||
|
if (false) {
|
|||
|
(0, _warning2['default'])(this.fieldsStore.isValidNestedFieldName(name), 'One field name cannot be part of another, e.g. `a` and `a.b`. Check field: ' + name);
|
|||
|
(0, _warning2['default'])(!('exclusive' in usersFieldOption), '`option.exclusive` of `getFieldProps`|`getFieldDecorator` had been remove.');
|
|||
|
}
|
|||
|
|
|||
|
delete this.clearedFieldMetaCache[name];
|
|||
|
|
|||
|
var fieldOption = (0, _extends6['default'])({
|
|||
|
name: name,
|
|||
|
trigger: DEFAULT_TRIGGER,
|
|||
|
valuePropName: 'value',
|
|||
|
validate: []
|
|||
|
}, usersFieldOption);
|
|||
|
|
|||
|
var rules = fieldOption.rules,
|
|||
|
trigger = fieldOption.trigger,
|
|||
|
_fieldOption$validate = fieldOption.validateTrigger,
|
|||
|
validateTrigger = _fieldOption$validate === undefined ? trigger : _fieldOption$validate,
|
|||
|
validate = fieldOption.validate;
|
|||
|
|
|||
|
|
|||
|
var fieldMeta = this.fieldsStore.getFieldMeta(name);
|
|||
|
if ('initialValue' in fieldOption) {
|
|||
|
fieldMeta.initialValue = fieldOption.initialValue;
|
|||
|
}
|
|||
|
|
|||
|
var inputProps = (0, _extends6['default'])({}, this.fieldsStore.getFieldValuePropValue(fieldOption), {
|
|||
|
ref: this.getCacheBind(name, name + '__ref', this.saveRef)
|
|||
|
});
|
|||
|
if (fieldNameProp) {
|
|||
|
inputProps[fieldNameProp] = formName ? formName + '_' + name : name;
|
|||
|
}
|
|||
|
|
|||
|
var validateRules = (0, _utils.normalizeValidateRules)(validate, rules, validateTrigger);
|
|||
|
var validateTriggers = (0, _utils.getValidateTriggers)(validateRules);
|
|||
|
validateTriggers.forEach(function (action) {
|
|||
|
if (inputProps[action]) return;
|
|||
|
inputProps[action] = _this3.getCacheBind(name, action, _this3.onCollectValidate);
|
|||
|
});
|
|||
|
|
|||
|
// make sure that the value will be collect
|
|||
|
if (trigger && validateTriggers.indexOf(trigger) === -1) {
|
|||
|
inputProps[trigger] = this.getCacheBind(name, trigger, this.onCollect);
|
|||
|
}
|
|||
|
|
|||
|
var meta = (0, _extends6['default'])({}, fieldMeta, fieldOption, {
|
|||
|
validate: validateRules
|
|||
|
});
|
|||
|
this.fieldsStore.setFieldMeta(name, meta);
|
|||
|
if (fieldMetaProp) {
|
|||
|
inputProps[fieldMetaProp] = meta;
|
|||
|
}
|
|||
|
|
|||
|
if (fieldDataProp) {
|
|||
|
inputProps[fieldDataProp] = this.fieldsStore.getField(name);
|
|||
|
}
|
|||
|
|
|||
|
// This field is rendered, record it
|
|||
|
this.renderFields[name] = true;
|
|||
|
|
|||
|
return inputProps;
|
|||
|
},
|
|||
|
getFieldInstance: function getFieldInstance(name) {
|
|||
|
return this.instances[name];
|
|||
|
},
|
|||
|
getRules: function getRules(fieldMeta, action) {
|
|||
|
var actionRules = fieldMeta.validate.filter(function (item) {
|
|||
|
return !action || item.trigger.indexOf(action) >= 0;
|
|||
|
}).map(function (item) {
|
|||
|
return item.rules;
|
|||
|
});
|
|||
|
return (0, _utils.flattenArray)(actionRules);
|
|||
|
},
|
|||
|
setFields: function setFields(maybeNestedFields, callback) {
|
|||
|
var _this4 = this;
|
|||
|
|
|||
|
var fields = this.fieldsStore.flattenRegisteredFields(maybeNestedFields);
|
|||
|
this.fieldsStore.setFields(fields);
|
|||
|
if (onFieldsChange) {
|
|||
|
var changedFields = Object.keys(fields).reduce(function (acc, name) {
|
|||
|
return (0, _set2['default'])(acc, name, _this4.fieldsStore.getField(name));
|
|||
|
}, {});
|
|||
|
onFieldsChange((0, _extends6['default'])((0, _defineProperty3['default'])({}, formPropName, this.getForm()), this.props), changedFields, this.fieldsStore.getNestedAllFields());
|
|||
|
}
|
|||
|
this.forceUpdate(callback);
|
|||
|
},
|
|||
|
setFieldsValue: function setFieldsValue(changedValues, callback) {
|
|||
|
var fieldsMeta = this.fieldsStore.fieldsMeta;
|
|||
|
|
|||
|
var values = this.fieldsStore.flattenRegisteredFields(changedValues);
|
|||
|
var newFields = Object.keys(values).reduce(function (acc, name) {
|
|||
|
var isRegistered = fieldsMeta[name];
|
|||
|
if (false) {
|
|||
|
(0, _warning2['default'])(isRegistered, 'Cannot use `setFieldsValue` until ' + 'you use `getFieldDecorator` or `getFieldProps` to register it.');
|
|||
|
}
|
|||
|
if (isRegistered) {
|
|||
|
var value = values[name];
|
|||
|
acc[name] = {
|
|||
|
value: value
|
|||
|
};
|
|||
|
}
|
|||
|
return acc;
|
|||
|
}, {});
|
|||
|
this.setFields(newFields, callback);
|
|||
|
if (onValuesChange) {
|
|||
|
var allValues = this.fieldsStore.getAllValues();
|
|||
|
onValuesChange((0, _extends6['default'])((0, _defineProperty3['default'])({}, formPropName, this.getForm()), this.props), changedValues, allValues);
|
|||
|
}
|
|||
|
},
|
|||
|
saveRef: function saveRef(name, _, component) {
|
|||
|
if (!component) {
|
|||
|
var _fieldMeta = this.fieldsStore.getFieldMeta(name);
|
|||
|
if (!_fieldMeta.preserve) {
|
|||
|
// after destroy, delete data
|
|||
|
this.clearedFieldMetaCache[name] = {
|
|||
|
field: this.fieldsStore.getField(name),
|
|||
|
meta: _fieldMeta
|
|||
|
};
|
|||
|
this.clearField(name);
|
|||
|
}
|
|||
|
delete this.domFields[name];
|
|||
|
return;
|
|||
|
}
|
|||
|
this.domFields[name] = true;
|
|||
|
this.recoverClearedField(name);
|
|||
|
var fieldMeta = this.fieldsStore.getFieldMeta(name);
|
|||
|
if (fieldMeta) {
|
|||
|
var ref = fieldMeta.ref;
|
|||
|
if (ref) {
|
|||
|
if (typeof ref === 'string') {
|
|||
|
throw new Error('can not set ref string for ' + name);
|
|||
|
} else if (typeof ref === 'function') {
|
|||
|
ref(component);
|
|||
|
} else if (Object.prototype.hasOwnProperty.call(ref, 'current')) {
|
|||
|
ref.current = component;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
this.instances[name] = component;
|
|||
|
},
|
|||
|
cleanUpUselessFields: function cleanUpUselessFields() {
|
|||
|
var _this5 = this;
|
|||
|
|
|||
|
var fieldList = this.fieldsStore.getAllFieldsName();
|
|||
|
var removedList = fieldList.filter(function (field) {
|
|||
|
var fieldMeta = _this5.fieldsStore.getFieldMeta(field);
|
|||
|
return !_this5.renderFields[field] && !_this5.domFields[field] && !fieldMeta.preserve;
|
|||
|
});
|
|||
|
if (removedList.length) {
|
|||
|
removedList.forEach(this.clearField);
|
|||
|
}
|
|||
|
this.renderFields = {};
|
|||
|
},
|
|||
|
clearField: function clearField(name) {
|
|||
|
this.fieldsStore.clearField(name);
|
|||
|
delete this.instances[name];
|
|||
|
delete this.cachedBind[name];
|
|||
|
},
|
|||
|
resetFields: function resetFields(ns) {
|
|||
|
var _this6 = this;
|
|||
|
|
|||
|
var newFields = this.fieldsStore.resetFields(ns);
|
|||
|
if (Object.keys(newFields).length > 0) {
|
|||
|
this.setFields(newFields);
|
|||
|
}
|
|||
|
if (ns) {
|
|||
|
var names = Array.isArray(ns) ? ns : [ns];
|
|||
|
names.forEach(function (name) {
|
|||
|
return delete _this6.clearedFieldMetaCache[name];
|
|||
|
});
|
|||
|
} else {
|
|||
|
this.clearedFieldMetaCache = {};
|
|||
|
}
|
|||
|
},
|
|||
|
recoverClearedField: function recoverClearedField(name) {
|
|||
|
if (this.clearedFieldMetaCache[name]) {
|
|||
|
this.fieldsStore.setFields((0, _defineProperty3['default'])({}, name, this.clearedFieldMetaCache[name].field));
|
|||
|
this.fieldsStore.setFieldMeta(name, this.clearedFieldMetaCache[name].meta);
|
|||
|
delete this.clearedFieldMetaCache[name];
|
|||
|
}
|
|||
|
},
|
|||
|
validateFieldsInternal: function validateFieldsInternal(fields, _ref, callback) {
|
|||
|
var _this7 = this;
|
|||
|
|
|||
|
var fieldNames = _ref.fieldNames,
|
|||
|
action = _ref.action,
|
|||
|
_ref$options = _ref.options,
|
|||
|
options = _ref$options === undefined ? {} : _ref$options;
|
|||
|
|
|||
|
var allRules = {};
|
|||
|
var allValues = {};
|
|||
|
var allFields = {};
|
|||
|
var alreadyErrors = {};
|
|||
|
fields.forEach(function (field) {
|
|||
|
var name = field.name;
|
|||
|
if (options.force !== true && field.dirty === false) {
|
|||
|
if (field.errors) {
|
|||
|
(0, _set2['default'])(alreadyErrors, name, { errors: field.errors });
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
var fieldMeta = _this7.fieldsStore.getFieldMeta(name);
|
|||
|
var newField = (0, _extends6['default'])({}, field);
|
|||
|
newField.errors = undefined;
|
|||
|
newField.validating = true;
|
|||
|
newField.dirty = true;
|
|||
|
allRules[name] = _this7.getRules(fieldMeta, action);
|
|||
|
allValues[name] = newField.value;
|
|||
|
allFields[name] = newField;
|
|||
|
});
|
|||
|
this.setFields(allFields);
|
|||
|
// in case normalize
|
|||
|
Object.keys(allValues).forEach(function (f) {
|
|||
|
allValues[f] = _this7.fieldsStore.getFieldValue(f);
|
|||
|
});
|
|||
|
if (callback && (0, _utils.isEmptyObject)(allFields)) {
|
|||
|
callback((0, _utils.isEmptyObject)(alreadyErrors) ? null : alreadyErrors, this.fieldsStore.getFieldsValue(fieldNames));
|
|||
|
return;
|
|||
|
}
|
|||
|
var validator = new _asyncValidator2['default'](allRules);
|
|||
|
if (validateMessages) {
|
|||
|
validator.messages(validateMessages);
|
|||
|
}
|
|||
|
validator.validate(allValues, options, function (errors) {
|
|||
|
var errorsGroup = (0, _extends6['default'])({}, alreadyErrors);
|
|||
|
if (errors && errors.length) {
|
|||
|
errors.forEach(function (e) {
|
|||
|
var errorFieldName = e.field;
|
|||
|
var fieldName = errorFieldName;
|
|||
|
|
|||
|
// Handle using array validation rule.
|
|||
|
// ref: https://github.com/ant-design/ant-design/issues/14275
|
|||
|
Object.keys(allRules).some(function (ruleFieldName) {
|
|||
|
var rules = allRules[ruleFieldName] || [];
|
|||
|
|
|||
|
// Exist if match rule
|
|||
|
if (ruleFieldName === errorFieldName) {
|
|||
|
fieldName = ruleFieldName;
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
// Skip if not match array type
|
|||
|
if (rules.every(function (_ref2) {
|
|||
|
var type = _ref2.type;
|
|||
|
return type !== 'array';
|
|||
|
}) || errorFieldName.indexOf(ruleFieldName + '.') !== 0) {
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
// Exist if match the field name
|
|||
|
var restPath = errorFieldName.slice(ruleFieldName.length + 1);
|
|||
|
if (/^\d+$/.test(restPath)) {
|
|||
|
fieldName = ruleFieldName;
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
return false;
|
|||
|
});
|
|||
|
|
|||
|
var field = (0, _get2['default'])(errorsGroup, fieldName);
|
|||
|
if (typeof field !== 'object' || Array.isArray(field)) {
|
|||
|
(0, _set2['default'])(errorsGroup, fieldName, { errors: [] });
|
|||
|
}
|
|||
|
var fieldErrors = (0, _get2['default'])(errorsGroup, fieldName.concat('.errors'));
|
|||
|
fieldErrors.push(e);
|
|||
|
});
|
|||
|
}
|
|||
|
var expired = [];
|
|||
|
var nowAllFields = {};
|
|||
|
Object.keys(allRules).forEach(function (name) {
|
|||
|
var fieldErrors = (0, _get2['default'])(errorsGroup, name);
|
|||
|
var nowField = _this7.fieldsStore.getField(name);
|
|||
|
// avoid concurrency problems
|
|||
|
if (!(0, _eq2['default'])(nowField.value, allValues[name])) {
|
|||
|
expired.push({
|
|||
|
name: name
|
|||
|
});
|
|||
|
} else {
|
|||
|
nowField.errors = fieldErrors && fieldErrors.errors;
|
|||
|
nowField.value = allValues[name];
|
|||
|
nowField.validating = false;
|
|||
|
nowField.dirty = false;
|
|||
|
nowAllFields[name] = nowField;
|
|||
|
}
|
|||
|
});
|
|||
|
_this7.setFields(nowAllFields);
|
|||
|
if (callback) {
|
|||
|
if (expired.length) {
|
|||
|
expired.forEach(function (_ref3) {
|
|||
|
var name = _ref3.name;
|
|||
|
|
|||
|
var fieldErrors = [{
|
|||
|
message: name + ' need to revalidate',
|
|||
|
field: name
|
|||
|
}];
|
|||
|
(0, _set2['default'])(errorsGroup, name, {
|
|||
|
expired: true,
|
|||
|
errors: fieldErrors
|
|||
|
});
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
callback((0, _utils.isEmptyObject)(errorsGroup) ? null : errorsGroup, _this7.fieldsStore.getFieldsValue(fieldNames));
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
validateFields: function validateFields(ns, opt, cb) {
|
|||
|
var _this8 = this;
|
|||
|
|
|||
|
var pending = new Promise(function (resolve, reject) {
|
|||
|
var _getParams = (0, _utils.getParams)(ns, opt, cb),
|
|||
|
names = _getParams.names,
|
|||
|
options = _getParams.options;
|
|||
|
|
|||
|
var _getParams2 = (0, _utils.getParams)(ns, opt, cb),
|
|||
|
callback = _getParams2.callback;
|
|||
|
|
|||
|
if (!callback || typeof callback === 'function') {
|
|||
|
var oldCb = callback;
|
|||
|
callback = function callback(errors, values) {
|
|||
|
if (oldCb) {
|
|||
|
oldCb(errors, values);
|
|||
|
}
|
|||
|
if (errors) {
|
|||
|
reject({ errors: errors, values: values });
|
|||
|
} else {
|
|||
|
resolve(values);
|
|||
|
}
|
|||
|
};
|
|||
|
}
|
|||
|
var fieldNames = names ? _this8.fieldsStore.getValidFieldsFullName(names) : _this8.fieldsStore.getValidFieldsName();
|
|||
|
var fields = fieldNames.filter(function (name) {
|
|||
|
var fieldMeta = _this8.fieldsStore.getFieldMeta(name);
|
|||
|
return (0, _utils.hasRules)(fieldMeta.validate);
|
|||
|
}).map(function (name) {
|
|||
|
var field = _this8.fieldsStore.getField(name);
|
|||
|
field.value = _this8.fieldsStore.getFieldValue(name);
|
|||
|
return field;
|
|||
|
});
|
|||
|
if (!fields.length) {
|
|||
|
callback(null, _this8.fieldsStore.getFieldsValue(fieldNames));
|
|||
|
return;
|
|||
|
}
|
|||
|
if (!('firstFields' in options)) {
|
|||
|
options.firstFields = fieldNames.filter(function (name) {
|
|||
|
var fieldMeta = _this8.fieldsStore.getFieldMeta(name);
|
|||
|
return !!fieldMeta.validateFirst;
|
|||
|
});
|
|||
|
}
|
|||
|
_this8.validateFieldsInternal(fields, {
|
|||
|
fieldNames: fieldNames,
|
|||
|
options: options
|
|||
|
}, callback);
|
|||
|
});
|
|||
|
pending['catch'](function (e) {
|
|||
|
// eslint-disable-next-line no-console
|
|||
|
if (console.error && "production" !== 'production') {
|
|||
|
// eslint-disable-next-line no-console
|
|||
|
console.error(e);
|
|||
|
}
|
|||
|
return e;
|
|||
|
});
|
|||
|
return pending;
|
|||
|
},
|
|||
|
isSubmitting: function isSubmitting() {
|
|||
|
if (false) {
|
|||
|
(0, _warning2['default'])(false, '`isSubmitting` is deprecated. ' + "Actually, it's more convenient to handle submitting status by yourself.");
|
|||
|
}
|
|||
|
return this.state.submitting;
|
|||
|
},
|
|||
|
submit: function submit(callback) {
|
|||
|
var _this9 = this;
|
|||
|
|
|||
|
if (false) {
|
|||
|
(0, _warning2['default'])(false, '`submit` is deprecated. ' + "Actually, it's more convenient to handle submitting status by yourself.");
|
|||
|
}
|
|||
|
var fn = function fn() {
|
|||
|
_this9.setState({
|
|||
|
submitting: false
|
|||
|
});
|
|||
|
};
|
|||
|
this.setState({
|
|||
|
submitting: true
|
|||
|
});
|
|||
|
callback(fn);
|
|||
|
},
|
|||
|
render: function render() {
|
|||
|
var _props = this.props,
|
|||
|
wrappedComponentRef = _props.wrappedComponentRef,
|
|||
|
restProps = (0, _objectWithoutProperties3['default'])(_props, ['wrappedComponentRef']); // eslint-disable-line
|
|||
|
|
|||
|
var formProps = (0, _defineProperty3['default'])({}, formPropName, this.getForm());
|
|||
|
if (withRef) {
|
|||
|
if (false) {
|
|||
|
(0, _warning2['default'])(false, '`withRef` is deprecated, please use `wrappedComponentRef` instead. ' + 'See: https://github.com/react-component/form#note-use-wrappedcomponentref-instead-of-withref-after-rc-form140');
|
|||
|
}
|
|||
|
formProps.ref = 'wrappedComponent';
|
|||
|
} else if (wrappedComponentRef) {
|
|||
|
formProps.ref = wrappedComponentRef;
|
|||
|
}
|
|||
|
var props = mapProps.call(this, (0, _extends6['default'])({}, formProps, restProps));
|
|||
|
return _react2['default'].createElement(WrappedComponent, props);
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
return (0, _utils.argumentContainer)((0, _unsafeLifecyclesPolyfill2['default'])(Form), WrappedComponent);
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
exports['default'] = createBaseForm;
|
|||
|
module.exports = exports['default'];
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 908:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
|
|||
|
var _extends2 = __webpack_require__(25);
|
|||
|
|
|||
|
var _extends3 = _interopRequireDefault(_extends2);
|
|||
|
|
|||
|
var _classCallCheck2 = __webpack_require__(12);
|
|||
|
|
|||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
|||
|
|
|||
|
exports.isFormField = isFormField;
|
|||
|
exports["default"] = createFormField;
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|||
|
|
|||
|
var Field = function Field(fields) {
|
|||
|
(0, _classCallCheck3["default"])(this, Field);
|
|||
|
|
|||
|
(0, _extends3["default"])(this, fields);
|
|||
|
};
|
|||
|
|
|||
|
function isFormField(obj) {
|
|||
|
return obj instanceof Field;
|
|||
|
}
|
|||
|
|
|||
|
function createFormField(field) {
|
|||
|
if (isFormField(field)) {
|
|||
|
return field;
|
|||
|
}
|
|||
|
return new Field(field);
|
|||
|
}
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 909:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports.FIELD_DATA_PROP = exports.FIELD_META_PROP = void 0;
|
|||
|
var FIELD_META_PROP = 'data-__meta';
|
|||
|
exports.FIELD_META_PROP = FIELD_META_PROP;
|
|||
|
var FIELD_DATA_PROP = 'data-__field';
|
|||
|
exports.FIELD_DATA_PROP = FIELD_DATA_PROP;
|
|||
|
//# sourceMappingURL=constants.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 910:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports["default"] = void 0;
|
|||
|
|
|||
|
var _createReactContext = _interopRequireDefault(__webpack_require__(301));
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|||
|
|
|||
|
var FormContext = (0, _createReactContext["default"])({
|
|||
|
labelAlign: 'right',
|
|||
|
vertical: false
|
|||
|
});
|
|||
|
var _default = FormContext;
|
|||
|
exports["default"] = _default;
|
|||
|
//# sourceMappingURL=context.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 917:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
var baseAssignValue = __webpack_require__(887),
|
|||
|
eq = __webpack_require__(870);
|
|||
|
|
|||
|
/** Used for built-in method references. */
|
|||
|
var objectProto = Object.prototype;
|
|||
|
|
|||
|
/** Used to check objects for own properties. */
|
|||
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
|||
|
|
|||
|
/**
|
|||
|
* Assigns `value` to `key` of `object` if the existing value is not equivalent
|
|||
|
* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
|||
|
* for equality comparisons.
|
|||
|
*
|
|||
|
* @private
|
|||
|
* @param {Object} object The object to modify.
|
|||
|
* @param {string} key The key of the property to assign.
|
|||
|
* @param {*} value The value to assign.
|
|||
|
*/
|
|||
|
function assignValue(object, key, value) {
|
|||
|
var objValue = object[key];
|
|||
|
if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
|
|||
|
(value === undefined && !(key in object))) {
|
|||
|
baseAssignValue(object, key, value);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
module.exports = assignValue;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 959:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
__webpack_require__(29);
|
|||
|
|
|||
|
__webpack_require__(1043);
|
|||
|
|
|||
|
__webpack_require__(965);
|
|||
|
//# sourceMappingURL=css.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 960:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports["default"] = void 0;
|
|||
|
|
|||
|
var _Form = _interopRequireDefault(__webpack_require__(1045));
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|||
|
|
|||
|
var _default = _Form["default"];
|
|||
|
exports["default"] = _default;
|
|||
|
//# sourceMappingURL=index.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 965:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
__webpack_require__(29);
|
|||
|
|
|||
|
__webpack_require__(990);
|
|||
|
//# sourceMappingURL=css.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 977:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports["default"] = void 0;
|
|||
|
|
|||
|
var React = _interopRequireWildcard(__webpack_require__(0));
|
|||
|
|
|||
|
var _classnames = _interopRequireDefault(__webpack_require__(3));
|
|||
|
|
|||
|
var PropTypes = _interopRequireWildcard(__webpack_require__(1));
|
|||
|
|
|||
|
var _configProvider = __webpack_require__(11);
|
|||
|
|
|||
|
var _RowContext = _interopRequireDefault(__webpack_require__(900));
|
|||
|
|
|||
|
var _type = __webpack_require__(72);
|
|||
|
|
|||
|
var _responsiveObserve = _interopRequireWildcard(__webpack_require__(992));
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|||
|
|
|||
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|||
|
|
|||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|||
|
|
|||
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|||
|
|
|||
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|||
|
|
|||
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|||
|
|
|||
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|||
|
|
|||
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|||
|
|
|||
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|||
|
|
|||
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|||
|
|
|||
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|||
|
|
|||
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|||
|
|
|||
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|||
|
|
|||
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|||
|
|
|||
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|||
|
var t = {};
|
|||
|
|
|||
|
for (var p in s) {
|
|||
|
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|||
|
}
|
|||
|
|
|||
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|||
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|||
|
}
|
|||
|
return t;
|
|||
|
};
|
|||
|
|
|||
|
var RowAligns = (0, _type.tuple)('top', 'middle', 'bottom', 'stretch');
|
|||
|
var RowJustify = (0, _type.tuple)('start', 'end', 'center', 'space-around', 'space-between');
|
|||
|
|
|||
|
var Row =
|
|||
|
/*#__PURE__*/
|
|||
|
function (_React$Component) {
|
|||
|
_inherits(Row, _React$Component);
|
|||
|
|
|||
|
function Row() {
|
|||
|
var _this;
|
|||
|
|
|||
|
_classCallCheck(this, Row);
|
|||
|
|
|||
|
_this = _possibleConstructorReturn(this, _getPrototypeOf(Row).apply(this, arguments));
|
|||
|
_this.state = {
|
|||
|
screens: {}
|
|||
|
};
|
|||
|
|
|||
|
_this.renderRow = function (_ref) {
|
|||
|
var _classNames;
|
|||
|
|
|||
|
var getPrefixCls = _ref.getPrefixCls;
|
|||
|
|
|||
|
var _a = _this.props,
|
|||
|
customizePrefixCls = _a.prefixCls,
|
|||
|
type = _a.type,
|
|||
|
justify = _a.justify,
|
|||
|
align = _a.align,
|
|||
|
className = _a.className,
|
|||
|
style = _a.style,
|
|||
|
children = _a.children,
|
|||
|
others = __rest(_a, ["prefixCls", "type", "justify", "align", "className", "style", "children"]);
|
|||
|
|
|||
|
var prefixCls = getPrefixCls('row', customizePrefixCls);
|
|||
|
|
|||
|
var gutter = _this.getGutter();
|
|||
|
|
|||
|
var classes = (0, _classnames["default"])((_classNames = {}, _defineProperty(_classNames, prefixCls, !type), _defineProperty(_classNames, "".concat(prefixCls, "-").concat(type), type), _defineProperty(_classNames, "".concat(prefixCls, "-").concat(type, "-").concat(justify), type && justify), _defineProperty(_classNames, "".concat(prefixCls, "-").concat(type, "-").concat(align), type && align), _classNames), className);
|
|||
|
|
|||
|
var rowStyle = _extends(_extends(_extends({}, gutter[0] > 0 ? {
|
|||
|
marginLeft: gutter[0] / -2,
|
|||
|
marginRight: gutter[0] / -2
|
|||
|
} : {}), gutter[1] > 0 ? {
|
|||
|
marginTop: gutter[1] / -2,
|
|||
|
marginBottom: gutter[1] / -2
|
|||
|
} : {}), style);
|
|||
|
|
|||
|
var otherProps = _extends({}, others);
|
|||
|
|
|||
|
delete otherProps.gutter;
|
|||
|
return React.createElement(_RowContext["default"].Provider, {
|
|||
|
value: {
|
|||
|
gutter: gutter
|
|||
|
}
|
|||
|
}, React.createElement("div", _extends({}, otherProps, {
|
|||
|
className: classes,
|
|||
|
style: rowStyle
|
|||
|
}), children));
|
|||
|
};
|
|||
|
|
|||
|
return _this;
|
|||
|
}
|
|||
|
|
|||
|
_createClass(Row, [{
|
|||
|
key: "componentDidMount",
|
|||
|
value: function componentDidMount() {
|
|||
|
var _this2 = this;
|
|||
|
|
|||
|
this.token = _responsiveObserve["default"].subscribe(function (screens) {
|
|||
|
var gutter = _this2.props.gutter;
|
|||
|
|
|||
|
if (_typeof(gutter) === 'object' || Array.isArray(gutter) && (_typeof(gutter[0]) === 'object' || _typeof(gutter[1]) === 'object')) {
|
|||
|
_this2.setState({
|
|||
|
screens: screens
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "componentWillUnmount",
|
|||
|
value: function componentWillUnmount() {
|
|||
|
_responsiveObserve["default"].unsubscribe(this.token);
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "getGutter",
|
|||
|
value: function getGutter() {
|
|||
|
var results = [0, 0];
|
|||
|
var gutter = this.props.gutter;
|
|||
|
var screens = this.state.screens;
|
|||
|
var normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, 0];
|
|||
|
normalizedGutter.forEach(function (g, index) {
|
|||
|
if (_typeof(g) === 'object') {
|
|||
|
for (var i = 0; i < _responsiveObserve.responsiveArray.length; i++) {
|
|||
|
var breakpoint = _responsiveObserve.responsiveArray[i];
|
|||
|
|
|||
|
if (screens[breakpoint] && g[breakpoint] !== undefined) {
|
|||
|
results[index] = g[breakpoint];
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
} else {
|
|||
|
results[index] = g || 0;
|
|||
|
}
|
|||
|
});
|
|||
|
return results;
|
|||
|
}
|
|||
|
}, {
|
|||
|
key: "render",
|
|||
|
value: function render() {
|
|||
|
return React.createElement(_configProvider.ConfigConsumer, null, this.renderRow);
|
|||
|
}
|
|||
|
}]);
|
|||
|
|
|||
|
return Row;
|
|||
|
}(React.Component);
|
|||
|
|
|||
|
exports["default"] = Row;
|
|||
|
Row.defaultProps = {
|
|||
|
gutter: 0
|
|||
|
};
|
|||
|
Row.propTypes = {
|
|||
|
type: PropTypes.oneOf(['flex']),
|
|||
|
align: PropTypes.oneOf(RowAligns),
|
|||
|
justify: PropTypes.oneOf(RowJustify),
|
|||
|
className: PropTypes.string,
|
|||
|
children: PropTypes.node,
|
|||
|
gutter: PropTypes.oneOfType([PropTypes.object, PropTypes.number, PropTypes.array]),
|
|||
|
prefixCls: PropTypes.string
|
|||
|
};
|
|||
|
//# sourceMappingURL=row.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 978:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports["default"] = void 0;
|
|||
|
|
|||
|
var React = _interopRequireWildcard(__webpack_require__(0));
|
|||
|
|
|||
|
var PropTypes = _interopRequireWildcard(__webpack_require__(1));
|
|||
|
|
|||
|
var _classnames = _interopRequireDefault(__webpack_require__(3));
|
|||
|
|
|||
|
var _RowContext = _interopRequireDefault(__webpack_require__(900));
|
|||
|
|
|||
|
var _configProvider = __webpack_require__(11);
|
|||
|
|
|||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|||
|
|
|||
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|||
|
|
|||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|||
|
|
|||
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|||
|
|
|||
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|||
|
|
|||
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|||
|
|
|||
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|||
|
|
|||
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|||
|
|
|||
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|||
|
|
|||
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|||
|
|
|||
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|||
|
|
|||
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|||
|
|
|||
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|||
|
|
|||
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|||
|
|
|||
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|||
|
var t = {};
|
|||
|
|
|||
|
for (var p in s) {
|
|||
|
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|||
|
}
|
|||
|
|
|||
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|||
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|||
|
}
|
|||
|
return t;
|
|||
|
};
|
|||
|
|
|||
|
var objectOrNumber = PropTypes.oneOfType([PropTypes.object, PropTypes.number]);
|
|||
|
|
|||
|
var Col =
|
|||
|
/*#__PURE__*/
|
|||
|
function (_React$Component) {
|
|||
|
_inherits(Col, _React$Component);
|
|||
|
|
|||
|
function Col() {
|
|||
|
var _this;
|
|||
|
|
|||
|
_classCallCheck(this, Col);
|
|||
|
|
|||
|
_this = _possibleConstructorReturn(this, _getPrototypeOf(Col).apply(this, arguments));
|
|||
|
|
|||
|
_this.renderCol = function (_ref) {
|
|||
|
var _classNames;
|
|||
|
|
|||
|
var getPrefixCls = _ref.getPrefixCls;
|
|||
|
|
|||
|
var _assertThisInitialize = _assertThisInitialized(_this),
|
|||
|
props = _assertThisInitialize.props;
|
|||
|
|
|||
|
var customizePrefixCls = props.prefixCls,
|
|||
|
span = props.span,
|
|||
|
order = props.order,
|
|||
|
offset = props.offset,
|
|||
|
push = props.push,
|
|||
|
pull = props.pull,
|
|||
|
className = props.className,
|
|||
|
children = props.children,
|
|||
|
others = __rest(props, ["prefixCls", "span", "order", "offset", "push", "pull", "className", "children"]);
|
|||
|
|
|||
|
var prefixCls = getPrefixCls('col', customizePrefixCls);
|
|||
|
var sizeClassObj = {};
|
|||
|
['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].forEach(function (size) {
|
|||
|
var _extends2;
|
|||
|
|
|||
|
var sizeProps = {};
|
|||
|
var propSize = props[size];
|
|||
|
|
|||
|
if (typeof propSize === 'number') {
|
|||
|
sizeProps.span = propSize;
|
|||
|
} else if (_typeof(propSize) === 'object') {
|
|||
|
sizeProps = propSize || {};
|
|||
|
}
|
|||
|
|
|||
|
delete others[size];
|
|||
|
sizeClassObj = _extends(_extends({}, sizeClassObj), (_extends2 = {}, _defineProperty(_extends2, "".concat(prefixCls, "-").concat(size, "-").concat(sizeProps.span), sizeProps.span !== undefined), _defineProperty(_extends2, "".concat(prefixCls, "-").concat(size, "-order-").concat(sizeProps.order), sizeProps.order || sizeProps.order === 0), _defineProperty(_extends2, "".concat(prefixCls, "-").concat(size, "-offset-").concat(sizeProps.offset), sizeProps.offset || sizeProps.offset === 0), _defineProperty(_extends2, "".concat(prefixCls, "-").concat(size, "-push-").concat(sizeProps.push), sizeProps.push || sizeProps.push === 0), _defineProperty(_extends2, "".concat(prefixCls, "-").concat(size, "-pull-").concat(sizeProps.pull), sizeProps.pull || sizeProps.pull === 0), _extends2));
|
|||
|
});
|
|||
|
var classes = (0, _classnames["default"])(prefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-").concat(span), span !== undefined), _defineProperty(_classNames, "".concat(prefixCls, "-order-").concat(order), order), _defineProperty(_classNames, "".concat(prefixCls, "-offset-").concat(offset), offset), _defineProperty(_classNames, "".concat(prefixCls, "-push-").concat(push), push), _defineProperty(_classNames, "".concat(prefixCls, "-pull-").concat(pull), pull), _classNames), className, sizeClassObj);
|
|||
|
return React.createElement(_RowContext["default"].Consumer, null, function (_ref2) {
|
|||
|
var gutter = _ref2.gutter;
|
|||
|
var style = others.style;
|
|||
|
|
|||
|
if (gutter) {
|
|||
|
style = _extends(_extends(_extends({}, gutter[0] > 0 ? {
|
|||
|
paddingLeft: gutter[0] / 2,
|
|||
|
paddingRight: gutter[0] / 2
|
|||
|
} : {}), gutter[1] > 0 ? {
|
|||
|
paddingTop: gutter[1] / 2,
|
|||
|
paddingBottom: gutter[1] / 2
|
|||
|
} : {}), style);
|
|||
|
}
|
|||
|
|
|||
|
return React.createElement("div", _extends({}, others, {
|
|||
|
style: style,
|
|||
|
className: classes
|
|||
|
}), children);
|
|||
|
});
|
|||
|
};
|
|||
|
|
|||
|
return _this;
|
|||
|
}
|
|||
|
|
|||
|
_createClass(Col, [{
|
|||
|
key: "render",
|
|||
|
value: function render() {
|
|||
|
return React.createElement(_configProvider.ConfigConsumer, null, this.renderCol);
|
|||
|
}
|
|||
|
}]);
|
|||
|
|
|||
|
return Col;
|
|||
|
}(React.Component);
|
|||
|
|
|||
|
exports["default"] = Col;
|
|||
|
Col.propTypes = {
|
|||
|
span: PropTypes.number,
|
|||
|
order: PropTypes.number,
|
|||
|
offset: PropTypes.number,
|
|||
|
push: PropTypes.number,
|
|||
|
pull: PropTypes.number,
|
|||
|
className: PropTypes.string,
|
|||
|
children: PropTypes.node,
|
|||
|
xs: objectOrNumber,
|
|||
|
sm: objectOrNumber,
|
|||
|
md: objectOrNumber,
|
|||
|
lg: objectOrNumber,
|
|||
|
xl: objectOrNumber,
|
|||
|
xxl: objectOrNumber
|
|||
|
};
|
|||
|
//# sourceMappingURL=col.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 981:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
var MediaQueryDispatch = __webpack_require__(982);
|
|||
|
module.exports = new MediaQueryDispatch();
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 982:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
var MediaQuery = __webpack_require__(983);
|
|||
|
var Util = __webpack_require__(898);
|
|||
|
var each = Util.each;
|
|||
|
var isFunction = Util.isFunction;
|
|||
|
var isArray = Util.isArray;
|
|||
|
|
|||
|
/**
|
|||
|
* Allows for registration of query handlers.
|
|||
|
* Manages the query handler's state and is responsible for wiring up browser events
|
|||
|
*
|
|||
|
* @constructor
|
|||
|
*/
|
|||
|
function MediaQueryDispatch () {
|
|||
|
if(!window.matchMedia) {
|
|||
|
throw new Error('matchMedia not present, legacy browsers require a polyfill');
|
|||
|
}
|
|||
|
|
|||
|
this.queries = {};
|
|||
|
this.browserIsIncapable = !window.matchMedia('only all').matches;
|
|||
|
}
|
|||
|
|
|||
|
MediaQueryDispatch.prototype = {
|
|||
|
|
|||
|
constructor : MediaQueryDispatch,
|
|||
|
|
|||
|
/**
|
|||
|
* Registers a handler for the given media query
|
|||
|
*
|
|||
|
* @param {string} q the media query
|
|||
|
* @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers
|
|||
|
* @param {function} options.match fired when query matched
|
|||
|
* @param {function} [options.unmatch] fired when a query is no longer matched
|
|||
|
* @param {function} [options.setup] fired when handler first triggered
|
|||
|
* @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched
|
|||
|
* @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers
|
|||
|
*/
|
|||
|
register : function(q, options, shouldDegrade) {
|
|||
|
var queries = this.queries,
|
|||
|
isUnconditional = shouldDegrade && this.browserIsIncapable;
|
|||
|
|
|||
|
if(!queries[q]) {
|
|||
|
queries[q] = new MediaQuery(q, isUnconditional);
|
|||
|
}
|
|||
|
|
|||
|
//normalise to object in an array
|
|||
|
if(isFunction(options)) {
|
|||
|
options = { match : options };
|
|||
|
}
|
|||
|
if(!isArray(options)) {
|
|||
|
options = [options];
|
|||
|
}
|
|||
|
each(options, function(handler) {
|
|||
|
if (isFunction(handler)) {
|
|||
|
handler = { match : handler };
|
|||
|
}
|
|||
|
queries[q].addHandler(handler);
|
|||
|
});
|
|||
|
|
|||
|
return this;
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* unregisters a query and all it's handlers, or a specific handler for a query
|
|||
|
*
|
|||
|
* @param {string} q the media query to target
|
|||
|
* @param {object || function} [handler] specific handler to unregister
|
|||
|
*/
|
|||
|
unregister : function(q, handler) {
|
|||
|
var query = this.queries[q];
|
|||
|
|
|||
|
if(query) {
|
|||
|
if(handler) {
|
|||
|
query.removeHandler(handler);
|
|||
|
}
|
|||
|
else {
|
|||
|
query.clear();
|
|||
|
delete this.queries[q];
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return this;
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
module.exports = MediaQueryDispatch;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 983:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
var QueryHandler = __webpack_require__(984);
|
|||
|
var each = __webpack_require__(898).each;
|
|||
|
|
|||
|
/**
|
|||
|
* Represents a single media query, manages it's state and registered handlers for this query
|
|||
|
*
|
|||
|
* @constructor
|
|||
|
* @param {string} query the media query string
|
|||
|
* @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design
|
|||
|
*/
|
|||
|
function MediaQuery(query, isUnconditional) {
|
|||
|
this.query = query;
|
|||
|
this.isUnconditional = isUnconditional;
|
|||
|
this.handlers = [];
|
|||
|
this.mql = window.matchMedia(query);
|
|||
|
|
|||
|
var self = this;
|
|||
|
this.listener = function(mql) {
|
|||
|
// Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly
|
|||
|
self.mql = mql.currentTarget || mql;
|
|||
|
self.assess();
|
|||
|
};
|
|||
|
this.mql.addListener(this.listener);
|
|||
|
}
|
|||
|
|
|||
|
MediaQuery.prototype = {
|
|||
|
|
|||
|
constuctor : MediaQuery,
|
|||
|
|
|||
|
/**
|
|||
|
* add a handler for this query, triggering if already active
|
|||
|
*
|
|||
|
* @param {object} handler
|
|||
|
* @param {function} handler.match callback for when query is activated
|
|||
|
* @param {function} [handler.unmatch] callback for when query is deactivated
|
|||
|
* @param {function} [handler.setup] callback for immediate execution when a query handler is registered
|
|||
|
* @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?
|
|||
|
*/
|
|||
|
addHandler : function(handler) {
|
|||
|
var qh = new QueryHandler(handler);
|
|||
|
this.handlers.push(qh);
|
|||
|
|
|||
|
this.matches() && qh.on();
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* removes the given handler from the collection, and calls it's destroy methods
|
|||
|
*
|
|||
|
* @param {object || function} handler the handler to remove
|
|||
|
*/
|
|||
|
removeHandler : function(handler) {
|
|||
|
var handlers = this.handlers;
|
|||
|
each(handlers, function(h, i) {
|
|||
|
if(h.equals(handler)) {
|
|||
|
h.destroy();
|
|||
|
return !handlers.splice(i,1); //remove from array and exit each early
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* Determine whether the media query should be considered a match
|
|||
|
*
|
|||
|
* @return {Boolean} true if media query can be considered a match, false otherwise
|
|||
|
*/
|
|||
|
matches : function() {
|
|||
|
return this.mql.matches || this.isUnconditional;
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* Clears all handlers and unbinds events
|
|||
|
*/
|
|||
|
clear : function() {
|
|||
|
each(this.handlers, function(handler) {
|
|||
|
handler.destroy();
|
|||
|
});
|
|||
|
this.mql.removeListener(this.listener);
|
|||
|
this.handlers.length = 0; //clear array
|
|||
|
},
|
|||
|
|
|||
|
/*
|
|||
|
* Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match
|
|||
|
*/
|
|||
|
assess : function() {
|
|||
|
var action = this.matches() ? 'on' : 'off';
|
|||
|
|
|||
|
each(this.handlers, function(handler) {
|
|||
|
handler[action]();
|
|||
|
});
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
module.exports = MediaQuery;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 984:
|
|||
|
/***/ (function(module, exports) {
|
|||
|
|
|||
|
/**
|
|||
|
* Delegate to handle a media query being matched and unmatched.
|
|||
|
*
|
|||
|
* @param {object} options
|
|||
|
* @param {function} options.match callback for when the media query is matched
|
|||
|
* @param {function} [options.unmatch] callback for when the media query is unmatched
|
|||
|
* @param {function} [options.setup] one-time callback triggered the first time a query is matched
|
|||
|
* @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?
|
|||
|
* @constructor
|
|||
|
*/
|
|||
|
function QueryHandler(options) {
|
|||
|
this.options = options;
|
|||
|
!options.deferSetup && this.setup();
|
|||
|
}
|
|||
|
|
|||
|
QueryHandler.prototype = {
|
|||
|
|
|||
|
constructor : QueryHandler,
|
|||
|
|
|||
|
/**
|
|||
|
* coordinates setup of the handler
|
|||
|
*
|
|||
|
* @function
|
|||
|
*/
|
|||
|
setup : function() {
|
|||
|
if(this.options.setup) {
|
|||
|
this.options.setup();
|
|||
|
}
|
|||
|
this.initialised = true;
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* coordinates setup and triggering of the handler
|
|||
|
*
|
|||
|
* @function
|
|||
|
*/
|
|||
|
on : function() {
|
|||
|
!this.initialised && this.setup();
|
|||
|
this.options.match && this.options.match();
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* coordinates the unmatch event for the handler
|
|||
|
*
|
|||
|
* @function
|
|||
|
*/
|
|||
|
off : function() {
|
|||
|
this.options.unmatch && this.options.unmatch();
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* called when a handler is to be destroyed.
|
|||
|
* delegates to the destroy or unmatch callbacks, depending on availability.
|
|||
|
*
|
|||
|
* @function
|
|||
|
*/
|
|||
|
destroy : function() {
|
|||
|
this.options.destroy ? this.options.destroy() : this.off();
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* determines equality by reference.
|
|||
|
* if object is supplied compare options, if function, compare match callback
|
|||
|
*
|
|||
|
* @function
|
|||
|
* @param {object || function} [target] the target for comparison
|
|||
|
*/
|
|||
|
equals : function(target) {
|
|||
|
return this.options === target || this.options.match === target;
|
|||
|
}
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
module.exports = QueryHandler;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 990:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|||
|
|
|||
|
// load the styles
|
|||
|
var content = __webpack_require__(991);
|
|||
|
if(typeof content === 'string') content = [[module.i, content, '']];
|
|||
|
// Prepare cssTransformation
|
|||
|
var transform;
|
|||
|
|
|||
|
var options = {"hmr":false}
|
|||
|
options.transform = transform
|
|||
|
// add the styles to the DOM
|
|||
|
var update = __webpack_require__(300)(content, options);
|
|||
|
if(content.locals) module.exports = content.locals;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 991:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
exports = module.exports = __webpack_require__(299)(true);
|
|||
|
// imports
|
|||
|
|
|||
|
|
|||
|
// module
|
|||
|
exports.push([module.i, ".ant-row{position:relative;height:auto;margin-right:0;margin-left:0;zoom:1;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}.ant-row:after,.ant-row:before{display:table;content:\"\"}.ant-row:after{clear:both}.ant-row-flex{-ms-flex-flow:row wrap;flex-flow:row wrap}.ant-row-flex,.ant-row-flex:after,.ant-row-flex:before{display:-ms-flexbox;display:flex}.ant-row-flex-start{-ms-flex-pack:start;justify-content:flex-start}.ant-row-flex-center{-ms-flex-pack:center;justify-content:center}.ant-row-flex-end{-ms-flex-pack:end;justify-content:flex-end}.ant-row-flex-space-between{-ms-flex-pack:justify;justify-content:space-between}.ant-row-flex-space-around{-ms-flex-pack:distribute;justify-content:space-around}.ant-row-flex-top{-ms-flex-align:start;align-items:flex-start}.ant-row-flex-middle{-ms-flex-align:center;align-items:center}.ant-row-flex-bottom{-ms-flex-align:end;align-items:flex-end}.ant-col{position:relative;min-height:1px}.ant-col-1,.ant-col-2,.ant-col-3,.ant-col-4,.ant-col-5,.ant-col-6,.ant-col-7,.ant-col-8,.ant-col-9,.ant-col-10,.ant-col-11,.ant-col-12,.ant-col-13,.ant-col-14,.ant-col-15,.ant-col-16,.ant-col-17,.ant-col-18,.ant-col-19,.ant-col-20,.ant-col-21,.ant-col-22,.ant-col-23,.ant-col-24,.ant-col-lg-1,.ant-col-lg-2,.ant-col-lg-3,.ant-col-lg-4,.ant-col-lg-5,.ant-col-lg-6,.ant-col-lg-7,.ant-col-lg-8,.ant-col-lg-9,.ant-col-lg-10,.ant-col-lg-11,.ant-col-lg-12,.ant-col-lg-13,.ant-col-lg-14,.ant-col-lg-15,.ant-col-lg-16,.ant-col-lg-17,.ant-col-lg-18,.ant-col-lg-19,.ant-col-lg-20,.ant-col-lg-21,.ant-col-lg-22,.ant-col-lg-23,.ant-col-lg-24,.ant-col-md-1,.ant-col-md-2,.ant-col-md-3,.ant-col-md-4,.ant-col-md-5,.ant-col-md-6,.ant-col-md-7,.ant-col-md-8,.ant-col-md-9,.ant-col-md-10,.ant-col-md-11,.ant-col-md-12,.ant-col-md-13,.ant-col-md-14,.ant-col-md-15,.ant-col-md-16,.ant-col-md-17,.ant-col-md-18,.ant-col-md-19,.ant-col-md-20,.ant-col-md-21,.ant-col-md-22,.ant-col-md-23,.ant-col-md-24,.ant-col-sm-1,.ant-col-sm-2,.ant-col-sm-3,.ant-col-sm-4,.ant-col-sm-5,.ant-col-sm-6,.ant-col-sm-7,.ant-col-sm-8,.ant-col-sm-9,.ant-col-sm-10,.ant-col-sm-11,.ant-col-sm-12,.ant-col-sm-13,.ant-col-sm-14,.ant-col-sm-15,.ant-col-sm-16,.ant-col-sm-17,.ant-col-sm-18,.ant-col-sm-19,.ant-col-sm-20,.ant-col-sm-21,.ant-col-sm-22,.ant-col-sm-23,.ant-col-sm-24,.ant-col-xs-1,.ant-col-xs-2,.ant-col-xs-3,.ant-col-xs-4,.ant-col-xs-5,.ant-col-xs-6,.ant-col-xs-7,.ant-col-xs-8,.ant-col-xs-9,.ant-col-xs-10,.ant-col-xs-11,.ant-col-xs-12,.ant-col-xs-13,.ant-col-xs-14,.ant-col-xs-15,.ant-col-xs-16,.ant-col-xs-17,.ant-col-xs-18,.ant-col-xs-19,.ant-col-xs-20,.ant-col-xs-21,.ant-col-xs-22,.ant-col-xs-23,.ant-col-xs-24{position:relative;padding-right:0;padding-left:0}.ant-col-1,.ant-col-2,.ant-col-3,.ant-col-4,.ant-col-5,.ant-col-6,.ant-col-7,.ant-col-8,.ant-col-9,.ant-col-10,.ant-col-11,.ant-col-12,.ant-col-13,.ant-col-14,.ant-col-15,.ant-col-16,.ant-col-17,.ant-col-18,.ant-col-19,.ant-col-20,.ant-col-21,.ant-col-22,.ant-col-23,.ant-col-24{-ms-flex:0 0 auto;flex:0 0 auto;float:left}.ant-col-24{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.ant-col-push-24{left:100%}.ant-col-pull-24{right:100%}.ant-col-offset-24{margin-left:100%}.ant-col-order-24{-ms-flex-order:24;order:24}.ant-col-23{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:95.83333333%}.ant-col-push-23{left:95.83333333%}.ant-col-pull-23{right:95.83333333%}.ant-col-offset-23{margin-left:95.83333333%}.ant-col-order-23{-ms-flex-order:23;order:23}.ant-col-22{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:91.66666667%}.ant-col-push-22{left:91.66666667%}.ant-col-pull-22{right:91.66666667%}.ant-col-offset-22{margin-left:91.66666667%}.ant-col-order-22{-ms-flex-order:22;order:22}.ant-col-21{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:87.5%}.ant-col-push-21{left:87.5%}.ant-col-pull-21{right:87.5%}.ant-col-offset-21{margin-left:87.5%}.ant-col-order-21{-ms-flex-order:21;order:21}.ant-col-20{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:83.33333333%}.
|
|||
|
|
|||
|
// exports
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 992:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports["default"] = exports.responsiveMap = exports.responsiveArray = void 0;
|
|||
|
|
|||
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|||
|
|
|||
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|||
|
|
|||
|
// matchMedia polyfill for
|
|||
|
// https://github.com/WickyNilliams/enquire.js/issues/82
|
|||
|
var enquire; // TODO: Will be removed in antd 4.0 because we will no longer support ie9
|
|||
|
|
|||
|
if (typeof window !== 'undefined') {
|
|||
|
var matchMediaPolyfill = function matchMediaPolyfill(mediaQuery) {
|
|||
|
return {
|
|||
|
media: mediaQuery,
|
|||
|
matches: false,
|
|||
|
addListener: function addListener() {},
|
|||
|
removeListener: function removeListener() {}
|
|||
|
};
|
|||
|
}; // ref: https://github.com/ant-design/ant-design/issues/18774
|
|||
|
|
|||
|
|
|||
|
if (!window.matchMedia) window.matchMedia = matchMediaPolyfill; // eslint-disable-next-line global-require
|
|||
|
|
|||
|
enquire = __webpack_require__(981);
|
|||
|
}
|
|||
|
|
|||
|
var responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];
|
|||
|
exports.responsiveArray = responsiveArray;
|
|||
|
var responsiveMap = {
|
|||
|
xs: '(max-width: 575px)',
|
|||
|
sm: '(min-width: 576px)',
|
|||
|
md: '(min-width: 768px)',
|
|||
|
lg: '(min-width: 992px)',
|
|||
|
xl: '(min-width: 1200px)',
|
|||
|
xxl: '(min-width: 1600px)'
|
|||
|
};
|
|||
|
exports.responsiveMap = responsiveMap;
|
|||
|
var subscribers = [];
|
|||
|
var subUid = -1;
|
|||
|
var screens = {};
|
|||
|
var responsiveObserve = {
|
|||
|
dispatch: function dispatch(pointMap) {
|
|||
|
screens = pointMap;
|
|||
|
|
|||
|
if (subscribers.length < 1) {
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
subscribers.forEach(function (item) {
|
|||
|
item.func(screens);
|
|||
|
});
|
|||
|
return true;
|
|||
|
},
|
|||
|
subscribe: function subscribe(func) {
|
|||
|
if (subscribers.length === 0) {
|
|||
|
this.register();
|
|||
|
}
|
|||
|
|
|||
|
var token = (++subUid).toString();
|
|||
|
subscribers.push({
|
|||
|
token: token,
|
|||
|
func: func
|
|||
|
});
|
|||
|
func(screens);
|
|||
|
return token;
|
|||
|
},
|
|||
|
unsubscribe: function unsubscribe(token) {
|
|||
|
subscribers = subscribers.filter(function (item) {
|
|||
|
return item.token !== token;
|
|||
|
});
|
|||
|
|
|||
|
if (subscribers.length === 0) {
|
|||
|
this.unregister();
|
|||
|
}
|
|||
|
},
|
|||
|
unregister: function unregister() {
|
|||
|
Object.keys(responsiveMap).map(function (screen) {
|
|||
|
return enquire.unregister(responsiveMap[screen]);
|
|||
|
});
|
|||
|
},
|
|||
|
register: function register() {
|
|||
|
var _this = this;
|
|||
|
|
|||
|
Object.keys(responsiveMap).map(function (screen) {
|
|||
|
return enquire.register(responsiveMap[screen], {
|
|||
|
match: function match() {
|
|||
|
var pointMap = _extends(_extends({}, screens), _defineProperty({}, screen, true));
|
|||
|
|
|||
|
_this.dispatch(pointMap);
|
|||
|
},
|
|||
|
unmatch: function unmatch() {
|
|||
|
var pointMap = _extends(_extends({}, screens), _defineProperty({}, screen, false));
|
|||
|
|
|||
|
_this.dispatch(pointMap);
|
|||
|
},
|
|||
|
// Keep a empty destory to avoid triggering unmatch when unregister
|
|||
|
destroy: function destroy() {}
|
|||
|
});
|
|||
|
});
|
|||
|
}
|
|||
|
};
|
|||
|
var _default = responsiveObserve;
|
|||
|
exports["default"] = _default;
|
|||
|
//# sourceMappingURL=responsiveObserve.js.map
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 993:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
module.exports = { "default": __webpack_require__(998), __esModule: true };
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 998:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
__webpack_require__(184);
|
|||
|
__webpack_require__(999);
|
|||
|
module.exports = __webpack_require__(19).Array.from;
|
|||
|
|
|||
|
|
|||
|
/***/ }),
|
|||
|
|
|||
|
/***/ 999:
|
|||
|
/***/ (function(module, exports, __webpack_require__) {
|
|||
|
|
|||
|
"use strict";
|
|||
|
|
|||
|
var ctx = __webpack_require__(61);
|
|||
|
var $export = __webpack_require__(30);
|
|||
|
var toObject = __webpack_require__(62);
|
|||
|
var call = __webpack_require__(317);
|
|||
|
var isArrayIter = __webpack_require__(318);
|
|||
|
var toLength = __webpack_require__(113);
|
|||
|
var createProperty = __webpack_require__(1000);
|
|||
|
var getIterFn = __webpack_require__(316);
|
|||
|
|
|||
|
$export($export.S + $export.F * !__webpack_require__(1001)(function (iter) { Array.from(iter); }), 'Array', {
|
|||
|
// 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
|
|||
|
from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
|
|||
|
var O = toObject(arrayLike);
|
|||
|
var C = typeof this == 'function' ? this : Array;
|
|||
|
var aLen = arguments.length;
|
|||
|
var mapfn = aLen > 1 ? arguments[1] : undefined;
|
|||
|
var mapping = mapfn !== undefined;
|
|||
|
var index = 0;
|
|||
|
var iterFn = getIterFn(O);
|
|||
|
var length, result, step, iterator;
|
|||
|
if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
|
|||
|
// if object isn't iterable or it's array with default iterator - use simple case
|
|||
|
if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
|
|||
|
for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
|
|||
|
createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
|
|||
|
}
|
|||
|
} else {
|
|||
|
length = toLength(O.length);
|
|||
|
for (result = new C(length); length > index; index++) {
|
|||
|
createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
|
|||
|
}
|
|||
|
}
|
|||
|
result.length = index;
|
|||
|
return result;
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
/***/ })
|
|||
|
|
|||
|
});
|