@seafile/seafile-sdoc-editor 2.0.0

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 (65) hide show
  1. package/dist/assets/css/plugin-editor.css +7 -0
  2. package/dist/assets/css/simple-editor.css +9 -0
  3. package/dist/assets/css/simple-viewer.css +6 -0
  4. package/dist/assets/images/content-replaced.png +0 -0
  5. package/dist/assets/images/revision-avatar.png +0 -0
  6. package/dist/assets/images/sdoc-freezed.png +0 -0
  7. package/dist/components/doc-info/index.css +102 -0
  8. package/dist/components/doc-info/index.js +122 -0
  9. package/dist/components/doc-operations/collaborators-operation/collaborators-popover.css +74 -0
  10. package/dist/components/doc-operations/collaborators-operation/collaborators-popover.js +60 -0
  11. package/dist/components/doc-operations/collaborators-operation/index.js +104 -0
  12. package/dist/components/doc-operations/index.js +47 -0
  13. package/dist/components/doc-operations/more-operations.js +167 -0
  14. package/dist/components/doc-operations/plugins-operations.js +56 -0
  15. package/dist/components/doc-operations/presentation-operation/index.js +44 -0
  16. package/dist/components/doc-operations/revision-operations/changes-count/index.css +34 -0
  17. package/dist/components/doc-operations/revision-operations/changes-count/index.js +120 -0
  18. package/dist/components/doc-operations/revision-operations/index.js +256 -0
  19. package/dist/components/doc-operations/revision-operations/more-revision-operations/index.css +53 -0
  20. package/dist/components/doc-operations/revision-operations/more-revision-operations/index.js +73 -0
  21. package/dist/components/doc-operations/revision-operations/publish-revision/index.js +28 -0
  22. package/dist/components/doc-operations/revision-operations/revisions/index.css +16 -0
  23. package/dist/components/doc-operations/revision-operations/revisions/index.js +69 -0
  24. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.css +126 -0
  25. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.js +265 -0
  26. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/revision-operation/index.css +34 -0
  27. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/revision-operation/index.js +69 -0
  28. package/dist/components/doc-operations/revision-operations/view-changes/index.css +3 -0
  29. package/dist/components/doc-operations/revision-operations/view-changes/index.js +79 -0
  30. package/dist/components/doc-operations/share-operation/index.js +29 -0
  31. package/dist/components/doc-operations/style.css +93 -0
  32. package/dist/components/draft-dropdown/index.js +83 -0
  33. package/dist/components/draft-dropdown/style.css +43 -0
  34. package/dist/components/error-boundary/error-page.css +16 -0
  35. package/dist/components/error-boundary/error-page.js +49 -0
  36. package/dist/components/error-boundary/index.js +47 -0
  37. package/dist/components/modal-header/index.css +18 -0
  38. package/dist/components/modal-header/index.js +27 -0
  39. package/dist/components/modal-portal/index.js +41 -0
  40. package/dist/components/switch/index.css +14 -0
  41. package/dist/components/switch/index.js +35 -0
  42. package/dist/components/tip-dialog/index.css +48 -0
  43. package/dist/components/tip-dialog/index.js +117 -0
  44. package/dist/components/tip-message/index.js +189 -0
  45. package/dist/components/tip-message/style.css +15 -0
  46. package/dist/constants/index.js +46 -0
  47. package/dist/hooks/index.js +12 -0
  48. package/dist/hooks/use-document.js +90 -0
  49. package/dist/index.js +75 -0
  50. package/dist/layout/content.js +35 -0
  51. package/dist/layout/header.js +35 -0
  52. package/dist/layout/index.js +24 -0
  53. package/dist/layout/layout.css +32 -0
  54. package/dist/layout/layout.js +65 -0
  55. package/dist/model/index.js +13 -0
  56. package/dist/model/revision.js +42 -0
  57. package/dist/pages/diff-viewer.js +8 -0
  58. package/dist/pages/published-revision-viewer.js +100 -0
  59. package/dist/pages/sdoc-wiki-editor.js +57 -0
  60. package/dist/pages/simple-editor.js +162 -0
  61. package/dist/pages/simple-viewer.js +120 -0
  62. package/dist/pages/wiki-viewer.js +23 -0
  63. package/dist/utils/date-utils.js +92 -0
  64. package/dist/utils/index.js +48 -0
  65. package/package.json +48 -0
@@ -0,0 +1,162 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _reactI18next = require("react-i18next");
12
+ var _sdocEditor = require("@seafile/sdoc-editor");
13
+ var _docInfo = _interopRequireDefault(require("../components/doc-info"));
14
+ var _docOperations = _interopRequireDefault(require("../components/doc-operations"));
15
+ var _errorBoundary = _interopRequireDefault(require("../components/error-boundary"));
16
+ var _hooks = require("../hooks");
17
+ var _layout = _interopRequireWildcard(require("../layout"));
18
+ var _utils = require("../utils");
19
+ require("../assets/css/simple-editor.css");
20
+ var SimpleEditor = function SimpleEditor(_ref) {
21
+ var isStarred = _ref.isStarred,
22
+ isDraft = _ref.isDraft,
23
+ showComment = _ref.showComment,
24
+ _ref$showDocOperation = _ref.showDocOperations,
25
+ showDocOperations = _ref$showDocOperation === void 0 ? true : _ref$showDocOperation,
26
+ t = _ref.t,
27
+ _ref$plugins = _ref.plugins,
28
+ plugins = _ref$plugins === void 0 ? [] : _ref$plugins,
29
+ collaborators = _ref.collaborators;
30
+ _sdocEditor.context.initApi();
31
+ var editorRef = (0, _react.useRef)(null);
32
+ var _useDocument = (0, _hooks.useDocument)(),
33
+ isFirstLoading = _useDocument.isFirstLoading,
34
+ isReloading = _useDocument.isReloading,
35
+ errorMessage = _useDocument.errorMessage,
36
+ document = _useDocument.document,
37
+ reloadDocument = _useDocument.reloadDocument,
38
+ setErrorMessage = _useDocument.setErrorMessage;
39
+ var _useState = (0, _react.useState)(false),
40
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
41
+ isShowChanges = _useState2[0],
42
+ setShowChanges = _useState2[1];
43
+ var _useState3 = (0, _react.useState)(null),
44
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
45
+ revisionContent = _useState4[0],
46
+ setRevisionContent = _useState4[1];
47
+ var _useState5 = (0, _react.useState)({}),
48
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
49
+ changes = _useState6[0],
50
+ setChanges = _useState6[1];
51
+ var initIsPublished = _sdocEditor.context.getSetting('isPublished') || false;
52
+ var isSdocRevision = _sdocEditor.context.getSetting('isSdocRevision') || false;
53
+ var _useState7 = (0, _react.useState)(initIsPublished),
54
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
55
+ isPublished = _useState8[0],
56
+ setPublished = _useState8[1];
57
+
58
+ // useMount: reset title
59
+ (0, _react.useEffect)(function () {
60
+ (0, _utils.resetWebTitle)(t);
61
+ // eslint-disable-next-line react-hooks/exhaustive-deps
62
+ }, []);
63
+ var setDiffChanges = (0, _react.useCallback)(function (diff) {
64
+ setChanges(diff);
65
+ // eslint-disable-next-line react-hooks/exhaustive-deps
66
+ }, [isShowChanges]);
67
+ var handleViewChangesToggle = (0, _react.useCallback)(function (isShowChanges) {
68
+ if (isPublished) {
69
+ setShowChanges(isShowChanges);
70
+ return;
71
+ }
72
+ if (!isShowChanges) {
73
+ setShowChanges(isShowChanges);
74
+ reloadDocument();
75
+ return;
76
+ }
77
+
78
+ // Get the contents of the current revision
79
+ var revisionContentValue = editorRef.current.getSlateValue();
80
+ setRevisionContent(revisionContentValue);
81
+ setShowChanges(isShowChanges);
82
+ // eslint-disable-next-line react-hooks/exhaustive-deps
83
+ }, [document, editorRef.current, isPublished]);
84
+ var handleRevisionMerged = (0, _react.useCallback)(function (value) {
85
+ setShowChanges(false);
86
+ editorRef.current.setSlateValue(value);
87
+ editorRef.current.updateDocumentVersion(value);
88
+ }, []);
89
+ var handleRevisionPublished = (0, _react.useCallback)(function () {
90
+ _sdocEditor.context.getPublishedRevisionContent().then(function (res) {
91
+ var revisionContentString = res.data.content;
92
+ var document = JSON.parse(revisionContentString);
93
+ setRevisionContent(document);
94
+ setPublished(true);
95
+ _sdocEditor.context.settings['isPublished'] = true;
96
+ var oldAssetsUrl = _sdocEditor.context.getSetting('assetsUrl');
97
+ var docUuid = _sdocEditor.context.getSetting('docUuid');
98
+ var originDocUuid = _sdocEditor.context.getSetting('originDocUuid');
99
+ _sdocEditor.context.settings['assetsUrl'] = oldAssetsUrl.replace(docUuid, originDocUuid);
100
+ })["catch"](function (error) {
101
+ // eslint-disable-next-line
102
+ console.log(error);
103
+ var errorMessage = 'Load_doc_content_error';
104
+ if (error && error.response) {
105
+ var _ref2 = error.response.data || {},
106
+ error_type = _ref2.error_type;
107
+ if (error_type === 'content_invalid') {
108
+ errorMessage = 'Sdoc_format_invalid';
109
+ }
110
+ }
111
+ setErrorMessage(errorMessage);
112
+ setPublished(true);
113
+ });
114
+ }, [setErrorMessage]);
115
+ var docOperationsProps = {
116
+ isStarred: isStarred,
117
+ isPublished: isPublished,
118
+ isShowChanges: isShowChanges,
119
+ changes: changes,
120
+ handleViewChangesToggle: handleViewChangesToggle,
121
+ handleRevisionMerged: handleRevisionMerged,
122
+ handleRevisionPublished: handleRevisionPublished
123
+ };
124
+ if (isFirstLoading) {
125
+ return /*#__PURE__*/_react["default"].createElement(_sdocEditor.Loading, null);
126
+ }
127
+ if (errorMessage) {
128
+ return /*#__PURE__*/_react["default"].createElement("div", {
129
+ className: "error-page"
130
+ }, /*#__PURE__*/_react["default"].createElement("div", {
131
+ className: "error-tip"
132
+ }, t(errorMessage)));
133
+ }
134
+ return /*#__PURE__*/_react["default"].createElement(_errorBoundary["default"], null, /*#__PURE__*/_react["default"].createElement(_sdocEditor.CollaboratorsProvider, {
135
+ collaborators: collaborators
136
+ }, /*#__PURE__*/_react["default"].createElement(_sdocEditor.PluginsProvider, {
137
+ plugins: plugins,
138
+ showComment: showComment
139
+ }, /*#__PURE__*/_react["default"].createElement(_layout["default"], null, /*#__PURE__*/_react["default"].createElement(_layout.Header, null, /*#__PURE__*/_react["default"].createElement(_docInfo["default"], {
140
+ isStarred: isStarred,
141
+ isDraft: isDraft,
142
+ isPublished: isPublished,
143
+ isEditMode: isPublished ? false : !isShowChanges
144
+ }), showDocOperations && /*#__PURE__*/_react["default"].createElement(_docOperations["default"], docOperationsProps)), /*#__PURE__*/_react["default"].createElement(_layout.Content, null, !isSdocRevision && /*#__PURE__*/_react["default"].createElement(_sdocEditor.SDocEditor, {
145
+ ref: editorRef,
146
+ isReloading: isReloading,
147
+ document: document,
148
+ showComment: showComment
149
+ }), isSdocRevision && !isPublished && /*#__PURE__*/_react["default"].createElement(_sdocEditor.RevisionEditor, {
150
+ ref: editorRef,
151
+ isReloading: isReloading,
152
+ document: document,
153
+ revisionContent: revisionContent,
154
+ isShowChanges: isShowChanges,
155
+ didMountCallback: setDiffChanges
156
+ }), isSdocRevision && isPublished && /*#__PURE__*/_react["default"].createElement(_sdocEditor.PublishedRevisionDiffViewer, {
157
+ revisionContent: revisionContent,
158
+ isShowChanges: isShowChanges,
159
+ didMountCallback: setDiffChanges
160
+ }))))));
161
+ };
162
+ var _default = exports["default"] = (0, _reactI18next.withTranslation)('sdoc-editor')(SimpleEditor);
@@ -0,0 +1,120 @@
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 _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/regeneratorRuntime"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
13
+ var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/callSuper"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/inherits"));
15
+ var _react = _interopRequireDefault(require("react"));
16
+ var _reactI18next = require("react-i18next");
17
+ var _sdocEditor = require("@seafile/sdoc-editor");
18
+ var _errorBoundary = _interopRequireDefault(require("../components/error-boundary"));
19
+ var _layout = _interopRequireWildcard(require("../layout"));
20
+ require("../assets/css/simple-viewer.css");
21
+ var SimpleViewer = /*#__PURE__*/function (_React$Component) {
22
+ function SimpleViewer(props) {
23
+ var _this;
24
+ (0, _classCallCheck2["default"])(this, SimpleViewer);
25
+ _this = (0, _callSuper2["default"])(this, SimpleViewer, [props]);
26
+ _this.state = {
27
+ isContextInit: false,
28
+ errorMessage: null,
29
+ document: null
30
+ };
31
+ _this.config = null;
32
+ return _this;
33
+ }
34
+ (0, _inherits2["default"])(SimpleViewer, _React$Component);
35
+ return (0, _createClass2["default"])(SimpleViewer, [{
36
+ key: "componentDidMount",
37
+ value: function () {
38
+ var _componentDidMount = (0, _asyncToGenerator2["default"])(/*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee() {
39
+ var contentRes, result;
40
+ return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
41
+ while (1) switch (_context.prev = _context.next) {
42
+ case 0:
43
+ _sdocEditor.context.initApi();
44
+ _context.prev = 1;
45
+ _context.next = 4;
46
+ return _sdocEditor.context.getFileContent();
47
+ case 4:
48
+ contentRes = _context.sent;
49
+ result = contentRes.data || null;
50
+ this.setState({
51
+ isContextInit: true,
52
+ document: result
53
+ });
54
+ _context.next = 13;
55
+ break;
56
+ case 9:
57
+ _context.prev = 9;
58
+ _context.t0 = _context["catch"](1);
59
+ // eslint-disable-next-line
60
+ console.log(_context.t0);
61
+ this.setState({
62
+ isContextInit: true,
63
+ errorMessage: 'Load_doc_content_error',
64
+ document: null
65
+ });
66
+ case 13:
67
+ case "end":
68
+ return _context.stop();
69
+ }
70
+ }, _callee, this, [[1, 9]]);
71
+ }));
72
+ function componentDidMount() {
73
+ return _componentDidMount.apply(this, arguments);
74
+ }
75
+ return componentDidMount;
76
+ }()
77
+ }, {
78
+ key: "render",
79
+ value: function render() {
80
+ var _this$state = this.state,
81
+ isContextInit = _this$state.isContextInit,
82
+ errorMessage = _this$state.errorMessage,
83
+ document = _this$state.document;
84
+ var t = this.props.t;
85
+ if (!isContextInit) {
86
+ return /*#__PURE__*/_react["default"].createElement(_sdocEditor.Loading, null);
87
+ }
88
+ if (errorMessage) {
89
+ return /*#__PURE__*/_react["default"].createElement("div", {
90
+ className: "d-flex justify-content-center"
91
+ }, t(errorMessage));
92
+ }
93
+ var _context$getSettings = _sdocEditor.context.getSettings(),
94
+ docName = _context$getSettings.docName,
95
+ sharePermissionText = _context$getSettings.sharePermissionText,
96
+ downloadURL = _context$getSettings.downloadURL;
97
+ var sdocViewProps = {
98
+ document: document,
99
+ showToolbar: _sdocEditor.isMobile ? false : true,
100
+ showOutline: _sdocEditor.isMobile ? false : true,
101
+ showComment: false
102
+ };
103
+ return /*#__PURE__*/_react["default"].createElement(_errorBoundary["default"], null, /*#__PURE__*/_react["default"].createElement(_layout["default"], null, /*#__PURE__*/_react["default"].createElement(_layout.Header, null, /*#__PURE__*/_react["default"].createElement("div", {
104
+ className: "doc-info"
105
+ }, /*#__PURE__*/_react["default"].createElement("h2", {
106
+ className: "doc-name my-0"
107
+ }, docName), sharePermissionText && /*#__PURE__*/_react["default"].createElement("span", {
108
+ className: "sdoc-share-permission ml-2"
109
+ }, sharePermissionText)), /*#__PURE__*/_react["default"].createElement("div", {
110
+ className: "doc-ops"
111
+ }, downloadURL && /*#__PURE__*/_react["default"].createElement("a", {
112
+ href: downloadURL,
113
+ className: "op-item"
114
+ }, /*#__PURE__*/_react["default"].createElement("i", {
115
+ className: "sdocfont sdoc-download"
116
+ })))), /*#__PURE__*/_react["default"].createElement(_layout.Content, null, /*#__PURE__*/_react["default"].createElement(_sdocEditor.SDocViewer, sdocViewProps))));
117
+ }
118
+ }]);
119
+ }(_react["default"].Component);
120
+ var _default = exports["default"] = (0, _reactI18next.withTranslation)('sdoc-editor')(SimpleViewer);
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _sdocEditor = require("@seafile/sdoc-editor");
10
+ var _errorBoundary = _interopRequireDefault(require("../components/error-boundary"));
11
+ require("../assets/css/simple-viewer.css");
12
+ var WikiViewer = function WikiViewer(_ref) {
13
+ var document = _ref.document,
14
+ showOutline = _ref.showOutline,
15
+ scrollRef = _ref.scrollRef;
16
+ _sdocEditor.context.initApi();
17
+ return /*#__PURE__*/_react["default"].createElement(_errorBoundary["default"], null, /*#__PURE__*/_react["default"].createElement(_sdocEditor.SDocWikiViewer, {
18
+ document: document,
19
+ showOutline: showOutline,
20
+ scrollRef: scrollRef
21
+ }));
22
+ };
23
+ var _default = exports["default"] = WikiViewer;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
10
+ var DateUtils = /*#__PURE__*/function () {
11
+ function DateUtils() {
12
+ (0, _classCallCheck2["default"])(this, DateUtils);
13
+ }
14
+ return (0, _createClass2["default"])(DateUtils, null, [{
15
+ key: "format",
16
+ value:
17
+ /**
18
+ * return the formatted date with target format.
19
+ * @param {string|date object} date
20
+ * @param {string} format
21
+ * @returns formatted date
22
+ */
23
+ function format(date, _format) {
24
+ var dateObject = this.getValidDate(date);
25
+ if (!dateObject) {
26
+ return '';
27
+ }
28
+ var upperCaseFormat = _format && _format.toUpperCase();
29
+ var year = dateObject.getFullYear();
30
+ var month = dateObject.getMonth() + 1;
31
+ var day = dateObject.getDate();
32
+ var displayMonth = month < 10 ? "0".concat(month) : month;
33
+ var displayDay = day < 10 ? "0".concat(day) : day;
34
+ switch (upperCaseFormat) {
35
+ case 'YYYY-MM-DD HH:MM:SS':
36
+ {
37
+ var hours = dateObject.getHours();
38
+ var minutes = dateObject.getMinutes();
39
+ var seconds = dateObject.getSeconds();
40
+ var disPlayHours = hours < 10 ? "0".concat(hours) : hours;
41
+ var disPlayMinutes = minutes < 10 ? "0".concat(minutes) : minutes;
42
+ var disPlaySeconds = seconds < 10 ? "0".concat(seconds) : seconds;
43
+ return "".concat(year, "-").concat(displayMonth, "-").concat(displayDay, " ").concat(disPlayHours, ":").concat(disPlayMinutes, ":").concat(disPlaySeconds);
44
+ }
45
+ case 'YYYY-MM-DD HH:MM':
46
+ {
47
+ var _hours = dateObject.getHours();
48
+ var _minutes = dateObject.getMinutes();
49
+ var _disPlayHours = _hours < 10 ? "0".concat(_hours) : _hours;
50
+ var _disPlayMinutes = _minutes < 10 ? "0".concat(_minutes) : _minutes;
51
+ return "".concat(year, "-").concat(displayMonth, "-").concat(displayDay, " ").concat(_disPlayHours, ":").concat(_disPlayMinutes);
52
+ }
53
+ default:
54
+ {
55
+ return "".concat(year, "-").concat(displayMonth, "-").concat(displayDay);
56
+ }
57
+ }
58
+ }
59
+ }, {
60
+ key: "isValidDateObject",
61
+ value: function isValidDateObject(dateObject) {
62
+ return dateObject instanceof Date && !isNaN(dateObject.getTime());
63
+ }
64
+ }, {
65
+ key: "getValidDate",
66
+ value: function getValidDate(date) {
67
+ if (!date) {
68
+ return null;
69
+ }
70
+ var isDateTypeString = typeof date === 'string';
71
+ var dateString = date;
72
+ var dateObject = date;
73
+ if (isDateTypeString) {
74
+ if (dateString.split(' ').length > 1 || dateString.includes('T')) {
75
+ dateObject = new Date(date);
76
+ } else {
77
+ // given date is without time precision
78
+ dateString = "".concat(date, " 00:00:00");
79
+ dateObject = new Date(dateString);
80
+ }
81
+ }
82
+ if (this.isValidDateObject(dateObject)) return dateObject;
83
+ if (!isDateTypeString) return null;
84
+
85
+ // ios phone and safari browser not support use '2021-09-10 12:30', support '2021/09/10 12:30'
86
+ dateObject = new Date(dateString.replace(/-/g, '/'));
87
+ if (this.isValidDateObject(dateObject)) return dateObject;
88
+ return null;
89
+ }
90
+ }]);
91
+ }();
92
+ var _default = exports["default"] = DateUtils;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "DateUtils", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _dateUtils["default"];
11
+ }
12
+ });
13
+ exports.resetWebTitle = exports.getImageFileNameWithTimestamp = exports.getErrorMsg = exports.getDirPath = void 0;
14
+ var _sdocEditor = require("@seafile/sdoc-editor");
15
+ var _dateUtils = _interopRequireDefault(require("./date-utils"));
16
+ var getDirPath = exports.getDirPath = function getDirPath(path) {
17
+ var dir = path.slice(0, path.lastIndexOf('/'));
18
+ if (dir === '') {
19
+ return '/';
20
+ } else {
21
+ return dir;
22
+ }
23
+ };
24
+ var getImageFileNameWithTimestamp = exports.getImageFileNameWithTimestamp = function getImageFileNameWithTimestamp() {
25
+ var d = Date.now();
26
+ return 'image-' + d.toString() + '.png';
27
+ };
28
+ var getErrorMsg = exports.getErrorMsg = function getErrorMsg(error) {
29
+ var errorMsg = '';
30
+ if (error.response) {
31
+ if (error.response.status === 403) {
32
+ errorMsg = 'Permission_denied';
33
+ } else if (error.response.data && error.response.data['error_msg']) {
34
+ errorMsg = error.response.data['error_msg'];
35
+ } else {
36
+ errorMsg = 'Error';
37
+ }
38
+ } else {
39
+ errorMsg = 'Please_check_the_network';
40
+ }
41
+ return errorMsg;
42
+ };
43
+ var resetWebTitle = exports.resetWebTitle = function resetWebTitle(t) {
44
+ var isSdocRevision = _sdocEditor.context.getSetting('isSdocRevision');
45
+ var originFilename = _sdocEditor.context.getSetting('originFilename');
46
+ if (!isSdocRevision) return;
47
+ window.document.getElementsByTagName('title')[0].innerText = "".concat(t('Revision'), " - ").concat(originFilename);
48
+ };
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@seafile/seafile-sdoc-editor",
3
+ "version": "2.0.0",
4
+ "author": "shuntian <978987373@qq.com>",
5
+ "homepage": "https://github.com/seafileltd/sea-sdoc-editor#readme",
6
+ "license": "ISC",
7
+ "main": "dist/index.js",
8
+ "directories": {
9
+ "lib": "lib",
10
+ "test": "__tests__"
11
+ },
12
+ "files": [
13
+ "dist/",
14
+ "package.json"
15
+ ],
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/seafileltd/sea-sdoc-editor.git"
19
+ },
20
+ "scripts": {
21
+ "test": "node ./__tests__/seafile-sdoc-editor.test.js",
22
+ "clean": "rm -rf dist && mkdir dist",
23
+ "pub:dist": "export BABEL_ENV=production && babel src --out-dir dist --copy-files",
24
+ "prepublishOnly": "npm run clean && npm run pub:dist"
25
+ },
26
+ "bugs": {
27
+ "url": "https://github.com/seafileltd/sea-sdoc-editor/issues"
28
+ },
29
+ "description": "",
30
+ "dependencies": {
31
+ "@seafile/print-js": "1.6.6",
32
+ "classnames": "2.3.2",
33
+ "dayjs": "1.10.7",
34
+ "@seafile/sdoc-editor": "2.0.83"
35
+ },
36
+ "peerDependencies": {
37
+ "i18next": "^22.4.0",
38
+ "i18next-browser-languagedetector": "^7.0.1",
39
+ "i18next-xhr-backend": "^3.2.2",
40
+ "react-i18next": "^12.1.4",
41
+ "react": "^18.3.0",
42
+ "react-dom": "^18.3.1",
43
+ "reactstrap": "^9.2.3"
44
+ },
45
+ "publishConfig": {
46
+ "access": "public"
47
+ }
48
+ }