@magmamath/students-features 1.3.12-rc.0 → 1.3.12-rc.1

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.
@@ -12,19 +12,21 @@ const useNextUpDomain = () => {
12
12
  model
13
13
  } = (0, _PmProgressContext.usePmProgress)();
14
14
  const magmaRecs = (0, _effectorReact.useUnit)(model.recommendations.$magma);
15
+ const domainsInTree = (0, _effectorReact.useUnit)(model.tree.$domains);
15
16
  return (0, _effectorReact.useStoreMap)({
16
- store: model.tree.$domainsInTree,
17
- keys: [magmaRecs],
18
- fn: domains => {
17
+ store: model.tree.$domainsInGrade,
18
+ keys: [magmaRecs, domainsInTree],
19
+ fn: domainsInGrade => {
19
20
  const firstRec = magmaRecs.items[0];
20
21
  if (firstRec) {
21
- const domain = (0, _pmProgressHelpers.findDomainBySkillId)(firstRec._id, domains) ?? null;
22
+ const allDomains = Object.values(domainsInTree).flat();
23
+ const domain = (0, _pmProgressHelpers.findDomainBySkillId)(firstRec._id, allDomains) ?? null;
22
24
  return {
23
25
  domain,
24
26
  isFromRecommendation: true
25
27
  };
26
28
  }
27
- const domain = domains.find(domain => {
29
+ const domain = domainsInGrade.find(domain => {
28
30
  const isFluency = (0, _pmProgressHelpers.isFluencyDomain)(domain.title);
29
31
  const isDomainCompleted = domain.standards.every(standard => standard.isCompleted);
30
32
  return !isFluency && !isDomainCompleted;
@@ -1 +1 @@
1
- {"version":3,"names":["_effectorReact","require","_PmProgressContext","_pmProgressHelpers","useNextUpDomain","model","usePmProgress","magmaRecs","useUnit","recommendations","$magma","useStoreMap","store","tree","$domainsInTree","keys","fn","domains","firstRec","items","domain","findDomainBySkillId","_id","isFromRecommendation","find","isFluency","isFluencyDomain","title","isDomainCompleted","standards","every","standard","isCompleted","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/hooks/useNextUpDomain.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAEO,MAAMG,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,gCAAa,EAAC,CAAC;EACjC,MAAMC,SAAS,GAAG,IAAAC,sBAAO,EAACH,KAAK,CAACI,eAAe,CAACC,MAAM,CAAC;EAEvD,OAAO,IAAAC,0BAAW,EAAC;IACjBC,KAAK,EAAEP,KAAK,CAACQ,IAAI,CAACC,cAAc;IAChCC,IAAI,EAAE,CAACR,SAAS,CAAC;IACjBS,EAAE,EAAGC,OAAO,IAAK;MACf,MAAMC,QAAQ,GAAGX,SAAS,CAACY,KAAK,CAAC,CAAC,CAAC;MACnC,IAAID,QAAQ,EAAE;QACZ,MAAME,MAAM,GAAG,IAAAC,sCAAmB,EAACH,QAAQ,CAACI,GAAG,EAAEL,OAAO,CAAC,IAAI,IAAI;QACjE,OAAO;UAAEG,MAAM;UAAEG,oBAAoB,EAAE;QAAK,CAAC;MAC/C;MAEA,MAAMH,MAAM,GACVH,OAAO,CAACO,IAAI,CAAEJ,MAAM,IAAK;QACvB,MAAMK,SAAS,GAAG,IAAAC,kCAAe,EAACN,MAAM,CAACO,KAAK,CAAC;QAC/C,MAAMC,iBAAiB,GAAGR,MAAM,CAACS,SAAS,CAACC,KAAK,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,WAAW,CAAC;QACpF,OAAO,CAACP,SAAS,IAAI,CAACG,iBAAiB;MACzC,CAAC,CAAC,IAAI,IAAI;MAEZ,OAAO;QAAER,MAAM;QAAEG,oBAAoB,EAAE;MAAM,CAAC;IAChD;EACF,CAAC,CAAC;AACJ,CAAC;AAAAU,OAAA,CAAA7B,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_effectorReact","require","_PmProgressContext","_pmProgressHelpers","useNextUpDomain","model","usePmProgress","magmaRecs","useUnit","recommendations","$magma","domainsInTree","tree","$domains","useStoreMap","store","$domainsInGrade","keys","fn","domainsInGrade","firstRec","items","allDomains","Object","values","flat","domain","findDomainBySkillId","_id","isFromRecommendation","find","isFluency","isFluencyDomain","title","isDomainCompleted","standards","every","standard","isCompleted","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/hooks/useNextUpDomain.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAEO,MAAMG,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,gCAAa,EAAC,CAAC;EACjC,MAAMC,SAAS,GAAG,IAAAC,sBAAO,EAACH,KAAK,CAACI,eAAe,CAACC,MAAM,CAAC;EACvD,MAAMC,aAAa,GAAG,IAAAH,sBAAO,EAACH,KAAK,CAACO,IAAI,CAACC,QAAQ,CAAC;EAElD,OAAO,IAAAC,0BAAW,EAAC;IACjBC,KAAK,EAAEV,KAAK,CAACO,IAAI,CAACI,eAAe;IACjCC,IAAI,EAAE,CAACV,SAAS,EAAEI,aAAa,CAAC;IAChCO,EAAE,EAAGC,cAAc,IAAK;MACtB,MAAMC,QAAQ,GAAGb,SAAS,CAACc,KAAK,CAAC,CAAC,CAAC;MACnC,IAAID,QAAQ,EAAE;QACZ,MAAME,UAAU,GAAGC,MAAM,CAACC,MAAM,CAACb,aAAa,CAAC,CAACc,IAAI,CAAC,CAAC;QACtD,MAAMC,MAAM,GAAG,IAAAC,sCAAmB,EAACP,QAAQ,CAACQ,GAAG,EAAEN,UAAU,CAAC,IAAI,IAAI;QACpE,OAAO;UAAEI,MAAM;UAAEG,oBAAoB,EAAE;QAAK,CAAC;MAC/C;MAEA,MAAMH,MAAM,GACVP,cAAc,CAACW,IAAI,CAAEJ,MAAM,IAAK;QAC9B,MAAMK,SAAS,GAAG,IAAAC,kCAAe,EAACN,MAAM,CAACO,KAAK,CAAC;QAC/C,MAAMC,iBAAiB,GAAGR,MAAM,CAACS,SAAS,CAACC,KAAK,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,WAAW,CAAC;QACpF,OAAO,CAACP,SAAS,IAAI,CAACG,iBAAiB;MACzC,CAAC,CAAC,IAAI,IAAI;MAEZ,OAAO;QAAER,MAAM;QAAEG,oBAAoB,EAAE;MAAM,CAAC;IAChD;EACF,CAAC,CAAC;AACJ,CAAC;AAAAU,OAAA,CAAAnC,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -20,8 +20,8 @@ class PmTreeModel {
20
20
  setGrade = (0, _effector.createEvent)();
21
21
  $isInitialized = (0, _effector.createStore)(false);
22
22
  $grade = (0, _effector.restore)(this.setGrade, null);
23
- $domainsInGrade = (0, _effector.createStore)([]);
24
- $domainsInTree = (0, _effector.createStore)([]);
23
+ $domains = (0, _effector.createStore)({});
24
+ $domainsInGrade = (0, _effector.combine)(this.$domains, this.$grade, (domains, grade) => grade !== null ? domains[grade] ?? [] : []);
25
25
  $grades = (0, _effector.createStore)([]);
26
26
  $status = (0, _effector.createStore)(null);
27
27
  constructor(api) {
@@ -33,13 +33,12 @@ class PmTreeModel {
33
33
  });
34
34
  (0, _session.persist)({
35
35
  key: _pmProgressConstants.SessionStorageKeys.DOMAINS,
36
- store: this.$domainsInGrade
36
+ store: this.$domains
37
37
  });
38
38
  }
39
39
  this.setupFailedAndLockedStatus();
40
40
  this.setupTreeInit();
41
41
  this.setupGradeInit();
42
- this.setupDomainStructure();
43
42
  this.setupDomainsInTree();
44
43
  }
45
44
  initTreeFx = (0, _effector.createEffect)(async ({
@@ -147,31 +146,6 @@ class PmTreeModel {
147
146
  target: this.setGrade
148
147
  });
149
148
  }
150
- setupDomainStructure() {
151
- (0, _effector.sample)({
152
- clock: [this.$grade, this.initTreeFx.doneData],
153
- source: {
154
- tree: this.$tree,
155
- stats: this.$stats,
156
- user: this.$user,
157
- grade: this.$grade
158
- },
159
- filter: _pmProgressHelpers.isTreeDataReady,
160
- fn: ({
161
- tree,
162
- stats,
163
- user,
164
- grade
165
- }) => {
166
- const [treeWithUserStats] = (0, _skillsUtils.enhanceProgressMatrixData)(Object.values(tree.treeMapping), stats, [{
167
- entityId: user._id,
168
- name: user.fullName
169
- }], grade);
170
- return (0, _pmProgressHelpers.getDomainStructure)(treeWithUserStats, tree.treeMapping);
171
- },
172
- target: this.$domainsInGrade
173
- });
174
- }
175
149
  setupDomainsInTree() {
176
150
  (0, _effector.sample)({
177
151
  clock: this.initTreeFx.doneData,
@@ -188,15 +162,15 @@ class PmTreeModel {
188
162
  }) => {
189
163
  const treeNodes = Object.values(tree.treeMapping);
190
164
  const grades = (0, _pmProgressHelpers.getTreeGrades)(tree, user).filter(g => !g.isLocked);
191
- return grades.flatMap(grade => {
165
+ return Object.fromEntries(grades.map(grade => {
192
166
  const [treeWithStats] = (0, _skillsUtils.enhanceProgressMatrixData)(treeNodes, stats, [{
193
167
  entityId: user._id,
194
168
  name: user.fullName
195
169
  }], grade.value);
196
- return (0, _pmProgressHelpers.getDomainStructure)(treeWithStats, tree.treeMapping);
197
- });
170
+ return [grade.value, (0, _pmProgressHelpers.getDomainStructure)(treeWithStats, tree.treeMapping)];
171
+ }));
198
172
  },
199
- target: this.$domainsInTree
173
+ target: this.$domains
200
174
  });
201
175
  }
202
176
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_effectorAction","_skillsUtils","_pmProgressHelpers","_TreeNormalizer","_session","_pmProgressConstants","_commonConstants","PmTreeModel","$tree","createStore","$stats","$user","setupInitialGrade","createEvent","setGrade","$isInitialized","$grade","restore","$domainsInGrade","$domainsInTree","$grades","$status","constructor","api","isWeb","persist","key","SessionStorageKeys","GRADE","store","DOMAINS","setupFailedAndLockedStatus","setupTreeInit","setupGradeInit","setupDomainStructure","setupDomainsInTree","initTreeFx","createEffect","user","setting","practiceModeTreeId","Error","tree","stats","Promise","all","getTreeFx","getStatisticsFx","entityIds","_id","TreeNormalizer","normalize","getTreeContextFx","attach","source","grade","mapParams","_","isTreeDataReady","effect","treeWithStats","enhanceProgressMatrixData","Object","values","treeMapping","entityId","name","fullName","sample","clock","fail","fn","PmProgressStatus","ERROR","target","filter","grades","length","every","g","isLocked","LOCKED","createAction","done","params","result","getTreeGrades","userLockedGrades","practiceModeLockedGrades","isPersistedGradeValid","includes","treeGrades","node","type","map","attributes","getInitialPmGrade","userGrade","lockedGrades","enrolledGrades","doneData","treeWithUserStats","getDomainStructure","isTreeDataWithoutGradeReady","treeNodes","flatMap","value","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmTreeModel.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_effectorAction","_skillsUtils","_pmProgressHelpers","_TreeNormalizer","_session","_pmProgressConstants","_commonConstants","PmTreeModel","$tree","createStore","$stats","$user","setupInitialGrade","createEvent","setGrade","$isInitialized","$grade","restore","$domains","$domainsInGrade","combine","domains","grade","$grades","$status","constructor","api","isWeb","persist","key","SessionStorageKeys","GRADE","store","DOMAINS","setupFailedAndLockedStatus","setupTreeInit","setupGradeInit","setupDomainsInTree","initTreeFx","createEffect","user","setting","practiceModeTreeId","Error","tree","stats","Promise","all","getTreeFx","getStatisticsFx","entityIds","_id","TreeNormalizer","normalize","getTreeContextFx","attach","source","mapParams","_","isTreeDataReady","effect","treeWithStats","enhanceProgressMatrixData","Object","values","treeMapping","entityId","name","fullName","sample","clock","fail","fn","PmProgressStatus","ERROR","target","filter","grades","length","every","g","isLocked","LOCKED","createAction","done","params","result","getTreeGrades","userLockedGrades","practiceModeLockedGrades","isPersistedGradeValid","includes","treeGrades","node","type","map","attributes","getInitialPmGrade","userGrade","lockedGrades","enrolledGrades","doneData","isTreeDataWithoutGradeReady","treeNodes","fromEntries","value","getDomainStructure","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmTreeModel.ts"],"mappings":"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","ignoreList":[]}
@@ -8,19 +8,21 @@ export const useNextUpDomain = () => {
8
8
  model
9
9
  } = usePmProgress();
10
10
  const magmaRecs = useUnit(model.recommendations.$magma);
11
+ const domainsInTree = useUnit(model.tree.$domains);
11
12
  return useStoreMap({
12
- store: model.tree.$domainsInTree,
13
- keys: [magmaRecs],
14
- fn: domains => {
13
+ store: model.tree.$domainsInGrade,
14
+ keys: [magmaRecs, domainsInTree],
15
+ fn: domainsInGrade => {
15
16
  const firstRec = magmaRecs.items[0];
16
17
  if (firstRec) {
17
- const domain = findDomainBySkillId(firstRec._id, domains) ?? null;
18
+ const allDomains = Object.values(domainsInTree).flat();
19
+ const domain = findDomainBySkillId(firstRec._id, allDomains) ?? null;
18
20
  return {
19
21
  domain,
20
22
  isFromRecommendation: true
21
23
  };
22
24
  }
23
- const domain = domains.find(domain => {
25
+ const domain = domainsInGrade.find(domain => {
24
26
  const isFluency = isFluencyDomain(domain.title);
25
27
  const isDomainCompleted = domain.standards.every(standard => standard.isCompleted);
26
28
  return !isFluency && !isDomainCompleted;
@@ -1 +1 @@
1
- {"version":3,"names":["useUnit","useStoreMap","usePmProgress","findDomainBySkillId","isFluencyDomain","useNextUpDomain","model","magmaRecs","recommendations","$magma","store","tree","$domainsInTree","keys","fn","domains","firstRec","items","domain","_id","isFromRecommendation","find","isFluency","title","isDomainCompleted","standards","every","standard","isCompleted"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/hooks/useNextUpDomain.ts"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,WAAW,QAAQ,gBAAgB;AACrD,SAASC,aAAa,QAAQ,iCAA8B;AAC5D,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,iCAA8B;AAEnF,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAM;IAAEC;EAAM,CAAC,GAAGJ,aAAa,CAAC,CAAC;EACjC,MAAMK,SAAS,GAAGP,OAAO,CAACM,KAAK,CAACE,eAAe,CAACC,MAAM,CAAC;EAEvD,OAAOR,WAAW,CAAC;IACjBS,KAAK,EAAEJ,KAAK,CAACK,IAAI,CAACC,cAAc;IAChCC,IAAI,EAAE,CAACN,SAAS,CAAC;IACjBO,EAAE,EAAGC,OAAO,IAAK;MACf,MAAMC,QAAQ,GAAGT,SAAS,CAACU,KAAK,CAAC,CAAC,CAAC;MACnC,IAAID,QAAQ,EAAE;QACZ,MAAME,MAAM,GAAGf,mBAAmB,CAACa,QAAQ,CAACG,GAAG,EAAEJ,OAAO,CAAC,IAAI,IAAI;QACjE,OAAO;UAAEG,MAAM;UAAEE,oBAAoB,EAAE;QAAK,CAAC;MAC/C;MAEA,MAAMF,MAAM,GACVH,OAAO,CAACM,IAAI,CAAEH,MAAM,IAAK;QACvB,MAAMI,SAAS,GAAGlB,eAAe,CAACc,MAAM,CAACK,KAAK,CAAC;QAC/C,MAAMC,iBAAiB,GAAGN,MAAM,CAACO,SAAS,CAACC,KAAK,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,WAAW,CAAC;QACpF,OAAO,CAACN,SAAS,IAAI,CAACE,iBAAiB;MACzC,CAAC,CAAC,IAAI,IAAI;MAEZ,OAAO;QAAEN,MAAM;QAAEE,oBAAoB,EAAE;MAAM,CAAC;IAChD;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useUnit","useStoreMap","usePmProgress","findDomainBySkillId","isFluencyDomain","useNextUpDomain","model","magmaRecs","recommendations","$magma","domainsInTree","tree","$domains","store","$domainsInGrade","keys","fn","domainsInGrade","firstRec","items","allDomains","Object","values","flat","domain","_id","isFromRecommendation","find","isFluency","title","isDomainCompleted","standards","every","standard","isCompleted"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/hooks/useNextUpDomain.ts"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,WAAW,QAAQ,gBAAgB;AACrD,SAASC,aAAa,QAAQ,iCAA8B;AAC5D,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,iCAA8B;AAEnF,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAM;IAAEC;EAAM,CAAC,GAAGJ,aAAa,CAAC,CAAC;EACjC,MAAMK,SAAS,GAAGP,OAAO,CAACM,KAAK,CAACE,eAAe,CAACC,MAAM,CAAC;EACvD,MAAMC,aAAa,GAAGV,OAAO,CAACM,KAAK,CAACK,IAAI,CAACC,QAAQ,CAAC;EAElD,OAAOX,WAAW,CAAC;IACjBY,KAAK,EAAEP,KAAK,CAACK,IAAI,CAACG,eAAe;IACjCC,IAAI,EAAE,CAACR,SAAS,EAAEG,aAAa,CAAC;IAChCM,EAAE,EAAGC,cAAc,IAAK;MACtB,MAAMC,QAAQ,GAAGX,SAAS,CAACY,KAAK,CAAC,CAAC,CAAC;MACnC,IAAID,QAAQ,EAAE;QACZ,MAAME,UAAU,GAAGC,MAAM,CAACC,MAAM,CAACZ,aAAa,CAAC,CAACa,IAAI,CAAC,CAAC;QACtD,MAAMC,MAAM,GAAGrB,mBAAmB,CAACe,QAAQ,CAACO,GAAG,EAAEL,UAAU,CAAC,IAAI,IAAI;QACpE,OAAO;UAAEI,MAAM;UAAEE,oBAAoB,EAAE;QAAK,CAAC;MAC/C;MAEA,MAAMF,MAAM,GACVP,cAAc,CAACU,IAAI,CAAEH,MAAM,IAAK;QAC9B,MAAMI,SAAS,GAAGxB,eAAe,CAACoB,MAAM,CAACK,KAAK,CAAC;QAC/C,MAAMC,iBAAiB,GAAGN,MAAM,CAACO,SAAS,CAACC,KAAK,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,WAAW,CAAC;QACpF,OAAO,CAACN,SAAS,IAAI,CAACE,iBAAiB;MACzC,CAAC,CAAC,IAAI,IAAI;MAEZ,OAAO;QAAEN,MAAM;QAAEE,oBAAoB,EAAE;MAAM,CAAC;IAChD;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { attach, createEffect, createEvent, createStore, restore, sample } from 'effector';
3
+ import { attach, combine, createEffect, createEvent, createStore, restore, sample } from 'effector';
4
4
  import { createAction } from 'effector-action';
5
5
  import { enhanceProgressMatrixData } from '@matteappen/skills-utils';
6
6
  import { getDomainStructure, getInitialPmGrade, getTreeGrades, isTreeDataReady, isTreeDataWithoutGradeReady } from "../shared/pmProgress.helpers.js";
@@ -16,8 +16,8 @@ export class PmTreeModel {
16
16
  setGrade = createEvent();
17
17
  $isInitialized = createStore(false);
18
18
  $grade = restore(this.setGrade, null);
19
- $domainsInGrade = createStore([]);
20
- $domainsInTree = createStore([]);
19
+ $domains = createStore({});
20
+ $domainsInGrade = combine(this.$domains, this.$grade, (domains, grade) => grade !== null ? domains[grade] ?? [] : []);
21
21
  $grades = createStore([]);
22
22
  $status = createStore(null);
23
23
  constructor(api) {
@@ -29,13 +29,12 @@ export class PmTreeModel {
29
29
  });
30
30
  persist({
31
31
  key: SessionStorageKeys.DOMAINS,
32
- store: this.$domainsInGrade
32
+ store: this.$domains
33
33
  });
34
34
  }
35
35
  this.setupFailedAndLockedStatus();
36
36
  this.setupTreeInit();
37
37
  this.setupGradeInit();
38
- this.setupDomainStructure();
39
38
  this.setupDomainsInTree();
40
39
  }
41
40
  initTreeFx = createEffect(async ({
@@ -143,31 +142,6 @@ export class PmTreeModel {
143
142
  target: this.setGrade
144
143
  });
145
144
  }
146
- setupDomainStructure() {
147
- sample({
148
- clock: [this.$grade, this.initTreeFx.doneData],
149
- source: {
150
- tree: this.$tree,
151
- stats: this.$stats,
152
- user: this.$user,
153
- grade: this.$grade
154
- },
155
- filter: isTreeDataReady,
156
- fn: ({
157
- tree,
158
- stats,
159
- user,
160
- grade
161
- }) => {
162
- const [treeWithUserStats] = enhanceProgressMatrixData(Object.values(tree.treeMapping), stats, [{
163
- entityId: user._id,
164
- name: user.fullName
165
- }], grade);
166
- return getDomainStructure(treeWithUserStats, tree.treeMapping);
167
- },
168
- target: this.$domainsInGrade
169
- });
170
- }
171
145
  setupDomainsInTree() {
172
146
  sample({
173
147
  clock: this.initTreeFx.doneData,
@@ -184,15 +158,15 @@ export class PmTreeModel {
184
158
  }) => {
185
159
  const treeNodes = Object.values(tree.treeMapping);
186
160
  const grades = getTreeGrades(tree, user).filter(g => !g.isLocked);
187
- return grades.flatMap(grade => {
161
+ return Object.fromEntries(grades.map(grade => {
188
162
  const [treeWithStats] = enhanceProgressMatrixData(treeNodes, stats, [{
189
163
  entityId: user._id,
190
164
  name: user.fullName
191
165
  }], grade.value);
192
- return getDomainStructure(treeWithStats, tree.treeMapping);
193
- });
166
+ return [grade.value, getDomainStructure(treeWithStats, tree.treeMapping)];
167
+ }));
194
168
  },
195
- target: this.$domainsInTree
169
+ target: this.$domains
196
170
  });
197
171
  }
198
172
  }
@@ -1 +1 @@
1
- {"version":3,"names":["attach","createEffect","createEvent","createStore","restore","sample","createAction","enhanceProgressMatrixData","getDomainStructure","getInitialPmGrade","getTreeGrades","isTreeDataReady","isTreeDataWithoutGradeReady","TreeNormalizer","persist","PmProgressStatus","SessionStorageKeys","isWeb","PmTreeModel","$tree","$stats","$user","setupInitialGrade","setGrade","$isInitialized","$grade","$domainsInGrade","$domainsInTree","$grades","$status","constructor","api","key","GRADE","store","DOMAINS","setupFailedAndLockedStatus","setupTreeInit","setupGradeInit","setupDomainStructure","setupDomainsInTree","initTreeFx","user","setting","practiceModeTreeId","Error","tree","stats","Promise","all","getTreeFx","getStatisticsFx","entityIds","_id","normalize","getTreeContextFx","source","grade","mapParams","_","effect","treeWithStats","Object","values","treeMapping","entityId","name","fullName","clock","fail","fn","ERROR","target","filter","grades","length","every","g","isLocked","LOCKED","done","params","result","userLockedGrades","practiceModeLockedGrades","isPersistedGradeValid","includes","treeGrades","node","type","map","attributes","userGrade","lockedGrades","enrolledGrades","doneData","treeWithUserStats","treeNodes","flatMap","value"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmTreeModel.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["attach","combine","createEffect","createEvent","createStore","restore","sample","createAction","enhanceProgressMatrixData","getDomainStructure","getInitialPmGrade","getTreeGrades","isTreeDataReady","isTreeDataWithoutGradeReady","TreeNormalizer","persist","PmProgressStatus","SessionStorageKeys","isWeb","PmTreeModel","$tree","$stats","$user","setupInitialGrade","setGrade","$isInitialized","$grade","$domains","$domainsInGrade","domains","grade","$grades","$status","constructor","api","key","GRADE","store","DOMAINS","setupFailedAndLockedStatus","setupTreeInit","setupGradeInit","setupDomainsInTree","initTreeFx","user","setting","practiceModeTreeId","Error","tree","stats","Promise","all","getTreeFx","getStatisticsFx","entityIds","_id","normalize","getTreeContextFx","source","mapParams","_","effect","treeWithStats","Object","values","treeMapping","entityId","name","fullName","clock","fail","fn","ERROR","target","filter","grades","length","every","g","isLocked","LOCKED","done","params","result","userLockedGrades","practiceModeLockedGrades","isPersistedGradeValid","includes","treeGrades","node","type","map","attributes","userGrade","lockedGrades","enrolledGrades","doneData","treeNodes","fromEntries","value"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmTreeModel.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useNextUpDomain.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/hooks/useNextUpDomain.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe;;;CAwB3B,CAAA"}
1
+ {"version":3,"file":"useNextUpDomain.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/hooks/useNextUpDomain.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe;;;CA0B3B,CAAA"}
@@ -10,8 +10,8 @@ export declare class PmTreeModel {
10
10
  readonly setGrade: import("effector").EventCallable<number | null>;
11
11
  readonly $isInitialized: import("effector").StoreWritable<boolean>;
12
12
  readonly $grade: import("effector").StoreWritable<number | null>;
13
- readonly $domainsInGrade: import("effector").StoreWritable<Domain[]>;
14
- readonly $domainsInTree: import("effector").StoreWritable<Domain[]>;
13
+ readonly $domains: import("effector").StoreWritable<Record<number, Domain[]>>;
14
+ readonly $domainsInGrade: import("effector").Store<Domain[]>;
15
15
  readonly $grades: import("effector").StoreWritable<Grade[]>;
16
16
  readonly $status: import("effector").StoreWritable<PmProgressStatus | null>;
17
17
  constructor(api: PmProgressApi);
@@ -20,7 +20,6 @@ export declare class PmTreeModel {
20
20
  private setupFailedAndLockedStatus;
21
21
  private setupTreeInit;
22
22
  private setupGradeInit;
23
- private setupDomainStructure;
24
23
  private setupDomainsInTree;
25
24
  }
26
25
  //# sourceMappingURL=PmTreeModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PmTreeModel.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/model/PmTreeModel.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EACN,KAAK,EACL,mBAAmB,EAEnB,aAAa,EAEb,WAAW,EACX,mBAAmB,EAEpB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAW/C,OAAO,EAAE,gBAAgB,EAAsB,MAAM,gCAAgC,CAAA;AAGrF,qBAAa,WAAW;IAeV,OAAO,CAAC,QAAQ,CAAC,GAAG;IAdhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgD;IACtE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,SAAgB,QAAQ,kDAA+B;IAEvD,SAAgB,cAAc,4CAAqB;IACnD,SAAgB,MAAM,kDAA+B;IACrD,SAAgB,eAAe,6CAA4B;IAC3D,SAAgB,cAAc,6CAA4B;IAC1D,SAAgB,OAAO,4CAA2B;IAClD,SAAgB,OAAO,4DAA6C;gBAEvC,GAAG,EAAE,aAAa;IAa/C,SAAgB,UAAU,uGAUxB;IAEF,SAAgB,gBAAgB,sDAwB9B;IAEF,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,kBAAkB;CAsB3B"}
1
+ {"version":3,"file":"PmTreeModel.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/model/PmTreeModel.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EACN,KAAK,EACL,mBAAmB,EAEnB,aAAa,EAEb,WAAW,EACX,mBAAmB,EAEpB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAW/C,OAAO,EAAE,gBAAgB,EAAsB,MAAM,gCAAgC,CAAA;AAGrF,qBAAa,WAAW;IAiBV,OAAO,CAAC,QAAQ,CAAC,GAAG;IAhBhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgD;IACtE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,SAAgB,QAAQ,kDAA+B;IAEvD,SAAgB,cAAc,4CAAqB;IACnD,SAAgB,MAAM,kDAA+B;IACrD,SAAgB,QAAQ,6DAA4C;IACpE,SAAgB,eAAe,qCAE9B;IACD,SAAgB,OAAO,4CAA2B;IAClD,SAAgB,OAAO,4DAA6C;gBAEvC,GAAG,EAAE,aAAa;IAY/C,SAAgB,UAAU,uGAUxB;IAEF,SAAgB,gBAAgB,sDAwB9B;IAEF,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,kBAAkB;CAwB3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"useNextUpDomain.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/hooks/useNextUpDomain.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe;;;CAwB3B,CAAA"}
1
+ {"version":3,"file":"useNextUpDomain.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/hooks/useNextUpDomain.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe;;;CA0B3B,CAAA"}
@@ -10,8 +10,8 @@ export declare class PmTreeModel {
10
10
  readonly setGrade: import("effector").EventCallable<number | null>;
11
11
  readonly $isInitialized: import("effector").StoreWritable<boolean>;
12
12
  readonly $grade: import("effector").StoreWritable<number | null>;
13
- readonly $domainsInGrade: import("effector").StoreWritable<Domain[]>;
14
- readonly $domainsInTree: import("effector").StoreWritable<Domain[]>;
13
+ readonly $domains: import("effector").StoreWritable<Record<number, Domain[]>>;
14
+ readonly $domainsInGrade: import("effector").Store<Domain[]>;
15
15
  readonly $grades: import("effector").StoreWritable<Grade[]>;
16
16
  readonly $status: import("effector").StoreWritable<PmProgressStatus | null>;
17
17
  constructor(api: PmProgressApi);
@@ -20,7 +20,6 @@ export declare class PmTreeModel {
20
20
  private setupFailedAndLockedStatus;
21
21
  private setupTreeInit;
22
22
  private setupGradeInit;
23
- private setupDomainStructure;
24
23
  private setupDomainsInTree;
25
24
  }
26
25
  //# sourceMappingURL=PmTreeModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PmTreeModel.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/model/PmTreeModel.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EACN,KAAK,EACL,mBAAmB,EAEnB,aAAa,EAEb,WAAW,EACX,mBAAmB,EAEpB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAW/C,OAAO,EAAE,gBAAgB,EAAsB,MAAM,gCAAgC,CAAA;AAGrF,qBAAa,WAAW;IAeV,OAAO,CAAC,QAAQ,CAAC,GAAG;IAdhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgD;IACtE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,SAAgB,QAAQ,kDAA+B;IAEvD,SAAgB,cAAc,4CAAqB;IACnD,SAAgB,MAAM,kDAA+B;IACrD,SAAgB,eAAe,6CAA4B;IAC3D,SAAgB,cAAc,6CAA4B;IAC1D,SAAgB,OAAO,4CAA2B;IAClD,SAAgB,OAAO,4DAA6C;gBAEvC,GAAG,EAAE,aAAa;IAa/C,SAAgB,UAAU,uGAUxB;IAEF,SAAgB,gBAAgB,sDAwB9B;IAEF,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,kBAAkB;CAsB3B"}
1
+ {"version":3,"file":"PmTreeModel.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/model/PmTreeModel.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EACN,KAAK,EACL,mBAAmB,EAEnB,aAAa,EAEb,WAAW,EACX,mBAAmB,EAEpB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAW/C,OAAO,EAAE,gBAAgB,EAAsB,MAAM,gCAAgC,CAAA;AAGrF,qBAAa,WAAW;IAiBV,OAAO,CAAC,QAAQ,CAAC,GAAG;IAhBhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgD;IACtE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,SAAgB,QAAQ,kDAA+B;IAEvD,SAAgB,cAAc,4CAAqB;IACnD,SAAgB,MAAM,kDAA+B;IACrD,SAAgB,QAAQ,6DAA4C;IACpE,SAAgB,eAAe,qCAE9B;IACD,SAAgB,OAAO,4CAA2B;IAClD,SAAgB,OAAO,4DAA6C;gBAEvC,GAAG,EAAE,aAAa;IAY/C,SAAgB,UAAU,uGAUxB;IAEF,SAAgB,gBAAgB,sDAwB9B;IAEF,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,kBAAkB;CAwB3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "1.3.12-rc.0",
3
+ "version": "1.3.12-rc.1",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -5,19 +5,21 @@ import { findDomainBySkillId, isFluencyDomain } from '../shared/pmProgress.helpe
5
5
  export const useNextUpDomain = () => {
6
6
  const { model } = usePmProgress()
7
7
  const magmaRecs = useUnit(model.recommendations.$magma)
8
+ const domainsInTree = useUnit(model.tree.$domains)
8
9
 
9
10
  return useStoreMap({
10
- store: model.tree.$domainsInTree,
11
- keys: [magmaRecs],
12
- fn: (domains) => {
11
+ store: model.tree.$domainsInGrade,
12
+ keys: [magmaRecs, domainsInTree],
13
+ fn: (domainsInGrade) => {
13
14
  const firstRec = magmaRecs.items[0]
14
15
  if (firstRec) {
15
- const domain = findDomainBySkillId(firstRec._id, domains) ?? null
16
+ const allDomains = Object.values(domainsInTree).flat()
17
+ const domain = findDomainBySkillId(firstRec._id, allDomains) ?? null
16
18
  return { domain, isFromRecommendation: true }
17
19
  }
18
20
 
19
21
  const domain =
20
- domains.find((domain) => {
22
+ domainsInGrade.find((domain) => {
21
23
  const isFluency = isFluencyDomain(domain.title)
22
24
  const isDomainCompleted = domain.standards.every((standard) => standard.isCompleted)
23
25
  return !isFluency && !isDomainCompleted
@@ -1,4 +1,4 @@
1
- import { attach, createEffect, createEvent, createStore, restore, sample } from 'effector'
1
+ import { attach, combine, createEffect, createEvent, createStore, restore, sample } from 'effector'
2
2
  import { createAction } from 'effector-action'
3
3
  import {
4
4
  Domain,
@@ -35,21 +35,22 @@ export class PmTreeModel {
35
35
 
36
36
  public readonly $isInitialized = createStore(false)
37
37
  public readonly $grade = restore(this.setGrade, null)
38
- public readonly $domainsInGrade = createStore<Domain[]>([])
39
- public readonly $domainsInTree = createStore<Domain[]>([])
38
+ public readonly $domains = createStore<Record<number, Domain[]>>({})
39
+ public readonly $domainsInGrade = combine(this.$domains, this.$grade, (domains, grade) =>
40
+ grade !== null ? (domains[grade] ?? []) : [],
41
+ )
40
42
  public readonly $grades = createStore<Grade[]>([])
41
43
  public readonly $status = createStore<PmProgressStatus | null>(null)
42
44
 
43
45
  constructor(private readonly api: PmProgressApi) {
44
46
  if (isWeb) {
45
47
  persist({ key: SessionStorageKeys.GRADE, store: this.$grade })
46
- persist({ key: SessionStorageKeys.DOMAINS, store: this.$domainsInGrade })
48
+ persist({ key: SessionStorageKeys.DOMAINS, store: this.$domains })
47
49
  }
48
50
 
49
51
  this.setupFailedAndLockedStatus()
50
52
  this.setupTreeInit()
51
53
  this.setupGradeInit()
52
- this.setupDomainStructure()
53
54
  this.setupDomainsInTree()
54
55
  }
55
56
 
@@ -152,25 +153,6 @@ export class PmTreeModel {
152
153
  })
153
154
  }
154
155
 
155
- private setupDomainStructure() {
156
- sample({
157
- clock: [this.$grade, this.initTreeFx.doneData],
158
- source: { tree: this.$tree, stats: this.$stats, user: this.$user, grade: this.$grade },
159
- filter: isTreeDataReady,
160
- fn: ({ tree, stats, user, grade }) => {
161
- const [treeWithUserStats] = enhanceProgressMatrixData(
162
- Object.values(tree.treeMapping),
163
- stats,
164
- [{ entityId: user._id, name: user.fullName }],
165
- grade as number,
166
- )
167
-
168
- return getDomainStructure(treeWithUserStats, tree.treeMapping)
169
- },
170
- target: this.$domainsInGrade,
171
- })
172
- }
173
-
174
156
  private setupDomainsInTree() {
175
157
  sample({
176
158
  clock: this.initTreeFx.doneData,
@@ -180,17 +162,19 @@ export class PmTreeModel {
180
162
  const treeNodes = Object.values(tree.treeMapping)
181
163
  const grades = getTreeGrades(tree, user).filter((g) => !g.isLocked)
182
164
 
183
- return grades.flatMap((grade) => {
184
- const [treeWithStats] = enhanceProgressMatrixData(
185
- treeNodes,
186
- stats,
187
- [{ entityId: user._id, name: user.fullName }],
188
- grade.value,
189
- )
190
- return getDomainStructure(treeWithStats, tree.treeMapping)
191
- })
165
+ return Object.fromEntries(
166
+ grades.map((grade) => {
167
+ const [treeWithStats] = enhanceProgressMatrixData(
168
+ treeNodes,
169
+ stats,
170
+ [{ entityId: user._id, name: user.fullName }],
171
+ grade.value,
172
+ )
173
+ return [grade.value, getDomainStructure(treeWithStats, tree.treeMapping)]
174
+ }),
175
+ )
192
176
  },
193
- target: this.$domainsInTree,
177
+ target: this.$domains,
194
178
  })
195
179
  }
196
180
  }