dtable-ui-component 6.0.55-beta.1 → 6.0.55-beta.2

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.
@@ -420,13 +420,15 @@
420
420
  margin-left: -0.3125rem;
421
421
  }
422
422
 
423
- .filter-header-icon .dtable-font {
423
+ .filter-header-icon .dtable-font,
424
+ .filter-header-icon .multicolor-icon {
424
425
  font-size: 14px;
425
426
  color: #aaa;
426
427
  cursor: default;
427
428
  }
428
429
 
429
- .option.option-active .filter-header-icon .dtable-font {
430
+ .option.option-active .filter-header-icon .dtable-font,
431
+ .option.option-active .filter-header-icon .multicolor-icon {
430
432
  color: #fff;
431
433
  }
432
434
 
@@ -121,6 +121,9 @@ const MenuSelectStyle = exports.MenuSelectStyle = {
121
121
  },
122
122
  '.header-icon .dtable-font': {
123
123
  color: '#aaa'
124
+ },
125
+ '.header-icon .multicolor-icon': {
126
+ color: '#aaa'
124
127
  }
125
128
  };
126
129
  },
@@ -26,7 +26,8 @@
26
26
  color: #212529;
27
27
  }
28
28
 
29
- .dtable-switch.sm .custom-switch .dtable-font {
29
+ .dtable-switch.sm .custom-switch .dtable-font,
30
+ .dtable-switch.sm .custom-switch .multicolor-icon {
30
31
  -webkit-transform: scale(.8);
31
32
  transform: scale(.8);
32
33
  display: inline-block;
@@ -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 _classnames = _interopRequireDefault(require("classnames"));
9
+ var _DTableIcon = _interopRequireDefault(require("../DTableIcon"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ const PhoneNumberLink = _ref => {
12
+ let {
13
+ phoneNumber,
14
+ className
15
+ } = _ref;
16
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
17
+ className: (0, _classnames.default)(className),
18
+ href: `tel:${typeof phoneNumber === 'string' ? phoneNumber.trim() : ''}`,
19
+ tabIndex: 0,
20
+ "aria-label": "",
21
+ target: "_blank",
22
+ rel: "noopener noreferrer",
23
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableIcon.default, {
24
+ className: "jump-link-icon",
25
+ symbol: "telephone"
26
+ })
27
+ });
28
+ };
29
+ var _default = exports.default = PhoneNumberLink;
@@ -10,13 +10,15 @@
10
10
  width: 24px;
11
11
  }
12
12
 
13
- .dtable-ui-header-icon .dtable-font {
13
+ .dtable-ui-header-icon .dtable-font,
14
+ .dtable-ui-header-icon .multicolor-icon {
14
15
  font-size: 14px;
15
16
  color: #aaa;
16
17
  cursor: default;
17
18
  }
18
19
 
19
- .dtable-ui-row-expand-column-content .dtable-ui-row-expand-column-content-info .dtable-ui-header-icon .dtable-font {
20
+ .dtable-ui-row-expand-column-content .dtable-ui-row-expand-column-content-info .dtable-ui-header-icon .dtable-font,
21
+ .dtable-ui-row-expand-column-content .dtable-ui-row-expand-column-content-info .dtable-ui-header-icon .multicolor-icon {
20
22
  color: #212529a6;
21
23
  }
22
24
 
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.DEFAULT_FORMATTER = void 0;
8
8
  var _dtableUtils = require("dtable-utils");
9
- var _TextFormatter = _interopRequireDefault(require("../TextFormatter"));
9
+ var _text = _interopRequireDefault(require("./text"));
10
10
  var _NumberFormatter = _interopRequireDefault(require("../NumberFormatter"));
11
11
  var _CheckboxFormatter = _interopRequireDefault(require("../CheckboxFormatter"));
12
12
  var _DateFormatter = _interopRequireDefault(require("../DateFormatter"));
@@ -32,7 +32,7 @@ var _linkFormatter = _interopRequireDefault(require("./link-formatter"));
32
32
  var _formulaFormatter = _interopRequireDefault(require("./formula-formatter"));
33
33
  var _departmentFormatter = _interopRequireDefault(require("./department-formatter"));
34
34
  const DEFAULT_FORMATTER = exports.DEFAULT_FORMATTER = {
35
- [_dtableUtils.CellType.TEXT]: _TextFormatter.default,
35
+ [_dtableUtils.CellType.TEXT]: _text.default,
36
36
  [_dtableUtils.CellType.NUMBER]: _NumberFormatter.default,
37
37
  [_dtableUtils.CellType.CHECKBOX]: _CheckboxFormatter.default,
38
38
  [_dtableUtils.CellType.DATE]: _DateFormatter.default,
@@ -1,30 +1,2 @@
1
1
  @import url('../../css/cell-formatter.css');
2
-
3
- .dtable-ui-row-expand-formatter .dtable-ui.email-formatter .email-formatter-value,
4
- .dtable-ui-row-expand-formatter .dtable-ui.url-formatter .url-formatter-value {
5
- text-decoration: underline;
6
- width: 95%;
7
- display: inline-flex;
8
- }
9
-
10
- .dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link {
11
- display: inline-flex;
12
- align-items: center;
13
- font-size: 14px;
14
- height: 22px;
15
- position: absolute;
16
- top: 8px;
17
- right: 22px;
18
- border: 1px solid #eee;
19
- padding: 0 4px;
20
- color: #999;
21
- border-radius: 2px;
22
- background: #fff;
23
- cursor: pointer;
24
- box-shadow: 0 0 1px;
25
- }
26
-
27
- .dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link:hover {
28
- background: #eee;
29
- border: 1px solid #c9c9c9;
30
- }
2
+ @import url('../../css/row-expand.css');
@@ -26,14 +26,14 @@ class RowExpandEmailFormatter extends _react.default.Component {
26
26
  containerClassName,
27
27
  value
28
28
  } = this.props;
29
- let classname = (0, _classnames.default)('dtable-ui cell-formatter-container email-formatter', containerClassName);
29
+ let classname = (0, _classnames.default)('dtable-ui cell-formatter-container email-formatter row-expand-jump-link-container', containerClassName);
30
30
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
31
31
  className: classname,
32
32
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
33
- className: "email-formatter-value text-truncate",
33
+ className: "email-formatter-value row-expand-jump-link-value text-truncate",
34
34
  children: value
35
35
  }), (0, _editorUtils.getTrimmedString)(value) && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
36
- className: "dtable-font dtable-icon-email row-expand-jump-link",
36
+ className: "dtable-font dtable-icon-email row-expand-jump-link-btn",
37
37
  onClick: this.onOpenEmailLink
38
38
  })]
39
39
  });
@@ -0,0 +1,2 @@
1
+ @import url('../../css/cell-formatter.css');
2
+ @import url('../../css/row-expand.css');
@@ -10,12 +10,14 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _dtableUtils = require("dtable-utils");
11
11
  var _baseFormatterConfig = _interopRequireDefault(require("../../formatterConfig/base-formatter-config"));
12
12
  var _TextFormatter = _interopRequireDefault(require("../../TextFormatter"));
13
+ var _PhoneNumberLink = _interopRequireDefault(require("../../PhoneNumberLink"));
13
14
  var _utils = require("../../FormulaFormatter/utils");
14
15
  var _utils2 = require("../../utils/utils");
15
16
  var _cellValueValidator = _interopRequireDefault(require("../../FormulaFormatter/cell-value-validator"));
16
17
  var _toaster = _interopRequireDefault(require("../../toaster"));
17
18
  var _lang = require("../../lang");
18
19
  require("../../FormulaFormatter/index.css");
20
+ require("./index.css");
19
21
  var _jsxRuntime = require("react/jsx-runtime");
20
22
  class RowExpandFormulaFormatter extends _react.default.Component {
21
23
  constructor() {
@@ -61,13 +63,6 @@ class RowExpandFormulaFormatter extends _react.default.Component {
61
63
  width: '320px'
62
64
  };
63
65
  }
64
- const columnType = (0, _dtableUtils.getColumnType)(column);
65
- if ([_dtableUtils.CellType.URL, _dtableUtils.CellType.EMAIL].includes(columnType)) {
66
- style = {
67
- ...style,
68
- position: 'relative'
69
- };
70
- }
71
66
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
72
67
  className: "d-flex align-items-center form-control disabled h-auto",
73
68
  style: style,
@@ -125,6 +120,11 @@ class RowExpandFormulaFormatter extends _react.default.Component {
125
120
  formulaEmail = cellValue[0];
126
121
  formulaEmail = formulaEmail ? formulaEmail.trim() : '';
127
122
  }
123
+ let formulaPhoneNumber = '';
124
+ if ((0, _dtableUtils.checkIsDisplayAsPhoneNumberColumn)(column)) {
125
+ formulaPhoneNumber = cellValue[0];
126
+ formulaPhoneNumber = formulaPhoneNumber ? formulaPhoneNumber.trim() : '';
127
+ }
128
128
  return this.renderBorder(/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
129
129
  className: "dtable-ui formula-formatter multiple",
130
130
  children: cellValue.map((v, index) => {
@@ -133,16 +133,19 @@ class RowExpandFormulaFormatter extends _react.default.Component {
133
133
  className: (0, _classnames.default)('formula-formatter-content-item', {
134
134
  'simple-cell-formatter': (0, _utils.isSimpleCellFormatter)(array_type)
135
135
  }, {
136
- 'formula-url-formatter-column': formulaUrl || formulaEmail
136
+ 'row-expand-jump-link-container': !!(formulaUrl || formulaEmail || formulaPhoneNumber)
137
137
  }),
138
- children: [formulaUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
138
+ children: [!!formulaUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
139
139
  "aria-hidden": "true",
140
- className: "dtable-font dtable-icon-url formula-url-link",
140
+ className: "dtable-font dtable-icon-url formula-url-link row-expand-jump-link-btn",
141
141
  onClick: this.onOpenUrlLink.bind(this, formulaUrl)
142
- }), formulaEmail && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
142
+ }), !!formulaEmail && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
143
143
  "aria-hidden": "true",
144
- className: "dtable-font dtable-icon-email formula-email-link",
144
+ className: "dtable-font dtable-icon-email formula-email-link row-expand-jump-link-btn",
145
145
  onClick: this.onOpenEmailLink.bind(this, formulaEmail)
146
+ }), !!formulaPhoneNumber && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PhoneNumberLink.default, {
147
+ phoneNumber: formulaPhoneNumber,
148
+ className: "row-expand-jump-link-btn"
146
149
  }), this.createColumnFormatter(Formatter, formatterProps)]
147
150
  }, `formula-formatter-content-item-${index}`);
148
151
  })
@@ -25,6 +25,7 @@
25
25
  height: 2.375rem;
26
26
  line-height: 2.375rem;
27
27
  width: 100%;
28
+ text-decoration: none;
28
29
  }
29
30
 
30
31
  .dtable-ui.dtable-ui-row-expand-formatter .dtable-ui.multiple-select-formatter .dtable-ui.select-item {
@@ -46,6 +47,7 @@
46
47
  }
47
48
 
48
49
  .dtable-ui.dtable-ui-row-expand-formatter .form-control {
50
+ position: relative;
49
51
  background-color: #f8f9fa;
50
52
  padding: 0 10px;
51
53
  height: fit-content;
@@ -77,6 +77,7 @@ class RowExpandFormatter extends _react.default.Component {
77
77
  className: "form-control d-flex align-items-center w-100",
78
78
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Formatter, {
79
79
  value: cellValue,
80
+ column: column,
80
81
  containerClassName: containerClassName
81
82
  })
82
83
  });
@@ -0,0 +1,2 @@
1
+ @import url('../../css/cell-formatter.css');
2
+ @import url('../../css/row-expand.css');
@@ -0,0 +1,49 @@
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
+ var _dtableUtils = require("dtable-utils");
11
+ var _PhoneNumberLink = _interopRequireDefault(require("../../PhoneNumberLink"));
12
+ var _editorUtils = require("../../utils/editor-utils");
13
+ require("./index.css");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ class TextFormatter extends _react.default.Component {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.getFormattedValue = val => {
19
+ if (typeof val === 'object') {
20
+ return null;
21
+ }
22
+ if (Object.prototype.toString.call(val) === '[object Boolean]') {
23
+ return val + '';
24
+ }
25
+ return val;
26
+ };
27
+ }
28
+ render() {
29
+ const {
30
+ containerClassName,
31
+ value,
32
+ column
33
+ } = this.props;
34
+ const classname = (0, _classnames.default)('dtable-ui cell-formatter-container row-expand-jump-link-container text-formatter', containerClassName);
35
+ const formattedValue = this.getFormattedValue(value);
36
+ const isDisplayAsAsPhoneNumber = column ? (0, _dtableUtils.checkIsDisplayAsPhoneNumberColumn)(column) : false;
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
38
+ className: classname,
39
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
40
+ className: "text-formatter-value row-expand-jump-link-value text-truncate",
41
+ children: formattedValue
42
+ }), isDisplayAsAsPhoneNumber && !!(0, _editorUtils.getTrimmedString)(value) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PhoneNumberLink.default, {
43
+ phoneNumber: value,
44
+ className: "row-expand-jump-link-btn"
45
+ })]
46
+ });
47
+ }
48
+ }
49
+ var _default = exports.default = TextFormatter;
@@ -1 +1,2 @@
1
1
  @import url('../../css/cell-formatter.css');
2
+ @import url('../../css/row-expand.css');
@@ -39,14 +39,14 @@ class UrlFormatter extends _react.default.Component {
39
39
  containerClassName,
40
40
  value
41
41
  } = this.props;
42
- let classname = (0, _classnames.default)('dtable-ui cell-formatter-container url-formatter', containerClassName);
42
+ const classname = (0, _classnames.default)('dtable-ui cell-formatter-container url-formatter row-expand-jump-link-container', containerClassName);
43
43
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
44
44
  className: classname,
45
45
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
46
- className: "url-formatter-value text-truncate",
46
+ className: "url-formatter-value row-expand-jump-link-value text-truncate",
47
47
  children: value
48
48
  }), (0, _editorUtils.getTrimmedString)(value) && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
49
- className: "dtable-font dtable-icon-url row-expand-jump-link",
49
+ className: "dtable-font dtable-icon-url row-expand-jump-link-btn",
50
50
  onClick: this.onOpenUrlLink
51
51
  })]
52
52
  });
@@ -151,6 +151,10 @@
151
151
  right: 0;
152
152
  }
153
153
 
154
+ .dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link .jump-link-icon {
155
+ color: #999;
156
+ }
157
+
154
158
  .dtable-ui-mobile-row-expand-body .dtable-ui-row-expand-formatter .dtable-ui.url-formatter .url-formatter-value,
155
159
  .dtable-ui-mobile-row-expand-body .dtable-ui-row-expand-formatter .dtable-ui.email-formatter .email-formatter-value {
156
160
  width: calc(100% - 40px);
@@ -57,15 +57,18 @@
57
57
  }
58
58
 
59
59
  .option:hover .header-icon .dtable-font,
60
+ .option:hover .header-icon .multicolor-icon,
60
61
  .option.option-active .select-option-name {
61
62
  color: #fff;
62
63
  }
63
64
 
64
- .option.option-active .header-icon .dtable-font {
65
+ .option.option-active .header-icon .dtable-font,
66
+ .option.option-active .header-icon .multicolor-icon {
65
67
  color: #fff;
66
68
  }
67
69
 
68
- .option:not(.option-active):hover .header-icon .dtable-font {
70
+ .option:not(.option-active):hover .header-icon .dtable-font,
71
+ .option:not(.option-active):hover .header-icon .multicolor-icon {
69
72
  color: #aaa;
70
73
  }
71
74
 
@@ -0,0 +1,27 @@
1
+ .dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link-value {
2
+ text-decoration: underline;
3
+ width: 95%;
4
+ display: inline-flex;
5
+ }
6
+
7
+ .dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link-btn {
8
+ display: inline-flex;
9
+ align-items: center;
10
+ font-size: 14px;
11
+ height: 22px;
12
+ position: absolute;
13
+ top: 8px;
14
+ right: 9px;
15
+ border: 1px solid #eee;
16
+ padding: 0 4px;
17
+ color: #999;
18
+ border-radius: 2px;
19
+ background: #fff;
20
+ cursor: pointer;
21
+ box-shadow: 0 0 1px;
22
+ }
23
+
24
+ .dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link:hover {
25
+ background: #eee;
26
+ border: 1px solid #c9c9c9;
27
+ }
package/lib/index.js CHANGED
@@ -472,6 +472,12 @@ Object.defineProperty(exports, "NumberFormatter", {
472
472
  return _NumberFormatter.default;
473
473
  }
474
474
  });
475
+ Object.defineProperty(exports, "PhoneNumberLink", {
476
+ enumerable: true,
477
+ get: function () {
478
+ return _PhoneNumberLink.default;
479
+ }
480
+ });
475
481
  Object.defineProperty(exports, "Picker", {
476
482
  enumerable: true,
477
483
  get: function () {
@@ -720,6 +726,7 @@ var _TabBar = _interopRequireDefault(require("./TabBar"));
720
726
  var _TextareaItem = _interopRequireDefault(require("./TextareaItem"));
721
727
  var _Toast = _interopRequireDefault(require("./Toast"));
722
728
  var _BodyPortal = _interopRequireDefault(require("./BodyPortal"));
729
+ var _PhoneNumberLink = _interopRequireDefault(require("./PhoneNumberLink"));
723
730
  var _MobileModal = _interopRequireDefault(require("./MobileModal"));
724
731
  var _MobileOperationSheet = _interopRequireDefault(require("./MobileOperationSheet"));
725
732
  var _MobileUpload = _interopRequireDefault(require("./MobileUpload"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dtable-ui-component",
3
- "version": "6.0.55-beta.1",
3
+ "version": "6.0.55-beta.2",
4
4
  "main": "./lib/index.js",
5
5
  "dependencies": {
6
6
  "@seafile/react-image-lightbox": "4.0.2",