@capytale/meta-player 0.2.0 → 0.2.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capytale/meta-player",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite",
@@ -121,3 +121,67 @@ export const ActivityJSProvider: FC<ActivityJSProviderProps> = (props) => {
121
121
  export const useActivityJS = () => {
122
122
  return useContext(ActivityJSContext);
123
123
  };
124
+
125
+ export const useActivityJsEssentials = () => {
126
+ const activityJs = useActivityJS();
127
+ if (!activityJs.activitySession) {
128
+ throw new Error("ActivityJS data not loaded");
129
+ }
130
+ const mode = activityJs.activitySession.mode;
131
+ const ab = activityJs.activitySession.activityBunch;
132
+ const getActivityContent = () => {
133
+ //@ts-expect-error
134
+ return ab.activityNode.content.value as string;
135
+ };
136
+ const getAssignentContent = () => {
137
+ if (!ab.assignmentNode) {
138
+ throw new Error("No assignment node");
139
+ }
140
+ //@ts-expect-error
141
+ return ab.assignmentNode.content.value as string;
142
+ };
143
+ const getActivityBinaryData = () => {
144
+ //@ts-expect-error
145
+ return ab.activityNode.binaryData.value as any;
146
+ };
147
+ const getAssignmentBinaryData = () => {
148
+ if (!ab.assignmentNode) {
149
+ throw new Error("No assignment node");
150
+ }
151
+ //@ts-expect-error
152
+ return ab.assignmentNode.binaryData.value as any;
153
+ };
154
+ const setActivityContent = (content: string) => {
155
+ //@ts-expect-error
156
+ ab.activityNode.content.value = content;
157
+ };
158
+ const setAssignmentContent = (content: string) => {
159
+ if (!ab.assignmentNode) {
160
+ throw new Error("No assignment node");
161
+ }
162
+ //@ts-expect-error
163
+ ab.assignmentNode.content.value = content;
164
+ };
165
+ const setActivityBinaryData = (data: any) => {
166
+ //@ts-expect-error
167
+ ab.activityNode.binaryData.value = data;
168
+ };
169
+ const setAssignmentBinaryData = (data: any) => {
170
+ if (!ab.assignmentNode) {
171
+ throw new Error("No assignment node");
172
+ }
173
+ //@ts-expect-error
174
+ ab.assignmentNode.binaryData.value = data;
175
+ };
176
+ return {
177
+ mode,
178
+ getActivityContent,
179
+ getAssignentContent,
180
+ getActivityBinaryData,
181
+ getAssignmentBinaryData,
182
+ setActivityContent,
183
+ setAssignmentContent,
184
+ setActivityBinaryData,
185
+ setAssignmentBinaryData,
186
+ };
187
+ };
package/src/index.tsx CHANGED
@@ -2,5 +2,37 @@ import "primeicons/primeicons.css";
2
2
  import "./index.css";
3
3
 
4
4
  import MetaPlayer from "./MetaPlayer";
5
+ import MetaPlayerOptionsSetter from "./features/activityData/MetaPlayerOptionsSetter";
6
+ import BeforeSaveAction from "./features/activityJS/BeforeSaveAction";
7
+ import BeforeResetAction from "./features/activityJS/BeforeResetAction";
8
+ import AfterSaveAction from "./features/activityJS/AfterSaveAction";
9
+ import { useMode } from "./hooks";
10
+ import {
11
+ useActivityJS,
12
+ useActivityJsEssentials,
13
+ } from "./features/activityJS/ActivityJSProvider";
14
+ import { useNotifyIsDirty } from "./features/activityData/hooks";
15
+ import { ActivitySidebarActionsSetter } from "./features/navbar/ActivitySidebarActions";
16
+ import { ActivityQuickActionsSetter } from "./features/navbar/ActivityQuickActions";
17
+ import ActivitySettingsSetter from "./features/activitySettings/ActivitySettingsSetter";
18
+ import IsDirtySetter from "./features/activityData/IsDirtySetter";
19
+ import { Toast } from "./external/prime";
20
+ import type { ToastMessage } from "./external/prime";
5
21
 
6
- export { MetaPlayer };
22
+ export {
23
+ MetaPlayer,
24
+ MetaPlayerOptionsSetter,
25
+ BeforeSaveAction,
26
+ BeforeResetAction,
27
+ AfterSaveAction,
28
+ useMode,
29
+ useActivityJS,
30
+ useActivityJsEssentials,
31
+ useNotifyIsDirty,
32
+ ActivitySidebarActionsSetter,
33
+ ActivityQuickActionsSetter,
34
+ ActivitySettingsSetter,
35
+ IsDirtySetter,
36
+ Toast,
37
+ };
38
+ export type { ToastMessage };