@seafile/sdoc-editor 3.0.75 → 3.0.76

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.
@@ -13,6 +13,7 @@ var _reactI18next = require("react-i18next");
13
13
  var _slate = require("@seafile/slate");
14
14
  var _slateReact = require("@seafile/slate-react");
15
15
  var _isUrl = _interopRequireDefault(require("is-url"));
16
+ var _toast = _interopRequireDefault(require("../../../../components/toast"));
16
17
  var _tooltip = _interopRequireDefault(require("../../../../components/tooltip"));
17
18
  var _eventBus = _interopRequireDefault(require("../../../../utils/event-bus"));
18
19
  var _helpers = require("../helpers");
@@ -38,6 +39,7 @@ var LinkHover = function LinkHover(_ref) {
38
39
  var onMouseDown = (0, _react.useCallback)(function (event) {
39
40
  if (!(0, _isUrl["default"])(element.href)) {
40
41
  event.preventDefault();
42
+ _toast["default"].danger('The_link_is_invalid');
41
43
  return;
42
44
  }
43
45
  event.stopPropagation();
@@ -15,6 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
  var _slate = require("@seafile/slate");
16
16
  var _classnames = _interopRequireDefault(require("classnames"));
17
17
  var _isUrl = _interopRequireDefault(require("is-url"));
18
+ var _toast = _interopRequireDefault(require("../../../components/toast"));
18
19
  var _constants = require("../../../constants");
19
20
  var _useScrollContext = require("../../../hooks/use-scroll-context");
20
21
  var _commonUtils = require("../../../utils/common-utils");
@@ -112,6 +113,20 @@ var Link = /*#__PURE__*/function (_React$Component) {
112
113
  var editor = _this.props.editor;
113
114
  (0, _helpers.unWrapLinkNode)(editor);
114
115
  });
116
+ (0, _defineProperty2["default"])(_this, "onOpenLink", function (event) {
117
+ var element = _this.props.element;
118
+ if (!(0, _isUrl["default"])(element.href)) {
119
+ event.preventDefault();
120
+ _toast["default"].danger('The_link_is_invalid');
121
+ return;
122
+ }
123
+ if (!(0, _helpers.isWeChat)()) {
124
+ window.open(element.href, '_blank', 'noopener,noreferrer');
125
+ } else {
126
+ // eslint-disable-next-line no-restricted-globals
127
+ location.href = element.href;
128
+ }
129
+ });
115
130
  (0, _defineProperty2["default"])(_this, "openDialog", function () {
116
131
  var element = _this.props.element;
117
132
  _this.eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
@@ -149,9 +164,6 @@ var Link = /*#__PURE__*/function (_React$Component) {
149
164
  isShowLinkMenu = _this$state.isShowLinkMenu,
150
165
  menuPosition = _this$state.menuPosition;
151
166
  var className = isShowLinkMenu ? 'seafile-ed-hovermenu-mouseclick' : null;
152
- if (!(0, _isUrl["default"])(element.href)) {
153
- return /*#__PURE__*/_react["default"].createElement("span", attributes, /*#__PURE__*/_react["default"].createElement("span", null, children));
154
- }
155
167
  if (readonly) {
156
168
  var _element$children$;
157
169
  return /*#__PURE__*/_react["default"].createElement("span", Object.assign({
@@ -159,6 +171,7 @@ var Link = /*#__PURE__*/function (_React$Component) {
159
171
  }, attributes), /*#__PURE__*/_react["default"].createElement("a", {
160
172
  href: element.href,
161
173
  title: (_element$children$ = element.children[0]) === null || _element$children$ === void 0 ? void 0 : _element$children$.text,
174
+ onClick: this.onOpenLink,
162
175
  target: "_blank",
163
176
  rel: "noreferrer"
164
177
  }, children));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "3.0.75",
3
+ "version": "3.0.76",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "8d8c95e1ddd3d22992930f73c25bf7973aca4c2c"
75
+ "gitHead": "505f9405730c95e54e8b47fc131ad5a3bf959eeb"
76
76
  }