@imposium-hub/components 2.5.8 → 2.5.10-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.
Files changed (134) hide show
  1. package/dist/cjs/components/assets/AssetsTableAssetIdCell.d.ts +2 -0
  2. package/dist/cjs/components/assets/AssetsTableAssetIdCell.js +56 -0
  3. package/dist/cjs/components/assets/AssetsTableAssetIdCell.js.map +1 -0
  4. package/dist/cjs/components/assets/AssetsTableAssetIdFilter copy.d.ts +2 -0
  5. package/dist/cjs/components/assets/AssetsTableAssetIdFilter copy.js +94 -0
  6. package/dist/cjs/components/assets/AssetsTableAssetIdFilter copy.js.map +1 -0
  7. package/dist/cjs/components/assets/AssetsTableAssetIdFilter.d.ts +2 -0
  8. package/dist/cjs/components/assets/AssetsTableAssetIdFilter.js +94 -0
  9. package/dist/cjs/components/assets/AssetsTableAssetIdFilter.js.map +1 -0
  10. package/dist/cjs/components/assets/AssetsTableNameFilter copy.d.ts +2 -0
  11. package/dist/cjs/components/assets/AssetsTableNameFilter copy.js +94 -0
  12. package/dist/cjs/components/assets/AssetsTableNameFilter copy.js.map +1 -0
  13. package/dist/cjs/components/assets/AssetsTypeIcon.js +2 -0
  14. package/dist/cjs/components/assets/AssetsTypeIcon.js.map +1 -1
  15. package/dist/cjs/components/confirm-modal/ConfirmModal.d.ts +8 -0
  16. package/dist/cjs/components/confirm-modal/ConfirmModal.js +39 -0
  17. package/dist/cjs/components/confirm-modal/ConfirmModal.js.map +1 -0
  18. package/dist/cjs/components/data-table/DataTable.js +8 -4
  19. package/dist/cjs/components/data-table/DataTable.js.map +1 -1
  20. package/dist/cjs/components/data-table/Paginator.js +7 -41
  21. package/dist/cjs/components/data-table/Paginator.js.map +1 -1
  22. package/dist/cjs/components/header/Header.js +1 -1
  23. package/dist/cjs/components/header/Header.js.map +1 -1
  24. package/dist/cjs/constants/icons.d.ts +1 -0
  25. package/dist/cjs/constants/icons.js +2 -1
  26. package/dist/cjs/constants/icons.js.map +1 -1
  27. package/dist/cjs/redux/actions/asset-uploads.d.ts +1 -1
  28. package/dist/cjs/redux/actions/asset-uploads.js +10 -3
  29. package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
  30. package/dist/cjs/redux/actions/notifications.d.ts +8 -0
  31. package/dist/cjs/redux/actions/notifications.js +56 -0
  32. package/dist/cjs/redux/actions/notifications.js.map +1 -0
  33. package/dist/cjs/redux/reducers/notifications.d.ts +8 -0
  34. package/dist/cjs/redux/reducers/notifications.js +45 -0
  35. package/dist/cjs/redux/reducers/notifications.js.map +1 -0
  36. package/dist/esm/components/assets/AssetsTableAssetIdCell.d.ts +2 -0
  37. package/dist/esm/components/assets/AssetsTableAssetIdCell.js +31 -0
  38. package/dist/esm/components/assets/AssetsTableAssetIdCell.js.map +1 -0
  39. package/dist/esm/components/assets/AssetsTableAssetIdFilter copy.d.ts +2 -0
  40. package/dist/esm/components/assets/AssetsTableAssetIdFilter copy.js +20 -0
  41. package/dist/esm/components/assets/AssetsTableAssetIdFilter copy.js.map +1 -0
  42. package/dist/esm/components/assets/AssetsTableAssetIdFilter.d.ts +2 -0
  43. package/dist/esm/components/assets/AssetsTableAssetIdFilter.js +20 -0
  44. package/dist/esm/components/assets/AssetsTableAssetIdFilter.js.map +1 -0
  45. package/dist/esm/components/assets/AssetsTableNameFilter copy.d.ts +2 -0
  46. package/dist/esm/components/assets/AssetsTableNameFilter copy.js +20 -0
  47. package/dist/esm/components/assets/AssetsTableNameFilter copy.js.map +1 -0
  48. package/dist/esm/components/assets/AssetsTypeIcon.js +3 -1
  49. package/dist/esm/components/assets/AssetsTypeIcon.js.map +1 -1
  50. package/dist/esm/components/confirm-modal/ConfirmModal.d.ts +8 -0
  51. package/dist/esm/components/confirm-modal/ConfirmModal.js +29 -0
  52. package/dist/esm/components/confirm-modal/ConfirmModal.js.map +1 -0
  53. package/dist/esm/components/data-table/DataTable.js +8 -4
  54. package/dist/esm/components/data-table/DataTable.js.map +1 -1
  55. package/dist/esm/components/data-table/Paginator.js +44 -64
  56. package/dist/esm/components/data-table/Paginator.js.map +1 -1
  57. package/dist/esm/components/header/Header.js +1 -1
  58. package/dist/esm/components/header/Header.js.map +1 -1
  59. package/dist/esm/constants/icons.d.ts +1 -0
  60. package/dist/esm/constants/icons.js +2 -1
  61. package/dist/esm/constants/icons.js.map +1 -1
  62. package/dist/esm/redux/actions/asset-uploads.d.ts +1 -1
  63. package/dist/esm/redux/actions/asset-uploads.js +10 -3
  64. package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
  65. package/dist/esm/redux/actions/notifications.d.ts +8 -0
  66. package/dist/esm/redux/actions/notifications.js +47 -0
  67. package/dist/esm/redux/actions/notifications.js.map +1 -0
  68. package/dist/esm/redux/reducers/notifications.d.ts +8 -0
  69. package/dist/esm/redux/reducers/notifications.js +14 -0
  70. package/dist/esm/redux/reducers/notifications.js.map +1 -0
  71. package/dist/styles.css +4 -0
  72. package/dist/styles.less +5 -0
  73. package/less/components/header.less +5 -0
  74. package/package.json +4 -3
  75. package/src/components/assets/AssetsTypeIcon.tsx +4 -1
  76. package/src/components/data-table/DataTable.tsx +13 -4
  77. package/src/components/data-table/Paginator.tsx +93 -125
  78. package/src/components/header/Header.tsx +1 -0
  79. package/src/constants/icons.tsx +3 -1
  80. package/src/redux/actions/asset-uploads.ts +11 -5
  81. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +0 -27
  82. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +0 -243
  83. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +0 -1
  84. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +0 -28
  85. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +0 -255
  86. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +0 -1
  87. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +0 -27
  88. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +0 -243
  89. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +0 -1
  90. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +0 -28
  91. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +0 -251
  92. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +0 -1
  93. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  94. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +0 -91
  95. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  96. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +0 -33
  97. package/dist/cjs/components/header/Header_BACKUP_73021.js +0 -393
  98. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +0 -1
  99. package/dist/cjs/components/header/Header_BASE_73021.d.ts +0 -29
  100. package/dist/cjs/components/header/Header_BASE_73021.js +0 -376
  101. package/dist/cjs/components/header/Header_BASE_73021.js.map +0 -1
  102. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +0 -33
  103. package/dist/cjs/components/header/Header_LOCAL_73021.js +0 -382
  104. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +0 -1
  105. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +0 -30
  106. package/dist/cjs/components/header/Header_REMOTE_73021.js +0 -386
  107. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +0 -1
  108. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +0 -27
  109. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +0 -194
  110. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +0 -1
  111. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +0 -28
  112. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +0 -208
  113. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +0 -1
  114. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +0 -27
  115. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +0 -194
  116. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +0 -1
  117. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +0 -28
  118. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +0 -204
  119. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +0 -1
  120. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  121. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +0 -35
  122. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  123. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +0 -33
  124. package/dist/esm/components/header/Header_BACKUP_73021.js +0 -336
  125. package/dist/esm/components/header/Header_BACKUP_73021.js.map +0 -1
  126. package/dist/esm/components/header/Header_BASE_73021.d.ts +0 -29
  127. package/dist/esm/components/header/Header_BASE_73021.js +0 -322
  128. package/dist/esm/components/header/Header_BASE_73021.js.map +0 -1
  129. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +0 -33
  130. package/dist/esm/components/header/Header_LOCAL_73021.js +0 -328
  131. package/dist/esm/components/header/Header_LOCAL_73021.js.map +0 -1
  132. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +0 -30
  133. package/dist/esm/components/header/Header_REMOTE_73021.js +0 -329
  134. package/dist/esm/components/header/Header_REMOTE_73021.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../../src/redux/reducers/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAS/C,MAAM,YAAY,GAAoB,EAAE,CAAC;AAEzC,MAAM,aAAa,GAAG,CAAC,KAAK,GAAG,YAAY,EAAE,MAAM,EAAO,EAAE;IACxD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC,GAAG;YACZ,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC;QAC3C,KAAK,OAAO,CAAC,KAAK;YACd,OAAO,EAAE,CAAC;QACd;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
package/dist/styles.css CHANGED
@@ -1708,6 +1708,10 @@ body a {
1708
1708
  .imposium-header .inner-content .inner-right .additional-buttons {
1709
1709
  margin-right: 10px;
1710
1710
  }
1711
+ .imposium-header .inner-content .inner-right .additional-buttons .creativeMgrBtn {
1712
+ position: relative;
1713
+ top: 1px;
1714
+ }
1711
1715
  .imposium-header .inner-content .inner-right .btn-help {
1712
1716
  -webkit-touch-callout: none;
1713
1717
  -webkit-user-select: none;
package/dist/styles.less CHANGED
@@ -1793,6 +1793,11 @@ body{
1793
1793
 
1794
1794
  .additional-buttons{
1795
1795
  margin-right:10px;
1796
+
1797
+ .creativeMgrBtn {
1798
+ position: relative;
1799
+ top: 1px;
1800
+ }
1796
1801
  }
1797
1802
 
1798
1803
  .btn-help {
@@ -195,6 +195,11 @@
195
195
 
196
196
  .additional-buttons{
197
197
  margin-right:10px;
198
+
199
+ .creativeMgrBtn {
200
+ position: relative;
201
+ top: 1px;
202
+ }
198
203
  }
199
204
 
200
205
  .btn-help {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imposium-hub/components",
3
- "version": "2.5.8",
3
+ "version": "2.5.10-0",
4
4
  "description": "React & Typescript component / asset library for Imposium front-ends",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -44,6 +44,7 @@
44
44
  "js-cookie": "^2.2.1",
45
45
  "lodash": "^4.17.21",
46
46
  "moment": "^2.29.1",
47
+ "react-hotkeys-hook": "^4.4.1",
47
48
  "react-merge-refs": "^1.1.0",
48
49
  "react-moveable": "^0.26.1",
49
50
  "react-select": "^5.8.0",
@@ -56,7 +57,7 @@
56
57
  "@fortawesome/pro-light-svg-icons": "^6.1.1",
57
58
  "@fortawesome/pro-solid-svg-icons": "^6.1.1",
58
59
  "@fortawesome/react-fontawesome": "^0.1.18",
59
- "@imposium-hub/react-textarea-autocomplete": "^4.9.13-5",
60
+ "@imposium-hub/react-textarea-autocomplete": "^4.9.13-6",
60
61
  "axios": "^0.21.1",
61
62
  "hotkeys-js": "^3.6.12",
62
63
  "localforage": "^1.7.3",
@@ -81,7 +82,7 @@
81
82
  "@fortawesome/react-fontawesome": "^0.1.18",
82
83
  "@imposium-hub/eslint-config": "^1.1.0",
83
84
  "@imposium-hub/prettier-config": "^2.1.0",
84
- "@imposium-hub/react-textarea-autocomplete": "^4.9.13-5",
85
+ "@imposium-hub/react-textarea-autocomplete": "^4.9.13-6",
85
86
  "@storybook/addon-actions": "^6.4.22",
86
87
  "@storybook/addon-docs": "^6.4.22",
87
88
  "@storybook/addon-essentials": "^6.4.22",
@@ -14,7 +14,8 @@ import {
14
14
  ICON_IMAGE_SEQ_TYPE,
15
15
  ICON_FILE_CODE,
16
16
  ICON_CLAPPERBOARD_PLAY,
17
- ICON_FILTERS
17
+ ICON_FILTERS,
18
+ ICON_FILE_UPLOAD
18
19
  } from '../../constants/icons';
19
20
 
20
21
  interface IAssetsTypeIconProps {
@@ -109,6 +110,8 @@ const AssetsTypeIcon: React.FC<IAssetsTypeIconProps> = (p: IAssetsTypeIconProps)
109
110
  {ICON_CLAPPERBOARD_PLAY}
110
111
  </span>
111
112
  );
113
+ case 'upload':
114
+ return <span>{ICON_FILE_UPLOAD}</span>;
112
115
  default:
113
116
  if (filter === 'multi') {
114
117
  return <span>{ICON_FILTERS}</span>;
@@ -333,11 +333,20 @@ const DataTable: React.FC<IDataTableProps> = (props: IDataTableProps) => {
333
333
 
334
334
  if (
335
335
  props.highlightBy &&
336
- row.original.hasOwnProperty(props.highlightBy.key) &&
337
- row.original[props.highlightBy.key] === props.highlightBy.value
336
+ row.original.hasOwnProperty(props.highlightBy.key)
338
337
  ) {
339
- selectedClass = 'selected';
340
- activeRef = activeRowRef;
338
+ const {
339
+ highlightBy: { key, value }
340
+ } = props;
341
+
342
+ if (
343
+ (typeof value == 'string' && row.original[key] === value) ||
344
+ (typeof value === 'object' &&
345
+ value.indexOf(row.original[key]) !== -1)
346
+ ) {
347
+ selectedClass = 'selected';
348
+ activeRef = activeRowRef;
349
+ }
341
350
  }
342
351
 
343
352
  prepareRow(row);
@@ -26,134 +26,102 @@ const Paginator: React.FC<any> = ({
26
26
  setPageSize,
27
27
  itemsPerPage,
28
28
  onItemsPerPage
29
- }) => {
30
- const [getPageIndex, setPageIndex] = React.useState<number>(pageIndex);
31
- const [getItemsPerPage, setItemsPerPage] = React.useState<number>(itemsPerPage);
32
-
33
- const onItemsPerPageBlur = () => {
34
- onItemsPerPage(getItemsPerPage);
35
- };
36
-
37
- const onGoToPageBlur = () => {
38
- gotoPage(getPageIndex, pageSize);
39
- };
40
-
41
- const onItemsPerPageKeyDown = (e) => {
42
- if (e.key === 'Enter') {
43
- onItemsPerPage(getItemsPerPage);
44
- }
45
- };
46
-
47
- const onGoToPageKeyDown = (e) => {
48
- if (e.key === 'Enter') {
49
- gotoPage(getPageIndex, pageSize);
50
- }
51
- };
52
-
53
- return (
54
- <section className='ip-table-pagination'>
29
+ }) => (
30
+ <section className='ip-table-pagination'>
31
+ <span>
32
+ <Button
33
+ style='subtle'
34
+ size='small'
35
+ tooltip='Go to first page'
36
+ disabled={!canPreviousPage}
37
+ onClick={() => gotoPage(1, pageSize)}>
38
+ {ICON_ANGLE_DOUBLE_LEFT}
39
+ </Button>
40
+ <Button
41
+ style='subtle'
42
+ size='small'
43
+ tooltip='Go to previous page'
44
+ disabled={!canPreviousPage}
45
+ onClick={() => previousPage()}>
46
+ {ICON_ANGLE_LEFT}
47
+ </Button>
48
+ <Button
49
+ style='subtle'
50
+ size='small'
51
+ tooltip='Go to next page'
52
+ disabled={!canNextPage}
53
+ onClick={() => nextPage()}>
54
+ {ICON_ANGLE_RIGHT}
55
+ </Button>
56
+ <Button
57
+ style='subtle'
58
+ size='small'
59
+ tooltip='Go to last page'
60
+ disabled={!canNextPage}
61
+ onClick={() => gotoPage(pageCount, pageSize)}>
62
+ {ICON_ANGLE_DOUBLE_RIGHT}
63
+ </Button>
64
+ &nbsp;&nbsp;
55
65
  <span>
56
- <Button
57
- style='subtle'
58
- size='small'
59
- tooltip='Go to first page'
60
- disabled={!canPreviousPage}
61
- onClick={() => gotoPage(1, pageSize)}>
62
- {ICON_ANGLE_DOUBLE_LEFT}
63
- </Button>
64
- <Button
65
- style='subtle'
66
- size='small'
67
- tooltip='Go to previous page'
68
- disabled={!canPreviousPage}
69
- onClick={() => previousPage()}>
70
- {ICON_ANGLE_LEFT}
71
- </Button>
72
- <Button
73
- style='subtle'
74
- size='small'
75
- tooltip='Go to next page'
76
- disabled={!canNextPage}
77
- onClick={() => nextPage()}>
78
- {ICON_ANGLE_RIGHT}
79
- </Button>
80
- <Button
81
- style='subtle'
82
- size='small'
83
- tooltip='Go to last page'
84
- disabled={!canNextPage}
85
- onClick={() => gotoPage(pageCount, pageSize)}>
86
- {ICON_ANGLE_DOUBLE_RIGHT}
87
- </Button>
88
- &nbsp;&nbsp;
89
- <span>
90
- {copy.table.page}&nbsp;&nbsp;
91
- <strong>
92
- {getPageIndex} of {pageCount}
93
- </strong>
94
- &nbsp;&nbsp;
95
- </span>
96
- <span>
97
- {copy.table.goToPage}&nbsp;&nbsp;
98
- <input
99
- className='paginator-input'
100
- type='number'
101
- placeholder={getPageIndex.toString()}
102
- onChange={(e) => {
103
- const input = e.target.value;
104
- const inputNum = Number(input);
105
- let next: number;
106
-
107
- clearTimeout(textInputTimeout);
108
-
109
- if (!input || inputNum < 1 || inputNum > pageCount) {
110
- return;
111
- }
112
-
113
- if (inputNum >= 1 && inputNum <= pageCount) {
114
- next = inputNum;
115
- }
116
-
117
- textInputTimeout = window.setTimeout(() => setPageIndex(next), 300);
118
- }}
119
- onBlur={() => onGoToPageBlur()}
120
- onKeyDown={(e) => onGoToPageKeyDown(e)}
121
- />
122
- </span>
66
+ {copy.table.page}&nbsp;&nbsp;
67
+ <strong>
68
+ {pageIndex} of {pageCount}
69
+ </strong>
123
70
  &nbsp;&nbsp;
124
- <span>
125
- {copy.table.itemsPerPage}&nbsp;&nbsp;
126
- <input
127
- className='paginator-input'
128
- type='number'
129
- placeholder={getItemsPerPage.toString()}
130
- min={1}
131
- onChange={(e) => {
132
- const input = e.target.value;
133
- const inputNum = Number(input);
134
-
135
- clearTimeout(textInputTimeout);
136
-
137
- if (!input || inputNum < 1) {
138
- return;
139
- }
140
-
141
- textInputTimeout = window.setTimeout(
142
- () => setItemsPerPage(inputNum),
143
- 300
144
- );
145
- }}
146
- onBlur={() => onItemsPerPageBlur()}
147
- onKeyDown={(e) => onItemsPerPageKeyDown(e)}
148
- />
149
- </span>
150
71
  </span>
151
-
152
- <span className='total-assets'>
153
- {copy.table.total}&nbsp;&nbsp;<strong>{totalItems || 0}</strong>
72
+ <span>
73
+ {copy.table.goToPage}&nbsp;&nbsp;
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
+ &nbsp;&nbsp;
98
+ <span>
99
+ {copy.table.itemsPerPage}&nbsp;&nbsp;
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
+ />
154
118
  </span>
155
- </section>
156
- );
157
- };
119
+ </span>
120
+
121
+ <span className='total-assets'>
122
+ {copy.table.total}&nbsp;&nbsp;<strong>{totalItems || 0}</strong>
123
+ </span>
124
+ </section>
125
+ );
158
126
 
159
127
  export default Paginator;
@@ -236,6 +236,7 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
236
236
  <Button
237
237
  color='primary'
238
238
  style='bold'
239
+ customClass='creativeMgrBtn'
239
240
  size='large'>
240
241
  {ICON_UP_RIGHT_FROM_SQUARE}&nbsp;{'Creative Manager'}
241
242
  </Button>
@@ -73,7 +73,7 @@ import {
73
73
  } from '@fortawesome/pro-light-svg-icons';
74
74
  import { faCircleSmall } from '@fortawesome/pro-solid-svg-icons/faCircleSmall';
75
75
  import { faClapperboardPlay } from '@fortawesome/pro-solid-svg-icons/faClapperboardPlay';
76
- import { faFilters } from '@fortawesome/pro-solid-svg-icons';
76
+ import { faCloudArrowUp, faFilters } from '@fortawesome/pro-solid-svg-icons';
77
77
 
78
78
  export const ICON_VIDEO = <FontAwesomeIcon icon={faVideo} />;
79
79
 
@@ -218,3 +218,5 @@ export const ICON_CLAPPERBOARD_PLAY = <FontAwesomeIcon icon={faClapperboardPlay}
218
218
  export const ICON_CODE = <FontAwesomeIcon icon={faCode} />;
219
219
 
220
220
  export const ICON_UP_RIGHT_FROM_SQUARE = <FontAwesomeIcon icon={faUpRightFromSquare} />;
221
+
222
+ export const ICON_FILE_UPLOAD = <FontAwesomeIcon icon={faCloudArrowUp} />;
@@ -257,7 +257,8 @@ export const replaceAsset = (
257
257
  api: IImposiumAPI,
258
258
  assetId: any,
259
259
  files: File[],
260
- storyId: string
260
+ storyId: string,
261
+ bindToOverlay?: (f: any) => any
261
262
  ): any => {
262
263
  return (dispatch, getStore) => {
263
264
  return new Promise<void>((resolve) => {
@@ -303,17 +304,23 @@ export const replaceAsset = (
303
304
  )
304
305
  .then((result) => {
305
306
  const currentOngoingJobs = () => {
307
+ if (bindToOverlay) {
308
+ bindToOverlay(result);
309
+ }
306
310
  return {
311
+ footageId: result.id,
312
+ jobId: result.job_id,
307
313
  filename: replacedFileBlobs[activeIndex].filename,
308
314
  onProcessed: () => {
309
315
  const fileName = ongoingJobs.filter(
310
- (job: any) => job.jobId === result[0].job_id
316
+ (job: any) => job.jobId === result.job_id
311
317
  )[0].filename;
312
318
  dispatch({
313
319
  type: assetUploadsActions.REMOVE_UPLOAD,
314
320
  filename: fileName
315
321
  });
316
322
  doAssetTableHydration(api, storyId);
323
+ resolve(result);
317
324
  }
318
325
  };
319
326
  };
@@ -326,23 +333,22 @@ export const replaceAsset = (
326
333
  } else {
327
334
  ongoingJobs = ongoingJobs.filter((j: any, i: number) => {
328
335
  const jobIdExists: boolean = typeof j.jobId === 'string';
329
-
330
336
  if (!jobIdExists) {
331
337
  dispatch({
332
338
  type: assetUploadsActions.REMOVE_UPLOAD,
333
339
  filename: j.filename
334
340
  });
335
341
  doAssetTableHydration(api, storyId);
342
+ resolve(result);
336
343
  }
337
344
  return jobIdExists;
338
345
  });
339
-
340
346
  if (ongoingJobs.length > 0) {
341
347
  pollAssetJobs(api, ongoingJobs, processingTimeout);
342
348
  }
343
349
  }
344
350
 
345
- resolve(result);
351
+ // resolve(result);
346
352
  })
347
353
  .catch((e: Error[]) => {
348
354
  if (axios.isCancel(e) && currentQueue !== queueLength - 1) {
@@ -1,27 +0,0 @@
1
- import * as React from 'react';
2
- import { IIdentity } from '../../services/Auth0';
3
- export interface IAppWrapperProps {
4
- children: React.ReactChildren;
5
- auth0Domain: string;
6
- auth0ClientId: string;
7
- organizationId: string;
8
- baseUrl: string;
9
- storyId?: string;
10
- serviceId: number;
11
- access: any;
12
- auth: any;
13
- isFreshUser: boolean;
14
- setAccessData(accessData: any): any;
15
- allowUnauthenticatedRender: boolean;
16
- onAuthenticated: (activeOrgId: string, activeStoryId: string) => any;
17
- onAuthenticationFailure: (e: Error) => any;
18
- showRequestAccess?: boolean;
19
- login: (id: IIdentity) => any;
20
- clearCachedAuth: () => any;
21
- }
22
- export interface IAppWrapperState {
23
- blockRender: boolean;
24
- restrictAccess: boolean;
25
- }
26
- declare const _default: any;
27
- export default _default;