dtable-ui-component 6.0.22 → 6.0.23-beta1

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;
@@ -159,7 +159,8 @@ class DTableFiltersPopover extends _react.Component {
159
159
  userDepartmentIdsMap,
160
160
  departments,
161
161
  lang,
162
- readOnly
162
+ readOnly,
163
+ firstDayOfWeek
163
164
  } = this.props;
164
165
  const {
165
166
  filters,
@@ -195,7 +196,8 @@ class DTableFiltersPopover extends _react.Component {
195
196
  lang: lang,
196
197
  updateFilter: this.updateFilter,
197
198
  deleteFilter: this.deleteFilter,
198
- updateFilterConjunction: this.updateFilterConjunction
199
+ updateFilterConjunction: this.updateFilterConjunction,
200
+ firstDayOfWeek: firstDayOfWeek
199
201
  }), /*#__PURE__*/_react.default.createElement(_DTableCommonAddTool.default, {
200
202
  className: "popover-add-tool ".concat(canAddFilter ? '' : 'disabled'),
201
203
  callBack: canAddFilter ? () => this.addFilter(scheduleUpdate) : () => {},
@@ -107,7 +107,8 @@ class FilterCalendar extends _react.Component {
107
107
  }
108
108
  render() {
109
109
  const {
110
- isReadOnly
110
+ isReadOnly,
111
+ firstDayOfWeek
111
112
  } = this.props;
112
113
  const state = this.state;
113
114
  if (isReadOnly) return /*#__PURE__*/_react.default.createElement("input", {
@@ -139,7 +140,8 @@ class FilterCalendar extends _react.Component {
139
140
  showDateInput: true,
140
141
  focusablePanel: false,
141
142
  onClear: this.onClear,
142
- clearIcon: clearIcon
143
+ clearIcon: clearIcon,
144
+ firstDayOfWeek: firstDayOfWeek
143
145
  });
144
146
  return /*#__PURE__*/_react.default.createElement("div", {
145
147
  className: "date-picker-container"
@@ -325,7 +325,8 @@ class FilterItem extends _react.default.Component {
325
325
  collaborators,
326
326
  userDepartmentIdsMap,
327
327
  departments,
328
- lang
328
+ lang,
329
+ firstDayOfWeek
329
330
  } = this.props;
330
331
  const {
331
332
  type
@@ -353,7 +354,8 @@ class FilterItem extends _react.default.Component {
353
354
  lang: lang,
354
355
  value: this.state.filterTerm,
355
356
  filterColumn: filterColumn,
356
- onChange: this.onFilterTermTextChanged
357
+ onChange: this.onFilterTermTextChanged,
358
+ firstDayOfWeek: firstDayOfWeek
357
359
  });
358
360
  }
359
361
  return this.getInputComponent('text');
@@ -68,7 +68,8 @@ class FiltersList extends _react.Component {
68
68
  collaborators,
69
69
  userDepartmentIdsMap,
70
70
  departments,
71
- lang
71
+ lang,
72
+ firstDayOfWeek
72
73
  } = this.props;
73
74
  const conjunctionOptions = this.getConjunctionOptions();
74
75
  const columnOptions = this.getColumnOptions();
@@ -89,7 +90,8 @@ class FiltersList extends _react.Component {
89
90
  lang: lang,
90
91
  deleteFilter: this.deleteFilter,
91
92
  updateFilter: this.updateFilter,
92
- updateConjunction: this.updateConjunction
93
+ updateConjunction: this.updateConjunction,
94
+ firstDayOfWeek: firstDayOfWeek
93
95
  });
94
96
  };
95
97
  this.conjunctionOptions = null;
@@ -19,7 +19,7 @@ function DTableRadio(_ref) {
19
19
  label
20
20
  } = _ref;
21
21
  return /*#__PURE__*/_react.default.createElement("label", {
22
- className: (0, _classnames.default)('dtable-radio w-100 align-items-center', {
22
+ className: (0, _classnames.default)('dtable-radio w-100 align-items-center position-relative', {
23
23
  'dtable-radio-disable': disabled,
24
24
  [className]: className
25
25
  })
@@ -65,7 +65,8 @@ class DateEditor extends _react.default.Component {
65
65
  lang,
66
66
  column,
67
67
  className,
68
- isInModal
68
+ isInModal,
69
+ firstDayOfWeek
69
70
  } = this.props;
70
71
  let {
71
72
  newValue,
@@ -82,7 +83,8 @@ class DateEditor extends _react.default.Component {
82
83
  dateFormat: dateFormat,
83
84
  showHourAndMinute: showHourAndMinute,
84
85
  onValueChanged: this.onValueChanged,
85
- hideCalendar: this.props.hideCalendar
86
+ hideCalendar: this.props.hideCalendar,
87
+ firstDayOfWeek: firstDayOfWeek
86
88
  })), /*#__PURE__*/_react.default.createElement(_reactResponsive.default, {
87
89
  query: '(max-width: 767.8px)'
88
90
  }, /*#__PURE__*/_react.default.createElement(_mbDateEditorPopover.default, {
@@ -94,7 +96,8 @@ class DateEditor extends _react.default.Component {
94
96
  showHourAndMinute: showHourAndMinute,
95
97
  column: column,
96
98
  onValueChanged: this.onValueChanged,
97
- onClosePopover: this.props.hideCalendar
99
+ onClosePopover: this.props.hideCalendar,
100
+ firstDayOfWeek: firstDayOfWeek
98
101
  })));
99
102
  }
100
103
  }
@@ -94,7 +94,8 @@ class DateEditorPopover extends _react.default.PureComponent {
94
94
  let {
95
95
  dateFormat,
96
96
  lang,
97
- className
97
+ className,
98
+ firstDayOfWeek
98
99
  } = this.props;
99
100
  let defaultValue = (0, _dayjs.default)().clone();
100
101
  return /*#__PURE__*/_react.default.createElement(_seafileCalendar.default, {
@@ -110,7 +111,8 @@ class DateEditorPopover extends _react.default.PureComponent {
110
111
  style: {
111
112
  width: '100%',
112
113
  fontSize: '14px'
113
- }
114
+ },
115
+ firstDayOfWeek: firstDayOfWeek
114
116
  });
115
117
  };
116
118
  this.renderDataPicker = () => {
@@ -138,7 +138,8 @@ class PCDateEditorPopover extends _react.default.Component {
138
138
  dateFormat,
139
139
  showHourAndMinute,
140
140
  lang,
141
- className
141
+ className,
142
+ firstDayOfWeek
142
143
  } = this.props;
143
144
  let defaultValue = (0, _dayjs.default)().clone();
144
145
  const defaultTime = this.getDefaultTime();
@@ -155,7 +156,8 @@ class PCDateEditorPopover extends _react.default.Component {
155
156
  defaultMinutesTime: defaultTime,
156
157
  showDateInput: true,
157
158
  focusablePanel: false,
158
- onClear: this.onClear
159
+ onClear: this.onClear,
160
+ firstDayOfWeek: firstDayOfWeek
159
161
  });
160
162
  };
161
163
  const {
@@ -51,7 +51,7 @@ function ImagePreviewerLightbox(props) {
51
51
  // eslint-disable-next-line no-console
52
52
  console.log(error);
53
53
  }
54
- const canRotateImage = onRotateImage && !readOnly && ['gif', 'heic', 'heif'].includes((0, _url.getFileSuffix)(URL)) && (0, _url.isInternalImg)(URL, server);
54
+ const canRotateImage = onRotateImage && !readOnly && !['gif', 'heic', 'heif'].includes((0, _url.getFileSuffix)(URL)) && (0, _url.isInternalImg)(URL, server);
55
55
  let mainSrc = URL;
56
56
  if ((0, _url.needUseThumbnailImage)(URL)) {
57
57
  mainSrc = (0, _url.getImageThumbnailUrl)(URL, {
@@ -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,56 @@
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
+ const SmallFullScreenPage = _ref => {
16
+ let {
17
+ classNamePrefix,
18
+ className,
19
+ style,
20
+ zIndex,
21
+ children,
22
+ onLeftClick,
23
+ onRightClick
24
+ } = _ref;
25
+ const [isMount, setMount] = (0, _react.useState)(false);
26
+ const element = (0, _react.useMemo)(() => {
27
+ let _element = document.createElement('div');
28
+ _element.setAttribute('tabindex', '-1');
29
+ _element.style.position = 'relative';
30
+ _element.style.zIndex = zIndex;
31
+ return _element;
32
+ }, [zIndex]);
33
+ (0, _react.useEffect)(() => {
34
+ document.body.appendChild(element);
35
+ setMount(true);
36
+ return () => {
37
+ document.body.removeChild(element);
38
+ };
39
+ // eslint-disable-next-line react-hooks/exhaustive-deps
40
+ }, []);
41
+ return /*#__PURE__*/_react.default.createElement(_BodyPortal.default, {
42
+ node: element
43
+ }, /*#__PURE__*/_react.default.createElement("div", {
44
+ className: (0, _classnames.default)('seatable-small-full-screen-page', className, {
45
+ ["".concat(classNamePrefix, "-small-full-screen-page")]: classNamePrefix
46
+ }),
47
+ style: style
48
+ }, /*#__PURE__*/_react.default.createElement(_header.default, {
49
+ classNamePrefix: classNamePrefix,
50
+ onLeftClick: onLeftClick,
51
+ onRightClick: onRightClick
52
+ }, children[0], children[1], children[2]), /*#__PURE__*/_react.default.createElement(_body.default, {
53
+ classNamePrefix: classNamePrefix
54
+ }, isMount && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children[3]))));
55
+ };
56
+ 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"));
@@ -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.22",
3
+ "version": "6.0.23beta1",
4
4
  "main": "./lib/index.js",
5
5
  "dependencies": {
6
6
  "@seafile/react-image-lightbox": "4.0.2",