@ccs-ui/rc-pro 1.0.7-rc.3 → 1.0.7-rc.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/cascader/index.d.ts +1 -1
- package/es/cascader/index.js +3 -2
- package/es/context/index.d.ts +25 -12
- package/es/context/index.js +1 -6
- package/es/date-picker/index.d.ts +1 -1
- package/es/date-picker/index.js +2 -2
- package/es/dialog/HookDrawer.d.ts +8 -0
- package/es/dialog/HookDrawer.js +103 -0
- package/es/dialog/HookModal.d.ts +8 -0
- package/es/dialog/HookModal.js +173 -0
- package/es/dialog/button.d.ts +10 -0
- package/es/dialog/button.js +47 -0
- package/es/dialog/context.d.ts +11 -0
- package/es/dialog/context.js +10 -0
- package/es/dialog/dialog.d.ts +41 -0
- package/es/dialog/dialog.js +167 -0
- package/es/dialog/form.d.ts +13 -0
- package/es/dialog/form.js +47 -0
- package/es/dialog/index.d.ts +11 -0
- package/es/dialog/index.js +9 -0
- package/es/dialog/index.less +28 -0
- package/es/dialog/usePatchElement.d.ts +5 -0
- package/es/dialog/usePatchElement.js +35 -0
- package/es/drawer/index.d.ts +3 -0
- package/es/drawer/index.js +3 -0
- package/es/drawer/open/index.js +1 -6
- package/es/hooks/use-tabs.d.ts +1 -1
- package/es/hooks/use-window.d.ts +4 -0
- package/es/hooks/use-window.js +5 -0
- package/es/index.d.ts +3 -0
- package/es/index.js +3 -0
- package/es/interval-button/index.js +1 -1
- package/es/modal/index.d.ts +3 -0
- package/es/modal/index.js +3 -0
- package/es/pro-table/index.js +36 -23
- package/es/pro-table/search.d.ts +1 -1
- package/es/pro-table/search.js +20 -8
- package/es/pro-tabs/index.js +102 -31
- package/es/select/index.d.ts +1 -1
- package/es/select/index.js +3 -2
- package/es/status-tag/index.d.ts +9 -0
- package/es/status-tag/index.js +26 -0
- package/es/time-picker/index.d.ts +1 -1
- package/es/time-picker/index.js +2 -2
- package/es/upload/index.d.ts +14 -0
- package/es/upload/index.js +72 -0
- package/es/upload/upload-image.d.ts +8 -0
- package/es/upload/upload-image.js +132 -0
- package/es/utils/index.d.ts +12 -0
- package/es/utils/index.js +34 -0
- package/package.json +3 -1
package/es/cascader/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ type ApiCascaderProps = CascaderProps & {
|
|
|
14
14
|
/** 依赖参数 */
|
|
15
15
|
defaultParams?: RecordType;
|
|
16
16
|
/** 查询请求 */
|
|
17
|
-
onQuery?: (
|
|
17
|
+
onQuery?: (params?: any) => Promise<HttpResult<any[]>>;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
20
|
* 基于接口查询的select组件
|
package/es/cascader/index.js
CHANGED
|
@@ -23,7 +23,8 @@ import React, { useEffect } from 'react';
|
|
|
23
23
|
export default function CcsApiCascader(_ref) {
|
|
24
24
|
var onQuery = _ref.onQuery,
|
|
25
25
|
cache = _ref.cache,
|
|
26
|
-
defaultParams = _ref.defaultParams,
|
|
26
|
+
_ref$defaultParams = _ref.defaultParams,
|
|
27
|
+
defaultParams = _ref$defaultParams === void 0 ? {} : _ref$defaultParams,
|
|
27
28
|
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
28
29
|
var _useRequest = useRequest( /*#__PURE__*/function () {
|
|
29
30
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
|
|
@@ -60,7 +61,7 @@ export default function CcsApiCascader(_ref) {
|
|
|
60
61
|
run = _useRequest.run;
|
|
61
62
|
useEffect(function () {
|
|
62
63
|
if (onQuery) run(defaultParams);
|
|
63
|
-
}, [defaultParams]);
|
|
64
|
+
}, [JSON.stringify(defaultParams)]);
|
|
64
65
|
return /*#__PURE__*/React.createElement(Cascader, _extends({
|
|
65
66
|
options: data,
|
|
66
67
|
loading: loading,
|
package/es/context/index.d.ts
CHANGED
|
@@ -1,20 +1,33 @@
|
|
|
1
|
+
import { TabPaneProps } from 'antd';
|
|
1
2
|
import { Store } from 'antd/es/form/interface';
|
|
2
3
|
import { Location } from 'history';
|
|
3
|
-
import { Tab } from 'rc-tabs/lib/interface';
|
|
4
4
|
import React from 'react';
|
|
5
|
-
import { CcsUserDetailType } from '..';
|
|
6
|
-
|
|
5
|
+
import { CcsUserDetailType, RecordType } from '..';
|
|
6
|
+
type CcsTabsChangeProps = {
|
|
7
|
+
/** 当前激活tab面板的key */
|
|
8
|
+
activeKey?: string;
|
|
9
|
+
/** 启用tab keys */
|
|
10
|
+
enableKeys?: string[];
|
|
11
|
+
/** 禁用tab keys */
|
|
12
|
+
disableKeys?: string[];
|
|
13
|
+
/** tab间传递的参数 */
|
|
14
|
+
options?: RecordType;
|
|
15
|
+
};
|
|
16
|
+
export type CcsTabProps = Omit<TabPaneProps, 'tab'> & {
|
|
17
|
+
key: string;
|
|
18
|
+
label: React.ReactNode;
|
|
19
|
+
};
|
|
20
|
+
interface CcsTabsContextType {
|
|
7
21
|
/** 当前激活tab面板的key */
|
|
8
22
|
activeKey: string;
|
|
9
|
-
/** Tabs items */
|
|
10
|
-
items: Tab[];
|
|
11
23
|
/** tab间传递的参数 */
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
24
|
+
options: RecordType;
|
|
25
|
+
/** 添加tab */
|
|
26
|
+
onAddTabs: (tab: CcsTabProps | CcsTabProps[]) => void;
|
|
27
|
+
/** 移除tab */
|
|
28
|
+
onRemoveTabs: (key: string | string[]) => void;
|
|
16
29
|
/** 改变tab间传递的参数 */
|
|
17
|
-
|
|
30
|
+
onTabChange: (tab: CcsTabsChangeProps) => void;
|
|
18
31
|
}
|
|
19
32
|
type PageContextType = {
|
|
20
33
|
/** ID */
|
|
@@ -41,6 +54,6 @@ interface FnContextType<T = Store> {
|
|
|
41
54
|
declare const GlobalContext: React.Context<GlobalContextType>;
|
|
42
55
|
declare const DrawerAndModalContext: React.Context<FnContextType<any>>;
|
|
43
56
|
declare const PageContext: React.Context<PageContextType>;
|
|
44
|
-
declare const TabsContext: React.Context<
|
|
45
|
-
export type {
|
|
57
|
+
declare const TabsContext: React.Context<CcsTabsContextType>;
|
|
58
|
+
export type { FnContextType, CcsTabsContextType, CcsTabsChangeProps, GlobalContextPropsType, };
|
|
46
59
|
export { TabsContext, PageContext, GlobalContext, DrawerAndModalContext };
|
package/es/context/index.js
CHANGED
|
@@ -2,10 +2,5 @@ import React, { createContext } from 'react';
|
|
|
2
2
|
var GlobalContext = /*#__PURE__*/createContext({});
|
|
3
3
|
var DrawerAndModalContext = /*#__PURE__*/createContext({});
|
|
4
4
|
var PageContext = /*#__PURE__*/createContext({});
|
|
5
|
-
var TabsContext = /*#__PURE__*/React.createContext({
|
|
6
|
-
items: [],
|
|
7
|
-
activeKey: '',
|
|
8
|
-
option: {},
|
|
9
|
-
onChange: function onChange() {}
|
|
10
|
-
});
|
|
5
|
+
var TabsContext = /*#__PURE__*/React.createContext({});
|
|
11
6
|
export { TabsContext, PageContext, GlobalContext, DrawerAndModalContext };
|
|
@@ -16,6 +16,6 @@ type CcsRangePickerProps = {
|
|
|
16
16
|
} & Omit<RangePickerProps, 'value' | 'onChange'>;
|
|
17
17
|
declare function CcsDatePicker({ value, onChange, ...restProps }: CcsDatePickerProps): React.JSX.Element;
|
|
18
18
|
declare namespace CcsDatePicker {
|
|
19
|
-
var
|
|
19
|
+
var RangePicker: ({ value, onChange, ...restProps }: CcsRangePickerProps) => React.JSX.Element;
|
|
20
20
|
}
|
|
21
21
|
export default CcsDatePicker;
|
package/es/date-picker/index.js
CHANGED
|
@@ -34,7 +34,7 @@ function CcsDatePicker(_ref) {
|
|
|
34
34
|
onChange: handleOnChange
|
|
35
35
|
}, restProps));
|
|
36
36
|
}
|
|
37
|
-
function
|
|
37
|
+
function RangePicker(_ref2) {
|
|
38
38
|
var value = _ref2.value,
|
|
39
39
|
onChange = _ref2.onChange,
|
|
40
40
|
restProps = _objectWithoutProperties(_ref2, _excluded2);
|
|
@@ -55,5 +55,5 @@ function RangPicker(_ref2) {
|
|
|
55
55
|
onChange: handleOnChange
|
|
56
56
|
}, restProps));
|
|
57
57
|
}
|
|
58
|
-
CcsDatePicker.
|
|
58
|
+
CcsDatePicker.RangePicker = RangePicker;
|
|
59
59
|
export default CcsDatePicker;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CcsDialogDrawer, CcsDialogDrawerProps } from './dialog';
|
|
3
|
+
export interface HookDrawerProps {
|
|
4
|
+
afterClose: () => void;
|
|
5
|
+
config: CcsDialogDrawerProps;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: React.ForwardRefExoticComponent<HookDrawerProps & React.RefAttributes<CcsDialogDrawer>>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
import { Drawer } from 'antd';
|
|
15
|
+
import classNames from 'classnames';
|
|
16
|
+
import React, { forwardRef, useImperativeHandle, useState } from 'react';
|
|
17
|
+
import { ModalContentContext } from "./context";
|
|
18
|
+
import DialogForm from "./form";
|
|
19
|
+
var HookDrawer = function HookDrawer(_ref, ref) {
|
|
20
|
+
var _config$form;
|
|
21
|
+
var hookAfterClose = _ref.afterClose,
|
|
22
|
+
config = _ref.config;
|
|
23
|
+
var _useState = useState(function () {
|
|
24
|
+
if (config.open === undefined) {
|
|
25
|
+
return _objectSpread(_objectSpread({}, config), {}, {
|
|
26
|
+
open: true
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return config;
|
|
30
|
+
}),
|
|
31
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
+
innerConfig = _useState2[0],
|
|
33
|
+
setInnerConfig = _useState2[1];
|
|
34
|
+
var _useState3 = useState(false),
|
|
35
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
36
|
+
hasButtons = _useState4[0],
|
|
37
|
+
setHasButtons = _useState4[1];
|
|
38
|
+
var afterClose = function afterClose() {
|
|
39
|
+
hookAfterClose();
|
|
40
|
+
};
|
|
41
|
+
var close = function close() {
|
|
42
|
+
setInnerConfig(function (c) {
|
|
43
|
+
return _objectSpread(_objectSpread({}, c), {}, {
|
|
44
|
+
open: false
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
useImperativeHandle(ref, function () {
|
|
49
|
+
return {
|
|
50
|
+
destroy: close,
|
|
51
|
+
update: function update(newConfig) {
|
|
52
|
+
setInnerConfig(function (originConfig) {
|
|
53
|
+
return _objectSpread(_objectSpread({}, originConfig), newConfig);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
var onGetContainer = function onGetContainer() {
|
|
59
|
+
var doms = document.body.querySelectorAll("[id*=\"_tab_content_\"][data-display=\"true\"]");
|
|
60
|
+
if (doms.length > 0) {
|
|
61
|
+
return doms[0];
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
};
|
|
65
|
+
var isCrInProp = ('getContainer' in innerConfig);
|
|
66
|
+
return /*#__PURE__*/React.createElement(Drawer, _extends({
|
|
67
|
+
onClose: close,
|
|
68
|
+
afterOpenChange: function afterOpenChange(open) {
|
|
69
|
+
if (!open) afterClose();
|
|
70
|
+
}
|
|
71
|
+
}, innerConfig, {
|
|
72
|
+
className: classNames('ccs-dialog-drawer', innerConfig.className),
|
|
73
|
+
maskStyle: _objectSpread({
|
|
74
|
+
background: 'rgba(0, 0, 0, 0.1)'
|
|
75
|
+
}, innerConfig.maskStyle),
|
|
76
|
+
bodyStyle: _objectSpread(_objectSpread({}, hasButtons ? {
|
|
77
|
+
marginBottom: 80
|
|
78
|
+
} : {}), config.form ? {
|
|
79
|
+
padding: 0
|
|
80
|
+
} : innerConfig.bodyStyle),
|
|
81
|
+
rootStyle: _objectSpread(_objectSpread({}, !isCrInProp ? {
|
|
82
|
+
position: 'absolute'
|
|
83
|
+
} : {}), innerConfig.rootStyle),
|
|
84
|
+
contentWrapperStyle: _objectSpread(_objectSpread({}, !isCrInProp ? {
|
|
85
|
+
boxShadow: 'none'
|
|
86
|
+
} : {}), innerConfig.contentWrapperStyle),
|
|
87
|
+
getContainer: isCrInProp ? innerConfig.getContainer : onGetContainer
|
|
88
|
+
}), /*#__PURE__*/React.createElement(ModalContentContext.Provider, {
|
|
89
|
+
value: {
|
|
90
|
+
closeDialog: close,
|
|
91
|
+
onHasButtons: function onHasButtons() {
|
|
92
|
+
return setHasButtons(true);
|
|
93
|
+
},
|
|
94
|
+
formInitialValues: ((_config$form = config.form) === null || _config$form === void 0 ? void 0 : _config$form.initialValues) || {}
|
|
95
|
+
}
|
|
96
|
+
}, config.form ? /*#__PURE__*/React.createElement(DialogForm, {
|
|
97
|
+
formProps: config.form,
|
|
98
|
+
bodyStyle: _objectSpread({
|
|
99
|
+
padding: 24
|
|
100
|
+
}, innerConfig.bodyStyle)
|
|
101
|
+
}, config.content) : config.content));
|
|
102
|
+
};
|
|
103
|
+
export default /*#__PURE__*/forwardRef(HookDrawer);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CcsDialogModal, CcsDialogModalProps } from './dialog';
|
|
3
|
+
export interface HookModalProps {
|
|
4
|
+
afterClose: () => void;
|
|
5
|
+
config: CcsDialogModalProps;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: React.ForwardRefExoticComponent<HookModalProps & React.RefAttributes<CcsDialogModal>>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
3
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
4
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
5
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
6
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
16
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
17
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
18
|
+
import { Modal } from 'antd';
|
|
19
|
+
import classNames from 'classnames';
|
|
20
|
+
import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';
|
|
21
|
+
import Draggable from 'react-draggable';
|
|
22
|
+
import { ModalContentContext } from "./context";
|
|
23
|
+
import DialogForm from "./form";
|
|
24
|
+
var DragModal = function DragModal(_ref) {
|
|
25
|
+
var modal = _ref.modal,
|
|
26
|
+
dragState = _ref.dragState,
|
|
27
|
+
onDragState = _ref.onDragState;
|
|
28
|
+
var draggleRef = useRef(null);
|
|
29
|
+
var _onStart = function onStart(event, uiData) {
|
|
30
|
+
var _draggleRef$current;
|
|
31
|
+
var _window$document$docu = window.document.documentElement,
|
|
32
|
+
clientWidth = _window$document$docu.clientWidth,
|
|
33
|
+
clientHeight = _window$document$docu.clientHeight;
|
|
34
|
+
var targetRect = (_draggleRef$current = draggleRef.current) === null || _draggleRef$current === void 0 ? void 0 : _draggleRef$current.getBoundingClientRect();
|
|
35
|
+
if (!targetRect) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
onDragState(function (e) {
|
|
39
|
+
return _objectSpread(_objectSpread({}, e), {}, {
|
|
40
|
+
bounds: {
|
|
41
|
+
left: -targetRect.left + uiData.x,
|
|
42
|
+
right: clientWidth - (targetRect.right - uiData.x),
|
|
43
|
+
top: -targetRect.top + uiData.y,
|
|
44
|
+
bottom: clientHeight - (targetRect.bottom - uiData.y)
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
return /*#__PURE__*/React.createElement(Draggable, {
|
|
50
|
+
disabled: dragState.disabled,
|
|
51
|
+
bounds: dragState.bounds,
|
|
52
|
+
onStart: function onStart(event, uiData) {
|
|
53
|
+
return _onStart(event, uiData);
|
|
54
|
+
}
|
|
55
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
56
|
+
ref: draggleRef
|
|
57
|
+
}, modal));
|
|
58
|
+
};
|
|
59
|
+
var HookModal = function HookModal(_ref2, ref) {
|
|
60
|
+
var _config$form;
|
|
61
|
+
var hookAfterClose = _ref2.afterClose,
|
|
62
|
+
config = _ref2.config;
|
|
63
|
+
var _useState = useState(function () {
|
|
64
|
+
if (config.open === undefined) {
|
|
65
|
+
return _objectSpread(_objectSpread({}, config), {}, {
|
|
66
|
+
open: true
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return config;
|
|
70
|
+
}),
|
|
71
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
72
|
+
innerConfig = _useState2[0],
|
|
73
|
+
setInnerConfig = _useState2[1];
|
|
74
|
+
var _useState3 = useState({
|
|
75
|
+
disabled: true,
|
|
76
|
+
bounds: {
|
|
77
|
+
left: 0,
|
|
78
|
+
top: 0,
|
|
79
|
+
bottom: 0,
|
|
80
|
+
right: 0
|
|
81
|
+
}
|
|
82
|
+
}),
|
|
83
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
84
|
+
dragState = _useState4[0],
|
|
85
|
+
setDragState = _useState4[1];
|
|
86
|
+
var _useState5 = useState(false),
|
|
87
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
88
|
+
hasButtons = _useState6[0],
|
|
89
|
+
setHasButtons = _useState6[1];
|
|
90
|
+
var afterClose = function afterClose() {
|
|
91
|
+
var _innerConfig$afterClo;
|
|
92
|
+
if (config.destroyOnClose !== false) hookAfterClose();
|
|
93
|
+
(_innerConfig$afterClo = innerConfig.afterClose) === null || _innerConfig$afterClo === void 0 ? void 0 : _innerConfig$afterClo.call(innerConfig);
|
|
94
|
+
};
|
|
95
|
+
var close = function close() {
|
|
96
|
+
setInnerConfig(function (c) {
|
|
97
|
+
return _objectSpread(_objectSpread({}, c), {}, {
|
|
98
|
+
open: false
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
102
|
+
args[_key] = arguments[_key];
|
|
103
|
+
}
|
|
104
|
+
var triggerCancel = args.some(function (param) {
|
|
105
|
+
return param && param.triggerCancel;
|
|
106
|
+
});
|
|
107
|
+
if (innerConfig.onCancel && triggerCancel) {
|
|
108
|
+
innerConfig.onCancel.apply(innerConfig, [function () {}].concat(_toConsumableArray(args.slice(1))));
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
useImperativeHandle(ref, function () {
|
|
112
|
+
return {
|
|
113
|
+
destroy: close,
|
|
114
|
+
update: function update(newConfig) {
|
|
115
|
+
setInnerConfig(function (originConfig) {
|
|
116
|
+
return _objectSpread(_objectSpread({}, originConfig), newConfig);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
return /*#__PURE__*/React.createElement(Modal, _extends({
|
|
122
|
+
onCancel: close,
|
|
123
|
+
afterClose: afterClose
|
|
124
|
+
}, innerConfig, {
|
|
125
|
+
bodyStyle: _objectSpread(_objectSpread({
|
|
126
|
+
position: 'relative'
|
|
127
|
+
}, innerConfig.bodyStyle), hasButtons ? {
|
|
128
|
+
paddingBottom: 44
|
|
129
|
+
} : {}),
|
|
130
|
+
className: classNames('ccs-dialog-modal', innerConfig.className),
|
|
131
|
+
footer: null,
|
|
132
|
+
title: config.isDrag ? /*#__PURE__*/React.createElement("div", {
|
|
133
|
+
style: {
|
|
134
|
+
width: '100%',
|
|
135
|
+
cursor: 'move'
|
|
136
|
+
},
|
|
137
|
+
onMouseOver: function onMouseOver() {
|
|
138
|
+
if (dragState.disabled) {
|
|
139
|
+
setDragState(function (e) {
|
|
140
|
+
return _objectSpread(_objectSpread({}, e), {}, {
|
|
141
|
+
disabled: false
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
onMouseOut: function onMouseOut() {
|
|
147
|
+
setDragState(function (e) {
|
|
148
|
+
return _objectSpread(_objectSpread({}, e), {}, {
|
|
149
|
+
disabled: true
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}, config.title) : config.title,
|
|
154
|
+
modalRender: config.isDrag ? function (modal) {
|
|
155
|
+
return /*#__PURE__*/React.createElement(DragModal, {
|
|
156
|
+
modal: modal,
|
|
157
|
+
dragState: dragState,
|
|
158
|
+
onDragState: setDragState
|
|
159
|
+
});
|
|
160
|
+
} : undefined
|
|
161
|
+
}), /*#__PURE__*/React.createElement(ModalContentContext.Provider, {
|
|
162
|
+
value: {
|
|
163
|
+
closeDialog: close,
|
|
164
|
+
onHasButtons: function onHasButtons() {
|
|
165
|
+
return setHasButtons(true);
|
|
166
|
+
},
|
|
167
|
+
formInitialValues: ((_config$form = config.form) === null || _config$form === void 0 ? void 0 : _config$form.initialValues) || {}
|
|
168
|
+
}
|
|
169
|
+
}, config.form ? /*#__PURE__*/React.createElement(DialogForm, {
|
|
170
|
+
formProps: config.form
|
|
171
|
+
}, config.content) : config.content));
|
|
172
|
+
};
|
|
173
|
+
export default /*#__PURE__*/forwardRef(HookModal);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
interface DialogButtonsProps {
|
|
3
|
+
okText?: string;
|
|
4
|
+
okAuth?: string;
|
|
5
|
+
loading?: boolean;
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
onOk?: (values?: any) => void;
|
|
8
|
+
}
|
|
9
|
+
export default function CcsDialogButtons({ okText, okAuth, loading, children, onOk, }: DialogButtonsProps): React.JSX.Element | null;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
import { CcsAuth } from "./..";
|
|
8
|
+
import { Button, Form } from 'antd';
|
|
9
|
+
import React, { useEffect } from 'react';
|
|
10
|
+
import CcsDialog from '.';
|
|
11
|
+
export default function CcsDialogButtons(_ref) {
|
|
12
|
+
var okText = _ref.okText,
|
|
13
|
+
okAuth = _ref.okAuth,
|
|
14
|
+
loading = _ref.loading,
|
|
15
|
+
children = _ref.children,
|
|
16
|
+
onOk = _ref.onOk;
|
|
17
|
+
var _CcsDialog$useContext = CcsDialog.useContext(),
|
|
18
|
+
closeDialog = _CcsDialog$useContext.closeDialog,
|
|
19
|
+
onHasButtons = _CcsDialog$useContext.onHasButtons,
|
|
20
|
+
formInitialValues = _CcsDialog$useContext.formInitialValues;
|
|
21
|
+
var form = Form.useFormInstance();
|
|
22
|
+
useEffect(function () {
|
|
23
|
+
onHasButtons();
|
|
24
|
+
}, []);
|
|
25
|
+
var onOkClick = function onOkClick() {
|
|
26
|
+
if (!onOk) return;
|
|
27
|
+
|
|
28
|
+
// form返回表单值和所有初始值
|
|
29
|
+
if (form) {
|
|
30
|
+
form.validateFields().then(function (values) {
|
|
31
|
+
onOk(_objectSpread(_objectSpread({}, formInitialValues), values));
|
|
32
|
+
});
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
onOk();
|
|
36
|
+
};
|
|
37
|
+
return onOk ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
38
|
+
className: "ccs-dialog-buttons"
|
|
39
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
40
|
+
onClick: closeDialog
|
|
41
|
+
}, "\u53D6\u6D88"), /*#__PURE__*/React.createElement(CcsAuth.Button, {
|
|
42
|
+
auth: okAuth || '',
|
|
43
|
+
type: "primary",
|
|
44
|
+
loading: loading,
|
|
45
|
+
onClick: onOkClick
|
|
46
|
+
}, okText || '确定'), children)) : null;
|
|
47
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Store } from 'antd/es/form/interface';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
interface ContentContextType<T = Store> {
|
|
4
|
+
locationKey: string;
|
|
5
|
+
formInitialValues: T;
|
|
6
|
+
closeDialog: () => void;
|
|
7
|
+
onHasButtons: () => void;
|
|
8
|
+
}
|
|
9
|
+
declare const ModalContentContext: React.Context<ContentContextType<any>>;
|
|
10
|
+
declare const useDialogContext: <T = Store>() => ContentContextType<T>;
|
|
11
|
+
export { useDialogContext, ModalContentContext };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
var ModalContentContext = /*#__PURE__*/React.createContext({});
|
|
3
|
+
var useDialogContext = function useDialogContext() {
|
|
4
|
+
var context = useContext(ModalContentContext);
|
|
5
|
+
if (context === undefined) {
|
|
6
|
+
throw new Error('ModalContentContext not found');
|
|
7
|
+
}
|
|
8
|
+
return context;
|
|
9
|
+
};
|
|
10
|
+
export { useDialogContext, ModalContentContext };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { DrawerProps, FormProps, ModalFuncProps } from 'antd';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
3
|
+
export interface CcsDialogModal {
|
|
4
|
+
destroy: () => void;
|
|
5
|
+
update: (config: ModalFuncProps) => void;
|
|
6
|
+
}
|
|
7
|
+
export interface CcsDialogDrawer {
|
|
8
|
+
destroy: () => void;
|
|
9
|
+
update: (config: DrawerProps) => void;
|
|
10
|
+
}
|
|
11
|
+
type ModalFunc = (props: ModalFuncProps) => {
|
|
12
|
+
destroy: () => void;
|
|
13
|
+
update: (configUpdate: ModalFuncProps) => void;
|
|
14
|
+
};
|
|
15
|
+
type DrawerFunc = (props: DrawerProps) => {
|
|
16
|
+
destroy: () => void;
|
|
17
|
+
update: (configUpdate: DrawerProps) => void;
|
|
18
|
+
};
|
|
19
|
+
export type CcsDialogModalProps = ModalFuncProps & {
|
|
20
|
+
/** 可拖拽 */
|
|
21
|
+
isDrag?: boolean;
|
|
22
|
+
/** antd form */
|
|
23
|
+
form?: FormProps;
|
|
24
|
+
/** 关闭后销毁组件,默认true */
|
|
25
|
+
destroyOnClose?: boolean;
|
|
26
|
+
};
|
|
27
|
+
export type CcsDialogDrawerProps = DrawerProps & {
|
|
28
|
+
/** antd form */
|
|
29
|
+
form?: FormProps;
|
|
30
|
+
/** 抽屉内容 */
|
|
31
|
+
content?: ReactNode;
|
|
32
|
+
};
|
|
33
|
+
export type ModalDialog = (...args: Parameters<ModalFunc>) => ReturnType<ModalFunc>;
|
|
34
|
+
export type DrawerDialog = (...args: Parameters<ModalFunc>) => ReturnType<DrawerFunc>;
|
|
35
|
+
export interface CcsDialogType {
|
|
36
|
+
openDrawer: (props: CcsDialogDrawerProps) => ReturnType<DrawerDialog>;
|
|
37
|
+
openModal: (props: CcsDialogModalProps) => ReturnType<ModalDialog>;
|
|
38
|
+
contextHolder: React.JSX.Element;
|
|
39
|
+
}
|
|
40
|
+
export default function useCcsDialog(): CcsDialogType;
|
|
41
|
+
export {};
|