@clickview/curator 1.0.24 → 1.0.25-rc.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 (118) hide show
  1. package/.eslintrc.json +3 -0
  2. package/dist/curator-app.css +3 -3
  3. package/dist/curator-app.js +3 -3
  4. package/dist/en.json +1 -1
  5. package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +10 -3
  6. package/dist/libs/common/src/backbone/constants/CommonServices.d.ts +0 -1
  7. package/dist/libs/common/src/backbone/core/BaseAppRouter.d.ts +6 -2
  8. package/dist/libs/common/src/backbone/core/BaseApplication.d.ts +1 -1
  9. package/dist/libs/common/src/backbone/core/BaseBehavior.d.ts +1 -1
  10. package/dist/libs/common/src/backbone/core/BaseCollection.d.ts +1 -1
  11. package/dist/libs/common/src/backbone/core/BaseCollectionView.d.ts +1 -1
  12. package/dist/libs/common/src/backbone/core/BaseLayoutView.d.ts +1 -1
  13. package/dist/libs/common/src/backbone/core/BaseModel.d.ts +1 -1
  14. package/dist/libs/common/src/backbone/core/BaseNestedModel.d.ts +1 -1
  15. package/dist/libs/common/src/backbone/core/BaseService.d.ts +1 -1
  16. package/dist/libs/common/src/backbone/core/BaseView.d.ts +2 -2
  17. package/dist/libs/common/src/backbone/core/LayoutService.d.ts +1 -1
  18. package/dist/libs/common/src/backbone/core/ListenToRadio.d.ts +1 -1
  19. package/dist/libs/common/src/backbone/core/Shell.d.ts +1 -1
  20. package/dist/libs/common/src/backbone/core/index.d.ts +1 -1
  21. package/dist/libs/common/src/backbone/interfaces/BaseCollectionIdentifier.d.ts +2 -1
  22. package/dist/libs/common/src/backbone/interfaces/DataProvider.d.ts +1 -1
  23. package/dist/libs/common/src/backbone/services/LanguageService.d.ts +1 -1
  24. package/dist/libs/common/src/backbone/services/data-providers/AjaxDataProvider.d.ts +1 -1
  25. package/dist/libs/common/src/backbone/utils/FunctionHelper.d.ts +3 -3
  26. package/dist/libs/common/src/backbone/utils/LocalStorageHelper.d.ts +58 -0
  27. package/dist/libs/common/src/react/flight/FlightHelpers.d.ts +1 -1
  28. package/dist/libs/common/src/react/flight/FlightMiddleware.d.ts +1 -1
  29. package/dist/libs/common/src/react/flight/interfaces/HttpRequest.d.ts +3 -0
  30. package/dist/libs/common/src/react/hooks/UseViewModel.d.ts +5 -1
  31. package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +4 -3
  32. package/dist/libs/common/src/react/utils/FetchHelper.d.ts +1 -1
  33. package/dist/libs/common/src/react/utils/TimeHelper.d.ts +1 -0
  34. package/dist/libs/shared/src/components/confirmation-popup/ConfirmationPopup.d.ts +5 -2
  35. package/dist/libs/shared/src/components/forms/form-buttons/FormButtons.d.ts +2 -1
  36. package/dist/libs/shared/src/components/forms/form-checkbox/FormCheckbox.d.ts +1 -1
  37. package/dist/libs/shared/src/components/forms/form-field/CharacterCounter.d.ts +3 -2
  38. package/dist/libs/shared/src/components/forms/form-field/FormField.d.ts +4 -3
  39. package/dist/libs/shared/src/components/forms/form-wrapper/FormWrapper.d.ts +2 -1
  40. package/dist/libs/shared/src/components/popup/Popup.d.ts +14 -0
  41. package/dist/libs/shared/src/components/search-bar/SearchBar.d.ts +34 -0
  42. package/dist/libs/shared/src/components/search-bar/SearchInput.d.ts +8 -3
  43. package/dist/libs/shared/src/constants/BootstrapKeys.d.ts +2 -0
  44. package/dist/libs/shared/src/enums/MediaQueries.d.ts +3 -1
  45. package/dist/libs/shared/src/enums/ObjectStatus.d.ts +5 -0
  46. package/dist/libs/shared/src/enums/SettingName.d.ts +0 -1
  47. package/dist/libs/shared/src/enums/WidgetContents.d.ts +2 -1
  48. package/dist/libs/shared/src/flight-requests/ThemeRequests.d.ts +2 -0
  49. package/dist/libs/shared/src/flight-requests/UserRequests.d.ts +5 -1
  50. package/dist/libs/shared/src/images/svg/ImportedSvgs.d.ts +3 -1
  51. package/dist/libs/shared/src/images/svg/actions/index.d.ts +3 -1
  52. package/dist/libs/shared/src/interfaces/app-variables/BaseSearchAppVariables.d.ts +1 -0
  53. package/dist/libs/shared/src/interfaces/collections/ClassificationCollection.d.ts +4 -0
  54. package/dist/libs/shared/src/interfaces/collections/ClassroomCollection.d.ts +4 -0
  55. package/dist/libs/shared/src/interfaces/collections/ClassroomGroupCollection.d.ts +4 -0
  56. package/dist/libs/shared/src/interfaces/collections/InteractiveCollection.d.ts +2 -2
  57. package/dist/libs/shared/src/interfaces/collections/index.d.ts +4 -0
  58. package/dist/libs/shared/src/interfaces/models/Classroom.d.ts +4 -0
  59. package/dist/libs/shared/src/interfaces/models/ClassroomGroup.d.ts +18 -0
  60. package/dist/libs/shared/src/interfaces/models/Clip.d.ts +4 -3
  61. package/dist/libs/shared/src/interfaces/models/Config.d.ts +2 -0
  62. package/dist/libs/shared/src/interfaces/models/Curriculum.d.ts +4 -0
  63. package/dist/libs/shared/src/interfaces/models/Glance.d.ts +2 -0
  64. package/dist/libs/shared/src/interfaces/models/InteractiveMetadata.d.ts +4 -1
  65. package/dist/libs/shared/src/interfaces/models/Link.d.ts +1 -0
  66. package/dist/libs/shared/src/interfaces/models/Resource.d.ts +11 -3
  67. package/dist/libs/shared/src/interfaces/models/Thumbnail.d.ts +3 -0
  68. package/dist/libs/shared/src/interfaces/models/User.d.ts +10 -1
  69. package/dist/libs/shared/src/interfaces/models/Video.d.ts +6 -2
  70. package/dist/libs/shared/src/interfaces/models/VideoHistory.d.ts +4 -1
  71. package/dist/libs/shared/src/interfaces/models/Widget.d.ts +1 -1
  72. package/dist/libs/shared/src/interfaces/models/YearGroup.d.ts +5 -0
  73. package/dist/libs/shared/src/interfaces/models/index.d.ts +9 -1
  74. package/dist/libs/shared/src/interfaces/models/interactive/Interaction.d.ts +2 -2
  75. package/dist/libs/shared/src/interfaces/models/primitives/BaseObject.d.ts +1 -0
  76. package/dist/libs/shared/src/interfaces/models/primitives/VirtualObject.d.ts +5 -0
  77. package/dist/libs/shared/src/interfaces/models/primitives/index.d.ts +1 -0
  78. package/dist/libs/shared/src/interfaces/requests/CreateViewKeyRequest.d.ts +0 -2
  79. package/dist/libs/shared/src/interfaces/requests/UpdateVideoRequest.d.ts +5 -1
  80. package/dist/libs/shared/src/interfaces/requests/index.d.ts +5 -0
  81. package/dist/libs/shared/src/interfaces/services/BaseUserDataService.d.ts +2 -0
  82. package/dist/libs/shared/src/interfaces/services/index.d.ts +1 -0
  83. package/dist/libs/shared/src/utils/ImageHelper.d.ts +5 -4
  84. package/dist/libs/shared/src/utils/StateHelper.d.ts +10 -9
  85. package/dist/libs/shared/src/utils/SvgHelper.d.ts +0 -1
  86. package/dist/projects/curator/src/apps/series/interfaces/data-requests/Series.d.ts +1 -2
  87. package/dist/projects/curator/src/apps/videos/interfaces/data-requests/UpdateVideoRequest.d.ts +1 -2
  88. package/dist/projects/curator/src/index.d.ts +21 -0
  89. package/dist/projects/curator/src/shared/components/forms/image-select/ImageSelect.d.ts +4 -3
  90. package/dist/projects/curator/src/shared/components/forms/index.d.ts +0 -1
  91. package/dist/projects/curator/src/shared/components/index.d.ts +0 -1
  92. package/dist/projects/curator/src/shared/components/rating-select/RatingSelect.d.ts +4 -4
  93. package/dist/projects/curator/src/shared/constants/Services.d.ts +0 -1
  94. package/dist/projects/curator/src/shared/constants/index.d.ts +0 -1
  95. package/dist/projects/curator/src/shared/interfaces/data-requests/index.d.ts +0 -1
  96. package/dist/projects/curator/src/shared/layouts/curator-layout/CuratorLayoutView.d.ts +1 -1
  97. package/dist/projects/curator/src/shared/layouts/primitives/LayoutComponent.d.ts +1 -1
  98. package/dist/projects/curator/src/shared/services/index.d.ts +0 -1
  99. package/dist/projects/curator/src/shared/utils/PropHelper.d.ts +2 -1
  100. package/dist/projects/curator/src/shared/utils/index.d.ts +0 -1
  101. package/package.json +48 -47
  102. package/dist/curator-app.css.map +0 -1
  103. package/dist/curator-app.js.map +0 -1
  104. package/dist/libs/shared/src/enums/PlayerMediaType.d.ts +0 -5
  105. package/dist/libs/shared/src/interfaces/models/Interactive.d.ts +0 -9
  106. package/dist/projects/curator/src/shared/components/forms/file-select/index.d.ts +0 -1
  107. package/dist/projects/curator/src/shared/components/image-cropper/ImageCropper.d.ts +0 -10
  108. package/dist/projects/curator/src/shared/components/image-cropper/index.d.ts +0 -1
  109. package/dist/projects/curator/src/shared/constants/FileExtensions.d.ts +0 -3
  110. package/dist/projects/curator/src/shared/context/ImageStorageContext.d.ts +0 -45
  111. package/dist/projects/curator/src/shared/context/index.d.ts +0 -1
  112. package/dist/projects/curator/src/shared/flight-requests/RatingRequests.d.ts +0 -4
  113. package/dist/projects/curator/src/shared/interfaces/data-requests/UpdateObjectRating.d.ts +0 -3
  114. package/dist/projects/curator/src/shared/services/ImageUploadDataService.d.ts +0 -8
  115. package/dist/projects/curator/src/shared/utils/ImageSelectHelper.d.ts +0 -6
  116. package/dist/projects/curator/src/shared/views/image-upload/ImageUploadView.d.ts +0 -8
  117. package/dist/projects/curator/src/shared/views/image-upload/index.d.ts +0 -1
  118. package/dist/projects/curator/src/shared/views/index.d.ts +0 -1
@@ -31,6 +31,11 @@ export interface SearchBarProps<T extends HashObject> {
31
31
  * results are being used.
32
32
  */
33
33
  getRemoteUrl?: (query: string) => string;
34
+ /**
35
+ * If additional headers are required (e.g. authorization) when fetching
36
+ * a remote resource, add them in here.
37
+ */
38
+ requestHeaders?: HashObject;
34
39
  /**
35
40
  * Optional formatting function for the data returned from the remote resource.
36
41
  */
@@ -105,6 +110,18 @@ export interface SearchBarProps<T extends HashObject> {
105
110
  * which side to render it on. Defaults to `right` in `defaultProps`
106
111
  */
107
112
  searchIconPlacement?: 'left' | 'right' | false;
113
+ /**
114
+ * If true, a cross svg will be rendered.
115
+ * Clicking this icon will reset the query.
116
+ */
117
+ showClearInputIcon?: boolean;
118
+ /**
119
+ * Optional callback function to be called when the clear input
120
+ * icon is clicked.
121
+ * The query will be reset automatically, this callback is for
122
+ * adding additional functionality.
123
+ */
124
+ onClickClearInput?: () => void;
108
125
  /**
109
126
  * Flag to determine whether clicking the search icon should trigger
110
127
  * submitting the search query.
@@ -114,11 +131,27 @@ export interface SearchBarProps<T extends HashObject> {
114
131
  * Flag to determine whether the search input should be autofocused.
115
132
  */
116
133
  autoFocusInput?: boolean;
134
+ /**
135
+ * If true, the default Bootstrap styling will be applied when the
136
+ * input is focused.
137
+ */
138
+ highlightInputOnFocus?: boolean;
139
+ /**
140
+ * If true, suggestions will be rendered whenever the input is focussed.
141
+ * Useful for show recent searches suggestions when there's no query.
142
+ */
143
+ renderSuggestionsOnInputFocus?: boolean;
117
144
  /**
118
145
  * When true, the input field will be cleared whenever a suggestion is selected.
119
146
  */
120
147
  clearQueryOnSelect?: boolean;
121
148
  onBackspace?: () => void;
149
+ /**
150
+ * When true, the search input will be wrapped in a <form />.
151
+ * This is true by default.
152
+ * If rendering <SearchBar /> within another form, set this to false.
153
+ */
154
+ renderAsForm?: boolean;
122
155
  }
123
156
  export declare function SearchBar<T extends HashObject>(props: SearchBarProps<T>): JSX.Element;
124
157
  export declare namespace SearchBar {
@@ -130,5 +163,6 @@ export declare namespace SearchBar {
130
163
  recentSearches: any[];
131
164
  initialSuggestions: any[];
132
165
  searchIconPlacement: string;
166
+ renderAsForm: boolean;
133
167
  };
134
168
  }
@@ -1,8 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import * as Autosuggest from 'react-autosuggest';
3
- interface SearchInputProps {
3
+ import { HashObject } from "../../../../common/src/react/interfaces";
4
+ declare type SearchIconPlacement = 'left' | 'right' | false;
5
+ interface SearchInputProps<T> extends Autosuggest.InputProps<T> {
4
6
  onClickSearchIcon?: () => void;
5
- searchIconPlacement?: 'left' | 'right' | false;
7
+ searchIconPlacement?: SearchIconPlacement;
8
+ showClearInputIcon?: boolean;
9
+ onClickClearInput?: () => void;
10
+ highlightOnFocus?: boolean;
6
11
  }
7
- export declare function SearchInput<T extends {}>(props: SearchInputProps & Autosuggest.InputProps<T>): JSX.Element;
12
+ export declare function SearchInput<T extends HashObject>(props: SearchInputProps<T>): JSX.Element;
8
13
  export {};
@@ -2,5 +2,7 @@ declare const BootstrapKeys: {
2
2
  LOCALE: string;
3
3
  PHRASES: string;
4
4
  VERSION: string;
5
+ TOKEN: string;
6
+ PERMISSIONS: string;
5
7
  };
6
8
  export { BootstrapKeys };
@@ -14,5 +14,7 @@ export declare enum MediaQueryStrings {
14
14
  XL = "(min-width: 1200px)",
15
15
  XXL = "(min-width: 1440px)",
16
16
  SMDown = "(max-width: 576px)",
17
- MDDown = "(max-width: 768px)"
17
+ MDDown = "(max-width: 768px)",
18
+ LGDown = "(max-width: 992px)",
19
+ XLDown = "(max-width: 1200px)"
18
20
  }
@@ -0,0 +1,5 @@
1
+ export declare enum ObjectStatus {
2
+ Disabled = 0,
3
+ Active = 1,
4
+ Inactive = 2
5
+ }
@@ -1,5 +1,4 @@
1
1
  export declare enum SettingName {
2
- FollowingBetaAccess = "following_beta_access",
3
2
  MustCompleteOnboarding = "must_complete_onboarding",
4
3
  StudentWorkspaceSharing = "student_ws_sharing",
5
4
  StudentToStudentMessaging = "student_to_student_messaging",
@@ -5,5 +5,6 @@ export declare enum WidgetContents {
5
5
  Playlists = "playlists",
6
6
  UserChannels = "user channels",
7
7
  Interactives = "interactives",
8
- Clips = "clips"
8
+ Clips = "clips",
9
+ Resources = "resources"
9
10
  }
@@ -2,8 +2,10 @@ import { Flight } from "../../../common/src/react";
2
2
  import { HashObject } from "../../../common/src/react/interfaces/HashObject";
3
3
  import { Xhr } from "../../../common/src/backbone/interfaces";
4
4
  import { Theme } from "../interfaces";
5
+ import { ThemeType } from '../enums/ThemeType';
5
6
  export declare const ThemeRequests: {
6
7
  theme(id: string): Flight.Request;
8
+ themeImages(name: string, type: ThemeType): Flight.Request;
7
9
  themes(type?: string): Flight.Request;
8
10
  createTheme(data: Theme, success?: (data: HashObject<any>) => void, error?: (xhr: Xhr) => void, always?: () => void): Flight.Request;
9
11
  updateTheme(id: string, data: Theme, success?: (data: HashObject<any>) => void, error?: (xhr: Xhr) => void, always?: () => void): Flight.Request;
@@ -1,7 +1,11 @@
1
1
  import { Flight } from "../../../common/src/react";
2
2
  import { CurrentUser } from "../interfaces";
3
+ import { HashObject } from "../../../common/src/react/interfaces";
4
+ import { PermissionsLookup } from "../enums/PermissionName";
3
5
  export declare const UserRequests: {
4
6
  currentUser(success?: (user: CurrentUser) => void, error?: () => void): Flight.Request;
5
- workspace: Flight.Request;
7
+ workspace(success?: (workspace: HashObject<any>) => void, error?: () => void): Flight.Request;
6
8
  sendVerificationEmail(emailAddress: string, success: () => void, error: () => void, always: () => void): Flight.Request;
9
+ token(success?: (token: HashObject<any>) => void, error?: () => void): Flight.Request;
10
+ permissions(success?: (permissions: PermissionsLookup) => void, error?: () => void): Flight.Request;
7
11
  };
@@ -81,5 +81,7 @@ export declare enum localSvgs {
81
81
  Tag = "tag",
82
82
  Email = "email",
83
83
  YearLevel = "year-level",
84
- Subjects = "subjects"
84
+ Subjects = "subjects",
85
+ Download = "download",
86
+ Print = "print"
85
87
  }
@@ -19,4 +19,6 @@ import VisibleOn from './visible-on.svg';
19
19
  import NoEdit from './no-edit.svg';
20
20
  import EditClickView from './edit-clickview.svg';
21
21
  import Share2 from './share2.svg';
22
- export { AddToPlaylist, Close, Delete, Edit, Expand, Minus, More, NewWindow, Plus, Preview, Search, Share, Upload, Down, Right, UpDown, VisibleOff, VisibleOn, NoEdit, EditClickView, Share2 };
22
+ import Download from './download.svg';
23
+ import Print from './print.svg';
24
+ export { AddToPlaylist, Close, Delete, Edit, Expand, Minus, More, NewWindow, Plus, Preview, Search, Share, Upload, Down, Right, UpDown, VisibleOff, VisibleOn, NoEdit, EditClickView, Share2, Download, Print };
@@ -13,4 +13,5 @@ export declare abstract class BaseSearchAppVariables {
13
13
  get name(): string;
14
14
  abstract get addSlugs(): boolean;
15
15
  abstract get searchBarPlaceholder(): string;
16
+ abstract get showSearchTips(): boolean;
16
17
  }
@@ -0,0 +1,4 @@
1
+ import { BasePaginatedCollection } from "./..";
2
+ import { Classification } from "./..";
3
+ export interface ClassificationCollection extends BasePaginatedCollection<Classification> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { BasePaginatedCollection } from "./..";
2
+ import { Classroom } from "./..";
3
+ export interface ClassroomCollection extends BasePaginatedCollection<Classroom> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { BasePaginatedCollection } from "./..";
2
+ import { ClassroomGroup } from "./..";
3
+ export interface ClassroomGroupCollection extends BasePaginatedCollection<ClassroomGroup> {
4
+ }
@@ -1,4 +1,4 @@
1
1
  import { BasePaginatedCollection } from "./..";
2
- import { Interactive } from "./..";
3
- export interface InteractiveCollection extends BasePaginatedCollection<Interactive> {
2
+ import { InteractiveMetadata } from "./..";
3
+ export interface InteractiveCollection extends BasePaginatedCollection<InteractiveMetadata> {
4
4
  }
@@ -19,3 +19,7 @@ export * from './LinkCollection';
19
19
  export * from './ClipCollection';
20
20
  export * from './FolderCollection';
21
21
  export * from './CustomerCollection';
22
+ export * from './SubtitleCollection';
23
+ export * from './ClassificationCollection';
24
+ export * from './ClassroomCollection';
25
+ export * from './ClassroomGroupCollection';
@@ -0,0 +1,4 @@
1
+ import { BaseObject } from "./..";
2
+ export interface Classroom extends BaseObject {
3
+ isFavourited: boolean;
4
+ }
@@ -0,0 +1,18 @@
1
+ import { BaseObject, UserCollection } from "./..";
2
+ export declare enum ClassroomGroupColour {
3
+ White = "colour:0",
4
+ Pink = "colour:1",
5
+ Pizazz = "colour:2",
6
+ Emerald = "colour:3",
7
+ PuertoRico = "colour:4",
8
+ PictonBlue = "colour:5",
9
+ EastSide = "colour:6",
10
+ Portage = "colour:7"
11
+ }
12
+ export interface ClassroomGroup extends BaseObject {
13
+ description: string;
14
+ metadata: {
15
+ colour: ClassroomGroupColour;
16
+ };
17
+ users?: UserCollection;
18
+ }
@@ -1,7 +1,8 @@
1
- import { BaseObject, User } from "./..";
1
+ import { BaseObject, User, Video } from "./..";
2
2
  export interface Clip extends BaseObject {
3
- description: string;
3
+ description?: string;
4
4
  startTime: number;
5
5
  endTime: number;
6
- owner: User;
6
+ owner?: User;
7
+ video?: Video;
7
8
  }
@@ -5,7 +5,9 @@ export interface Config extends BaseObject {
5
5
  imageCdnUrl: string;
6
6
  countryCode: CountryCode;
7
7
  webPlayerUrl: string;
8
+ gatewayApiUrl: string;
8
9
  notificationServiceUrl?: string;
9
10
  collectionApiUrls?: RegionalUrl;
10
11
  collectionApiClientId?: string;
12
+ playerApiUrl?: string;
11
13
  }
@@ -1,4 +1,5 @@
1
1
  import { CurriculumType } from "../../enums/CurriculumType";
2
+ import { VirtualObject } from './primitives/VirtualObject';
2
3
  export interface Curriculum<T = CurriculumType> {
3
4
  backboneClassificationIds: number[];
4
5
  canBePreferred: boolean;
@@ -12,3 +13,6 @@ export interface Curriculum<T = CurriculumType> {
12
13
  slug: string;
13
14
  type: T;
14
15
  }
16
+ export interface CurriculumLinks extends VirtualObject {
17
+ value: Curriculum[][];
18
+ }
@@ -1,7 +1,9 @@
1
1
  import { BaseObject } from "./..";
2
2
  import { GlanceFormat } from "../../enums/GlanceFormat";
3
+ import { ThemeType } from "../../enums/ThemeType";
3
4
  export interface Glance extends BaseObject {
4
5
  theme: string;
5
6
  format: GlanceFormat;
6
7
  content: string;
8
+ type: ThemeType;
7
9
  }
@@ -1,4 +1,4 @@
1
- import { BaseObject } from "./..";
1
+ import { BaseObject, VirtualObject } from "./..";
2
2
  import { User } from './User';
3
3
  import { Thumbnail } from './Thumbnail';
4
4
  import { Video } from './Video';
@@ -9,3 +9,6 @@ export interface InteractiveMetadata extends BaseObject {
9
9
  thumbnail?: Thumbnail;
10
10
  video?: Video;
11
11
  }
12
+ export interface HasInteractive extends VirtualObject {
13
+ value: boolean;
14
+ }
@@ -1,3 +1,4 @@
1
1
  import { BaseObject } from "./..";
2
2
  export interface Link extends BaseObject {
3
+ url: string;
3
4
  }
@@ -1,9 +1,17 @@
1
1
  import { BaseObject } from './primitives';
2
- interface ResourceMatadata {
3
- type: string;
2
+ import { Thumbnail } from './Thumbnail';
3
+ import { ResourceFileType } from "../../enums/ResourceFileType";
4
+ import { Pdf } from './Pdf';
5
+ export declare type ResourceType = 'teacher-pack' | 'student-activity' | 'additional-materials' | 'atom-guide';
6
+ interface ResourceMetadata {
7
+ type: ResourceFileType;
8
+ resourceType?: ResourceType;
4
9
  }
5
10
  export interface Resource extends BaseObject {
6
11
  url: string;
7
- metadata: ResourceMatadata;
12
+ metadata: ResourceMetadata;
13
+ fileId: string;
14
+ thumbnail: Thumbnail;
15
+ pdf?: Pdf;
8
16
  }
9
17
  export {};
@@ -1,3 +1,6 @@
1
1
  import { Image } from "./..";
2
2
  export interface Thumbnail extends Image {
3
+ metadata?: {
4
+ rotation?: number;
5
+ };
3
6
  }
@@ -2,7 +2,11 @@ import { BaseObject, Group, Avatar } from "./..";
2
2
  import { UserRole } from "../../enums/UserRole";
3
3
  import { CustomerType } from "../../enums/CustomerType";
4
4
  import { OnlineUserRole } from "../../enums/UserRole";
5
+ import { UserGroup } from "../../enums/UserGroup";
6
+ import { ObjectStatus } from "../../enums/ObjectStatus";
5
7
  import { CustomerCollection } from '../collections';
8
+ import { YearGroup } from './YearGroup';
9
+ export declare type OnlineYearGroup = 'Kindergarten' | 'Year 1' | 'Year 2' | 'Year 3' | 'Year 4' | 'Year 5' | 'Year 6' | 'Year 7' | 'Year 8' | 'Year 9' | 'Year 10' | 'Year 11' | 'Year 12' | 'Year 13' | 'Staff';
6
10
  /**
7
11
  * Master User
8
12
  */
@@ -13,10 +17,15 @@ export interface User extends BaseObject {
13
17
  bio: string;
14
18
  email: string;
15
19
  username: string;
16
- status: string;
20
+ status: ObjectStatus;
17
21
  role: UserRole;
18
22
  customers: CustomerCollection;
23
+ yearGroup: OnlineYearGroup;
24
+ masterYearGroup: YearGroup;
25
+ userType: UserGroup;
19
26
  avatar?: Avatar;
27
+ isPrimaryContact: boolean;
28
+ roleId: OnlineUserRole;
20
29
  }
21
30
  export interface CuratorUser extends User {
22
31
  userId: string;
@@ -1,4 +1,4 @@
1
- import { BaseObject, CompanyCollection, PersonCollection, CategoryCollection, Channel, InteractiveCollection, LibraryCollection, Rating, Series, Thumbnail, TagCollection, Season, AudienceCollection, ResourceCollection, LinkCollection, ClipCollection, Glance, HeroBanner, RestrictedObject } from "./..";
1
+ import { BaseObject, CompanyCollection, PersonCollection, CategoryCollection, Channel, InteractiveCollection, LibraryCollection, Rating, Series, Thumbnail, TagCollection, Season, AudienceCollection, ResourceCollection, LinkCollection, ClipCollection, Glance, HeroBanner, RestrictedObject, VideoProgress, UserCollection, HasInteractive, CurriculumLinks } from "./..";
2
2
  export interface Video extends BaseObject {
3
3
  categories?: CategoryCollection;
4
4
  channel?: Channel;
@@ -22,9 +22,13 @@ export interface Video extends BaseObject {
22
22
  clips?: ClipCollection;
23
23
  links?: LinkCollection;
24
24
  glance?: Glance;
25
- isFavourited?: boolean;
26
25
  hasSubtitle?: boolean;
27
26
  heroBanner?: HeroBanner;
28
27
  restrictions?: RestrictedObject[];
29
28
  lastProgressPoint?: number;
29
+ favouritedBy?: UserCollection;
30
+ _hasinteractives?: HasInteractive;
31
+ _videoprogress?: VideoProgress;
32
+ _hasCurriculumLinks?: boolean;
33
+ _curriculumLinks?: CurriculumLinks;
30
34
  }
@@ -1,4 +1,4 @@
1
- import { BaseObject } from './primitives';
1
+ import { BaseObject, VirtualObject } from './primitives';
2
2
  export interface VideoHistory extends Omit<BaseObject, 'id' | 'name'> {
3
3
  videoId: string;
4
4
  userId: string;
@@ -7,3 +7,6 @@ export interface VideoHistory extends Omit<BaseObject, 'id' | 'name'> {
7
7
  lastTimeWatched: string;
8
8
  lastProgressPoint: number;
9
9
  }
10
+ export interface VideoProgress extends VirtualObject {
11
+ progress: number;
12
+ }
@@ -9,7 +9,7 @@ export declare enum WidgetType {
9
9
  Hero = 2,
10
10
  ResourcesTile = 3
11
11
  }
12
- export interface Widget extends BaseObject {
12
+ export interface Widget extends Omit<BaseObject, 'type'> {
13
13
  collectionId: number;
14
14
  dashboardId: number;
15
15
  type: WidgetType;
@@ -0,0 +1,5 @@
1
+ import { BaseObject } from './primitives';
2
+ export interface YearGroup extends BaseObject {
3
+ value: number;
4
+ description: string;
5
+ }
@@ -1,16 +1,19 @@
1
1
  export * from './primitives';
2
+ export * from './interactive';
2
3
  export * from './Audience';
3
4
  export * from './Avatar';
4
5
  export * from './Banner';
5
6
  export * from './Category';
6
7
  export * from './Channel';
8
+ export * from './Classroom';
9
+ export * from './ClassroomGroup';
7
10
  export * from './Config';
8
11
  export * from './Cover';
9
12
  export * from './Curriculum';
10
13
  export * from './EntitySetting';
11
14
  export * from './HeroBanner';
12
15
  export * from './Image';
13
- export * from './Interactive';
16
+ export * from './InteractiveMetadata';
14
17
  export * from './Library';
15
18
  export * from './Playlist';
16
19
  export * from './Rating';
@@ -47,3 +50,8 @@ export * from './UserChannel';
47
50
  export * from './Group';
48
51
  export * from './VideoHistory';
49
52
  export * from './EntitySetting';
53
+ export * from './Subtitle';
54
+ export * from './Language';
55
+ export * from './FileUpload';
56
+ export * from './PlayerViewKey';
57
+ export * from './YearGroup';
@@ -1,9 +1,9 @@
1
1
  import { HashObject } from "../../../../../common/src/react/interfaces/HashObject";
2
- import { BaseObject } from "../primitives/BaseObject";
3
2
  import { ActionableItem } from './ActionableItem';
4
3
  import { InteractionType } from './InteractionType';
5
4
  import { InteractionTypeId } from './InteractionTypeId';
6
- export interface Interaction extends BaseObject {
5
+ import { BaseObject } from '../primitives';
6
+ export interface Interaction extends Omit<BaseObject, 'type'> {
7
7
  typeId: InteractionTypeId;
8
8
  type: InteractionType;
9
9
  timepointId: string;
@@ -1,6 +1,7 @@
1
1
  export interface BaseObject {
2
2
  id?: string;
3
3
  name?: string;
4
+ type?: string;
4
5
  dateCreated?: string;
5
6
  dateModified?: string;
6
7
  dateAssociated?: string;
@@ -0,0 +1,5 @@
1
+ export interface VirtualObject {
2
+ id?: string;
3
+ type?: string;
4
+ typeId?: string;
5
+ }
@@ -1 +1,2 @@
1
1
  export * from './BaseObject';
2
+ export * from './VirtualObject';
@@ -1,5 +1,3 @@
1
- import { PlayerMediaType } from "../../enums/PlayerMediaType";
2
1
  export interface CreateViewKeyRequest {
3
2
  mediaId: string;
4
- mediaType: PlayerMediaType;
5
3
  }
@@ -1,5 +1,9 @@
1
+ import { UpdateObjectRating, UpdateObjectChannel, Thumbnail } from "./..";
1
2
  export interface UpdateVideoRequest {
2
- id: string;
3
3
  name: string;
4
4
  description?: string;
5
+ rating: UpdateObjectRating;
6
+ dateBroadcast?: string;
7
+ channel?: UpdateObjectChannel;
8
+ thumbnail?: Thumbnail;
5
9
  }
@@ -1,2 +1,7 @@
1
+ export * from './CreateOrUpdateClipRequest';
2
+ export * from './CreateViewKeyRequest';
1
3
  export * from './ReorderRequest';
4
+ export * from './UpdateObjectChannel';
5
+ export * from './UpdateObjectRating';
6
+ export * from './UpdateResourceRequest';
2
7
  export * from './UpdateVideoRequest';
@@ -1,4 +1,6 @@
1
1
  import { CurrentUser } from "./..";
2
+ import { HashObject } from "../../../../common/src/react/interfaces";
2
3
  export interface BaseUserDataService {
3
4
  getCurrentUser(success?: (user: CurrentUser) => void, error?: () => void): void;
5
+ getWorkspace(success?: (workspace: HashObject) => void, error?: () => void): void;
4
6
  }
@@ -4,3 +4,4 @@ export * from './BaseLibraryDataService';
4
4
  export * from './BaseSeriesDataService';
5
5
  export * from './BaseSettingsDataService';
6
6
  export * from './BaseUserDataService';
7
+ export * from './BaseConfigDataService';
@@ -20,12 +20,13 @@ export interface CategoryMapperImageOptions {
20
20
  export declare const ImageHelper: {
21
21
  createUrl(baseUrl: string, options?: ImageOptions): string;
22
22
  createBannerUrl(banner: Banner, mappingOptions?: CategoryMapperImageOptions, imageOptions?: ImageOptions): string;
23
+ createResourceImage(baseUrl: string, resourceUrl: string, options?: ImageOptions): string;
23
24
  /**
24
- * Ensures that strings are properly escaped before using them
25
- * within a URL.
26
- */
25
+ * Ensures that strings are properly escaped before using them
26
+ * within a URL.
27
+ */
27
28
  Rfc3986EncodeURIComponent(str: string): string;
28
29
  _createCategoryMappedUrl(mappingOptions: CategoryMapperImageOptions, options?: ImageOptions): string;
29
- _createUrl(baseUrl: string, options?: ImageOptions): string;
30
+ _createUrl(baseUrl: string, queryParams?: HashObject<any>): string;
30
31
  legacyCreateThumbnailUrl(thumbnail: string | Core.Model | HashObject<any>, options?: ImageOptions): string;
31
32
  };
@@ -1,13 +1,14 @@
1
1
  /// <reference types="react" />
2
+ import { HashObject } from "../../../common/src/react/interfaces";
2
3
  export declare const StateHelper: {
3
4
  /**
4
- * Helper function to get the setState function for an individual key in a state object.
5
- *
6
- * @param setState React setState action
7
- * @param key Property within the state object we're updating
8
- * @param callback Optional callback to modify data before setting state. Uses identity fn by default.
9
- *
10
- * @returns Newly updated state object
11
- */
12
- getSetStateByKey<T extends {}>(setState: import("react").Dispatch<import("react").SetStateAction<T>>, key: keyof T, callback?: (data: any, state?: T) => T[keyof T]): (data: any) => void;
5
+ * Helper function to get the setState function for an individual key in a state object.
6
+ *
7
+ * @param setState React setState action
8
+ * @param key Property within the state object we're updating
9
+ * @param callback Optional callback to modify data before setting state. Uses identity fn by default.
10
+ *
11
+ * @returns Newly updated state object
12
+ */
13
+ getSetStateByKey<T extends HashObject<any>>(setState: import("react").Dispatch<import("react").SetStateAction<T>>, key: keyof T, callback?: (data: any, state?: T) => T[keyof T]): (data: any) => void;
13
14
  };
@@ -8,7 +8,6 @@ export interface SVGOptions {
8
8
  }
9
9
  export declare class StaticSvgHelper {
10
10
  private static instance;
11
- private constructor();
12
11
  static get Instance(): StaticSvgHelper;
13
12
  getSvg(svgName: string, options?: SVGOptions): string;
14
13
  private getIcon;
@@ -1,5 +1,4 @@
1
- import { Poster, Banner } from "../../../../../../../libs/shared/src/interfaces";
2
- import { UpdateObjectRating } from "../../../../shared/interfaces";
1
+ import { Poster, Banner, UpdateObjectRating } from "../../../../../../../libs/shared/src/interfaces";
3
2
  export interface CreateOrUpdateSeriesRequest {
4
3
  name: string;
5
4
  rating: UpdateObjectRating;
@@ -1,5 +1,4 @@
1
- import { Thumbnail, HeroBanner, Glance } from "../../../../../../../libs/shared/src/interfaces";
2
- import { UpdateObjectRating } from "../../../../shared/interfaces";
1
+ import { Thumbnail, HeroBanner, Glance, UpdateObjectRating } from "../../../../../../../libs/shared/src/interfaces";
3
2
  import { CurationStatus } from "../../../../shared/enums/CurationStatus";
4
3
  export interface UpdateVideoRequest {
5
4
  name: string;