@imposium-hub/components 2.5.10-1 → 2.5.10-10
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 +1 -0
- package/dist/cjs/components/card/Card.js +17 -4
- package/dist/cjs/components/card/Card.js.map +1 -1
- package/dist/cjs/components/data-table/Paginator.js +51 -7
- package/dist/cjs/components/data-table/Paginator.js.map +1 -1
- package/dist/cjs/components/smpte-field/SMPTEField.d.ts +2 -1
- package/dist/cjs/components/smpte-field/SMPTEField.js +9 -3
- package/dist/cjs/components/smpte-field/SMPTEField.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/redux/actions/asset-list.js +34 -42
- package/dist/cjs/redux/actions/asset-list.js.map +1 -1
- package/dist/esm/components/card/Card.d.ts +1 -0
- package/dist/esm/components/card/Card.js +16 -4
- package/dist/esm/components/card/Card.js.map +1 -1
- package/dist/esm/components/data-table/Paginator.js +74 -44
- package/dist/esm/components/data-table/Paginator.js.map +1 -1
- package/dist/esm/components/smpte-field/SMPTEField.d.ts +2 -1
- package/dist/esm/components/smpte-field/SMPTEField.js +9 -3
- package/dist/esm/components/smpte-field/SMPTEField.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/redux/actions/asset-list.js +34 -42
- package/dist/esm/redux/actions/asset-list.js.map +1 -1
- package/dist/styles.css +10 -0
- package/dist/styles.less +13 -0
- package/less/components/data-table.less +4 -0
- package/less/components/form-field.less +4 -0
- 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/card/Card.tsx +27 -13
- package/src/components/data-table/Paginator.tsx +140 -93
- package/src/components/smpte-field/SMPTEField.tsx +8 -3
- package/src/index.ts +4 -0
- package/src/redux/actions/asset-list.ts +37 -44
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter copy.d.ts +0 -2
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter copy.js +0 -94
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter copy.js.map +0 -1
- package/dist/cjs/components/assets/AssetsTableNameFilter copy.d.ts +0 -2
- package/dist/cjs/components/assets/AssetsTableNameFilter copy.js +0 -94
- package/dist/cjs/components/assets/AssetsTableNameFilter copy.js.map +0 -1
- package/dist/cjs/redux/actions/notifications.d.ts +0 -8
- package/dist/cjs/redux/actions/notifications.js +0 -56
- package/dist/cjs/redux/actions/notifications.js.map +0 -1
- package/dist/cjs/redux/reducers/notifications.d.ts +0 -8
- package/dist/cjs/redux/reducers/notifications.js +0 -45
- package/dist/cjs/redux/reducers/notifications.js.map +0 -1
- package/dist/esm/components/assets/AssetsTableAssetIdFilter copy.d.ts +0 -2
- package/dist/esm/components/assets/AssetsTableAssetIdFilter copy.js +0 -20
- package/dist/esm/components/assets/AssetsTableAssetIdFilter copy.js.map +0 -1
- package/dist/esm/components/assets/AssetsTableNameFilter copy.d.ts +0 -2
- package/dist/esm/components/assets/AssetsTableNameFilter copy.js +0 -20
- package/dist/esm/components/assets/AssetsTableNameFilter copy.js.map +0 -1
- package/dist/esm/redux/actions/notifications.d.ts +0 -8
- package/dist/esm/redux/actions/notifications.js +0 -47
- package/dist/esm/redux/actions/notifications.js.map +0 -1
- package/dist/esm/redux/reducers/notifications.d.ts +0 -8
- package/dist/esm/redux/reducers/notifications.js +0 -14
- package/dist/esm/redux/reducers/notifications.js.map +0 -1
|
@@ -0,0 +1,40 @@
|
|
|
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;
|
|
@@ -11,6 +11,7 @@ interface ICardProps {
|
|
|
11
11
|
onOpen?: (e: any) => any;
|
|
12
12
|
onClose?: (e: any) => any;
|
|
13
13
|
onToggle?: (toggle: boolean) => any;
|
|
14
|
+
buttons?: any[];
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
interface ICardState {
|
|
@@ -97,9 +98,7 @@ class Card extends React.PureComponent<ICardProps, ICardState> {
|
|
|
97
98
|
|
|
98
99
|
return (
|
|
99
100
|
<div className={`card ${openClass} ${collapsableClass} ${styleClass}`}>
|
|
100
|
-
<div
|
|
101
|
-
className='card-header'
|
|
102
|
-
onClick={this.evtHandlers.toggleOpen}>
|
|
101
|
+
<div className='card-header'>
|
|
103
102
|
{this.renderTitle(styleClass)}
|
|
104
103
|
{this.renderButtons()}
|
|
105
104
|
</div>
|
|
@@ -109,21 +108,36 @@ class Card extends React.PureComponent<ICardProps, ICardState> {
|
|
|
109
108
|
}
|
|
110
109
|
|
|
111
110
|
public renderButtons() {
|
|
112
|
-
const { collapsable } = this.props;
|
|
111
|
+
const { collapsable, buttons } = this.props;
|
|
113
112
|
const { open } = this.state;
|
|
114
113
|
const buttonIcon = open ? ICON_CARET_UP : ICON_CARET_DOWN;
|
|
115
114
|
|
|
115
|
+
let buttonArray: JSX.Element[];
|
|
116
|
+
|
|
117
|
+
const toggleBtn = (
|
|
118
|
+
<Button
|
|
119
|
+
key='toggleOpen'
|
|
120
|
+
style='subtle'
|
|
121
|
+
onClick={(e) => this.toggleOpen(e)}>
|
|
122
|
+
{buttonIcon}
|
|
123
|
+
</Button>
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
if (buttons && buttons.length > 0) {
|
|
127
|
+
buttonArray = buttons.map((button) => {
|
|
128
|
+
return button;
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
116
132
|
if (collapsable) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
{buttonIcon}
|
|
123
|
-
</Button>
|
|
124
|
-
</div>
|
|
125
|
-
);
|
|
133
|
+
if (buttonArray && buttonArray.length > 0) {
|
|
134
|
+
buttonArray.push(toggleBtn);
|
|
135
|
+
} else {
|
|
136
|
+
buttonArray = [toggleBtn];
|
|
137
|
+
}
|
|
126
138
|
}
|
|
139
|
+
|
|
140
|
+
return <div className='header-buttons'>{buttonArray}</div>;
|
|
127
141
|
}
|
|
128
142
|
}
|
|
129
143
|
|
|
@@ -26,102 +26,149 @@ const Paginator: React.FC<any> = ({
|
|
|
26
26
|
setPageSize,
|
|
27
27
|
itemsPerPage,
|
|
28
28
|
onItemsPerPage
|
|
29
|
-
}) =>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
29
|
+
}) => {
|
|
30
|
+
const [getPageIndex, setPageIndex] = React.useState<number>(pageIndex);
|
|
31
|
+
const [getItemsPerPage, setItemsPerPage] = React.useState<number>(itemsPerPage);
|
|
32
|
+
|
|
33
|
+
React.useEffect(() => {
|
|
34
|
+
if (pageIndex !== getPageIndex) {
|
|
35
|
+
setPageIndex(pageIndex);
|
|
36
|
+
}
|
|
37
|
+
}, [pageIndex]);
|
|
38
|
+
|
|
39
|
+
const onItemsPerPageBlur = () => {
|
|
40
|
+
clearTimeout(textInputTimeout);
|
|
41
|
+
onItemsPerPage(getItemsPerPage);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const onGoToPageBlur = () => {
|
|
45
|
+
clearTimeout(textInputTimeout);
|
|
46
|
+
gotoPage(getPageIndex, pageSize);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const onItemsPerPageKeyDown = (e) => {
|
|
50
|
+
if (e.key === 'Enter') {
|
|
51
|
+
clearTimeout(textInputTimeout);
|
|
52
|
+
onItemsPerPage(getItemsPerPage);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const onGoToPageKeyDown = (e) => {
|
|
57
|
+
if (e.key === 'Enter') {
|
|
58
|
+
clearTimeout(textInputTimeout);
|
|
59
|
+
gotoPage(getPageIndex, pageSize);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return (
|
|
64
|
+
<section className='ip-table-pagination'>
|
|
65
65
|
<span>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
<Button
|
|
67
|
+
style='subtle'
|
|
68
|
+
size='small'
|
|
69
|
+
tooltip='Go to first page'
|
|
70
|
+
disabled={!canPreviousPage}
|
|
71
|
+
onClick={() => gotoPage(1, pageSize)}>
|
|
72
|
+
{ICON_ANGLE_DOUBLE_LEFT}
|
|
73
|
+
</Button>
|
|
74
|
+
<Button
|
|
75
|
+
style='subtle'
|
|
76
|
+
size='small'
|
|
77
|
+
tooltip='Go to previous page'
|
|
78
|
+
disabled={!canPreviousPage}
|
|
79
|
+
onClick={() => previousPage()}>
|
|
80
|
+
{ICON_ANGLE_LEFT}
|
|
81
|
+
</Button>
|
|
82
|
+
<Button
|
|
83
|
+
style='subtle'
|
|
84
|
+
size='small'
|
|
85
|
+
tooltip='Go to next page'
|
|
86
|
+
disabled={!canNextPage}
|
|
87
|
+
onClick={() => nextPage()}>
|
|
88
|
+
{ICON_ANGLE_RIGHT}
|
|
89
|
+
</Button>
|
|
90
|
+
<Button
|
|
91
|
+
style='subtle'
|
|
92
|
+
size='small'
|
|
93
|
+
tooltip='Go to last page'
|
|
94
|
+
disabled={!canNextPage}
|
|
95
|
+
onClick={() => gotoPage(pageCount, pageSize)}>
|
|
96
|
+
{ICON_ANGLE_DOUBLE_RIGHT}
|
|
97
|
+
</Button>
|
|
70
98
|
|
|
99
|
+
<span>
|
|
100
|
+
{copy.table.page}
|
|
101
|
+
<strong>
|
|
102
|
+
{getPageIndex} of {pageCount}
|
|
103
|
+
</strong>
|
|
104
|
+
|
|
105
|
+
</span>
|
|
106
|
+
<span>
|
|
107
|
+
{copy.table.goToPage}
|
|
108
|
+
<input
|
|
109
|
+
className='paginator-input'
|
|
110
|
+
type='number'
|
|
111
|
+
placeholder={getPageIndex.toString()}
|
|
112
|
+
onChange={(e) => {
|
|
113
|
+
const input = e.target.value;
|
|
114
|
+
const inputNum = Number(input);
|
|
115
|
+
let next: number;
|
|
116
|
+
|
|
117
|
+
clearTimeout(textInputTimeout);
|
|
118
|
+
|
|
119
|
+
if (!input || inputNum < 1 || inputNum > pageCount) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (inputNum >= 1 && inputNum <= pageCount) {
|
|
124
|
+
next = inputNum;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
textInputTimeout = window.setTimeout(
|
|
128
|
+
() => gotoPage(next, pageSize),
|
|
129
|
+
1000
|
|
130
|
+
);
|
|
131
|
+
}}
|
|
132
|
+
onBlur={() => onGoToPageBlur()}
|
|
133
|
+
onKeyDown={(e) => onGoToPageKeyDown(e)}
|
|
134
|
+
/>
|
|
135
|
+
</span>
|
|
136
|
+
|
|
137
|
+
<span>
|
|
138
|
+
{copy.table.itemsPerPage}
|
|
139
|
+
<input
|
|
140
|
+
className='paginator-input'
|
|
141
|
+
type='number'
|
|
142
|
+
placeholder={getItemsPerPage.toString()}
|
|
143
|
+
min={1}
|
|
144
|
+
onChange={(e) => {
|
|
145
|
+
const input = e.target.value;
|
|
146
|
+
const inputNum = Number(input);
|
|
147
|
+
|
|
148
|
+
clearTimeout(textInputTimeout);
|
|
149
|
+
|
|
150
|
+
if (!input || inputNum < 1) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
setItemsPerPage(inputNum);
|
|
155
|
+
|
|
156
|
+
textInputTimeout = window.setTimeout(
|
|
157
|
+
() => onItemsPerPage(inputNum),
|
|
158
|
+
1000
|
|
159
|
+
);
|
|
160
|
+
}}
|
|
161
|
+
onBlur={() => onItemsPerPageBlur()}
|
|
162
|
+
onKeyDown={(e) => onItemsPerPageKeyDown(e)}
|
|
163
|
+
/>
|
|
164
|
+
</span>
|
|
71
165
|
</span>
|
|
72
|
-
<span>
|
|
73
|
-
{copy.table.goToPage}
|
|
74
|
-
<input
|
|
75
|
-
className='paginator-input'
|
|
76
|
-
type='number'
|
|
77
|
-
placeholder={pageIndex}
|
|
78
|
-
onChange={(e) => {
|
|
79
|
-
const input = e.target.value;
|
|
80
|
-
const inputNum = Number(input);
|
|
81
|
-
let next: number;
|
|
82
|
-
|
|
83
|
-
clearTimeout(textInputTimeout);
|
|
84
|
-
|
|
85
|
-
if (!input || inputNum < 1 || inputNum > pageCount) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (inputNum >= 1 && inputNum <= pageCount) {
|
|
90
|
-
next = inputNum;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
textInputTimeout = window.setTimeout(() => gotoPage(next, pageSize), 300);
|
|
94
|
-
}}
|
|
95
|
-
/>
|
|
96
|
-
</span>
|
|
97
|
-
|
|
98
|
-
<span>
|
|
99
|
-
{copy.table.itemsPerPage}
|
|
100
|
-
<input
|
|
101
|
-
className='paginator-input'
|
|
102
|
-
type='number'
|
|
103
|
-
placeholder={itemsPerPage}
|
|
104
|
-
min={1}
|
|
105
|
-
onChange={(e) => {
|
|
106
|
-
const input = e.target.value;
|
|
107
|
-
const inputNum = Number(input);
|
|
108
|
-
|
|
109
|
-
clearTimeout(textInputTimeout);
|
|
110
|
-
|
|
111
|
-
if (!input || inputNum < 1) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
textInputTimeout = window.setTimeout(() => onItemsPerPage(inputNum), 300);
|
|
116
|
-
}}
|
|
117
|
-
/>
|
|
118
|
-
</span>
|
|
119
|
-
</span>
|
|
120
166
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
);
|
|
167
|
+
<span className='total-assets'>
|
|
168
|
+
{copy.table.total} <strong>{totalItems || 0}</strong>
|
|
169
|
+
</span>
|
|
170
|
+
</section>
|
|
171
|
+
);
|
|
172
|
+
};
|
|
126
173
|
|
|
127
174
|
export default Paginator;
|
|
@@ -12,6 +12,7 @@ interface ISMPTEFieldProps {
|
|
|
12
12
|
width?: string | number;
|
|
13
13
|
onChange?(e): void;
|
|
14
14
|
onBlur?(e): void;
|
|
15
|
+
onError?(e): void;
|
|
15
16
|
info?: string;
|
|
16
17
|
labelPosition?: string;
|
|
17
18
|
labelWidth?: string | number;
|
|
@@ -75,7 +76,7 @@ class SMPTEField extends React.PureComponent<ISMPTEFieldProps, ISMPTEFieldState>
|
|
|
75
76
|
|
|
76
77
|
private onBlur(e?) {
|
|
77
78
|
const val = e ? e.target.value : this.inputRef.current.value;
|
|
78
|
-
const isValid = this.
|
|
79
|
+
const isValid = this.SMTPEValidator(val);
|
|
79
80
|
|
|
80
81
|
if (e && e.key === 'Enter') {
|
|
81
82
|
this.setDuration(isValid, val);
|
|
@@ -88,10 +89,12 @@ class SMPTEField extends React.PureComponent<ISMPTEFieldProps, ISMPTEFieldState>
|
|
|
88
89
|
|
|
89
90
|
private onChange() {
|
|
90
91
|
const val = this.inputRef.current.value;
|
|
91
|
-
const isValid = this.
|
|
92
|
+
const isValid = this.SMTPEValidator(val);
|
|
92
93
|
|
|
93
94
|
if (isValid) {
|
|
94
95
|
this.props.onChange(val);
|
|
96
|
+
} else {
|
|
97
|
+
this.props.onError(isValid);
|
|
95
98
|
}
|
|
96
99
|
}
|
|
97
100
|
|
|
@@ -101,11 +104,13 @@ class SMPTEField extends React.PureComponent<ISMPTEFieldProps, ISMPTEFieldState>
|
|
|
101
104
|
const smpte = getSMPTE(frameRate, val);
|
|
102
105
|
if (smpte && this.props.onBlur) {
|
|
103
106
|
this.props.onBlur(smpte);
|
|
107
|
+
} else {
|
|
108
|
+
this.props.onError(isValid);
|
|
104
109
|
}
|
|
105
110
|
}
|
|
106
111
|
}
|
|
107
112
|
|
|
108
|
-
private
|
|
113
|
+
private SMTPEValidator(val) {
|
|
109
114
|
const isValidSMPTETimeCode = new RegExp(this.regex);
|
|
110
115
|
const isValid = isValidSMPTETimeCode.test(val);
|
|
111
116
|
const errorMsg = isValid ? null : TIMECODE.ERROR;
|
package/src/index.ts
CHANGED
|
@@ -40,6 +40,7 @@ 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';
|
|
43
44
|
import AssetsTableSelectCell from './components/assets/AssetsTableSelectCell';
|
|
44
45
|
import AssetsTableSelectFilter from './components/assets/AssetsTableSelectFilter';
|
|
45
46
|
import AssetsTableTagsCell from './components/assets/AssetsTableTagsCell';
|
|
@@ -159,6 +160,7 @@ import ContextMenuTrigger from './components/context-menu/ContextMenuTrigger';
|
|
|
159
160
|
import CopyPropIdButton from './components/copy-prop-id-button/CopyPropIdButton';
|
|
160
161
|
import Submenu from './components/context-menu/SubMenu';
|
|
161
162
|
import { ConfirmModal } from './components/confirm-modal/ConfirmModal';
|
|
163
|
+
import AssetsTableAssetIdCell from './components/assets/AssetsTableAssetIdCell';
|
|
162
164
|
|
|
163
165
|
export {
|
|
164
166
|
AppWrapper,
|
|
@@ -217,6 +219,8 @@ export {
|
|
|
217
219
|
AssetsTableGlobalCell,
|
|
218
220
|
AssetsTableStatusCell,
|
|
219
221
|
AssetsTableNameFilter,
|
|
222
|
+
AssetsTableAssetIdFilter,
|
|
223
|
+
AssetsTableAssetIdCell,
|
|
220
224
|
AssetsTableNameCell,
|
|
221
225
|
AssetsTableDurationCell,
|
|
222
226
|
AssetsTableRateCell,
|
|
@@ -78,22 +78,19 @@ 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
|
-
|
|
94
|
-
} else {
|
|
95
|
-
return Promise.resolve(false);
|
|
96
|
-
}
|
|
81
|
+
return new Promise<boolean>((resolve, reject) => {
|
|
82
|
+
dispatch(toggleLoading(true));
|
|
83
|
+
api.deleteAssets(ids)
|
|
84
|
+
.then(() => {
|
|
85
|
+
dispatch(getAssets(api, storyId));
|
|
86
|
+
dispatch(toggleLoading(false));
|
|
87
|
+
resolve(true);
|
|
88
|
+
})
|
|
89
|
+
.catch((errors: Error[]) => {
|
|
90
|
+
dispatch(toggleLoading(false));
|
|
91
|
+
reject(false);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
97
94
|
};
|
|
98
95
|
};
|
|
99
96
|
|
|
@@ -194,20 +191,18 @@ export const deleteAssetTags = (api: IImposiumAPI, id: string): any => {
|
|
|
194
191
|
|
|
195
192
|
export const deleteAssetsTags = (api: IImposiumAPI, ids: string[], storyId: string): any => {
|
|
196
193
|
return (dispatch) => {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
});
|
|
210
|
-
}
|
|
194
|
+
return new Promise<void>((resolve, reject) => {
|
|
195
|
+
dispatch(toggleLoading(true));
|
|
196
|
+
api.deleteAssetsTags(ids)
|
|
197
|
+
.then(() => {
|
|
198
|
+
dispatch(getAssets(api, storyId));
|
|
199
|
+
resolve();
|
|
200
|
+
})
|
|
201
|
+
.catch((errors: Error[]) => {
|
|
202
|
+
dispatch(toggleLoading(false));
|
|
203
|
+
reject();
|
|
204
|
+
});
|
|
205
|
+
});
|
|
211
206
|
};
|
|
212
207
|
};
|
|
213
208
|
|
|
@@ -245,20 +240,18 @@ export const updateAssetStory = (api: IImposiumAPI, id: string, storyId: string)
|
|
|
245
240
|
|
|
246
241
|
export const decoupleAssets = (api: IImposiumAPI, ids: string[], storyId: string): any => {
|
|
247
242
|
return (dispatch) => {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
});
|
|
261
|
-
}
|
|
243
|
+
return new Promise<void>((resolve, reject) => {
|
|
244
|
+
dispatch(toggleLoading(true));
|
|
245
|
+
api.decoupleAssets(ids)
|
|
246
|
+
.then(() => {
|
|
247
|
+
dispatch(getAssets(api, storyId));
|
|
248
|
+
resolve();
|
|
249
|
+
})
|
|
250
|
+
.catch((errors: Error[]) => {
|
|
251
|
+
dispatch(toggleLoading(false));
|
|
252
|
+
reject();
|
|
253
|
+
});
|
|
254
|
+
});
|
|
262
255
|
};
|
|
263
256
|
};
|
|
264
257
|
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
-
if (k2 === undefined) k2 = k;
|
|
19
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
-
}
|
|
23
|
-
Object.defineProperty(o, k2, desc);
|
|
24
|
-
}) : (function(o, m, k, k2) {
|
|
25
|
-
if (k2 === undefined) k2 = k;
|
|
26
|
-
o[k2] = m[k];
|
|
27
|
-
}));
|
|
28
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
-
}) : function(o, v) {
|
|
31
|
-
o["default"] = v;
|
|
32
|
-
});
|
|
33
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
41
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
42
|
-
if (!m) return o;
|
|
43
|
-
var i = m.call(o), r, ar = [], e;
|
|
44
|
-
try {
|
|
45
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
46
|
-
}
|
|
47
|
-
catch (error) { e = { error: error }; }
|
|
48
|
-
finally {
|
|
49
|
-
try {
|
|
50
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
51
|
-
}
|
|
52
|
-
finally { if (e) throw e.error; }
|
|
53
|
-
}
|
|
54
|
-
return ar;
|
|
55
|
-
};
|
|
56
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
57
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
58
|
-
if (ar || !(i in from)) {
|
|
59
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
60
|
-
ar[i] = from[i];
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
64
|
-
};
|
|
65
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
66
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
67
|
-
};
|
|
68
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
69
|
-
var React = __importStar(require("react"));
|
|
70
|
-
var TextField_1 = __importDefault(require("../text-field/TextField"));
|
|
71
|
-
var asset_filters_1 = require("../../redux/actions/asset-filters");
|
|
72
|
-
var react_redux_1 = require("react-redux");
|
|
73
|
-
var redux_1 = require("redux");
|
|
74
|
-
var AssetsTableAssetIdFilter = /** @class */ (function (_super) {
|
|
75
|
-
__extends(AssetsTableAssetIdFilter, _super);
|
|
76
|
-
function AssetsTableAssetIdFilter() {
|
|
77
|
-
var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
|
|
78
|
-
_this.render = function () {
|
|
79
|
-
var assetFilters = _this.props.assetFilters;
|
|
80
|
-
return (React.createElement(TextField_1.default, { className: 'asset-id', submittable: true, submittableType: 'search', value: assetFilters.id, doSubmit: function (n) { return _this.props.updateFilters({ id: n }); } }));
|
|
81
|
-
};
|
|
82
|
-
return _this;
|
|
83
|
-
}
|
|
84
|
-
return AssetsTableAssetIdFilter;
|
|
85
|
-
}(React.PureComponent));
|
|
86
|
-
var mapDispatchToProps = function (dispatch) {
|
|
87
|
-
return (0, redux_1.bindActionCreators)({ updateFilters: asset_filters_1.updateFilters }, dispatch);
|
|
88
|
-
};
|
|
89
|
-
var mapStateToProps = function (state) {
|
|
90
|
-
return { assetFilters: state.assetFilters };
|
|
91
|
-
};
|
|
92
|
-
var AssetsTableAssetIdFilterMemoized = (0, react_redux_1.connect)(mapStateToProps, mapDispatchToProps)(React.memo(AssetsTableAssetIdFilter));
|
|
93
|
-
exports.default = AssetsTableAssetIdFilterMemoized;
|
|
94
|
-
//# sourceMappingURL=AssetsTableAssetIdFilter%20copy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsTableAssetIdFilter copy.js","sourceRoot":"","sources":["../../../../src/components/assets/AssetsTableAssetIdFilter copy.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,sEAAgD;AAChD,mEAAkE;AAClE,2CAAsC;AACtC,+BAA2C;AAO3C;IAAuC,4CAAmD;IAA1F;;QACW,YAAM,GAAG;YACJ,IAAA,YAAY,GAAK,KAAI,CAAC,KAAK,aAAf,CAAgB;YAEpC,OAAO,CACH,oBAAC,mBAAS,IACN,SAAS,EAAC,UAAU,EACpB,WAAW,QACX,eAAe,EAAC,QAAQ,EACxB,KAAK,EAAE,YAAY,CAAC,EAAE,EACtB,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAnC,CAAmC,GACtD,CACL,CAAC;QACN,CAAC,CAAC;;IACN,CAAC;IAAD,+BAAC;AAAD,CAAC,AAdD,CAAuC,KAAK,CAAC,aAAa,GAczD;AAED,IAAM,kBAAkB,GAAG,UAAC,QAAQ;IAChC,OAAO,IAAA,0BAAkB,EAAC,EAAE,aAAa,+BAAA,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,IAAM,eAAe,GAAG,UAAC,KAAK;IAC1B,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;AAChD,CAAC,CAAC;AAEF,IAAM,gCAAgC,GAAG,IAAA,qBAAO,EAC5C,eAAe,EACf,kBAAkB,CACrB,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;AACxC,kBAAe,gCAAgC,CAAC"}
|