@clickview/lite 0.0.11-rc.0 → 0.0.12-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/apps/classrooms/LiteClassroomsApplication.d.ts +14 -0
  2. package/dist/apps/classrooms/components/classroom-details-form/ClassroomDetailsForm.d.ts +7 -0
  3. package/dist/apps/classrooms/components/classroom-item/ClassroomItem.d.ts +7 -0
  4. package/dist/apps/classrooms/components/edit-classroom-details/EditClassroomDetails.d.ts +10 -0
  5. package/dist/apps/classrooms/flight-requests/ClassroomRequests.d.ts +10 -0
  6. package/dist/apps/classrooms/interfaces/EditClassroomRequest.d.ts +4 -0
  7. package/dist/apps/classrooms/validation/ClassroomValidationSchema.d.ts +3 -0
  8. package/dist/apps/classrooms/views/classroom/ClassroomView.d.ts +6 -0
  9. package/dist/apps/classrooms/views/classrooms/ClassroomsView.d.ts +2 -0
  10. package/dist/apps/classrooms/views/classrooms/empty-state/ClassroomsEmptyState.d.ts +2 -0
  11. package/dist/apps/classrooms/views/create-classroom/CreateClassroomView.d.ts +6 -0
  12. package/dist/apps/classrooms/views/delete-classroom/DeleteClassroomView.d.ts +7 -0
  13. package/dist/apps/classrooms/views/edit-classroom/EditClassroomView.d.ts +7 -0
  14. package/dist/apps/default/LiteDefaultApplication.d.ts +2 -1
  15. package/dist/apps/default/views/index.d.ts +0 -1
  16. package/dist/apps/default/views/mock-testing/MockRequests.d.ts +12 -0
  17. package/dist/apps/default/views/mock-testing/MockView.d.ts +2 -0
  18. package/dist/apps/embed/LiteEmbedApplication.d.ts +1 -1
  19. package/dist/apps/embed/views/embed/EmbedView.d.ts +1 -0
  20. package/dist/apps/search/components/filter-actions/FilterActions.d.ts +2 -0
  21. package/dist/apps/search/components/filter-types/checkbox-filter/CheckboxFilter.d.ts +2 -0
  22. package/dist/apps/search/components/filter-types/dropdown-filter/DropdownFilter.d.ts +7 -0
  23. package/dist/apps/search/components/filter-types/index.d.ts +3 -1
  24. package/dist/apps/search/components/filter-types/radio-filter/year-level/YearLevelRadioFilter.d.ts +7 -0
  25. package/dist/apps/search/components/scoped-search-bar/ScopedSearchBar.d.ts +18 -0
  26. package/dist/apps/search/components/scoped-search-bar/partial-loading/PartialScopedSearchBar.d.ts +2 -0
  27. package/dist/apps/search/components/search-filters/PartialSearchFilters.d.ts +6 -1
  28. package/dist/apps/search/components/search-filters/SearchFilters.d.ts +5 -1
  29. package/dist/apps/search/flight-requests/SearchRequests.d.ts +1 -1
  30. package/dist/apps/search/interfaces/SearchFilter.d.ts +7 -5
  31. package/dist/apps/search/reducers/FilterReducer.d.ts +14 -10
  32. package/dist/apps/search/utils/FilterHelper.d.ts +39 -6
  33. package/dist/apps/upload/LiteUploadApplication.d.ts +12 -0
  34. package/dist/apps/upload/components/upload-file-select/UploadFileSelect.d.ts +6 -0
  35. package/dist/apps/upload/components/uploading-item/UploadingItem.d.ts +9 -0
  36. package/dist/apps/upload/hooks/useGetUploadingItems.d.ts +3 -0
  37. package/dist/apps/upload/services/CombineUploadsService.d.ts +50 -0
  38. package/dist/apps/upload/services/FlightVideoUploadDataService.d.ts +33 -0
  39. package/dist/apps/upload/services/VideoUploadService.d.ts +13 -0
  40. package/dist/apps/upload/services/index.d.ts +3 -0
  41. package/dist/apps/upload/views/cancel-upload/CancelUploadView.d.ts +10 -0
  42. package/dist/apps/upload/views/edit-upload/EditUploadView.d.ts +7 -0
  43. package/dist/apps/upload/views/my-uploads/DismissibleAlert.d.ts +2 -0
  44. package/dist/apps/upload/views/my-uploads/MyUploadsView.d.ts +6 -0
  45. package/dist/apps/user-manager/LiteUserManagerApplication.d.ts +18 -0
  46. package/dist/apps/user-manager/components/bulk-upload-file-select/BulkUploadFileSelect.d.ts +11 -0
  47. package/dist/apps/user-manager/components/delete-uploaded-student-popup/DeleteUploadedStudentPopup.d.ts +8 -0
  48. package/dist/apps/user-manager/components/delete-uploaded-teacher-popup/DeleteUploadedTeacherPopup.d.ts +8 -0
  49. package/dist/apps/user-manager/components/edit-student-details/EditStudentDetails.d.ts +12 -0
  50. package/dist/apps/user-manager/components/edit-teacher-details/EditTeacherDetails.d.ts +12 -0
  51. package/dist/apps/user-manager/components/edit-uploaded-student-popup/EditUploadedStudentPopup.d.ts +8 -0
  52. package/dist/apps/user-manager/components/edit-uploaded-user-popup/EditUploadedUserPopup.d.ts +11 -0
  53. package/dist/apps/user-manager/components/index.d.ts +5 -0
  54. package/dist/apps/user-manager/components/manage-users-list/ManageUsersList.d.ts +11 -0
  55. package/dist/apps/user-manager/components/manage-users-list/partial-loading/PartialManageUsersList.d.ts +2 -0
  56. package/dist/apps/user-manager/components/manage-users-list/students/ManageStudentItem.d.ts +9 -0
  57. package/dist/apps/user-manager/components/manage-users-list/teachers/ManageTeacherItem.d.ts +9 -0
  58. package/dist/apps/user-manager/components/student-review-table/StudentReviewRow.d.ts +11 -0
  59. package/dist/apps/user-manager/components/student-review-table/StudentReviewTable.d.ts +9 -0
  60. package/dist/apps/user-manager/components/teacher-review-table/TeacherReviewRow.d.ts +11 -0
  61. package/dist/apps/user-manager/components/teacher-review-table/TeacherReviewTable.d.ts +9 -0
  62. package/dist/apps/user-manager/components/user-details-form/UserDetailsForm.d.ts +12 -0
  63. package/dist/apps/user-manager/components/year-level-select/YearLevelSelect.d.ts +9 -0
  64. package/dist/apps/user-manager/enums/index.d.ts +1 -0
  65. package/dist/apps/user-manager/enums/mocks/MockUserType.d.ts +4 -0
  66. package/dist/apps/user-manager/flight-requests/ClassroomRequests.d.ts +5 -0
  67. package/dist/apps/user-manager/flight-requests/SchoolUserRequests.d.ts +23 -0
  68. package/dist/apps/user-manager/flight-requests/YearLevelRequests.d.ts +4 -0
  69. package/dist/apps/user-manager/interfaces/EditUserRequest.d.ts +10 -0
  70. package/dist/apps/user-manager/interfaces/index.d.ts +6 -0
  71. package/dist/apps/user-manager/interfaces/mocks/MockClassroom.d.ts +3 -0
  72. package/dist/apps/user-manager/interfaces/mocks/MockStudent.d.ts +10 -0
  73. package/dist/apps/user-manager/interfaces/mocks/MockTeacher.d.ts +8 -0
  74. package/dist/apps/user-manager/interfaces/mocks/MockUserRole.d.ts +3 -0
  75. package/dist/apps/user-manager/interfaces/mocks/MockYearLevel.d.ts +3 -0
  76. package/dist/apps/user-manager/reducers/UserUploadReducer.d.ts +38 -0
  77. package/dist/apps/user-manager/validation/index.d.ts +1 -0
  78. package/dist/apps/user-manager/validation/user-validation/UserValidationSchema.d.ts +19 -0
  79. package/dist/apps/user-manager/views/create-student/CreateStudentView.d.ts +6 -0
  80. package/dist/apps/user-manager/views/create-teacher/CreateTeacherView.d.ts +6 -0
  81. package/dist/apps/user-manager/views/edit-student/EditStudentView.d.ts +7 -0
  82. package/dist/apps/user-manager/views/edit-teacher/EditTeacherView.d.ts +7 -0
  83. package/dist/apps/user-manager/views/remove-user/RemoveUserView.d.ts +8 -0
  84. package/dist/apps/user-manager/views/school-student-manager/SchoolStudentManagerView.d.ts +7 -0
  85. package/dist/apps/user-manager/views/school-student-manager/empty-state/SchoolStudentManagerEmptyState.d.ts +2 -0
  86. package/dist/apps/user-manager/views/school-teacher-manager/SchoolTeacherManagerView.d.ts +7 -0
  87. package/dist/apps/user-manager/views/school-teacher-manager/empty-state/SchoolTeacherManagerEmptyState.d.ts +2 -0
  88. package/dist/apps/user-manager/views/student-upload-review/StudentUploadReducer.d.ts +34 -0
  89. package/dist/apps/user-manager/views/student-upload-review/StudentUploadReviewView.d.ts +3 -0
  90. package/dist/apps/user-manager/views/teacher-upload-review/TeacherUploadReviewView.d.ts +3 -0
  91. package/dist/bundle.js +7 -1
  92. package/dist/bundle.js.map +1 -0
  93. package/dist/en.json +1 -1
  94. package/dist/index.d.ts +45 -4
  95. package/dist/lite-app.css +21 -3
  96. package/dist/lite-app.css.map +1 -0
  97. package/dist/shared/components/avatar/Avatar.d.ts +6 -0
  98. package/dist/shared/components/index.d.ts +0 -3
  99. package/dist/shared/components/play-page/Buttons.d.ts +6 -1
  100. package/dist/shared/components/share/copy-embed-html/CopyEmbedHtml.d.ts +6 -0
  101. package/dist/shared/components/share/sharee-item/ShareeItem.d.ts +7 -0
  102. package/dist/shared/components/share/tokenized-typeahead/InputSelection.d.ts +8 -0
  103. package/dist/shared/components/share/tokenized-typeahead/TokenizedTypeahead.d.ts +20 -0
  104. package/dist/shared/components/toggle-switch/ToggleSwitch.d.ts +8 -0
  105. package/dist/shared/constants/EmbedResolutions.d.ts +6 -0
  106. package/dist/shared/constants/LiteActions.d.ts +25 -2
  107. package/dist/shared/constants/LiteRadioChannels.d.ts +6 -0
  108. package/dist/shared/constants/Services.d.ts +1 -0
  109. package/dist/shared/flight-requests/ShareRequests.d.ts +1 -0
  110. package/dist/shared/flight-requests/VideoRequests.d.ts +7 -0
  111. package/dist/shared/hooks/index.d.ts +1 -0
  112. package/dist/shared/hooks/useBulkCheckboxManager.d.ts +17 -0
  113. package/dist/shared/hooks/useNavLock.d.ts +9 -0
  114. package/dist/shared/hooks/useVideoMixin.d.ts +2 -0
  115. package/dist/shared/services/index.d.ts +0 -3
  116. package/dist/shared/utils/DialogHelper.d.ts +18 -0
  117. package/dist/shared/views/index.d.ts +0 -2
  118. package/dist/shared/views/left-nav/CollapsedLeftNav.d.ts +2 -0
  119. package/dist/shared/views/left-nav/ExpandedLeftNav.d.ts +2 -0
  120. package/dist/shared/views/left-nav/LeftNavItem.d.ts +13 -0
  121. package/dist/shared/views/left-nav/LeftNavView.d.ts +2 -2
  122. package/dist/shared/views/left-nav/partial-loading/PartialLeftNavItem.d.ts +2 -0
  123. package/dist/shared/views/share/ShareView.d.ts +9 -0
  124. package/dist/shared/views/share/main-view/MainShareView.d.ts +11 -0
  125. package/dist/shared/views/share/settings-view/ShareSettingsView.d.ts +8 -0
  126. package/package.json +10 -6
  127. package/typings/utils/imports.d.ts +6 -1
  128. package/dist/apps/default/views/dialog/LiteDialogView.d.ts +0 -9
  129. package/dist/shared/components/div-button/DivButton.d.ts +0 -10
@@ -0,0 +1,14 @@
1
+ import { Core, ReactApplication } from '@clickview/common';
2
+ import { TeacherLayoutViewOptions, TeacherLayoutView } from 'shared/layouts';
3
+ export declare class ClassroomsApplication extends ReactApplication {
4
+ protected layout: TeacherLayoutView;
5
+ get name(): string;
6
+ static get router(): any;
7
+ get channelName(): string;
8
+ protected get layoutOptions(): Core.LayoutOptions<TeacherLayoutViewOptions>;
9
+ index(): void;
10
+ classroom(id: string): void;
11
+ newClassroom(): void;
12
+ editClassroom(id: string): void;
13
+ deleteClassroom(id: string): void;
14
+ }
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ interface ClassroomDetailsFormProps {
3
+ onClickCancel: () => void;
4
+ isNew: boolean;
5
+ }
6
+ export declare function ClassroomDetailsForm(props: ClassroomDetailsFormProps): JSX.Element;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { MockClassroom } from 'apps/user-manager/interfaces';
3
+ interface ClassroomItemProps {
4
+ classroom: MockClassroom;
5
+ }
6
+ export declare function ClassroomItem(props: ClassroomItemProps): JSX.Element;
7
+ export {};
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { MockClassroom } from 'apps/user-manager/interfaces';
3
+ import { EditClassroomRequest } from 'apps/classrooms/interfaces/EditClassroomRequest';
4
+ interface EditClassroomDetailsProps {
5
+ classroom?: MockClassroom;
6
+ saveClassroom: (data: EditClassroomRequest) => void;
7
+ onClickCancel: () => void;
8
+ }
9
+ export declare function EditClassroomDetails(props: EditClassroomDetailsProps): React.ReactElement;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import { Flight } from '@clickview/common';
2
+ import { EditClassroomRequest } from 'apps/classrooms/interfaces/EditClassroomRequest';
3
+ export declare const ClassroomRequests: {
4
+ getAll(): Flight.SimulatedRequest;
5
+ getClassroom(id: string): Flight.SimulatedRequest;
6
+ createClassroom(classroom: EditClassroomRequest, success?: () => void, error?: () => void): Flight.SimulatedRequest;
7
+ editClassroom(classroom: EditClassroomRequest, success?: () => void, error?: () => void): Flight.SimulatedRequest;
8
+ deleteClassroom(id: string, success?: () => void, error?: () => void): Flight.SimulatedRequest;
9
+ getStarredClassrooms(): Flight.SimulatedRequest;
10
+ };
@@ -0,0 +1,4 @@
1
+ export interface EditClassroomRequest {
2
+ id?: string;
3
+ name: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ export declare const ClassroomValidationSchema: import("yup").ObjectSchema<import("yup").Shape<object, {
2
+ name: string;
3
+ }>>;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface ClassroomViewProps {
3
+ id: string;
4
+ }
5
+ export declare function ClassroomView(props: ClassroomViewProps): JSX.Element;
6
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function ClassroomsView(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function ClassroomsEmptyState(): JSX.Element;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { PopupViewProps } from '@clickview/shared';
3
+ interface CreateClassroomView extends PopupViewProps {
4
+ }
5
+ export declare function CreateClassroomView(props: CreateClassroomView): JSX.Element;
6
+ export {};
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { PopupViewProps } from '@clickview/shared';
3
+ interface DeleteClassroomViewProps {
4
+ id: string;
5
+ }
6
+ export declare function DeleteClassroomView(props: DeleteClassroomViewProps & PopupViewProps): JSX.Element;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { PopupViewProps } from '@clickview/shared';
3
+ interface EditClassroomView extends PopupViewProps {
4
+ id: string;
5
+ }
6
+ export declare function EditClassroomView(props: EditClassroomView): JSX.Element;
7
+ export {};
@@ -12,7 +12,7 @@ export declare class DefaultApplication extends ReactApplication {
12
12
  protected get layoutOptions(): Core.LayoutOptions<TeacherLayoutViewOptions>;
13
13
  get channelName(): string;
14
14
  static get router(): typeof DefaultAppRouter;
15
- index(): void;
15
+ share(id: string, params: HashObject): void;
16
16
  playVideo(id: string): void;
17
17
  playSharedVideo(shortCode: string): void;
18
18
  myUploads(params: HashObject): void;
@@ -20,6 +20,7 @@ export declare class DefaultApplication extends ReactApplication {
20
20
  editUpload(uploadId: string): void;
21
21
  series(id: string, params: HashObject): void;
22
22
  favoriteVideos(params: HashObject): void;
23
+ mock(): void;
23
24
  catchAllRoutes(): void;
24
25
  notFound(): void;
25
26
  error(): void;
@@ -1,4 +1,3 @@
1
1
  export * from './dev-error/LiteDevErrorView';
2
2
  export * from './error/LiteErrorView';
3
- export * from './home/HomeView';
4
3
  export * from './not-found/LiteNotFoundView';
@@ -0,0 +1,12 @@
1
+ import { Flight, Xhr } from '@clickview/common';
2
+ export interface Todo {
3
+ id: string;
4
+ text: string;
5
+ done: boolean;
6
+ }
7
+ export declare const MockRequests: {
8
+ getTodos(): Flight.SimulatedRequest;
9
+ addTodo(text: string, success: () => void, error: (xhr: Xhr) => void): Flight.SimulatedRequest;
10
+ updateTodo(todo: Todo): Flight.SimulatedRequest;
11
+ deleteTodo(id: string): Flight.SimulatedRequest;
12
+ };
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare function MockView(): React.ReactElement;
@@ -10,6 +10,6 @@ export declare class EmbedApplication extends ReactApplication {
10
10
  protected get layoutOptions(): Core.LayoutOptions<Core.LayoutViewOptions>;
11
11
  get channelName(): string;
12
12
  static get router(): typeof EmbedAppRouter;
13
- embedVideo(shortCode: string): void;
13
+ embedVideo(shortCode: string, params?: HashObject): void;
14
14
  }
15
15
  export {};
@@ -5,6 +5,7 @@ interface EmbedViewProps {
5
5
  * as a placeholder
6
6
  */
7
7
  id: string;
8
+ autoplay: boolean;
8
9
  }
9
10
  export declare function EmbedView(props: EmbedViewProps): JSX.Element;
10
11
  export {};
@@ -1,11 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import { FilterPayloadType } from 'apps/search/reducers';
3
3
  interface FilterActionsProps extends FilterPayloadType {
4
+ className?: string;
4
5
  }
5
6
  export declare function FilterActions(props: FilterActionsProps): JSX.Element;
6
7
  export declare namespace FilterActions {
7
8
  var defaultProps: {
8
9
  active: boolean;
10
+ className: string;
9
11
  };
10
12
  }
11
13
  export {};
@@ -1,5 +1,7 @@
1
1
  /// <reference types="react" />
2
+ import { SearchFilter } from 'apps/search/interfaces';
2
3
  interface CheckboxFilterProps {
4
+ filter: SearchFilter;
3
5
  }
4
6
  export declare function CheckboxFilter(props: CheckboxFilterProps): JSX.Element;
5
7
  export {};
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { SearchFilter } from 'apps/search/interfaces';
3
+ interface DropdownFilterProps {
4
+ filter: SearchFilter;
5
+ }
6
+ export declare function DropdownFilter(props: DropdownFilterProps): JSX.Element;
7
+ export {};
@@ -1,4 +1,6 @@
1
1
  export * from './checkbox-filter/CheckboxFilter';
2
2
  export * from './more-filters/MoreFilters';
3
- export * from './radio-filter/RadioFilter';
4
3
  export * from './switch-filter/SwitchFilter';
4
+ export * from './dropdown-filter/DropdownFilter';
5
+ export * from './radio-filter/RadioFilter';
6
+ export * from './radio-filter/year-level/YearLevelRadioFilter';
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { SearchFilter } from 'apps/search/interfaces';
3
+ interface YearLevelRadioFilterProps {
4
+ filter: SearchFilter;
5
+ }
6
+ export declare function YearLevelRadioFilter(props: YearLevelRadioFilterProps): JSX.Element;
7
+ export {};
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ interface ScopedSearchBarProps {
3
+ id: string;
4
+ onSubmit?: (query: string) => void;
5
+ name?: string;
6
+ placeholder?: string;
7
+ className?: string;
8
+ queryParamName?: string;
9
+ debounceTime?: number;
10
+ }
11
+ export declare function ScopedSearchBar(props: ScopedSearchBarProps): JSX.Element;
12
+ export declare namespace ScopedSearchBar {
13
+ var defaultProps: {
14
+ debounceTime: number;
15
+ queryParamName: string;
16
+ };
17
+ }
18
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function PartialScopedSearchBar(): JSX.Element;
@@ -1,2 +1,7 @@
1
1
  /// <reference types="react" />
2
- export declare function PartialSearchFilters(): JSX.Element;
2
+ interface PartialSearchFiltersProps {
3
+ count?: number;
4
+ hideHeading?: boolean;
5
+ }
6
+ export declare function PartialSearchFilters({ count, hideHeading }: PartialSearchFiltersProps): JSX.Element;
7
+ export {};
@@ -1,7 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { HashObject } from '@clickview/common';
3
+ import { SearchFilter, MoreFilters } from 'apps/search/interfaces';
3
4
  interface SearchFiltersProps {
4
5
  queryParams: HashObject;
6
+ mainFilters: SearchFilter[];
7
+ moreFilters?: MoreFilters;
8
+ hideHeading?: boolean;
5
9
  }
6
- export declare function SearchFilters({ queryParams }: SearchFiltersProps): JSX.Element;
10
+ export declare function SearchFilters(props: SearchFiltersProps): JSX.Element;
7
11
  export {};
@@ -1,4 +1,4 @@
1
1
  import { Flight } from '@clickview/common';
2
2
  export declare const SearchRequests: {
3
- search(query: string): Flight.Request;
3
+ search(query: string): Flight.SimulatedRequest;
4
4
  };
@@ -1,17 +1,19 @@
1
- export declare type FilterNames = 'yearLevels' | 'type' | 'ratings' | 'interactives' | 'clips' | 'moreFilters';
2
- export declare type FilterType = 'radio' | 'checkbox' | 'switch' | 'more-filters' | 'rating';
1
+ /// <reference types="react" />
2
+ export declare type FilterIds = 'sortName' | 'yearLevel' | 'objectType' | 'ratings' | 'interactives' | 'clips' | 'classroom' | 'moreFilters';
3
+ export declare type FilterType = 'radio' | 'checkbox' | 'switch' | 'more-filters' | 'rating' | 'dropdown';
3
4
  export interface SearchFilter {
4
- name: FilterNames;
5
- label: string;
5
+ id: FilterIds;
6
+ name: string;
6
7
  type: FilterType;
7
8
  description?: string;
8
9
  options?: FilterOption[];
10
+ customComponent?: (props?: any) => JSX.Element;
9
11
  }
10
12
  export interface MoreFilters extends SearchFilter {
11
13
  filters: SearchFilter[];
12
14
  }
13
15
  export interface FilterOption {
16
+ id: string;
14
17
  name: string;
15
- label: string;
16
18
  default?: boolean;
17
19
  }
@@ -1,28 +1,32 @@
1
1
  /// <reference types="react" />
2
2
  import { ReducerActions } from '@clickview/common';
3
- import { SearchFilter, FilterNames, FilterOption } from 'apps/search/interfaces';
3
+ import { SearchFilter, FilterIds, FilterOption } from 'apps/search/interfaces';
4
4
  export declare type FilterState = {
5
- [key in FilterNames]: {
6
- active: boolean;
7
- selection?: FilterOption;
8
- };
5
+ active: boolean;
6
+ selection?: FilterOption[];
7
+ };
8
+ declare type FilterStateHashFilters = {
9
+ [key in FilterIds]: FilterState;
10
+ };
11
+ export declare type FilterStateHash = FilterStateHashFilters & {
12
+ bulkReset?: boolean;
9
13
  };
10
- export declare type FilterActionType = 'apply' | 'reset' | 'bulk-reset';
14
+ export declare type FilterActionType = 'apply' | 'reset' | 'bulk-reset' | 'trigger-reset';
11
15
  export interface FilterPayloadType {
12
16
  filter: SearchFilter;
13
17
  active: boolean;
14
- selection?: FilterOption;
18
+ selection?: FilterOption[];
15
19
  }
16
20
  /**
17
21
  * Context
18
22
  */
19
23
  interface FilterContextType {
20
- state: FilterState;
24
+ state: FilterStateHash;
21
25
  dispatch: React.Dispatch<ReducerActions<FilterActionType>>;
22
26
  }
23
27
  export declare const FilterContext: import("react").Context<FilterContextType>;
24
28
  /**
25
- * Reducer - root level keys should match the filter object's corresponding "name" field
29
+ * Reducer - root level keys should match the filter object's corresponding "id" field
26
30
  */
27
- export declare function FilterReducer(state: FilterState, action: ReducerActions<FilterActionType, FilterPayloadType>): FilterState;
31
+ export declare function FilterReducer(state: FilterStateHash, action: ReducerActions<FilterActionType, FilterPayloadType>): FilterStateHash;
28
32
  export {};
@@ -1,14 +1,47 @@
1
1
  /// <reference types="react" />
2
2
  import { HashObject } from '@clickview/common';
3
3
  import { SearchFilter, MoreFilters, FilterType, FilterProps, FilterOption } from 'apps/search/interfaces';
4
- import { FilterState, FilterPayloadType } from 'apps/search/reducers';
4
+ import { FilterStateHash, FilterPayloadType, FilterState } from 'apps/search/reducers';
5
+ import { MockYearLevel, MockClassroom } from 'apps/user-manager/interfaces';
6
+ interface WithStatementObject {
7
+ sortKey?: string;
8
+ sortValue?: string;
9
+ assocs?: string[];
10
+ }
11
+ declare type FiltersDictionary = {
12
+ [key: string]: (options?: any) => SearchFilter;
13
+ };
14
+ export declare const Filters: FiltersDictionary;
5
15
  export declare const FilterHelper: {
6
- getMainFilters(): SearchFilter[];
7
16
  getMoreFilters(): MoreFilters;
8
17
  mapTypeToComponent(type: FilterType): (props: FilterProps) => JSX.Element;
9
- deriveInitialStateFromQuery(queryParams?: HashObject<any>, mainFilters?: SearchFilter[], moreFilters?: MoreFilters): FilterState;
10
- buildQueryParams(queryParams: HashObject<any>, state: FilterPayloadType): HashObject<any>;
18
+ deriveInitialStateFromQuery(queryParams?: HashObject<any>, mainFilters?: SearchFilter[], moreFilters?: MoreFilters): FilterStateHash;
11
19
  hasActiveFilters(queryParams: HashObject<any>): boolean;
12
- getTypeOptions(): FilterOption[];
13
- getRadioParamValue(selection: FilterOption): string;
20
+ getLabel(filter: SearchFilter, filterState: FilterState): string;
21
+ buildQueryParams(queryParams: HashObject<any>, state: FilterPayloadType): HashObject<any>;
22
+ /**
23
+ * This returns an object of all of the query params our search requests will pass to the backend endpoint.
24
+ * This usually consists of:
25
+ * q = the query string e.g. 'shakespeare'
26
+ * filter = the filter string e.g. '{interactives:true,classroom:classroom-2-a,classroom:classroom-2-b}'
27
+ * query = the with statement e.g. '{orderbydesc:name}series,season,interactives,resources,subtitles'
28
+ * cursor = the cursor e.g. 's-sf3r9o32f-0vd'
29
+ */
30
+ getBackendQueryParams(queryParams: HashObject<any>): HashObject<any>;
31
+ /**
32
+ * This functions purpose is to convert a with statement string into an object that is easy to use
33
+ * in mock backends for sorting/filtering mock data. It doesn't need to be efficient, as it should
34
+ * never ever be used in production
35
+ */
36
+ convertWithStatementToObject(withStatement: string): WithStatementObject;
37
+ revertFilterString(filterString: string): HashObject<any>;
38
+ /**
39
+ * Helpers below this comment return hard coded filter options for a particular filter.
40
+ * If you are adding a new filter with hard coded options, add a new function here.
41
+ */
42
+ getObjectTypeOptions(): FilterOption[];
43
+ getNameSortOptions(): FilterOption[];
44
+ getYearLevelOptions(yearLevels: MockYearLevel[]): FilterOption[];
45
+ getClassroomOptions(classrooms: MockClassroom[]): FilterOption[];
14
46
  };
47
+ export {};
@@ -0,0 +1,12 @@
1
+ import { Core, HashObject, ReactApplication } from '@clickview/common';
2
+ import { TeacherLayoutViewOptions, TeacherLayoutView } from 'shared/layouts';
3
+ export declare class UploadApplication extends ReactApplication {
4
+ protected layout: TeacherLayoutView;
5
+ get name(): string;
6
+ static get router(): any;
7
+ get channelName(): string;
8
+ protected get layoutOptions(): Core.LayoutOptions<TeacherLayoutViewOptions>;
9
+ myUploads(params: HashObject): void;
10
+ editUpload(uploadId: string): void;
11
+ cancelUpload(id: string, params: HashObject): void;
12
+ }
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ interface UploadFileSelectProps {
3
+ hideButtonText?: boolean;
4
+ }
5
+ export declare const UploadFileSelect: React.NamedExoticComponent<UploadFileSelectProps>;
6
+ export {};
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { CombinedUpload } from 'apps/upload/services/CombineUploadsService';
3
+ interface UploadingItemProps {
4
+ item: CombinedUpload;
5
+ onClickDelete: (item: CombinedUpload) => void;
6
+ onClickAlternate: (item: CombinedUpload) => void;
7
+ }
8
+ export declare function UploadingItem(props: UploadingItemProps): JSX.Element;
9
+ export {};
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { CombinedUpload } from '../services/CombineUploadsService';
3
+ export declare function useGetUploadingItems(onRemove: () => void, dependencies: React.DependencyList): CombinedUpload[];
@@ -0,0 +1,50 @@
1
+ import { Core } from '@clickview/common';
2
+ export declare enum CombinedUploadStatus {
3
+ Uploading = 0,
4
+ Processing = 1,
5
+ Errored = 2
6
+ }
7
+ export interface CombinedUpload {
8
+ id: string;
9
+ name: string;
10
+ status: CombinedUploadStatus;
11
+ progress: number;
12
+ pendingProcessId: number;
13
+ videoId?: string;
14
+ }
15
+ /**
16
+ * The sole purpose of this service is to combine the collections in the
17
+ * VideoUploadService and the PendingItemsService in a way that's consumable
18
+ * by the MyuploadsView
19
+ */
20
+ export declare class CombineUploadsService extends Core.Service {
21
+ private videoUploadService;
22
+ private pendingItemsService;
23
+ private alertService;
24
+ private uploads;
25
+ private pendingItems;
26
+ private combined;
27
+ private erroredVideos;
28
+ get name(): string;
29
+ get channelName(): string;
30
+ initialize(): void;
31
+ private initializeServices;
32
+ private initializeCollections;
33
+ private bindListeners;
34
+ private getUploadAttrs;
35
+ private getPendingItemAttrs;
36
+ private addUpload;
37
+ private addPendingItem;
38
+ private removeUpload;
39
+ private removePendingItem;
40
+ private onChangeUpload;
41
+ private onChangePendingItem;
42
+ private onPendingItemError;
43
+ private onPendingItemReadyToWatch;
44
+ cancelUpload(itemId: string): void;
45
+ cancelProcessing(itemId: string): void;
46
+ retryItem(item: CombinedUpload): void;
47
+ editUpload(item: CombinedUpload): void;
48
+ updateUploadMetadata(videoId: string, name: string): void;
49
+ getCollection(): Core.Collection;
50
+ }
@@ -0,0 +1,33 @@
1
+ import { Store } from 'redux';
2
+ import { Core, HashObject } from '@clickview/common';
3
+ import { BaseVideoUploadDataService, VideoOrigin, PendingProcessOrigin } from '@clickview/shared';
4
+ interface FlightVideoDataServiceOptions {
5
+ store: Store;
6
+ }
7
+ interface CompletePendingItemVideo {
8
+ name: string;
9
+ description?: string;
10
+ }
11
+ interface CompletePendingItemRequest {
12
+ id: string;
13
+ userId: string;
14
+ customerId: string;
15
+ libraryId: string;
16
+ categoryId: string;
17
+ fileUrl: string;
18
+ pendingProcessOrigin: PendingProcessOrigin;
19
+ origin: VideoOrigin;
20
+ video: CompletePendingItemVideo;
21
+ }
22
+ export declare class FlightVideoUploadDataService implements BaseVideoUploadDataService {
23
+ private store;
24
+ constructor(options: FlightVideoDataServiceOptions);
25
+ get name(): string;
26
+ clearPendingItems(ids: string[], callback?: () => void): void;
27
+ cancelPendingItems(ids: string[], callback?: () => void): void;
28
+ retryPendingItems(ids: string[], callback?: () => void): void;
29
+ getPendingItem(id: string, callback: (item: Core.Model) => void): void;
30
+ getPendingItems(callback: (items: HashObject[]) => void): void;
31
+ completeVideoUpload(request: CompletePendingItemRequest, callback?: (item: HashObject) => void): void;
32
+ }
33
+ export {};
@@ -0,0 +1,13 @@
1
+ import { BaseVideoUploadService } from '@clickview/shared';
2
+ export declare class VideoUploadService extends BaseVideoUploadService {
3
+ private videoUploadDataService;
4
+ private pendingItemsService;
5
+ private userDataService;
6
+ private alertService;
7
+ initialize(): void;
8
+ private onUploadStart;
9
+ private unlockNav;
10
+ private getUpload;
11
+ private completeUpload;
12
+ protected onSuccess(file: File, response: any): void;
13
+ }
@@ -0,0 +1,3 @@
1
+ export * from './CombineUploadsService';
2
+ export * from './FlightVideoUploadDataService';
3
+ export * from './VideoUploadService';
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { PopupViewProps } from '@clickview/shared';
3
+ import { CombinedUploadStatus } from 'apps/upload/services/CombineUploadsService';
4
+ interface CancelUploadViewProps {
5
+ id: string;
6
+ name: string;
7
+ status: CombinedUploadStatus;
8
+ }
9
+ export declare function CancelUploadView(props: CancelUploadViewProps & PopupViewProps): JSX.Element;
10
+ export {};
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { PopupViewProps } from '@clickview/shared';
3
+ interface EditUploadViewProps {
4
+ uploadId: string;
5
+ }
6
+ export declare function EditUploadView(props: EditUploadViewProps & PopupViewProps): JSX.Element;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function DismissibleAlert(): JSX.Element;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface MyUploadsViewProps {
3
+ cursor?: string;
4
+ }
5
+ export declare function MyUploadsView(props: MyUploadsViewProps): JSX.Element;
6
+ export {};
@@ -0,0 +1,18 @@
1
+ import { Core, ReactApplication, HashObject } from '@clickview/common';
2
+ import { TeacherLayoutViewOptions, TeacherLayoutView } from 'shared/layouts';
3
+ export declare class UserManagerApplication extends ReactApplication {
4
+ protected layout: TeacherLayoutView;
5
+ get name(): string;
6
+ static get router(): any;
7
+ get channelName(): string;
8
+ protected get layoutOptions(): Core.LayoutOptions<TeacherLayoutViewOptions>;
9
+ studentManager(queryParams?: HashObject): void;
10
+ teacherManager(queryParams?: HashObject): void;
11
+ studentUploadReview(): void;
12
+ teacherUploadReview(): void;
13
+ newStudent(): void;
14
+ editStudent(params: HashObject): void;
15
+ newTeacher(): void;
16
+ editTeacher(params: HashObject): void;
17
+ removeUsers(params: HashObject): void;
18
+ }
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { MockYearLevel, MockUserRole } from 'apps/user-manager/interfaces';
3
+ import { MockUserType } from 'apps/user-manager/enums';
4
+ interface BulkUploadFileSelectProps {
5
+ action: string;
6
+ userType: MockUserType;
7
+ userRoles?: MockUserRole[];
8
+ yearLevels?: MockYearLevel[];
9
+ }
10
+ export declare function BulkUploadFileSelect(props: BulkUploadFileSelectProps): React.ReactElement;
11
+ export {};
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { PopupViewProps } from '@clickview/shared';
3
+ import { MockStudent } from 'apps/user-manager/interfaces';
4
+ interface DeleteUploadedStudentPopupProps {
5
+ student: MockStudent;
6
+ }
7
+ export declare function DeleteUploadedStudentPopup(props: DeleteUploadedStudentPopupProps & PopupViewProps): JSX.Element;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { PopupViewProps } from '@clickview/shared';
3
+ import { MockTeacher } from 'apps/user-manager/interfaces';
4
+ interface DeleteUploadedTeacherPopupProps {
5
+ teacher: MockTeacher;
6
+ }
7
+ export declare function DeleteUploadedTeacherPopup(props: DeleteUploadedTeacherPopupProps & PopupViewProps): JSX.Element;
8
+ export {};