@atlaskit/editor-core 98.0.3 → 98.1.2
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.md +15 -0
- package/dist/es2015/analytics/trackAndInvoke.d.ts +1 -1
- package/dist/es2015/analytics/trackAndInvoke.js +1 -1
- package/dist/es2015/plugins/media/nodeviews/mediaSingle.d.ts +11 -7
- package/dist/es2015/plugins/media/nodeviews/mediaSingle.js +14 -23
- package/dist/es2015/plugins/media/nodeviews/mediaSingle.js.map +1 -1
- package/dist/es2015/plugins/media/pm-plugins/main.js +1 -6
- package/dist/es2015/plugins/media/pm-plugins/main.js.map +1 -1
- package/dist/es2015/plugins/media/ui/ResizableMediaSingle/Resizer.d.ts +3 -7
- package/dist/es2015/plugins/media/ui/ResizableMediaSingle/Resizer.js +5 -50
- package/dist/es2015/plugins/media/ui/ResizableMediaSingle/Resizer.js.map +1 -1
- package/dist/es2015/plugins/media/ui/ResizableMediaSingle/index.d.ts +11 -3
- package/dist/es2015/plugins/media/ui/ResizableMediaSingle/index.js +75 -44
- package/dist/es2015/plugins/media/ui/ResizableMediaSingle/index.js.map +1 -1
- package/dist/es2015/plugins/media/ui/ResizableMediaSingle/types.d.ts +3 -1
- package/dist/es2015/plugins/media/ui/ResizableMediaSingle/utils.d.ts +7 -0
- package/dist/es2015/plugins/media/ui/ResizableMediaSingle/utils.js +19 -0
- package/dist/es2015/plugins/media/ui/ResizableMediaSingle/utils.js.map +1 -0
- package/dist/es2015/plugins/media/utils/media-files.d.ts +14 -2
- package/dist/es2015/plugins/media/utils/media-files.js +95 -24
- package/dist/es2015/plugins/media/utils/media-files.js.map +1 -1
- package/dist/es2015/utils/document.d.ts +7 -1
- package/dist/es2015/utils/document.js +20 -0
- package/dist/es2015/utils/document.js.map +1 -1
- package/dist/es5/analytics/trackAndInvoke.d.ts +1 -1
- package/dist/es5/analytics/trackAndInvoke.js +1 -1
- package/dist/es5/plugins/media/nodeviews/mediaSingle.d.ts +11 -7
- package/dist/es5/plugins/media/nodeviews/mediaSingle.js +14 -23
- package/dist/es5/plugins/media/nodeviews/mediaSingle.js.map +1 -1
- package/dist/es5/plugins/media/pm-plugins/main.js +0 -5
- package/dist/es5/plugins/media/pm-plugins/main.js.map +1 -1
- package/dist/es5/plugins/media/ui/ResizableMediaSingle/Resizer.d.ts +3 -7
- package/dist/es5/plugins/media/ui/ResizableMediaSingle/Resizer.js +7 -52
- package/dist/es5/plugins/media/ui/ResizableMediaSingle/Resizer.js.map +1 -1
- package/dist/es5/plugins/media/ui/ResizableMediaSingle/index.d.ts +11 -3
- package/dist/es5/plugins/media/ui/ResizableMediaSingle/index.js +76 -45
- package/dist/es5/plugins/media/ui/ResizableMediaSingle/index.js.map +1 -1
- package/dist/es5/plugins/media/ui/ResizableMediaSingle/types.d.ts +3 -1
- package/dist/es5/plugins/media/ui/ResizableMediaSingle/utils.d.ts +7 -0
- package/dist/es5/plugins/media/ui/ResizableMediaSingle/utils.js +21 -0
- package/dist/es5/plugins/media/ui/ResizableMediaSingle/utils.js.map +1 -0
- package/dist/es5/plugins/media/utils/media-files.d.ts +14 -2
- package/dist/es5/plugins/media/utils/media-files.js +93 -22
- package/dist/es5/plugins/media/utils/media-files.js.map +1 -1
- package/dist/es5/utils/document.d.ts +7 -1
- package/dist/es5/utils/document.js +20 -0
- package/dist/es5/utils/document.js.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +10 -10
|
@@ -3,16 +3,14 @@ import * as React from 'react';
|
|
|
3
3
|
import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
|
|
4
4
|
import { akEditorWideLayoutWidth, calcPxFromColumns, calcPctFromPx, calcPxFromPct, akEditorBreakoutPadding, calcColumnsFromPx, breakoutWideScaleRatio, } from '@atlaskit/editor-common';
|
|
5
5
|
import { Wrapper } from './styled';
|
|
6
|
-
import Resizer
|
|
7
|
-
|
|
8
|
-
left: 'start',
|
|
9
|
-
right: 'end',
|
|
10
|
-
};
|
|
6
|
+
import Resizer from './Resizer';
|
|
7
|
+
import { snapTo, handleSides, imageAlignmentMap, alignmentLayouts, } from './utils';
|
|
11
8
|
var ResizableMediaSingle = /** @class */ (function (_super) {
|
|
12
9
|
tslib_1.__extends(ResizableMediaSingle, _super);
|
|
13
10
|
function ResizableMediaSingle() {
|
|
14
11
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
15
12
|
_this.state = {
|
|
13
|
+
offsetLeft: _this.calcOffsetLeft(),
|
|
16
14
|
// We default to true until we resolve the file type
|
|
17
15
|
isVideoFile: true,
|
|
18
16
|
};
|
|
@@ -41,14 +39,44 @@ var ResizableMediaSingle = /** @class */ (function (_super) {
|
|
|
41
39
|
};
|
|
42
40
|
}
|
|
43
41
|
};
|
|
44
|
-
_this.
|
|
45
|
-
var offsetLeft = _this.
|
|
42
|
+
_this.calcColumnLeftOffset = function () {
|
|
43
|
+
var offsetLeft = _this.state.offsetLeft;
|
|
46
44
|
return _this.insideInlineLike
|
|
47
|
-
?
|
|
45
|
+
? calcColumnsFromPx(offsetLeft, _this.props.lineLength, _this.props.gridSize)
|
|
48
46
|
: 0;
|
|
49
47
|
};
|
|
48
|
+
_this.highlights = function (newWidth, snapPoints) {
|
|
49
|
+
var snapWidth = snapTo(newWidth, snapPoints);
|
|
50
|
+
if (snapWidth > akEditorWideLayoutWidth) {
|
|
51
|
+
return ['full-width'];
|
|
52
|
+
}
|
|
53
|
+
var _a = _this.props, layout = _a.layout, lineLength = _a.lineLength, gridSize = _a.gridSize;
|
|
54
|
+
var columns = calcColumnsFromPx(snapWidth, lineLength, gridSize);
|
|
55
|
+
var columnWidth = Math.round(columns);
|
|
56
|
+
var highlight = [];
|
|
57
|
+
if (layout === 'wrap-left' || layout === 'align-start') {
|
|
58
|
+
highlight.push(0, columnWidth);
|
|
59
|
+
}
|
|
60
|
+
else if (layout === 'wrap-right' || layout === 'align-end') {
|
|
61
|
+
highlight.push(gridSize, gridSize - columnWidth);
|
|
62
|
+
}
|
|
63
|
+
else if (_this.insideInlineLike) {
|
|
64
|
+
highlight.push(Math.round(columns + _this.calcColumnLeftOffset()));
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
highlight.push(Math.floor((gridSize - columnWidth) / 2), Math.ceil((gridSize + columnWidth) / 2));
|
|
68
|
+
}
|
|
69
|
+
return highlight;
|
|
70
|
+
};
|
|
50
71
|
return _this;
|
|
51
72
|
}
|
|
73
|
+
ResizableMediaSingle.prototype.componentDidUpdate = function () {
|
|
74
|
+
var offsetLeft = this.calcOffsetLeft();
|
|
75
|
+
if (offsetLeft !== this.state.offsetLeft && offsetLeft >= 0) {
|
|
76
|
+
this.setState({ offsetLeft: offsetLeft });
|
|
77
|
+
}
|
|
78
|
+
return true;
|
|
79
|
+
};
|
|
52
80
|
Object.defineProperty(ResizableMediaSingle.prototype, "wrappedLayout", {
|
|
53
81
|
get: function () {
|
|
54
82
|
var layout = this.props.layout;
|
|
@@ -96,7 +124,8 @@ var ResizableMediaSingle = /** @class */ (function (_super) {
|
|
|
96
124
|
if (Number.isNaN(pos) || typeof pos !== 'number') {
|
|
97
125
|
return null;
|
|
98
126
|
}
|
|
99
|
-
|
|
127
|
+
// need to pass view because we may not get updated props in time
|
|
128
|
+
return this.props.view.state.doc.resolve(pos);
|
|
100
129
|
},
|
|
101
130
|
enumerable: true,
|
|
102
131
|
configurable: true
|
|
@@ -118,7 +147,7 @@ var ResizableMediaSingle = /** @class */ (function (_super) {
|
|
|
118
147
|
var offsetLeft = 0;
|
|
119
148
|
if (this.wrapper && this.insideInlineLike) {
|
|
120
149
|
var currentNode = this.wrapper;
|
|
121
|
-
var pm =
|
|
150
|
+
var pm = this.props.view.dom;
|
|
122
151
|
while (currentNode &&
|
|
123
152
|
currentNode.parentElement &&
|
|
124
153
|
!currentNode.parentElement.classList.contains('ProseMirror') &&
|
|
@@ -130,46 +159,42 @@ var ResizableMediaSingle = /** @class */ (function (_super) {
|
|
|
130
159
|
}
|
|
131
160
|
return offsetLeft;
|
|
132
161
|
};
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
if (!$pos) {
|
|
147
|
-
return snapPoints;
|
|
148
|
-
}
|
|
149
|
-
var isVideoFile = this.state.isVideoFile;
|
|
150
|
-
snapPoints = isVideoFile
|
|
151
|
-
? snapPoints.filter(function (width) { return width > 320; })
|
|
152
|
-
: snapPoints;
|
|
153
|
-
var isTopLevel = $pos.parent.type.name === 'doc';
|
|
154
|
-
if (isTopLevel && appearance === 'full-page') {
|
|
155
|
-
snapPoints.push(akEditorWideLayoutWidth);
|
|
156
|
-
var fullWidthPoint = containerWidth - akEditorBreakoutPadding;
|
|
157
|
-
if (fullWidthPoint > akEditorWideLayoutWidth) {
|
|
158
|
-
snapPoints.push(fullWidthPoint);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
162
|
+
ResizableMediaSingle.prototype.calcSnapPoints = function () {
|
|
163
|
+
var offsetLeft = this.state.offsetLeft;
|
|
164
|
+
var _a = this.props, containerWidth = _a.containerWidth, lineLength = _a.lineLength, appearance = _a.appearance;
|
|
165
|
+
var snapTargets = [];
|
|
166
|
+
for (var i = 0; i < this.gridWidth; i++) {
|
|
167
|
+
snapTargets.push(calcPxFromColumns(i, lineLength, this.gridWidth) - offsetLeft);
|
|
168
|
+
}
|
|
169
|
+
// full width
|
|
170
|
+
snapTargets.push(lineLength - offsetLeft);
|
|
171
|
+
var minimumWidth = calcPxFromColumns(this.wrappedLayout || this.insideInlineLike ? 1 : 2, lineLength, this.props.gridSize);
|
|
172
|
+
var snapPoints = snapTargets.filter(function (width) { return width >= minimumWidth; });
|
|
173
|
+
var $pos = this.$pos;
|
|
174
|
+
if (!$pos) {
|
|
161
175
|
return snapPoints;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
176
|
+
}
|
|
177
|
+
var isVideoFile = this.state.isVideoFile;
|
|
178
|
+
snapPoints = isVideoFile
|
|
179
|
+
? snapPoints.filter(function (width) { return width > 320; })
|
|
180
|
+
: snapPoints;
|
|
181
|
+
var isTopLevel = $pos.parent.type.name === 'doc';
|
|
182
|
+
if (isTopLevel && appearance === 'full-page') {
|
|
183
|
+
snapPoints.push(akEditorWideLayoutWidth);
|
|
184
|
+
var fullWidthPoint = containerWidth - akEditorBreakoutPadding;
|
|
185
|
+
if (fullWidthPoint > akEditorWideLayoutWidth) {
|
|
186
|
+
snapPoints.push(fullWidthPoint);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return snapPoints;
|
|
190
|
+
};
|
|
166
191
|
Object.defineProperty(ResizableMediaSingle.prototype, "insideInlineLike", {
|
|
167
192
|
get: function () {
|
|
168
193
|
var $pos = this.$pos;
|
|
169
194
|
if (!$pos) {
|
|
170
195
|
return false;
|
|
171
196
|
}
|
|
172
|
-
var _a = this.props.state.schema.nodes, table = _a.table, listItem = _a.listItem;
|
|
197
|
+
var _a = this.props.view.state.schema.nodes, table = _a.table, listItem = _a.listItem;
|
|
173
198
|
return !!findParentNodeOfTypeClosestToPos($pos, [table, listItem]);
|
|
174
199
|
},
|
|
175
200
|
enumerable: true,
|
|
@@ -189,6 +214,12 @@ var ResizableMediaSingle = /** @class */ (function (_super) {
|
|
|
189
214
|
else if (pctWidth && origWidth && origHeight) {
|
|
190
215
|
pxWidth = Math.ceil(calcPxFromPct(pctWidth / 100, lineLength || containerWidth));
|
|
191
216
|
}
|
|
217
|
+
else if (layout === 'center') {
|
|
218
|
+
pxWidth = Math.min(origWidth, lineLength);
|
|
219
|
+
}
|
|
220
|
+
else if (alignmentLayouts.indexOf(layout) !== -1) {
|
|
221
|
+
pxWidth = Math.min(origWidth / 2, lineLength);
|
|
222
|
+
}
|
|
192
223
|
// scale, keeping aspect ratio
|
|
193
224
|
var height = (origHeight / origWidth) * pxWidth;
|
|
194
225
|
var width = pxWidth;
|
|
@@ -205,7 +236,7 @@ var ResizableMediaSingle = /** @class */ (function (_super) {
|
|
|
205
236
|
}
|
|
206
237
|
});
|
|
207
238
|
return (React.createElement(Wrapper, { width: width, height: height, layout: layout, containerWidth: containerWidth || origWidth, innerRef: function (elem) { return (_this.wrapper = elem); } },
|
|
208
|
-
React.createElement(Resizer, tslib_1.__assign({}, this.props, { width: width, height: height, selected: this.props.selected, enable: enable, calcNewSize: this.calcNewSize, snapPoints: this.
|
|
239
|
+
React.createElement(Resizer, tslib_1.__assign({}, this.props, { width: width, height: height, selected: this.props.selected, enable: enable, calcNewSize: this.calcNewSize, snapPoints: this.calcSnapPoints(), scaleFactor: !this.wrappedLayout && !this.insideInlineLike ? 2 : 1, highlights: this.highlights }), this.props.children)));
|
|
209
240
|
};
|
|
210
241
|
return ResizableMediaSingle;
|
|
211
242
|
}(React.Component));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/plugins/media/ui/ResizableMediaSingle/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/plugins/media/ui/ResizableMediaSingle/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { MediaSingleLayout } from '@atlaskit/adf-schema';
|
|
2
2
|
import { MediaSingleProps } from '@atlaskit/editor-common';
|
|
3
|
-
import { EditorState } from 'prosemirror-state';
|
|
4
3
|
import { EditorAppearance } from '../../../../types';
|
|
5
4
|
import { GridType } from '../../../grid/types';
|
|
6
5
|
import { MediaProvider } from '../../types';
|
|
6
|
+
import { EditorView } from 'prosemirror-view';
|
|
7
|
+
import { EditorState } from 'prosemirror-state';
|
|
7
8
|
export declare type EnabledHandles = {
|
|
8
9
|
left?: boolean;
|
|
9
10
|
right?: boolean;
|
|
@@ -12,6 +13,7 @@ export declare type Props = MediaSingleProps & {
|
|
|
12
13
|
updateSize: (width: number | null, layout: MediaSingleLayout) => void;
|
|
13
14
|
displayGrid: (show: boolean, type: GridType, highlight?: number[] | string[]) => void;
|
|
14
15
|
getPos: () => number | undefined;
|
|
16
|
+
view: EditorView;
|
|
15
17
|
state: EditorState;
|
|
16
18
|
lineLength: number;
|
|
17
19
|
gridSize: number;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export var snapTo = function (target, points) {
|
|
2
|
+
return points.reduce(function (point, closest) {
|
|
3
|
+
return Math.abs(closest - target) < Math.abs(point - target)
|
|
4
|
+
? closest
|
|
5
|
+
: point;
|
|
6
|
+
});
|
|
7
|
+
};
|
|
8
|
+
export var handleSides = ['left', 'right'];
|
|
9
|
+
export var alignmentLayouts = [
|
|
10
|
+
'align-start',
|
|
11
|
+
'align-end',
|
|
12
|
+
'wrap-left',
|
|
13
|
+
'wrap-right',
|
|
14
|
+
];
|
|
15
|
+
export var imageAlignmentMap = {
|
|
16
|
+
left: 'start',
|
|
17
|
+
right: 'end',
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/plugins/media/ui/ResizableMediaSingle/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,MAAM,GAAG,UAAC,MAAc,EAAE,MAAgB;IACrD,OAAA,MAAM,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,OAAO;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC;YAC1D,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC;AAJF,CAIE,CAAC;AAEL,MAAM,CAAC,IAAM,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,MAAM,CAAC,IAAM,gBAAgB,GAAG;IAC9B,aAAa;IACb,WAAW;IACX,WAAW;IACX,YAAY;CACb,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;CACb,CAAC"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EditorState } from 'prosemirror-state';
|
|
2
2
|
import { EditorView } from 'prosemirror-view';
|
|
3
3
|
import { MediaState } from '../types';
|
|
4
4
|
export interface Range {
|
|
5
5
|
start: number;
|
|
6
6
|
end: number;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Insert a media into an existing media group
|
|
10
|
+
* or create a new media group to insert the new media.
|
|
11
|
+
* @param view Editor view
|
|
12
|
+
* @param mediaStates Media files to be added to the editor
|
|
13
|
+
* @param collection Collection for the media to be added
|
|
14
|
+
*/
|
|
8
15
|
export declare const insertMediaGroupNode: (view: EditorView<any>, mediaStates: MediaState[], collection?: string | undefined) => void;
|
|
9
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Return position of media to be inserted, if it is inside a list
|
|
18
|
+
* @param content Content to be inserted
|
|
19
|
+
* @param state Editor State
|
|
20
|
+
*/
|
|
21
|
+
export declare const getPosInList: (state: EditorState<any>) => number | undefined;
|
|
@@ -1,13 +1,54 @@
|
|
|
1
1
|
import { Fragment } from 'prosemirror-model';
|
|
2
|
-
import { atTheEndOfDoc, atTheEndOfBlock, atTheBeginningOfBlock, endPositionOfParent, startPositionOfParent, setNodeSelection, setTextSelection, insideTableCell, isInListItem, } from '../../../utils';
|
|
2
|
+
import { atTheEndOfDoc, atTheEndOfBlock, atTheBeginningOfBlock, endPositionOfParent, startPositionOfParent, setNodeSelection, setTextSelection, insideTableCell, isInListItem, findFarthestParentNode, } from '../../../utils';
|
|
3
3
|
import { posOfPrecedingMediaGroup, posOfMediaGroupNearby, posOfParentMediaGroup, isSelectionNonMediaBlockNode, isInsidePotentialEmptyParagraph, copyOptionalAttrsFromMediaState, } from './media-common';
|
|
4
|
-
import { safeInsert } from 'prosemirror-utils';
|
|
5
|
-
/**
|
|
6
|
-
|
|
4
|
+
import { safeInsert, hasParentNode, } from 'prosemirror-utils';
|
|
5
|
+
/**
|
|
6
|
+
* Check if current editor selections is a media group or not.
|
|
7
|
+
* @param state Editor state
|
|
8
|
+
*/
|
|
9
|
+
function isSelectionMediaGroup(state) {
|
|
10
|
+
var schema = state.schema;
|
|
11
|
+
var selectionParent = state.selection.$anchor.node();
|
|
12
|
+
return selectionParent && selectionParent.type === schema.nodes.mediaGroup;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Check if grand parent accepts media group
|
|
16
|
+
* @param state Editor state
|
|
17
|
+
* @param mediaNodes Media nodes to be inserted
|
|
18
|
+
*/
|
|
19
|
+
function grandParentAcceptMediaGroup(state, mediaNodes) {
|
|
20
|
+
var grandParent = state.selection.$from.node(-1);
|
|
21
|
+
return (grandParent &&
|
|
22
|
+
grandParent.type.validContent(Fragment.from(state.schema.nodes.mediaGroup.createChecked({}, mediaNodes))));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Insert a paragraph after if reach the end of doc
|
|
26
|
+
* and there is no media group in the front or selection is a non media block node
|
|
27
|
+
* @param node Node at insertion point
|
|
28
|
+
* @param state Editor state
|
|
29
|
+
*/
|
|
30
|
+
function shouldAppendParagraph(state, node) {
|
|
31
|
+
var media = state.schema.nodes.media;
|
|
32
|
+
var wasMediaNode = node && node.type === media;
|
|
33
|
+
return ((insideTableCell(state) ||
|
|
34
|
+
isInListItem(state) ||
|
|
35
|
+
(atTheEndOfDoc(state) &&
|
|
36
|
+
(!posOfPrecedingMediaGroup(state) ||
|
|
37
|
+
isSelectionNonMediaBlockNode(state)))) &&
|
|
38
|
+
!wasMediaNode);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Insert a media into an existing media group
|
|
42
|
+
* or create a new media group to insert the new media.
|
|
43
|
+
* @param view Editor view
|
|
44
|
+
* @param mediaStates Media files to be added to the editor
|
|
45
|
+
* @param collection Collection for the media to be added
|
|
46
|
+
*/
|
|
7
47
|
export var insertMediaGroupNode = function (view, mediaStates, collection) {
|
|
8
48
|
var state = view.state, dispatch = view.dispatch;
|
|
9
49
|
var tr = state.tr, schema = state.schema;
|
|
10
50
|
var _a = schema.nodes, media = _a.media, paragraph = _a.paragraph;
|
|
51
|
+
// Do nothing if no media found
|
|
11
52
|
if (!collection || !media || !mediaStates.length) {
|
|
12
53
|
return;
|
|
13
54
|
}
|
|
@@ -16,26 +57,15 @@ export var insertMediaGroupNode = function (view, mediaStates, collection) {
|
|
|
16
57
|
var resolvedInsertPos = tr.doc.resolve(mediaInsertPos);
|
|
17
58
|
var parent = resolvedInsertPos.parent;
|
|
18
59
|
var nodeAtInsertionPoint = tr.doc.nodeAt(mediaInsertPos);
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
selectionParent.type !== schema.nodes.mediaGroup &&
|
|
23
|
-
grandParent &&
|
|
24
|
-
grandParent.type.validContent(Fragment.from(state.schema.nodes.mediaGroup.createChecked({}, mediaNodes)));
|
|
25
|
-
var wasMediaNode = nodeAtInsertionPoint && nodeAtInsertionPoint.type === media;
|
|
26
|
-
// insert a paragraph after if reach the end of doc
|
|
27
|
-
// and there is no media group in the front or selection is a non media block node
|
|
28
|
-
var shouldAppendParagraph = (insideTableCell(state) ||
|
|
29
|
-
isInListItem(state) ||
|
|
30
|
-
(atTheEndOfDoc(state) &&
|
|
31
|
-
(!posOfPrecedingMediaGroup(state) ||
|
|
32
|
-
isSelectionNonMediaBlockNode(state)))) &&
|
|
33
|
-
!wasMediaNode;
|
|
60
|
+
var shouldSplit = !isSelectionMediaGroup(state) &&
|
|
61
|
+
grandParentAcceptMediaGroup(state, mediaNodes);
|
|
62
|
+
var withParagraph = shouldAppendParagraph(state, nodeAtInsertionPoint);
|
|
34
63
|
if (shouldSplit) {
|
|
35
|
-
var content_1 =
|
|
64
|
+
var content_1 = withParagraph
|
|
36
65
|
? mediaNodes.concat(paragraph.create())
|
|
37
66
|
: mediaNodes;
|
|
38
67
|
// delete the selection or empty paragraph
|
|
68
|
+
// delete the selection or empty paragraph
|
|
39
69
|
var deleteRange = findDeleteRange(state);
|
|
40
70
|
if (!deleteRange) {
|
|
41
71
|
tr.insert(mediaInsertPos, content_1);
|
|
@@ -54,7 +84,7 @@ export var insertMediaGroupNode = function (view, mediaStates, collection) {
|
|
|
54
84
|
? mediaNodes // If parent is a mediaGroup do not wrap items again.
|
|
55
85
|
: [schema.nodes.mediaGroup.createChecked({}, mediaNodes)];
|
|
56
86
|
// Don't append new paragraph when adding media to a existing mediaGroup
|
|
57
|
-
if (
|
|
87
|
+
if (withParagraph && parent.type !== schema.nodes.mediaGroup) {
|
|
58
88
|
content.push(paragraph.create());
|
|
59
89
|
}
|
|
60
90
|
dispatch(safeInsert(Fragment.fromArray(content), mediaInsertPos)(tr));
|
|
@@ -73,8 +103,52 @@ var createMediaFileNodes = function (mediaStates, collection, media) {
|
|
|
73
103
|
});
|
|
74
104
|
return nodes;
|
|
75
105
|
};
|
|
106
|
+
/**
|
|
107
|
+
* Find root list node if exist from current selection
|
|
108
|
+
* @param state Editor state
|
|
109
|
+
*/
|
|
110
|
+
var findRootListNode = function (state) {
|
|
111
|
+
var _a = state.schema.nodes, bulletList = _a.bulletList, orderedList = _a.orderedList;
|
|
112
|
+
return findFarthestParentNode(function (node) { return node.type === bulletList || node.type === orderedList; })(state.selection);
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Return position of media to be inserted, if it is inside a list
|
|
116
|
+
* @param content Content to be inserted
|
|
117
|
+
* @param state Editor State
|
|
118
|
+
*/
|
|
119
|
+
export var getPosInList = function (state) {
|
|
120
|
+
var _a = state.schema.nodes, mediaGroup = _a.mediaGroup, listItem = _a.listItem;
|
|
121
|
+
// 1. Check if I am inside a list.
|
|
122
|
+
if (hasParentNode(function (node) { return node.type === listItem; })(state.selection)) {
|
|
123
|
+
// 2. Get end position of root list
|
|
124
|
+
var rootListNode = findRootListNode(state);
|
|
125
|
+
if (rootListNode) {
|
|
126
|
+
var pos = rootListNode.pos + rootListNode.node.nodeSize;
|
|
127
|
+
// 3. Fint the first location inside the media group
|
|
128
|
+
var nextNode = state.doc.nodeAt(pos);
|
|
129
|
+
if (nextNode && nextNode.type === mediaGroup) {
|
|
130
|
+
return pos + 1;
|
|
131
|
+
}
|
|
132
|
+
return pos;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Find insertion point,
|
|
138
|
+
* If it is in a List it will return position to the next block,
|
|
139
|
+
* If there are any media group close it will return this position
|
|
140
|
+
* Otherwise, It will return the respective block given selection.
|
|
141
|
+
* @param content Content to be inserted
|
|
142
|
+
* @param state Editor state
|
|
143
|
+
*/
|
|
76
144
|
var findMediaInsertPos = function (state) {
|
|
77
145
|
var _a = state.selection, $from = _a.$from, $to = _a.$to;
|
|
146
|
+
// Check if selection is inside a list.
|
|
147
|
+
var posInList = getPosInList(state);
|
|
148
|
+
if (posInList) {
|
|
149
|
+
// If I have a position in lists, I should return, otherwise I am not inside a list
|
|
150
|
+
return posInList;
|
|
151
|
+
}
|
|
78
152
|
var nearbyMediaGroupPos = posOfMediaGroupNearby(state);
|
|
79
153
|
if (nearbyMediaGroupPos &&
|
|
80
154
|
(!isSelectionNonMediaBlockNode(state) ||
|
|
@@ -123,7 +197,4 @@ var setSelectionAfterMediaInsertion = function (view, insertPos) {
|
|
|
123
197
|
setTextSelection(view, endOfMediaGroup + 1);
|
|
124
198
|
}
|
|
125
199
|
};
|
|
126
|
-
export var isNonImagesBanned = function (node) {
|
|
127
|
-
return node && nonImagesBannedNodes.indexOf(node.type.name) > -1;
|
|
128
|
-
};
|
|
129
200
|
//# sourceMappingURL=media-files.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-files.js","sourceRoot":"","sources":["../../../../../src/plugins/media/utils/media-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,YAAY,
|
|
1
|
+
{"version":3,"file":"media-files.js","sourceRoot":"","sources":["../../../../../src/plugins/media/utils/media-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Node, Schema } from 'prosemirror-model';
|
|
2
|
-
import { Transaction } from 'prosemirror-state';
|
|
2
|
+
import { Transaction, Selection } from 'prosemirror-state';
|
|
3
|
+
import { ContentNodeWithPos } from 'prosemirror-utils';
|
|
3
4
|
/**
|
|
4
5
|
* Checks if node is an empty paragraph.
|
|
5
6
|
*/
|
|
@@ -21,3 +22,8 @@ export declare const getStepRange: (transaction: Transaction<any>) => {
|
|
|
21
22
|
from: number;
|
|
22
23
|
to: number;
|
|
23
24
|
} | null;
|
|
25
|
+
/**
|
|
26
|
+
* Find the farthest node given a condition
|
|
27
|
+
* @param predicate Function to check the node
|
|
28
|
+
*/
|
|
29
|
+
export declare const findFarthestParentNode: (predicate: (node: Node<any>) => boolean) => (selection: Selection<any>) => ContentNodeWithPos | null;
|
|
@@ -187,4 +187,24 @@ export var getStepRange = function (transaction) {
|
|
|
187
187
|
}
|
|
188
188
|
return null;
|
|
189
189
|
};
|
|
190
|
+
/**
|
|
191
|
+
* Find the farthest node given a condition
|
|
192
|
+
* @param predicate Function to check the node
|
|
193
|
+
*/
|
|
194
|
+
export var findFarthestParentNode = function (predicate) { return function (selection) {
|
|
195
|
+
var $from = selection.$from;
|
|
196
|
+
var candidate = null;
|
|
197
|
+
for (var i = $from.depth; i > 0; i--) {
|
|
198
|
+
var node = $from.node(i);
|
|
199
|
+
if (predicate(node)) {
|
|
200
|
+
candidate = {
|
|
201
|
+
pos: i > 0 ? $from.before(i) : 0,
|
|
202
|
+
start: $from.start(i),
|
|
203
|
+
depth: i,
|
|
204
|
+
node: node,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return candidate;
|
|
209
|
+
}; };
|
|
190
210
|
//# sourceMappingURL=document.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/utils/document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAU,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,SAAS,GAIV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/utils/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* let doSomething = function(a, b) { // ... }
|
|
7
7
|
* doSomething = trackAndInvoke('atlassian.editor.dosomething', doSomething);
|
|
8
8
|
*
|
|
9
|
-
* doSomething(); //
|
|
9
|
+
* doSomething(); // This will send analytics event and call the original function.
|
|
10
10
|
*
|
|
11
11
|
*/
|
|
12
12
|
export default function trackAndInvoke<A, B, C, D, X>(analyticsEventName: string, fn: (a: A, b: B, c?: C, d?: D) => X): (a: A, b: B, c?: C | undefined, d?: D | undefined) => X;
|
|
@@ -9,7 +9,7 @@ var service_1 = require("./service");
|
|
|
9
9
|
* let doSomething = function(a, b) { // ... }
|
|
10
10
|
* doSomething = trackAndInvoke('atlassian.editor.dosomething', doSomething);
|
|
11
11
|
*
|
|
12
|
-
* doSomething(); //
|
|
12
|
+
* doSomething(); // This will send analytics event and call the original function.
|
|
13
13
|
*
|
|
14
14
|
*/
|
|
15
15
|
function trackAndInvoke(analyticsEventName, fn) {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Component } from 'react';
|
|
2
2
|
import { Node as PMNode } from 'prosemirror-model';
|
|
3
|
-
import { EditorView
|
|
3
|
+
import { EditorView } from 'prosemirror-view';
|
|
4
4
|
import { MediaSingleLayout } from '@atlaskit/adf-schema';
|
|
5
5
|
import { CardEvent } from '@atlaskit/media-card';
|
|
6
|
+
import ReactNodeView from '../../../nodeviews/ReactNodeView';
|
|
6
7
|
import { EventDispatcher } from '../../../event-dispatcher';
|
|
7
|
-
import {
|
|
8
|
+
import { MediaProvider } from '../types';
|
|
8
9
|
import { EditorAppearance } from '../../../types';
|
|
9
10
|
export interface MediaSingleNodeProps {
|
|
10
11
|
node: PMNode;
|
|
@@ -20,22 +21,25 @@ export interface MediaSingleNodeProps {
|
|
|
20
21
|
export interface MediaSingleNodeState {
|
|
21
22
|
width?: number;
|
|
22
23
|
height?: number;
|
|
23
|
-
lastMediaStatus?: MediaStateStatus;
|
|
24
24
|
}
|
|
25
25
|
export default class MediaSingleNode extends Component<MediaSingleNodeProps, MediaSingleNodeState> {
|
|
26
26
|
private mediaPluginState;
|
|
27
27
|
state: {
|
|
28
28
|
height: undefined;
|
|
29
29
|
width: undefined;
|
|
30
|
-
lastMediaStatus: undefined;
|
|
31
30
|
};
|
|
32
31
|
constructor(props: any);
|
|
33
|
-
shouldComponentUpdate(nextProps: MediaSingleNodeProps): boolean;
|
|
34
32
|
componentDidUpdate(): void;
|
|
35
33
|
private onExternalImageLoaded;
|
|
36
|
-
private mediaChildHasUpdated;
|
|
37
34
|
selectMediaSingle: ({ event }: CardEvent) => void;
|
|
38
35
|
updateSize: (width: number | null, layout: MediaSingleLayout) => void;
|
|
39
36
|
render(): JSX.Element;
|
|
40
37
|
}
|
|
41
|
-
|
|
38
|
+
declare class MediaSingleNodeView extends ReactNodeView {
|
|
39
|
+
lastOffsetLeft: number;
|
|
40
|
+
render(): JSX.Element;
|
|
41
|
+
createDomRef(): HTMLDivElement | HTMLObjectElement;
|
|
42
|
+
ignoreMutation(): boolean;
|
|
43
|
+
}
|
|
44
|
+
export declare const ReactMediaSingleNode: (portalProviderAPI: any, eventDispatcher: any, editorAppearance: any) => (node: PMNode<any>, view: EditorView<any>, getPos: () => number) => MediaSingleNodeView;
|
|
45
|
+
export {};
|