@seafile/sdoc-editor 2.0.209 → 2.0.210

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 _helpers = require("../helpers");
18
19
  require("./index.css");
@@ -36,6 +37,7 @@ var LinkHover = function LinkHover(_ref) {
36
37
  var onMouseDown = (0, _react.useCallback)(function (event) {
37
38
  if (!(0, _isUrl["default"])(element.href)) {
38
39
  event.preventDefault();
40
+ _toast["default"].danger('The_link_is_invalid');
39
41
  return;
40
42
  }
41
43
  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 _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
@@ -92,6 +93,20 @@ var Link = /*#__PURE__*/function (_React$Component) {
92
93
  var editor = _this.props.editor;
93
94
  (0, _helpers.unWrapLinkNode)(editor);
94
95
  });
96
+ (0, _defineProperty2["default"])(_this, "onOpenLink", function (event) {
97
+ var element = _this.props.element;
98
+ if (!(0, _isUrl["default"])(element.href)) {
99
+ event.preventDefault();
100
+ _toast["default"].danger('The_link_is_invalid');
101
+ return;
102
+ }
103
+ if (!(0, _helpers.isWeChat)()) {
104
+ window.open(element.href, '_blank', 'noopener,noreferrer');
105
+ } else {
106
+ // eslint-disable-next-line no-restricted-globals
107
+ location.href = element.href;
108
+ }
109
+ });
95
110
  (0, _defineProperty2["default"])(_this, "openDialog", function () {
96
111
  var element = _this.props.element;
97
112
  _this.eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
@@ -129,9 +144,6 @@ var Link = /*#__PURE__*/function (_React$Component) {
129
144
  isShowLinkMenu = _this$state.isShowLinkMenu,
130
145
  menuPosition = _this$state.menuPosition;
131
146
  var className = isShowLinkMenu ? 'seafile-ed-hovermenu-mouseclick' : null;
132
- if (!(0, _isUrl["default"])(element.href)) {
133
- return /*#__PURE__*/_react["default"].createElement("span", attributes, /*#__PURE__*/_react["default"].createElement("span", null, children));
134
- }
135
147
  if (readonly) {
136
148
  var _element$children$;
137
149
  return /*#__PURE__*/_react["default"].createElement("span", Object.assign({
@@ -139,6 +151,7 @@ var Link = /*#__PURE__*/function (_React$Component) {
139
151
  }, attributes), /*#__PURE__*/_react["default"].createElement("a", {
140
152
  href: element.href,
141
153
  title: (_element$children$ = element.children[0]) === null || _element$children$ === void 0 ? void 0 : _element$children$.text,
154
+ onClick: this.onOpenLink,
142
155
  target: "_blank",
143
156
  rel: "noreferrer"
144
157
  }, children));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "2.0.209",
3
+ "version": "2.0.210",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -71,5 +71,5 @@
71
71
  "publishConfig": {
72
72
  "access": "public"
73
73
  },
74
- "gitHead": "6115ac7961a116de88085d77e691f89f089b79ae"
74
+ "gitHead": "1fdc5b006605911437afc3a52800ee04d5fd0133"
75
75
  }