@atlaskit/embedded-document 0.7.29

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 (56) hide show
  1. package/CHANGELOG.md +978 -0
  2. package/LICENSE +13 -0
  3. package/build/tsconfig.json +17 -0
  4. package/dist/cjs/components/document.js +157 -0
  5. package/dist/cjs/components/toolbar.js +89 -0
  6. package/dist/cjs/consumers/consumer.js +102 -0
  7. package/dist/cjs/consumers/document-body.js +95 -0
  8. package/dist/cjs/consumers/with-document-actions.js +139 -0
  9. package/dist/cjs/context/context.js +71 -0
  10. package/dist/cjs/context/embedded-document.js +396 -0
  11. package/dist/cjs/index.js +47 -0
  12. package/dist/cjs/model/index.js +5 -0
  13. package/dist/cjs/provider/index.js +35 -0
  14. package/dist/cjs/provider/provider.js +5 -0
  15. package/dist/cjs/provider/service-provider.js +240 -0
  16. package/dist/cjs/version.json +5 -0
  17. package/dist/es2019/components/document.js +107 -0
  18. package/dist/es2019/components/toolbar.js +45 -0
  19. package/dist/es2019/consumers/consumer.js +62 -0
  20. package/dist/es2019/consumers/document-body.js +49 -0
  21. package/dist/es2019/consumers/with-document-actions.js +35 -0
  22. package/dist/es2019/context/context.js +19 -0
  23. package/dist/es2019/context/embedded-document.js +216 -0
  24. package/dist/es2019/index.js +5 -0
  25. package/dist/es2019/model/index.js +1 -0
  26. package/dist/es2019/provider/index.js +18 -0
  27. package/dist/es2019/provider/provider.js +1 -0
  28. package/dist/es2019/provider/service-provider.js +101 -0
  29. package/dist/es2019/version.json +5 -0
  30. package/dist/esm/components/document.js +136 -0
  31. package/dist/esm/components/toolbar.js +70 -0
  32. package/dist/esm/consumers/consumer.js +84 -0
  33. package/dist/esm/consumers/document-body.js +77 -0
  34. package/dist/esm/consumers/with-document-actions.js +119 -0
  35. package/dist/esm/context/context.js +59 -0
  36. package/dist/esm/context/embedded-document.js +375 -0
  37. package/dist/esm/index.js +5 -0
  38. package/dist/esm/model/index.js +1 -0
  39. package/dist/esm/provider/index.js +18 -0
  40. package/dist/esm/provider/provider.js +1 -0
  41. package/dist/esm/provider/service-provider.js +229 -0
  42. package/dist/esm/version.json +5 -0
  43. package/dist/types/components/document.d.ts +20 -0
  44. package/dist/types/components/toolbar.d.ts +6 -0
  45. package/dist/types/consumers/consumer.d.ts +23 -0
  46. package/dist/types/consumers/document-body.d.ts +13 -0
  47. package/dist/types/consumers/with-document-actions.d.ts +16 -0
  48. package/dist/types/context/context.d.ts +22 -0
  49. package/dist/types/context/embedded-document.d.ts +41 -0
  50. package/dist/types/index.d.ts +8 -0
  51. package/dist/types/model/index.d.ts +19 -0
  52. package/dist/types/provider/index.d.ts +9 -0
  53. package/dist/types/provider/provider.d.ts +7 -0
  54. package/dist/types/provider/service-provider.d.ts +13 -0
  55. package/package.json +44 -0
  56. package/tsconfig.json +15 -0
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
+
22
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
+
24
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
+
26
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
+
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
+
30
+ var _react = _interopRequireWildcard(require("react"));
31
+
32
+ var _consumer = require("../consumers/consumer");
33
+
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
38
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
39
+
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
+
42
+ var WithDocumentActions = /*#__PURE__*/function (_PureComponent) {
43
+ (0, _inherits2.default)(WithDocumentActions, _PureComponent);
44
+
45
+ var _super = _createSuper(WithDocumentActions);
46
+
47
+ function WithDocumentActions() {
48
+ var _this;
49
+
50
+ (0, _classCallCheck2.default)(this, WithDocumentActions);
51
+
52
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
53
+ args[_key] = arguments[_key];
54
+ }
55
+
56
+ _this = _super.call.apply(_super, [this].concat(args));
57
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "actionsMapper", function (actions) {
58
+ return {
59
+ createDocument: function createDocument(value) {
60
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
61
+ return _regenerator.default.wrap(function _callee$(_context) {
62
+ while (1) {
63
+ switch (_context.prev = _context.next) {
64
+ case 0:
65
+ return _context.abrupt("return", actions.createDocument(value));
66
+
67
+ case 1:
68
+ case "end":
69
+ return _context.stop();
70
+ }
71
+ }
72
+ }, _callee);
73
+ }))();
74
+ },
75
+ editDocument: function editDocument() {
76
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
77
+ return _regenerator.default.wrap(function _callee2$(_context2) {
78
+ while (1) {
79
+ switch (_context2.prev = _context2.next) {
80
+ case 0:
81
+ actions.setDocumentMode('edit');
82
+
83
+ case 1:
84
+ case "end":
85
+ return _context2.stop();
86
+ }
87
+ }
88
+ }, _callee2);
89
+ }))();
90
+ },
91
+ updateDocument: function updateDocument(value) {
92
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
93
+ return _regenerator.default.wrap(function _callee3$(_context3) {
94
+ while (1) {
95
+ switch (_context3.prev = _context3.next) {
96
+ case 0:
97
+ return _context3.abrupt("return", actions.updateDocument(value));
98
+
99
+ case 1:
100
+ case "end":
101
+ return _context3.stop();
102
+ }
103
+ }
104
+ }, _callee3);
105
+ }))();
106
+ },
107
+ cancelEdit: function cancelEdit() {
108
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
109
+ return _regenerator.default.wrap(function _callee4$(_context4) {
110
+ while (1) {
111
+ switch (_context4.prev = _context4.next) {
112
+ case 0:
113
+ actions.setDocumentMode('view');
114
+
115
+ case 1:
116
+ case "end":
117
+ return _context4.stop();
118
+ }
119
+ }
120
+ }, _callee4);
121
+ }))();
122
+ }
123
+ };
124
+ });
125
+ return _this;
126
+ }
127
+
128
+ (0, _createClass2.default)(WithDocumentActions, [{
129
+ key: "render",
130
+ value: function render() {
131
+ return /*#__PURE__*/_react.default.createElement(_consumer.Consumer, {
132
+ actionsMapper: this.actionsMapper
133
+ }, this.props.render);
134
+ }
135
+ }]);
136
+ return WithDocumentActions;
137
+ }(_react.PureComponent);
138
+
139
+ exports.default = WithDocumentActions;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Context = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _react = require("react");
15
+
16
+ var noop = function noop() {};
17
+
18
+ var Context = /*#__PURE__*/(0, _react.createContext)({
19
+ value: {},
20
+ actions: {
21
+ getDocument: noop,
22
+ getDocumentByObjectId: noop,
23
+ setDocumentMode: noop,
24
+ updateDocument: function () {
25
+ var _updateDocument = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
26
+ return _regenerator.default.wrap(function _callee$(_context) {
27
+ while (1) {
28
+ switch (_context.prev = _context.next) {
29
+ case 0:
30
+ throw new Error('Not implemented.');
31
+
32
+ case 1:
33
+ case "end":
34
+ return _context.stop();
35
+ }
36
+ }
37
+ }, _callee);
38
+ }));
39
+
40
+ function updateDocument() {
41
+ return _updateDocument.apply(this, arguments);
42
+ }
43
+
44
+ return updateDocument;
45
+ }(),
46
+ createDocument: function () {
47
+ var _createDocument = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
48
+ return _regenerator.default.wrap(function _callee2$(_context2) {
49
+ while (1) {
50
+ switch (_context2.prev = _context2.next) {
51
+ case 0:
52
+ throw new Error('Not implemented.');
53
+
54
+ case 1:
55
+ case "end":
56
+ return _context2.stop();
57
+ }
58
+ }
59
+ }, _callee2);
60
+ }));
61
+
62
+ function createDocument() {
63
+ return _createDocument.apply(this, arguments);
64
+ }
65
+
66
+ return createDocument;
67
+ }()
68
+ },
69
+ renderProps: {}
70
+ });
71
+ exports.Context = Context;
@@ -0,0 +1,396 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = exports.akEditorFullPageMaxWidth = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
+
22
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
+
24
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
+
26
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
+
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
+
30
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
31
+
32
+ var _react = _interopRequireWildcard(require("react"));
33
+
34
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
35
+
36
+ var _context7 = require("./context");
37
+
38
+ var _provider = require("../provider");
39
+
40
+ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
41
+
42
+ var _templateObject;
43
+
44
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
45
+
46
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
47
+
48
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
49
+
50
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
51
+
52
+ var akEditorFullPageMaxWidth = 680;
53
+ exports.akEditorFullPageMaxWidth = akEditorFullPageMaxWidth;
54
+
55
+ var Content = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n line-height: 24px;\n height: 100%;\n width: 100%;\n max-width: ", "px;\n padding-top: 50px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n padding-bottom: 55px;\n\n & > * {\n padding: 0 32px;\n }\n"])), akEditorFullPageMaxWidth + _editorSharedStyles.akEditorGutterPadding * 2);
56
+
57
+ var EmbeddedDocument = /*#__PURE__*/function (_Component) {
58
+ (0, _inherits2.default)(EmbeddedDocument, _Component);
59
+
60
+ var _super = _createSuper(EmbeddedDocument);
61
+
62
+ function EmbeddedDocument(props) {
63
+ var _this;
64
+
65
+ (0, _classCallCheck2.default)(this, EmbeddedDocument);
66
+ _this = _super.call(this, props);
67
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getDocumentByObjectId", /*#__PURE__*/function () {
68
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(objectId, language) {
69
+ var doc;
70
+ return _regenerator.default.wrap(function _callee$(_context) {
71
+ while (1) {
72
+ switch (_context.prev = _context.next) {
73
+ case 0:
74
+ _this.setState({
75
+ isLoading: true
76
+ });
77
+
78
+ _context.next = 3;
79
+ return _this.provider.getDocumentByObjectId(objectId, language);
80
+
81
+ case 3:
82
+ doc = _context.sent;
83
+
84
+ _this.setDocumentState(doc);
85
+
86
+ case 5:
87
+ case "end":
88
+ return _context.stop();
89
+ }
90
+ }
91
+ }, _callee);
92
+ }));
93
+
94
+ return function (_x, _x2) {
95
+ return _ref.apply(this, arguments);
96
+ };
97
+ }());
98
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getDocument", /*#__PURE__*/function () {
99
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(documentId, language) {
100
+ var doc;
101
+ return _regenerator.default.wrap(function _callee2$(_context2) {
102
+ while (1) {
103
+ switch (_context2.prev = _context2.next) {
104
+ case 0:
105
+ _this.setState({
106
+ isLoading: true
107
+ });
108
+
109
+ _context2.next = 3;
110
+ return _this.provider.getDocument(documentId, language);
111
+
112
+ case 3:
113
+ doc = _context2.sent;
114
+
115
+ _this.setDocumentState(doc);
116
+
117
+ case 5:
118
+ case "end":
119
+ return _context2.stop();
120
+ }
121
+ }
122
+ }, _callee2);
123
+ }));
124
+
125
+ return function (_x3, _x4) {
126
+ return _ref2.apply(this, arguments);
127
+ };
128
+ }());
129
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setDocumentMode", /*#__PURE__*/function () {
130
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(mode) {
131
+ return _regenerator.default.wrap(function _callee3$(_context3) {
132
+ while (1) {
133
+ switch (_context3.prev = _context3.next) {
134
+ case 0:
135
+ _this.setState({
136
+ mode: mode
137
+ });
138
+
139
+ case 1:
140
+ case "end":
141
+ return _context3.stop();
142
+ }
143
+ }
144
+ }, _callee3);
145
+ }));
146
+
147
+ return function (_x5) {
148
+ return _ref3.apply(this, arguments);
149
+ };
150
+ }());
151
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateDocument", /*#__PURE__*/function () {
152
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(body) {
153
+ var _ref5, documentId, objectId, language, doc;
154
+
155
+ return _regenerator.default.wrap(function _callee4$(_context4) {
156
+ while (1) {
157
+ switch (_context4.prev = _context4.next) {
158
+ case 0:
159
+ _ref5 = _this.state.doc || _this.props, documentId = _ref5.documentId, objectId = _ref5.objectId, language = _ref5.language;
160
+
161
+ if (documentId) {
162
+ _context4.next = 3;
163
+ break;
164
+ }
165
+
166
+ return _context4.abrupt("return", _this.createDocument(body));
167
+
168
+ case 3:
169
+ _context4.next = 5;
170
+ return _this.provider.updateDocument(documentId, JSON.stringify(body), objectId, '', language);
171
+
172
+ case 5:
173
+ doc = _context4.sent;
174
+
175
+ if (!doc) {
176
+ _context4.next = 11;
177
+ break;
178
+ }
179
+
180
+ _this.setState({
181
+ doc: doc,
182
+ mode: 'view'
183
+ });
184
+
185
+ return _context4.abrupt("return", doc);
186
+
187
+ case 11:
188
+ _this.setState({
189
+ hasError: true,
190
+ mode: 'view'
191
+ });
192
+
193
+ throw new Error('Failed to update document');
194
+
195
+ case 13:
196
+ case "end":
197
+ return _context4.stop();
198
+ }
199
+ }
200
+ }, _callee4);
201
+ }));
202
+
203
+ return function (_x6) {
204
+ return _ref4.apply(this, arguments);
205
+ };
206
+ }());
207
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createDocument", /*#__PURE__*/function () {
208
+ var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(body) {
209
+ var _this$props, objectId, language, doc;
210
+
211
+ return _regenerator.default.wrap(function _callee5$(_context5) {
212
+ while (1) {
213
+ switch (_context5.prev = _context5.next) {
214
+ case 0:
215
+ _this$props = _this.props, objectId = _this$props.objectId, language = _this$props.language;
216
+ _context5.next = 3;
217
+ return _this.provider.createDocument(JSON.stringify(body), objectId, '', language);
218
+
219
+ case 3:
220
+ doc = _context5.sent;
221
+
222
+ if (!doc) {
223
+ _context5.next = 9;
224
+ break;
225
+ }
226
+
227
+ _this.setState({
228
+ doc: doc,
229
+ mode: 'view'
230
+ });
231
+
232
+ return _context5.abrupt("return", doc);
233
+
234
+ case 9:
235
+ _this.setState({
236
+ hasError: true,
237
+ mode: 'view'
238
+ });
239
+
240
+ throw new Error('Failed to create document');
241
+
242
+ case 11:
243
+ case "end":
244
+ return _context5.stop();
245
+ }
246
+ }
247
+ }, _callee5);
248
+ }));
249
+
250
+ return function (_x7) {
251
+ return _ref6.apply(this, arguments);
252
+ };
253
+ }());
254
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setDocumentState", function (doc) {
255
+ if (doc) {
256
+ _this.setState({
257
+ isLoading: false,
258
+ doc: doc
259
+ });
260
+ } else {
261
+ _this.setState({
262
+ isLoading: false,
263
+ mode: 'edit'
264
+ });
265
+ }
266
+ });
267
+ _this.actions = {
268
+ getDocument: _this.getDocument,
269
+ setDocumentMode: _this.setDocumentMode,
270
+ updateDocument: _this.updateDocument,
271
+ createDocument: _this.createDocument,
272
+ getDocumentByObjectId: _this.getDocumentByObjectId
273
+ };
274
+ _this.provider = (0, _provider.getProvider)(props);
275
+ _this.state = {
276
+ mode: props.mode || 'view',
277
+ isLoading: true
278
+ };
279
+ return _this;
280
+ }
281
+
282
+ (0, _createClass2.default)(EmbeddedDocument, [{
283
+ key: "componentDidMount",
284
+ value: function () {
285
+ var _componentDidMount = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
286
+ var _this$props2, documentId, language, objectId;
287
+
288
+ return _regenerator.default.wrap(function _callee6$(_context6) {
289
+ while (1) {
290
+ switch (_context6.prev = _context6.next) {
291
+ case 0:
292
+ _this$props2 = this.props, documentId = _this$props2.documentId, language = _this$props2.language, objectId = _this$props2.objectId;
293
+
294
+ if (!documentId) {
295
+ _context6.next = 6;
296
+ break;
297
+ }
298
+
299
+ _context6.next = 4;
300
+ return this.getDocument(documentId, language);
301
+
302
+ case 4:
303
+ _context6.next = 8;
304
+ break;
305
+
306
+ case 6:
307
+ _context6.next = 8;
308
+ return this.getDocumentByObjectId(objectId, language);
309
+
310
+ case 8:
311
+ case "end":
312
+ return _context6.stop();
313
+ }
314
+ }
315
+ }, _callee6, this);
316
+ }));
317
+
318
+ function componentDidMount() {
319
+ return _componentDidMount.apply(this, arguments);
320
+ }
321
+
322
+ return componentDidMount;
323
+ }()
324
+ }, {
325
+ key: "renderToolbar",
326
+ value:
327
+ /**
328
+ * Toolbar will only be rendered here if we're in "view"-mode.
329
+ *
330
+ * In all other modes, the toolbar rendering will be triggered
331
+ * by the Document-component.
332
+ */
333
+ function renderToolbar() {
334
+ var mode = this.state.mode;
335
+ var renderToolbar = this.props.renderToolbar;
336
+
337
+ if (mode !== 'view' || !renderToolbar) {
338
+ return;
339
+ }
340
+
341
+ return renderToolbar(mode);
342
+ }
343
+ /**
344
+ * Title will only be rendered here if we're in "view"-mode.
345
+ *
346
+ * In all other modes, the title rendering will be triggered
347
+ * by the Document-component.
348
+ */
349
+
350
+ }, {
351
+ key: "renderTitle",
352
+ value: function renderTitle() {
353
+ var _this$state = this.state,
354
+ mode = _this$state.mode,
355
+ doc = _this$state.doc;
356
+ var renderTitle = this.props.renderTitle;
357
+
358
+ if (mode !== 'view' || !renderTitle) {
359
+ return;
360
+ }
361
+
362
+ return renderTitle(mode, doc);
363
+ }
364
+ }, {
365
+ key: "renderContent",
366
+ value: function renderContent() {
367
+ var mode = this.state.mode;
368
+
369
+ if (mode === 'view') {
370
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, this.renderToolbar(), /*#__PURE__*/_react.default.createElement(Content, null, this.renderTitle(), this.props.children));
371
+ }
372
+
373
+ return this.props.children;
374
+ }
375
+ }, {
376
+ key: "render",
377
+ value: function render() {
378
+ var _this$props3 = this.props,
379
+ renderTitle = _this$props3.renderTitle,
380
+ renderToolbar = _this$props3.renderToolbar;
381
+ return /*#__PURE__*/_react.default.createElement(_context7.Context.Provider, {
382
+ value: {
383
+ value: this.state,
384
+ actions: this.actions,
385
+ renderProps: {
386
+ renderTitle: renderTitle,
387
+ renderToolbar: renderToolbar
388
+ }
389
+ }
390
+ }, this.renderContent());
391
+ }
392
+ }]);
393
+ return EmbeddedDocument;
394
+ }(_react.Component);
395
+
396
+ exports.default = EmbeddedDocument;