@modusoperandi/licit 0.14.0 → 0.14.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/dist/EditorCommands.js +1 -7
- package/dist/EditorCommands.js.flow +0 -4
- package/dist/EditorNodes.js +0 -3
- package/dist/EditorNodes.js.flow +0 -3
- package/dist/bom.xml +168 -169
- package/dist/buildEditorPlugins.js +1 -2
- package/dist/buildEditorPlugins.js.flow +0 -2
- package/dist/ui/Editor.js +0 -2
- package/dist/ui/Editor.js.flow +1 -3
- package/dist/ui/EditorToolbarConfig.js +0 -6
- package/dist/ui/EditorToolbarConfig.js.flow +0 -8
- package/package.json +3 -3
- package/src/EditorCommands.js +0 -4
- package/src/EditorNodes.js +0 -3
- package/src/buildEditorPlugins.js +0 -2
- package/src/ui/Editor.js +1 -3
- package/src/ui/EditorToolbarConfig.js +0 -8
- package/dist/ImageFromURLCommand.js +0 -19
- package/dist/ImageFromURLCommand.js.flow +0 -14
- package/dist/ImageNodeSpec.js +0 -109
- package/dist/ImageNodeSpec.js.flow +0 -90
- package/dist/ImageSourceCommand.js +0 -117
- package/dist/ImageSourceCommand.js.flow +0 -117
- package/dist/ImageUploadCommand.js +0 -49
- package/dist/ImageUploadCommand.js.flow +0 -36
- package/dist/ui/ImageAlignEditor.js +0 -71
- package/dist/ui/ImageAlignEditor.js.flow +0 -60
- package/dist/ui/ImageNodeView.js +0 -403
- package/dist/ui/ImageNodeView.js.flow +0 -404
- package/dist/ui/ImageResizeBox.js +0 -206
- package/dist/ui/ImageResizeBox.js.flow +0 -219
- package/dist/ui/ImageURLEditor.js +0 -108
- package/dist/ui/ImageURLEditor.js.flow +0 -119
- package/dist/ui/ImageUploadEditor.js +0 -123
- package/dist/ui/ImageUploadEditor.js.flow +0 -117
- package/package-lock.json.old +0 -32889
- package/src/ImageFromURLCommand.js +0 -14
- package/src/ImageNodeSpec.js +0 -90
- package/src/ImageSourceCommand.js +0 -117
- package/src/ImageUploadCommand.js +0 -36
- package/src/ui/ImageAlignEditor.js +0 -60
- package/src/ui/ImageNodeView.js +0 -404
- package/src/ui/ImageResizeBox.js +0 -219
- package/src/ui/ImageURLEditor.js +0 -119
- package/src/ui/ImageUploadEditor.js +0 -117
package/src/ui/ImageURLEditor.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import PropTypes from 'prop-types';
|
|
5
|
-
|
|
6
|
-
import { CustomButton } from '@modusoperandi/licit-ui-commands';
|
|
7
|
-
import { preventEventDefault } from '@modusoperandi/licit-ui-commands';
|
|
8
|
-
import resolveImage from './resolveImage';
|
|
9
|
-
|
|
10
|
-
import './czi-form.css';
|
|
11
|
-
import './czi-image-url-editor.css';
|
|
12
|
-
|
|
13
|
-
class ImageURLEditor extends React.PureComponent<any, any> {
|
|
14
|
-
_img = null;
|
|
15
|
-
_unmounted = false;
|
|
16
|
-
|
|
17
|
-
// [FS] IRAD-1005 2020-07-07
|
|
18
|
-
// Upgrade outdated packages.
|
|
19
|
-
// To take care of the property type declaration.
|
|
20
|
-
static propsTypes = {
|
|
21
|
-
initialValue: PropTypes.object,
|
|
22
|
-
close: function (props: any, propName: string) {
|
|
23
|
-
const fn = props[propName];
|
|
24
|
-
if (
|
|
25
|
-
!fn.prototype ||
|
|
26
|
-
(typeof fn.prototype.constructor !== 'function' &&
|
|
27
|
-
fn.prototype.constructor.length !== 1)
|
|
28
|
-
) {
|
|
29
|
-
return new Error(
|
|
30
|
-
propName + 'must be a function with 1 arg of type ImageLike'
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
return null;
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
state = {
|
|
38
|
-
...(this.props.initialValue || {}),
|
|
39
|
-
validValue: null,
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
componentWillUnmount(): void {
|
|
43
|
-
this._unmounted = true;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
render(): React.Element<any> {
|
|
47
|
-
const { src, validValue } = this.state;
|
|
48
|
-
const preview = validValue ? (
|
|
49
|
-
<div
|
|
50
|
-
className="czi-image-url-editor-input-preview"
|
|
51
|
-
style={{ backgroundImage: `url(${String(validValue.src)}` }}
|
|
52
|
-
/>
|
|
53
|
-
) : null;
|
|
54
|
-
|
|
55
|
-
return (
|
|
56
|
-
<div className="czi-image-url-editor">
|
|
57
|
-
<form className="czi-form" onSubmit={preventEventDefault}>
|
|
58
|
-
<fieldset>
|
|
59
|
-
<legend>Insert Image</legend>
|
|
60
|
-
<div className="czi-image-url-editor-src-input-row">
|
|
61
|
-
<input
|
|
62
|
-
autoFocus={true}
|
|
63
|
-
className="czi-image-url-editor-src-input"
|
|
64
|
-
onChange={this._onSrcChange}
|
|
65
|
-
placeholder="Paste URL of Image..."
|
|
66
|
-
type="text"
|
|
67
|
-
value={src || ''}
|
|
68
|
-
/>
|
|
69
|
-
{preview}
|
|
70
|
-
</div>
|
|
71
|
-
<em>
|
|
72
|
-
Only select image that you have confirmed the license to use
|
|
73
|
-
</em>
|
|
74
|
-
</fieldset>
|
|
75
|
-
<div className="czi-form-buttons">
|
|
76
|
-
<CustomButton label="Cancel" onClick={this._cancel} />
|
|
77
|
-
<CustomButton
|
|
78
|
-
active={!!validValue}
|
|
79
|
-
disabled={!validValue}
|
|
80
|
-
label="Insert"
|
|
81
|
-
onClick={this._insert}
|
|
82
|
-
/>
|
|
83
|
-
</div>
|
|
84
|
-
</form>
|
|
85
|
-
</div>
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
_onSrcChange = (e: SyntheticInputEvent<>) => {
|
|
90
|
-
const src = e.target.value;
|
|
91
|
-
this.setState(
|
|
92
|
-
{
|
|
93
|
-
src,
|
|
94
|
-
validValue: null,
|
|
95
|
-
},
|
|
96
|
-
this._didSrcChange
|
|
97
|
-
);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
_didSrcChange = (): void => {
|
|
101
|
-
resolveImage(this.state.src).then((result) => {
|
|
102
|
-
if (this.state.src === result.src && !this._unmounted) {
|
|
103
|
-
const validValue = result.complete ? result : null;
|
|
104
|
-
this.setState({ validValue });
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
_cancel = (): void => {
|
|
110
|
-
this.props.close();
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
_insert = (): void => {
|
|
114
|
-
const { validValue } = this.state;
|
|
115
|
-
this.props.close(validValue);
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export default ImageURLEditor;
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
|
|
6
|
-
import { CustomButton } from '@modusoperandi/licit-ui-commands';
|
|
7
|
-
import LoadingIndicator from './LoadingIndicator';
|
|
8
|
-
import { preventEventDefault } from '@modusoperandi/licit-ui-commands';
|
|
9
|
-
import uuid from './uuid';
|
|
10
|
-
|
|
11
|
-
import './czi-form.css';
|
|
12
|
-
import './czi-image-upload-editor.css';
|
|
13
|
-
|
|
14
|
-
import type { EditorRuntime, ImageLike } from '../Types';
|
|
15
|
-
|
|
16
|
-
class ImageUploadEditor extends React.PureComponent<any, any> {
|
|
17
|
-
_img = null;
|
|
18
|
-
_unmounted = false;
|
|
19
|
-
|
|
20
|
-
props: {
|
|
21
|
-
runtime: ?EditorRuntime,
|
|
22
|
-
close: (val: ?ImageLike) => void,
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
state = {
|
|
26
|
-
error: null,
|
|
27
|
-
id: uuid(),
|
|
28
|
-
pending: false,
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
componentWillUnmount(): void {
|
|
32
|
-
this._unmounted = true;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
render(): React.Element<any> {
|
|
36
|
-
const { id, error, pending } = this.state;
|
|
37
|
-
const className = cx('czi-image-upload-editor', { pending, error });
|
|
38
|
-
let label = 'Choose an image file...';
|
|
39
|
-
|
|
40
|
-
if (pending) {
|
|
41
|
-
label = <LoadingIndicator />;
|
|
42
|
-
} else if (error) {
|
|
43
|
-
label = 'Something went wrong, please try again';
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return (
|
|
47
|
-
<div className={className}>
|
|
48
|
-
<form className="czi-form" onSubmit={preventEventDefault}>
|
|
49
|
-
<fieldset>
|
|
50
|
-
<legend>Upload Image</legend>
|
|
51
|
-
<div className="czi-image-upload-editor-body">
|
|
52
|
-
<div className="czi-image-upload-editor-label">{label}</div>
|
|
53
|
-
<input
|
|
54
|
-
accept="image/png,image/gif,image/jpeg,image/jpg"
|
|
55
|
-
className="czi-image-upload-editor-input"
|
|
56
|
-
disabled={pending}
|
|
57
|
-
id={id}
|
|
58
|
-
key={id}
|
|
59
|
-
onChange={this._onSelectFile}
|
|
60
|
-
type="file"
|
|
61
|
-
/>
|
|
62
|
-
</div>
|
|
63
|
-
</fieldset>
|
|
64
|
-
<div className="czi-form-buttons">
|
|
65
|
-
<CustomButton label="Cancel" onClick={this._cancel} />
|
|
66
|
-
</div>
|
|
67
|
-
</form>
|
|
68
|
-
</div>
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
_onSelectFile = (event: SyntheticInputEvent<>): void => {
|
|
73
|
-
const file = event.target.files && event.target.files[0];
|
|
74
|
-
if (file && typeof file === 'object') {
|
|
75
|
-
this._upload(file);
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
_onSuccess = (image: ImageLike): void => {
|
|
80
|
-
if (this._unmounted) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
this.props.close(image);
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
_onError = (error: Error): void => {
|
|
87
|
-
if (this._unmounted) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
this.setState({
|
|
91
|
-
error,
|
|
92
|
-
id: uuid(),
|
|
93
|
-
pending: false,
|
|
94
|
-
});
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
_upload = async (file: Object): Promise<void> => {
|
|
98
|
-
try {
|
|
99
|
-
const runtime = this.props.runtime || {};
|
|
100
|
-
const { canUploadImage, uploadImage } = runtime;
|
|
101
|
-
if (!canUploadImage || !uploadImage || !canUploadImage()) {
|
|
102
|
-
throw new Error('feature is not available');
|
|
103
|
-
}
|
|
104
|
-
this.setState({ pending: true, error: null });
|
|
105
|
-
const image = await uploadImage(file);
|
|
106
|
-
this._onSuccess(image);
|
|
107
|
-
} catch (ex) {
|
|
108
|
-
this._onError(ex);
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
_cancel = (): void => {
|
|
113
|
-
this.props.close();
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export default ImageUploadEditor;
|