@seafile/sdoc-editor 3.0.86 → 3.0.87

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 (23) hide show
  1. package/dist/api/seafile-api.js +20 -21
  2. package/dist/constants/index.js +2 -1
  3. package/dist/context.js +25 -9
  4. package/dist/editor/sdoc-editor.js +3 -0
  5. package/dist/editor/wiki-editor.js +7 -2
  6. package/dist/extension/commons/insert-element-dialog/index.js +13 -26
  7. package/dist/extension/plugins/file-view/helpers.js +2 -14
  8. package/dist/extension/plugins/file-view/render-elem/index.js +15 -30
  9. package/dist/extension/toolbar/insert-element-toolbar/index.js +10 -9
  10. package/dist/extension/toolbar/linked-repo-popover/link-repo-list.css +40 -9
  11. package/dist/extension/toolbar/linked-repo-popover/link-repo-list.js +35 -68
  12. package/dist/extension/toolbar/side-toolbar/insert-block-menu.js +11 -10
  13. package/package.json +3 -3
  14. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/constants.js +0 -16
  15. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/index.css +0 -96
  16. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/index.js +0 -156
  17. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/option.css +0 -49
  18. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/option.js +0 -53
  19. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/select-option-group.css +0 -37
  20. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/select-option-group.js +0 -241
  21. package/dist/extension/plugins/file-view/insert-view-dialog/index.js +0 -232
  22. package/dist/extension/plugins/file-view/insert-view-dialog/modal-portal.js +0 -41
  23. /package/dist/{extension/plugins/file-view/insert-view-dialog/dropdown-select → assets/images}/lib.png +0 -0
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
10
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactI18next = require("react-i18next");
13
13
  var _reactstrap = require("reactstrap");
@@ -151,21 +151,22 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
151
151
  var wikiId = _context["default"].getSetting('wikiId');
152
152
  var data = {
153
153
  wiki_id: wikiId,
154
- view_name: t('View_name'),
155
- view_type: 'table',
156
- link_repo_id: item.repo_id
154
+ name: item.repo_name,
155
+ linked_repo_id: item.repo_id,
156
+ type: 'table'
157
157
  };
158
- _context["default"].insertWikiView(data).then(function (res) {
159
- var view = res.data.view;
160
- var viewData = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, data), {}, {
161
- view_id: view._id
162
- });
158
+ _context["default"].insertFileView(data).then(function (res) {
159
+ var fileView = res.data;
160
+ var viewData = {
161
+ wiki_id: wikiId,
162
+ file_view_id: fileView.id
163
+ };
163
164
  (0, _helpers3.insertFileView)(viewData, editor, insertPosition, slateNode);
164
165
  })["catch"](function (error) {
165
166
  var errorMessage = (0, _commonUtils.getErrorMsg)(error);
166
167
  _toast["default"].danger(errorMessage);
167
168
  });
168
- }, [editor, insertPosition, slateNode, t]);
169
+ }, [editor, insertPosition, slateNode]);
169
170
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, [_constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.PARAGRAPH]].concat((0, _toConsumableArray2["default"])(_constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.HEADER])).map(function (item) {
170
171
  return /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
171
172
  isHidden: !insertMenuSearchMap[item.type],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "3.0.86",
3
+ "version": "3.0.87",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -20,7 +20,7 @@
20
20
  "@seafile/comment-editor": "~1.0.16",
21
21
  "@seafile/print-js": "1.6.6",
22
22
  "@seafile/react-image-lightbox": "5.0.4",
23
- "@seafile/seafile-database": "0.0.24",
23
+ "@seafile/seafile-database": "0.0.29",
24
24
  "@seafile/slate": "0.91.8",
25
25
  "@seafile/slate-history": "0.86.2",
26
26
  "@seafile/slate-hyperscript": "0.81.7",
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "dfb69712b9764d4344731bb2782ae5d2a729a3fa"
75
+ "gitHead": "622242038e73a0ae5b49a30d5647d9acf93a1904"
76
76
  }
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var KeyCodes = {
8
- Tab: 9,
9
- Escape: 27,
10
- Esc: 27,
11
- LeftArrow: 37,
12
- UpArrow: 38,
13
- RightArrow: 39,
14
- DownArrow: 40
15
- };
16
- var _default = exports["default"] = KeyCodes;
@@ -1,96 +0,0 @@
1
- .sdoc-select.group-select {
2
- position: relative;
3
- }
4
-
5
- .sdoc-select.group-select.custom-select {
6
- display: flex;
7
- padding: 5px 10px;
8
- border-radius: 3px;
9
- align-items: center;
10
- justify-content: space-between;
11
- max-width: 900px;
12
- user-select: none;
13
- text-align: left;
14
- border-color: 1px solid rgba(0, 40, 100, 0.12);
15
- height: auto;
16
- min-height: 38px;
17
- cursor: pointer;
18
- }
19
-
20
- .sdoc-select.group-select.custom-select:focus,
21
- .sdoc-select.group-select.custom-select.focus {
22
- border-color: #1991eb !important;
23
- box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25);
24
- }
25
-
26
- .sdoc-select.group-select.custom-select.disabled:focus,
27
- .sdoc-select.group-select.custom-select.focus.disabled,
28
- .sdoc-select.group-select.custom-select.disabled:hover {
29
- border-color: rgba(0, 40, 100, 0.12) !important;
30
- box-shadow: unset;
31
- cursor: default;
32
- }
33
-
34
- .sdoc-select.group-select .sdoc-font-down {
35
- display: inline-block;
36
- color: #999;
37
- transform: translateY(2px);
38
- transition: all 0.1s;
39
- font-size: 14px !important;
40
- }
41
-
42
- .sdoc-select.group-select .sdoc-font-down:hover {
43
- color: #666;
44
- }
45
-
46
- .sdoc-select.group-select .selected-option {
47
- display: flex;
48
- flex: 1;
49
- overflow: hidden;
50
- flex-wrap: nowrap;
51
- align-items: center;
52
- justify-content: space-between;
53
- background: #fff;
54
- }
55
-
56
- .sdoc-select.group-select.selector-collaborator .option-group .option-group-content {
57
- padding: 10px;
58
- }
59
-
60
- .sdoc-select.group-select.custom-select.selector-collaborator .option-group .option-group-content {
61
- padding: 10px 0;
62
- }
63
-
64
- .sdoc-select.group-select.custom-select.selector-collaborator .option {
65
- padding: 5px 0 5px 10px !important;
66
- line-height: 20px;
67
- }
68
-
69
- .sdoc-select.group-select .select-placeholder {
70
- line-height: 1;
71
- font-size: 14px;
72
- white-space: nowrap;
73
- }
74
-
75
- .sdoc-select.group-select .selected-option-show {
76
- display: flex;
77
- flex-wrap: wrap;
78
- gap: 4px;
79
- }
80
-
81
- .sdoc-select.group-select .selected-option-show .selected-option-item {
82
- display: flex;
83
- align-items: center;
84
- background-color: #fff;
85
- border-radius: 0px;
86
- }
87
-
88
- .sdoc-select.group-select .selected-option-show .selected-option-item .selected-option-item-name {
89
- font-size: 13px;
90
- color: #212529;
91
- }
92
-
93
- .sdoc-select.group-select .selected-option-show .selected-option-item .sf2-icon-close {
94
- cursor: pointer;
95
- color: rgb(103, 103, 103);
96
- }
@@ -1,156 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
11
- var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/callSuper"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/inherits"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
14
- var _react = _interopRequireWildcard(require("react"));
15
- var _classnames = _interopRequireDefault(require("classnames"));
16
- var _modalPortal = _interopRequireDefault(require("../modal-portal.js"));
17
- var _lib = _interopRequireDefault(require("./lib.png"));
18
- var _selectOptionGroup = _interopRequireDefault(require("./select-option-group.js"));
19
- require("./index.css");
20
- var DropdownSelect = /*#__PURE__*/function (_Component) {
21
- function DropdownSelect(props) {
22
- var _this;
23
- (0, _classCallCheck2["default"])(this, DropdownSelect);
24
- _this = (0, _callSuper2["default"])(this, DropdownSelect, [props]);
25
- (0, _defineProperty2["default"])(_this, "onSelectToggle", function (event) {
26
- event.preventDefault();
27
- if (_this.state.isShowSelectOptions) event.stopPropagation();
28
- var eventClassName = event.target.className;
29
- if (eventClassName.indexOf('sf2-icon-close') > -1 || eventClassName === 'option-group-search') return;
30
- if (event.target.value === '') return;
31
- _this.setState({
32
- isShowSelectOptions: !_this.state.isShowSelectOptions
33
- });
34
- });
35
- (0, _defineProperty2["default"])(_this, "onClickOutside", function (event) {
36
- if (_this.props.isShowSelected && event.target.className.includes('icon-fork-number')) {
37
- return;
38
- }
39
- if (!_this.selector.contains(event.target)) {
40
- _this.closeSelect();
41
- }
42
- });
43
- (0, _defineProperty2["default"])(_this, "closeSelect", function () {
44
- _this.setState({
45
- isShowSelectOptions: false
46
- });
47
- });
48
- (0, _defineProperty2["default"])(_this, "getSelectedOptionTop", function () {
49
- if (!_this.selector) return 38;
50
- var _this$selector$getBou = _this.selector.getBoundingClientRect(),
51
- height = _this$selector$getBou.height;
52
- return height;
53
- });
54
- (0, _defineProperty2["default"])(_this, "getFilterOptions", function (searchValue) {
55
- var options = _this.props.options;
56
- var validSearchVal = searchValue.trim().toLowerCase();
57
- if (!validSearchVal) return options || [];
58
- return options.filter(function (option) {
59
- return option.name.toLowerCase().includes(validSearchVal);
60
- });
61
- });
62
- (0, _defineProperty2["default"])(_this, "onSelectOption", function (option) {
63
- _this.props.onSelectOption(option);
64
- _this.setState({
65
- isShowSelectOptions: false
66
- });
67
- });
68
- _this.state = {
69
- isShowSelectOptions: false
70
- };
71
- return _this;
72
- }
73
- (0, _inherits2["default"])(DropdownSelect, _Component);
74
- return (0, _createClass2["default"])(DropdownSelect, [{
75
- key: "UNSAFE_componentWillReceiveProps",
76
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
77
- var _nextProps$selectedOp,
78
- _this$props$selectedO,
79
- _this2 = this;
80
- if (((_nextProps$selectedOp = nextProps.selectedOption) === null || _nextProps$selectedOp === void 0 ? void 0 : _nextProps$selectedOp.id) !== ((_this$props$selectedO = this.props.selectedOption) === null || _this$props$selectedO === void 0 ? void 0 : _this$props$selectedO.id)) {
81
- // when selectedOption change and dom rendered, calculate top
82
- setTimeout(function () {
83
- _this2.forceUpdate();
84
- }, 1);
85
- }
86
- }
87
- }, {
88
- key: "render",
89
- value: function render() {
90
- var _this3 = this;
91
- var _this$props = this.props,
92
- className = _this$props.className,
93
- selectedOption = _this$props.selectedOption,
94
- options = _this$props.options,
95
- placeholder = _this$props.placeholder,
96
- searchPlaceholder = _this$props.searchPlaceholder,
97
- noOptionsPlaceholder = _this$props.noOptionsPlaceholder,
98
- isInModal = _this$props.isInModal,
99
- _this$props$hasIcon = _this$props.hasIcon,
100
- hasIcon = _this$props$hasIcon === void 0 ? false : _this$props$hasIcon;
101
- var isShowSelectOptions = this.state.isShowSelectOptions;
102
- var clazzName = (0, _classnames["default"])('sdoc-select group-select custom-select', {
103
- 'focus': isShowSelectOptions
104
- }, className);
105
- return /*#__PURE__*/_react["default"].createElement("div", {
106
- ref: function ref(node) {
107
- return _this3.selector = node;
108
- },
109
- className: clazzName,
110
- onClick: this.onSelectToggle
111
- }, /*#__PURE__*/_react["default"].createElement("div", {
112
- className: "selected-option"
113
- }, selectedOption && /*#__PURE__*/_react["default"].createElement("span", {
114
- className: "selected-option-show"
115
- }, /*#__PURE__*/_react["default"].createElement("span", {
116
- className: "selected-option-item mr-1 px-1"
117
- }, hasIcon && /*#__PURE__*/_react["default"].createElement("img", {
118
- src: _lib["default"],
119
- width: '24px',
120
- alt: "",
121
- className: "mr-2"
122
- }), /*#__PURE__*/_react["default"].createElement("span", {
123
- className: "selected-option-item-name"
124
- }, selectedOption.name))), !selectedOption && /*#__PURE__*/_react["default"].createElement("span", {
125
- className: "select-placeholder"
126
- }, placeholder), /*#__PURE__*/_react["default"].createElement("i", {
127
- className: "sdocfont sdoc-font-down"
128
- })), this.state.isShowSelectOptions && !isInModal && /*#__PURE__*/_react["default"].createElement(_selectOptionGroup["default"], {
129
- selectedOption: selectedOption,
130
- top: this.getSelectedOptionTop(),
131
- options: options,
132
- onSelectOption: this.onSelectOption,
133
- searchPlaceholder: searchPlaceholder,
134
- noOptionsPlaceholder: noOptionsPlaceholder,
135
- onClickOutside: this.onClickOutside,
136
- closeSelect: this.closeSelect,
137
- getFilterOptions: this.getFilterOptions
138
- }), this.state.isShowSelectOptions && isInModal && /*#__PURE__*/_react["default"].createElement(_modalPortal["default"], null, /*#__PURE__*/_react["default"].createElement(_selectOptionGroup["default"], {
139
- hasIcon: hasIcon,
140
- className: className,
141
- selectedOption: selectedOption,
142
- position: this.selector.getBoundingClientRect(),
143
- isInModal: isInModal,
144
- top: this.getSelectedOptionTop(),
145
- options: options,
146
- onSelectOption: this.onSelectOption,
147
- searchPlaceholder: searchPlaceholder,
148
- noOptionsPlaceholder: noOptionsPlaceholder,
149
- onClickOutside: this.onClickOutside,
150
- closeSelect: this.closeSelect,
151
- getFilterOptions: this.getFilterOptions
152
- })));
153
- }
154
- }]);
155
- }(_react.Component);
156
- var _default = exports["default"] = DropdownSelect;
@@ -1,49 +0,0 @@
1
- .sdoc-options .option {
2
- display: block;
3
- width: 100%;
4
- line-height: 24px;
5
- padding: 6px 10px;
6
- clear: both;
7
- font-weight: 400;
8
- text-align: inherit;
9
- background-color: transparent;
10
- border: 0;
11
- overflow: hidden;
12
- text-overflow: ellipsis;
13
- white-space: nowrap;
14
- display: flex;
15
- align-items: center;
16
- justify-content: space-between;
17
- }
18
-
19
- .sdoc-options .option.option-active {
20
- background-color: #20a0ff;
21
- color: #fff;
22
- cursor: pointer;
23
- }
24
-
25
- .sdoc-options .option.option-active .sf2-icon-tick,
26
- .sdoc-options .option.option-active .select-option-name {
27
- color: #fff !important;
28
- }
29
-
30
- .sdoc-options .option .select-option-name .single-select-option {
31
- margin: 0 0 0 12px;
32
- }
33
-
34
- .sdoc-options .option .select-option-name .multiple-select-option {
35
- margin: 0;
36
- }
37
-
38
- .sdoc-options .option-group-selector-single-select .select-option-name {
39
- display: flex;
40
- align-items: center;
41
- justify-content: space-between;
42
- }
43
-
44
- .sdoc-options .option-group-selector-single-select .option:hover,
45
- .sdoc-options .option-group-selector-single-select .option.option-active,
46
- .sdoc-options .option-group-selector-multiple-select .option:hover,
47
- .sdoc-options .option-group-selector-multiple-select .option.option-active {
48
- background-color: #f5f5f5;
49
- }
@@ -1,53 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
11
- var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/callSuper"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/inherits"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
14
- var _react = _interopRequireWildcard(require("react"));
15
- require("./option.css");
16
- var Option = /*#__PURE__*/function (_Component) {
17
- function Option() {
18
- var _this;
19
- (0, _classCallCheck2["default"])(this, Option);
20
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
21
- args[_key] = arguments[_key];
22
- }
23
- _this = (0, _callSuper2["default"])(this, Option, [].concat(args));
24
- (0, _defineProperty2["default"])(_this, "onSelectOption", function (e) {
25
- e.stopPropagation();
26
- _this.props.onSelectOption(_this.props.option);
27
- });
28
- (0, _defineProperty2["default"])(_this, "onMouseEnter", function () {
29
- if (!_this.props.disableHover) {
30
- _this.props.changeIndex(_this.props.index);
31
- }
32
- });
33
- (0, _defineProperty2["default"])(_this, "onMouseLeave", function () {
34
- if (!_this.props.disableHover) {
35
- _this.props.changeIndex(-1);
36
- }
37
- });
38
- return _this;
39
- }
40
- (0, _inherits2["default"])(Option, _Component);
41
- return (0, _createClass2["default"])(Option, [{
42
- key: "render",
43
- value: function render() {
44
- return /*#__PURE__*/_react["default"].createElement("div", {
45
- className: this.props.isActive ? 'option option-active' : 'option',
46
- onClick: this.onSelectOption,
47
- onMouseEnter: this.onMouseEnter,
48
- onMouseLeave: this.onMouseLeave
49
- }, this.props.children);
50
- }
51
- }]);
52
- }(_react.Component);
53
- var _default = exports["default"] = Option;
@@ -1,37 +0,0 @@
1
- .sdoc-options.option-group {
2
- position: absolute;
3
- padding-top: 0;
4
- left: 0;
5
- min-height: 60px;
6
- max-height: 300px;
7
- min-width: 100%;
8
- max-width: 15rem;
9
- padding: 0.5rem 0;
10
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
11
- background: #fff;
12
- border: 1px solid rgba(0, 40, 100, .12);
13
- border-radius: 3px;
14
- z-index: 10001;
15
- }
16
-
17
- [data-bs-theme=dark] .sdoc-options.option-group {
18
- box-shadow: none;
19
- }
20
-
21
- .sdoc-options.option-group .option-group-search {
22
- width: 100%;
23
- padding: 6px 10px;
24
- min-width: 170px;
25
- }
26
-
27
- .sdoc-options.option-group .none-search-result {
28
- height: 100px;
29
- width: 100%;
30
- padding: 10px;
31
- color: #f5f5f5;
32
- }
33
-
34
- .sdoc-options.option-group .option-group-content {
35
- max-height: 252px;
36
- overflow-y: auto;
37
- }