@imposium-hub/components 1.62.7 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/assets/AssetsTablePreviewCell.js +3 -2
- package/dist/cjs/components/assets/AssetsTablePreviewCell.js.map +1 -1
- package/dist/cjs/components/button/Button.stories.d.ts +0 -1
- package/dist/cjs/components/button-group-field/ButtonGroupField.stories.d.ts +0 -1
- package/dist/cjs/components/button-menu/ButtonMenu.stories.d.ts +0 -1
- package/dist/cjs/components/card/Card.stories.d.ts +0 -1
- package/dist/cjs/components/checkbox-field/CheckboxField.stories.d.ts +0 -1
- package/dist/cjs/components/color-field/ColorFiled.stories.d.ts +0 -1
- package/dist/cjs/components/controlled-list/ControlledList.stories.d.ts +0 -1
- package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
- package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
- package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
- package/dist/cjs/components/field-wrapper/FieldWrapper.stories.d.ts +0 -1
- package/dist/cjs/components/h-rule/HRule.d.ts +0 -1
- package/dist/cjs/components/h-rule/HRule.stories.d.ts +0 -1
- package/dist/cjs/components/list-field/ListField.stories.d.ts +0 -1
- package/dist/cjs/components/modal/Modal.stories.d.ts +0 -1
- package/dist/cjs/components/number-field/NumberField.stories.d.ts +0 -1
- package/dist/cjs/components/players/AudioPreview.d.ts +25 -0
- package/dist/cjs/components/players/AudioPreview.js +114 -0
- package/dist/cjs/components/players/AudioPreview.js.map +1 -0
- package/dist/cjs/components/players/ImagePreview.d.ts +7 -1
- package/dist/cjs/components/players/ImagePreview.js +28 -10
- package/dist/cjs/components/players/ImagePreview.js.map +1 -1
- package/dist/cjs/components/players/VideoPreview.d.ts +11 -2
- package/dist/cjs/components/players/VideoPreview.js +32 -9
- package/dist/cjs/components/players/VideoPreview.js.map +1 -1
- package/dist/cjs/components/section/Section.d.ts +0 -1
- package/dist/cjs/components/section/Section.stories.d.ts +0 -1
- package/dist/cjs/components/select-field/SelectField.stories.d.ts +0 -1
- package/dist/cjs/components/slider-field/SliderField.stories.d.ts +0 -1
- package/dist/cjs/components/text-area-field/TextAreaField.stories.d.ts +0 -1
- package/dist/cjs/components/text-field/TextField.stories.d.ts +0 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +5 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/assets.d.ts +1 -1
- package/dist/cjs/utils/assets.js +7 -4
- package/dist/cjs/utils/assets.js.map +1 -1
- package/dist/esm/components/assets/AssetsTablePreviewCell.js +5 -4
- package/dist/esm/components/assets/AssetsTablePreviewCell.js.map +1 -1
- package/dist/esm/components/button/Button.stories.d.ts +0 -1
- package/dist/esm/components/button-group-field/ButtonGroupField.stories.d.ts +0 -1
- package/dist/esm/components/button-menu/ButtonMenu.stories.d.ts +0 -1
- package/dist/esm/components/card/Card.stories.d.ts +0 -1
- package/dist/esm/components/checkbox-field/CheckboxField.stories.d.ts +0 -1
- package/dist/esm/components/color-field/ColorFiled.stories.d.ts +0 -1
- package/dist/esm/components/controlled-list/ControlledList.stories.d.ts +0 -1
- package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
- package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
- package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
- package/dist/esm/components/field-wrapper/FieldWrapper.stories.d.ts +0 -1
- package/dist/esm/components/h-rule/HRule.d.ts +0 -1
- package/dist/esm/components/h-rule/HRule.stories.d.ts +0 -1
- package/dist/esm/components/list-field/ListField.stories.d.ts +0 -1
- package/dist/esm/components/modal/Modal.stories.d.ts +0 -1
- package/dist/esm/components/number-field/NumberField.stories.d.ts +0 -1
- package/dist/esm/components/players/AudioPreview.d.ts +25 -0
- package/dist/esm/components/players/AudioPreview.js +57 -0
- package/dist/esm/components/players/AudioPreview.js.map +1 -0
- package/dist/esm/components/players/ImagePreview.d.ts +7 -1
- package/dist/esm/components/players/ImagePreview.js +28 -10
- package/dist/esm/components/players/ImagePreview.js.map +1 -1
- package/dist/esm/components/players/VideoPreview.d.ts +11 -2
- package/dist/esm/components/players/VideoPreview.js +31 -9
- package/dist/esm/components/players/VideoPreview.js.map +1 -1
- package/dist/esm/components/section/Section.d.ts +0 -1
- package/dist/esm/components/section/Section.stories.d.ts +0 -1
- package/dist/esm/components/select-field/SelectField.stories.d.ts +0 -1
- package/dist/esm/components/slider-field/SliderField.stories.d.ts +0 -1
- package/dist/esm/components/text-area-field/TextAreaField.stories.d.ts +0 -1
- package/dist/esm/components/text-field/TextField.stories.d.ts +0 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/assets.d.ts +1 -1
- package/dist/esm/utils/assets.js +7 -4
- package/dist/esm/utils/assets.js.map +1 -1
- package/dist/styles.css +8 -0
- package/dist/styles.less +9 -0
- package/less/components/assets.less +10 -0
- package/package.json +1 -1
- package/src/components/assets/AssetsTablePreviewCell.tsx +12 -5
- package/src/components/players/AudioPreview.tsx +113 -0
- package/src/components/players/ImagePreview.tsx +47 -15
- package/src/components/players/VideoPreview.tsx +58 -12
- package/src/index.ts +2 -0
- package/src/utils/assets.ts +8 -4
package/dist/esm/index.d.ts
CHANGED
|
@@ -95,4 +95,5 @@ import PublishStatusIndicator from './components/publish-wizard/publish/PublishS
|
|
|
95
95
|
import { getMediaPreviewStyle } from './utils/assets';
|
|
96
96
|
import AdvancedNumberField from './components/advanced-number-field/AdvancedNumberField';
|
|
97
97
|
import FontPicker from './components/font-picker/FontPicker';
|
|
98
|
-
|
|
98
|
+
import AudioPreview from './components/players/AudioPreview';
|
|
99
|
+
export { AppWrapper, AuthGate, ImposiumHeader, ImposiumDropdown, Button, ButtonGroupField, ButtonMenu, ButtonMenuItem, Card, CheckboxField, ControlledList, DataTable, DataTablePaginator, FieldWrapper, HRule, ListField, Modal, AdvancedNumberField, NumberField, SelectField, ColorField, Tabs, ITab, Tag, TextField, TextAreaField, ToastService, SliderField, Section, DeterminateLoader, Spinner, NoAccess, ServiceIcon, LogViewer, StoryPreviewer, ShortcutMenu, Portal, AssetDetails, ImagePlayer, VideoPlayer, AudioPlayer, VideoPreview, ImagePreview, AudioPreview, ImageSequencePlayer, AssetsTypeIcon, AssetsTableDateCell, AssetsTableDropzone, AssetsTablePreviewCell, AssetsTableSelectFilter, AssetsTableSelectCell, AssetsTableTypeFilter, AssetsTableTypeCell, AssetsTableStatusCell, AssetsTableNameFilter, AssetsTableNameCell, AssetsTableDurationCell, AssetsTableTagsCell, AssetsTableTagsFilter, AssetsTableTagsPivot, AssetsTableComplexTagCell, AssetField, AssetsUploadMenu, FontAssetPreview, DroppableAssetRenderer, PreviewNotAvailable, IStaticComposition, auth, login, clearCachedAuth, access, cacheAccessData, clearCachedAccessList, storyAdded, storyNameMutated, orgNameMutated, storyDeleted, updateFilters, getAssets, deleteAssets, addAssetTag, deleteAssetTag, updateAssetName, updateAssetData, doAssetTableHydration, toggleAutoTag, uploadAssets, selectAsset, deselectAsset, resetSelection, assetFilters, assetList, assetUploads, selectedAssets, getAssetTagList, addAssetTagToList, assetTags, assetActions, activeBatch, batchActions, AuthService, IIdentity, SessionService, IHubSession, API, IImposiumAPI, LegacyAPI, StorageService, Timer, validateAccessLevel, getFirstStoryInOrg, string2HexCode, parameterizeServiceUrl, scrapeEmail, fitToContainer, formattedTime, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, toFixed, getSMPTE, padStart, formatDateDefault, ASSET_TYPES, publish, publishVersion, clearStoryPublishStatus, getStoryPublishStatus, PublishStatusIndicator, AnchorField, SMPTEField, getMediaPreviewStyle, HEADER_HEIGHT, decoupleAssets, deleteAssetsTags, updateAssetStory, FontPicker, cancelAssetUpload };
|
package/dist/esm/index.js
CHANGED
|
@@ -106,5 +106,6 @@ import PublishStatusIndicator from './components/publish-wizard/publish/PublishS
|
|
|
106
106
|
import { getMediaPreviewStyle } from './utils/assets';
|
|
107
107
|
import AdvancedNumberField from './components/advanced-number-field/AdvancedNumberField';
|
|
108
108
|
import FontPicker from './components/font-picker/FontPicker';
|
|
109
|
-
|
|
109
|
+
import AudioPreview from './components/players/AudioPreview';
|
|
110
|
+
export { AppWrapper, AuthGate, ImposiumHeader, ImposiumDropdown, Button, ButtonGroupField, ButtonMenu, ButtonMenuItem, Card, CheckboxField, ControlledList, DataTable, DataTablePaginator, FieldWrapper, HRule, ListField, Modal, AdvancedNumberField, NumberField, SelectField, ColorField, Tabs, Tag, TextField, TextAreaField, ToastService, SliderField, Section, DeterminateLoader, Spinner, NoAccess, ServiceIcon, LogViewer, StoryPreviewer, ShortcutMenu, Portal, AssetDetails, ImagePlayer, VideoPlayer, AudioPlayer, VideoPreview, ImagePreview, AudioPreview, ImageSequencePlayer, AssetsTypeIcon, AssetsTableDateCell, AssetsTableDropzone, AssetsTablePreviewCell, AssetsTableSelectFilter, AssetsTableSelectCell, AssetsTableTypeFilter, AssetsTableTypeCell, AssetsTableStatusCell, AssetsTableNameFilter, AssetsTableNameCell, AssetsTableDurationCell, AssetsTableTagsCell, AssetsTableTagsFilter, AssetsTableTagsPivot, AssetsTableComplexTagCell, AssetField, AssetsUploadMenu, FontAssetPreview, DroppableAssetRenderer, PreviewNotAvailable, auth, login, clearCachedAuth, access, cacheAccessData, clearCachedAccessList, storyAdded, storyNameMutated, orgNameMutated, storyDeleted, updateFilters, getAssets, deleteAssets, addAssetTag, deleteAssetTag, updateAssetName, updateAssetData, doAssetTableHydration, toggleAutoTag, uploadAssets, selectAsset, deselectAsset, resetSelection, assetFilters, assetList, assetUploads, selectedAssets, getAssetTagList, addAssetTagToList, assetTags, assetActions, activeBatch, batchActions, AuthService, SessionService, API, LegacyAPI, StorageService, Timer, validateAccessLevel, getFirstStoryInOrg, string2HexCode, parameterizeServiceUrl, scrapeEmail, fitToContainer, formattedTime, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, toFixed, getSMPTE, padStart, formatDateDefault, ASSET_TYPES, publish, publishVersion, clearStoryPublishStatus, getStoryPublishStatus, PublishStatusIndicator, AnchorField, SMPTEField, getMediaPreviewStyle, HEADER_HEIGHT, decoupleAssets, deleteAssetsTags, updateAssetStory, FontPicker, cancelAssetUpload };
|
|
110
111
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
|
-
export declare const getMediaPreviewStyle: (mediaWidth: number, mediaHeight: number,
|
|
2
|
+
export declare const getMediaPreviewStyle: (mediaWidth: number, mediaHeight: number, element: any) => CSSProperties;
|
package/dist/esm/utils/assets.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HEADER_HEIGHT, PREVIEW_MAX_HEIGHT, PREVIEW_MAX_WIDTH } from '../constants/assets';
|
|
2
|
-
export const getMediaPreviewStyle = (mediaWidth, mediaHeight,
|
|
3
|
-
if (!
|
|
2
|
+
export const getMediaPreviewStyle = (mediaWidth, mediaHeight, element) => {
|
|
3
|
+
if (!element) {
|
|
4
4
|
return;
|
|
5
5
|
}
|
|
6
6
|
if (!mediaWidth) {
|
|
@@ -9,8 +9,11 @@ export const getMediaPreviewStyle = (mediaWidth, mediaHeight, ref) => {
|
|
|
9
9
|
if (!mediaHeight) {
|
|
10
10
|
mediaHeight = PREVIEW_MAX_HEIGHT;
|
|
11
11
|
}
|
|
12
|
-
const
|
|
13
|
-
|
|
12
|
+
const elementDiv = element.current !== undefined ? element.current : element;
|
|
13
|
+
if (!elementDiv) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const iconRect = elementDiv.getBoundingClientRect();
|
|
14
17
|
const aspect = mediaWidth / mediaHeight;
|
|
15
18
|
let width = PREVIEW_MAX_WIDTH;
|
|
16
19
|
let height = width / aspect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/utils/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG3F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,UAAkB,EAClB,WAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/utils/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG3F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,UAAkB,EAClB,WAAmB,EACnB,OAAY,EACC,EAAE;IACf,IAAI,CAAC,OAAO,EAAE;QACV,OAAO;KACV;IACD,IAAI,CAAC,UAAU,EAAE;QACb,UAAU,GAAG,iBAAiB,CAAC;KAClC;IACD,IAAI,CAAC,WAAW,EAAE;QACd,WAAW,GAAG,kBAAkB,CAAC;KACpC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7E,IAAI,CAAC,UAAU,EAAE;QACb,OAAO;KACV;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;IACpD,MAAM,MAAM,GAAW,UAAU,GAAG,WAAW,CAAC;IAChD,IAAI,KAAK,GAAW,iBAAiB,CAAC;IACtC,IAAI,MAAM,GAAW,KAAK,GAAG,MAAM,CAAC;IAEpC,IAAI,MAAM,GAAG,kBAAkB,EAAE;QAC7B,MAAM,GAAG,kBAAkB,CAAC;QAC5B,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;KAC3B;IAED,eAAe;IACf,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;IACpD,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;IACrD,qEAAqE;IACrE,IAAI,IAAI,GAAG,CAAC,EAAE;QACV,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;KACrB;IACD,iEAAiE;IACjE,IAAI,GAAG,GAAG,aAAa,EAAE;QACrB,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;KACzB;IAED,OAAO;QACH,GAAG;QACH,IAAI;QACJ,KAAK;QACL,MAAM;QACN,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,IAAI;KACf,CAAC;AACN,CAAC,CAAC"}
|
package/dist/styles.css
CHANGED
|
@@ -488,6 +488,14 @@ body a {
|
|
|
488
488
|
height: 30px !important;
|
|
489
489
|
align-items: center;
|
|
490
490
|
}
|
|
491
|
+
.error-preview {
|
|
492
|
+
justify-content: center;
|
|
493
|
+
display: flex;
|
|
494
|
+
align-items: center;
|
|
495
|
+
}
|
|
496
|
+
.error-preview.audio {
|
|
497
|
+
height: 30px !important;
|
|
498
|
+
}
|
|
491
499
|
.auth-gate {
|
|
492
500
|
position: absolute;
|
|
493
501
|
width: 100%;
|
package/dist/styles.less
CHANGED
|
@@ -513,6 +513,15 @@ body{
|
|
|
513
513
|
align-items: center
|
|
514
514
|
}
|
|
515
515
|
|
|
516
|
+
.error-preview {
|
|
517
|
+
justify-content: center;
|
|
518
|
+
display: flex;
|
|
519
|
+
align-items: center;
|
|
520
|
+
|
|
521
|
+
&.audio {
|
|
522
|
+
height: 30px !important;
|
|
523
|
+
}
|
|
524
|
+
}
|
|
516
525
|
.auth-gate {
|
|
517
526
|
.layer;
|
|
518
527
|
display: flex;
|
package/package.json
CHANGED
|
@@ -4,7 +4,8 @@ import {
|
|
|
4
4
|
VideoPreview,
|
|
5
5
|
AssetsTypeIcon,
|
|
6
6
|
ImagePreview,
|
|
7
|
-
getMediaPreviewStyle
|
|
7
|
+
getMediaPreviewStyle,
|
|
8
|
+
AudioPreview
|
|
8
9
|
} from '../../index';
|
|
9
10
|
|
|
10
11
|
interface IAssetsTablePreviewCell {
|
|
@@ -54,7 +55,7 @@ class AssetsTablePreviewCell extends React.PureComponent<IAssetsTablePreviewCell
|
|
|
54
55
|
className='asset-type-cell'
|
|
55
56
|
onClick={this.evtHandlers.onClick}>
|
|
56
57
|
<AssetsTypeIcon type={cell.row.values.type} />
|
|
57
|
-
{cell.row.values.type === ASSET_TYPES.IMAGE && (
|
|
58
|
+
{cell.row.values.type === ASSET_TYPES.IMAGE && showMedia && (
|
|
58
59
|
<ImagePreview
|
|
59
60
|
style={{
|
|
60
61
|
...getMediaPreviewStyle(
|
|
@@ -63,12 +64,11 @@ class AssetsTablePreviewCell extends React.PureComponent<IAssetsTablePreviewCell
|
|
|
63
64
|
this.iconRef
|
|
64
65
|
)
|
|
65
66
|
}}
|
|
66
|
-
showMedia={showMedia}
|
|
67
67
|
url={cell.row.original.url}
|
|
68
68
|
onRequestClose={this.evtHandlers.onClose}
|
|
69
69
|
/>
|
|
70
70
|
)}
|
|
71
|
-
{cell.row.values.type === ASSET_TYPES.VIDEO && (
|
|
71
|
+
{cell.row.values.type === ASSET_TYPES.VIDEO && showMedia && (
|
|
72
72
|
<VideoPreview
|
|
73
73
|
playbackSettings={playbackSettings}
|
|
74
74
|
style={getMediaPreviewStyle(
|
|
@@ -76,7 +76,14 @@ class AssetsTablePreviewCell extends React.PureComponent<IAssetsTablePreviewCell
|
|
|
76
76
|
cell.row.original.height,
|
|
77
77
|
this.iconRef
|
|
78
78
|
)}
|
|
79
|
-
|
|
79
|
+
url={cell.row.original.url}
|
|
80
|
+
onRequestClose={this.evtHandlers.onClose}
|
|
81
|
+
/>
|
|
82
|
+
)}
|
|
83
|
+
{cell.row.values.type === ASSET_TYPES.AUDIO && showMedia && (
|
|
84
|
+
<AudioPreview
|
|
85
|
+
playbackSettings={playbackSettings}
|
|
86
|
+
style={getMediaPreviewStyle(5, 1, this.iconRef)}
|
|
80
87
|
url={cell.row.original.url}
|
|
81
88
|
onRequestClose={this.evtHandlers.onClose}
|
|
82
89
|
/>
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import Portal from '../portal/Portal';
|
|
3
|
+
import Button from '../button/Button';
|
|
4
|
+
import { assets as copy } from '../../constants/copy';
|
|
5
|
+
import { ICON_TIMES } from '../../constants/icons';
|
|
6
|
+
|
|
7
|
+
interface IAudioPreviewProps {
|
|
8
|
+
url: string;
|
|
9
|
+
playbackSettings?: any;
|
|
10
|
+
style?: React.CSSProperties | any;
|
|
11
|
+
onRequestClose?(): void;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface IAudioPreviewState {
|
|
15
|
+
error: boolean;
|
|
16
|
+
loaded: boolean;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
class AudioPreview extends React.PureComponent<IAudioPreviewProps, IAudioPreviewState> {
|
|
20
|
+
private audioNode: any = null;
|
|
21
|
+
|
|
22
|
+
private audioRef: any = null;
|
|
23
|
+
|
|
24
|
+
private evtHandlers: any;
|
|
25
|
+
|
|
26
|
+
private clickHandler: any = (e) => this.detectOutsideClick(e);
|
|
27
|
+
|
|
28
|
+
private clickOutsideTimeout: any;
|
|
29
|
+
|
|
30
|
+
constructor(props) {
|
|
31
|
+
super(props);
|
|
32
|
+
this.audioNode = React.createRef();
|
|
33
|
+
this.audioRef = React.createRef();
|
|
34
|
+
this.evtHandlers = {
|
|
35
|
+
onClose: (e) => this.onClose(e)
|
|
36
|
+
};
|
|
37
|
+
this.state = {
|
|
38
|
+
error: false,
|
|
39
|
+
loaded: false
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public componentDidMount() {
|
|
44
|
+
clearTimeout(this.clickOutsideTimeout);
|
|
45
|
+
this.clickOutsideTimeout = setTimeout(() => {
|
|
46
|
+
window.addEventListener('click', this.clickHandler);
|
|
47
|
+
}, 25);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public componentWillUnmount(): void {
|
|
51
|
+
clearTimeout(this.clickOutsideTimeout);
|
|
52
|
+
window.removeEventListener('click', this.clickHandler);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
private detectOutsideClick = (e: any): void => {
|
|
56
|
+
const { target } = e;
|
|
57
|
+
|
|
58
|
+
const clickInside =
|
|
59
|
+
this.audioRef.current && this.audioRef.current.contains(target) ? true : false;
|
|
60
|
+
|
|
61
|
+
if (!clickInside) {
|
|
62
|
+
this.onClose(e);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
private onClose(e) {
|
|
67
|
+
const { onRequestClose } = this.props;
|
|
68
|
+
onRequestClose();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
public render() {
|
|
72
|
+
const { url, playbackSettings, style } = this.props;
|
|
73
|
+
const { error } = this.state;
|
|
74
|
+
return (
|
|
75
|
+
<Portal id='portal-root'>
|
|
76
|
+
<div ref={this.audioRef}>
|
|
77
|
+
<div
|
|
78
|
+
style={{ ...style }}
|
|
79
|
+
className={'close-icon-preview'}>
|
|
80
|
+
<Button
|
|
81
|
+
key='btn-filter'
|
|
82
|
+
onClick={this.evtHandlers.onClose}
|
|
83
|
+
size={'large'}
|
|
84
|
+
style='subtle'
|
|
85
|
+
tooltip={copy.field.tooltipFilter}>
|
|
86
|
+
{ICON_TIMES}
|
|
87
|
+
</Button>
|
|
88
|
+
</div>
|
|
89
|
+
<audio
|
|
90
|
+
style={style}
|
|
91
|
+
onError={() => this.setState({ loaded: true, error: true })}
|
|
92
|
+
onCanPlayThrough={() => this.setState({ loaded: true })}
|
|
93
|
+
ref={this.audioNode}
|
|
94
|
+
autoPlay={playbackSettings.autoPlay}
|
|
95
|
+
loop={playbackSettings.loop}
|
|
96
|
+
controls
|
|
97
|
+
src={url}
|
|
98
|
+
className='asset-preview-background media-preview'
|
|
99
|
+
/>
|
|
100
|
+
{error ? (
|
|
101
|
+
<div
|
|
102
|
+
className='error-preview audio'
|
|
103
|
+
style={style}>
|
|
104
|
+
Audio not found
|
|
105
|
+
</div>
|
|
106
|
+
) : null}
|
|
107
|
+
</div>
|
|
108
|
+
</Portal>
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export default AudioPreview;
|
|
@@ -4,7 +4,6 @@ import { ICON_TIMES } from '../../constants/icons';
|
|
|
4
4
|
import Button from '../button/Button';
|
|
5
5
|
import { assets as copy } from '../../constants/copy';
|
|
6
6
|
interface IImagePreviewProps {
|
|
7
|
-
showMedia: boolean;
|
|
8
7
|
url: string;
|
|
9
8
|
playbackSettings?: any;
|
|
10
9
|
style?: React.CSSProperties | any;
|
|
@@ -12,37 +11,66 @@ interface IImagePreviewProps {
|
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
interface IImagePreviewState {
|
|
14
|
+
error: boolean;
|
|
15
15
|
loaded: boolean;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
class ImagePreview extends React.PureComponent<IImagePreviewProps, IImagePreviewState> {
|
|
19
19
|
private imageNode: any = null;
|
|
20
20
|
|
|
21
|
+
private imageRef: any = null;
|
|
22
|
+
|
|
21
23
|
private evtHandlers: any;
|
|
22
24
|
|
|
25
|
+
private clickHandler: any = (e) => this.detectOutsideClick(e);
|
|
26
|
+
|
|
27
|
+
private clickOutsideTimeout: any;
|
|
28
|
+
|
|
23
29
|
constructor(props) {
|
|
24
30
|
super(props);
|
|
25
31
|
this.imageNode = React.createRef();
|
|
32
|
+
this.imageRef = React.createRef();
|
|
26
33
|
this.evtHandlers = {
|
|
27
34
|
onClose: (e) => this.onClose(e)
|
|
28
35
|
};
|
|
29
36
|
this.state = {
|
|
37
|
+
error: false,
|
|
30
38
|
loaded: false
|
|
31
39
|
};
|
|
32
40
|
}
|
|
33
41
|
|
|
42
|
+
public componentDidMount() {
|
|
43
|
+
clearTimeout(this.clickOutsideTimeout);
|
|
44
|
+
this.clickOutsideTimeout = setTimeout(() => {
|
|
45
|
+
window.addEventListener('click', this.clickHandler);
|
|
46
|
+
}, 25);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
public componentWillUnmount(): void {
|
|
50
|
+
clearTimeout(this.clickOutsideTimeout);
|
|
51
|
+
window.removeEventListener('click', this.clickHandler);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
private detectOutsideClick = (e: any): void => {
|
|
55
|
+
const { target } = e;
|
|
56
|
+
const clickInside =
|
|
57
|
+
this.imageRef.current && this.imageRef.current.contains(target) ? true : false;
|
|
58
|
+
if (!clickInside) {
|
|
59
|
+
this.onClose(e);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
34
63
|
private onClose(e) {
|
|
35
64
|
const { onRequestClose } = this.props;
|
|
36
|
-
e.stopPropagation();
|
|
37
65
|
onRequestClose();
|
|
38
66
|
}
|
|
39
67
|
|
|
40
68
|
public render() {
|
|
41
|
-
const {
|
|
42
|
-
const {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
<
|
|
69
|
+
const { url, style } = this.props;
|
|
70
|
+
const { error } = this.state;
|
|
71
|
+
return (
|
|
72
|
+
<Portal id='portal-root'>
|
|
73
|
+
<div ref={this.imageRef}>
|
|
46
74
|
<div
|
|
47
75
|
style={{ ...style }}
|
|
48
76
|
className={'close-icon-preview'}>
|
|
@@ -56,19 +84,23 @@ class ImagePreview extends React.PureComponent<IImagePreviewProps, IImagePreview
|
|
|
56
84
|
</Button>
|
|
57
85
|
</div>
|
|
58
86
|
<img
|
|
87
|
+
onError={() => this.setState({ error: true, loaded: true })}
|
|
59
88
|
onLoad={() => this.setState({ loaded: true })}
|
|
60
89
|
src={url}
|
|
61
90
|
ref={this.imageNode}
|
|
62
|
-
className={`asset-preview-background media-preview
|
|
63
|
-
!loaded ? 'hidden' : ''
|
|
64
|
-
}`}
|
|
91
|
+
className={`asset-preview-background media-preview`}
|
|
65
92
|
style={style}
|
|
66
93
|
/>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
94
|
+
{error ? (
|
|
95
|
+
<div
|
|
96
|
+
className='error-preview'
|
|
97
|
+
style={style}>
|
|
98
|
+
Image not found
|
|
99
|
+
</div>
|
|
100
|
+
) : null}
|
|
101
|
+
</div>
|
|
102
|
+
</Portal>
|
|
103
|
+
);
|
|
72
104
|
}
|
|
73
105
|
}
|
|
74
106
|
|
|
@@ -5,37 +5,76 @@ import { assets as copy } from '../../constants/copy';
|
|
|
5
5
|
import { ICON_TIMES } from '../../constants/icons';
|
|
6
6
|
|
|
7
7
|
interface IVideoPreviewProps {
|
|
8
|
-
showMedia: boolean;
|
|
9
8
|
url: string;
|
|
10
9
|
playbackSettings?: any;
|
|
11
10
|
style?: React.CSSProperties | any;
|
|
12
11
|
onRequestClose?(): void;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
interface IVideoPreviewState {
|
|
15
|
+
error: boolean;
|
|
16
|
+
loaded: boolean;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
class VideoPreview extends React.PureComponent<IVideoPreviewProps, IVideoPreviewState> {
|
|
16
20
|
private videoNode: any = null;
|
|
17
21
|
|
|
22
|
+
private videoRef: any = null;
|
|
23
|
+
|
|
18
24
|
private evtHandlers: any;
|
|
19
25
|
|
|
26
|
+
private clickHandler: any = (e) => this.detectOutsideClick(e);
|
|
27
|
+
|
|
28
|
+
private clickOutsideTimeout: any;
|
|
29
|
+
|
|
20
30
|
constructor(props) {
|
|
21
31
|
super(props);
|
|
22
32
|
this.videoNode = React.createRef();
|
|
33
|
+
this.videoRef = React.createRef();
|
|
23
34
|
this.evtHandlers = {
|
|
24
35
|
onClose: (e) => this.onClose(e)
|
|
25
36
|
};
|
|
37
|
+
|
|
38
|
+
this.state = {
|
|
39
|
+
error: false,
|
|
40
|
+
loaded: false
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public componentDidMount() {
|
|
45
|
+
clearTimeout(this.clickOutsideTimeout);
|
|
46
|
+
this.clickOutsideTimeout = setTimeout(() => {
|
|
47
|
+
window.addEventListener('click', this.clickHandler);
|
|
48
|
+
}, 25);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public componentWillUnmount(): void {
|
|
52
|
+
clearTimeout(this.clickOutsideTimeout);
|
|
53
|
+
window.removeEventListener('click', this.clickHandler);
|
|
26
54
|
}
|
|
27
55
|
|
|
56
|
+
private detectOutsideClick = (e: any): void => {
|
|
57
|
+
const { target } = e;
|
|
58
|
+
|
|
59
|
+
const clickInside =
|
|
60
|
+
this.videoRef.current && this.videoRef.current.contains(target) ? true : false;
|
|
61
|
+
|
|
62
|
+
if (!clickInside) {
|
|
63
|
+
this.onClose(e);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
28
67
|
private onClose(e) {
|
|
29
68
|
const { onRequestClose } = this.props;
|
|
30
|
-
e.stopPropagation();
|
|
31
69
|
onRequestClose();
|
|
32
70
|
}
|
|
33
71
|
|
|
34
72
|
public render() {
|
|
35
|
-
const {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
73
|
+
const { url, playbackSettings, style } = this.props;
|
|
74
|
+
const { error } = this.state;
|
|
75
|
+
return (
|
|
76
|
+
<Portal id='portal-root'>
|
|
77
|
+
<div ref={this.videoRef}>
|
|
39
78
|
<div
|
|
40
79
|
style={{ ...style }}
|
|
41
80
|
className={'close-icon-preview'}>
|
|
@@ -49,6 +88,8 @@ class VideoPreview extends React.PureComponent<IVideoPreviewProps> {
|
|
|
49
88
|
</Button>
|
|
50
89
|
</div>
|
|
51
90
|
<video
|
|
91
|
+
onError={() => this.setState({ error: true, loaded: true })}
|
|
92
|
+
onCanPlayThrough={() => this.setState({ loaded: true })}
|
|
52
93
|
style={style}
|
|
53
94
|
muted
|
|
54
95
|
ref={this.videoNode}
|
|
@@ -60,11 +101,16 @@ class VideoPreview extends React.PureComponent<IVideoPreviewProps> {
|
|
|
60
101
|
src={url}
|
|
61
102
|
className='asset-preview-background media-preview'
|
|
62
103
|
/>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
104
|
+
{error ? (
|
|
105
|
+
<div
|
|
106
|
+
className='error-preview'
|
|
107
|
+
style={style}>
|
|
108
|
+
Video not found
|
|
109
|
+
</div>
|
|
110
|
+
) : null}
|
|
111
|
+
</div>
|
|
112
|
+
</Portal>
|
|
113
|
+
);
|
|
68
114
|
}
|
|
69
115
|
}
|
|
70
116
|
|
package/src/index.ts
CHANGED
|
@@ -145,6 +145,7 @@ import PublishStatusIndicator from './components/publish-wizard/publish/PublishS
|
|
|
145
145
|
import { getMediaPreviewStyle } from './utils/assets';
|
|
146
146
|
import AdvancedNumberField from './components/advanced-number-field/AdvancedNumberField';
|
|
147
147
|
import FontPicker from './components/font-picker/FontPicker';
|
|
148
|
+
import AudioPreview from './components/players/AudioPreview';
|
|
148
149
|
|
|
149
150
|
export {
|
|
150
151
|
AppWrapper,
|
|
@@ -190,6 +191,7 @@ export {
|
|
|
190
191
|
AudioPlayer,
|
|
191
192
|
VideoPreview,
|
|
192
193
|
ImagePreview,
|
|
194
|
+
AudioPreview,
|
|
193
195
|
ImageSequencePlayer,
|
|
194
196
|
AssetsTypeIcon,
|
|
195
197
|
AssetsTableDateCell,
|
package/src/utils/assets.ts
CHANGED
|
@@ -4,9 +4,9 @@ import { CSSProperties } from 'react';
|
|
|
4
4
|
export const getMediaPreviewStyle = (
|
|
5
5
|
mediaWidth: number,
|
|
6
6
|
mediaHeight: number,
|
|
7
|
-
|
|
7
|
+
element: any
|
|
8
8
|
): CSSProperties => {
|
|
9
|
-
if (!
|
|
9
|
+
if (!element) {
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
12
|
if (!mediaWidth) {
|
|
@@ -15,8 +15,12 @@ export const getMediaPreviewStyle = (
|
|
|
15
15
|
if (!mediaHeight) {
|
|
16
16
|
mediaHeight = PREVIEW_MAX_HEIGHT;
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
const
|
|
18
|
+
|
|
19
|
+
const elementDiv = element.current !== undefined ? element.current : element;
|
|
20
|
+
if (!elementDiv) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const iconRect = elementDiv.getBoundingClientRect();
|
|
20
24
|
const aspect: number = mediaWidth / mediaHeight;
|
|
21
25
|
let width: number = PREVIEW_MAX_WIDTH;
|
|
22
26
|
let height: number = width / aspect;
|