@clickview/lite 0.0.20-rc.1 → 0.0.20

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 (196) hide show
  1. package/dist/scripts/{bundle-df3f2fe30a.min.js → bundle-0a051d30d1.min.js} +1 -1
  2. package/dist/scripts/bundles.json +1 -1
  3. package/package.json +1 -1
  4. package/dist/css/0.chunk.css.map +0 -1
  5. package/dist/css/1.chunk.css +0 -146
  6. package/dist/css/1.chunk.css.map +0 -1
  7. package/dist/css/11.chunk.css.map +0 -1
  8. package/dist/css/12.chunk.css.map +0 -1
  9. package/dist/css/13.chunk.css.map +0 -1
  10. package/dist/css/14.chunk.css.map +0 -1
  11. package/dist/css/15.chunk.css.map +0 -1
  12. package/dist/css/16.chunk.css.map +0 -1
  13. package/dist/css/17.chunk.css.map +0 -1
  14. package/dist/css/18.chunk.css.map +0 -1
  15. package/dist/css/19.chunk.css.map +0 -1
  16. package/dist/css/21.chunk.css.map +0 -1
  17. package/dist/css/22.chunk.css.map +0 -1
  18. package/dist/css/23.chunk.css.map +0 -1
  19. package/dist/css/24.chunk.css.map +0 -1
  20. package/dist/css/25.chunk.css.map +0 -1
  21. package/dist/css/26.chunk.css.map +0 -1
  22. package/dist/css/27.chunk.css.map +0 -1
  23. package/dist/css/28.chunk.css.map +0 -1
  24. package/dist/css/29.chunk.css.map +0 -1
  25. package/dist/css/3.chunk.css.map +0 -1
  26. package/dist/css/30.chunk.css +0 -32
  27. package/dist/css/30.chunk.css.map +0 -1
  28. package/dist/css/31.chunk.css.map +0 -1
  29. package/dist/css/32.chunk.css +0 -6
  30. package/dist/css/32.chunk.css.map +0 -1
  31. package/dist/css/33.chunk.css +0 -5
  32. package/dist/css/33.chunk.css.map +0 -1
  33. package/dist/css/34.chunk.css.map +0 -1
  34. package/dist/css/36.chunk.css +0 -6
  35. package/dist/css/36.chunk.css.map +0 -1
  36. package/dist/css/37.chunk.css +0 -7
  37. package/dist/css/37.chunk.css.map +0 -1
  38. package/dist/css/38.chunk.css.map +0 -1
  39. package/dist/css/41.chunk.css +0 -38
  40. package/dist/css/41.chunk.css.map +0 -1
  41. package/dist/css/5.chunk.css.map +0 -1
  42. package/dist/css/51.chunk.css +0 -9
  43. package/dist/css/51.chunk.css.map +0 -1
  44. package/dist/css/6.chunk.css.map +0 -1
  45. package/dist/css/7.chunk.css +0 -66
  46. package/dist/css/7.chunk.css.map +0 -1
  47. package/dist/css/lite-app.css.map +0 -1
  48. package/dist/projects/lite/src/polyfills.d.ts +0 -2
  49. package/dist/scripts/0.chunk.js +0 -308
  50. package/dist/scripts/0.chunk.js.map +0 -1
  51. package/dist/scripts/1.chunk.js +0 -623
  52. package/dist/scripts/1.chunk.js.map +0 -1
  53. package/dist/scripts/10.chunk.js +0 -530
  54. package/dist/scripts/10.chunk.js.map +0 -1
  55. package/dist/scripts/11.chunk.js +0 -380
  56. package/dist/scripts/11.chunk.js.map +0 -1
  57. package/dist/scripts/12.chunk.js +0 -434
  58. package/dist/scripts/12.chunk.js.map +0 -1
  59. package/dist/scripts/13.chunk.js +0 -1287
  60. package/dist/scripts/13.chunk.js.map +0 -1
  61. package/dist/scripts/14.chunk.js +0 -575
  62. package/dist/scripts/14.chunk.js.map +0 -1
  63. package/dist/scripts/15.chunk.js +0 -806
  64. package/dist/scripts/15.chunk.js.map +0 -1
  65. package/dist/scripts/16.chunk.js +0 -482
  66. package/dist/scripts/16.chunk.js.map +0 -1
  67. package/dist/scripts/17.chunk.js +0 -428
  68. package/dist/scripts/17.chunk.js.map +0 -1
  69. package/dist/scripts/18.chunk.js +0 -766
  70. package/dist/scripts/18.chunk.js.map +0 -1
  71. package/dist/scripts/19.chunk.js +0 -647
  72. package/dist/scripts/19.chunk.js.map +0 -1
  73. package/dist/scripts/2.chunk.js +0 -18882
  74. package/dist/scripts/2.chunk.js.map +0 -1
  75. package/dist/scripts/20.chunk.js +0 -212
  76. package/dist/scripts/20.chunk.js.map +0 -1
  77. package/dist/scripts/21.chunk.js +0 -1591
  78. package/dist/scripts/21.chunk.js.map +0 -1
  79. package/dist/scripts/22.chunk.js +0 -1348
  80. package/dist/scripts/22.chunk.js.map +0 -1
  81. package/dist/scripts/23.chunk.js +0 -1181
  82. package/dist/scripts/23.chunk.js.map +0 -1
  83. package/dist/scripts/24.chunk.js +0 -1141
  84. package/dist/scripts/24.chunk.js.map +0 -1
  85. package/dist/scripts/25.chunk.js +0 -907
  86. package/dist/scripts/25.chunk.js.map +0 -1
  87. package/dist/scripts/26.chunk.js +0 -979
  88. package/dist/scripts/26.chunk.js.map +0 -1
  89. package/dist/scripts/27.chunk.js +0 -655
  90. package/dist/scripts/27.chunk.js.map +0 -1
  91. package/dist/scripts/28.chunk.js +0 -615
  92. package/dist/scripts/28.chunk.js.map +0 -1
  93. package/dist/scripts/29.chunk.js +0 -622
  94. package/dist/scripts/29.chunk.js.map +0 -1
  95. package/dist/scripts/3.chunk.js +0 -809
  96. package/dist/scripts/3.chunk.js.map +0 -1
  97. package/dist/scripts/30.chunk.js +0 -468
  98. package/dist/scripts/30.chunk.js.map +0 -1
  99. package/dist/scripts/31.chunk.js +0 -441
  100. package/dist/scripts/31.chunk.js.map +0 -1
  101. package/dist/scripts/32.chunk.js +0 -509
  102. package/dist/scripts/32.chunk.js.map +0 -1
  103. package/dist/scripts/33.chunk.js +0 -957
  104. package/dist/scripts/33.chunk.js.map +0 -1
  105. package/dist/scripts/34.chunk.js +0 -502
  106. package/dist/scripts/34.chunk.js.map +0 -1
  107. package/dist/scripts/35.chunk.js +0 -938
  108. package/dist/scripts/35.chunk.js.map +0 -1
  109. package/dist/scripts/36.chunk.js +0 -537
  110. package/dist/scripts/36.chunk.js.map +0 -1
  111. package/dist/scripts/37.chunk.js +0 -414
  112. package/dist/scripts/37.chunk.js.map +0 -1
  113. package/dist/scripts/38.chunk.js +0 -245
  114. package/dist/scripts/38.chunk.js.map +0 -1
  115. package/dist/scripts/39.chunk.js +0 -337
  116. package/dist/scripts/39.chunk.js.map +0 -1
  117. package/dist/scripts/4.chunk.js +0 -402
  118. package/dist/scripts/4.chunk.js.map +0 -1
  119. package/dist/scripts/40.chunk.js +0 -350
  120. package/dist/scripts/40.chunk.js.map +0 -1
  121. package/dist/scripts/41.chunk.js +0 -343
  122. package/dist/scripts/41.chunk.js.map +0 -1
  123. package/dist/scripts/42.chunk.js +0 -404
  124. package/dist/scripts/42.chunk.js.map +0 -1
  125. package/dist/scripts/43.chunk.js +0 -221
  126. package/dist/scripts/43.chunk.js.map +0 -1
  127. package/dist/scripts/44.chunk.js +0 -230
  128. package/dist/scripts/44.chunk.js.map +0 -1
  129. package/dist/scripts/45.chunk.js +0 -409
  130. package/dist/scripts/45.chunk.js.map +0 -1
  131. package/dist/scripts/46.chunk.js +0 -272
  132. package/dist/scripts/46.chunk.js.map +0 -1
  133. package/dist/scripts/47.chunk.js +0 -267
  134. package/dist/scripts/47.chunk.js.map +0 -1
  135. package/dist/scripts/48.chunk.js +0 -359
  136. package/dist/scripts/48.chunk.js.map +0 -1
  137. package/dist/scripts/49.chunk.js +0 -225
  138. package/dist/scripts/49.chunk.js.map +0 -1
  139. package/dist/scripts/5.chunk.js +0 -1104
  140. package/dist/scripts/5.chunk.js.map +0 -1
  141. package/dist/scripts/50.chunk.js +0 -318
  142. package/dist/scripts/50.chunk.js.map +0 -1
  143. package/dist/scripts/51.chunk.js +0 -64
  144. package/dist/scripts/51.chunk.js.map +0 -1
  145. package/dist/scripts/52.chunk.js +0 -108
  146. package/dist/scripts/52.chunk.js.map +0 -1
  147. package/dist/scripts/53.chunk.js +0 -110
  148. package/dist/scripts/53.chunk.js.map +0 -1
  149. package/dist/scripts/54.chunk.js +0 -162
  150. package/dist/scripts/54.chunk.js.map +0 -1
  151. package/dist/scripts/55.chunk.js +0 -145
  152. package/dist/scripts/55.chunk.js.map +0 -1
  153. package/dist/scripts/56.chunk.js +0 -139
  154. package/dist/scripts/56.chunk.js.map +0 -1
  155. package/dist/scripts/57.chunk.js +0 -142
  156. package/dist/scripts/57.chunk.js.map +0 -1
  157. package/dist/scripts/58.chunk.js +0 -173
  158. package/dist/scripts/58.chunk.js.map +0 -1
  159. package/dist/scripts/59.chunk.js +0 -160
  160. package/dist/scripts/59.chunk.js.map +0 -1
  161. package/dist/scripts/6.chunk.js +0 -335
  162. package/dist/scripts/6.chunk.js.map +0 -1
  163. package/dist/scripts/60.chunk.js +0 -98
  164. package/dist/scripts/60.chunk.js.map +0 -1
  165. package/dist/scripts/61.chunk.js +0 -48
  166. package/dist/scripts/61.chunk.js.map +0 -1
  167. package/dist/scripts/62.chunk.js +0 -70
  168. package/dist/scripts/62.chunk.js.map +0 -1
  169. package/dist/scripts/63.chunk.js +0 -32
  170. package/dist/scripts/63.chunk.js.map +0 -1
  171. package/dist/scripts/64.chunk.js +0 -29
  172. package/dist/scripts/64.chunk.js.map +0 -1
  173. package/dist/scripts/65.chunk.js +0 -27
  174. package/dist/scripts/65.chunk.js.map +0 -1
  175. package/dist/scripts/66.chunk.js +0 -65
  176. package/dist/scripts/66.chunk.js.map +0 -1
  177. package/dist/scripts/67.chunk.js +0 -67
  178. package/dist/scripts/67.chunk.js.map +0 -1
  179. package/dist/scripts/68.chunk.js +0 -104
  180. package/dist/scripts/68.chunk.js.map +0 -1
  181. package/dist/scripts/69.chunk.js +0 -89
  182. package/dist/scripts/69.chunk.js.map +0 -1
  183. package/dist/scripts/7.chunk.js +0 -2579
  184. package/dist/scripts/7.chunk.js.map +0 -1
  185. package/dist/scripts/70.chunk.js +0 -1001
  186. package/dist/scripts/70.chunk.js.map +0 -1
  187. package/dist/scripts/71.chunk.js +0 -36
  188. package/dist/scripts/71.chunk.js.map +0 -1
  189. package/dist/scripts/8.chunk.js +0 -24
  190. package/dist/scripts/8.chunk.js.map +0 -1
  191. package/dist/scripts/9.chunk.js +0 -327
  192. package/dist/scripts/9.chunk.js.map +0 -1
  193. package/dist/scripts/bundle.js +0 -38145
  194. package/dist/scripts/bundle.js.map +0 -1
  195. package/dist/scripts/polyfills.js +0 -15232
  196. package/dist/scripts/polyfills.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/enums/MigrationTaskStatus.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistVideoCollectionIdentifier.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/interfaces/identifiers/index.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/interfaces/index.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/utils/PlaylistStateUpdateHelper.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/flight-requests/PlaylistRequests.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/ReorderHelper.ts"],"names":[],"mappings":"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","file":"scripts/10.chunk.js","sourcesContent":["export enum MigrationTaskStatus {\r\n Queued = 1,\r\n Processing = 2,\r\n Processed = 3,\r\n Errored = 4\r\n}","import { BaseCollectionIdentifier } from 'libs/common/backbone/interfaces';\r\nimport { PlaylistSortType } from 'libs/shared/apps/playlists/enums/PlaylistSortType';\r\n\r\nexport class PlaylistCollectionIdentifier extends BaseCollectionIdentifier<PlaylistSortType> {\r\n constructor(sort: PlaylistSortType = PlaylistSortType.Newest, cursor: string = '') {\r\n super({ collectionPrefix: 'user:playlists', cursor, sort });\r\n }\r\n}","import { BaseCollectionIdentifier } from 'libs/common/backbone/interfaces';\r\n\r\nexport class PlaylistVideoCollectionIdentifier extends BaseCollectionIdentifier {\r\n constructor(id: string, cursor: string = '') {\r\n super({ collectionPrefix: 'playlist:videos', id, cursor });\r\n }\r\n}","export * from './PlaylistCollectionIdentifier';\r\nexport * from './PlaylistVideoCollectionIdentifier';","export * from './data-requests';\r\nexport * from './identifiers';","import { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { CreateOrUpdatePlaylistRequest } from 'libs/shared/apps/playlists/interfaces';\r\n\r\ntype StateMap = { [key: string]: HashObject };\r\n\r\nexport const PlaylistStateUpdateHelper = {\r\n updatePlaylist(key: string, newPlaylist: CreateOrUpdatePlaylistRequest): (state: StateMap) => StateMap {\r\n return (state: StateMap) => {\r\n const updatedState = { ...state };\r\n\r\n if (updatedState.hasOwnProperty(key))\r\n updatedState[key] = { ...updatedState[key], ...newPlaylist };\r\n\r\n return updatedState;\r\n };\r\n },\r\n\r\n deletePlaylist(key: string): (state: StateMap) => StateMap {\r\n return (state: StateMap) => {\r\n const updatedState = { ...state };\r\n\r\n if (updatedState.hasOwnProperty(key))\r\n delete updatedState[key];\r\n\r\n return updatedState;\r\n };\r\n },\r\n\r\n incrementVideoCount(key: string, count: number): (state: StateMap) => StateMap {\r\n return (state: StateMap) => {\r\n const updatedState = { ...state };\r\n\r\n if (!updatedState.hasOwnProperty(key))\r\n return state;\r\n\r\n if (!updatedState[key].videos)\r\n updatedState[key].videos = {};\r\n\r\n updatedState[key].videos.count = updatedState[key].videos.count\r\n ? updatedState[key].videos.count + count\r\n : count;\r\n\r\n return updatedState;\r\n };\r\n }\r\n};","import { Flight } from 'libs/common/flight';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\nimport { Xhr } from 'libs/common/backbone/interfaces';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\r\n\r\nimport { UserCollection, ReorderRequest, Following } from 'libs/shared/interfaces';\r\nimport { ReorderHelper } from 'libs/shared/utils/ReorderHelper';\r\n\r\nimport { CreateOrUpdatePlaylistRequest, PlaylistCollectionIdentifier, PlaylistVideoCollectionIdentifier } from 'libs/shared/apps/playlists/interfaces';\r\nimport { MigrationTaskStatus } from 'libs/shared/apps/playlists/enums/MigrationTaskStatus';\r\nimport { PlaylistStateUpdateHelper } from 'libs/shared/apps/playlists/utils/PlaylistStateUpdateHelper';\r\nimport { PlaylistSortHelper } from 'libs/shared/apps/playlists/utils/PlaylistSortHelper';\r\n\r\nconst addCursor = (cursor?: string) => cursor ? `&cursor=${cursor}` : '';\r\n\r\nconst addMaxRatingValue = (maxRatingValue?: number) => Number.isInteger(maxRatingValue) ? `&maxRatingValue=${maxRatingValue}` : '';\r\n\r\nconst getDataPrefixWithCursor = (key: string, cursor?: string) => `${key}${cursor ? `:${cursor}` : ''}`;\r\n\r\nexport const PlaylistRequests = {\r\n getPlaylist(id: string, success?: (data: any) => void, error?: (data: any) => void): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${id}?query=${SharedWithStatements.PLAYLIST}`,\r\n key: `playlist:${id}`,\r\n success,\r\n error\r\n };\r\n },\r\n\r\n getSharedPlaylist(\r\n shareCode: string,\r\n maxAllowedRating?: number,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n const baseUrl = `/api/domain/v2/share/${shareCode}`;\r\n return {\r\n url: `${baseUrl}?query=${SharedWithStatements.PLAYLIST}${addMaxRatingValue(maxAllowedRating)}`,\r\n key: `shared:playlist:${shareCode}`,\r\n success,\r\n error\r\n };\r\n },\r\n\r\n getUserPlaylists(collectionIdentifier: PlaylistCollectionIdentifier): Flight.Request {\r\n const filter = PlaylistSortHelper.getFilterFromSort(collectionIdentifier.sort);\r\n return {\r\n url: `/api/domain/v2/me/playlists?query={${filter},limit:100}`\r\n + `${SharedWithStatements.PLAYLIST_COLLECTION}${addCursor(collectionIdentifier.cursor)}`,\r\n key: collectionIdentifier.toString()\r\n };\r\n },\r\n\r\n getPlaylistVideos(id: string, maxAllowedRating?: number, cursor?: string): Flight.Request {\r\n let filter = 'orderBy:orderindex,limit:100';\r\n\r\n if (Number.isInteger(maxAllowedRating))\r\n filter += `,rating.value:0...${maxAllowedRating}`;\r\n\r\n return {\r\n url: `/api/domain/v2/objects/${id}/videos?query={${filter}}`\r\n + `${SharedWithStatements.VIDEO_COLLECTION}${addCursor(cursor)}`,\r\n key: getDataPrefixWithCursor(`playlist:${id}:videos`, cursor)\r\n };\r\n },\r\n\r\n getSharedPlaylistVideos(shareCode: string, maxAllowedRating?: number, cursor?: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/share/${shareCode}/videos?query={orderBy:orderindex,limit:100}`\r\n + `${SharedWithStatements.VIDEO_COLLECTION}${addCursor(cursor)}${addMaxRatingValue(maxAllowedRating)}`,\r\n key: getDataPrefixWithCursor(`shared:playlist:${shareCode}:videos`, cursor)\r\n };\r\n },\r\n\r\n getVideoPlaylists(videoId: string, userId: string, cursor?: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${videoId}/playlists?query={limit:100,owner.id:[${userId}]}`,\r\n key: getDataPrefixWithCursor(`video:playlists:${videoId}`, cursor),\r\n };\r\n },\r\n\r\n getIsFollowingPlaylist(playlistId: string, userId: string): Flight.Request {\r\n const formatData: ((data: UserCollection) => Following) = (data: UserCollection) => (\r\n { objectId: playlistId, isFollowing: !!data?.data?.length }\r\n );\r\n\r\n return {\r\n url: `/api/domain/v2/objects/${playlistId}/followers?query={id:${userId}}`,\r\n key: `playlist:${playlistId}:following:${userId}`,\r\n formatData,\r\n normalize: false\r\n };\r\n },\r\n\r\n createPlaylist(\r\n userId: string,\r\n data: CreateOrUpdatePlaylistRequest,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: 'create:playlist',\r\n url: `/api/domain/v2/objects/${userId}/playlists`,\r\n data,\r\n type: HttpVerbs.POST,\r\n success,\r\n error,\r\n invalidationKeys: 'user:playlists'\r\n };\r\n },\r\n\r\n updatePlaylist(\r\n id: string,\r\n data: CreateOrUpdatePlaylistRequest,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: 'update:playlist',\r\n url: `/api/domain/v2/objects/${id}`,\r\n data,\r\n type: HttpVerbs.PUT,\r\n success,\r\n error,\r\n updateState: {\r\n keys: `playlist:${id}`,\r\n updateData: PlaylistStateUpdateHelper.updatePlaylist(`playlist:${id}`, data)\r\n }\r\n };\r\n },\r\n\r\n deletePlaylist(id: string, success?: (data: any) => void, error?: (data: any) => void): Flight.Request {\r\n return{\r\n key: 'delete:playlist',\r\n url: `/api/domain/v2/objects/${id}`,\r\n type: HttpVerbs.DELETE,\r\n success,\r\n error,\r\n invalidationKeys: 'user:playlists',\r\n updateState: {\r\n keys: `playlist:${id}`,\r\n updateData: PlaylistStateUpdateHelper.deletePlaylist(`playlist:${id}`)\r\n }\r\n };\r\n },\r\n\r\n addToPlaylist(\r\n playlistId: string,\r\n videoIds: string[],\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n /**\r\n * Invalidate:\r\n * - Playlists as they are fetched with first video.\r\n * - Playlist video collection.\r\n * - Playlists for each video.\r\n */\r\n const invalidationKeys = [\r\n 'user:playlists',\r\n (new PlaylistVideoCollectionIdentifier(playlistId)).toString()\r\n ];\r\n\r\n videoIds.forEach(id => {\r\n invalidationKeys.push(`video:playlists:${id}`);\r\n });\r\n\r\n return {\r\n key: 'add:to:playlist',\r\n url: `/api/domain/v2/objects/${playlistId}/associate`,\r\n data: videoIds,\r\n type: HttpVerbs.POST,\r\n success,\r\n error,\r\n invalidationKeys,\r\n updateState: {\r\n keys: `playlist:${playlistId}`,\r\n updateData: PlaylistStateUpdateHelper.incrementVideoCount(\r\n `playlist:${playlistId}`, videoIds.length)\r\n }\r\n };\r\n },\r\n\r\n reorderVideos(\r\n id: string,\r\n reorderRequest: ReorderRequest,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: `reorder:playlist`,\r\n url: `/api/domain/v2/objects/${id}/videos/reorder`,\r\n data: reorderRequest,\r\n type: HttpVerbs.PUT,\r\n success,\r\n error,\r\n // Invalidate playlists as they are fetched with the first video.\r\n invalidationKeys: 'user:playlists',\r\n updateState: {\r\n keys: `playlist:${id}:videos`,\r\n updateData: (data: { [key: string]: HashObject }) =>\r\n ReorderHelper.updateState(`playlist:${id}:videos`, reorderRequest, data)\r\n }\r\n };\r\n },\r\n\r\n removePlaylistVideo(\r\n playlistId: string,\r\n videoId: string,\r\n success?: (data: any) => void,\r\n error?: (data: any) => void\r\n ): Flight.Request {\r\n return {\r\n key: 'remove:playlist:video',\r\n url: `/api/domain/v2/objects/${playlistId}/dissociate?memberId=${videoId}`,\r\n type: HttpVerbs.DELETE,\r\n success,\r\n error,\r\n // Invalidate playlists as they are fetched with the first video.\r\n invalidationKeys: [ 'user:playlists', `playlist:${playlistId}:videos` ]\r\n };\r\n },\r\n\r\n followPlaylist(playlistId: string, userId: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${userId}`,\r\n key: `follow:playlist:${playlistId}`,\r\n data: { followedPlaylists: playlistId },\r\n type: HttpVerbs.PUT,\r\n // TODO updateState\r\n };\r\n },\r\n\r\n unfollowPlaylist(playlistId: string, userId: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${userId}/followedplaylists/${playlistId}`,\r\n key: `unfollow:playlist:${playlistId}`,\r\n type: HttpVerbs.DELETE,\r\n // TODO updateState\r\n };\r\n },\r\n\r\n getMigrationTask(success?: (data: any) => void, error?: (xhr: Xhr) => void): Flight.Request {\r\n return {\r\n url: '/api/playlist-app/migration-task',\r\n key: 'migration:task',\r\n formatData: (data: any) => data || { status: MigrationTaskStatus.Processed },\r\n success,\r\n error\r\n };\r\n }\r\n};","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\nimport { BaseObject, ReorderRequest } from 'libs/shared/interfaces';\r\n\r\ninterface ReorderResult<T extends BaseObject> {\r\n reorderRequest: ReorderRequest;\r\n reorderedItems: T[];\r\n}\r\n\r\nexport const ReorderHelper = {\r\n reorder<T extends BaseObject>(items: T[], oldIdx: number, newIdx: number): ReorderResult<T> {\r\n if (oldIdx === newIdx)\r\n return { reorderedItems: items, reorderRequest: null };\r\n\r\n const reorderedItems: T[] = ArrayHelper.moveItem(items, oldIdx, newIdx);\r\n\r\n /**\r\n * If newIdx is the last idx then we set\r\n * destinationMemberId to null.\r\n */\r\n const destinationMemberId = newIdx < items.length - 1\r\n ? reorderedItems[newIdx + 1].id\r\n : null;\r\n\r\n const reorderRequest: ReorderRequest = {\r\n sourceMemberId: reorderedItems[newIdx].id,\r\n destinationMemberId\r\n };\r\n\r\n return { reorderedItems, reorderRequest };\r\n },\r\n\r\n updateState(\r\n dataPrefix: string,\r\n reorderRequest: ReorderRequest,\r\n data: { [key: string]: HashObject\r\n }): { [key: string]: HashObject } {\r\n const items: BaseObject[] = [];\r\n const updatedData = ObjectHelper.deepClone(data);\r\n\r\n const keys = [dataPrefix]; // Maintain an ordered list of keys.\r\n let page = data[dataPrefix];\r\n const pageSize = !!page && !!page.data && page.data.length;\r\n\r\n /**\r\n * Flatten items\r\n */\r\n while (page) {\r\n if (!Array.isArray(page.data))\r\n break;\r\n\r\n items.push(...page.data as BaseObject[]);\r\n\r\n const nextCursor = page.pagination\r\n && page.pagination.cursors\r\n && page.pagination.cursors.next;\r\n\r\n const nextKey = !!nextCursor && `${dataPrefix}:${nextCursor}`;\r\n\r\n page = nextCursor && data[nextKey];\r\n\r\n if (page)\r\n keys.push(nextKey);\r\n }\r\n\r\n if (!items.length)\r\n return data;\r\n\r\n /**\r\n * Reorder items\r\n */\r\n const removeIdx = ArrayHelper.findIndex(items, i => i.id === reorderRequest.sourceMemberId);\r\n\r\n const reorderedItems = [...items];\r\n\r\n const itemToMove = reorderedItems.splice(removeIdx, 1);\r\n\r\n const insertIdx = reorderRequest.destinationMemberId\r\n ? ArrayHelper.findIndex(reorderedItems, r => r.id === reorderRequest.destinationMemberId)\r\n : reorderedItems.length;\r\n\r\n reorderedItems.splice(insertIdx, 0, itemToMove[0]);\r\n\r\n /**\r\n * Paginate reordered items\r\n */\r\n keys.forEach(key => {\r\n const itemsToInsert = reorderedItems.splice(0, pageSize);\r\n updatedData[key].data = itemsToInsert;\r\n });\r\n\r\n return updatedData;\r\n }\r\n};"],"sourceRoot":""}
@@ -1,380 +0,0 @@
1
- (window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[11],{
2
-
3
- /***/ "../../libs/shared/src/components/back-button/BackButton.tsx":
4
- /*!*******************************************************************************************************!*\
5
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/back-button/BackButton.tsx ***!
6
- \*******************************************************************************************************/
7
- /*! exports provided: BackButton */
8
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
9
-
10
- "use strict";
11
- __webpack_require__.r(__webpack_exports__);
12
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BackButton", function() { return BackButton; });
13
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
14
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15
- /* harmony import */ var _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
16
- /* harmony import */ var _svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../svg-container/SvgContainer */ "../../libs/shared/src/components/svg-container/SvgContainer.tsx");
17
- /* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
18
- /* harmony import */ var _utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
19
-
20
-
21
-
22
-
23
-
24
- var namespace = 'shared.backButton';
25
- BackButton.defaultProps = {
26
- color: 'black'
27
- };
28
- function BackButton(_ref) {
29
- var backToName = _ref.backToName,
30
- appLink = _ref.appLink,
31
- color = _ref.color;
32
- var backPhrase = backToName ? _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'backTo', {
33
- backToName: backToName
34
- }) : _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'back');
35
- var colorClass = color === 'black' ? '' : 'text-light';
36
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_app_link_AppLink__WEBPACK_IMPORTED_MODULE_3__["AppLink"], {
37
- appLink: appLink,
38
- className: "d-inline-flex align-items-center h5 mb-0 ".concat(colorClass)
39
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__["SvgContainer"], {
40
- svgName: _utils_SvgHelper__WEBPACK_IMPORTED_MODULE_4__["cvSvgLibrary"].ChevronLeft,
41
- size: _svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__["SvgContainerSize"].Medium
42
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
43
- className: 'ml-1'
44
- }, backPhrase));
45
- }
46
-
47
- /***/ }),
48
-
49
- /***/ "../../libs/shared/src/components/banner-header/BannerHeader.tsx":
50
- /*!***********************************************************************************************************!*\
51
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/banner-header/BannerHeader.tsx ***!
52
- \***********************************************************************************************************/
53
- /*! exports provided: BannerHeader, PartialBannerHeader */
54
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
55
-
56
- "use strict";
57
- __webpack_require__.r(__webpack_exports__);
58
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BannerHeader", function() { return BannerHeader; });
59
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PartialBannerHeader", function() { return PartialBannerHeader; });
60
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
61
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
62
- /* harmony import */ var _back_button_BackButton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../back-button/BackButton */ "../../libs/shared/src/components/back-button/BackButton.tsx");
63
- /* harmony import */ var _utils_ImageHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/ImageHelper */ "../../libs/shared/src/utils/ImageHelper.ts");
64
- /* harmony import */ var _enums_Images__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../enums/Images */ "../../libs/shared/src/enums/Images.ts");
65
- /* harmony import */ var _actions_Actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../actions/Actions */ "../../libs/shared/src/components/actions/Actions.tsx");
66
- /* harmony import */ var _banner_header_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./banner-header.scss */ "../../libs/shared/src/components/banner-header/banner-header.scss");
67
- /* harmony import */ var _banner_header_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_banner_header_scss__WEBPACK_IMPORTED_MODULE_5__);
68
-
69
-
70
-
71
-
72
-
73
-
74
- var BannerHeader = react__WEBPACK_IMPORTED_MODULE_0__["memo"](function (props) {
75
- var heading = props.heading,
76
- banner = props.banner,
77
- imageCdnUrl = props.imageCdnUrl,
78
- actions = props.actions,
79
- sortComponent = props.sortComponent;
80
- var url = _utils_ImageHelper__WEBPACK_IMPORTED_MODULE_2__["ImageHelper"].createBannerUrl(banner, {
81
- fallbackBaseUrl: imageCdnUrl,
82
- fallbackCategoryName: heading,
83
- type: _enums_Images__WEBPACK_IMPORTED_MODULE_3__["ImageType"].Banners
84
- }, {
85
- size: _enums_Images__WEBPACK_IMPORTED_MODULE_3__["ImageSize"].Large,
86
- resizeType: _enums_Images__WEBPACK_IMPORTED_MODULE_3__["ResizeType"].Cover
87
- });
88
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
89
- className: 'banner',
90
- style: {
91
- backgroundImage: "url('".concat(url, "')")
92
- }
93
- }, props.backButtonAppLink && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
94
- className: 'pt-3'
95
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_back_button_BackButton__WEBPACK_IMPORTED_MODULE_1__["BackButton"], {
96
- appLink: props.backButtonAppLink,
97
- backToName: props.backButtonText,
98
- color: 'white'
99
- })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h1", {
100
- className: 'text-white text-shadow position-absolute m-0 pb-3'
101
- }, heading), !!actions && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
102
- className: _banner_header_scss__WEBPACK_IMPORTED_MODULE_5___default.a.actionsContainer
103
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_actions_Actions__WEBPACK_IMPORTED_MODULE_4__["Actions"], {
104
- actions: actions,
105
- sortComponent: sortComponent
106
- })));
107
- }, function (prevProps, nextProps) {
108
- return prevProps.actions === nextProps.actions;
109
- });
110
- var PartialBannerHeader = function PartialBannerHeader() {
111
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
112
- className: "partial-banner partial-loading-background"
113
- });
114
- };
115
-
116
- /***/ }),
117
-
118
- /***/ "../../libs/shared/src/components/banner-header/banner-header.scss":
119
- /*!*************************************************************************************************************!*\
120
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/banner-header/banner-header.scss ***!
121
- \*************************************************************************************************************/
122
- /*! no static exports found */
123
- /***/ (function(module, exports, __webpack_require__) {
124
-
125
- // extracted by mini-css-extract-plugin
126
- module.exports = {"actionsContainer":"cv--actionsContainer--286KF"};
127
-
128
- /***/ }),
129
-
130
- /***/ "../../libs/shared/src/components/breadcrumbs/BreadcrumbList.tsx":
131
- /*!***********************************************************************************************************!*\
132
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/breadcrumbs/BreadcrumbList.tsx ***!
133
- \***********************************************************************************************************/
134
- /*! exports provided: BreadcrumbItem, BreadcrumbList */
135
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
136
-
137
- "use strict";
138
- __webpack_require__.r(__webpack_exports__);
139
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BreadcrumbItem", function() { return BreadcrumbItem; });
140
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BreadcrumbList", function() { return BreadcrumbList; });
141
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
142
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
143
- /* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
144
-
145
-
146
- var BreadcrumbItem = function BreadcrumbItem(_ref) {
147
- var _ref$breadcrumb = _ref.breadcrumb,
148
- label = _ref$breadcrumb.label,
149
- appLink = _ref$breadcrumb.appLink,
150
- active = _ref$breadcrumb.active;
151
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("li", {
152
- className: "breadcrumb-item".concat(active ? ' active' : '')
153
- }, active ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("strong", null, label) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__["AppLink"], {
154
- appLink: appLink
155
- }, label));
156
- };
157
- var BreadcrumbList = function BreadcrumbList(_ref2) {
158
- var breadcrumbs = _ref2.breadcrumbs;
159
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("ol", {
160
- className: 'breadcrumb m-0 p-0'
161
- }, breadcrumbs.map(function (b, idx) {
162
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](BreadcrumbItem, {
163
- key: idx,
164
- breadcrumb: b
165
- });
166
- }));
167
- };
168
-
169
- /***/ }),
170
-
171
- /***/ "../../libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx":
172
- /*!********************************************************************************************************!*\
173
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx ***!
174
- \********************************************************************************************************/
175
- /*! exports provided: BreadcrumbType, Breadcrumbs, PartialBreadcrumbs */
176
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
177
-
178
- "use strict";
179
- __webpack_require__.r(__webpack_exports__);
180
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BreadcrumbType", function() { return BreadcrumbType; });
181
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Breadcrumbs", function() { return Breadcrumbs; });
182
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PartialBreadcrumbs", function() { return PartialBreadcrumbs; });
183
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
184
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
185
- /* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
186
- /* harmony import */ var _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../common/src/react/utils/ObjectHelper */ "../../libs/common/src/react/utils/ObjectHelper.ts");
187
- /* harmony import */ var _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../common/src/react/utils/ArrayHelper */ "../../libs/common/src/react/utils/ArrayHelper.ts");
188
- /* harmony import */ var _utils_PartialLoadingHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/PartialLoadingHelper */ "../../libs/shared/src/utils/PartialLoadingHelper.ts");
189
- /* harmony import */ var _BreadcrumbList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./BreadcrumbList */ "../../libs/shared/src/components/breadcrumbs/BreadcrumbList.tsx");
190
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
191
-
192
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
193
-
194
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
195
-
196
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
197
-
198
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
199
-
200
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
201
-
202
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
203
-
204
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
205
-
206
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
207
-
208
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
209
-
210
-
211
-
212
-
213
-
214
-
215
-
216
-
217
- var BreadcrumbType;
218
-
219
- (function (BreadcrumbType) {
220
- BreadcrumbType[BreadcrumbType["Static"] = 0] = "Static";
221
- BreadcrumbType[BreadcrumbType["Dynamic"] = 1] = "Dynamic";
222
- })(BreadcrumbType || (BreadcrumbType = {}));
223
-
224
- function buildBreadcrumb(item, getItemAppLink, active) {
225
- return {
226
- label: item.name,
227
- appLink: getItemAppLink(item),
228
- active: active
229
- };
230
- }
231
-
232
- function useGetBreadcrumbs(props, isDynamic) {
233
- var currentItem = props.currentItem,
234
- getItemAppLink = props.getItemAppLink,
235
- getParent = props.getParent,
236
- rootItem = props.rootItem,
237
- data = props.data,
238
- subview = props.subview;
239
-
240
- var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])([]),
241
- _useState2 = _slicedToArray(_useState, 2),
242
- breadcrumbs = _useState2[0],
243
- setBreadcrumbs = _useState2[1]; // Uss static/pre-defined array of data to build the breadcrumb structure
244
-
245
-
246
- react__WEBPACK_IMPORTED_MODULE_0__["useMemo"](function () {
247
- if (isDynamic || _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_2__["ObjectHelper"].isEmpty(data)) return;
248
-
249
- var _breadcrumbs = data.map(function (d, index) {
250
- return buildBreadcrumb(d, getItemAppLink, index + 1 === data.length);
251
- });
252
-
253
- if (rootItem) _breadcrumbs.unshift(rootItem);
254
- setBreadcrumbs(_breadcrumbs);
255
- }, [data]); // Dynamically build the breadcrumb structure
256
-
257
- react__WEBPACK_IMPORTED_MODULE_0__["useMemo"](function () {
258
- if (!isDynamic || !_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__["FunctionHelper"].isFunction(getParent)) return;
259
- var _breadcrumbs = [buildBreadcrumb(currentItem, getItemAppLink, true)];
260
- currentItem = getParent(currentItem);
261
-
262
- while (currentItem) {
263
- _breadcrumbs.unshift(buildBreadcrumb(currentItem, getItemAppLink));
264
-
265
- currentItem = getParent(currentItem);
266
- }
267
-
268
- if (rootItem) _breadcrumbs.unshift(rootItem);
269
- return setBreadcrumbs(_breadcrumbs);
270
- }, [currentItem, getParent, getItemAppLink, rootItem]);
271
-
272
- var _React$useRef = react__WEBPACK_IMPORTED_MODULE_0__["useRef"]({
273
- label: subview,
274
- appLink: null,
275
- active: true
276
- }),
277
- subviewBreadcrumb = _React$useRef.current; // Replace "active" item with the subview
278
-
279
-
280
- if (subview) {
281
- if (!breadcrumbs.includes(subviewBreadcrumb)) setBreadcrumbs([].concat(_toConsumableArray(breadcrumbs), [subviewBreadcrumb]));
282
- var selectedBreadcrumb = breadcrumbs.filter(function (crumb) {
283
- return crumb.active && crumb !== subviewBreadcrumb;
284
- });
285
- if (selectedBreadcrumb.length) _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_3__["ArrayHelper"].first(selectedBreadcrumb).active = false;
286
- }
287
-
288
- return breadcrumbs;
289
- }
290
-
291
- function Breadcrumbs(props) {
292
- var type = props.type;
293
- var isDynamic = type === BreadcrumbType.Dynamic;
294
- var breadcrumbs = useGetBreadcrumbs(props, isDynamic);
295
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("nav", {
296
- "aria-label": 'breadcrumb'
297
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_BreadcrumbList__WEBPACK_IMPORTED_MODULE_5__["BreadcrumbList"], {
298
- breadcrumbs: breadcrumbs
299
- }));
300
- }
301
- var PARTIAL_BREADCRUMB_ITEMS = _utils_PartialLoadingHelper__WEBPACK_IMPORTED_MODULE_4__["PartialLoadingHelper"].getPartialLoadingItems({
302
- numItems: 3
303
- });
304
- var PartialBreadcrumbs = function PartialBreadcrumbs() {
305
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("nav", {
306
- "aria-label": 'breadcrumb'
307
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("ol", {
308
- className: 'breadcrumb m-0 p-0'
309
- }, PARTIAL_BREADCRUMB_ITEMS.map(function (_ref, idx) {
310
- var width = _ref.width;
311
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("li", {
312
- key: idx,
313
- className: 'breadcrumb-item'
314
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
315
- className: 'd-inline-block partial-loading-background',
316
- style: {
317
- width: width
318
- },
319
- dangerouslySetInnerHTML: {
320
- __html: '&nbsp'
321
- }
322
- }));
323
- })));
324
- };
325
-
326
- /***/ }),
327
-
328
- /***/ "../../libs/shared/src/utils/PartialLoadingHelper.ts":
329
- /*!***********************************************************************************************!*\
330
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/PartialLoadingHelper.ts ***!
331
- \***********************************************************************************************/
332
- /*! exports provided: PartialLoadingHelper */
333
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
334
-
335
- "use strict";
336
- __webpack_require__.r(__webpack_exports__);
337
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PartialLoadingHelper", function() { return PartialLoadingHelper; });
338
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
339
-
340
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
341
-
342
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
343
-
344
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
345
-
346
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
347
-
348
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
349
-
350
- var DEFAULT_NUM_ITEMS = 5;
351
- var DEFAULT_MIN_WIDTH = 50; // px
352
-
353
- var DEFAULT_MAX_WIDTH = 100; // px
354
-
355
- var PartialLoadingHelper = {
356
- getPartialLoadingItems: function getPartialLoadingItems() {
357
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
358
- var _options$numItems = options.numItems,
359
- numItems = _options$numItems === void 0 ? DEFAULT_NUM_ITEMS : _options$numItems,
360
- _options$minWidth = options.minWidth,
361
- minWidth = _options$minWidth === void 0 ? DEFAULT_MIN_WIDTH : _options$minWidth,
362
- _options$maxWidth = options.maxWidth,
363
- maxWidth = _options$maxWidth === void 0 ? DEFAULT_MAX_WIDTH : _options$maxWidth;
364
-
365
- var getRandomFilterWidth = function getRandomFilterWidth() {
366
- return Math.max(Math.floor(Math.random() * maxWidth), minWidth);
367
- };
368
-
369
- return _toConsumableArray(Array(numItems)).map(function () {
370
- return {
371
- width: "".concat(getRandomFilterWidth(), "px")
372
- };
373
- });
374
- }
375
- };
376
-
377
- /***/ })
378
-
379
- }]);
380
- //# sourceMappingURL=11.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/back-button/BackButton.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/banner-header/BannerHeader.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/components/banner-header/banner-header.scss?c604","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/breadcrumbs/BreadcrumbList.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/PartialLoadingHelper.ts"],"names":[],"mappings":"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","file":"scripts/11.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport { Core } from 'libs/common/core';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nconst namespace = 'shared.backButton';\r\n\r\ninterface BackButtonProps {\r\n appLink: Core.AppLink;\r\n backToName?: string;\r\n color?: 'black' | 'white';\r\n}\r\n\r\nBackButton.defaultProps = {\r\n color: 'black'\r\n};\r\n\r\nexport function BackButton({ backToName, appLink, color }: BackButtonProps): React.ReactElement {\r\n const backPhrase = backToName\r\n ? LanguageService.getPhrase(namespace, 'backTo', { backToName })\r\n : LanguageService.getPhrase(namespace, 'back');\r\n\r\n const colorClass = color === 'black' ? '' : 'text-light';\r\n\r\n return (\r\n <AppLink appLink={appLink} className={`d-inline-flex align-items-center h5 mb-0 ${colorClass}`}>\r\n <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Medium} />\r\n <span className='ml-1'>{backPhrase}</span>\r\n </AppLink>\r\n );\r\n}","import * as React from 'react';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { BackButton } from 'libs/shared/components/back-button/BackButton';\r\nimport { Banner } from 'libs/shared/interfaces';\r\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\r\nimport { ImageType, ImageSize, ResizeType } from 'libs/shared/enums/Images';\r\nimport { Actions, ActionOptions } from 'libs/shared/components/actions/Actions';\r\n\r\nimport styles from './banner-header.scss';\r\n\r\ninterface BannerHeaderProps {\r\n heading: string;\r\n banner: Banner;\r\n imageCdnUrl: string;\r\n actions?: ActionOptions[];\r\n backButtonAppLink?: Core.AppLink;\r\n backButtonText?: string;\r\n sortComponent?: JSX.Element;\r\n}\r\n\r\nexport const BannerHeader = React.memo(function(props: React.PropsWithChildren<BannerHeaderProps>): React.ReactElement {\r\n const { heading, banner, imageCdnUrl, actions, sortComponent } = props;\r\n\r\n const url = ImageHelper.createBannerUrl(banner, {\r\n fallbackBaseUrl: imageCdnUrl,\r\n fallbackCategoryName: heading,\r\n type: ImageType.Banners,\r\n }, {\r\n size: ImageSize.Large,\r\n resizeType: ResizeType.Cover\r\n });\r\n\r\n return (\r\n <div className='banner' style={{ backgroundImage: `url('${url}')` }}>\r\n {props.backButtonAppLink && (\r\n <div className='pt-3'>\r\n <BackButton\r\n appLink={props.backButtonAppLink}\r\n backToName={props.backButtonText}\r\n color='white'\r\n />\r\n </div>\r\n )}\r\n <h1 className='text-white text-shadow position-absolute m-0 pb-3'>{heading}</h1>\r\n {!!actions && (\r\n <div className={styles.actionsContainer}>\r\n <Actions actions={actions} sortComponent={sortComponent} />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}, (prevProps, nextProps): boolean => (\r\n prevProps.actions === nextProps.actions\r\n));\r\n\r\nexport const PartialBannerHeader = () => <div className={`partial-banner partial-loading-background`} />;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"actionsContainer\":\"cv--actionsContainer--286KF\"};","import * as React from 'react';\r\nimport { Core } from 'libs/common/core';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\n\r\nexport interface Breadcrumb {\r\n label: string;\r\n appLink: Core.AppLink;\r\n active?: boolean;\r\n}\r\n\r\ninterface BreadcrumbItemProps {\r\n breadcrumb: Breadcrumb;\r\n}\r\n\r\nexport const BreadcrumbItem = ({ breadcrumb: { label, appLink, active } }: BreadcrumbItemProps) => (\r\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\r\n {active\r\n ? <strong>{label}</strong>\r\n : <AppLink appLink={appLink}>{label}</AppLink>\r\n }\r\n </li>\r\n);\r\n\r\ninterface BreadcrumbListProps {\r\n breadcrumbs: Breadcrumb[];\r\n}\r\n\r\nexport const BreadcrumbList = ({ breadcrumbs }: BreadcrumbListProps) => (\r\n <ol className='breadcrumb m-0 p-0'>\r\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\r\n </ol>\r\n);","import * as React from 'react';\r\nimport { useState } from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\n\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\r\n\r\nimport { Breadcrumb, BreadcrumbList } from './BreadcrumbList';\r\n\r\nexport enum BreadcrumbType {\r\n Static,\r\n Dynamic\r\n}\r\n\r\nfunction buildBreadcrumb<T extends BaseObject>(\r\n item: T, getItemAppLink: (item: T) => Core.AppLink, active?: boolean\r\n): Breadcrumb {\r\n return ({\r\n label: item.name,\r\n appLink: getItemAppLink(item),\r\n active\r\n });\r\n}\r\n\r\nfunction useGetBreadcrumbs<T extends BaseObject>(props: BreadcrumbsProps<T>, isDynamic: boolean): Breadcrumb[] {\r\n let { currentItem, getItemAppLink, getParent, rootItem, data, subview } = props;\r\n const [ breadcrumbs, setBreadcrumbs ] = useState<Breadcrumb[]>([]);\r\n\r\n // Uss static/pre-defined array of data to build the breadcrumb structure\r\n React.useMemo(() => {\r\n if (isDynamic || ObjectHelper.isEmpty(data))\r\n return;\r\n\r\n const _breadcrumbs = data.map((d, index: number) => buildBreadcrumb(d, getItemAppLink, index + 1 === data.length));\r\n\r\n if (rootItem)\r\n _breadcrumbs.unshift(rootItem);\r\n\r\n setBreadcrumbs(_breadcrumbs);\r\n\r\n }, [data]);\r\n\r\n // Dynamically build the breadcrumb structure\r\n React.useMemo(() => {\r\n if (!isDynamic || !FunctionHelper.isFunction(getParent))\r\n return;\r\n\r\n const _breadcrumbs = [buildBreadcrumb<T>(currentItem, getItemAppLink, true)];\r\n\r\n currentItem = getParent(currentItem);\r\n\r\n while (currentItem) {\r\n _breadcrumbs.unshift(buildBreadcrumb<T>(currentItem, getItemAppLink));\r\n currentItem = getParent(currentItem);\r\n }\r\n\r\n if (rootItem)\r\n _breadcrumbs.unshift(rootItem);\r\n\r\n return setBreadcrumbs(_breadcrumbs);\r\n\r\n }, [ currentItem, getParent, getItemAppLink, rootItem ]);\r\n\r\n const { current: subviewBreadcrumb } = React.useRef<Breadcrumb>({\r\n label: subview,\r\n appLink: null,\r\n active: true\r\n });\r\n\r\n // Replace \"active\" item with the subview\r\n if (subview) {\r\n if (!breadcrumbs.includes(subviewBreadcrumb))\r\n setBreadcrumbs([ ...breadcrumbs, subviewBreadcrumb ]);\r\n\r\n const selectedBreadcrumb = breadcrumbs.filter((crumb => crumb.active && crumb !== subviewBreadcrumb));\r\n if (selectedBreadcrumb.length)\r\n ArrayHelper.first(selectedBreadcrumb).active = false;\r\n }\r\n\r\n return breadcrumbs;\r\n}\r\n\r\ninterface BreadcrumbsProps<T> {\r\n type: BreadcrumbType;\r\n currentItem: T;\r\n getItemAppLink: (item: T) => Core.AppLink;\r\n getParent?: (item: T) => T;\r\n rootItem?: Breadcrumb;\r\n data?: T[];\r\n subview?: string; // E.g. \"Series\", \"Playlists\"\r\n}\r\n\r\nexport function Breadcrumbs<T extends BaseObject>(props: BreadcrumbsProps<T>): React.ReactElement {\r\n const { type } = props;\r\n\r\n const isDynamic = type === BreadcrumbType.Dynamic;\r\n const breadcrumbs = useGetBreadcrumbs(props, isDynamic);\r\n\r\n return (\r\n <nav aria-label='breadcrumb'>\r\n <BreadcrumbList breadcrumbs={breadcrumbs} />\r\n </nav>\r\n );\r\n}\r\n\r\nconst PARTIAL_BREADCRUMB_ITEMS = PartialLoadingHelper.getPartialLoadingItems({ numItems: 3 });\r\n\r\nexport const PartialBreadcrumbs = () => (\r\n <nav aria-label='breadcrumb'>\r\n <ol className='breadcrumb m-0 p-0'>\r\n {PARTIAL_BREADCRUMB_ITEMS.map(({ width }, idx) =>\r\n <li key={idx} className='breadcrumb-item'>\r\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\r\n </li>\r\n )}\r\n </ol>\r\n </nav>\r\n);","const DEFAULT_NUM_ITEMS = 5;\r\nconst DEFAULT_MIN_WIDTH = 50; // px\r\nconst DEFAULT_MAX_WIDTH = 100; // px\r\n\r\ninterface PartialLoadingOptions {\r\n numItems?: number;\r\n minWidth?: number;\r\n maxWidth?: number;\r\n}\r\n\r\ninterface PartialLoadingItem {\r\n width: string;\r\n}\r\n\r\nexport const PartialLoadingHelper = {\r\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\r\n const {\r\n numItems = DEFAULT_NUM_ITEMS,\r\n minWidth = DEFAULT_MIN_WIDTH,\r\n maxWidth = DEFAULT_MAX_WIDTH\r\n } = options;\r\n\r\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * maxWidth), minWidth);\r\n\r\n return [...Array(numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\r\n }\r\n};"],"sourceRoot":""}