@imposium-hub/components 2.11.7-0 → 2.12.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/app-wrapper/AppWrapper.js +22 -2
- package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/cjs/components/config-variable-button/ConfigVariableButton.d.ts +1 -42
- package/dist/cjs/components/data-table/DataTable.d.ts +4 -0
- package/dist/cjs/components/data-table/DataTable.js +5 -1
- package/dist/cjs/components/data-table/DataTable.js.map +1 -1
- package/dist/cjs/components/data-table/Paginator.d.ts +4 -0
- package/dist/cjs/components/data-table/Paginator.js +26 -10
- package/dist/cjs/components/data-table/Paginator.js.map +1 -1
- package/dist/cjs/components/publish-wizard/PublishWizard.js +1 -9
- package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
- package/dist/cjs/services/API.d.ts +4 -0
- package/dist/cjs/services/API.js +35 -0
- package/dist/cjs/services/API.js.map +1 -1
- package/dist/esm/components/app-wrapper/AppWrapper.js +22 -2
- package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/esm/components/config-variable-button/ConfigVariableButton.d.ts +1 -42
- package/dist/esm/components/data-table/DataTable.d.ts +4 -0
- package/dist/esm/components/data-table/DataTable.js +5 -1
- package/dist/esm/components/data-table/DataTable.js.map +1 -1
- package/dist/esm/components/data-table/Paginator.d.ts +4 -0
- package/dist/esm/components/data-table/Paginator.js +26 -10
- package/dist/esm/components/data-table/Paginator.js.map +1 -1
- package/dist/esm/components/publish-wizard/PublishWizard.js +1 -9
- package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
- package/dist/esm/services/API.d.ts +4 -0
- package/dist/esm/services/API.js +35 -0
- package/dist/esm/services/API.js.map +1 -1
- package/dist/styles.css +6 -13
- package/dist/styles.less +9 -16
- package/less/components/publish-wizard.less +9 -16
- package/package.json +2 -1
- package/src/components/app-wrapper/AppWrapper.tsx +30 -2
- package/src/components/data-table/DataTable.tsx +10 -1
- package/src/components/data-table/Paginator.tsx +54 -25
- package/src/components/publish-wizard/PublishWizard.tsx +0 -10
- package/src/services/API.ts +57 -0
|
@@ -25,6 +25,10 @@ interface IPaginatorProps {
|
|
|
25
25
|
setPageSize: (size: number) => void;
|
|
26
26
|
itemsPerPage: number;
|
|
27
27
|
onItemsPerPage: (size: number) => void;
|
|
28
|
+
maxItemsPerPage?: number;
|
|
29
|
+
minItemsPerPage?: number;
|
|
30
|
+
useSimplePagination?: boolean;
|
|
31
|
+
hasMore?: boolean;
|
|
28
32
|
}
|
|
29
33
|
|
|
30
34
|
const Paginator: React.FC<IPaginatorProps> = ({
|
|
@@ -38,7 +42,11 @@ const Paginator: React.FC<IPaginatorProps> = ({
|
|
|
38
42
|
previousPage,
|
|
39
43
|
nextPage,
|
|
40
44
|
itemsPerPage,
|
|
41
|
-
onItemsPerPage
|
|
45
|
+
onItemsPerPage,
|
|
46
|
+
maxItemsPerPage,
|
|
47
|
+
minItemsPerPage,
|
|
48
|
+
useSimplePagination,
|
|
49
|
+
hasMore
|
|
42
50
|
}) => {
|
|
43
51
|
const [getPageIndex, setPageIndex] = React.useState<number>(pageIndex);
|
|
44
52
|
const [getItemsPerPage, setItemsPerPage] = React.useState<number>(itemsPerPage);
|
|
@@ -98,43 +106,60 @@ const Paginator: React.FC<IPaginatorProps> = ({
|
|
|
98
106
|
return (
|
|
99
107
|
<section className='ip-table-pagination'>
|
|
100
108
|
<span>
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
+
{!useSimplePagination && (
|
|
110
|
+
<Button
|
|
111
|
+
style='subtle'
|
|
112
|
+
size='small'
|
|
113
|
+
tooltip='Go to first page'
|
|
114
|
+
disabled={!canPreviousPage}
|
|
115
|
+
onClick={() => gotoPage(1, pageSize)}>
|
|
116
|
+
{ICON_ANGLE_DOUBLE_LEFT}
|
|
117
|
+
</Button>
|
|
118
|
+
)}
|
|
109
119
|
<Button
|
|
110
120
|
style='subtle'
|
|
111
121
|
size='small'
|
|
112
122
|
tooltip='Go to previous page'
|
|
113
|
-
disabled={!canPreviousPage}
|
|
114
|
-
onClick={() =>
|
|
123
|
+
disabled={(!canPreviousPage || !useSimplePagination) && getPageIndex === 1}
|
|
124
|
+
onClick={() => {
|
|
125
|
+
if (!useSimplePagination) {
|
|
126
|
+
previousPage();
|
|
127
|
+
} else {
|
|
128
|
+
gotoPage(getPageIndex - 1, pageSize);
|
|
129
|
+
}
|
|
130
|
+
}}>
|
|
115
131
|
{ICON_ANGLE_LEFT}
|
|
116
132
|
</Button>
|
|
117
133
|
<Button
|
|
118
134
|
style='subtle'
|
|
119
135
|
size='small'
|
|
120
136
|
tooltip='Go to next page'
|
|
121
|
-
disabled={!canNextPage}
|
|
122
|
-
onClick={() =>
|
|
137
|
+
disabled={(!canNextPage || !useSimplePagination) && !hasMore}
|
|
138
|
+
onClick={() => {
|
|
139
|
+
if (!useSimplePagination && !hasMore) {
|
|
140
|
+
nextPage();
|
|
141
|
+
} else {
|
|
142
|
+
gotoPage(getPageIndex + 1, pageSize);
|
|
143
|
+
}
|
|
144
|
+
}}>
|
|
123
145
|
{ICON_ANGLE_RIGHT}
|
|
124
146
|
</Button>
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
147
|
+
{!useSimplePagination && (
|
|
148
|
+
<Button
|
|
149
|
+
style='subtle'
|
|
150
|
+
size='small'
|
|
151
|
+
tooltip='Go to last page'
|
|
152
|
+
disabled={!canNextPage}
|
|
153
|
+
onClick={() => gotoPage(getPageCount, pageSize)}>
|
|
154
|
+
{ICON_ANGLE_DOUBLE_RIGHT}
|
|
155
|
+
</Button>
|
|
156
|
+
)}
|
|
133
157
|
|
|
134
158
|
<span>
|
|
135
159
|
{copy.table.page}
|
|
136
160
|
<strong>
|
|
137
|
-
{getPageIndex} of
|
|
161
|
+
{getPageIndex} {useSimplePagination ? '' : 'of'}{' '}
|
|
162
|
+
{!useSimplePagination ? getPageCount : ''}
|
|
138
163
|
</strong>
|
|
139
164
|
|
|
140
165
|
</span>
|
|
@@ -196,13 +221,17 @@ const Paginator: React.FC<IPaginatorProps> = ({
|
|
|
196
221
|
}}
|
|
197
222
|
onBlur={() => onItemsPerPageBlur()}
|
|
198
223
|
onKeyDown={(e) => onItemsPerPageKeyDown(e)}
|
|
224
|
+
max={maxItemsPerPage}
|
|
225
|
+
min={minItemsPerPage}
|
|
199
226
|
/>
|
|
200
227
|
</span>
|
|
201
228
|
</span>
|
|
202
229
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
230
|
+
{!useSimplePagination && (
|
|
231
|
+
<span className='total-assets'>
|
|
232
|
+
{copy.table.total} <strong>{totalItems || 0}</strong>
|
|
233
|
+
</span>
|
|
234
|
+
)}
|
|
206
235
|
</section>
|
|
207
236
|
);
|
|
208
237
|
};
|
|
@@ -554,15 +554,6 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
|
|
|
554
554
|
</span>
|
|
555
555
|
),
|
|
556
556
|
link: `${creativeManagerBaseUrl}/library/${story.creativeLibraryId}/creative/${story.creativeId}/versions/`
|
|
557
|
-
},
|
|
558
|
-
{
|
|
559
|
-
label: (
|
|
560
|
-
<span>
|
|
561
|
-
{ICON_IMAGE} {copy.publish.btnCRM}
|
|
562
|
-
</span>
|
|
563
|
-
),
|
|
564
|
-
onClick: (e) => this.onSelectOption(8),
|
|
565
|
-
style: { width: 'calc(100% - 4px)' }
|
|
566
557
|
}
|
|
567
558
|
];
|
|
568
559
|
|
|
@@ -634,7 +625,6 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
|
|
|
634
625
|
disabled={!selectedComposition}
|
|
635
626
|
label={option.label}
|
|
636
627
|
onClick={option.onClick}
|
|
637
|
-
style={option.style}
|
|
638
628
|
/>
|
|
639
629
|
);
|
|
640
630
|
}
|
package/src/services/API.ts
CHANGED
|
@@ -161,6 +161,8 @@ export interface IImposiumAPI {
|
|
|
161
161
|
removeQueueAssoc(queueId: string, storyId: string);
|
|
162
162
|
getQueueStories(config: any, itemsPerPage: number);
|
|
163
163
|
cancelAllPendingRequests();
|
|
164
|
+
getTTSVoices(params: any);
|
|
165
|
+
getCustomVoice(voiceId: string);
|
|
164
166
|
getToken: any;
|
|
165
167
|
}
|
|
166
168
|
|
|
@@ -1804,4 +1806,59 @@ export default class API {
|
|
|
1804
1806
|
url
|
|
1805
1807
|
});
|
|
1806
1808
|
};
|
|
1809
|
+
|
|
1810
|
+
public getTTSVoices = (params: any): Promise<any | Error> => {
|
|
1811
|
+
const {
|
|
1812
|
+
page,
|
|
1813
|
+
page_size,
|
|
1814
|
+
selected_voice_id,
|
|
1815
|
+
search,
|
|
1816
|
+
language,
|
|
1817
|
+
accent,
|
|
1818
|
+
category,
|
|
1819
|
+
gender,
|
|
1820
|
+
age
|
|
1821
|
+
} = params;
|
|
1822
|
+
let url = `/text-to-speech/voices?service=ElevenLabs&page=${page}&page_size=${page_size}`;
|
|
1823
|
+
|
|
1824
|
+
if (selected_voice_id) {
|
|
1825
|
+
url += `&selected_voice_id=${selected_voice_id}`;
|
|
1826
|
+
}
|
|
1827
|
+
|
|
1828
|
+
if (search) {
|
|
1829
|
+
url += `&search=${search}`;
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1832
|
+
if (language) {
|
|
1833
|
+
url += `&language=${language}`;
|
|
1834
|
+
}
|
|
1835
|
+
|
|
1836
|
+
if (accent) {
|
|
1837
|
+
url += `&accent=${accent}`;
|
|
1838
|
+
}
|
|
1839
|
+
|
|
1840
|
+
if (category) {
|
|
1841
|
+
url += `&category=${category}`;
|
|
1842
|
+
}
|
|
1843
|
+
|
|
1844
|
+
if (gender) {
|
|
1845
|
+
url += `&gender=${gender}`;
|
|
1846
|
+
}
|
|
1847
|
+
|
|
1848
|
+
if (age) {
|
|
1849
|
+
url += `&age=${age}`;
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
return this.doRequest({
|
|
1853
|
+
method: 'GET',
|
|
1854
|
+
url
|
|
1855
|
+
});
|
|
1856
|
+
};
|
|
1857
|
+
|
|
1858
|
+
public getCustomVoice = (voiceId: string): Promise<any | Error> => {
|
|
1859
|
+
return this.doRequest({
|
|
1860
|
+
method: 'GET',
|
|
1861
|
+
url: `/text-to-speech/voice?service=ElevenLabs&id=${voiceId}`
|
|
1862
|
+
});
|
|
1863
|
+
};
|
|
1807
1864
|
}
|