dce-reactkit 3.9.4-beta-logreviewer.5 → 3.9.4-beta-logreviewer.6

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/dist/cjs/index.js CHANGED
@@ -3555,14 +3555,12 @@ var ActionType$6;
3555
3555
  ActionType["UpdateActionErrorFilterState"] = "update-action-error-filter-state";
3556
3556
  // Update the advanced filter state
3557
3557
  ActionType["UpdateAdvancedFilterState"] = "update-advanced-filter-state";
3558
- // Increment the page number
3559
- ActionType["IncrementPageNumber"] = "increment-page-number";
3560
- // Decrement the page number
3561
- ActionType["DecrementPageNumber"] = "decrement-page-number";
3562
3558
  // Set has another page
3563
3559
  ActionType["SetHasAnotherPage"] = "set-has-another-page";
3564
3560
  // Set the number of pages
3565
3561
  ActionType["SetNumPages"] = "set-num-pages";
3562
+ // Set page number
3563
+ ActionType["SetPageNumber"] = "set-page-number";
3566
3564
  })(ActionType$6 || (ActionType$6 = {}));
3567
3565
  /**
3568
3566
  * Reducer that executes actions
@@ -3573,10 +3571,10 @@ var ActionType$6;
3573
3571
  const reducer$7 = (state, action) => {
3574
3572
  switch (action.type) {
3575
3573
  case ActionType$6.StartLoading: {
3576
- return Object.assign(Object.assign({}, state), { loading: true });
3574
+ return Object.assign(Object.assign({}, state), { loading: true, showSpinner: action.filtersChanged });
3577
3575
  }
3578
3576
  case ActionType$6.FinishLoading: {
3579
- return Object.assign(Object.assign({}, state), { loading: false, logs: action.logs });
3577
+ return Object.assign(Object.assign({}, state), { loading: false, showSpinner: false, logs: action.logs });
3580
3578
  }
3581
3579
  case ActionType$6.ToggleFilterDrawer: {
3582
3580
  return Object.assign(Object.assign({}, state), { expandedFilterDrawer: (state.expandedFilterDrawer === action.filterDrawer
@@ -3604,18 +3602,15 @@ const reducer$7 = (state, action) => {
3604
3602
  case ActionType$6.UpdateAdvancedFilterState: {
3605
3603
  return Object.assign(Object.assign({}, state), { advancedFilterState: action.advancedFilterState });
3606
3604
  }
3607
- case ActionType$6.IncrementPageNumber: {
3608
- return Object.assign(Object.assign({}, state), { pageNumber: state.pageNumber + 1 });
3609
- }
3610
- case ActionType$6.DecrementPageNumber: {
3611
- return Object.assign(Object.assign({}, state), { pageNumber: state.pageNumber - 1 });
3612
- }
3613
3605
  case ActionType$6.SetHasAnotherPage: {
3614
3606
  return Object.assign(Object.assign({}, state), { hasAnotherPage: action.hasAnotherPage });
3615
3607
  }
3616
3608
  case ActionType$6.SetNumPages: {
3617
3609
  return Object.assign(Object.assign({}, state), { numPages: action.numPages });
3618
3610
  }
3611
+ case ActionType$6.SetPageNumber: {
3612
+ return Object.assign(Object.assign({}, state), { pageNumber: action.pageNumber });
3613
+ }
3619
3614
  default: {
3620
3615
  return state;
3621
3616
  }
@@ -3733,6 +3728,7 @@ const LogReviewer = (props) => {
3733
3728
  // Initial state
3734
3729
  const initialState = {
3735
3730
  loading: true,
3731
+ showSpinner: true,
3736
3732
  logs: [],
3737
3733
  expandedFilterDrawer: undefined,
3738
3734
  dateFilterState: initDateFilterState,
@@ -3747,7 +3743,7 @@ const LogReviewer = (props) => {
3747
3743
  // Initialize state
3748
3744
  const [state, dispatch] = React.useReducer(reducer$7, initialState);
3749
3745
  // Destructure common state
3750
- const { loading, logs, expandedFilterDrawer, dateFilterState, contextFilterState, tagFilterState, actionErrorFilterState, advancedFilterState, pageNumber, hasAnotherPage, numPages, } = state;
3746
+ const { loading, showSpinner, logs, expandedFilterDrawer, dateFilterState, contextFilterState, tagFilterState, actionErrorFilterState, advancedFilterState, pageNumber, hasAnotherPage, numPages, } = state;
3751
3747
  /*------------------------------------------------------------------------*/
3752
3748
  /* ------------------------- Component Functions ------------------------ */
3753
3749
  /*------------------------------------------------------------------------*/
@@ -3755,8 +3751,11 @@ const LogReviewer = (props) => {
3755
3751
  * Fetch logs from the server based on current filters
3756
3752
  */
3757
3753
  const fetchLogs = (opts) => __awaiter(void 0, void 0, void 0, function* () {
3758
- const { filters, pageNum, countDocuments, } = opts;
3759
- dispatch({ type: ActionType$6.StartLoading });
3754
+ const { filters, pageNum, filtersChanged, } = opts;
3755
+ dispatch({
3756
+ type: ActionType$6.StartLoading,
3757
+ filtersChanged,
3758
+ });
3760
3759
  try {
3761
3760
  // Send filters to the server
3762
3761
  let fetchedLogs = [];
@@ -3767,7 +3766,7 @@ const LogReviewer = (props) => {
3767
3766
  params: {
3768
3767
  pageNumber: pageNum,
3769
3768
  filters,
3770
- countDocuments,
3769
+ countDocuments: filtersChanged,
3771
3770
  },
3772
3771
  });
3773
3772
  fetchedLogs = fetchedLogs.concat(response.items);
@@ -3775,7 +3774,7 @@ const LogReviewer = (props) => {
3775
3774
  type: ActionType$6.SetHasAnotherPage,
3776
3775
  hasAnotherPage: response.hasAnotherPage,
3777
3776
  });
3778
- if (countDocuments && response.numPages) {
3777
+ if (filtersChanged && response.numPages) {
3779
3778
  dispatch({
3780
3779
  type: ActionType$6.SetNumPages,
3781
3780
  numPages: response.numPages,
@@ -3786,12 +3785,34 @@ const LogReviewer = (props) => {
3786
3785
  type: ActionType$6.FinishLoading,
3787
3786
  logs: fetchedLogs,
3788
3787
  });
3788
+ // Update page number
3789
+ dispatch({
3790
+ type: ActionType$6.SetPageNumber,
3791
+ pageNumber: pageNum,
3792
+ });
3789
3793
  }
3790
3794
  catch (err) {
3791
3795
  return showFatalError(err);
3792
3796
  }
3793
3797
  });
3794
3798
  /*------------------------------------------------------------------------*/
3799
+ /* ------------------------- Lifecycle Functions ------------------------ */
3800
+ /*------------------------------------------------------------------------*/
3801
+ // Fetch logs on mount
3802
+ React.useEffect(() => {
3803
+ fetchLogs({
3804
+ filters: {
3805
+ dateFilterState,
3806
+ contextFilterState,
3807
+ tagFilterState,
3808
+ actionErrorFilterState,
3809
+ advancedFilterState,
3810
+ },
3811
+ pageNum: 1,
3812
+ filtersChanged: true,
3813
+ });
3814
+ }, []);
3815
+ /*------------------------------------------------------------------------*/
3795
3816
  /* ------------------------------- Render ------------------------------- */
3796
3817
  /*------------------------------------------------------------------------*/
3797
3818
  /*----------------------------------------*/
@@ -3800,7 +3821,7 @@ const LogReviewer = (props) => {
3800
3821
  // Body that will be filled with the contents of the panel
3801
3822
  let body;
3802
3823
  /* ------------- Loading ------------ */
3803
- if (loading) {
3824
+ if (showSpinner) {
3804
3825
  body = (React__default["default"].createElement("div", { className: "text-center p-5" },
3805
3826
  React__default["default"].createElement(LoadingSpinner, null)));
3806
3827
  }
@@ -3809,7 +3830,7 @@ const LogReviewer = (props) => {
3809
3830
  /* ------------ Pagination -------------- */
3810
3831
  /*----------------------------------------*/
3811
3832
  const paginationControls = logs.length > 0 && (React__default["default"].createElement("div", { className: "text-center mt-3" },
3812
- React__default["default"].createElement("button", { type: "button", className: "btn btn-secondary me-2", disabled: pageNumber <= 1, onClick: () => {
3833
+ React__default["default"].createElement("button", { type: "button", className: "btn btn-secondary me-2", disabled: pageNumber <= 1 || loading, onClick: () => {
3813
3834
  fetchLogs({
3814
3835
  filters: {
3815
3836
  dateFilterState,
@@ -3819,10 +3840,7 @@ const LogReviewer = (props) => {
3819
3840
  advancedFilterState,
3820
3841
  },
3821
3842
  pageNum: pageNumber - 1,
3822
- countDocuments: false,
3823
- });
3824
- dispatch({
3825
- type: ActionType$6.DecrementPageNumber,
3843
+ filtersChanged: false,
3826
3844
  });
3827
3845
  } },
3828
3846
  React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, { icon: freeSolidSvgIcons.faArrowLeft, className: "me-2" }),
@@ -3835,7 +3853,7 @@ const LogReviewer = (props) => {
3835
3853
  "of",
3836
3854
  ' ',
3837
3855
  numPages),
3838
- React__default["default"].createElement("button", { type: "button", className: "btn btn-secondary ms-2", disabled: !hasAnotherPage, onClick: () => {
3856
+ React__default["default"].createElement("button", { type: "button", className: "btn btn-secondary ms-2", disabled: !hasAnotherPage || loading, onClick: () => {
3839
3857
  fetchLogs({
3840
3858
  filters: {
3841
3859
  dateFilterState,
@@ -3845,10 +3863,7 @@ const LogReviewer = (props) => {
3845
3863
  advancedFilterState,
3846
3864
  },
3847
3865
  pageNum: pageNumber + 1,
3848
- countDocuments: false,
3849
- });
3850
- dispatch({
3851
- type: ActionType$6.IncrementPageNumber,
3866
+ filtersChanged: false,
3852
3867
  });
3853
3868
  } },
3854
3869
  "Next Page",
@@ -3910,7 +3925,7 @@ const LogReviewer = (props) => {
3910
3925
  advancedFilterState: initAdvancedFilterState,
3911
3926
  },
3912
3927
  pageNum: 1,
3913
- countDocuments: true,
3928
+ filtersChanged: true,
3914
3929
  });
3915
3930
  dispatch({
3916
3931
  type: ActionType$6.ResetFilters,
@@ -3940,7 +3955,7 @@ const LogReviewer = (props) => {
3940
3955
  advancedFilterState,
3941
3956
  },
3942
3957
  pageNum: 1,
3943
- countDocuments: true,
3958
+ filtersChanged: true,
3944
3959
  });
3945
3960
  } },
3946
3961
  React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, { icon: freeSolidSvgIcons.faSearch }),
@@ -4322,14 +4337,16 @@ const LogReviewer = (props) => {
4322
4337
  filterToggles,
4323
4338
  filterDrawer && (React__default["default"].createElement(Drawer, { customBackgroundColor: "#eee" }, filterDrawer))));
4324
4339
  // Main body
4325
- body = (React__default["default"].createElement(React__default["default"].Fragment, null,
4326
- filters,
4327
- React__default["default"].createElement("div", { className: "mt-2" },
4328
- React__default["default"].createElement(IntelliTable, { title: "Matching Logs:", csvName: `Logs from ${getHumanReadableDate()}`, id: "logs", data: logs, columns: columns }),
4329
- logs.length === 0 && (React__default["default"].createElement("div", { className: "alert alert-warning text-center mt-2" },
4330
- React__default["default"].createElement("h4", { className: "m-1" }, "No Logs to Show"),
4331
- React__default["default"].createElement("div", null, "Either your filters are too strict or no matching logs have been created yet."))),
4332
- paginationControls)));
4340
+ if (!showSpinner) {
4341
+ body = (React__default["default"].createElement(React__default["default"].Fragment, null,
4342
+ filters,
4343
+ React__default["default"].createElement("div", { className: "mt-2" },
4344
+ React__default["default"].createElement(IntelliTable, { title: "Matching Logs:", csvName: `Logs from ${getHumanReadableDate()}`, id: "logs", data: logs, columns: columns }),
4345
+ logs.length === 0 && (React__default["default"].createElement("div", { className: "alert alert-warning text-center mt-2" },
4346
+ React__default["default"].createElement("h4", { className: "m-1" }, "No Logs to Show"),
4347
+ React__default["default"].createElement("div", null, "Either your filters are too strict or no matching logs have been created yet."))),
4348
+ paginationControls)));
4349
+ }
4333
4350
  /* ---------- Wrap in Modal --------- */
4334
4351
  return (React__default["default"].createElement("div", { className: "LogReviewer-outer-container" },
4335
4352
  React__default["default"].createElement("style", null, style$2),