@imposium-hub/components 2.5.10-10 → 2.5.10-11
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/card/Card.d.ts +0 -1
- package/dist/cjs/components/card/Card.js +4 -17
- package/dist/cjs/components/card/Card.js.map +1 -1
- package/dist/cjs/components/confirm-modal/ConfirmModal.d.ts +11 -9
- package/dist/cjs/components/confirm-modal/ConfirmModal.js +10 -9
- package/dist/cjs/components/confirm-modal/ConfirmModal.js.map +1 -1
- package/dist/cjs/components/data-table/Paginator.js +7 -51
- package/dist/cjs/components/data-table/Paginator.js.map +1 -1
- package/dist/cjs/components/smpte-field/SMPTEField.d.ts +1 -2
- package/dist/cjs/components/smpte-field/SMPTEField.js +3 -9
- package/dist/cjs/components/smpte-field/SMPTEField.js.map +1 -1
- package/dist/cjs/constants/copy.js +2 -2
- package/dist/cjs/constants/copy.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -3
- package/dist/cjs/index.js +2 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/redux/actions/asset-list.js +42 -34
- package/dist/cjs/redux/actions/asset-list.js.map +1 -1
- package/dist/esm/components/card/Card.d.ts +0 -1
- package/dist/esm/components/card/Card.js +4 -16
- package/dist/esm/components/card/Card.js.map +1 -1
- package/dist/esm/components/confirm-modal/ConfirmModal.d.ts +11 -9
- package/dist/esm/components/confirm-modal/ConfirmModal.js +10 -8
- package/dist/esm/components/confirm-modal/ConfirmModal.js.map +1 -1
- package/dist/esm/components/data-table/Paginator.js +44 -74
- package/dist/esm/components/data-table/Paginator.js.map +1 -1
- package/dist/esm/components/smpte-field/SMPTEField.d.ts +1 -2
- package/dist/esm/components/smpte-field/SMPTEField.js +3 -9
- package/dist/esm/components/smpte-field/SMPTEField.js.map +1 -1
- package/dist/esm/constants/copy.js +2 -2
- package/dist/esm/constants/copy.js.map +1 -1
- package/dist/esm/index.d.ts +1 -3
- package/dist/esm/index.js +1 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/redux/actions/asset-list.js +42 -34
- package/dist/esm/redux/actions/asset-list.js.map +1 -1
- package/dist/styles.css +0 -10
- package/dist/styles.less +0 -13
- package/less/components/data-table.less +0 -4
- package/less/components/form-field.less +0 -4
- package/less/components/tag.less +0 -5
- package/package.json +1 -1
- package/src/components/card/Card.tsx +13 -27
- package/src/components/confirm-modal/ConfirmModal.tsx +24 -19
- package/src/components/data-table/Paginator.tsx +93 -140
- package/src/components/smpte-field/SMPTEField.tsx +3 -8
- package/src/constants/copy.ts +2 -2
- package/src/index.ts +0 -4
- package/src/redux/actions/asset-list.ts +44 -37
- package/src/components/assets/AssetsTableAssetIdCell.tsx +0 -65
- package/src/components/assets/AssetsTableAssetIdFilter.tsx +0 -40
|
@@ -12,7 +12,6 @@ interface ISMPTEFieldProps {
|
|
|
12
12
|
width?: string | number;
|
|
13
13
|
onChange?(e): void;
|
|
14
14
|
onBlur?(e): void;
|
|
15
|
-
onError?(e): void;
|
|
16
15
|
info?: string;
|
|
17
16
|
labelPosition?: string;
|
|
18
17
|
labelWidth?: string | number;
|
|
@@ -76,7 +75,7 @@ class SMPTEField extends React.PureComponent<ISMPTEFieldProps, ISMPTEFieldState>
|
|
|
76
75
|
|
|
77
76
|
private onBlur(e?) {
|
|
78
77
|
const val = e ? e.target.value : this.inputRef.current.value;
|
|
79
|
-
const isValid = this.
|
|
78
|
+
const isValid = this.smptValidator(val);
|
|
80
79
|
|
|
81
80
|
if (e && e.key === 'Enter') {
|
|
82
81
|
this.setDuration(isValid, val);
|
|
@@ -89,12 +88,10 @@ class SMPTEField extends React.PureComponent<ISMPTEFieldProps, ISMPTEFieldState>
|
|
|
89
88
|
|
|
90
89
|
private onChange() {
|
|
91
90
|
const val = this.inputRef.current.value;
|
|
92
|
-
const isValid = this.
|
|
91
|
+
const isValid = this.smptValidator(val);
|
|
93
92
|
|
|
94
93
|
if (isValid) {
|
|
95
94
|
this.props.onChange(val);
|
|
96
|
-
} else {
|
|
97
|
-
this.props.onError(isValid);
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
97
|
|
|
@@ -104,13 +101,11 @@ class SMPTEField extends React.PureComponent<ISMPTEFieldProps, ISMPTEFieldState>
|
|
|
104
101
|
const smpte = getSMPTE(frameRate, val);
|
|
105
102
|
if (smpte && this.props.onBlur) {
|
|
106
103
|
this.props.onBlur(smpte);
|
|
107
|
-
} else {
|
|
108
|
-
this.props.onError(isValid);
|
|
109
104
|
}
|
|
110
105
|
}
|
|
111
106
|
}
|
|
112
107
|
|
|
113
|
-
private
|
|
108
|
+
private smptValidator(val) {
|
|
114
109
|
const isValidSMPTETimeCode = new RegExp(this.regex);
|
|
115
110
|
const isValid = isValidSMPTETimeCode.test(val);
|
|
116
111
|
const errorMsg = isValid ? null : TIMECODE.ERROR;
|
package/src/constants/copy.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -40,7 +40,6 @@ import AssetField from './components/assets/AssetField';
|
|
|
40
40
|
import AssetsTableDropzone from './components/assets/AssetsTableDropzone';
|
|
41
41
|
import AssetsTableNameCell from './components/assets/AssetsTableNameCell';
|
|
42
42
|
import AssetsTableNameFilter from './components/assets/AssetsTableNameFilter';
|
|
43
|
-
import AssetsTableAssetIdFilter from './components/assets/AssetsTableAssetIdFilter';
|
|
44
43
|
import AssetsTableSelectCell from './components/assets/AssetsTableSelectCell';
|
|
45
44
|
import AssetsTableSelectFilter from './components/assets/AssetsTableSelectFilter';
|
|
46
45
|
import AssetsTableTagsCell from './components/assets/AssetsTableTagsCell';
|
|
@@ -160,7 +159,6 @@ import ContextMenuTrigger from './components/context-menu/ContextMenuTrigger';
|
|
|
160
159
|
import CopyPropIdButton from './components/copy-prop-id-button/CopyPropIdButton';
|
|
161
160
|
import Submenu from './components/context-menu/SubMenu';
|
|
162
161
|
import { ConfirmModal } from './components/confirm-modal/ConfirmModal';
|
|
163
|
-
import AssetsTableAssetIdCell from './components/assets/AssetsTableAssetIdCell';
|
|
164
162
|
|
|
165
163
|
export {
|
|
166
164
|
AppWrapper,
|
|
@@ -219,8 +217,6 @@ export {
|
|
|
219
217
|
AssetsTableGlobalCell,
|
|
220
218
|
AssetsTableStatusCell,
|
|
221
219
|
AssetsTableNameFilter,
|
|
222
|
-
AssetsTableAssetIdFilter,
|
|
223
|
-
AssetsTableAssetIdCell,
|
|
224
220
|
AssetsTableNameCell,
|
|
225
221
|
AssetsTableDurationCell,
|
|
226
222
|
AssetsTableRateCell,
|
|
@@ -78,19 +78,22 @@ export const getAssets = (api: IImposiumAPI, storyId: string): any => {
|
|
|
78
78
|
|
|
79
79
|
export const deleteAssets = (api: IImposiumAPI, ids: string[], storyId: string): any => {
|
|
80
80
|
return (dispatch) => {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
81
|
+
if (window.confirm(`Are you sure you want to delete ${ids.length} assets?`)) {
|
|
82
|
+
return new Promise<boolean>((resolve, reject) => {
|
|
83
|
+
dispatch(toggleLoading(true));
|
|
84
|
+
api.deleteAssets(ids)
|
|
85
|
+
.then(() => {
|
|
86
|
+
dispatch(getAssets(api, storyId));
|
|
87
|
+
resolve(true);
|
|
88
|
+
})
|
|
89
|
+
.catch((errors: Error[]) => {
|
|
90
|
+
dispatch(toggleLoading(false));
|
|
91
|
+
reject(false);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
} else {
|
|
95
|
+
return Promise.resolve(false);
|
|
96
|
+
}
|
|
94
97
|
};
|
|
95
98
|
};
|
|
96
99
|
|
|
@@ -191,18 +194,20 @@ export const deleteAssetTags = (api: IImposiumAPI, id: string): any => {
|
|
|
191
194
|
|
|
192
195
|
export const deleteAssetsTags = (api: IImposiumAPI, ids: string[], storyId: string): any => {
|
|
193
196
|
return (dispatch) => {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
.
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
197
|
+
if (window.confirm(`Are you sure you want to remove all tags from ${ids.length} assets?`)) {
|
|
198
|
+
return new Promise<void>((resolve, reject) => {
|
|
199
|
+
dispatch(toggleLoading(true));
|
|
200
|
+
api.deleteAssetsTags(ids)
|
|
201
|
+
.then(() => {
|
|
202
|
+
dispatch(getAssets(api, storyId));
|
|
203
|
+
resolve();
|
|
204
|
+
})
|
|
205
|
+
.catch((errors: Error[]) => {
|
|
206
|
+
dispatch(toggleLoading(false));
|
|
207
|
+
reject();
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
}
|
|
206
211
|
};
|
|
207
212
|
};
|
|
208
213
|
|
|
@@ -240,18 +245,20 @@ export const updateAssetStory = (api: IImposiumAPI, id: string, storyId: string)
|
|
|
240
245
|
|
|
241
246
|
export const decoupleAssets = (api: IImposiumAPI, ids: string[], storyId: string): any => {
|
|
242
247
|
return (dispatch) => {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
.
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
248
|
+
if (window.confirm(`Are you sure you want to decouple ${ids.length} assets?`)) {
|
|
249
|
+
return new Promise<void>((resolve, reject) => {
|
|
250
|
+
dispatch(toggleLoading(true));
|
|
251
|
+
api.decoupleAssets(ids)
|
|
252
|
+
.then(() => {
|
|
253
|
+
dispatch(getAssets(api, storyId));
|
|
254
|
+
resolve();
|
|
255
|
+
})
|
|
256
|
+
.catch((errors: Error[]) => {
|
|
257
|
+
dispatch(toggleLoading(false));
|
|
258
|
+
reject();
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
}
|
|
255
262
|
};
|
|
256
263
|
};
|
|
257
264
|
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { copying } from '../../constants/copy';
|
|
3
|
-
import { updateFilters } from '../../redux/actions/asset-filters';
|
|
4
|
-
import { connect } from 'react-redux';
|
|
5
|
-
import { bindActionCreators } from 'redux';
|
|
6
|
-
|
|
7
|
-
interface IAssetsTableAssetIdCellProps {
|
|
8
|
-
cell: any;
|
|
9
|
-
onNotification?: (e) => void;
|
|
10
|
-
onError?: (e) => void;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const AssetsTableAssetIdCell: React.FC<IAssetsTableAssetIdCellProps> = (
|
|
14
|
-
props: IAssetsTableAssetIdCellProps
|
|
15
|
-
) => {
|
|
16
|
-
const {
|
|
17
|
-
onNotification,
|
|
18
|
-
onError,
|
|
19
|
-
cell: {
|
|
20
|
-
row: {
|
|
21
|
-
original: { id }
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
} = props;
|
|
25
|
-
console.log('AssetsTableAssetIdCell');
|
|
26
|
-
console.log(id);
|
|
27
|
-
|
|
28
|
-
const copyToClipboard = (e) => {
|
|
29
|
-
navigator.clipboard.writeText(e.target.textContent).then(
|
|
30
|
-
() => {
|
|
31
|
-
if (onNotification) {
|
|
32
|
-
onNotification(`${copying.copied}`);
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
() => {
|
|
36
|
-
if (onError) {
|
|
37
|
-
onError(`${copying.error}`);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
return (
|
|
44
|
-
<div
|
|
45
|
-
key={id}
|
|
46
|
-
className='imposium-asset-id'
|
|
47
|
-
onClick={(e) => copyToClipboard(e)}>
|
|
48
|
-
{id}
|
|
49
|
-
</div>
|
|
50
|
-
);
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
const mapDispatchToProps = (dispatch): any => {
|
|
54
|
-
return bindActionCreators({ updateFilters }, dispatch);
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
const mapStateToProps = (state): any => {
|
|
58
|
-
return { assetFilters: state.assetFilters };
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const AssetsTableAssetIdCellMemoized = connect(
|
|
62
|
-
mapStateToProps,
|
|
63
|
-
mapDispatchToProps
|
|
64
|
-
)(React.memo(AssetsTableAssetIdCell));
|
|
65
|
-
export default AssetsTableAssetIdCellMemoized;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import TextField from '../text-field/TextField';
|
|
3
|
-
import { updateFilters } from '../../redux/actions/asset-filters';
|
|
4
|
-
import { connect } from 'react-redux';
|
|
5
|
-
import { bindActionCreators } from 'redux';
|
|
6
|
-
|
|
7
|
-
interface IAssetsTableAssetIdFilterProps {
|
|
8
|
-
assetFilters: any;
|
|
9
|
-
updateFilters: (filters: any) => any;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
class AssetsTableAssetIdFilter extends React.PureComponent<IAssetsTableAssetIdFilterProps> {
|
|
13
|
-
public render = (): JSX.Element => {
|
|
14
|
-
const { assetFilters } = this.props;
|
|
15
|
-
|
|
16
|
-
return (
|
|
17
|
-
<TextField
|
|
18
|
-
className='asset-id'
|
|
19
|
-
submittable
|
|
20
|
-
submittableType='search'
|
|
21
|
-
value={assetFilters.id}
|
|
22
|
-
doSubmit={(n) => this.props.updateFilters({ id: n })}
|
|
23
|
-
/>
|
|
24
|
-
);
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const mapDispatchToProps = (dispatch): any => {
|
|
29
|
-
return bindActionCreators({ updateFilters }, dispatch);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const mapStateToProps = (state): any => {
|
|
33
|
-
return { assetFilters: state.assetFilters };
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const AssetsTableAssetIdFilterMemoized = connect(
|
|
37
|
-
mapStateToProps,
|
|
38
|
-
mapDispatchToProps
|
|
39
|
-
)(React.memo(AssetsTableAssetIdFilter));
|
|
40
|
-
export default AssetsTableAssetIdFilterMemoized;
|