dtable-ui-component 6.0.23 → 6.0.24-beta

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.
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactDom = _interopRequireDefault(require("react-dom"));
10
+ var _utils = require("../utils/utils");
11
+ class BodyPortal extends _react.default.Component {
12
+ componentWillUnmount() {
13
+ if (this.defaultNode) {
14
+ document.body.removeChild(this.defaultNode);
15
+ }
16
+ this.defaultNode = null;
17
+ }
18
+ render() {
19
+ if (!_utils.canUseDOM) {
20
+ return null;
21
+ }
22
+ if (!this.props.node && !this.defaultNode) {
23
+ this.defaultNode = document.createElement('div');
24
+ document.body.appendChild(this.defaultNode);
25
+ }
26
+ return /*#__PURE__*/_reactDom.default.createPortal(this.props.children, this.props.node || this.defaultNode);
27
+ }
28
+ }
29
+ var _default = exports.default = BodyPortal;
@@ -0,0 +1,9 @@
1
+ .seatable-small-full-screen-page-body {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ overflow-y: auto;
6
+ padding: 0;
7
+ background-color: #f5f5f5;
8
+ flex: 1;
9
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ require("./index.css");
11
+ const Body = _ref => {
12
+ let {
13
+ classNamePrefix,
14
+ className,
15
+ children
16
+ } = _ref;
17
+ return /*#__PURE__*/_react.default.createElement("div", {
18
+ className: (0, _classnames.default)('seatable-small-full-screen-page-body', className, {
19
+ ["".concat(classNamePrefix, "-small-full-screen-page-body")]: classNamePrefix
20
+ })
21
+ }, children);
22
+ };
23
+ var _default = exports.default = Body;
@@ -0,0 +1,35 @@
1
+ .seatable-small-full-screen-page-header {
2
+ width: 100%;
3
+ height: 51px;
4
+ background-color: #fff;
5
+ border-bottom: 1px solid #e9e9e9;
6
+ padding: 0;
7
+ color: #666;
8
+ font-size: 14px;
9
+ display: flex;
10
+ justify-content: space-between;
11
+ flex-shrink: 0;
12
+ }
13
+
14
+ .seatable-small-full-screen-page-header .seatable-small-full-screen-page-header-btn {
15
+ line-height: 24px;
16
+ min-width: 75px;
17
+ padding: 13px 16px;
18
+ }
19
+
20
+ .seatable-small-full-screen-page-header .seatable-small-full-screen-page-header-title {
21
+ color: #212529;
22
+ line-height: 50px;
23
+ margin-bottom: 0;
24
+ overflow: hidden;
25
+ text-overflow: ellipsis;
26
+ white-space: nowrap;
27
+ }
28
+
29
+ .seatable-small-full-screen-page-header .seatable-small-full-screen-page-header-btn:first-child {
30
+ text-align: left;
31
+ }
32
+
33
+ .seatable-small-full-screen-page-header .seatable-small-full-screen-page-header-btn:last-child {
34
+ text-align: right;
35
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ require("./index.css");
11
+ const Header = _ref => {
12
+ let {
13
+ classNamePrefix,
14
+ children,
15
+ onLeftClick,
16
+ onRightClick
17
+ } = _ref;
18
+ return /*#__PURE__*/_react.default.createElement("div", {
19
+ className: (0, _classnames.default)('seatable-small-full-screen-page-header p-0', {
20
+ ["".concat(classNamePrefix, "-small-full-screen-page-header")]: classNamePrefix
21
+ })
22
+ }, /*#__PURE__*/_react.default.createElement("div", {
23
+ className: (0, _classnames.default)('seatable-small-full-screen-page-header-btn', {
24
+ ["".concat(classNamePrefix, "-small-full-screen-page-header-btn")]: classNamePrefix
25
+ }),
26
+ onClick: onLeftClick
27
+ }, children[0]), /*#__PURE__*/_react.default.createElement("h4", {
28
+ className: (0, _classnames.default)('seatable-small-full-screen-page-header-title', {
29
+ ["".concat(classNamePrefix, "-small-full-screen-page-header-title")]: classNamePrefix
30
+ })
31
+ }, children[1]), /*#__PURE__*/_react.default.createElement("div", {
32
+ className: (0, _classnames.default)('seatable-small-full-screen-page-header-btn', {
33
+ ["".concat(classNamePrefix, "-small-full-screen-page-header-btn")]: classNamePrefix
34
+ }),
35
+ onClick: onRightClick
36
+ }, children[2]));
37
+ };
38
+ var _default = exports.default = Header;
@@ -0,0 +1,13 @@
1
+ .seatable-small-full-screen-page {
2
+ height: 100%;
3
+ width: 100%;
4
+ position: fixed;
5
+ background-color: #f5f5f5;
6
+ top: 0;
7
+ left: 0;
8
+ bottom: 0;
9
+ right: 0;
10
+ overflow: hidden;
11
+ display: flex;
12
+ flex-direction: column;
13
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _BodyPortal = _interopRequireDefault(require("../BodyPortal"));
11
+ var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _header = _interopRequireDefault(require("./header"));
13
+ var _body = _interopRequireDefault(require("./body"));
14
+ require("./index.css");
15
+ var _utils = require("../utils/utils");
16
+ const SmallFullScreenPage = _ref => {
17
+ let {
18
+ classNamePrefix,
19
+ className,
20
+ style,
21
+ zIndex,
22
+ children,
23
+ onLeftClick,
24
+ onRightClick,
25
+ historyCallback = event => event.preventDefault
26
+ } = _ref;
27
+ const [isMount, setMount] = (0, _react.useState)(false);
28
+ const element = (0, _react.useMemo)(() => {
29
+ let _element = document.createElement('div');
30
+ _element.setAttribute('tabindex', '-1');
31
+ _element.style.position = 'relative';
32
+ _element.style.zIndex = zIndex;
33
+ return _element;
34
+ }, [zIndex]);
35
+ (0, _react.useEffect)(() => {
36
+ history.pushState(null, null, '#');
37
+ if (!(0, _utils.isFunction)(historyCallback)) return;
38
+ window.addEventListener('popstate', historyCallback, false);
39
+ return () => {
40
+ window.removeEventListener('popstate', historyCallback, false);
41
+ };
42
+ }, [historyCallback]);
43
+ (0, _react.useEffect)(() => {
44
+ document.body.appendChild(element);
45
+ setMount(true);
46
+ return () => {
47
+ document.body.removeChild(element);
48
+ };
49
+ // eslint-disable-next-line react-hooks/exhaustive-deps
50
+ }, []);
51
+ return /*#__PURE__*/_react.default.createElement(_BodyPortal.default, {
52
+ node: element
53
+ }, /*#__PURE__*/_react.default.createElement("div", {
54
+ className: (0, _classnames.default)('seatable-small-full-screen-page', className, {
55
+ ["".concat(classNamePrefix, "-small-full-screen-page")]: classNamePrefix
56
+ }),
57
+ style: style
58
+ }, /*#__PURE__*/_react.default.createElement(_header.default, {
59
+ classNamePrefix: classNamePrefix,
60
+ onLeftClick: onLeftClick,
61
+ onRightClick: onRightClick
62
+ }, children[0], children[1], children[2]), /*#__PURE__*/_react.default.createElement(_body.default, {
63
+ classNamePrefix: classNamePrefix
64
+ }, isMount && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children[3]))));
65
+ };
66
+ var _default = exports.default = SmallFullScreenPage;
package/lib/index.js CHANGED
@@ -10,6 +10,12 @@ Object.defineProperty(exports, "AutoNumberFormatter", {
10
10
  return _AutoNumberFormatter.default;
11
11
  }
12
12
  });
13
+ Object.defineProperty(exports, "BodyPortal", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _BodyPortal.default;
17
+ }
18
+ });
13
19
  Object.defineProperty(exports, "ButtonFormatter", {
14
20
  enumerable: true,
15
21
  get: function () {
@@ -424,6 +430,12 @@ Object.defineProperty(exports, "SingleSelectFormatter", {
424
430
  return _SingleSelectFormatter.default;
425
431
  }
426
432
  });
433
+ Object.defineProperty(exports, "SmallFullScreenPage", {
434
+ enumerable: true,
435
+ get: function () {
436
+ return _SmallFullScreenPage.default;
437
+ }
438
+ });
427
439
  Object.defineProperty(exports, "SvgIcon", {
428
440
  enumerable: true,
429
441
  get: function () {
@@ -549,4 +561,6 @@ var _DTableRadioGroup = _interopRequireDefault(require("./DTableRadioGroup"));
549
561
  var _DTableEmptyTip = _interopRequireDefault(require("./DTableEmptyTip"));
550
562
  var _IconButton = _interopRequireDefault(require("./IconButton"));
551
563
  var _UploadProgress = _interopRequireDefault(require("./UploadProgress"));
552
- var _SvgIcon = _interopRequireDefault(require("./SvgIcon"));
564
+ var _SvgIcon = _interopRequireDefault(require("./SvgIcon"));
565
+ var _BodyPortal = _interopRequireDefault(require("./BodyPortal"));
566
+ var _SmallFullScreenPage = _interopRequireDefault(require("./SmallFullScreenPage"));
package/lib/utils/url.js CHANGED
@@ -133,7 +133,7 @@ const getFileName = url => {
133
133
  validUrl = validUrl.slice(0, qIndex);
134
134
  }
135
135
  const lastIndex = validUrl.lastIndexOf('/');
136
- const name = url.slice(lastIndex + 1, qIndex);
136
+ const name = validUrl.slice(lastIndex + 1);
137
137
  return decodeURI(name);
138
138
  };
139
139
  exports.getFileName = getFileName;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getTrimmedString = exports.getFormulaArrayValue = exports.getEventClassName = exports.getErrorMsg = exports.downloadFiles = exports.downloadFile = exports.debounce = void 0;
6
+ exports.getTrimmedString = exports.getFormulaArrayValue = exports.getEventClassName = exports.getErrorMsg = exports.downloadFiles = exports.downloadFile = exports.debounce = exports.canUseDOM = void 0;
7
7
  exports.isArrayFormatColumn = isArrayFormatColumn;
8
8
  exports.throttle = exports.openUrlLink = exports.isValidUrl = exports.isValidCellValue = exports.isMobile = exports.isMac = exports.isFunction = void 0;
9
9
  var _constants = require("../constants");
@@ -170,4 +170,5 @@ const getFormulaArrayValue = value => {
170
170
  });
171
171
  }).filter(item => isValidCellValue(item));
172
172
  };
173
- exports.getFormulaArrayValue = getFormulaArrayValue;
173
+ exports.getFormulaArrayValue = getFormulaArrayValue;
174
+ const canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dtable-ui-component",
3
- "version": "6.0.23",
3
+ "version": "6.0.24beta",
4
4
  "main": "./lib/index.js",
5
5
  "dependencies": {
6
6
  "@seafile/react-image-lightbox": "4.0.2",