dtable-ui-component 4.3.7 → 4.3.8

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.
Files changed (120) hide show
  1. package/lib/AutoNumberFormatter/index.js +11 -24
  2. package/lib/ButtonFormatter/index.js +29 -45
  3. package/lib/CTimeFormatter/index.js +17 -32
  4. package/lib/CheckboxEditor/index.js +42 -49
  5. package/lib/CheckboxFormatter/index.js +17 -30
  6. package/lib/CollaboratorEditor/index.js +118 -135
  7. package/lib/CollaboratorEditor/mb-collaborator-editor-popover/index.js +90 -99
  8. package/lib/CollaboratorEditor/pc-collaborator-editor-popover/index.js +61 -69
  9. package/lib/CollaboratorFormatter/index.js +26 -42
  10. package/lib/CollaboratorItem/index.js +31 -44
  11. package/lib/CreatorFormatter/index.js +24 -40
  12. package/lib/DTableCustomizeCollaboratorSelect/index.js +80 -99
  13. package/lib/DTableCustomizeCollaboratorSelect/utils.js +12 -13
  14. package/lib/DTableCustomizeSelect/index.js +92 -103
  15. package/lib/DTablePopover/index.js +52 -71
  16. package/lib/DTablePopover/utils.js +1 -1
  17. package/lib/DTableRadio/index.js +9 -7
  18. package/lib/DTableSearchInput/index.js +89 -99
  19. package/lib/DTableSearchInput/utils.js +2 -2
  20. package/lib/DTableSelect/dtable-select-label.js +5 -3
  21. package/lib/DTableSelect/index.js +50 -64
  22. package/lib/DTableSelect/utils.js +36 -41
  23. package/lib/DTableSwitch/index.js +7 -5
  24. package/lib/DateEditor/index.js +88 -94
  25. package/lib/DateEditor/mb-date-editor-popover/index.js +136 -134
  26. package/lib/DateEditor/pc-date-editor-popover.js +70 -77
  27. package/lib/DateFormatter/index.js +15 -28
  28. package/lib/DepartmentSingleSelectFormatter/index.js +9 -9
  29. package/lib/DigitalSignFormatter/index.js +55 -65
  30. package/lib/DigitalSignFormatter/utils.js +9 -8
  31. package/lib/DurationFormatter/index.js +14 -27
  32. package/lib/EditEditorButton/index.js +10 -22
  33. package/lib/EmailFormatter/index.js +11 -24
  34. package/lib/FieldDisplaySetting/field-item.js +18 -20
  35. package/lib/FieldDisplaySetting/index.js +41 -43
  36. package/lib/FileEditor/index.js +18 -29
  37. package/lib/FileFormatter/index.js +29 -43
  38. package/lib/FileItemFormatter/index.js +17 -32
  39. package/lib/FileItemFormatter/utils.js +5 -5
  40. package/lib/FileUploader/index.js +20 -33
  41. package/lib/FormulaFormatter/cell-value-validator.js +23 -8
  42. package/lib/FormulaFormatter/index.js +77 -83
  43. package/lib/FormulaFormatter/utils.js +27 -21
  44. package/lib/GeolocationFormatter/index.js +19 -32
  45. package/lib/HtmlLongTextFormatter/index.js +43 -52
  46. package/lib/HtmlLongTextFormatter/markdown2html.js +2 -2
  47. package/lib/HtmlLongTextFormatter/unified/index.js +1 -1
  48. package/lib/HtmlLongTextFormatter/vfile/core.js +10 -10
  49. package/lib/ImageFormatter/images-lazy-load.js +71 -79
  50. package/lib/ImageFormatter/index.js +86 -97
  51. package/lib/ImageFormatter/utils.js +1 -1
  52. package/lib/ImagePreviewerLightbox/index.js +20 -18
  53. package/lib/ImagePreviewerLightbox/utils.js +3 -3
  54. package/lib/LastModifierFormatter/index.js +24 -40
  55. package/lib/LinkEditor/index.js +163 -167
  56. package/lib/LinkEditor/link-editor-option.js +41 -56
  57. package/lib/LinkEditor/mb-link-editor-popover/index.js +90 -99
  58. package/lib/LinkEditor/pc-link-editor-popover/index.js +63 -71
  59. package/lib/LinkFormatter/index.js +75 -77
  60. package/lib/LongTextFormatter/index.js +5 -3
  61. package/lib/MBEditorHeader/index.js +25 -38
  62. package/lib/MTimeFormatter/index.js +17 -32
  63. package/lib/ModalPortal/index.js +15 -32
  64. package/lib/MultipleSelectEditor/index.js +118 -136
  65. package/lib/MultipleSelectFormatter/index.js +24 -40
  66. package/lib/NotificationPopover/index.js +68 -95
  67. package/lib/NumberEditor/index.js +75 -82
  68. package/lib/NumberFormatter/index.js +15 -28
  69. package/lib/RateFormatter/index.js +29 -45
  70. package/lib/RoleStatusEditor/index.js +20 -22
  71. package/lib/RowExpandEmailFormatter/index.js +24 -37
  72. package/lib/RowExpandFileFormatter/index.js +28 -42
  73. package/lib/RowExpandFileFormatter/row-expand-file-item-formatter.js +66 -82
  74. package/lib/RowExpandFormatter/index.js +92 -96
  75. package/lib/RowExpandFormulaFormatter/index.js +85 -91
  76. package/lib/RowExpandImageFormatter/index.js +65 -82
  77. package/lib/RowExpandImageFormatter/row-expand-image-item-formatter.js +71 -84
  78. package/lib/RowExpandImageFormatter/utils.js +1 -1
  79. package/lib/RowExpandLinkFormatter/collaborator-item-formatter.js +54 -68
  80. package/lib/RowExpandLinkFormatter/index.js +131 -137
  81. package/lib/RowExpandLinkFormatter/utils.js +23 -17
  82. package/lib/RowExpandLinkFormatter/value-display-utils.js +9 -7
  83. package/lib/RowExpandRateFormatter/index.js +27 -42
  84. package/lib/RowExpandUrlFormatter/index.js +27 -40
  85. package/lib/SelectItem/index.js +17 -33
  86. package/lib/SelectOptionGroup/index.js +141 -159
  87. package/lib/SelectOptionGroup/option.js +24 -40
  88. package/lib/SimpleLongTextFormatter/index.js +55 -67
  89. package/lib/SimpleLongTextFormatter/normalize-long-text-value.js +23 -22
  90. package/lib/SimpleLongTextFormatter/widgets/LongTextPreview.js +42 -57
  91. package/lib/SimpleLongTextFormatter/widgets/dtable-markdown-viewer.js +31 -46
  92. package/lib/SingleSelectEditor/index.js +108 -119
  93. package/lib/SingleSelectFormatter/index.js +21 -37
  94. package/lib/TextEditor/index.js +45 -51
  95. package/lib/TextFormatter/index.js +17 -32
  96. package/lib/UrlFormatter/index.js +11 -24
  97. package/lib/cellFormatterFactory/index.js +8 -17
  98. package/lib/common/ClickOutside.js +22 -43
  99. package/lib/common/delete-tip.js +40 -65
  100. package/lib/common/modal-portal.js +15 -33
  101. package/lib/constants/index.js +5 -5
  102. package/lib/data/dtable-value.js +4 -4
  103. package/lib/formatterConfig/base-formatter-config.js +24 -3
  104. package/lib/formatterConfig/index.js +5 -4
  105. package/lib/lang/index.js +6 -6
  106. package/lib/locals/de.js +1 -1
  107. package/lib/locals/en.js +1 -1
  108. package/lib/locals/fr.js +1 -1
  109. package/lib/locals/zh-CN.js +1 -1
  110. package/lib/select-editor/mb-select-editor-popover/index.js +126 -137
  111. package/lib/select-editor/pc-select-editor-popover/index.js +75 -83
  112. package/lib/select-editor/select-editor-option.js +41 -56
  113. package/lib/toaster/alert.js +73 -88
  114. package/lib/toaster/index.js +1 -1
  115. package/lib/toaster/toast.js +75 -102
  116. package/lib/toaster/toastManager.js +55 -91
  117. package/lib/toaster/toaster.js +58 -57
  118. package/lib/utils/editor-utils.js +17 -19
  119. package/lib/utils/utils.js +14 -14
  120. package/package.json +4 -4
@@ -1,82 +1,76 @@
1
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/esm/createClass";
3
- import _inherits from "@babel/runtime/helpers/esm/inherits";
4
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
1
  import React, { Component } from 'react';
6
2
  import classnames from 'classnames';
7
3
  import { Popover } from 'reactstrap';
8
4
  import SelectOptionGroup from '../SelectOptionGroup';
9
5
  import { searchCollaborators } from './utils';
10
6
  import './index.css';
11
- var CollaboratorSelect = /*#__PURE__*/function (_Component) {
12
- _inherits(CollaboratorSelect, _Component);
13
- var _super = _createSuper(CollaboratorSelect);
14
- function CollaboratorSelect(props) {
15
- var _this;
16
- _classCallCheck(this, CollaboratorSelect);
17
- _this = _super.call(this, props);
18
- _this.onSelectToggle = function (event) {
7
+ class CollaboratorSelect extends Component {
8
+ constructor(props) {
9
+ super(props);
10
+ this.onSelectToggle = event => {
19
11
  event.preventDefault();
20
12
  /*
21
13
  if select is showing, click events do not need to be monitored by other click events,
22
14
  so it can be closed when other select is clicked.
23
15
  */
24
- if (_this.state.isShowSelectOptions) event.nativeEvent.stopImmediatePropagation();
25
- var eventClassName = event.target.className;
26
- if (_this.props.isLocked || eventClassName.indexOf('option-search-control') > -1 || eventClassName === 'option-group-search') return;
16
+ if (this.state.isShowSelectOptions) event.nativeEvent.stopImmediatePropagation();
17
+ let eventClassName = event.target.className;
18
+ if (this.props.isLocked || eventClassName.indexOf('option-search-control') > -1 || eventClassName === 'option-group-search') return;
27
19
  //Prevent closing by pressing the spacebar in the search input
28
20
  if (event.target.value === '') return;
29
- _this.selectedOptionWidth = _this.selectedOptionRef.clientWidth;
30
- _this.setState({
31
- isShowSelectOptions: !_this.state.isShowSelectOptions
21
+ this.selectedOptionWidth = this.selectedOptionRef.clientWidth;
22
+ this.setState({
23
+ isShowSelectOptions: !this.state.isShowSelectOptions
32
24
  });
33
25
  };
34
- _this.onMousedown = function (event) {
35
- var name = event.target.className;
26
+ this.onMousedown = event => {
27
+ const name = event.target.className;
36
28
  if (name === 'select-placeholder' || name.includes('icon-fork-number')) {
37
29
  return;
38
30
  }
39
- if (!_this.selector.contains(event.target)) {
40
- _this.closeSelect();
31
+ if (!this.selector.contains(event.target)) {
32
+ this.closeSelect();
41
33
  }
42
34
  };
43
- _this.closeSelect = function () {
44
- _this.setState({
35
+ this.closeSelect = () => {
36
+ this.setState({
45
37
  isShowSelectOptions: false
46
38
  });
47
39
  };
48
- _this.getFilterOptions = function (searchValue) {
49
- var _this$props = _this.props,
50
- options = _this$props.options,
51
- searchable = _this$props.searchable;
40
+ this.getFilterOptions = searchValue => {
41
+ const {
42
+ options,
43
+ searchable
44
+ } = this.props;
52
45
  if (!searchable) return options || [];
53
46
  return searchCollaborators(options, searchValue);
54
47
  };
55
- _this.renderOptionGroup = function () {
56
- var _this$props2 = _this.props,
57
- value = _this$props2.value,
58
- options = _this$props2.options,
59
- searchable = _this$props2.searchable,
60
- searchPlaceholder = _this$props2.searchPlaceholder,
61
- noOptionsPlaceholder = _this$props2.noOptionsPlaceholder,
62
- top = _this$props2.top,
63
- left = _this$props2.left,
64
- isUsePopover = _this$props2.isUsePopover;
48
+ this.renderOptionGroup = () => {
49
+ const {
50
+ value,
51
+ options,
52
+ searchable,
53
+ searchPlaceholder,
54
+ noOptionsPlaceholder,
55
+ top,
56
+ left,
57
+ isUsePopover
58
+ } = this.props;
65
59
  if (!isUsePopover) {
66
60
  return /*#__PURE__*/React.createElement(SelectOptionGroup, {
67
61
  value: value,
68
62
  top: top,
69
63
  left: left,
70
- minWidth: _this.btnWidth + 8 // 8px is padding
64
+ minWidth: this.btnWidth + 8 // 8px is padding
71
65
  ,
72
66
  options: options,
73
- onSelectOption: _this.props.onSelectOption,
67
+ onSelectOption: this.props.onSelectOption,
74
68
  searchable: searchable,
75
69
  searchPlaceholder: searchPlaceholder,
76
70
  noOptionsPlaceholder: noOptionsPlaceholder,
77
- closeSelect: _this.closeSelect,
78
- getFilterOptions: _this.getFilterOptions,
79
- supportMultipleSelect: _this.props.supportMultipleSelect,
71
+ closeSelect: this.closeSelect,
72
+ getFilterOptions: this.getFilterOptions,
73
+ supportMultipleSelect: this.props.supportMultipleSelect,
80
74
  stopClickEvent: true,
81
75
  isShowSelected: true
82
76
  });
@@ -84,7 +78,7 @@ var CollaboratorSelect = /*#__PURE__*/function (_Component) {
84
78
  return /*#__PURE__*/React.createElement(Popover, {
85
79
  placement: "bottom",
86
80
  isOpen: true,
87
- target: _this.id,
81
+ target: this.id,
88
82
  fade: false,
89
83
  hideArrow: true,
90
84
  className: "dtable-customize-collaborator-select dtable-select"
@@ -92,73 +86,60 @@ var CollaboratorSelect = /*#__PURE__*/function (_Component) {
92
86
  value: value,
93
87
  top: top,
94
88
  left: left,
95
- minWidth: _this.btnWidth + 8 // 8px is padding
89
+ minWidth: this.btnWidth + 8 // 8px is padding
96
90
  ,
97
91
  options: options,
98
- onSelectOption: _this.props.onSelectOption,
92
+ onSelectOption: this.props.onSelectOption,
99
93
  searchable: searchable,
100
94
  searchPlaceholder: searchPlaceholder,
101
95
  noOptionsPlaceholder: noOptionsPlaceholder,
102
- closeSelect: _this.closeSelect,
103
- getFilterOptions: _this.getFilterOptions,
104
- supportMultipleSelect: _this.props.supportMultipleSelect,
96
+ closeSelect: this.closeSelect,
97
+ getFilterOptions: this.getFilterOptions,
98
+ supportMultipleSelect: this.props.supportMultipleSelect,
105
99
  stopClickEvent: true,
106
100
  isShowSelected: true
107
101
  }));
108
102
  };
109
- _this.state = {
103
+ this.state = {
110
104
  isShowSelectOptions: false
111
105
  };
112
- _this.id = 'collaborator-select-' + Math.trunc(Math.random() * 10000);
113
- return _this;
106
+ this.id = 'collaborator-select-' + Math.trunc(Math.random() * 10000);
114
107
  }
115
- _createClass(CollaboratorSelect, [{
116
- key: "componentDidMount",
117
- value: function componentDidMount() {
118
- document.addEventListener('mousedown', this.onMousedown);
119
- this.btnWidth = this.selector.clientWidth;
120
- }
121
- }, {
122
- key: "componentWillUnmount",
123
- value: function componentWillUnmount() {
124
- document.removeEventListener('mousedown', this.onMousedown);
125
- }
126
- }, {
127
- key: "render",
128
- value: function render() {
129
- var _this2 = this;
130
- var _this$props3 = this.props,
131
- className = _this$props3.className,
132
- value = _this$props3.value,
133
- placeholder = _this$props3.placeholder,
134
- isLocked = _this$props3.isLocked;
135
- return /*#__PURE__*/React.createElement("button", {
136
- ref: function ref(node) {
137
- return _this2.selector = node;
138
- },
139
- className: classnames('dtable-select custom-select collaborator-select', {
140
- 'focus': this.state.isShowSelectOptions
141
- }, {
142
- 'disabled': isLocked
143
- }, className),
144
- id: this.id,
145
- onClick: this.onSelectToggle
146
- }, /*#__PURE__*/React.createElement("div", {
147
- className: "selected-option",
148
- ref: function ref(node) {
149
- return _this2.selectedOptionRef = node;
150
- }
151
- }, value.label ? /*#__PURE__*/React.createElement("span", {
152
- className: "selected-option-show"
153
- }, value.label) : /*#__PURE__*/React.createElement("span", {
154
- className: "select-placeholder"
155
- }, placeholder), !isLocked && /*#__PURE__*/React.createElement("i", {
156
- className: "dtable-font dtable-icon-drop-down"
157
- })), this.state.isShowSelectOptions && this.renderOptionGroup());
158
- }
159
- }]);
160
- return CollaboratorSelect;
161
- }(Component);
108
+ componentDidMount() {
109
+ document.addEventListener('mousedown', this.onMousedown);
110
+ this.btnWidth = this.selector.clientWidth;
111
+ }
112
+ componentWillUnmount() {
113
+ document.removeEventListener('mousedown', this.onMousedown);
114
+ }
115
+ render() {
116
+ let {
117
+ className,
118
+ value,
119
+ placeholder,
120
+ isLocked
121
+ } = this.props;
122
+ return /*#__PURE__*/React.createElement("button", {
123
+ ref: node => this.selector = node,
124
+ className: classnames('dtable-select custom-select collaborator-select', {
125
+ 'focus': this.state.isShowSelectOptions
126
+ }, {
127
+ 'disabled': isLocked
128
+ }, className),
129
+ id: this.id,
130
+ onClick: this.onSelectToggle
131
+ }, /*#__PURE__*/React.createElement("div", {
132
+ className: "selected-option",
133
+ ref: node => this.selectedOptionRef = node
134
+ }, value.label ? /*#__PURE__*/React.createElement("span", {
135
+ className: "selected-option-show"
136
+ }, value.label) : /*#__PURE__*/React.createElement("span", {
137
+ className: "select-placeholder"
138
+ }, placeholder), !isLocked && /*#__PURE__*/React.createElement("i", {
139
+ className: "dtable-font dtable-icon-drop-down"
140
+ })), this.state.isShowSelectOptions && this.renderOptionGroup());
141
+ }
142
+ }
162
143
  CollaboratorSelect.defaultProps = {
163
144
  top: -3,
164
145
  left: -3
@@ -1,24 +1,23 @@
1
- export var searchCollaborators = function searchCollaborators(collaborators, searchValue) {
2
- var validSearchValue = searchValue ? searchValue.trim().toLowerCase() : '';
3
- var validCollaborators = Array.isArray(collaborators) && collaborators.length > 0 ? collaborators : [];
1
+ export const searchCollaborators = (collaborators, searchValue) => {
2
+ const validSearchValue = searchValue ? searchValue.trim().toLowerCase() : '';
3
+ const validCollaborators = Array.isArray(collaborators) && collaborators.length > 0 ? collaborators : [];
4
4
  if (!validSearchValue) return validCollaborators;
5
- return validCollaborators.filter(function (collaborator) {
6
- var name = collaborator.name,
7
- _collaborator$name_pi = collaborator.name_pinyin,
8
- name_pinyin = _collaborator$name_pi === void 0 ? '' : _collaborator$name_pi;
5
+ return validCollaborators.filter(collaborator => {
6
+ const {
7
+ name,
8
+ name_pinyin = ''
9
+ } = collaborator;
9
10
  if (name.toString().toLowerCase().indexOf(validSearchValue) > -1) return true;
10
11
  if (!name_pinyin) return false;
11
- var validNamePinyin = name_pinyin.toString().toLowerCase();
12
- var validSearchPinyinValue = validSearchValue.replace(/ |'/g, '');
12
+ const validNamePinyin = name_pinyin.toString().toLowerCase();
13
+ const validSearchPinyinValue = validSearchValue.replace(/ |'/g, '');
13
14
 
14
15
  // complete
15
16
  if (validNamePinyin.indexOf(validSearchPinyinValue) > -1) return true;
16
17
  if (validNamePinyin.replace(/'/g, '').indexOf(validSearchPinyinValue) > -1) return true;
17
- var validNamePinyinList = validNamePinyin.split('\'');
18
+ const validNamePinyinList = validNamePinyin.split('\'');
18
19
  // acronym
19
- var namePinyinAcronym = validNamePinyinList.map(function (item) {
20
- return item && item.trim() ? item.trim().slice(0, 1) : '';
21
- });
20
+ const namePinyinAcronym = validNamePinyinList.map(item => item && item.trim() ? item.trim().slice(0, 1) : '');
22
21
  if (namePinyinAcronym.join('').indexOf(validSearchPinyinValue) > -1) return true;
23
22
  return false;
24
23
  });
@@ -1,63 +1,59 @@
1
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/esm/createClass";
3
- import _inherits from "@babel/runtime/helpers/esm/inherits";
4
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
1
  import React, { Component } from 'react';
6
2
  import SelectOptionGroup from '../SelectOptionGroup';
7
3
  import classnames from 'classnames';
8
4
  import ModalPortal from '../common/modal-portal';
9
5
  import './index.css';
10
- var DTableCustomizeSelect = /*#__PURE__*/function (_Component) {
11
- _inherits(DTableCustomizeSelect, _Component);
12
- var _super = _createSuper(DTableCustomizeSelect);
13
- function DTableCustomizeSelect(props) {
14
- var _this;
15
- _classCallCheck(this, DTableCustomizeSelect);
16
- _this = _super.call(this, props);
17
- _this.onSelectToggle = function (event) {
6
+ class DTableCustomizeSelect extends Component {
7
+ constructor(props) {
8
+ super(props);
9
+ this.onSelectToggle = event => {
18
10
  event.preventDefault();
19
11
  /*
20
12
  if select is showing, click events do not need to be monitored by other click events,
21
13
  so it can be closed when other select is clicked.
22
14
  */
23
- if (_this.state.isShowSelectOptions) event.stopPropagation();
24
- var eventClassName = event.target.className;
25
- if (_this.props.isLocked || eventClassName.indexOf('option-search-control') > -1 || eventClassName === 'option-group-search') return;
15
+ if (this.state.isShowSelectOptions) event.stopPropagation();
16
+ let eventClassName = event.target.className;
17
+ if (this.props.isLocked || eventClassName.indexOf('option-search-control') > -1 || eventClassName === 'option-group-search') return;
26
18
  //Prevent closing by pressing the spacebar in the search input
27
19
  if (event.target.value === '') return;
28
- _this.setState({
29
- isShowSelectOptions: !_this.state.isShowSelectOptions
20
+ this.setState({
21
+ isShowSelectOptions: !this.state.isShowSelectOptions
30
22
  });
31
23
  };
32
- _this.onClick = function (event) {
33
- if (_this.props.isShowSelected && event.target.className.includes('icon-fork-number')) {
24
+ this.onClick = event => {
25
+ if (this.props.isShowSelected && event.target.className.includes('icon-fork-number')) {
34
26
  return;
35
27
  }
36
- if (!_this.selector.contains(event.target)) {
37
- _this.closeSelect();
28
+ if (!this.selector.contains(event.target)) {
29
+ this.closeSelect();
38
30
  }
39
31
  };
40
- _this.closeSelect = function () {
41
- _this.setState({
32
+ this.closeSelect = () => {
33
+ this.setState({
42
34
  isShowSelectOptions: false
43
35
  });
44
36
  };
45
- _this.getSelectedOptionTop = function () {
46
- if (!_this.selector) return 38;
47
- var _this$selector$getBou = _this.selector.getBoundingClientRect(),
48
- height = _this$selector$getBou.height;
37
+ this.getSelectedOptionTop = () => {
38
+ if (!this.selector) return 38;
39
+ const {
40
+ height
41
+ } = this.selector.getBoundingClientRect();
49
42
  return height;
50
43
  };
51
- _this.getFilterOptions = function (searchValue) {
52
- var _this$props = _this.props,
53
- options = _this$props.options,
54
- searchable = _this$props.searchable;
44
+ this.getFilterOptions = searchValue => {
45
+ const {
46
+ options,
47
+ searchable
48
+ } = this.props;
55
49
  if (!searchable) return options || [];
56
- var validSearchVal = searchValue.trim().toLowerCase();
50
+ const validSearchVal = searchValue.trim().toLowerCase();
57
51
  if (!validSearchVal) return options || [];
58
- return options.filter(function (option) {
59
- var value = option.value,
60
- name = option.name;
52
+ return options.filter(option => {
53
+ const {
54
+ value,
55
+ name
56
+ } = option;
61
57
  if (typeof name === 'string') {
62
58
  return name.toLowerCase().indexOf(validSearchVal) > -1;
63
59
  }
@@ -73,75 +69,68 @@ var DTableCustomizeSelect = /*#__PURE__*/function (_Component) {
73
69
  return false;
74
70
  });
75
71
  };
76
- _this.state = {
72
+ this.state = {
77
73
  isShowSelectOptions: false
78
74
  };
79
- return _this;
80
75
  }
81
- _createClass(DTableCustomizeSelect, [{
82
- key: "render",
83
- value: function render() {
84
- var _this2 = this;
85
- var _this$props2 = this.props,
86
- className = _this$props2.className,
87
- value = _this$props2.value,
88
- options = _this$props2.options,
89
- placeholder = _this$props2.placeholder,
90
- searchable = _this$props2.searchable,
91
- searchPlaceholder = _this$props2.searchPlaceholder,
92
- noOptionsPlaceholder = _this$props2.noOptionsPlaceholder,
93
- isLocked = _this$props2.isLocked,
94
- isInModal = _this$props2.isInModal;
95
- return /*#__PURE__*/React.createElement("div", {
96
- ref: function ref(node) {
97
- return _this2.selector = node;
98
- },
99
- className: classnames('dtable-select custom-select', {
100
- 'focus': this.state.isShowSelectOptions
101
- }, {
102
- 'disabled': isLocked
103
- }, className),
104
- onClick: this.onSelectToggle
105
- }, /*#__PURE__*/React.createElement("div", {
106
- className: "selected-option"
107
- }, value && value.label ? /*#__PURE__*/React.createElement("span", {
108
- className: "selected-option-show"
109
- }, value.label) : /*#__PURE__*/React.createElement("span", {
110
- className: "select-placeholder"
111
- }, placeholder), !isLocked && /*#__PURE__*/React.createElement("i", {
112
- className: "dtable-font dtable-icon-drop-down"
113
- })), this.state.isShowSelectOptions && !isInModal && /*#__PURE__*/React.createElement(SelectOptionGroup, {
114
- value: value,
115
- isShowSelected: this.props.isShowSelected,
116
- top: this.getSelectedOptionTop(),
117
- options: options,
118
- onSelectOption: this.props.onSelectOption,
119
- searchable: searchable,
120
- searchPlaceholder: searchPlaceholder,
121
- noOptionsPlaceholder: noOptionsPlaceholder,
122
- onClickOutside: this.onClick,
123
- closeSelect: this.closeSelect,
124
- getFilterOptions: this.getFilterOptions,
125
- supportMultipleSelect: this.props.supportMultipleSelect
126
- }), this.state.isShowSelectOptions && isInModal && /*#__PURE__*/React.createElement(ModalPortal, null, /*#__PURE__*/React.createElement(SelectOptionGroup, {
127
- className: className,
128
- value: value,
129
- isShowSelected: this.props.isShowSelected,
130
- position: this.selector.getBoundingClientRect(),
131
- isInModal: isInModal,
132
- top: this.getSelectedOptionTop(),
133
- options: options,
134
- onSelectOption: this.props.onSelectOption,
135
- searchable: searchable,
136
- searchPlaceholder: searchPlaceholder,
137
- noOptionsPlaceholder: noOptionsPlaceholder,
138
- onClickOutside: this.onClick,
139
- closeSelect: this.closeSelect,
140
- getFilterOptions: this.getFilterOptions,
141
- supportMultipleSelect: this.props.supportMultipleSelect
142
- })));
143
- }
144
- }]);
145
- return DTableCustomizeSelect;
146
- }(Component);
76
+ render() {
77
+ let {
78
+ className,
79
+ value,
80
+ options,
81
+ placeholder,
82
+ searchable,
83
+ searchPlaceholder,
84
+ noOptionsPlaceholder,
85
+ isLocked,
86
+ isInModal
87
+ } = this.props;
88
+ return /*#__PURE__*/React.createElement("div", {
89
+ ref: node => this.selector = node,
90
+ className: classnames('dtable-select custom-select', {
91
+ 'focus': this.state.isShowSelectOptions
92
+ }, {
93
+ 'disabled': isLocked
94
+ }, className),
95
+ onClick: this.onSelectToggle
96
+ }, /*#__PURE__*/React.createElement("div", {
97
+ className: "selected-option"
98
+ }, value && value.label ? /*#__PURE__*/React.createElement("span", {
99
+ className: "selected-option-show"
100
+ }, value.label) : /*#__PURE__*/React.createElement("span", {
101
+ className: "select-placeholder"
102
+ }, placeholder), !isLocked && /*#__PURE__*/React.createElement("i", {
103
+ className: "dtable-font dtable-icon-drop-down"
104
+ })), this.state.isShowSelectOptions && !isInModal && /*#__PURE__*/React.createElement(SelectOptionGroup, {
105
+ value: value,
106
+ isShowSelected: this.props.isShowSelected,
107
+ top: this.getSelectedOptionTop(),
108
+ options: options,
109
+ onSelectOption: this.props.onSelectOption,
110
+ searchable: searchable,
111
+ searchPlaceholder: searchPlaceholder,
112
+ noOptionsPlaceholder: noOptionsPlaceholder,
113
+ onClickOutside: this.onClick,
114
+ closeSelect: this.closeSelect,
115
+ getFilterOptions: this.getFilterOptions,
116
+ supportMultipleSelect: this.props.supportMultipleSelect
117
+ }), this.state.isShowSelectOptions && isInModal && /*#__PURE__*/React.createElement(ModalPortal, null, /*#__PURE__*/React.createElement(SelectOptionGroup, {
118
+ className: className,
119
+ value: value,
120
+ isShowSelected: this.props.isShowSelected,
121
+ position: this.selector.getBoundingClientRect(),
122
+ isInModal: isInModal,
123
+ top: this.getSelectedOptionTop(),
124
+ options: options,
125
+ onSelectOption: this.props.onSelectOption,
126
+ searchable: searchable,
127
+ searchPlaceholder: searchPlaceholder,
128
+ noOptionsPlaceholder: noOptionsPlaceholder,
129
+ onClickOutside: this.onClick,
130
+ closeSelect: this.closeSelect,
131
+ getFilterOptions: this.getFilterOptions,
132
+ supportMultipleSelect: this.props.supportMultipleSelect
133
+ })));
134
+ }
135
+ }
147
136
  export default DTableCustomizeSelect;