@michalrakus/x-react-web-lib 1.38.3 → 1.38.4

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.
@@ -3,7 +3,7 @@ import { DataTableFilterMeta, DataTableFilterMetaData, DataTableOperatorFilterMe
3
3
  import { ColumnBodyOptions, ColumnFilterElementTemplateOptions } from 'primereact/column';
4
4
  import { XStorageType, XViewStatusOrBoolean } from "../XUtils";
5
5
  import { XSearchBrowseParams } from "../XSearchBrowseParams";
6
- import { XAggregateFunction, XCustomFilter } from "../../serverApi/FindParam";
6
+ import { FindParam, XAggregateFunction, XCustomFilter } from "../../serverApi/FindParam";
7
7
  import { XOnSaveOrCancelProp } from "../XFormBase";
8
8
  import { IconType } from "primereact/utils";
9
9
  import { ButtonProps } from "primereact/button";
@@ -12,11 +12,12 @@ export type XBetweenFilterProp = "row" | "column" | undefined;
12
12
  export type XMultilineRenderType = "singleLine" | "fewLines" | "allLines";
13
13
  export type XOpenFormForInsert = (initValues?: object, onSaveOrCancel?: XOnSaveOrCancelProp, form?: JSX.Element) => void;
14
14
  export type XOpenFormForUpdate = (id: number, onSaveOrCancel?: XOnSaveOrCancelProp, form?: JSX.Element) => void;
15
+ export type XAppButtonForRowOnClick = (selectedRow: any, findParam: FindParam) => void;
15
16
  export interface XAppButtonForRow {
16
17
  key?: string;
17
18
  icon?: IconType<ButtonProps>;
18
19
  label: string;
19
- onClick: (selectedRow: any) => void;
20
+ onClick: XAppButtonForRowOnClick;
20
21
  style?: React.CSSProperties;
21
22
  }
22
23
  export interface XOptionalCustomFilter {
@@ -628,11 +628,11 @@ exports.XLazyDataTable = (0, react_1.forwardRef)(function (_a, ref) {
628
628
  setupExpandedRows(findResult, multilineSwitchValue);
629
629
  setLoading(false);
630
630
  // save table state into session/local
631
- //saveTableState(findParam); <- old solution, state is saved immediatelly after change of some filter field, sorting, etc.
632
- // odlozime si filter hodnoty pre pripadny export - deep cloning vyzera ze netreba
633
- setFiltersAfterFiltering(filters);
631
+ //saveTableState(findParam); <- old solution, state is saved immediately after change of some filter field, sorting, etc.
632
+ // odlozime si filter hodnoty pre pripadny export (maybe simple cloning is enough, but to be sure we use deep)
633
+ setFiltersAfterFiltering(_.cloneDeep(filters));
634
634
  setFtsInputValueAfterFiltering(ftsInputValue ? __assign({}, ftsInputValue) : undefined);
635
- setOptionalCustomFilterAfterFiltering(optionalCustomFilter);
635
+ setOptionalCustomFilterAfterFiltering(optionalCustomFilter ? _.cloneDeep(optionalCustomFilter) : undefined);
636
636
  // async check for new version - the purpose is to get new version of app to the browser (if available) in short time (10 minutes)
637
637
  // (if there is no new version, the check will run async (as the last operation) and nothing will happen)
638
638
  XUtils_1.XUtils.reloadIfNewVersion();
@@ -968,39 +968,41 @@ exports.XLazyDataTable = (0, react_1.forwardRef)(function (_a, ref) {
968
968
  }); };
969
969
  var onClickAppButtonForRow = function (onClick) {
970
970
  if (selectedRow !== null) {
971
- onClick(selectedRow);
971
+ onClick(selectedRow, createFindParamUsingAfterFiltering());
972
972
  }
973
973
  else {
974
974
  alert((0, XLocale_1.xLocaleOption)('pleaseSelectRow'));
975
975
  }
976
976
  };
977
977
  var onClickExport = function () { return __awaiter(void 0, void 0, void 0, function () {
978
- var fields, findParam, findResult, exportParams;
978
+ var findParam, findResult, exportParams;
979
979
  return __generator(this, function (_a) {
980
980
  switch (_a.label) {
981
981
  case 0:
982
- fields = getFields(false);
983
- findParam = {
984
- resultType: FindParam_1.ResultType.OnlyRowCount,
985
- first: first,
986
- rows: rowsLocal,
987
- filters: filtersAfterFiltering,
988
- fullTextSearch: createXFullTextSearch(ftsInputValueAfterFiltering),
989
- customFilterItems: createXCustomFilterItems(customFilterItems, optionalCustomFilterAfterFiltering),
990
- multiSortMeta: multiSortMeta,
991
- entity: props.entity,
992
- fields: fields,
993
- aggregateItems: aggregateItems
994
- };
982
+ findParam = createFindParamUsingAfterFiltering();
995
983
  return [4 /*yield*/, findByFilter(findParam)];
996
984
  case 1:
997
985
  findResult = _a.sent();
998
- exportParams = createExportParams(fields, findResult.totalRecords);
986
+ exportParams = createExportParams(getFields(false), findResult.totalRecords);
999
987
  setExportRowsDialogState({ dialogOpened: true, exportParams: exportParams });
1000
988
  return [2 /*return*/];
1001
989
  }
1002
990
  });
1003
991
  }); };
992
+ var createFindParamUsingAfterFiltering = function () {
993
+ return {
994
+ resultType: FindParam_1.ResultType.OnlyRowCount,
995
+ first: first,
996
+ rows: rowsLocal,
997
+ filters: filtersAfterFiltering,
998
+ fullTextSearch: createXFullTextSearch(ftsInputValueAfterFiltering),
999
+ customFilterItems: createXCustomFilterItems(customFilterItems, optionalCustomFilterAfterFiltering),
1000
+ multiSortMeta: multiSortMeta,
1001
+ entity: props.entity,
1002
+ fields: getFields(false),
1003
+ aggregateItems: aggregateItems
1004
+ };
1005
+ };
1004
1006
  var createExportParams = function (fields, rowCount) {
1005
1007
  var queryParam = {
1006
1008
  filters: filtersAfterFiltering,
@@ -11,6 +11,7 @@ export interface XtDocTemplate {
11
11
  templateId: string | null;
12
12
  templateType: XEnum;
13
13
  templateXFile: XFile;
14
+ fileNameTemplate: string | null;
14
15
  availableInForms: boolean;
15
16
  modifDate: Date | null;
16
17
  modifXUser: XUser | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@michalrakus/x-react-web-lib",
3
- "version": "1.38.3",
3
+ "version": "1.38.4",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "clean": "rimraf lib",