dtable-ui-component 0.1.75-beta → 0.1.75-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.
Files changed (115) hide show
  1. package/lib/app.css +20 -0
  2. package/lib/app.js +96 -0
  3. package/lib/assets/images/avatar/default_avatar.png +0 -0
  4. package/lib/assets/images/file/192/excel.png +0 -0
  5. package/lib/assets/images/file/192/file.png +0 -0
  6. package/lib/assets/images/file/192/music.png +0 -0
  7. package/lib/assets/images/file/192/pdf.png +0 -0
  8. package/lib/assets/images/file/192/pic.png +0 -0
  9. package/lib/assets/images/file/192/ppt.png +0 -0
  10. package/lib/assets/images/file/192/txt.png +0 -0
  11. package/lib/assets/images/file/192/video.png +0 -0
  12. package/lib/assets/images/file/192/word.png +0 -0
  13. package/lib/assets/images/file/24/excel.png +0 -0
  14. package/lib/assets/images/file/24/file.png +0 -0
  15. package/lib/assets/images/file/24/music.png +0 -0
  16. package/lib/assets/images/file/24/pdf.png +0 -0
  17. package/lib/assets/images/file/24/pic.png +0 -0
  18. package/lib/assets/images/file/24/ppt.png +0 -0
  19. package/lib/assets/images/file/24/txt.png +0 -0
  20. package/lib/assets/images/file/24/video.png +0 -0
  21. package/lib/assets/images/file/24/word.png +0 -0
  22. package/lib/assets/images/folder/folder-192.png +0 -0
  23. package/lib/assets/images/folder/folder-24.png +0 -0
  24. package/lib/components/cell-editor/checkbox-editor.js +111 -0
  25. package/lib/components/cell-editor/collaborator-editor.js +249 -0
  26. package/lib/components/cell-editor/date-editor.js +171 -0
  27. package/lib/components/cell-editor/index.js +40 -0
  28. package/lib/components/cell-editor/link-editor.js +321 -0
  29. package/lib/components/cell-editor/multiple-select-editor.js +250 -0
  30. package/lib/components/cell-editor/number-editor.js +162 -0
  31. package/lib/components/cell-editor/single-select-editor.js +216 -0
  32. package/lib/components/cell-editor/text-editor.js +129 -0
  33. package/lib/components/cell-editor-dialog/pc-file-editor-dialog.js +66 -0
  34. package/lib/components/cell-editor-dialog/pc-files-addition/index.js +1 -0
  35. package/lib/components/cell-editor-dialog/pc-files-addition/pc-file-uploaded-item.js +1 -0
  36. package/lib/components/cell-editor-dialog/pc-files-preview/index.js +1 -0
  37. package/lib/components/cell-editor-dialog/pc-files-preview/pc-file-item-preview.js +1 -0
  38. package/lib/components/cell-editor-popover/mb-collaborator-editor-popover.js +183 -0
  39. package/lib/components/cell-editor-popover/mb-date-editor-popover.js +262 -0
  40. package/lib/components/cell-editor-popover/mb-link-editor-popover.js +176 -0
  41. package/lib/components/cell-editor-popover/mb-select-editor-popover.js +243 -0
  42. package/lib/components/cell-editor-popover/pc-collaborator-editor-popover.js +124 -0
  43. package/lib/components/cell-editor-popover/pc-date-editor-popover.js +156 -0
  44. package/lib/components/cell-editor-popover/pc-link-editor-popover.js +128 -0
  45. package/lib/components/cell-editor-popover/pc-select-editor-popover.js +157 -0
  46. package/lib/components/cell-factory/cell-formatter-factory.js +28 -0
  47. package/lib/components/cell-formatter/auto-number-formatter.js +45 -0
  48. package/lib/components/cell-formatter/button-formatter.js +66 -0
  49. package/lib/components/cell-formatter/checkbox-formatter.js +56 -0
  50. package/lib/components/cell-formatter/collaborator-formatter.js +111 -0
  51. package/lib/components/cell-formatter/creator-formatter.js +105 -0
  52. package/lib/components/cell-formatter/ctime-formatter.js +70 -0
  53. package/lib/components/cell-formatter/date-formatter.js +73 -0
  54. package/lib/components/cell-formatter/duration-formatter.js +49 -0
  55. package/lib/components/cell-formatter/email-formatter.js +45 -0
  56. package/lib/components/cell-formatter/file-formatter.js +77 -0
  57. package/lib/components/cell-formatter/formatter-config.js +66 -0
  58. package/lib/components/cell-formatter/formula-formatter.js +189 -0
  59. package/lib/components/cell-formatter/geolocation-formatter.js +66 -0
  60. package/lib/components/cell-formatter/image-formatter.js +171 -0
  61. package/lib/components/cell-formatter/index.js +112 -0
  62. package/lib/components/cell-formatter/last-modifier-formatter.js +105 -0
  63. package/lib/components/cell-formatter/link-formatter.js +165 -0
  64. package/lib/components/cell-formatter/long-text-formatter.js +46 -0
  65. package/lib/components/cell-formatter/mtime-formatter.js +70 -0
  66. package/lib/components/cell-formatter/multiple-select-formatter.js +84 -0
  67. package/lib/components/cell-formatter/number-formatter.js +60 -0
  68. package/lib/components/cell-formatter/rate-formatter.js +93 -0
  69. package/lib/components/cell-formatter/single-select-formatter.js +84 -0
  70. package/lib/components/cell-formatter/text-formatter.js +67 -0
  71. package/lib/components/cell-formatter/url-formatter.js +45 -0
  72. package/lib/components/cell-formatter/widgets/file-item-formatter.js +63 -0
  73. package/lib/components/cell-formatter/widgets/image-previewer-lightbox.js +152 -0
  74. package/lib/components/cell-formatter/widgets/long-text-formatter/html-long-text-formatter.js +107 -0
  75. package/lib/components/cell-formatter/widgets/long-text-formatter/simple-long-text-formatter.js +110 -0
  76. package/lib/components/common/collaborator-item.js +79 -0
  77. package/lib/components/common/edit-editor-button.js +67 -0
  78. package/lib/components/common/images-lazy-load.js +158 -0
  79. package/lib/components/common/link-editor-option.js +121 -0
  80. package/lib/components/common/mobile/mb-editor-header.js +61 -0
  81. package/lib/components/common/modal-portal.js +51 -0
  82. package/lib/components/common/select-editor-option.js +122 -0
  83. package/lib/components/common/select-item.js +73 -0
  84. package/lib/components/file-uploader/index.js +63 -0
  85. package/lib/components/loading.js +16 -0
  86. package/lib/components/toast/alert.js +164 -0
  87. package/lib/components/toast/index.js +12 -0
  88. package/lib/components/toast/toast.js +223 -0
  89. package/lib/components/toast/toastManager.js +189 -0
  90. package/lib/components/toast/toaster.js +92 -0
  91. package/lib/constants/cell-types.js +54 -0
  92. package/lib/constants/index.js +70 -0
  93. package/lib/css/cell-editor.css +614 -0
  94. package/lib/css/cell-formatter.css +247 -0
  95. package/lib/css/custom-rc-calendar.css +118 -0
  96. package/lib/css/image-previewer-ligntbox.css +87 -0
  97. package/lib/css/loading.css +54 -0
  98. package/lib/index.js +64 -0
  99. package/lib/lang/index.js +66 -0
  100. package/lib/locals/de.js +7 -0
  101. package/lib/locals/en.js +22 -0
  102. package/lib/locals/fr.js +7 -0
  103. package/lib/locals/zh-CN.js +22 -0
  104. package/lib/utils/cell-value-validator.js +41 -0
  105. package/lib/utils/column-utils.js +15 -0
  106. package/lib/utils/editor-utils.js +81 -0
  107. package/lib/utils/markdown2html.js +68 -0
  108. package/lib/utils/normalize-long-text-value.js +74 -0
  109. package/lib/utils/number-precision.js +181 -0
  110. package/lib/utils/unified/index.js +470 -0
  111. package/lib/utils/utils.js +141 -0
  112. package/lib/utils/value-format-utils.js +545 -0
  113. package/lib/utils/vfile/core.js +172 -0
  114. package/lib/utils/vfile/index.js +48 -0
  115. package/package.json +3 -3
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
9
+
10
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _moment = _interopRequireDefault(require("moment"));
19
+
20
+ var _Picker = _interopRequireDefault(require("@seafile/seafile-calendar/lib/Picker"));
21
+
22
+ var _seafileCalendar = _interopRequireDefault(require("@seafile/seafile-calendar"));
23
+
24
+ var _editorUtils = require("../../utils/editor-utils");
25
+
26
+ require("@seafile/seafile-calendar/assets/index.css");
27
+
28
+ var _lang = require("../../lang");
29
+
30
+ var propTypes = {
31
+ lang: _propTypes.default.string.isRequired,
32
+ value: _propTypes.default.string,
33
+ dateFormat: _propTypes.default.string.isRequired,
34
+ showHourAndMinute: _propTypes.default.bool.isRequired,
35
+ onValueChanged: _propTypes.default.func.isRequired
36
+ };
37
+
38
+ var PCDateEditorPopover = /*#__PURE__*/function (_React$Component) {
39
+ (0, _inheritsLoose2.default)(PCDateEditorPopover, _React$Component);
40
+
41
+ function PCDateEditorPopover(props) {
42
+ var _this;
43
+
44
+ _this = _React$Component.call(this, props) || this;
45
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onChange", function (value) {
46
+ if (!value) return;
47
+ var dateFormat = _this.props.dateFormat;
48
+
49
+ _this.setState({
50
+ datePickerValue: value,
51
+ open: true // if value changed, don't close datePicker
52
+
53
+ });
54
+
55
+ _this.props.onValueChanged(value.format(dateFormat));
56
+ });
57
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onOpenChange", function (open) {
58
+ _this.setState({
59
+ open: open
60
+ });
61
+
62
+ return;
63
+ });
64
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onClear", function () {
65
+ _this.setState({
66
+ datePickerValue: null
67
+ });
68
+ });
69
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onFocusDatePicker", function () {
70
+ _this.setState({
71
+ open: true
72
+ });
73
+ });
74
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleMouseDown", function (event) {
75
+ event.preventDefault();
76
+ event.stopPropagation();
77
+ });
78
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getCalendarContainer", function () {
79
+ return _this.calendarContainerRef.current;
80
+ });
81
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getCalender", function () {
82
+ var _this$props = _this.props,
83
+ dateFormat = _this$props.dateFormat,
84
+ showHourAndMinute = _this$props.showHourAndMinute,
85
+ lang = _this$props.lang;
86
+ var defaultValue = (0, _moment.default)().clone();
87
+ return /*#__PURE__*/_react.default.createElement(_seafileCalendar.default, {
88
+ locale: (0, _editorUtils.initDateEditorLanguage)(lang),
89
+ style: {
90
+ zIndex: 1001
91
+ },
92
+ format: dateFormat,
93
+ defaultValue: defaultValue,
94
+ showHourAndMinute: showHourAndMinute,
95
+ dateInputPlaceholder: (0, _lang.getLocale)('Please_input'),
96
+ showDateInput: true,
97
+ focusablePanel: false,
98
+ onClear: _this.onClear
99
+ });
100
+ });
101
+ _this.state = {
102
+ open: true,
103
+ datePickerValue: props.value ? (0, _moment.default)(props.value) : null
104
+ };
105
+ _this.calendarContainerRef = /*#__PURE__*/_react.default.createRef();
106
+ return _this;
107
+ } // event trigger sequence: onOpenChange --> onChange
108
+
109
+
110
+ var _proto = PCDateEditorPopover.prototype;
111
+
112
+ _proto.render = function render() {
113
+ var _this2 = this;
114
+
115
+ var dateFormat = this.props.dateFormat;
116
+ var _this$state = this.state,
117
+ open = _this$state.open,
118
+ datePickerValue = _this$state.datePickerValue;
119
+ var calendar = this.getCalender();
120
+ return /*#__PURE__*/_react.default.createElement(_Picker.default, {
121
+ open: open,
122
+ value: datePickerValue,
123
+ animation: "slide-up",
124
+ style: {
125
+ zIndex: 1001
126
+ },
127
+ calendar: calendar,
128
+ getCalendarContainer: this.getCalendarContainer,
129
+ onChange: this.onChange,
130
+ onOpenChange: this.onOpenChange
131
+ }, function (_ref) {
132
+ var value = _ref.value;
133
+ value = value && value.format(dateFormat);
134
+ return /*#__PURE__*/_react.default.createElement("span", {
135
+ className: "dtable-ui-date-editor-container",
136
+ tabIndex: "0",
137
+ onFocus: _this2.onFocusDatePicker
138
+ }, /*#__PURE__*/_react.default.createElement("input", {
139
+ readOnly: true,
140
+ tabIndex: "-1",
141
+ className: "form-control",
142
+ placeholder: (0, _lang.getLocale)('Please_select'),
143
+ value: value || '',
144
+ onMouseDown: _this2.handleMouseDown
145
+ }), /*#__PURE__*/_react.default.createElement("div", {
146
+ ref: _this2.calendarContainerRef
147
+ }));
148
+ });
149
+ };
150
+
151
+ return PCDateEditorPopover;
152
+ }(_react.default.Component);
153
+
154
+ PCDateEditorPopover.propTypes = propTypes;
155
+ var _default = PCDateEditorPopover;
156
+ exports.default = _default;
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
9
+
10
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _lang = require("../../lang");
19
+
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
+
24
+ var propTypes = {
25
+ popoverPosition: _propTypes.default.object.isRequired,
26
+ options: _propTypes.default.array.isRequired,
27
+ selectedOptions: _propTypes.default.array.isRequired,
28
+ onOptionItemToggle: _propTypes.default.func.isRequired
29
+ };
30
+
31
+ var PCLinkEditorPopover = /*#__PURE__*/function (_React$Component) {
32
+ (0, _inheritsLoose2.default)(PCLinkEditorPopover, _React$Component);
33
+
34
+ function PCLinkEditorPopover(props) {
35
+ var _this;
36
+
37
+ _this = _React$Component.call(this, props) || this;
38
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onValueChanged", function (event) {
39
+ var value = event.target.value;
40
+
41
+ _this.setState({
42
+ searchValue: value
43
+ });
44
+ });
45
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onInputClick", function (event) {
46
+ event.nativeEvent.stopImmediatePropagation();
47
+ event.stopPropagation();
48
+ });
49
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onOptionItemToggle", function (item) {
50
+ _this.props.onOptionItemToggle(item);
51
+ });
52
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getFilterOptions", function () {
53
+ var options = _this.props.options;
54
+
55
+ var filter = _this.state.searchValue.toLowerCase();
56
+
57
+ if (!filter) {
58
+ return options;
59
+ }
60
+
61
+ return options.filter(function (option) {
62
+ return option.name.toString().toLowerCase().indexOf(filter) > -1;
63
+ });
64
+ });
65
+ _this.state = {
66
+ searchValue: ''
67
+ };
68
+ return _this;
69
+ }
70
+
71
+ var _proto = PCLinkEditorPopover.prototype;
72
+
73
+ _proto.render = function render() {
74
+ var _this2 = this;
75
+
76
+ var options = this.getFilterOptions();
77
+ var _this$props = this.props,
78
+ popoverPosition = _this$props.popoverPosition,
79
+ selectedOptions = _this$props.selectedOptions;
80
+ var searchValue = this.state.searchValue;
81
+ var popoverStyle = Object.assign({}, _objectSpread({}, popoverPosition), {
82
+ position: 'absolute'
83
+ });
84
+ return /*#__PURE__*/_react.default.createElement("div", {
85
+ className: "dtable-ui-editor-popover dtable-ui-link-editor-popover",
86
+ style: popoverStyle
87
+ }, /*#__PURE__*/_react.default.createElement("div", {
88
+ className: "link-options-search"
89
+ }, /*#__PURE__*/_react.default.createElement("input", {
90
+ className: "form-control",
91
+ value: searchValue,
92
+ onChange: this.onValueChanged,
93
+ onClick: this.onInputClick,
94
+ placeholder: (0, _lang.getLocale)('Find_an_option')
95
+ })), /*#__PURE__*/_react.default.createElement("div", {
96
+ className: "link-options-container"
97
+ }, options.length > 0 && options.map(function (option, index) {
98
+ var isSelect = selectedOptions.some(function (selectedOption) {
99
+ return selectedOption.id === option.id;
100
+ });
101
+ return /*#__PURE__*/_react.default.createElement("div", {
102
+ key: index,
103
+ className: "link-option-item",
104
+ onClick: _this2.onOptionItemToggle.bind(_this2, option)
105
+ }, /*#__PURE__*/_react.default.createElement("div", {
106
+ className: "option-info"
107
+ }, /*#__PURE__*/_react.default.createElement("div", {
108
+ className: "option-name"
109
+ }, option.name)), /*#__PURE__*/_react.default.createElement("div", {
110
+ className: "option-checked"
111
+ }, isSelect && /*#__PURE__*/_react.default.createElement("i", {
112
+ className: "dtable-font dtable-icon-check-mark"
113
+ })));
114
+ }), options.length === 0 && /*#__PURE__*/_react.default.createElement("div", {
115
+ className: "link-option-null"
116
+ }, (0, _lang.getLocale)('No_options_available'))));
117
+ };
118
+
119
+ return PCLinkEditorPopover;
120
+ }(_react.default.Component);
121
+
122
+ (0, _defineProperty2.default)(PCLinkEditorPopover, "defaultProps", {
123
+ popoverPosition: {},
124
+ options: []
125
+ });
126
+ PCLinkEditorPopover.propTypes = propTypes;
127
+ var _default = PCLinkEditorPopover;
128
+ exports.default = _default;
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
9
+
10
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _lang = require("../../lang");
19
+
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
+
24
+ var propTypes = {
25
+ popoverPosition: _propTypes.default.object.isRequired,
26
+ options: _propTypes.default.array.isRequired,
27
+ selectedOptions: _propTypes.default.array.isRequired,
28
+ onOptionItemToggle: _propTypes.default.func.isRequired,
29
+ isSupportNewOption: _propTypes.default.bool,
30
+ onAddNewOption: _propTypes.default.func
31
+ };
32
+
33
+ var PCSelectEditorPopover = /*#__PURE__*/function (_React$Component) {
34
+ (0, _inheritsLoose2.default)(PCSelectEditorPopover, _React$Component);
35
+
36
+ function PCSelectEditorPopover(props) {
37
+ var _this;
38
+
39
+ _this = _React$Component.call(this, props) || this;
40
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onValueChanged", function (event) {
41
+ var value = event.target.value;
42
+
43
+ _this.setState({
44
+ searchValue: value
45
+ });
46
+ });
47
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onInputClick", function (event) {
48
+ event.nativeEvent.stopImmediatePropagation();
49
+ event.stopPropagation();
50
+ });
51
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onAddNewOption", function () {
52
+ var name = _this.state.searchValue.trim();
53
+
54
+ _this.props.onAddNewOption(name);
55
+ });
56
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onOptionItemToggle", function (item) {
57
+ _this.props.onOptionItemToggle(item);
58
+ });
59
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getFilterOptions", function () {
60
+ var options = _this.props.options;
61
+
62
+ var filter = _this.state.searchValue.toLowerCase();
63
+
64
+ if (!filter) {
65
+ return options;
66
+ }
67
+
68
+ return options.filter(function (option) {
69
+ return option.name.toString().toLowerCase().indexOf(filter) > -1;
70
+ });
71
+ });
72
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getOptionStyle", function (option) {
73
+ var textColor = option.textColor || null;
74
+ return {
75
+ display: 'inline-block',
76
+ padding: '0px 10px',
77
+ height: '20px',
78
+ lineHeight: '20px',
79
+ borderRadius: '10px',
80
+ fontSize: '13px',
81
+ backgroundColor: option.color,
82
+ color: textColor
83
+ };
84
+ });
85
+ _this.state = {
86
+ searchValue: ''
87
+ };
88
+ return _this;
89
+ }
90
+
91
+ var _proto = PCSelectEditorPopover.prototype;
92
+
93
+ _proto.render = function render() {
94
+ var _this2 = this;
95
+
96
+ var options = this.getFilterOptions();
97
+ var _this$props = this.props,
98
+ popoverPosition = _this$props.popoverPosition,
99
+ selectedOptions = _this$props.selectedOptions,
100
+ isSupportNewOption = _this$props.isSupportNewOption;
101
+ var searchValue = this.state.searchValue;
102
+ var popoverStyle = Object.assign({}, _objectSpread({}, popoverPosition), {
103
+ position: 'absolute'
104
+ });
105
+ return /*#__PURE__*/_react.default.createElement("div", {
106
+ className: "dtable-ui-editor-popover dtable-ui-select-editor-popover",
107
+ style: popoverStyle
108
+ }, /*#__PURE__*/_react.default.createElement("div", {
109
+ className: "select-options-search"
110
+ }, /*#__PURE__*/_react.default.createElement("input", {
111
+ className: "form-control",
112
+ onChange: this.onValueChanged,
113
+ onClick: this.onInputClick,
114
+ placeholder: (0, _lang.getLocale)('Find_an_option')
115
+ })), /*#__PURE__*/_react.default.createElement("div", {
116
+ className: "select-options-container"
117
+ }, options.length > 0 && options.map(function (option, index) {
118
+ var optionStyle = _this2.getOptionStyle(option);
119
+
120
+ var isSelect = selectedOptions.some(function (selectedOption) {
121
+ return selectedOption.id === option.id;
122
+ });
123
+ return /*#__PURE__*/_react.default.createElement("div", {
124
+ key: index,
125
+ className: "select-option-item",
126
+ onClick: _this2.onOptionItemToggle.bind(_this2, option)
127
+ }, /*#__PURE__*/_react.default.createElement("div", {
128
+ className: "option-info"
129
+ }, /*#__PURE__*/_react.default.createElement("div", {
130
+ className: "option-name",
131
+ style: optionStyle
132
+ }, option.name)), /*#__PURE__*/_react.default.createElement("div", {
133
+ className: "option-checked"
134
+ }, isSelect && /*#__PURE__*/_react.default.createElement("i", {
135
+ className: "dtable-font dtable-icon-check-mark"
136
+ })));
137
+ }), options.length === 0 && /*#__PURE__*/_react.default.createElement("div", {
138
+ className: "search-option-null"
139
+ }, (0, _lang.getLocale)('No_options_available'))), isSupportNewOption && !!searchValue && /*#__PURE__*/_react.default.createElement("div", {
140
+ className: "select-options-add",
141
+ onClick: this.onAddNewOption
142
+ }, /*#__PURE__*/_react.default.createElement("i", {
143
+ className: "dtable-font dtable-icon-add-table"
144
+ }), /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Add_an_option'), ' ', searchValue)));
145
+ };
146
+
147
+ return PCSelectEditorPopover;
148
+ }(_react.default.Component);
149
+
150
+ (0, _defineProperty2.default)(PCSelectEditorPopover, "defaultProps", {
151
+ popoverPosition: {},
152
+ options: [],
153
+ isShowAddBtn: false
154
+ });
155
+ PCSelectEditorPopover.propTypes = propTypes;
156
+ var _default = PCSelectEditorPopover;
157
+ exports.default = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _formatterConfig = _interopRequireDefault(require("../cell-formatter/formatter-config"));
9
+
10
+ var CellFormatterFactory = /*#__PURE__*/function () {
11
+ function CellFormatterFactory() {}
12
+
13
+ var _proto = CellFormatterFactory.prototype;
14
+
15
+ _proto.createFormatter = function createFormatter(formatterType) {
16
+ if (_formatterConfig.default[formatterType]) {
17
+ return _formatterConfig.default[formatterType];
18
+ }
19
+
20
+ return null;
21
+ };
22
+
23
+ return CellFormatterFactory;
24
+ }();
25
+
26
+ var cellFormatterFactory = new CellFormatterFactory();
27
+ var _default = cellFormatterFactory;
28
+ exports.default = _default;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _astroClassname = _interopRequireDefault(require("astro-classname"));
15
+
16
+ var propTypes = {
17
+ value: _propTypes.default.string.isRequired,
18
+ containerClassName: _propTypes.default.string
19
+ };
20
+
21
+ var AutoNumberFormatter = /*#__PURE__*/function (_React$Component) {
22
+ (0, _inheritsLoose2.default)(AutoNumberFormatter, _React$Component);
23
+
24
+ function AutoNumberFormatter() {
25
+ return _React$Component.apply(this, arguments) || this;
26
+ }
27
+
28
+ var _proto = AutoNumberFormatter.prototype;
29
+
30
+ _proto.render = function render() {
31
+ var _this$props = this.props,
32
+ containerClassName = _this$props.containerClassName,
33
+ value = _this$props.value;
34
+ var classname = (0, _astroClassname.default)('dtable-ui cell-formatter-container auto-number-formatter', containerClassName);
35
+ return /*#__PURE__*/_react.default.createElement("div", {
36
+ className: classname
37
+ }, value);
38
+ };
39
+
40
+ return AutoNumberFormatter;
41
+ }(_react.default.Component);
42
+
43
+ AutoNumberFormatter.propTypes = propTypes;
44
+ var _default = AutoNumberFormatter;
45
+ exports.default = _default;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _astroClassname = _interopRequireDefault(require("astro-classname"));
15
+
16
+ var propTypes = {
17
+ data: _propTypes.default.object,
18
+ containerClassName: _propTypes.default.string,
19
+ optionColors: _propTypes.default.array
20
+ };
21
+
22
+ var ButtonFormatter = /*#__PURE__*/function (_React$Component) {
23
+ (0, _inheritsLoose2.default)(ButtonFormatter, _React$Component);
24
+
25
+ function ButtonFormatter() {
26
+ return _React$Component.apply(this, arguments) || this;
27
+ }
28
+
29
+ var _proto = ButtonFormatter.prototype;
30
+
31
+ _proto.render = function render() {
32
+ var _this$props = this.props,
33
+ data = _this$props.data,
34
+ containerClassName = _this$props.containerClassName,
35
+ optionColors = _this$props.optionColors;
36
+
37
+ var _ref = data || {},
38
+ button_color = _ref.button_color,
39
+ button_type = _ref.button_type,
40
+ button_name = _ref.button_name;
41
+
42
+ if (!button_type) return null;
43
+ var colorOption = Array.isArray(optionColors) ? optionColors.find(function (item) {
44
+ return item.COLOR === button_color;
45
+ }) || optionColors[0] : {
46
+ COLOR: '#FFFCB5',
47
+ BORDER_COLOR: '#E8E79D',
48
+ TEXT_COLOR: '#202428'
49
+ };
50
+ var btnStyle = {
51
+ backgroundColor: colorOption.COLOR,
52
+ borderColor: colorOption.BORDER_COLOR,
53
+ color: colorOption.TEXT_COLOR
54
+ };
55
+ return /*#__PURE__*/_react.default.createElement("div", {
56
+ className: (0, _astroClassname.default)('dtable-ui cell-formatter-container button-formatter', containerClassName),
57
+ style: btnStyle
58
+ }, button_name);
59
+ };
60
+
61
+ return ButtonFormatter;
62
+ }(_react.default.Component);
63
+
64
+ ButtonFormatter.propTypes = propTypes;
65
+ var _default = ButtonFormatter;
66
+ exports.default = _default;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _astroClassname = _interopRequireDefault(require("astro-classname"));
17
+
18
+ var propTypes = {
19
+ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
20
+ containerClassName: _propTypes.default.string
21
+ };
22
+
23
+ var CheckboxFormatter = /*#__PURE__*/function (_React$PureComponent) {
24
+ (0, _inheritsLoose2.default)(CheckboxFormatter, _React$PureComponent);
25
+
26
+ function CheckboxFormatter() {
27
+ return _React$PureComponent.apply(this, arguments) || this;
28
+ }
29
+
30
+ var _proto = CheckboxFormatter.prototype;
31
+
32
+ _proto.render = function render() {
33
+ var _this$props = this.props,
34
+ value = _this$props.value,
35
+ containerClassName = _this$props.containerClassName;
36
+ value = value === true ? true : false;
37
+ var classname = (0, _astroClassname.default)('dtable-ui cell-formatter-container checkbox-formatter', containerClassName);
38
+ return /*#__PURE__*/_react.default.createElement("div", {
39
+ className: classname
40
+ }, /*#__PURE__*/_react.default.createElement("input", {
41
+ className: "checkbox",
42
+ type: "checkbox",
43
+ readOnly: true,
44
+ checked: value
45
+ }));
46
+ };
47
+
48
+ return CheckboxFormatter;
49
+ }(_react.default.PureComponent);
50
+
51
+ (0, _defineProperty2.default)(CheckboxFormatter, "defaultProps", {
52
+ value: false
53
+ });
54
+ CheckboxFormatter.propTypes = propTypes;
55
+ var _default = CheckboxFormatter;
56
+ exports.default = _default;