@appcorp/fusion-storybook 0.1.15 → 0.1.17

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.
@@ -130,6 +130,7 @@ export const { actionTypes: ADMISSION_ACTION_TYPES, config: admissionModuleConfi
130
130
  export const useAdmissionModule = () => {
131
131
  var _a, _b, _c, _d, _e, _f;
132
132
  const context = useAdmissionContext();
133
+ const { dispatch } = context;
133
134
  const t = useTranslations("admission");
134
135
  const workspace = getCachedWorkspaceSync();
135
136
  const debouncedQuery = useDebounce(context.state.searchQuery, 800);
@@ -254,25 +255,25 @@ export const useAdmissionModule = () => {
254
255
  value.length >= 13) {
255
256
  formatted = (_c = (_b = formatPhone(value, "PK")) === null || _b === void 0 ? void 0 : _b.international) !== null && _c !== void 0 ? _c : value;
256
257
  }
257
- context.dispatch({
258
+ dispatch({
258
259
  type: ADMISSION_ACTION_TYPES.SET_INPUT_FIELD,
259
260
  payload: { key, value: formatted || value },
260
261
  });
261
- }, [context]);
262
+ }, [dispatch]);
262
263
  const resetFormAndCloseDrawer = useCallback(() => {
263
- context.dispatch({
264
+ dispatch({
264
265
  type: ADMISSION_ACTION_TYPES.SET_ERRORS,
265
266
  payload: { errors: {} },
266
267
  });
267
- context.dispatch({
268
+ dispatch({
268
269
  type: ADMISSION_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
269
270
  payload: { disabled: false },
270
271
  });
271
- context.dispatch({
272
+ dispatch({
272
273
  type: ADMISSION_ACTION_TYPES.SET_DRAWER,
273
274
  payload: { drawer: null },
274
275
  });
275
- }, [context]);
276
+ }, [dispatch]);
276
277
  // ============================================================================
277
278
  // API CALLBACKS
278
279
  // ============================================================================
@@ -282,7 +283,7 @@ export const useAdmissionModule = () => {
282
283
  return;
283
284
  }
284
285
  if (data) {
285
- context.dispatch({
286
+ dispatch({
286
287
  type: ADMISSION_ACTION_TYPES.SET_ITEMS,
287
288
  payload: { items: data.items || [], count: data.count || 0 },
288
289
  });
@@ -359,7 +360,7 @@ export const useAdmissionModule = () => {
359
360
  // Populate AI analysis if present
360
361
  const aiAnalysis = (_8 = admission
361
362
  .aiAnalysis) !== null && _8 !== void 0 ? _8 : null;
362
- context.dispatch({
363
+ dispatch({
363
364
  type: ADMISSION_ACTION_TYPES.SET_FORM_DATA,
364
365
  payload: { form: { aiAnalysis } },
365
366
  });
@@ -401,39 +402,39 @@ export const useAdmissionModule = () => {
401
402
  // HANDLERS
402
403
  // ============================================================================
403
404
  const handleChange = useCallback((field, value) => {
404
- context.dispatch({
405
+ dispatch({
405
406
  type: ADMISSION_ACTION_TYPES.SET_ERRORS,
406
407
  payload: { errors: {} },
407
408
  });
408
- context.dispatch({
409
+ dispatch({
409
410
  type: ADMISSION_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
410
411
  payload: { disabled: false },
411
412
  });
412
413
  setField(field, value);
413
- }, [setField, context]);
414
+ }, [setField, dispatch]);
414
415
  const handleCloseDrawer = useCallback(() => {
415
416
  resetFormAndCloseDrawer();
416
417
  }, [resetFormAndCloseDrawer]);
417
418
  const handleCreate = useCallback(() => {
418
- context.dispatch({
419
+ dispatch({
419
420
  type: ADMISSION_ACTION_TYPES.SET_DRAWER,
420
421
  payload: { drawer: ADMISSION_DRAWER.FORM_DRAWER },
421
422
  });
422
- }, [context]);
423
+ }, [dispatch]);
423
424
  const handleView = useCallback((row) => {
424
425
  byIdFetchNow === null || byIdFetchNow === void 0 ? void 0 : byIdFetchNow(undefined, { params: { id: row === null || row === void 0 ? void 0 : row.id } });
425
- context.dispatch({
426
+ dispatch({
426
427
  type: ADMISSION_ACTION_TYPES.SET_DRAWER,
427
428
  payload: { drawer: ADMISSION_DRAWER.VIEW_DRAWER },
428
429
  });
429
- }, [context, byIdFetchNow]);
430
+ }, [dispatch, byIdFetchNow]);
430
431
  const handleEdit = useCallback((row) => {
431
432
  byIdFetchNow === null || byIdFetchNow === void 0 ? void 0 : byIdFetchNow(undefined, { params: { id: row === null || row === void 0 ? void 0 : row.id } });
432
- context.dispatch({
433
+ dispatch({
433
434
  type: ADMISSION_ACTION_TYPES.SET_DRAWER,
434
435
  payload: { drawer: ADMISSION_DRAWER.FORM_DRAWER },
435
436
  });
436
- }, [context, byIdFetchNow]);
437
+ }, [dispatch, byIdFetchNow]);
437
438
  const handleDelete = useCallback((row) => {
438
439
  if (!confirm(t("areYouSureYouWantToDeleteThisAdmission")))
439
440
  return;
@@ -442,43 +443,43 @@ export const useAdmissionModule = () => {
442
443
  });
443
444
  }, [t, deleteFetchNow]);
444
445
  const handleFilters = useCallback(() => {
445
- context.dispatch({
446
+ dispatch({
446
447
  type: ADMISSION_ACTION_TYPES.SET_DRAWER,
447
448
  payload: { drawer: ADMISSION_DRAWER.FILTER_DRAWER },
448
449
  });
449
- }, [context]);
450
+ }, [dispatch]);
450
451
  const handlePageChange = useCallback((page) => {
451
- context.dispatch({
452
+ dispatch({
452
453
  type: ADMISSION_ACTION_TYPES.SET_CURRENT_PAGE,
453
454
  payload: { currentPage: page },
454
455
  });
455
- }, [context]);
456
+ }, [dispatch]);
456
457
  const handlePageLimitChange = useCallback((limit) => {
457
- context.dispatch({
458
+ dispatch({
458
459
  type: ADMISSION_ACTION_TYPES.SET_PAGE_LIMIT,
459
460
  payload: { pageLimit: limit },
460
461
  });
461
- }, [context]);
462
+ }, [dispatch]);
462
463
  const handleSearch = useCallback((query) => {
463
- context.dispatch({
464
+ dispatch({
464
465
  type: ADMISSION_ACTION_TYPES.SET_SEARCH_QUERY,
465
466
  payload: { searchQuery: query },
466
467
  });
467
- }, [context]);
468
+ }, [dispatch]);
468
469
  const handleSetStartDate = useCallback((startDate) => {
469
- context.dispatch({
470
+ dispatch({
470
471
  type: ADMISSION_ACTION_TYPES.SET_INPUT_FIELD,
471
472
  payload: { key: "filterStartDate", value: startDate },
472
473
  });
473
- }, [context]);
474
+ }, [dispatch]);
474
475
  const handleSetEndDate = useCallback((endDate) => {
475
- context.dispatch({
476
+ dispatch({
476
477
  type: ADMISSION_ACTION_TYPES.SET_INPUT_FIELD,
477
478
  payload: { key: "filterEndDate", value: endDate },
478
479
  });
479
- }, [context]);
480
+ }, [dispatch]);
480
481
  const clearFilters = useCallback(() => {
481
- context.dispatch({
482
+ dispatch({
482
483
  type: ADMISSION_ACTION_TYPES.SET_FILTERS,
483
484
  payload: {
484
485
  filters: {
@@ -493,11 +494,11 @@ export const useAdmissionModule = () => {
493
494
  },
494
495
  },
495
496
  });
496
- context.dispatch({
497
+ dispatch({
497
498
  type: ADMISSION_ACTION_TYPES.SET_CURRENT_PAGE,
498
499
  payload: { currentPage: 1 },
499
500
  });
500
- }, [context]);
501
+ }, [dispatch]);
501
502
  const handlePrint = useCallback(async (row) => {
502
503
  var _a, _b, _c, _d, _e;
503
504
  if (!row)
@@ -595,17 +596,17 @@ export const useAdmissionModule = () => {
595
596
  const schoolId = (_a = workspace === null || workspace === void 0 ? void 0 : workspace.school) === null || _a === void 0 ? void 0 : _a.id;
596
597
  if (!schoolId)
597
598
  return;
598
- context.dispatch({
599
+ dispatch({
599
600
  type: ADMISSION_ACTION_TYPES.SET_INPUT_FIELD,
600
601
  payload: { key: "analyzeLoading", value: true },
601
602
  });
602
- context.dispatch({
603
+ dispatch({
603
604
  type: ADMISSION_ACTION_TYPES.SET_FORM_DATA,
604
605
  payload: { form: { analyzeError: null } },
605
606
  });
606
607
  // Open view drawer so user can watch progress
607
608
  await (byIdFetchNow === null || byIdFetchNow === void 0 ? void 0 : byIdFetchNow(undefined, { params: { id: tableRow.id } }));
608
- context.dispatch({
609
+ dispatch({
609
610
  type: ADMISSION_ACTION_TYPES.SET_DRAWER,
610
611
  payload: { drawer: ADMISSION_DRAWER.VIEW_DRAWER },
611
612
  });
@@ -618,12 +619,12 @@ export const useAdmissionModule = () => {
618
619
  },
619
620
  body: JSON.stringify({ id: tableRow.id, schoolId }),
620
621
  });
621
- context.dispatch({
622
+ dispatch({
622
623
  type: ADMISSION_ACTION_TYPES.SET_INPUT_FIELD,
623
624
  payload: { key: "analyzeLoading", value: false },
624
625
  });
625
626
  if (error) {
626
- context.dispatch({
627
+ dispatch({
627
628
  type: ADMISSION_ACTION_TYPES.SET_FORM_DATA,
628
629
  payload: { form: { analyzeError: t("messagesAnalyzeFailed") } },
629
630
  });
@@ -632,7 +633,7 @@ export const useAdmissionModule = () => {
632
633
  }
633
634
  const result = data;
634
635
  if (result === null || result === void 0 ? void 0 : result.aiAnalysis) {
635
- context.dispatch({
636
+ dispatch({
636
637
  type: ADMISSION_ACTION_TYPES.SET_FORM_DATA,
637
638
  payload: { form: { aiAnalysis: result.aiAnalysis } },
638
639
  });
@@ -643,9 +644,9 @@ export const useAdmissionModule = () => {
643
644
  description: `${t("messagesAnalyzeSuccess")} ${(_b = result === null || result === void 0 ? void 0 : result.score) !== null && _b !== void 0 ? _b : "N/A"} — ${(_c = result === null || result === void 0 ? void 0 : result.status) !== null && _c !== void 0 ? _c : ""}`,
644
645
  variant: TOAST_VARIANT.SUCCESS,
645
646
  });
646
- }, [(_c = workspace === null || workspace === void 0 ? void 0 : workspace.school) === null || _c === void 0 ? void 0 : _c.id, t, showToast, byIdFetchNow, listFetchNow, context]);
647
+ }, [(_c = workspace === null || workspace === void 0 ? void 0 : workspace.school) === null || _c === void 0 ? void 0 : _c.id, t, showToast, byIdFetchNow, listFetchNow, dispatch]);
647
648
  const handleSubmit = useCallback(() => {
648
- context.dispatch({
649
+ dispatch({
649
650
  type: ADMISSION_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
650
651
  payload: { disabled: true },
651
652
  });
@@ -704,11 +705,11 @@ export const useAdmissionModule = () => {
704
705
  });
705
706
  },
706
707
  errorCallback: (errors) => {
707
- context.dispatch({
708
+ dispatch({
708
709
  type: ADMISSION_ACTION_TYPES.SET_ERRORS,
709
710
  payload: { errors },
710
711
  });
711
- context.dispatch({
712
+ dispatch({
712
713
  type: ADMISSION_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
713
714
  payload: { disabled: false },
714
715
  });
@@ -716,7 +717,7 @@ export const useAdmissionModule = () => {
716
717
  },
717
718
  });
718
719
  }, [
719
- context,
720
+ dispatch,
720
721
  updateParams,
721
722
  t,
722
723
  showToast,
@@ -751,13 +752,13 @@ export const useAdmissionModule = () => {
751
752
  order: 1,
752
753
  },
753
754
  {
754
- enabled: true,
755
+ enabled: (row) => (row === null || row === void 0 ? void 0 : row.status) === ADMISSION_STATUS.PENDING,
755
756
  handleOnClick: handleEdit,
756
757
  label: t("rowActionsEdit"),
757
758
  order: 2,
758
759
  },
759
760
  {
760
- enabled: false,
761
+ enabled: (row) => (row === null || row === void 0 ? void 0 : row.status) === ADMISSION_STATUS.PENDING,
761
762
  handleOnClick: handleDelete,
762
763
  label: t("rowActionsDelete"),
763
764
  order: 3,
@@ -791,13 +792,13 @@ export const useAdmissionModule = () => {
791
792
  t,
792
793
  ]);
793
794
  const applyFilters = useCallback(() => {
794
- context.dispatch({
795
+ dispatch({
795
796
  type: ADMISSION_ACTION_TYPES.SET_CURRENT_PAGE,
796
797
  payload: { currentPage: 1 },
797
798
  });
798
799
  listFetchNow();
799
800
  handleCloseDrawer();
800
- }, [context, listFetchNow, handleCloseDrawer]);
801
+ }, [dispatch, listFetchNow, handleCloseDrawer]);
801
802
  // ============================================================================
802
803
  // EFFECTS
803
804
  // ============================================================================
@@ -809,7 +810,7 @@ export const useAdmissionModule = () => {
809
810
  const { count, items } = await getCachedAdmissions({
810
811
  params: listParams,
811
812
  });
812
- context.dispatch({
813
+ dispatch({
813
814
  type: ADMISSION_ACTION_TYPES.SET_ITEMS,
814
815
  payload: { items: items || [], count: count || 0 },
815
816
  });
@@ -818,7 +819,7 @@ export const useAdmissionModule = () => {
818
819
  showToast(t("messagesFetchFailed"), TOAST_VARIANT.ERROR);
819
820
  }
820
821
  })();
821
- }, [listParams, workspace === null || workspace === void 0 ? void 0 : workspace.id, t, showToast, context]);
822
+ }, [listParams, workspace === null || workspace === void 0 ? void 0 : workspace.id, t, showToast, dispatch]);
822
823
  // ============================================================================
823
824
  // RETURN
824
825
  // ============================================================================
@@ -131,7 +131,6 @@ const AdmissionPageInner = (props) => {
131
131
  if (!hasPermission) {
132
132
  return _jsx(RbacNoAccess, { moduleName: "Admission" });
133
133
  }
134
- console.log("Rendering AdmissionPageInner with config:", admissionConfig);
135
134
  return (_jsx("div", { className: "p-4", children: _jsx(GenericAdmissionPage, { overrideConfig: admissionConfig, context: context, tableBodyCols: tableBodyCols }) }));
136
135
  };
137
136
  export const AdmissionPage = (props) => (_jsx(AdmissionProvider, { children: _jsx(AdmissionPageInner, Object.assign({}, props)) }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appcorp/fusion-storybook",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "scripts": {
5
5
  "build-storybook": "storybook build",
6
6
  "build:next": "next build",