@pie-lib/editable-html 7.17.4-next.59 → 7.17.4-next.595
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.
- package/CHANGELOG.json +135 -0
- package/CHANGELOG.md +421 -0
- package/lib/editor.js +392 -172
- package/lib/editor.js.map +1 -1
- package/lib/index.js +66 -53
- package/lib/index.js.map +1 -1
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +73 -0
- package/lib/plugins/characters/custom-popper.js.map +1 -0
- package/lib/plugins/characters/index.js +285 -0
- package/lib/plugins/characters/index.js.map +1 -0
- package/lib/plugins/characters/utils.js +381 -0
- package/lib/plugins/characters/utils.js.map +1 -0
- package/lib/plugins/image/alt-dialog.js +119 -0
- package/lib/plugins/image/alt-dialog.js.map +1 -0
- package/lib/plugins/image/component.js +253 -77
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +95 -61
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +62 -20
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +9 -15
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +20 -12
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +82 -14
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +50 -55
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +71 -27
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +274 -74
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +26 -30
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +28 -35
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +68 -46
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +12 -12
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +10 -9
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +11 -11
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +58 -42
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +8 -8
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +5 -5
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/icons/index.js +12 -12
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +83 -27
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +41 -50
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +19 -13
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +5 -5
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +62 -45
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +6 -5
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +49 -52
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +64 -62
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +1 -1
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +32 -9
- package/lib/serialization.js.map +1 -1
- package/lib/theme.js.map +1 -1
- package/package.json +7 -6
- package/src/editor.jsx +226 -26
- package/src/index.jsx +22 -5
- package/src/plugins/characters/custom-popper.js +48 -0
- package/src/plugins/characters/index.jsx +268 -0
- package/src/plugins/characters/utils.js +447 -0
- package/src/plugins/image/alt-dialog.jsx +69 -0
- package/src/plugins/image/component.jsx +204 -21
- package/src/plugins/image/image-toolbar.jsx +68 -22
- package/src/plugins/image/index.jsx +47 -9
- package/src/plugins/index.jsx +4 -1
- package/src/plugins/list/index.jsx +67 -5
- package/src/plugins/math/index.jsx +31 -37
- package/src/plugins/media/index.jsx +49 -6
- package/src/plugins/media/media-dialog.js +285 -89
- package/src/plugins/media/media-toolbar.jsx +7 -4
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +28 -1
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +3 -3
- package/src/plugins/respArea/index.jsx +50 -31
- package/src/plugins/table/index.jsx +63 -14
- package/src/plugins/toolbar/default-toolbar.jsx +20 -2
- package/src/plugins/toolbar/editor-and-toolbar.jsx +50 -11
- package/src/plugins/toolbar/index.jsx +1 -0
- package/src/plugins/toolbar/toolbar-buttons.jsx +13 -2
- package/src/plugins/toolbar/toolbar.jsx +18 -3
- package/src/serialization.jsx +19 -3
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.serialization = exports.reactAttributes = exports.parseStyleString = exports["default"] = void 0;
|
|
8
|
+
exports.serialization = exports.reactAttributes = exports.parseStyleString = exports.moveFocusToBeginningOfTable = exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
13
|
|
|
8
14
|
var _react = _interopRequireDefault(require("react"));
|
|
9
15
|
|
|
@@ -27,9 +33,9 @@ var _reactAttrConverter = _interopRequireDefault(require("react-attr-converter")
|
|
|
27
33
|
|
|
28
34
|
var _toStyle = require("to-style");
|
|
29
35
|
|
|
30
|
-
function
|
|
36
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
31
37
|
|
|
32
|
-
function
|
|
38
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
33
39
|
|
|
34
40
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:table');
|
|
35
41
|
var Table = (0, _styles.withStyles)(function () {
|
|
@@ -38,12 +44,12 @@ var Table = (0, _styles.withStyles)(function () {
|
|
|
38
44
|
};
|
|
39
45
|
})(function (props) {
|
|
40
46
|
var nodeAttributes = dataToAttributes(props.node.data);
|
|
41
|
-
return _react["default"].createElement("table",
|
|
47
|
+
return /*#__PURE__*/_react["default"].createElement("table", (0, _extends2["default"])({
|
|
42
48
|
className: props.classes.table
|
|
43
49
|
}, props.attributes, nodeAttributes, {
|
|
44
50
|
onFocus: props.onFocus,
|
|
45
51
|
onBlur: props.onBlur
|
|
46
|
-
}), _react["default"].createElement("tbody", null, props.children));
|
|
52
|
+
}), /*#__PURE__*/_react["default"].createElement("tbody", null, props.children));
|
|
47
53
|
});
|
|
48
54
|
Table.propTypes = {
|
|
49
55
|
attributes: _propTypes["default"].object,
|
|
@@ -54,7 +60,7 @@ Table.propTypes = {
|
|
|
54
60
|
};
|
|
55
61
|
|
|
56
62
|
var TableRow = function TableRow(props) {
|
|
57
|
-
return _react["default"].createElement("tr", props.attributes, props.children);
|
|
63
|
+
return /*#__PURE__*/_react["default"].createElement("tr", props.attributes, props.children);
|
|
58
64
|
};
|
|
59
65
|
|
|
60
66
|
TableRow.propTypes = {
|
|
@@ -73,7 +79,7 @@ var TableCell = (0, _styles.withStyles)(function () {
|
|
|
73
79
|
var Tag = props.node.data.get('header') ? 'th' : 'td';
|
|
74
80
|
var nodeAttributes = dataToAttributes(props.node.data);
|
|
75
81
|
delete nodeAttributes.header;
|
|
76
|
-
return _react["default"].createElement(Tag,
|
|
82
|
+
return /*#__PURE__*/_react["default"].createElement(Tag, (0, _extends2["default"])({}, props.attributes, nodeAttributes, {
|
|
77
83
|
colSpan: props.node.data.get('colspan'),
|
|
78
84
|
className: props.classes[Tag],
|
|
79
85
|
onFocus: props.onFocus,
|
|
@@ -87,6 +93,24 @@ TableCell.propTypes = {
|
|
|
87
93
|
children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired
|
|
88
94
|
};
|
|
89
95
|
|
|
96
|
+
var moveFocusToBeginningOfTable = function moveFocusToBeginningOfTable(change) {
|
|
97
|
+
var addedTable = change.value.document.findDescendant(function (d) {
|
|
98
|
+
return !!d.data && !!d.data.get('newTable');
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
if (!addedTable) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
change.collapseToStartOf(addedTable);
|
|
106
|
+
var update = addedTable.data.remove('newTable');
|
|
107
|
+
change.setNodeByKey(addedTable.key, {
|
|
108
|
+
data: update
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
exports.moveFocusToBeginningOfTable = moveFocusToBeginningOfTable;
|
|
113
|
+
|
|
90
114
|
var _default = function _default(opts, toolbarPlugins
|
|
91
115
|
/* : {toolbar: {}}[] */
|
|
92
116
|
) {
|
|
@@ -130,12 +154,28 @@ var _default = function _default(opts, toolbarPlugins
|
|
|
130
154
|
});
|
|
131
155
|
};
|
|
132
156
|
|
|
157
|
+
core.utils.createTableWithOptions = function (row, columns, extra) {
|
|
158
|
+
var createdTable = core.utils.createTable(row, columns);
|
|
159
|
+
|
|
160
|
+
var newTable = _slate.Block.create(_objectSpread(_objectSpread({}, createdTable.toJSON()), extra));
|
|
161
|
+
|
|
162
|
+
return newTable;
|
|
163
|
+
};
|
|
164
|
+
|
|
133
165
|
core.toolbar = {
|
|
134
|
-
icon: _react["default"].createElement(_GridOn["default"], null),
|
|
166
|
+
icon: /*#__PURE__*/_react["default"].createElement(_GridOn["default"], null),
|
|
135
167
|
onClick: function onClick(value, onChange) {
|
|
136
168
|
log('insert table');
|
|
137
|
-
var
|
|
138
|
-
|
|
169
|
+
var change = value.change();
|
|
170
|
+
var newTable = core.utils.createTableWithOptions(2, 2, {
|
|
171
|
+
data: {
|
|
172
|
+
border: '1',
|
|
173
|
+
newTable: true
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
change.insertBlock(newTable);
|
|
177
|
+
moveFocusToBeginningOfTable(change);
|
|
178
|
+
onChange(change);
|
|
139
179
|
},
|
|
140
180
|
supports: function supports(node, value) {
|
|
141
181
|
return node && node.object === 'block' && core.utils.isSelectionInTable(value);
|
|
@@ -146,7 +186,7 @@ var _default = function _default(opts, toolbarPlugins
|
|
|
146
186
|
*/
|
|
147
187
|
customToolbar: function customToolbar(node, value, onToolbarDone) {
|
|
148
188
|
log('[customToolbar] node.data: ', node.data);
|
|
149
|
-
var tableBlock = core.utils.getTableBlock(value.document, node.key);
|
|
189
|
+
var tableBlock = core.utils.getTableBlock(value.document, node === null || node === void 0 ? void 0 : node.key);
|
|
150
190
|
log('[customToolbar] tableBlock: ', tableBlock);
|
|
151
191
|
|
|
152
192
|
var hasBorder = function hasBorder() {
|
|
@@ -194,7 +234,7 @@ var _default = function _default(opts, toolbarPlugins
|
|
|
194
234
|
};
|
|
195
235
|
|
|
196
236
|
var Tb = function Tb() {
|
|
197
|
-
return _react["default"].createElement(_tableToolbar["default"], {
|
|
237
|
+
return /*#__PURE__*/_react["default"].createElement(_tableToolbar["default"], {
|
|
198
238
|
plugins: toolbarPlugins,
|
|
199
239
|
onChange: function onChange(c) {
|
|
200
240
|
return onToolbarDone(c, false);
|
|
@@ -218,16 +258,16 @@ var _default = function _default(opts, toolbarPlugins
|
|
|
218
258
|
var Node = function Node(props) {
|
|
219
259
|
switch (props.node.type) {
|
|
220
260
|
case 'table':
|
|
221
|
-
return _react["default"].createElement(Table,
|
|
261
|
+
return /*#__PURE__*/_react["default"].createElement(Table, (0, _extends2["default"])({}, props, {
|
|
222
262
|
onFocus: opts.onFocus,
|
|
223
263
|
onBlur: opts.onBlur
|
|
224
264
|
}));
|
|
225
265
|
|
|
226
266
|
case 'table_row':
|
|
227
|
-
return _react["default"].createElement(TableRow, props);
|
|
267
|
+
return /*#__PURE__*/_react["default"].createElement(TableRow, props);
|
|
228
268
|
|
|
229
269
|
case 'table_cell':
|
|
230
|
-
return _react["default"].createElement(TableCell,
|
|
270
|
+
return /*#__PURE__*/_react["default"].createElement(TableCell, (0, _extends2["default"])({}, props, {
|
|
231
271
|
onFocus: opts.onFocus,
|
|
232
272
|
onBlur: opts.onBlur
|
|
233
273
|
}));
|
|
@@ -246,9 +286,18 @@ var _default = function _default(opts, toolbarPlugins
|
|
|
246
286
|
return;
|
|
247
287
|
}
|
|
248
288
|
|
|
289
|
+
var tableAdded = node.findDescendant(function (d) {
|
|
290
|
+
return d.data && d.data.get('newTable');
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
if (!tableAdded) {
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
var nodeToSearch = node.getParent(tableAdded.key) || node;
|
|
249
298
|
var shouldAddTextAfterNode = false;
|
|
250
|
-
var indexToNotHaveTableOn =
|
|
251
|
-
var indexOfLastTable =
|
|
299
|
+
var indexToNotHaveTableOn = nodeToSearch.nodes.size - 1;
|
|
300
|
+
var indexOfLastTable = nodeToSearch.nodes.findLastIndex(function (d) {
|
|
252
301
|
return d.type === 'table';
|
|
253
302
|
}); // if the last table in the document is of type table, we need to do the change
|
|
254
303
|
|
|
@@ -260,13 +309,12 @@ var _default = function _default(opts, toolbarPlugins
|
|
|
260
309
|
return;
|
|
261
310
|
}
|
|
262
311
|
|
|
263
|
-
var tableNode = node.nodes.get(indexOfLastTable);
|
|
264
312
|
return function (change) {
|
|
265
313
|
if (shouldAddTextAfterNode) {
|
|
266
|
-
var tableJSON =
|
|
314
|
+
var tableJSON = tableAdded.toJSON(); // we remove the table node because otherwise we can't add the empty block after it
|
|
267
315
|
// we need a block that contains text in order to do it
|
|
268
316
|
|
|
269
|
-
change.removeNodeByKey(
|
|
317
|
+
change.removeNodeByKey(tableAdded.key);
|
|
270
318
|
|
|
271
319
|
var newBlock = _slate.Block.create({
|
|
272
320
|
object: 'block',
|
|
@@ -282,12 +330,19 @@ var _default = function _default(opts, toolbarPlugins
|
|
|
282
330
|
var prevText = change.value.document.getPreviousText(newBlock.key);
|
|
283
331
|
|
|
284
332
|
if (prevText) {
|
|
333
|
+
var _prevText$text, _prevText$text2;
|
|
334
|
+
|
|
285
335
|
// we move focus to the previous text
|
|
286
|
-
change.moveFocusTo(prevText.key, prevText.text.length).moveAnchorTo(prevText.key, prevText.text.length);
|
|
336
|
+
change.moveFocusTo(prevText.key, (_prevText$text = prevText.text) === null || _prevText$text === void 0 ? void 0 : _prevText$text.length).moveAnchorTo(prevText.key, (_prevText$text2 = prevText.text) === null || _prevText$text2 === void 0 ? void 0 : _prevText$text2.length);
|
|
287
337
|
} // we insert the table block between the first block with text and the last block with text
|
|
288
338
|
|
|
289
339
|
|
|
290
|
-
change.insertBlock(tableJSON)
|
|
340
|
+
change.insertBlock(_objectSpread(_objectSpread({}, tableJSON), {}, {
|
|
341
|
+
data: _objectSpread(_objectSpread({}, tableJSON.data), {}, {
|
|
342
|
+
newTable: true
|
|
343
|
+
})
|
|
344
|
+
}));
|
|
345
|
+
moveFocusToBeginningOfTable(change);
|
|
291
346
|
});
|
|
292
347
|
}
|
|
293
348
|
};
|
|
@@ -315,7 +370,8 @@ exports.parseStyleString = parseStyleString;
|
|
|
315
370
|
|
|
316
371
|
var reactAttributes = function reactAttributes(o) {
|
|
317
372
|
return (0, _toStyle.object)(o, {
|
|
318
|
-
camelize: true
|
|
373
|
+
camelize: true,
|
|
374
|
+
addUnits: false
|
|
319
375
|
});
|
|
320
376
|
};
|
|
321
377
|
|
|
@@ -416,12 +472,12 @@ var serialization = {
|
|
|
416
472
|
{
|
|
417
473
|
var _attributes = dataToAttributes(object.data);
|
|
418
474
|
|
|
419
|
-
return _react["default"].createElement("table", _attributes, _react["default"].createElement("tbody", null, children));
|
|
475
|
+
return /*#__PURE__*/_react["default"].createElement("table", _attributes, /*#__PURE__*/_react["default"].createElement("tbody", null, children));
|
|
420
476
|
}
|
|
421
477
|
|
|
422
478
|
case 'table_row':
|
|
423
479
|
{
|
|
424
|
-
return _react["default"].createElement("tr", null, children);
|
|
480
|
+
return /*#__PURE__*/_react["default"].createElement("tr", null, children);
|
|
425
481
|
}
|
|
426
482
|
|
|
427
483
|
case 'table_cell':
|
|
@@ -431,9 +487,9 @@ var serialization = {
|
|
|
431
487
|
delete _attributes2.header;
|
|
432
488
|
|
|
433
489
|
if (object.data.get('header')) {
|
|
434
|
-
return _react["default"].createElement("th", _attributes2, children);
|
|
490
|
+
return /*#__PURE__*/_react["default"].createElement("th", _attributes2, children);
|
|
435
491
|
} else {
|
|
436
|
-
return _react["default"].createElement("td", _attributes2, children);
|
|
492
|
+
return /*#__PURE__*/_react["default"].createElement("td", _attributes2, children);
|
|
437
493
|
}
|
|
438
494
|
}
|
|
439
495
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/plugins/table/index.jsx"],"names":["log","Table","table","props","nodeAttributes","dataToAttributes","node","data","classes","attributes","onFocus","onBlur","children","propTypes","PropTypes","object","func","SlatePropTypes","oneOfType","arrayOf","isRequired","TableRow","TableCell","td","minWidth","Tag","get","header","opts","toolbarPlugins","core","typeContent","schema","blocks","Object","keys","forEach","key","block","parent","nodes","types","type","objects","utils","getTableBlock","containerNode","getDescendant","ancestors","getAncestors","push","findLast","p","toolbar","icon","onClick","value","onChange","c","changes","insertTable","change","supports","isSelectionInTable","customToolbar","onToolbarDone","tableBlock","document","hasBorder","addRow","insertRow","addColumn","insertColumn","removeRow","removeColumn","removeTable","toggleBorder","update","set","setNodeByKey","onDone","Tb","Node","normalizeNode","shouldAddTextAfterNode","indexToNotHaveTableOn","size","indexOfLastTable","findLastIndex","d","tableNode","tableJSON","toJSON","removeNodeByKey","newBlock","Block","create","insertBlock","withoutNormalization","prevText","getPreviousText","moveFocusTo","text","length","moveAnchorTo","renderNode","parseStyleString","s","regex","match","result","exec","trim","reactAttributes","o","camelize","attributesToMap","el","acc","attribute","getAttribute","styleString","reactStyleObject","reduce","v","name","cellAttributes","serialization","deserialize","next","tag","tagName","toLowerCase","Array","from","childNodes","serialize"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditTable from 'slate-edit-table';\nimport { Block, Inline } from 'slate';\nimport debug from 'debug';\nimport GridOn from '@material-ui/icons/GridOn';\nimport TableToolbar from './table-toolbar';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport convert from 'react-attr-converter';\nimport { object as toStyleObject } from 'to-style';\n\nconst log = debug('@pie-lib:editable-html:plugins:table');\n\nconst Table = withStyles(() => ({\n table: {}\n}))(props => {\n const nodeAttributes = dataToAttributes(props.node.data);\n\n return (\n <table\n className={props.classes.table}\n {...props.attributes}\n {...nodeAttributes}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n <tbody>{props.children}</tbody>\n </table>\n );\n});\n\nTable.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n node: SlatePropTypes.node,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nconst TableRow = props => <tr {...props.attributes}>{props.children}</tr>;\n\nTableRow.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nconst TableCell = withStyles(() => ({\n td: {\n minWidth: '25px'\n }\n}))(props => {\n const Tag = props.node.data.get('header') ? 'th' : 'td';\n\n const nodeAttributes = dataToAttributes(props.node.data);\n delete nodeAttributes.header;\n\n return (\n <Tag\n {...props.attributes}\n {...nodeAttributes}\n colSpan={props.node.data.get('colspan')}\n className={props.classes[Tag]}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n {props.children}\n </Tag>\n );\n});\n\nTableCell.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport default (opts, toolbarPlugins /* : {toolbar: {}}[] */) => {\n const core = EditTable({\n typeContent: 'div'\n });\n\n // fix outdated schema\n\n if (core.schema && core.schema.blocks) {\n Object.keys(core.schema.blocks).forEach(key => {\n const block = core.schema.blocks[key];\n\n if (block.parent) {\n if (block.nodes[0].types) {\n block.nodes[0] = {\n type: block.nodes[0].types[0]\n };\n }\n\n if (block.nodes[0].objects) {\n block.nodes[0] = {\n object: block.nodes[0].objects[0]\n };\n }\n\n block.parent = {\n type: block.parent.types[0]\n };\n } else {\n block.nodes[0] = { type: block.nodes[0].types[0] };\n }\n });\n }\n\n core.utils.getTableBlock = (containerNode, key) => {\n const node = containerNode.getDescendant(key);\n const ancestors = containerNode.getAncestors(key).push(node);\n return ancestors.findLast(p => p.type === 'table');\n };\n\n core.toolbar = {\n icon: <GridOn />,\n onClick: (value, onChange) => {\n log('insert table');\n const c = core.changes.insertTable(value.change(), 2, 2);\n onChange(c);\n },\n supports: (node, value) =>\n node && node.object === 'block' && core.utils.isSelectionInTable(value),\n /**\n * Note - the node may not be a table node - it may be a node inside a table.\n */\n customToolbar: (node, value, onToolbarDone) => {\n log('[customToolbar] node.data: ', node.data);\n\n const tableBlock = core.utils.getTableBlock(value.document, node.key);\n log('[customToolbar] tableBlock: ', tableBlock);\n\n const hasBorder = () =>\n tableBlock.data.get('border') && tableBlock.data.get('border') !== '0';\n const addRow = () => {\n const change = core.changes.insertRow(value.change());\n onToolbarDone(change, false);\n };\n\n const addColumn = () => {\n const change = core.changes.insertColumn(value.change());\n onToolbarDone(change, false);\n };\n\n const removeRow = () => {\n const change = core.changes.removeRow(value.change());\n onToolbarDone(change, false);\n };\n\n const removeColumn = () => {\n const change = core.changes.removeColumn(value.change());\n onToolbarDone(change, false);\n };\n\n const removeTable = () => {\n const change = core.changes.removeTable(value.change());\n onToolbarDone(change, false);\n };\n\n const toggleBorder = () => {\n const { data } = tableBlock;\n const update = data.set('border', hasBorder() ? '0' : '1');\n log('[toggleBorder] update: ', update);\n const change = value.change().setNodeByKey(tableBlock.key, { data: update });\n onToolbarDone(change, false);\n };\n\n const onDone = () => {\n log('[onDone] call onToolbarDone...');\n onToolbarDone(null, true);\n };\n\n const Tb = () => (\n <TableToolbar\n plugins={toolbarPlugins}\n onChange={c => onToolbarDone(c, false)}\n value={value}\n onAddRow={addRow}\n onRemoveRow={removeRow}\n onAddColumn={addColumn}\n onRemoveColumn={removeColumn}\n onRemoveTable={removeTable}\n hasBorder={hasBorder()}\n onToggleBorder={toggleBorder}\n onDone={onDone}\n />\n );\n return Tb;\n }\n };\n\n const Node = props => {\n switch (props.node.type) {\n case 'table':\n return <Table {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n case 'table_row':\n return <TableRow {...props} />;\n case 'table_cell':\n return <TableCell {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n default:\n return null;\n }\n };\n Node.propTypes = {\n node: PropTypes.object\n };\n\n core.normalizeNode = node => {\n if (node.object !== 'document') {\n return;\n }\n\n let shouldAddTextAfterNode = false;\n const indexToNotHaveTableOn = node.nodes.size - 1;\n const indexOfLastTable = node.nodes.findLastIndex(d => d.type === 'table');\n\n // if the last table in the document is of type table, we need to do the change\n if (indexOfLastTable === indexToNotHaveTableOn) {\n shouldAddTextAfterNode = true;\n }\n\n if (!shouldAddTextAfterNode) {\n return;\n }\n\n const tableNode = node.nodes.get(indexOfLastTable);\n\n return change => {\n if (shouldAddTextAfterNode) {\n const tableJSON = tableNode.toJSON();\n\n // we remove the table node because otherwise we can't add the empty block after it\n // we need a block that contains text in order to do it\n change.removeNodeByKey(tableNode.key);\n\n const newBlock = Block.create({\n object: 'block',\n type: 'div'\n });\n\n // we add an empty block but that it's going to be normalized\n // because it will add the empty text to it like it should\n change.insertBlock(newBlock);\n\n change.withoutNormalization(() => {\n // we do these changes without normalization\n\n // we get the text previous to the new block added\n const prevText = change.value.document.getPreviousText(newBlock.key);\n\n if (prevText) {\n // we move focus to the previous text\n change\n .moveFocusTo(prevText.key, prevText.text.length)\n .moveAnchorTo(prevText.key, prevText.text.length);\n }\n\n // we insert the table block between the first block with text and the last block with text\n change.insertBlock(tableJSON);\n });\n }\n };\n };\n\n core.renderNode = Node;\n\n return core;\n};\n\nexport const parseStyleString = s => {\n const regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\n let match;\n const result = {};\n while ((match = regex.exec(s))) {\n result[match[1]] = match[2].trim();\n }\n return result;\n};\n\nexport const reactAttributes = o => toStyleObject(o, { camelize: true });\n\nconst attributesToMap = el => (acc, attribute) => {\n const value = el.getAttribute(attribute);\n if (value) {\n if (attribute === 'style') {\n const styleString = el.getAttribute(attribute);\n const reactStyleObject = reactAttributes(parseStyleString(styleString));\n acc['style'] = reactStyleObject;\n } else {\n acc[attribute] = el.getAttribute(attribute);\n }\n }\n return acc;\n};\n\nconst dataToAttributes = data => {\n if (!data || !data.get) {\n return {};\n }\n\n return data.reduce((acc, v, name) => {\n if (v) {\n acc[convert(name)] = v;\n }\n return acc;\n }, {});\n};\n\nconst attributes = ['border', 'cellpadding', 'cellspacing', 'class', 'style'];\n\nconst cellAttributes = ['colspan', 'rowspan', 'class', 'style'];\n\nexport const serialization = {\n deserialize(el, next) {\n const tag = el.tagName.toLowerCase();\n\n switch (tag) {\n case 'table': {\n const children =\n el.children.length === 1 && el.children[0].tagName.toLowerCase() === 'tbody'\n ? el.children[0].children\n : el.children;\n const c = Array.from(children);\n\n return {\n object: 'block',\n type: 'table',\n nodes: next(c),\n data: attributes.reduce(attributesToMap(el), {})\n };\n }\n case 'th': {\n return {\n object: 'block',\n type: 'table_cell',\n nodes: next(el.childNodes),\n data: cellAttributes.reduce(attributesToMap(el), { header: true })\n };\n }\n case 'tr': {\n return {\n object: 'block',\n type: 'table_row',\n nodes: next(Array.from(el.children))\n };\n }\n case 'td': {\n return {\n object: 'block',\n type: 'table_cell',\n nodes: next(Array.from(el.childNodes)),\n data: cellAttributes.reduce(attributesToMap(el), { header: false })\n };\n }\n }\n },\n serialize(object, children) {\n if (object.object !== 'block') {\n return;\n }\n\n switch (object.type) {\n case 'table': {\n const attributes = dataToAttributes(object.data);\n return (\n <table {...attributes}>\n <tbody>{children}</tbody>\n </table>\n );\n }\n case 'table_row': {\n return <tr>{children}</tr>;\n }\n case 'table_cell': {\n const attributes = dataToAttributes(object.data);\n delete attributes.header;\n if (object.data.get('header')) {\n return <th {...attributes}>{children}</th>;\n } else {\n return <td {...attributes}>{children}</td>;\n }\n }\n }\n }\n};\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["log","debug","Table","withStyles","table","props","nodeAttributes","dataToAttributes","node","data","classes","attributes","onFocus","onBlur","children","propTypes","PropTypes","object","func","SlatePropTypes","oneOfType","arrayOf","isRequired","TableRow","TableCell","td","minWidth","Tag","get","header","moveFocusToBeginningOfTable","change","addedTable","value","document","findDescendant","d","collapseToStartOf","update","remove","setNodeByKey","key","opts","toolbarPlugins","core","EditTable","typeContent","schema","blocks","Object","keys","forEach","block","parent","nodes","types","type","objects","utils","getTableBlock","containerNode","getDescendant","ancestors","getAncestors","push","findLast","p","createTableWithOptions","row","columns","extra","createdTable","createTable","newTable","Block","create","toJSON","toolbar","icon","onClick","onChange","border","insertBlock","supports","isSelectionInTable","customToolbar","onToolbarDone","tableBlock","hasBorder","addRow","changes","insertRow","addColumn","insertColumn","removeRow","removeColumn","removeTable","toggleBorder","set","onDone","Tb","c","Node","normalizeNode","tableAdded","nodeToSearch","getParent","shouldAddTextAfterNode","indexToNotHaveTableOn","size","indexOfLastTable","findLastIndex","tableJSON","removeNodeByKey","newBlock","withoutNormalization","prevText","getPreviousText","moveFocusTo","text","length","moveAnchorTo","renderNode","parseStyleString","s","regex","match","result","exec","trim","reactAttributes","o","toStyleObject","camelize","addUnits","attributesToMap","el","acc","attribute","getAttribute","styleString","reactStyleObject","reduce","v","name","convert","cellAttributes","serialization","deserialize","next","tag","tagName","toLowerCase","Array","from","childNodes","serialize"],"sources":["../../../src/plugins/table/index.jsx"],"sourcesContent":["import React from 'react';\nimport EditTable from 'slate-edit-table';\nimport { Block } from 'slate';\nimport debug from 'debug';\nimport GridOn from '@material-ui/icons/GridOn';\nimport TableToolbar from './table-toolbar';\nimport PropTypes from 'prop-types';\nimport SlatePropTypes from 'slate-prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport convert from 'react-attr-converter';\nimport { object as toStyleObject } from 'to-style';\n\nconst log = debug('@pie-lib:editable-html:plugins:table');\n\nconst Table = withStyles(() => ({\n table: {}\n}))(props => {\n const nodeAttributes = dataToAttributes(props.node.data);\n\n return (\n <table\n className={props.classes.table}\n {...props.attributes}\n {...nodeAttributes}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n <tbody>{props.children}</tbody>\n </table>\n );\n});\n\nTable.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n node: SlatePropTypes.node,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nconst TableRow = props => <tr {...props.attributes}>{props.children}</tr>;\n\nTableRow.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nconst TableCell = withStyles(() => ({\n td: {\n minWidth: '25px'\n }\n}))(props => {\n const Tag = props.node.data.get('header') ? 'th' : 'td';\n\n const nodeAttributes = dataToAttributes(props.node.data);\n delete nodeAttributes.header;\n\n return (\n <Tag\n {...props.attributes}\n {...nodeAttributes}\n colSpan={props.node.data.get('colspan')}\n className={props.classes[Tag]}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n >\n {props.children}\n </Tag>\n );\n});\n\nTableCell.propTypes = {\n attributes: PropTypes.object,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport const moveFocusToBeginningOfTable = change => {\n const addedTable = change.value.document.findDescendant(\n d => !!d.data && !!d.data.get('newTable')\n );\n\n if (!addedTable) {\n return;\n }\n\n change.collapseToStartOf(addedTable);\n\n const update = addedTable.data.remove('newTable');\n\n change.setNodeByKey(addedTable.key, { data: update });\n};\n\nexport default (opts, toolbarPlugins /* : {toolbar: {}}[] */) => {\n const core = EditTable({\n typeContent: 'div'\n });\n\n // fix outdated schema\n\n if (core.schema && core.schema.blocks) {\n Object.keys(core.schema.blocks).forEach(key => {\n const block = core.schema.blocks[key];\n\n if (block.parent) {\n if (block.nodes[0].types) {\n block.nodes[0] = {\n type: block.nodes[0].types[0]\n };\n }\n\n if (block.nodes[0].objects) {\n block.nodes[0] = {\n object: block.nodes[0].objects[0]\n };\n }\n\n block.parent = {\n type: block.parent.types[0]\n };\n } else {\n block.nodes[0] = { type: block.nodes[0].types[0] };\n }\n });\n }\n\n core.utils.getTableBlock = (containerNode, key) => {\n const node = containerNode.getDescendant(key);\n const ancestors = containerNode.getAncestors(key).push(node);\n return ancestors.findLast(p => p.type === 'table');\n };\n\n core.utils.createTableWithOptions = (row, columns, extra) => {\n const createdTable = core.utils.createTable(row, columns);\n const newTable = Block.create({\n ...createdTable.toJSON(),\n ...extra\n });\n\n return newTable;\n };\n\n core.toolbar = {\n icon: <GridOn />,\n onClick: (value, onChange) => {\n log('insert table');\n const change = value.change();\n const newTable = core.utils.createTableWithOptions(2, 2, {\n data: {\n border: '1',\n newTable: true\n }\n });\n\n change.insertBlock(newTable);\n\n moveFocusToBeginningOfTable(change);\n onChange(change);\n },\n supports: (node, value) =>\n node && node.object === 'block' && core.utils.isSelectionInTable(value),\n /**\n * Note - the node may not be a table node - it may be a node inside a table.\n */\n customToolbar: (node, value, onToolbarDone) => {\n log('[customToolbar] node.data: ', node.data);\n\n const tableBlock = core.utils.getTableBlock(value.document, node?.key);\n log('[customToolbar] tableBlock: ', tableBlock);\n\n const hasBorder = () =>\n tableBlock.data.get('border') && tableBlock.data.get('border') !== '0';\n const addRow = () => {\n const change = core.changes.insertRow(value.change());\n onToolbarDone(change, false);\n };\n\n const addColumn = () => {\n const change = core.changes.insertColumn(value.change());\n onToolbarDone(change, false);\n };\n\n const removeRow = () => {\n const change = core.changes.removeRow(value.change());\n onToolbarDone(change, false);\n };\n\n const removeColumn = () => {\n const change = core.changes.removeColumn(value.change());\n onToolbarDone(change, false);\n };\n\n const removeTable = () => {\n const change = core.changes.removeTable(value.change());\n onToolbarDone(change, false);\n };\n\n const toggleBorder = () => {\n const { data } = tableBlock;\n const update = data.set('border', hasBorder() ? '0' : '1');\n log('[toggleBorder] update: ', update);\n const change = value.change().setNodeByKey(tableBlock.key, { data: update });\n onToolbarDone(change, false);\n };\n\n const onDone = () => {\n log('[onDone] call onToolbarDone...');\n onToolbarDone(null, true);\n };\n\n const Tb = () => (\n <TableToolbar\n plugins={toolbarPlugins}\n onChange={c => onToolbarDone(c, false)}\n value={value}\n onAddRow={addRow}\n onRemoveRow={removeRow}\n onAddColumn={addColumn}\n onRemoveColumn={removeColumn}\n onRemoveTable={removeTable}\n hasBorder={hasBorder()}\n onToggleBorder={toggleBorder}\n onDone={onDone}\n />\n );\n return Tb;\n }\n };\n\n const Node = props => {\n switch (props.node.type) {\n case 'table':\n return <Table {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n case 'table_row':\n return <TableRow {...props} />;\n case 'table_cell':\n return <TableCell {...props} onFocus={opts.onFocus} onBlur={opts.onBlur} />;\n default:\n return null;\n }\n };\n Node.propTypes = {\n node: PropTypes.object\n };\n\n core.normalizeNode = node => {\n if (node.object !== 'document') {\n return;\n }\n\n const tableAdded = node.findDescendant(d => d.data && d.data.get('newTable'));\n\n if (!tableAdded) {\n return;\n }\n\n const nodeToSearch = node.getParent(tableAdded.key) || node;\n let shouldAddTextAfterNode = false;\n const indexToNotHaveTableOn = nodeToSearch.nodes.size - 1;\n const indexOfLastTable = nodeToSearch.nodes.findLastIndex(d => d.type === 'table');\n\n // if the last table in the document is of type table, we need to do the change\n if (indexOfLastTable === indexToNotHaveTableOn) {\n shouldAddTextAfterNode = true;\n }\n\n if (!shouldAddTextAfterNode) {\n return;\n }\n\n return change => {\n if (shouldAddTextAfterNode) {\n const tableJSON = tableAdded.toJSON();\n\n // we remove the table node because otherwise we can't add the empty block after it\n // we need a block that contains text in order to do it\n change.removeNodeByKey(tableAdded.key);\n\n const newBlock = Block.create({\n object: 'block',\n type: 'div'\n });\n\n // we add an empty block but that it's going to be normalized\n // because it will add the empty text to it like it should\n change.insertBlock(newBlock);\n\n change.withoutNormalization(() => {\n // we do these changes without normalization\n\n // we get the text previous to the new block added\n const prevText = change.value.document.getPreviousText(newBlock.key);\n\n if (prevText) {\n // we move focus to the previous text\n change\n .moveFocusTo(prevText.key, prevText.text?.length)\n .moveAnchorTo(prevText.key, prevText.text?.length);\n }\n\n // we insert the table block between the first block with text and the last block with text\n change.insertBlock({\n ...tableJSON,\n data: {\n ...tableJSON.data,\n newTable: true\n }\n });\n\n moveFocusToBeginningOfTable(change);\n });\n }\n };\n };\n\n core.renderNode = Node;\n\n return core;\n};\n\nexport const parseStyleString = s => {\n const regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\n let match;\n const result = {};\n while ((match = regex.exec(s))) {\n result[match[1]] = match[2].trim();\n }\n return result;\n};\n\nexport const reactAttributes = o => toStyleObject(o, { camelize: true, addUnits: false });\n\nconst attributesToMap = el => (acc, attribute) => {\n const value = el.getAttribute(attribute);\n if (value) {\n if (attribute === 'style') {\n const styleString = el.getAttribute(attribute);\n const reactStyleObject = reactAttributes(parseStyleString(styleString));\n acc['style'] = reactStyleObject;\n } else {\n acc[attribute] = el.getAttribute(attribute);\n }\n }\n return acc;\n};\n\nconst dataToAttributes = data => {\n if (!data || !data.get) {\n return {};\n }\n\n return data.reduce((acc, v, name) => {\n if (v) {\n acc[convert(name)] = v;\n }\n return acc;\n }, {});\n};\n\nconst attributes = ['border', 'cellpadding', 'cellspacing', 'class', 'style'];\n\nconst cellAttributes = ['colspan', 'rowspan', 'class', 'style'];\n\nexport const serialization = {\n deserialize(el, next) {\n const tag = el.tagName.toLowerCase();\n\n switch (tag) {\n case 'table': {\n const children =\n el.children.length === 1 && el.children[0].tagName.toLowerCase() === 'tbody'\n ? el.children[0].children\n : el.children;\n const c = Array.from(children);\n\n return {\n object: 'block',\n type: 'table',\n nodes: next(c),\n data: attributes.reduce(attributesToMap(el), {})\n };\n }\n case 'th': {\n return {\n object: 'block',\n type: 'table_cell',\n nodes: next(el.childNodes),\n data: cellAttributes.reduce(attributesToMap(el), { header: true })\n };\n }\n case 'tr': {\n return {\n object: 'block',\n type: 'table_row',\n nodes: next(Array.from(el.children))\n };\n }\n case 'td': {\n return {\n object: 'block',\n type: 'table_cell',\n nodes: next(Array.from(el.childNodes)),\n data: cellAttributes.reduce(attributesToMap(el), { header: false })\n };\n }\n }\n },\n serialize(object, children) {\n if (object.object !== 'block') {\n return;\n }\n\n switch (object.type) {\n case 'table': {\n const attributes = dataToAttributes(object.data);\n return (\n <table {...attributes}>\n <tbody>{children}</tbody>\n </table>\n );\n }\n case 'table_row': {\n return <tr>{children}</tr>;\n }\n case 'table_cell': {\n const attributes = dataToAttributes(object.data);\n delete attributes.header;\n if (object.data.get('header')) {\n return <th {...attributes}>{children}</th>;\n } else {\n return <td {...attributes}>{children}</td>;\n }\n }\n }\n }\n};\n"],"mappings":"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"}
|
|
@@ -1,10 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports["default"] = exports.TableToolbar = void 0;
|
|
7
9
|
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
8
26
|
var _react = _interopRequireDefault(require("react"));
|
|
9
27
|
|
|
10
28
|
var _styles = require("@material-ui/core/styles");
|
|
@@ -23,60 +41,36 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
23
41
|
|
|
24
42
|
var _debug = _interopRequireDefault(require("debug"));
|
|
25
43
|
|
|
26
|
-
function
|
|
27
|
-
|
|
28
|
-
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
29
|
-
|
|
30
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
31
|
-
|
|
32
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
33
|
-
|
|
34
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
44
|
+
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); }; }
|
|
35
45
|
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
39
|
-
|
|
40
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
41
|
-
|
|
42
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
43
|
-
|
|
44
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
45
|
-
|
|
46
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
47
|
-
|
|
48
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
46
|
+
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; } }
|
|
49
47
|
|
|
50
48
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:table-toolbar');
|
|
51
49
|
|
|
52
|
-
var TableToolbar =
|
|
53
|
-
|
|
54
|
-
function (_React$Component) {
|
|
55
|
-
_inherits(TableToolbar, _React$Component);
|
|
50
|
+
var TableToolbar = /*#__PURE__*/function (_React$Component) {
|
|
51
|
+
(0, _inherits2["default"])(TableToolbar, _React$Component);
|
|
56
52
|
|
|
57
|
-
|
|
58
|
-
var _getPrototypeOf2;
|
|
53
|
+
var _super = _createSuper(TableToolbar);
|
|
59
54
|
|
|
55
|
+
function TableToolbar() {
|
|
60
56
|
var _this;
|
|
61
57
|
|
|
62
|
-
|
|
58
|
+
(0, _classCallCheck2["default"])(this, TableToolbar);
|
|
63
59
|
|
|
64
60
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
65
61
|
args[_key] = arguments[_key];
|
|
66
62
|
}
|
|
67
63
|
|
|
68
|
-
_this =
|
|
69
|
-
|
|
70
|
-
_defineProperty(_assertThisInitialized(_this), "onDone", function (e) {
|
|
64
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
65
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function (e) {
|
|
71
66
|
var onDone = _this.props.onDone;
|
|
72
67
|
e.preventDefault();
|
|
73
68
|
onDone();
|
|
74
69
|
});
|
|
75
|
-
|
|
76
70
|
return _this;
|
|
77
71
|
}
|
|
78
72
|
|
|
79
|
-
|
|
73
|
+
(0, _createClass2["default"])(TableToolbar, [{
|
|
80
74
|
key: "render",
|
|
81
75
|
value: function render() {
|
|
82
76
|
var _this$props = this.props,
|
|
@@ -92,42 +86,40 @@ function (_React$Component) {
|
|
|
92
86
|
hasBorder = _this$props.hasBorder,
|
|
93
87
|
classes = _this$props.classes;
|
|
94
88
|
log('[render] hasBorder:', hasBorder);
|
|
95
|
-
return _react["default"].createElement("div", {
|
|
89
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
96
90
|
className: classes.tableToolbar
|
|
97
|
-
}, _react["default"].createElement("div", {
|
|
91
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
98
92
|
className: classes.toolbarButtons
|
|
99
|
-
}, _react["default"].createElement(_toolbarButtons.Button, {
|
|
93
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
100
94
|
onClick: onAddRow
|
|
101
|
-
}, _react["default"].createElement(_icons.AddRow, null)), _react["default"].createElement(_toolbarButtons.Button, {
|
|
95
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons.AddRow, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
102
96
|
onClick: onRemoveRow
|
|
103
|
-
}, _react["default"].createElement(_icons.RemoveRow, null)), _react["default"].createElement(_toolbarButtons.Button, {
|
|
97
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons.RemoveRow, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
104
98
|
onClick: onAddColumn
|
|
105
|
-
}, _react["default"].createElement(_icons.AddColumn, null)), _react["default"].createElement(_toolbarButtons.Button, {
|
|
99
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons.AddColumn, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
106
100
|
onClick: onRemoveColumn
|
|
107
|
-
}, _react["default"].createElement(_icons.RemoveColumn, null)), _react["default"].createElement(_toolbarButtons.Button, {
|
|
101
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons.RemoveColumn, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
108
102
|
onClick: onRemoveTable
|
|
109
|
-
}, _react["default"].createElement(_icons.RemoveTable, null)), plugins.map(function (p, index) {
|
|
110
|
-
return _react["default"].createElement(_defaultToolbar.ToolbarButton,
|
|
103
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons.RemoveTable, null)), plugins.map(function (p, index) {
|
|
104
|
+
return /*#__PURE__*/_react["default"].createElement(_defaultToolbar.ToolbarButton, (0, _extends2["default"])({
|
|
111
105
|
key: "plugin-".concat(index)
|
|
112
106
|
}, p.toolbar, {
|
|
113
107
|
value: value,
|
|
114
108
|
onChange: onChange
|
|
115
109
|
}));
|
|
116
|
-
}), _react["default"].createElement(_toolbarButtons.Button, {
|
|
110
|
+
}), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
117
111
|
onClick: onToggleBorder,
|
|
118
112
|
active: hasBorder
|
|
119
|
-
}, _react["default"].createElement(_BorderAll["default"], null))), _react["default"].createElement(_doneButton.DoneButton, {
|
|
113
|
+
}, /*#__PURE__*/_react["default"].createElement(_BorderAll["default"], null))), /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
|
|
120
114
|
onClick: this.onDone
|
|
121
115
|
}));
|
|
122
116
|
}
|
|
123
117
|
}]);
|
|
124
|
-
|
|
125
118
|
return TableToolbar;
|
|
126
119
|
}(_react["default"].Component);
|
|
127
120
|
|
|
128
121
|
exports.TableToolbar = TableToolbar;
|
|
129
|
-
|
|
130
|
-
_defineProperty(TableToolbar, "propTypes", {
|
|
122
|
+
(0, _defineProperty2["default"])(TableToolbar, "propTypes", {
|
|
131
123
|
plugins: _propTypes["default"].array.isRequired,
|
|
132
124
|
value: _propTypes["default"].object.isRequired,
|
|
133
125
|
onChange: _propTypes["default"].func.isRequired,
|
|
@@ -141,8 +133,7 @@ _defineProperty(TableToolbar, "propTypes", {
|
|
|
141
133
|
onDone: _propTypes["default"].func.isRequired,
|
|
142
134
|
classes: _propTypes["default"].object.isRequired
|
|
143
135
|
});
|
|
144
|
-
|
|
145
|
-
_defineProperty(TableToolbar, "defaultProps", {
|
|
136
|
+
(0, _defineProperty2["default"])(TableToolbar, "defaultProps", {
|
|
146
137
|
plugins: [],
|
|
147
138
|
value: {},
|
|
148
139
|
onChange: function onChange() {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"table-toolbar.js","names":["log","debug","TableToolbar","e","onDone","props","preventDefault","plugins","value","onChange","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","hasBorder","classes","tableToolbar","toolbarButtons","map","p","index","toolbar","React","Component","PropTypes","array","isRequired","object","func","bool","styles","width","display","justifyContent","withStyles"],"sources":["../../../src/plugins/table/table-toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Button } from '../toolbar/toolbar-buttons';\nimport { DoneButton } from '../toolbar/done-button';\nimport BorderAll from '@material-ui/icons/BorderAll';\nimport { ToolbarButton } from '../toolbar/default-toolbar';\n\nimport { AddRow, AddColumn, RemoveColumn, RemoveRow, RemoveTable } from './icons';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:table-toolbar');\n\nexport class TableToolbar extends React.Component {\n static propTypes = {\n plugins: PropTypes.array.isRequired,\n value: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onAddRow: PropTypes.func.isRequired,\n onRemoveRow: PropTypes.func.isRequired,\n onAddColumn: PropTypes.func.isRequired,\n onRemoveColumn: PropTypes.func.isRequired,\n onRemoveTable: PropTypes.func.isRequired,\n onToggleBorder: PropTypes.func.isRequired,\n hasBorder: PropTypes.bool,\n onDone: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired\n };\n\n static defaultProps = {\n plugins: [],\n value: {},\n onChange: () => {}\n };\n\n onDone = e => {\n const { onDone } = this.props;\n e.preventDefault();\n onDone();\n };\n\n render() {\n const {\n plugins,\n value,\n onChange,\n onAddRow,\n onRemoveRow,\n onAddColumn,\n onRemoveColumn,\n onRemoveTable,\n onToggleBorder,\n hasBorder,\n classes\n } = this.props;\n log('[render] hasBorder:', hasBorder);\n\n return (\n <div className={classes.tableToolbar}>\n <div className={classes.toolbarButtons}>\n <Button onClick={onAddRow}>\n <AddRow />\n </Button>\n <Button onClick={onRemoveRow}>\n <RemoveRow />\n </Button>\n <Button onClick={onAddColumn}>\n <AddColumn />\n </Button>\n <Button onClick={onRemoveColumn}>\n <RemoveColumn />\n </Button>\n <Button onClick={onRemoveTable}>\n <RemoveTable />\n </Button>\n {plugins.map((p, index) => (\n <ToolbarButton\n key={`plugin-${index}`}\n {...p.toolbar}\n value={value}\n onChange={onChange}\n />\n ))}\n <Button onClick={onToggleBorder} active={hasBorder}>\n <BorderAll />\n </Button>\n </div>\n <DoneButton onClick={this.onDone} />\n </div>\n );\n }\n}\n\nconst styles = () => ({\n tableToolbar: {\n width: '100%',\n display: 'flex',\n justifyContent: 'space-between'\n },\n toolbarButtons: {\n display: 'flex'\n }\n});\nexport default withStyles(styles)(TableToolbar);\n"],"mappings":"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"}
|