@clickview/lite 0.0.2-alpha.1 → 0.0.2-alpha.3
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/shared/views/my-uploads/MyUploadsView.d.ts +1 -0
- package/package.json +6 -6
- package/dist/apps/default/index.d.ts +0 -2
- package/dist/apps/index.d.ts +0 -1
- package/dist/apps/playlists/components/index.d.ts +0 -1
- package/dist/apps/playlists/components/playlist-list/LitePlaylistItem.d.ts +0 -9
- package/dist/apps/playlists/components/playlist-list/LitePlaylistList.d.ts +0 -9
- package/dist/apps/playlists/components/playlist-list/index.d.ts +0 -1
- package/dist/apps/playlists/flight-requests/PlaylistRequests.d.ts +0 -4
- package/dist/apps/playlists/flight-requests/index.d.ts +0 -1
- package/dist/apps/playlists/index.d.ts +0 -1
- package/dist/apps/playlists/views/index.d.ts +0 -1
- package/dist/apps/playlists/views/user-playlists/UserPlaylistsView.d.ts +0 -2
- package/dist/apps/playlists/views/user-playlists/index.d.ts +0 -1
- package/dist/bundle.js.map +0 -1
- package/dist/lite-app.css.map +0 -1
- package/dist/lite-app.js +0 -112
- package/dist/lite-app.js.map +0 -1
- package/dist/shared/components/icon-button/IconButton.d.ts +0 -9
- package/dist/shared/flight-requests/PlaylistRequests.d.ts +0 -4
- package/dist/shared/index.d.ts +0 -5
- package/dist/shared/utils/InfiniteScrollHelper.d.ts +0 -11
- package/dist/shared/utils/LiteAppLinkHelper.d.ts +0 -3
- package/dist/shared/utils/LiteAppLinkUtils.d.ts +0 -3
- package/dist/shared/utils/index.d.ts +0 -1
- package/dist/shared/views/my-uploads/components/MyUploadsBannerActions.d.ts +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clickview/lite",
|
|
3
|
-
"version": "0.0.2-alpha.
|
|
3
|
+
"version": "0.0.2-alpha.3",
|
|
4
4
|
"description": "ClickView Lite",
|
|
5
5
|
"main": "dist/bundle.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
"author": "Joshua Taylor, Shale Kuzmanovski, Matt Trengrove, Michael McDonnell",
|
|
21
21
|
"license": "ISC",
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@clickview/tooling": "0.0.11-alpha.
|
|
23
|
+
"@clickview/tooling": "0.0.11-alpha.3",
|
|
24
24
|
"@types/react-custom-scrollbars": "4.0.6"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@clickview/common": "1.0.1-alpha.
|
|
28
|
-
"@clickview/playlists": "1.0.1-alpha.
|
|
29
|
-
"@clickview/shared": "1.0.1-alpha.
|
|
30
|
-
"@clickview/styles": "1.0.1-alpha.
|
|
27
|
+
"@clickview/common": "1.0.1-alpha.3",
|
|
28
|
+
"@clickview/playlists": "1.0.1-alpha.3",
|
|
29
|
+
"@clickview/shared": "1.0.1-alpha.3",
|
|
30
|
+
"@clickview/styles": "1.0.1-alpha.3",
|
|
31
31
|
"react-custom-scrollbars": "4.2.1"
|
|
32
32
|
},
|
|
33
33
|
"babel": {
|
package/dist/apps/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './default';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './playlist-list';
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { Core } from '@clickview/common';
|
|
3
|
-
import { Playlist } from '@clickview/shared';
|
|
4
|
-
interface PlaylistItemProps {
|
|
5
|
-
playlist: Playlist;
|
|
6
|
-
appLink: Core.AppLink;
|
|
7
|
-
}
|
|
8
|
-
export declare function PlaylistItem(props: PlaylistItemProps): JSX.Element;
|
|
9
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { Core } from '@clickview/common';
|
|
3
|
-
import { Playlist } from '@clickview/shared';
|
|
4
|
-
interface PlaylistListProps {
|
|
5
|
-
playlists: Playlist[];
|
|
6
|
-
getPlaylistAppLink: (playlist: Playlist) => Core.AppLink;
|
|
7
|
-
}
|
|
8
|
-
export declare function PlaylistList(props: PlaylistListProps): JSX.Element;
|
|
9
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './LitePlaylistList';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './PlaylistRequests';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './LitePlaylistsApplication';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './user-playlists';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './UserPlaylistsView';
|
package/dist/bundle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/lite/webpack/universalModuleDefinition","file://C:/ClickView Projects/clickview/packages/lite/webpack/bootstrap","file://C:/ClickView Projects/clickview/packages/lite/src/apps/default/LiteDefaultApplication.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/apps/default/views/home/HomeView.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/apps/default/views/index.ts","file://C:/ClickView Projects/clickview/packages/lite/src/apps/default/views/not-found/LiteNotFoundView.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/apps/playlists/LitePlaylistsApplication.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/index.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/components/floating-player/FloatingPlayer.tsx","webpack://@clickview/lite/./src/shared/components/floating-player/floating-player.scss?ede6","file://C:/ClickView Projects/clickview/packages/lite/src/shared/components/index.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/components/resources/Resources.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/components/video-details/VideoDetails.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/components/web-player/WebPlayer.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/constants/LiteActions.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/constants/LiteLayoutRegions.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/constants/LiteLayouts.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/constants/LiteRadioChannels.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/constants/WithStatements.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/constants/index.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/contexts/index.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/contexts/player/PlayerContext.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/flight-requests/ConfigRequests.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/flight-requests/UserRequests.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/flight-requests/VideoRequests.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/flight-requests/index.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/hooks/index.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/hooks/useWindowListeners.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/layouts/index.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/layouts/teacher-layout/TeacherLayout.hbs","file://C:/ClickView Projects/clickview/packages/lite/src/shared/layouts/teacher-layout/TeacherLayoutComponent.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/layouts/teacher-layout/TeacherLayoutView.tsx","webpack://@clickview/lite/./src/shared/layouts/teacher-layout/teacher-layout.scss?a46e","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/header/HeaderView.tsx","webpack://@clickview/lite/./src/shared/views/header/header.scss?17cb","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/index.ts","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/left-nav/LeftNavView.tsx","webpack://@clickview/lite/./src/shared/views/left-nav/left-nav.scss?b04a","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/my-uploads/MyUploadsView.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/play/PlayView.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/play/components/BackButton.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/play/components/Badges.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/play/components/Buttons.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/play/components/VideoTitle.tsx","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/play/components/index.ts","file://C:/ClickView Projects/clickview/packages/lite/src/styles/index.ts","webpack://@clickview/lite/./src/styles/theme-overrides.scss?8acd","file://C:/ClickView Projects/clickview/packages/lite/external \"@clickview/common\"","file://C:/ClickView Projects/clickview/packages/lite/external \"@clickview/playlists\"","file://C:/ClickView Projects/clickview/packages/lite/external \"@clickview/shared\"","file://C:/ClickView Projects/clickview/packages/lite/external \"Backbone\"","file://C:/ClickView Projects/clickview/packages/lite/external \"Handlebars\"","file://C:/ClickView Projects/clickview/packages/lite/external \"React\"","file://C:/ClickView Projects/clickview/packages/lite/external \"ReactCustomScrollbars\"","file://C:/ClickView Projects/clickview/packages/lite/external \"ReactRedux\""],"names":[],"mappings":"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","file":"bundle.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@clickview/common\"), require(\"@clickview/playlists\"), require(\"@clickview/shared\"), require(\"Backbone\"), require(\"Handlebars\"), require(\"React\"), require(\"ReactRedux\"), require(\"ReactCustomScrollbars\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@clickview/common\", \"@clickview/playlists\", \"@clickview/shared\", \"Backbone\", \"Handlebars\", \"React\", \"ReactRedux\", \"ReactCustomScrollbars\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@clickview/lite\"] = factory(require(\"@clickview/common\"), require(\"@clickview/playlists\"), require(\"@clickview/shared\"), require(\"Backbone\"), require(\"Handlebars\"), require(\"React\"), require(\"ReactRedux\"), require(\"ReactCustomScrollbars\"));\n\telse\n\t\troot[\"@clickview/lite\"] = factory(root[\"@clickview/common\"], root[\"@clickview/playlists\"], root[\"@clickview/shared\"], root[\"Backbone\"], root[\"Handlebars\"], root[\"React\"], root[\"ReactRedux\"], root[\"ReactCustomScrollbars\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__clickview_common__, __WEBPACK_EXTERNAL_MODULE__clickview_playlists__, __WEBPACK_EXTERNAL_MODULE__clickview_shared__, __WEBPACK_EXTERNAL_MODULE_backbone__, __WEBPACK_EXTERNAL_MODULE_handlebars__, __WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_react_redux__, __WEBPACK_EXTERNAL_MODULE_react_custom_scrollbars__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n","import * as React from 'react';\r\n\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core, HashObject } from '@clickview/common';\r\n\r\nimport { AppChannels, Layouts, LayoutRegions } from 'shared/constants';\r\nimport { TeacherLayoutViewOptions, TeacherLayoutView } from 'shared/layouts';\r\nimport { PlayView, MyUploadsView } from 'shared/views';\r\n\r\nimport { NotFoundView, HomeView } from 'apps/default/views';\r\n\r\nclass DefaultAppRouter extends Core.AppRouter {\r\n protected get channelName(): string {\r\n return AppChannels.DEFAULT;\r\n }\r\n\r\n protected get appRoutes(): ObjectHash {\r\n return {\r\n '': 'index',\r\n 'videos/:id': 'playVideo',\r\n 'my-uploads': 'myUploads',\r\n '*path' : 'catchAllRoutes',\r\n };\r\n }\r\n\r\n protected get appLinks(): string[] {\r\n return ['notFound'];\r\n }\r\n}\r\n\r\nexport class DefaultApplication extends Core.Application {\r\n public layout: TeacherLayoutView;\r\n\r\n public get name(): string {\r\n return 'Default Application';\r\n }\r\n\r\n protected get layoutOptions(): Core.LayoutOptions<TeacherLayoutViewOptions> {\r\n return {\r\n name: Layouts.TEACHER_LAYOUT,\r\n options: {\r\n showNav: true\r\n }\r\n };\r\n }\r\n\r\n public get channelName(): string {\r\n return AppChannels.DEFAULT;\r\n }\r\n\r\n public static get router(): typeof DefaultAppRouter {\r\n return DefaultAppRouter;\r\n }\r\n\r\n public index(): void {\r\n this.layout.showChildView(LayoutRegions.CONTENT, <HomeView />);\r\n }\r\n\r\n public playVideo(id: string): void {\r\n this.layout.showChildView(LayoutRegions.CONTENT, <PlayView id={id} />);\r\n }\r\n\r\n public myUploads(params: HashObject): void {\r\n this.layout.showChildView(LayoutRegions.CONTENT, <MyUploadsView cursor={params.cursor} />);\r\n }\r\n\r\n public catchAllRoutes(): void {\r\n /**\r\n * TODO: This should throw a NotFoundError that's handled by an error handler\r\n */\r\n // Core.ErrorHelper.throw(new NotFoundError());\r\n this.layout.showChildView(LayoutRegions.CONTENT, <NotFoundView />);\r\n }\r\n\r\n public notFound(): void {\r\n this.layout.showChildView(LayoutRegions.CONTENT, <NotFoundView />);\r\n }\r\n}","import * as React from 'react';\r\nimport { AppLink } from '@clickview/shared';\r\nimport { AppChannels } from 'shared/constants';\r\n\r\n/**\r\n * TODO: This is a temporary view and should be deleted\r\n */\r\nexport function HomeView(): React.ReactElement {\r\n return (\r\n <div style={{ height: '3000px' }}>\r\n <h1>Hello World</h1>\r\n <AppLink appLink={{\r\n application: AppChannels.DEFAULT,\r\n action: 'play:video',\r\n args: ['9122777']\r\n }}>Play page 1</AppLink>\r\n <AppLink appLink={{\r\n application: AppChannels.DEFAULT,\r\n action: 'play:video',\r\n args: ['3713435']\r\n }}>Play page 2</AppLink>\r\n </div>\r\n );\r\n}","export * from './home/HomeView';\r\nexport * from './not-found/LiteNotFoundView';","import * as React from 'react';\r\n\r\n/**\r\n * TODO: Implement a proper NotFoundView\r\n */\r\nexport function NotFoundView(): React.ReactElement {\r\n return (\r\n <>\r\n <h1>Not Found</h1>\r\n </>\r\n );\r\n}","import * as React from 'react';\r\nimport { Radio, ObjectHash } from 'backbone';\r\n\r\nimport { Core, BaseAlert, CommonChannels } from '@clickview/common';\r\nimport { Video, Series, Playlist, AlertList } from '@clickview/shared';\r\nimport {\r\n PlaylistView,\r\n PlaylistsView,\r\n PlaylistsContextProvider,\r\n NewPlaylistView,\r\n EditPlaylistView,\r\n DeletePlaylistView\r\n} from '@clickview/playlists';\r\n\r\nimport { AppChannels, Layouts, LayoutRegions, Actions } from 'shared/constants';\r\nimport { TeacherLayoutViewOptions, TeacherLayoutView } from 'shared/layouts';\r\n\r\nclass PlaylistsAppRouter extends Core.AppRouter {\r\n protected get channelName(): string {\r\n return AppChannels.PLAYLISTS;\r\n }\r\n\r\n protected get appRoutes(): ObjectHash {\r\n return {\r\n 'playlists(/)': 'index',\r\n 'playlists/:id(/)': 'playlist'\r\n };\r\n }\r\n protected get appLinks(): string[] {\r\n return [\r\n 'newPlaylist',\r\n 'editPlaylist',\r\n 'deletePlaylist'\r\n ];\r\n }\r\n}\r\n\r\nexport class PlaylistsApplication extends Core.Application {\r\n protected layout: TeacherLayoutView;\r\n\r\n public get name(): string {\r\n return 'Playlists Application';\r\n }\r\n\r\n protected get layoutOptions(): Core.LayoutOptions<TeacherLayoutViewOptions> {\r\n return {\r\n name: Layouts.TEACHER_LAYOUT,\r\n options: {\r\n showNav: true\r\n }\r\n };\r\n }\r\n\r\n public get channelName(): string {\r\n return AppChannels.PLAYLISTS;\r\n }\r\n\r\n public static get router(): typeof PlaylistsAppRouter {\r\n return PlaylistsAppRouter;\r\n }\r\n\r\n public index(): void {\r\n const getPlaylistAppLink = (playlist: Playlist) => ({\r\n application: AppChannels.PLAYLISTS,\r\n action: Actions.Playlists.PLAYLIST,\r\n args: [playlist.id]\r\n });\r\n\r\n this.layout.showChildView(LayoutRegions.CONTENT,\r\n <PlaylistsContextProvider>\r\n <PlaylistsView getPlaylistAppLink={getPlaylistAppLink} />\r\n </PlaylistsContextProvider>\r\n );\r\n }\r\n\r\n public playlist(id: string): void {\r\n // TODO Replace this\r\n const getVideoAppLink = (video: Video) => ({\r\n application: AppChannels.DEFAULT,\r\n action: 'play:video',\r\n args: [video.id]\r\n });\r\n\r\n const getSeriesAppLink = (series: Series) => ({\r\n application: AppChannels.PLAYLISTS,\r\n action: Actions.Playlists.HOME\r\n });\r\n\r\n this.layout.showChildView(LayoutRegions.CONTENT,\r\n <PlaylistView\r\n playlistId={id}\r\n application={AppChannels.PLAYLISTS}\r\n getVideoAppLink={getVideoAppLink}\r\n getSeriesAppLink={getSeriesAppLink}\r\n allowEdit\r\n />\r\n );\r\n }\r\n\r\n public newPlaylist(): void {\r\n this.layout.showChildView(LayoutRegions.POPUP,\r\n <NewPlaylistView application={AppChannels.PLAYLISTS} closePopup={() => this.layout.closePopup()} />\r\n );\r\n }\r\n\r\n public editPlaylist(id: string): void {\r\n this.layout.showChildView(LayoutRegions.POPUP,\r\n <EditPlaylistView playlistId={id} closePopup={() => this.layout.closePopup()} />\r\n );\r\n }\r\n\r\n public deletePlaylist(id: string): void {\r\n this.layout.showChildView(LayoutRegions.POPUP,\r\n <DeletePlaylistView\r\n playlistId={id}\r\n routeToOnDelete={{\r\n application: AppChannels.PLAYLISTS,\r\n action: Actions.Playlists.HOME\r\n }}\r\n closePopup={() => this.layout.closePopup()}\r\n />\r\n );\r\n }\r\n\r\n protected onShowAlert(options: ObjectHash = {}): void {\r\n const { collection } = options;\r\n\r\n const alerts: BaseAlert[] = collection ? collection.toJSON() : [];\r\n\r\n const removeAlert = (id: string) => Radio.channel(CommonChannels.ALERT).trigger('remove:alert', id);\r\n\r\n this.layout.showChildView(LayoutRegions.ALERT, <AlertList alerts={alerts} removeAlert={removeAlert} />);\r\n }\r\n}","import './shared/errors/not-found/not-found.lang.json'; import './shared/views/left-nav/left-nav-view.lang.json'; import './shared/views/my-uploads/my-uploads-view.lang.json';\r\n\r\nimport './styles';\r\n\r\n/**\r\n * Files that are needed by outside projects. E.g. applications, services.\r\n */\r\nexport * from './shared/constants';\r\nexport * from './shared/layouts';\r\n\r\nexport * from './apps/default/LiteDefaultApplication';\r\nexport * from './apps/playlists/LitePlaylistsApplication';","import { PlayerContext } from 'shared/contexts';\r\nimport * as React from 'react';\r\nimport { WebPlayer } from 'shared/components';\r\n\r\nimport styles from './floating-player.scss';\r\n\r\nexport function FloatingPlayer(): React.ReactElement {\r\n const { id, webPlayerUrl, position } = React.useContext(PlayerContext);\r\n\r\n if (!id)\r\n return <></>;\r\n\r\n let style = {};\r\n let className = styles.fixed;\r\n\r\n if (position) {\r\n className = styles.inline;\r\n style = position;\r\n }\r\n\r\n return (\r\n <div style={style} className={className}>\r\n <WebPlayer id={id} webPlayerHost={webPlayerUrl} />\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fixed\":\"cv--fixed--3C4_W\",\"inline\":\"cv--inline--2voRI\"};","export * from './web-player/WebPlayer';\r\nexport * from './floating-player/FloatingPlayer';\r\nexport * from './resources/Resources';\r\nexport * from './video-details/VideoDetails';","import * as React from 'react';\r\n\r\nimport { Video } from '@clickview/shared';\r\n\r\ninterface VideoResourcesProps {\r\n video: Video;\r\n className?: string;\r\n}\r\n\r\nexport function Resources(props: VideoResourcesProps): React.ReactElement {\r\n const { video } = props;\r\n\r\n if (!video.resources || !video.resources.data || !video.resources.data.length)\r\n return <></>;\r\n\r\n return (\r\n <div className={props.className}>\r\n <h2 className='h4'>Resources</h2>\r\n {video.resources.data.map((r, i) => <div key={i}>{r.name}</div>)}\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\nimport Scrollbars from 'react-custom-scrollbars';\r\nimport { Video, BaseObject, BasePaginatedCollection, TagCollection } from '@clickview/shared';\r\n\r\ninterface TagListProps {\r\n tags: TagCollection;\r\n className?: string;\r\n}\r\n\r\nfunction TagList(props: TagListProps): React.ReactElement {\r\n const { tags, className } = props;\r\n\r\n const hasTags = tags && tags.data && tags.data.length;\r\n\r\n if (!hasTags)\r\n return <></>;\r\n\r\n return (\r\n <div className={className}>\r\n Tags: {tags.data.map((t, i) =>\r\n <span className='badge mr-1 p-1 badge-light' key={i}>{t.name}</span>)}\r\n </div>\r\n );\r\n}\r\n\r\ninterface CommaListProps {\r\n label: string;\r\n items: BasePaginatedCollection<BaseObject>;\r\n className?: string;\r\n}\r\n\r\nfunction CommaList(props: CommaListProps): React.ReactElement {\r\n const { label, items, className } = props;\r\n\r\n const hasItems = items && items.data && items.data.length;\r\n\r\n if (!hasItems)\r\n return <></>;\r\n\r\n const commaSeperated = items.data.map(i => i.name).join(', ');\r\n\r\n return (\r\n <div className={className}>{label}: {commaSeperated}</div>\r\n );\r\n}\r\n\r\ninterface VideoDetailsProps {\r\n video: Video;\r\n}\r\n\r\nexport function VideoDetails(props: VideoDetailsProps): React.ReactElement {\r\n const { video } = props;\r\n const { tags, rating, productionYear, productionCompanies, distributors } = video;\r\n\r\n const ratingCode = rating && rating.code;\r\n\r\n /**\r\n * TODO: Use language service\r\n */\r\n return (\r\n <>\r\n <h2 className='h4'>Details</h2>\r\n <div className='row no-gutters'>\r\n <div className='col-3'>\r\n {ratingCode && <div className='pb-2'>Rating: {ratingCode}</div>}\r\n {productionYear && <div className='pb-2'>Production Year: {productionYear}</div>}\r\n </div>\r\n <div className='col-9'>\r\n <CommaList label='Production Companies' items={productionCompanies} className='pb-2' />\r\n <CommaList label='Distributors' items={distributors} className='pb-2' />\r\n <TagList tags={tags} className='pb-2' />\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\ninterface DescriptionProperties {\r\n description: string;\r\n}\r\n\r\nfunction Description(props: DescriptionProperties): React.ReactElement {\r\n const { description } = props;\r\n\r\n if (!description)\r\n return <></>;\r\n\r\n /**\r\n * TODO: Linkify the description\r\n */\r\n return (\r\n <>\r\n <h2 className='h4'>Description</h2>\r\n <p>{description}</p>\r\n </>\r\n );\r\n}\r\n\r\ninterface DetailsPaneProps {\r\n video: Video;\r\n}\r\n\r\nexport function VideoDetailsWithScrollbar(props: DetailsPaneProps): React.ReactElement {\r\n const { video } = props;\r\n\r\n return (\r\n <div className='rounded border px-3'>\r\n <Scrollbars autoHeight autoHeightMax={250}>\r\n <div className='py-3'>\r\n <VideoDetails video={video} />\r\n <Description description={video.description} />\r\n </div>\r\n </Scrollbars>\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\n\r\ninterface WebPlayerProps {\r\n className?: string;\r\n webPlayerHost: string;\r\n id: string;\r\n}\r\n\r\nexport function WebPlayer(props: WebPlayerProps): React.ReactElement {\r\n const url = `${props.webPlayerHost}home/ev?vid=${props.id}`;\r\n\r\n return (\r\n <div className={`embed-responsive embed-responsive-16by9 ${props.className}`}>\r\n <iframe\r\n src={url}\r\n className='embed-responsive-item'\r\n allowFullScreen\r\n allow='autoplay; fullscreen'/>\r\n </div>\r\n );\r\n}","import { Actions as PlaylistActions } from '@clickview/playlists';\r\n\r\nexport const Actions = {\r\n Default: {\r\n MY_UPLOADS: 'my:uploads'\r\n },\r\n\r\n Playlists: {\r\n HOME: PlaylistActions.Playlists.HOME,\r\n PLAYLIST: PlaylistActions.Playlists.PLAYLIST,\r\n NEW_PLAYLIST: PlaylistActions.Playlists.NEW_PLAYLIST,\r\n EDIT_PLAYLIST: PlaylistActions.Playlists.EDIT_PLAYLIST,\r\n DELETE_PLAYLIST: PlaylistActions.Playlists.DELETE_PLAYLIST\r\n }\r\n};","export const LayoutRegions = {\r\n CONTENT: 'content',\r\n POPUP: 'popup',\r\n ALERT: 'alert'\r\n};","export const Layouts = {\r\n TEACHER_LAYOUT: 'TeacherLayout'\r\n};","export const AppChannels = {\r\n DEFAULT: 'default:application',\r\n PLAYLISTS: 'lite:playlists:application'\r\n};","const BaseWithStatements = {\r\n VIDEOS: 'series,season,rating,producers,distributors,resources,tags,productionCompanies,directors,links,thumbnail'\r\n};\r\n\r\nexport const WithStatements = {\r\n VIDEOS: BaseWithStatements.VIDEOS,\r\n WORKSPACE_VIDEOS: `${BaseWithStatements.VIDEOS}&filter={orderbydesc:timestamp,page:1,limit:25}`\r\n};","export * from './LiteActions';\r\nexport * from './LiteRadioChannels';\r\nexport * from './LiteLayoutRegions';\r\nexport * from './LiteLayouts';\r\nexport * from './WithStatements';","export * from './player/PlayerContext';","import * as React from 'react';\r\nimport { Flight } from '@clickview/common';\r\nimport { Config } from '@clickview/shared';\r\nimport { ConfigRequests } from 'shared/flight-requests';\r\n\r\nexport interface PlayerPosition {\r\n top: number;\r\n left: number;\r\n width: number;\r\n}\r\n\r\ninterface PlayerContextProps {\r\n webPlayerUrl: string;\r\n\r\n id?: string;\r\n setId: (id: string) => void;\r\n\r\n position: PlayerPosition;\r\n setPosition: (position: PlayerPosition) => void;\r\n}\r\n\r\nexport const PlayerContext = React.createContext<PlayerContextProps>(undefined);\r\n\r\nexport function PlayerContextProvider(props: React.PropsWithChildren<{}>): React.ReactElement {\r\n const { children } = props;\r\n\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config);\r\n\r\n const [ id, setId ] = React.useState<string>(null);\r\n const [ position, setPosition ] = React.useState<PlayerPosition>(null);\r\n\r\n const context = {\r\n webPlayerUrl: config.data ? config.data.webPlayerUrl : '',\r\n id: id,\r\n setId,\r\n position,\r\n setPosition\r\n };\r\n\r\n return (\r\n <PlayerContext.Provider value={context}>\r\n {children}\r\n </PlayerContext.Provider>\r\n );\r\n}","import { Flight } from '@clickview/common';\r\n\r\nconst config: Flight.Request = {\r\n url: '/api/config',\r\n key: 'config'\r\n};\r\n\r\nexport const ConfigRequests = {\r\n config\r\n};","import { Flight } from '@clickview/common';\r\n\r\nconst currentUser: Flight.Request = {\r\n url: 'api/currentUser',\r\n key: 'currentuser'\r\n};\r\n\r\nexport const UserRequests = {\r\n currentUser\r\n};","import { Flight } from '@clickview/common';\r\nimport { WithStatements } from 'shared/constants';\r\n\r\nconst endpoints = {\r\n video: (id: string) => `/api/domain/v2/objects/${id}?query=${WithStatements.VIDEOS}`,\r\n\r\n // workspace: () => `api/domain/v2/me/workspace?query=${WithStatements.WORKSPACE_VIDEOS}${addCursor(cursor)}`,\r\n workspace: (cursor: string) =>\r\n `api/domain/v2/objects/8961024/videos?query=${WithStatements.WORKSPACE_VIDEOS}${addCursor(cursor)}`\r\n};\r\n\r\nexport const VideoRequests = {\r\n video(id: string): Flight.Request {\r\n return {\r\n url: endpoints.video(id),\r\n key: `videos:${id}`\r\n };\r\n },\r\n\r\n workspace(cursor: string): Flight.Request {\r\n return {\r\n url: endpoints.workspace(cursor),\r\n key: `workspace:${cursor}`\r\n };\r\n }\r\n};\r\n\r\n// Clean way to attach a cursor to the query if one exists\r\nfunction addCursor(cursor: string): string {\r\n return cursor ? `&cursor=${cursor}` : '';\r\n}","export * from './UserRequests';\r\nexport * from './ConfigRequests';\r\nexport * from './VideoRequests';","export * from './useWindowListeners';","import * as React from 'react';\r\n\r\nfunction createUseWindowListener(event: string): any {\r\n return function useWindowListener(callback: () => void): void {\r\n /**\r\n * Memoize the callback so it's the same function\r\n * when we call removeEventListener\r\n */\r\n const memoCallback = React.useCallback(callback, []);\r\n\r\n React.useEffect(() => {\r\n window.addEventListener(event, memoCallback);\r\n return () => window.removeEventListener(event, memoCallback);\r\n }, []);\r\n };\r\n}\r\n\r\nexport const useOnScroll = createUseWindowListener('scroll');\r\nexport const useOnResize = createUseWindowListener('resize');\r\n\r\n","export * from './teacher-layout/TeacherLayoutView';","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"layout-region position-relative\\\"></div>\";\n},\"useData\":true});","import * as React from 'react';\r\nimport { Store } from 'redux';\r\nimport { Provider } from 'react-redux';\r\nimport { useMediaQuery, MediaQueryStrings } from '@clickview/shared';\r\n\r\nimport { HeaderView, LeftNavView, LeftNavState } from 'shared/views';\r\nimport { PlayerContextProvider } from 'shared/contexts';\r\n\r\nimport styles from './teacher-layout.scss';\r\nimport { FloatingPlayer } from 'shared/components';\r\n\r\ninterface DerivedNavState {\r\n state: LeftNavState;\r\n showMask: boolean;\r\n contentClass: string;\r\n}\r\n\r\nfunction getDerivedNavState(\r\n collapse: boolean, isMobile: boolean, isIPad: boolean\r\n): DerivedNavState {\r\n if (isMobile) {\r\n return {\r\n state: collapse ? LeftNavState.Hidden : LeftNavState.Open,\r\n showMask: !collapse,\r\n contentClass: styles.hiddenNavContent\r\n };\r\n }\r\n\r\n if (isIPad) {\r\n return {\r\n state: collapse ? LeftNavState.Collapsed : LeftNavState.Open,\r\n showMask: !collapse,\r\n contentClass: styles.collapsedNavContent\r\n };\r\n }\r\n\r\n return {\r\n state: collapse ? LeftNavState.Collapsed : LeftNavState.Open,\r\n showMask: false,\r\n contentClass: collapse ? styles.collapsedNavContent : styles.openNavContent\r\n };\r\n}\r\n\r\nexport interface LayoutComponentProps {\r\n showNav: boolean;\r\n\r\n contentChild?: React.ReactNode;\r\n popupChild?: React.ReactNode;\r\n alertChild?: React.ReactNode;\r\n\r\n store: Store;\r\n}\r\n\r\nconst TeacherLayoutComponent = (props: LayoutComponentProps): React.ReactElement => {\r\n const { showNav, contentChild, popupChild, alertChild } = props;\r\n\r\n const [ collapse, setCollapse ] = React.useState(false);\r\n\r\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\r\n const isIPad = useMediaQuery(MediaQueryStrings.SM);\r\n const isLargeDesktop = useMediaQuery(MediaQueryStrings.XLG);\r\n\r\n const toggleLeftNav = () => {\r\n setCollapse(!collapse);\r\n };\r\n\r\n React.useEffect(() => {\r\n setCollapse(!isLargeDesktop);\r\n }, [isLargeDesktop]);\r\n\r\n const navState = getDerivedNavState(collapse, isMobile, isIPad);\r\n\r\n return (\r\n <>\r\n <HeaderView toggleLeftNav={toggleLeftNav} showLeftNavToggle={showNav} />\r\n {showNav && <LeftNavView navState={navState.state}/>}\r\n <div className={`${styles.content} ${navState.contentClass}`}>\r\n <div className='container'>\r\n {contentChild}\r\n </div>\r\n </div>\r\n {popupChild}\r\n {alertChild}\r\n {navState.showMask && <div className={`modal-backdrop show ${styles.mask}`}></div>}\r\n <FloatingPlayer />\r\n </>\r\n );\r\n};\r\n\r\nfunction WrapLayoutWithProviders(props: LayoutComponentProps): React.ReactElement {\r\n return (\r\n <Provider store={props.store}>\r\n <PlayerContextProvider>\r\n <TeacherLayoutComponent {...props} />\r\n </PlayerContextProvider>\r\n </Provider>\r\n );\r\n}\r\n\r\nexport { WrapLayoutWithProviders as TeacherLayoutComponent };","import * as React from 'react';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core, ReactLayoutView } from '@clickview/common';\r\n\r\nimport { Layouts, LayoutRegions } from 'shared/constants';\r\nimport { LayoutComponentProps, TeacherLayoutComponent } from './TeacherLayoutComponent';\r\n\r\nimport TeacherLayoutTemplate from './TeacherLayout.hbs';\r\n\r\nexport interface TeacherLayoutViewOptions extends Core.LayoutViewOptions {\r\n showNav: boolean;\r\n}\r\n\r\nexport class TeacherLayoutView extends ReactLayoutView {\r\n protected options: TeacherLayoutViewOptions;\r\n protected childComponents: { [index: string]: React.ReactNode} = {};\r\n\r\n constructor(options?: TeacherLayoutViewOptions) {\r\n super(options);\r\n }\r\n\r\n public get title(): boolean {\r\n return false;\r\n }\r\n\r\n public get name(): string {\r\n return 'TeacherLayoutView';\r\n }\r\n\r\n public get template(): any {\r\n return TeacherLayoutTemplate;\r\n }\r\n\r\n public static getCacheKey(options: TeacherLayoutViewOptions): string {\r\n return `${Layouts.TEACHER_LAYOUT}:${options.showNav}`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n layout: {\r\n el: '.layout-region',\r\n replaceEl: true\r\n }\r\n };\r\n }\r\n\r\n private getChildComponents(): LayoutComponentProps {\r\n return {\r\n showNav: this.options.showNav,\r\n contentChild: this.childComponents[LayoutRegions.CONTENT],\r\n popupChild: this.childComponents[LayoutRegions.POPUP],\r\n alertChild: this.childComponents[LayoutRegions.ALERT],\r\n store: this.options.store\r\n };\r\n }\r\n\r\n protected unsetRegion(region: string): void {\r\n delete this.childComponents[region];\r\n\r\n this.renderLayout();\r\n }\r\n\r\n public closePopup(): void {\r\n this.unsetRegion(LayoutRegions.POPUP);\r\n }\r\n\r\n public showChildView(region: string, component: React.ReactElement): void {\r\n this.childComponents[region] = component;\r\n\r\n this.renderLayout();\r\n }\r\n\r\n public renderLayout(): void {\r\n super.showChildView('layout', <TeacherLayoutComponent {...this.getChildComponents()} />);\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"cv--content--1SX2l\",\"collapsedNavContent\":\"cv--collapsedNavContent--3LJFz\",\"openNavContent\":\"cv--openNavContent--34Pt4\",\"hiddenNavContent\":\"cv--hiddenNavContent--1gZ0J\",\"mask\":\"cv--mask--mE2Dq\"};","import * as React from 'react';\r\nimport { Flight } from '@clickview/common';\r\nimport { SvgContainer, cvSvgLibrary, User, IconButton } from '@clickview/shared';\r\n\r\nimport { UserRequests } from 'shared/flight-requests';\r\n\r\nimport styles from './header.scss';\r\n\r\nfunction ClickViewLogo(): React.ReactElement {\r\n return (\r\n <svg viewBox='0 0 434 71'>\r\n <g>\r\n <path fill='#000000' d='M114.44 56.57l3.5 3.5a32.87 32.87 0 0 1-25.16 11.26c-19.63 0-33.62-15.54-33.62-35.16C59.16 16.55 73.16 1 92.78 1a32.31 32.31 0 0 1 24.19 10.4l-3.6 3.3a27.32 27.32 0 0 0-20.59-8.74c-16.91 0-28.39 13.5-28.39 30.21s11.48 30.21 28.39 30.21a28.08 28.08 0 0 0 21.66-9.81zM126.64 1h4.55v70.22h-4.73L126.64 1zm17.3 10.6a3.7 3.7 0 1 1 0 7.4 3.7 3.7 0 0 1 0-7.4zm-2.41 15.07h4.81v44.56h-4.81V26.67zm48 33.15l3.33 3.15a21.8 21.8 0 0 1-17.31 8.61c-12.59 0-21.76-10-21.76-22.22 0-12.22 9.17-22.22 21.76-22.22a21.84 21.84 0 0 1 16.85 8l-3.43 3.06a17.15 17.15 0 0 0-13.42-6.3c-10.09 0-16.76 8.15-16.76 17.5s6.67 17.5 16.76 17.5a17.38 17.38 0 0 0 13.98-7.08zm14.99-9.33v20.74h-4.73V1.01h4.73v47.75l20.74-19.02h6.64l-21.56 19.84L234 71.23h-7.01l-22.47-20.74z'/>\r\n <path fill='#F8981D' d='M304.09 19.4a5.56 5.56 0 1 1 0-11.12 5.56 5.56 0 0 1 0 11.12zm-5.56 7.27h11.11v44.56h-11.11V26.67zm61.42 22.15c0 .81 0 2.42-.09 4h-31.75c.8 3.77 5.2 8.61 11.93 8.61a17.11 17.11 0 0 0 11.66-4.31l5.38 8.16a27.23 27.23 0 0 1-17 6.1c-12.92 0-22.88-9.87-22.88-22.34s9.06-22.33 21.35-22.33c11.62-.04 21.4 9.02 21.4 22.11zm-10.77-3.76c-.18-3.68-3.58-8.62-10.67-8.62-6.91 0-10.05 4.85-10.4 8.62h21.07zM385.92 71h-6.42l-19.64-44.37h13.97l9.16 23.98 9.72-23.98h8.31l9.63 23.98 9.16-23.98h13.97L414.24 71h-6.52l-10.85-23.7L385.92 71zm-120.22.35h-6L226.11 1.01h17.01l19.42 44.18 18.08-44.18h16.91L265.7 71.35zM0 1l41 35L0 71V1z'/>\r\n </g>\r\n </svg>\r\n );\r\n}\r\n\r\ninterface UserOptionsProps {\r\n user?: User;\r\n}\r\n\r\n/**\r\n * TODO: Implement user options properly;\r\n */\r\nfunction UserOptions(props: UserOptionsProps): React.ReactElement {\r\n const avatar = props.user && props.user.avatar;\r\n\r\n return (\r\n <div className='mx-2'>\r\n <span className={styles.avatar} style={{ backgroundImage: `url('${avatar}')` }}>\r\n \r\n </span>\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * TODO: Implement notifications properly\r\n */\r\nfunction Notifications(): React.ReactElement {\r\n return (\r\n <div className='ml-2'>\r\n <span className={styles.notifications}>\r\n \r\n </span>\r\n </div>\r\n );\r\n}\r\n\r\ninterface HeaderViewProps {\r\n toggleLeftNav: () => void;\r\n showLeftNavToggle: boolean;\r\n}\r\n\r\nexport function HeaderView(props: HeaderViewProps): React.ReactElement {\r\n const user = Flight.useBasicFetch<User>(UserRequests.currentUser);\r\n\r\n return (\r\n <nav className={`navbar navbar-expanded sticky-top ${styles.nav} justify-content-start`}>\r\n {props.showLeftNavToggle &&\r\n <SvgContainer svgName={cvSvgLibrary.Handle} className={styles.hamburger} onClick={props.toggleLeftNav} />}\r\n\r\n <a className={`navbar-brand text-hide align-top ${styles.logoContainer} d-inline-block'`} href='/'>\r\n <ClickViewLogo />\r\n </a>\r\n {/*\r\n TODO: Implement the search bar properly\r\n <div className={`search-bar-region container ${styles.searchBar}`}>\r\n <input className='form-control' type='text' placeholder='Search by keyword...'></input>\r\n </div> */}\r\n <div className={`d-flex align-items-center pr-1 position-absolute ${styles.actionButtons}`}>\r\n <IconButton svgName={cvSvgLibrary.Upload} className='btn btn-secondary'>Upload a video</IconButton>\r\n <Notifications />\r\n <UserOptions user={user.data} />\r\n </div>\r\n </nav>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nav\":\"cv--nav--3RLQ9\",\"logoContainer\":\"cv--logoContainer--UIlc9\",\"searchBar\":\"cv--searchBar--2E7RQ\",\"actionButtons\":\"cv--actionButtons--2HygL\",\"avatar\":\"cv--avatar--2OoYm\",\"notifications\":\"cv--notifications--2b7ER\",\"hamburger\":\"cv--hamburger--2BRko\"};","export * from './header/HeaderView';\r\nexport * from './left-nav/LeftNavView';\r\nexport * from './play/PlayView';\r\nexport * from './my-uploads/MyUploadsView';","import * as React from 'react';\r\nimport { Scrollbars } from 'react-custom-scrollbars';\r\n\r\nimport { Core, LanguageService } from '@clickview/common';\r\nimport { AppLink } from '@clickview/shared';\r\n\r\nimport { AppChannels, Actions } from 'shared/constants';\r\n\r\nimport styles from './left-nav.scss';\r\n\r\nconst namespace = 'shared.leftNav';\r\n\r\nexport enum LeftNavState {\r\n Open,\r\n Collapsed,\r\n Hidden\r\n}\r\n\r\ninterface LeftNavItemProps {\r\n name: string;\r\n appLink?: Core.AppLink;\r\n}\r\n\r\nconst LeftNavItem = (props: LeftNavItemProps): React.ReactElement => (\r\n <AppLink className={`${styles.leftNavAnchor} d-block my-3`} appLink={props.appLink}>\r\n <span className={`${styles.iconPlaceholder}`}></span>\r\n <span className={`${styles.leftNavText}`}>{props.name}</span>\r\n </AppLink>\r\n);\r\n\r\ninterface LeftNavViewProps {\r\n navState: LeftNavState;\r\n}\r\n\r\nexport function LeftNavView(props: LeftNavViewProps): React.ReactElement {\r\n if (props.navState === LeftNavState.Hidden)\r\n return <></>;\r\n\r\n const collapsed = props.navState === LeftNavState.Collapsed;\r\n\r\n const getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\n /**\r\n * TODO: Set up applinks for all of these pages\r\n */\r\n return (\r\n <nav className={`${styles.leftNav} ${collapsed ? styles.leftNavCollapsed : ''}`}>\r\n <Scrollbars height='100%'>\r\n <LeftNavItem name={getPhrase('home')} appLink={{\r\n application: AppChannels.DEFAULT,\r\n action: 'index'\r\n }} />\r\n <LeftNavItem\r\n name={getPhrase('myPlaylists')}\r\n appLink={{ application: AppChannels.PLAYLISTS, action: Actions.Playlists.HOME }}\r\n />\r\n <LeftNavItem name={getPhrase('myUploads')} appLink={{\r\n application: AppChannels.DEFAULT,\r\n action: Actions.Default.MY_UPLOADS\r\n }} />\r\n <LeftNavItem name={getPhrase('following')} />\r\n <LeftNavItem name={getPhrase('favouritedVideos')} />\r\n {!collapsed &&\r\n <>\r\n <hr />\r\n <LeftNavItem name={getPhrase('watchHistory')} />\r\n <LeftNavItem name={getPhrase('myClassrooms')} />\r\n </>\r\n }\r\n </Scrollbars>\r\n </nav>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"leftNav\":\"cv--leftNav--3jVyN\",\"iconPlaceholder\":\"cv--iconPlaceholder--1ud9G\",\"leftNavAnchor\":\"cv--leftNavAnchor--3A_-8\",\"leftNavText\":\"cv--leftNavText--3qbRh\",\"leftNavCollapsed\":\"cv--leftNavCollapsed--2idO9\"};","import * as React from 'react';\r\n\r\nimport { Flight, LanguageService, Core } from '@clickview/common';\r\nimport {\r\n BannerHeader,\r\n Config,\r\n Text,\r\n VideoCollection,\r\n VideoList,\r\n Video,\r\n Series,\r\n ActionOptions,\r\n cvSvgLibrary\r\n} from '@clickview/shared';\r\n\r\nimport { ConfigRequests, VideoRequests } from 'shared/flight-requests';\r\nimport { AppChannels } from 'shared/constants';\r\n\r\n/**\r\n * This will need to change when this is moved into its own application directory.\r\n */\r\nconst namespace = 'shared.myUploads';\r\n\r\n// This must be a function as the LanguageService config won't be set until runtime.\r\nconst getHeaderActions = (): ActionOptions[] => ([\r\n {\r\n label: LanguageService.getPhrase(namespace, 'share'),\r\n appLink: { application: AppChannels.DEFAULT, action: 'index' },\r\n svgName: cvSvgLibrary.Share,\r\n className: 'btn btn-light',\r\n button: true\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'edit'),\r\n appLink: { application: AppChannels.DEFAULT, action: 'index' },\r\n svgName: cvSvgLibrary.Edit,\r\n className: 'btn btn-light',\r\n button: true\r\n }\r\n]);\r\n\r\nconst getVideoAppLink = (video: Video): Core.AppLink => ({\r\n application: null,\r\n action: null,\r\n args: [video.id]\r\n});\r\n\r\nconst getSeriesAppLink = (series: Series): Core.AppLink => ({\r\n application: null,\r\n action: null,\r\n args: [series.id]\r\n});\r\n\r\ninterface MyUploadsViewProps {\r\n cursor?: string;\r\n}\r\n\r\nexport function MyUploadsView(props: MyUploadsViewProps): JSX.Element {\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config);\r\n const workspace = Flight.useBasicFetch<VideoCollection>(VideoRequests.workspace(props.cursor));\r\n\r\n if (!config.data || !workspace.data)\r\n return <></>;\r\n\r\n return (\r\n <>\r\n <BannerHeader\r\n heading={LanguageService.getPhrase(namespace, 'header')}\r\n banner={null}\r\n imageCdnUrl={config.data.imageCdnUrl}\r\n actions={getHeaderActions()}\r\n />\r\n <div>\r\n <p className='pt-3'><Text namespace={namespace} phrase='description' /></p>\r\n\r\n <VideoList\r\n videos={workspace.data.data}\r\n cursors={workspace.data.pagination.cursors}\r\n getVideoAppLink={getVideoAppLink}\r\n getSeriesAppLink={getSeriesAppLink}\r\n />\r\n </div>\r\n </>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { Flight, FunctionHelper } from '@clickview/common';\r\n\r\nimport { Video } from '@clickview/shared';\r\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\r\nimport { Resources, VideoDetailsWithScrollbar } from 'shared/components';\r\n\r\nimport { PlayerContext, PlayerPosition } from 'shared/contexts';\r\nimport { BackButton, VideoTitle, Badges, Buttons } from './components';\r\nimport { useOnScroll, useOnResize } from 'shared/hooks';\r\n\r\nfunction getUpdate(\r\n placeholder: React.MutableRefObject<HTMLElement>,\r\n setPosition: (position: PlayerPosition) => void\r\n): () => void {\r\n return () => {\r\n if (!placeholder.current)\r\n return;\r\n\r\n const rect = placeholder.current.getBoundingClientRect();\r\n const left = window.pageXOffset || document.documentElement.scrollLeft;\r\n const top = window.pageYOffset || document.documentElement.scrollTop;\r\n\r\n /**\r\n * Only show floating player\r\n * if the normal player is no longer in view\r\n */\r\n if (rect.top < -rect.height) {\r\n setPosition(null);\r\n return;\r\n }\r\n\r\n setPosition({ top: top + rect.top, left: left + rect.left, width: rect.width });\r\n };\r\n}\r\n\r\ninterface PlayViewProps {\r\n id: string;\r\n}\r\n\r\nexport function PlayView(props: PlayViewProps): React.ReactElement {\r\n const { setPosition, setId } = React.useContext(PlayerContext);\r\n\r\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\r\n\r\n /**\r\n * Get reference to the placeholder domElement\r\n */\r\n const placeholder = React.useRef(null);\r\n const placeholderRef = React.useCallback(node => {\r\n if (!node)\r\n return;\r\n\r\n placeholder.current = node;\r\n update();\r\n }, []);\r\n\r\n /**\r\n * Memoize so we don't call debounce repeatedly\r\n */\r\n const update = React.useMemo(() => FunctionHelper.debounce(getUpdate(placeholder, setPosition), 100), []);\r\n\r\n /**\r\n * Bind update to 'scroll' and 'resize'\r\n */\r\n useOnScroll(update);\r\n useOnResize(update);\r\n\r\n /**\r\n * Clear the position when this component is closed\r\n */\r\n React.useEffect(() => {\r\n return () => setPosition(null);\r\n }, []);\r\n\r\n if (!video.data)\r\n return <></>;\r\n\r\n /**\r\n * Only set the video id on the PlayerContext\r\n * once we've successfully fetched the video\r\n */\r\n setId(video.data.id);\r\n\r\n return (\r\n <>\r\n <div className='d-flex justify-content-between'>\r\n <BackButton />\r\n <button className='btn btn-light'>Classroom mode</button>\r\n </div>\r\n <div className='embed-responsive embed-responsive-16by9 my-3' ref={placeholderRef}></div>\r\n <VideoTitle video={video.data} />\r\n <Badges video={video.data} />\r\n <Buttons />\r\n <hr />\r\n <VideoDetailsWithScrollbar video={video.data} />\r\n <Resources video={video.data} className='mt-3' />\r\n </>\r\n );\r\n}","import * as React from 'react';\r\nimport { SvgContainer, cvSvgLibrary, SvgContainerSize, AppLink } from '@clickview/shared';\r\nimport { AppChannels } from 'shared/constants';\r\n\r\n\r\nexport function BackButton(): React.ReactElement {\r\n\r\n /**\r\n * TODO: Actually implement a back history\r\n */\r\n const appLink = {\r\n application: AppChannels.DEFAULT,\r\n action: 'index'\r\n };\r\n\r\n return (\r\n <AppLink appLink={appLink} className='h5 mb-0'>\r\n <SvgContainer\r\n svgName={cvSvgLibrary.ChevronLeft}\r\n size={SvgContainerSize.Medium}\r\n className='svg-container d-inline-block mr-1 align-middle' />\r\n <span className='d-inline-block align-middle'>Back to Home</span>\r\n </AppLink>\r\n );\r\n}","import * as React from 'react';\r\nimport { Video } from '@clickview/shared';\r\n\r\ninterface BadgesProps {\r\n video: Video;\r\n}\r\n\r\nexport function Badges(props: BadgesProps): React.ReactElement {\r\n const { video } = props;\r\n const { rating, productionYear } = video;\r\n\r\n return (\r\n <div>\r\n {rating && <span className='badge badge-light p-1 mr-1'>{rating.code}</span>}\r\n {productionYear && <span className='badge badge-light p-1 mr-1'>{productionYear}</span>}\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\nimport { IconButton, cvSvgLibrary } from '@clickview/shared';\r\n\r\nexport function Buttons(): React.ReactElement {\r\n return (\r\n <div className='mt-3'>\r\n <IconButton svgName={cvSvgLibrary.Plus} className='btn btn-outline-secondary mr-2'>Create interactive video</IconButton>\r\n <IconButton svgName={cvSvgLibrary.Plus} className='btn btn-outline-secondary mr-2'>Create clip</IconButton>\r\n <IconButton svgName={cvSvgLibrary.More} className='btn btn-light float-right ml-2'>More</IconButton>\r\n <IconButton svgName={cvSvgLibrary.Share} className='btn btn-light float-right ml-2'>Share</IconButton>\r\n <IconButton svgName={cvSvgLibrary.AddToPlaylists} className='btn btn-light float-right ml-2'>Add to Playlist</IconButton>\r\n <IconButton svgName={cvSvgLibrary.Plus} className='btn btn-light float-right ml-2'>Favourite</IconButton>\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\nimport { Core } from '@clickview/common';\r\nimport { Video, SeriesLink } from '@clickview/shared';\r\n\r\ninterface VideoTitleProps {\r\n video: Video;\r\n}\r\n\r\nexport function VideoTitle(props: VideoTitleProps): React.ReactElement {\r\n const { video } = props;\r\n\r\n const tempAppLink: Core.AppLink = {\r\n application: 'series',\r\n action: 'series',\r\n };\r\n\r\n return (\r\n <h1 className='h3'>\r\n <SeriesLink video={video} appLink={tempAppLink} />\r\n {video.name}\r\n </h1>\r\n );\r\n}","export * from './BackButton';\r\nexport * from './Badges';\r\nexport * from './Buttons';\r\nexport * from './VideoTitle';","import './theme-overrides.scss';","// extracted by mini-css-extract-plugin","module.exports = __WEBPACK_EXTERNAL_MODULE__clickview_common__;","module.exports = __WEBPACK_EXTERNAL_MODULE__clickview_playlists__;","module.exports = __WEBPACK_EXTERNAL_MODULE__clickview_shared__;","module.exports = __WEBPACK_EXTERNAL_MODULE_backbone__;","module.exports = __WEBPACK_EXTERNAL_MODULE_handlebars__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_custom_scrollbars__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_redux__;"],"sourceRoot":""}
|
package/dist/lite-app.css.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/lite/src/styles/theme-overrides.scss","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/header/header.scss","file://C:/ClickView Projects/clickview/packages/lite/src/shared/views/left-nav/left-nav.scss","file://C:/ClickView Projects/clickview/packages/lite/src/shared/components/floating-player/floating-player.scss","file://C:/ClickView Projects/clickview/packages/lite/src/shared/layouts/teacher-layout/teacher-layout.scss"],"names":[],"mappings":"AAAA;AACA,yBAAyB;;ACDzB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,0BAA0B;;AAE1B;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,4BAA4B;;AC/C5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,gBAAgB;AAChB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AClDnB;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA,qBAAqB;;ACRrB;AACA,uBAAuB;;AAEvB;AACA,uBAAuB;;AAEvB;AACA,sBAAsB;;AAEtB;AACA,kBAAkB;;AAElB;AACA,gBAAgB","file":"lite-app.css","sourcesContent":["body {\n background-color: #fff; }\n",".cv--nav--3RLQ9 {\n background-color: #fff;\n border-bottom: 1px solid #eaeaea;\n z-index: 1002; }\n\n.cv--logoContainer--UIlc9 {\n min-width: 12rem;\n width: 13.75rem;\n height: 2.92062rem; }\n\n.cv--searchBar--2E7RQ {\n padding-right: 18.75rem; }\n\n.cv--actionButtons--2HygL {\n right: 0; }\n\n.cv--avatar--2OoYm {\n border-radius: 50%;\n background-color: #51ADA3;\n display: inline-block;\n width: 2.1875rem;\n height: 2.1875rem;\n text-align: center;\n line-height: 2.1875rem;\n background-size: cover;\n background-position: top center; }\n\n.cv--notifications--2b7ER {\n border-radius: 50%;\n display: inline-block;\n background-color: #eaeaea;\n width: 2.1875rem;\n height: 2.1875rem;\n text-align: center;\n line-height: 2.1875rem;\n background-size: cover;\n background-position: top center; }\n\n.cv--hamburger--2BRko {\n color: #eaeaea;\n height: 1.25rem;\n width: 1.25rem;\n margin-right: 1.25rem;\n cursor: pointer;\n display: inline-block; }\n .cv--hamburger--2BRko svg {\n width: 100% !important;\n height: 100% !important; }\n",".cv--leftNav--3jVyN {\n top: 4.25rem;\n bottom: 0;\n position: fixed;\n width: 15rem;\n background-color: #fff;\n border-right: 1px solid #eaeaea;\n z-index: 1001; }\n\n.cv--iconPlaceholder--1ud9G {\n border-radius: 50%;\n background-color: #eaeaea;\n /**\r\n * TODO: This is an arbitrary size just to get the nav set up.\r\n * This either needs to be calculated or turned into a variable\r\n */\n width: 3rem;\n height: 3rem;\n position: absolute;\n left: 1.25rem;\n display: inline-block; }\n\n.cv--leftNavAnchor--3A_-8 {\n position: relative;\n /**\r\n * TODO: See the todo above. Replace this with a variable\r\n */\n min-height: 3rem; }\n\n.cv--leftNavText--3qbRh {\n padding-left: 5.5rem;\n position: absolute;\n top: 50%;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n display: inline-block; }\n\n.cv--leftNavCollapsed--2idO9 {\n width: 5.5rem; }\n .cv--leftNavCollapsed--2idO9 .cv--iconPlaceholder--1ud9G {\n position: relative;\n left: auto;\n margin: 0 1.25rem; }\n .cv--leftNavCollapsed--2idO9 .cv--leftNavText--3qbRh {\n position: relative;\n padding-left: 0;\n text-align: center;\n top: auto;\n -webkit-transform: none;\n transform: none;\n display: block; }\n",".cv--fixed--3C4_W {\n display: inline-block;\n position: fixed;\n bottom: 0;\n right: 1.25rem;\n width: 350px; }\n\n.cv--inline--2voRI {\n position: absolute; }\n",".cv--content--1SX2l {\n padding-top: 1.25rem; }\n\n.cv--collapsedNavContent--3LJFz {\n padding-left: 5.5rem; }\n\n.cv--openNavContent--34Pt4 {\n padding-left: 15rem; }\n\n.cv--hiddenNavContent--1gZ0J {\n padding-left: 0; }\n\n.cv--mask--mE2Dq {\n z-index: 1000; }\n"],"sourceRoot":""}
|
package/dist/lite-app.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
-
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
|
-
module.exports = factory();
|
|
4
|
-
else if(typeof define === 'function' && define.amd)
|
|
5
|
-
define([], factory);
|
|
6
|
-
else if(typeof exports === 'object')
|
|
7
|
-
exports["lite"] = factory();
|
|
8
|
-
else
|
|
9
|
-
root["lite"] = factory();
|
|
10
|
-
})(window, function() {
|
|
11
|
-
return /******/ (function(modules) { // webpackBootstrap
|
|
12
|
-
/******/ // The module cache
|
|
13
|
-
/******/ var installedModules = {};
|
|
14
|
-
/******/
|
|
15
|
-
/******/ // The require function
|
|
16
|
-
/******/ function __webpack_require__(moduleId) {
|
|
17
|
-
/******/
|
|
18
|
-
/******/ // Check if module is in cache
|
|
19
|
-
/******/ if(installedModules[moduleId]) {
|
|
20
|
-
/******/ return installedModules[moduleId].exports;
|
|
21
|
-
/******/ }
|
|
22
|
-
/******/ // Create a new module (and put it into the cache)
|
|
23
|
-
/******/ var module = installedModules[moduleId] = {
|
|
24
|
-
/******/ i: moduleId,
|
|
25
|
-
/******/ l: false,
|
|
26
|
-
/******/ exports: {}
|
|
27
|
-
/******/ };
|
|
28
|
-
/******/
|
|
29
|
-
/******/ // Execute the module function
|
|
30
|
-
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
31
|
-
/******/
|
|
32
|
-
/******/ // Flag the module as loaded
|
|
33
|
-
/******/ module.l = true;
|
|
34
|
-
/******/
|
|
35
|
-
/******/ // Return the exports of the module
|
|
36
|
-
/******/ return module.exports;
|
|
37
|
-
/******/ }
|
|
38
|
-
/******/
|
|
39
|
-
/******/
|
|
40
|
-
/******/ // expose the modules object (__webpack_modules__)
|
|
41
|
-
/******/ __webpack_require__.m = modules;
|
|
42
|
-
/******/
|
|
43
|
-
/******/ // expose the module cache
|
|
44
|
-
/******/ __webpack_require__.c = installedModules;
|
|
45
|
-
/******/
|
|
46
|
-
/******/ // define getter function for harmony exports
|
|
47
|
-
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
48
|
-
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
49
|
-
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
50
|
-
/******/ }
|
|
51
|
-
/******/ };
|
|
52
|
-
/******/
|
|
53
|
-
/******/ // define __esModule on exports
|
|
54
|
-
/******/ __webpack_require__.r = function(exports) {
|
|
55
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
56
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
57
|
-
/******/ }
|
|
58
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
59
|
-
/******/ };
|
|
60
|
-
/******/
|
|
61
|
-
/******/ // create a fake namespace object
|
|
62
|
-
/******/ // mode & 1: value is a module id, require it
|
|
63
|
-
/******/ // mode & 2: merge all properties of value into the ns
|
|
64
|
-
/******/ // mode & 4: return value when already ns object
|
|
65
|
-
/******/ // mode & 8|1: behave like require
|
|
66
|
-
/******/ __webpack_require__.t = function(value, mode) {
|
|
67
|
-
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
68
|
-
/******/ if(mode & 8) return value;
|
|
69
|
-
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
70
|
-
/******/ var ns = Object.create(null);
|
|
71
|
-
/******/ __webpack_require__.r(ns);
|
|
72
|
-
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
73
|
-
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
74
|
-
/******/ return ns;
|
|
75
|
-
/******/ };
|
|
76
|
-
/******/
|
|
77
|
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
78
|
-
/******/ __webpack_require__.n = function(module) {
|
|
79
|
-
/******/ var getter = module && module.__esModule ?
|
|
80
|
-
/******/ function getDefault() { return module['default']; } :
|
|
81
|
-
/******/ function getModuleExports() { return module; };
|
|
82
|
-
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
83
|
-
/******/ return getter;
|
|
84
|
-
/******/ };
|
|
85
|
-
/******/
|
|
86
|
-
/******/ // Object.prototype.hasOwnProperty.call
|
|
87
|
-
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
88
|
-
/******/
|
|
89
|
-
/******/ // __webpack_public_path__
|
|
90
|
-
/******/ __webpack_require__.p = "";
|
|
91
|
-
/******/
|
|
92
|
-
/******/
|
|
93
|
-
/******/ // Load entry module and return exports
|
|
94
|
-
/******/ return __webpack_require__(__webpack_require__.s = "./src/index.ts");
|
|
95
|
-
/******/ })
|
|
96
|
-
/************************************************************************/
|
|
97
|
-
/******/ ({
|
|
98
|
-
|
|
99
|
-
/***/ "./src/index.ts":
|
|
100
|
-
/*!**********************!*\
|
|
101
|
-
!*** ./src/index.ts ***!
|
|
102
|
-
\**********************/
|
|
103
|
-
/*! no static exports found */
|
|
104
|
-
/***/ (function(module, exports) {
|
|
105
|
-
|
|
106
|
-
console.log('entry point');
|
|
107
|
-
|
|
108
|
-
/***/ })
|
|
109
|
-
|
|
110
|
-
/******/ });
|
|
111
|
-
});
|
|
112
|
-
//# sourceMappingURL=lite-app.js.map
|
package/dist/lite-app.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/lite/webpack/universalModuleDefinition","file://C:/ClickView Projects/clickview/packages/lite/webpack/bootstrap","file://C:/ClickView Projects/clickview/packages/lite/src/index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA,OAAO,CAAC,GAAR,CAAY,aAAZ,E","file":"lite-app.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"lite\"] = factory();\n\telse\n\t\troot[\"lite\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n","console.log('entry point');"],"sourceRoot":""}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { Core } from '@clickview/common';
|
|
3
|
-
interface IconButtonProps {
|
|
4
|
-
className?: string;
|
|
5
|
-
appLink?: Core.AppLink;
|
|
6
|
-
svgName: string;
|
|
7
|
-
}
|
|
8
|
-
export declare function IconButton(props: React.PropsWithChildren<IconButtonProps>): React.ReactElement;
|
|
9
|
-
export {};
|
package/dist/shared/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Flight } from '@clickview/common';
|
|
2
|
-
interface InfiniteScrollProps<T> {
|
|
3
|
-
items: T[];
|
|
4
|
-
shouldInitialFetch: boolean;
|
|
5
|
-
nextCursor: string;
|
|
6
|
-
isFetching: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare const InfiniteScrollHelper: {
|
|
9
|
-
getInfiniteScrollProps<T>(state: Flight.ApplicationState, getKey: (cursor?: string) => string): InfiniteScrollProps<T>;
|
|
10
|
-
};
|
|
11
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './LiteAppLinkUtils';
|