@imposium-hub/components 2.5.10-9 → 2.5.11-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/AssetsTableAssetIdCell.d.ts +2 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdCell.js +56 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdCell.js.map +1 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter.d.ts +2 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter.js +94 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter.js.map +1 -0
- package/dist/cjs/components/assets/AssetsTableGlobalCell.js +2 -1
- package/dist/cjs/components/assets/AssetsTableGlobalCell.js.map +1 -1
- package/dist/cjs/components/assets/AssetsTableNameCell.js +3 -2
- package/dist/cjs/components/assets/AssetsTableNameCell.js.map +1 -1
- package/dist/cjs/components/assets/AssetsTypeIcon.js +2 -0
- package/dist/cjs/components/assets/AssetsTypeIcon.js.map +1 -1
- package/dist/cjs/components/confirm-modal/ConfirmModal.d.ts +1 -9
- package/dist/cjs/components/confirm-modal/ConfirmModal.js +96 -13
- package/dist/cjs/components/confirm-modal/ConfirmModal.js.map +1 -1
- package/dist/cjs/constants/copy.js +2 -2
- package/dist/cjs/constants/copy.js.map +1 -1
- package/dist/cjs/constants/icons.d.ts +1 -0
- package/dist/cjs/constants/icons.js +3 -1
- package/dist/cjs/constants/icons.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.js +6 -4
- 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/cjs/redux/actions/asset-uploads.js +23 -1
- package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
- package/dist/cjs/redux/reducers/asset-uploads.js +8 -0
- package/dist/cjs/redux/reducers/asset-uploads.js.map +1 -1
- package/dist/cjs/services/API.d.ts +3 -0
- package/dist/cjs/services/API.js +9 -0
- package/dist/cjs/services/API.js.map +1 -1
- package/dist/esm/components/assets/AssetsTableAssetIdCell.d.ts +2 -0
- package/dist/esm/components/assets/AssetsTableAssetIdCell.js +31 -0
- package/dist/esm/components/assets/AssetsTableAssetIdCell.js.map +1 -0
- package/dist/esm/components/assets/AssetsTableAssetIdFilter.d.ts +2 -0
- package/dist/esm/components/assets/AssetsTableAssetIdFilter.js +20 -0
- package/dist/esm/components/assets/AssetsTableAssetIdFilter.js.map +1 -0
- package/dist/esm/components/assets/AssetsTableGlobalCell.js +2 -1
- package/dist/esm/components/assets/AssetsTableGlobalCell.js.map +1 -1
- package/dist/esm/components/assets/AssetsTableNameCell.js +3 -2
- package/dist/esm/components/assets/AssetsTableNameCell.js.map +1 -1
- package/dist/esm/components/assets/AssetsTypeIcon.js +3 -1
- package/dist/esm/components/assets/AssetsTypeIcon.js.map +1 -1
- package/dist/esm/components/confirm-modal/ConfirmModal.d.ts +1 -9
- package/dist/esm/components/confirm-modal/ConfirmModal.js +48 -12
- package/dist/esm/components/confirm-modal/ConfirmModal.js.map +1 -1
- package/dist/esm/constants/copy.js +2 -2
- package/dist/esm/constants/copy.js.map +1 -1
- package/dist/esm/constants/icons.d.ts +1 -0
- package/dist/esm/constants/icons.js +2 -0
- package/dist/esm/constants/icons.js.map +1 -1
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +3 -2
- 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/esm/redux/actions/asset-uploads.js +12 -1
- package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
- package/dist/esm/redux/reducers/asset-uploads.js +11 -0
- package/dist/esm/redux/reducers/asset-uploads.js.map +1 -1
- package/dist/esm/services/API.d.ts +3 -0
- package/dist/esm/services/API.js +9 -0
- package/dist/esm/services/API.js.map +1 -1
- package/dist/styles.css +7 -2
- package/dist/styles.less +8 -3
- package/less/components/form-field.less +3 -3
- package/less/components/tag.less +5 -0
- package/package.json +1 -1
- package/src/components/assets/AssetsTableAssetIdCell.tsx +65 -0
- package/src/components/assets/AssetsTableAssetIdFilter.tsx +40 -0
- package/src/components/assets/AssetsTableGlobalCell.tsx +11 -1
- package/src/components/assets/AssetsTableNameCell.tsx +11 -2
- package/src/components/assets/AssetsTypeIcon.tsx +4 -1
- package/src/constants/copy.ts +2 -2
- package/src/constants/icons.tsx +3 -0
- package/src/index.ts +5 -3
- package/src/redux/actions/asset-list.ts +44 -37
- package/src/redux/actions/asset-uploads.ts +11 -1
- package/src/redux/reducers/asset-uploads.ts +13 -0
- package/src/services/API.ts +15 -0
- package/src/components/confirm-modal/ConfirmModal.tsx +0 -70
|
@@ -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
|
|
|
@@ -7,7 +7,8 @@ const assetUploadsActions: any = {
|
|
|
7
7
|
UPDATE_UPLOAD: 'assetUploads/UPDATE_UPLOAD',
|
|
8
8
|
UPDATE_PERCENT_UPLOADED: 'assetUploads/UPDATE_PERCENT_UPLOADED',
|
|
9
9
|
ADD_UPLOAD_ASSET_ID: 'assetUploads/ADD_UPLOAD_ASSET_ID',
|
|
10
|
-
REMOVE_UPLOAD: 'assetUploads/REMOVE_UPLOAD'
|
|
10
|
+
REMOVE_UPLOAD: 'assetUploads/REMOVE_UPLOAD',
|
|
11
|
+
ERROR: 'assetUploads/ERROR'
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
const POLL_INTERVAL: number = 5000;
|
|
@@ -241,6 +242,15 @@ const uploadAssetHandler = (api: IImposiumAPI, dispatch, getStore) => {
|
|
|
241
242
|
if (axios.isCancel(e) && currentQueue !== queueLength - 1) {
|
|
242
243
|
currentQueue = currentQueue + 1;
|
|
243
244
|
createPromise(currentQueue);
|
|
245
|
+
} else {
|
|
246
|
+
const error: any = { ...e };
|
|
247
|
+
const errorMsg = error.response.data.error.split(':')[0];
|
|
248
|
+
dispatch({
|
|
249
|
+
type: assetUploadsActions.ERROR,
|
|
250
|
+
filename: uploadBlobs[activeIndex].filename,
|
|
251
|
+
errorMsg
|
|
252
|
+
});
|
|
253
|
+
doAssetTableHydration(api, storyId);
|
|
244
254
|
}
|
|
245
255
|
});
|
|
246
256
|
}
|
|
@@ -47,6 +47,19 @@ const assetUploads = (state = initialState, action): any => {
|
|
|
47
47
|
...state,
|
|
48
48
|
uploads: state.uploads.filter((u: any) => u.filename !== action.filename)
|
|
49
49
|
};
|
|
50
|
+
case assetUploadsActions.ERROR:
|
|
51
|
+
const newError = state.uploads.map((u: any) => {
|
|
52
|
+
if (u.filename === action.filename) {
|
|
53
|
+
return { ...u, error: action.errorMsg };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return u;
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
...state,
|
|
61
|
+
uploads: newError
|
|
62
|
+
};
|
|
50
63
|
default:
|
|
51
64
|
return state;
|
|
52
65
|
}
|
package/src/services/API.ts
CHANGED
|
@@ -153,6 +153,9 @@ interface ITTSOptions {
|
|
|
153
153
|
voice: string;
|
|
154
154
|
service: string;
|
|
155
155
|
model?: string;
|
|
156
|
+
speed?: string;
|
|
157
|
+
pause_silences?: boolean;
|
|
158
|
+
minimum_silence_length?: number;
|
|
156
159
|
}
|
|
157
160
|
|
|
158
161
|
interface ICancelTokenCache {
|
|
@@ -1607,6 +1610,18 @@ export default class API {
|
|
|
1607
1610
|
url += `&model=${options.model}`;
|
|
1608
1611
|
}
|
|
1609
1612
|
|
|
1613
|
+
if (options.speed) {
|
|
1614
|
+
url += `&speed=${options.speed}`;
|
|
1615
|
+
}
|
|
1616
|
+
|
|
1617
|
+
if (options.pause_silences) {
|
|
1618
|
+
url += `&pause_silences=${options.pause_silences}`;
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
if (options.minimum_silence_length) {
|
|
1622
|
+
url += `&minimum_silence_length=${options.minimum_silence_length}`;
|
|
1623
|
+
}
|
|
1624
|
+
|
|
1610
1625
|
return this.doRequest({
|
|
1611
1626
|
url,
|
|
1612
1627
|
method: 'GET',
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import ReactDOM from 'react-dom';
|
|
3
|
-
import { useHotkeys } from 'react-hotkeys-hook';
|
|
4
|
-
import Modal from '../modal/Modal';
|
|
5
|
-
import Button from '../button/Button';
|
|
6
|
-
import { confirm as copy } from '../../constants/copy';
|
|
7
|
-
import Section from '../section/Section';
|
|
8
|
-
|
|
9
|
-
export const ConfirmModal = ({
|
|
10
|
-
onClose,
|
|
11
|
-
onYes,
|
|
12
|
-
onNo,
|
|
13
|
-
title,
|
|
14
|
-
onYesLabel,
|
|
15
|
-
onNoLabel,
|
|
16
|
-
showCancel
|
|
17
|
-
}) => {
|
|
18
|
-
useHotkeys('enter', onYes, { enableOnFormTags: true });
|
|
19
|
-
const { cancel } = copy;
|
|
20
|
-
|
|
21
|
-
const modal = (
|
|
22
|
-
<Modal
|
|
23
|
-
onRequestClose={onClose}
|
|
24
|
-
wrapperStyle={{
|
|
25
|
-
left: '0px',
|
|
26
|
-
width: '100%'
|
|
27
|
-
}}
|
|
28
|
-
style={{
|
|
29
|
-
width: '400px',
|
|
30
|
-
height: '12%',
|
|
31
|
-
top: 'calc(50% - 150px)',
|
|
32
|
-
left: 'calc((100% - 400px) / 2)'
|
|
33
|
-
}}
|
|
34
|
-
isOpen={true}>
|
|
35
|
-
<Section>
|
|
36
|
-
<div className='confirm-modal'>
|
|
37
|
-
<p>{title}</p>
|
|
38
|
-
<div className='confirm-buttons'>
|
|
39
|
-
{showCancel ? (
|
|
40
|
-
<Button
|
|
41
|
-
onClick={onClose}
|
|
42
|
-
size='large'
|
|
43
|
-
color='default'>
|
|
44
|
-
{cancel}
|
|
45
|
-
</Button>
|
|
46
|
-
) : null}
|
|
47
|
-
<Button
|
|
48
|
-
onClick={onNo}
|
|
49
|
-
size='large'
|
|
50
|
-
color='default'>
|
|
51
|
-
{onNoLabel}
|
|
52
|
-
</Button>
|
|
53
|
-
<Button
|
|
54
|
-
onClick={onYes}
|
|
55
|
-
size='large'
|
|
56
|
-
style='bold'
|
|
57
|
-
color='primary'>
|
|
58
|
-
{onYesLabel}
|
|
59
|
-
</Button>
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
</Section>
|
|
63
|
-
</Modal>
|
|
64
|
-
);
|
|
65
|
-
|
|
66
|
-
const PortalContextComponent = () =>
|
|
67
|
-
ReactDOM.createPortal(modal, document.querySelector('#react-root'));
|
|
68
|
-
|
|
69
|
-
return <PortalContextComponent />;
|
|
70
|
-
};
|