ods-component-lib 1.18.40 → 1.18.42

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.
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { SelectProps } from "antd";
3
+ export interface OdsMultiSelectProps extends SelectProps {
4
+ selectAllEnabled: boolean;
5
+ selectAllText?: string | undefined;
6
+ closeButtonText?: string | undefined;
7
+ }
8
+ declare const OdsMultiSelect: (props: OdsMultiSelectProps) => React.JSX.Element;
9
+ export default OdsMultiSelect;
@@ -28,6 +28,7 @@ interface ISummaryRowOptions {
28
28
  summaryTotalDataLabel?: string;
29
29
  summaryFilteredDataLabel?: string;
30
30
  summaryItems?: ISummaryProps[];
31
+ summaryTotalCount?: number;
31
32
  }
32
33
  interface IAxiosProps {
33
34
  token: string;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const _default: React.MemoExoticComponent<(props: any) => React.JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const DynamicIcon: ({ iconName }: {
3
+ iconName: any;
4
+ }) => React.JSX.Element;
5
+ export default DynamicIcon;
@@ -1,3 +1,4 @@
1
+ import { ITreeListOptions } from "devextreme-react/tree-list";
1
2
  import React from "react";
2
- declare const DxTreeList: (props: any) => React.JSX.Element;
3
+ declare const DxTreeList: (props: ITreeListOptions<any, any>) => React.JSX.Element;
3
4
  export default DxTreeList;
package/dist/index.d.ts CHANGED
@@ -25,7 +25,7 @@ import OdsNotification from "./components/antd/notification/OdsNotification";
25
25
  import OdsRadio from "./components/antd/radio/OdsRadio";
26
26
  import OdsRadioGroup from "./components/antd/radio/OdsRadioGroup";
27
27
  import OdsRate from "./components/antd/rate/OdsRate";
28
- import OdsCustomMultiSelect from "./components/antd/select/OdsCustomMultiSelect";
28
+ import OdsMultiSelect from "./components/antd/select/MultiSelect/OdsMultiSelect";
29
29
  import OdsSelect from "./components/antd/select/OdsSelect";
30
30
  import OdsSpin from "./components/antd/spin/OdsSpin";
31
31
  import OdsSwitch from "./components/antd/switch/OdsSwitch";
@@ -90,7 +90,7 @@ export { DxTreeView };
90
90
  export { DxTreeList };
91
91
  export { OdsAlert };
92
92
  export { OdsBannerAlert };
93
- export { OdsCustomMultiSelect };
93
+ export { OdsMultiSelect };
94
94
  export { OdsDataGrid };
95
95
  export { OdsDisplayGrid };
96
96
  export { OdsRemoteDataGrid };
package/dist/index.js CHANGED
@@ -929,38 +929,79 @@ function OdsRate(props) {
929
929
  var _templateObject$e;
930
930
  var StyledSelect = styled__default(antd.Select)(_templateObject$e || (_templateObject$e = _taggedTemplateLiteralLoose(["\n width: 100%;\n"])));
931
931
 
932
- function OdsCustomMultiSelect(props) {
933
- var _useState = React.useState(false),
934
- open = _useState[0],
935
- setOpen = _useState[1];
932
+ var OdsMultiSelect = function OdsMultiSelect(props) {
933
+ var options = props.options,
934
+ selectAllEnabled = props.selectAllEnabled,
935
+ selectAllText = props.selectAllText,
936
+ closeButtonText = props.closeButtonText;
937
+ var _useState = React.useState([]),
938
+ value = _useState[0],
939
+ setValue = _useState[1];
940
+ var _useState2 = React.useState(false),
941
+ open = _useState2[0],
942
+ setOpen = _useState2[1];
943
+ var selectAllValue = "OdsMultiSelectOptionAll";
944
+ var newOptions = selectAllEnabled ? [{
945
+ value: selectAllValue,
946
+ label: selectAllText
947
+ }].concat(options) : options;
948
+ var handleChange = function handleChange(newValues) {
949
+ if (newValues && newValues.length && newValues.includes(selectAllValue)) {
950
+ if (newValues.length === options.length + 1) {
951
+ setValue([]);
952
+ return;
953
+ }
954
+ setValue(options.map(function (item) {
955
+ return item.value;
956
+ }));
957
+ return;
958
+ }
959
+ setValue(newValues);
960
+ return;
961
+ };
962
+ var dropdownRender = function dropdownRender(menu) {
963
+ return React__default.createElement(React__default.Fragment, null, menu, React__default.createElement(OdsDivider, {
964
+ style: {
965
+ margin: "8px 0"
966
+ }
967
+ }), React__default.createElement(antd.Space, {
968
+ style: {
969
+ padding: "0 8px 4px"
970
+ }
971
+ }, React__default.createElement(OdsButton, {
972
+ style: {
973
+ width: "100%"
974
+ },
975
+ type: "primary",
976
+ onClick: function onClick() {
977
+ return setOpen(false);
978
+ }
979
+ }, closeButtonText != null ? closeButtonText : "Close")));
980
+ };
981
+ var optionRender = function optionRender(option, __info) {
982
+ return React__default.createElement("div", null, option.data.label, option.data.value == selectAllValue ? React__default.createElement(OdsDivider, {
983
+ style: {
984
+ margin: "8px 0px 0px 0px"
985
+ }
986
+ }) : "");
987
+ };
936
988
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(styled.ThemeProvider, {
937
989
  theme: lightTheme
938
- }, React__default.createElement(StyledSelect, Object.assign({}, props, {
990
+ }, React__default.createElement(StyledSelect, Object.assign({
991
+ mode: "multiple",
992
+ allowClear: true,
993
+ value: value,
939
994
  open: open,
995
+ onChange: handleChange,
996
+ optionRender: optionRender,
997
+ dropdownRender: dropdownRender,
940
998
  onDropdownVisibleChange: function onDropdownVisibleChange(visible) {
941
999
  return setOpen(visible);
942
- },
943
- dropdownRender: function dropdownRender(menu) {
944
- return React__default.createElement(React__default.Fragment, null, menu, React__default.createElement(OdsDivider, {
945
- style: {
946
- margin: '8px 0'
947
- }
948
- }), React__default.createElement(antd.Space, {
949
- style: {
950
- padding: '0 8px 4px'
951
- }
952
- }, React__default.createElement(OdsButton, {
953
- style: {
954
- width: "100%"
955
- },
956
- type: "primary",
957
- onClick: function onClick() {
958
- return setOpen(false);
959
- }
960
- }, props.buttonLabel)));
961
1000
  }
1001
+ }, props, {
1002
+ options: newOptions
962
1003
  }))));
963
- }
1004
+ };
964
1005
 
965
1006
  function OdsSelect(props) {
966
1007
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(styled.ThemeProvider, {
@@ -1537,57 +1578,7 @@ function grid(props) {
1537
1578
  }
1538
1579
 
1539
1580
  var DxTreeList = function DxTreeList(props) {
1540
- var _useState = React.useState(props.dataSource),
1541
- dataSource = _useState[0];
1542
- var renderReadButtons = function renderReadButtons(data) {
1543
- return React__default.createElement("div", null, React__default.createElement(OdsSwitch, {
1544
- onChange: function onChange(checked) {
1545
- return onchangeRead(checked, data);
1546
- },
1547
- checked: data.ReadPermission
1548
- }));
1549
- };
1550
- var renderModifyButtons = function renderModifyButtons(data) {
1551
- return React__default.createElement("div", null, React__default.createElement(OdsSwitch, {
1552
- onChange: function onChange(checked) {
1553
- return onchangeModify(checked, data);
1554
- },
1555
- checked: data.ModifyPermission
1556
- }));
1557
- };
1558
- var onchangeModify = function onchangeModify(checked, data) {
1559
- data.ModifyPermission = checked;
1560
- props.onDataChange(dataSource);
1561
- };
1562
- var onchangeRead = function onchangeRead(checked, data) {
1563
- data.ReadPermission = checked;
1564
- props.onDataChange(dataSource);
1565
- };
1566
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(devextremeReact.TreeList, {
1567
- id: "Id",
1568
- dataSource: dataSource,
1569
- showRowLines: true,
1570
- showBorders: true,
1571
- columnAutoWidth: true,
1572
- itemsExpr: props.itemsExpr,
1573
- wordWrapEnabled: true,
1574
- dataStructure: "tree"
1575
- }, React__default.createElement(DataGrid.Column, {
1576
- dataField: "Name",
1577
- caption: "Name"
1578
- }), React__default.createElement(DataGrid.Column, {
1579
- caption: "Read",
1580
- cellRender: function cellRender(_ref) {
1581
- var data = _ref.data;
1582
- return renderReadButtons(data);
1583
- }
1584
- }), React__default.createElement(DataGrid.Column, {
1585
- caption: "Modify",
1586
- cellRender: function cellRender(_ref2) {
1587
- var data = _ref2.data;
1588
- return renderModifyButtons(data);
1589
- }
1590
- })));
1581
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(devextremeReact.TreeList, Object.assign({}, props), props.children));
1591
1582
  };
1592
1583
 
1593
1584
  var DxTreeView = function DxTreeView(props) {
@@ -16464,7 +16455,8 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16464
16455
  setIsLoading = _useState2[1];
16465
16456
  var fileName = props.exportFileName ? props.exportFileName + moment().format("YYYYMMDD") : "DatagridExportFile" + moment().format("YYYYMMDD");
16466
16457
  var _useState3 = React.useState(0),
16467
- filteredRowCount = _useState3[0];
16458
+ filteredRowCount = _useState3[0],
16459
+ setFilteredRowCount = _useState3[1];
16468
16460
  var _useState4 = React.useState(props.columns),
16469
16461
  columns = _useState4[0],
16470
16462
  setColumns = _useState4[1];
@@ -16738,19 +16730,22 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16738
16730
  }
16739
16731
  }, []);
16740
16732
  var renderTotal = React.useCallback(function () {
16733
+ var result = "";
16741
16734
  var totalloaded = 0;
16742
16735
  if (data.length < 50 || !props.isServerSide || loadedPageCount == totalPageCount) {
16743
16736
  totalloaded = data.length;
16744
16737
  } else {
16745
16738
  totalloaded = loadedPageCount * props.pageSize;
16746
16739
  }
16747
- var result = "";
16748
- if (filteredRowCount > 0) {
16749
- result = "" + totalloaded + props.customSummary.summaryFilteredDataLabel + (totalRecordCount > 0 ? totalloaded + " " + props.customSummary.summaryLoadedDataLabel + ("- " + totalRecordCount) + props.customSummary.summaryTotalDataLabel : " ");
16750
- } else if (!props.isServerSide && totalloaded > 0) {
16751
- result = totalloaded + " " + props.customSummary.summaryLoadedDataLabel + ("- " + totalloaded) + props.customSummary.summaryTotalDataLabel;
16752
- } else {
16740
+ if (props.isServerSide) {
16753
16741
  result = totalRecordCount > 0 ? totalloaded + " " + props.customSummary.summaryLoadedDataLabel + ("- " + totalRecordCount) + props.customSummary.summaryTotalDataLabel : "";
16742
+ if (filteredRowCount > 0 && totalloaded !== filteredRowCount) {
16743
+ var filteredLabel = filteredRowCount + " " + props.customSummary.summaryFilteredDataLabel + "- ";
16744
+ result = filteredLabel + " " + result;
16745
+ }
16746
+ }
16747
+ if (props.customSummary.summaryTotalCount !== undefined && !props.isServerSide) {
16748
+ result = props.customSummary.summaryTotalDataLabel + " : " + props.customSummary.summaryTotalCount;
16754
16749
  }
16755
16750
  return result;
16756
16751
  }, [data, filteredRowCount, loadedPageCount, props.pageSize, totalRecordCount]);
@@ -16808,6 +16803,11 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16808
16803
  });
16809
16804
  };
16810
16805
  }, [data.length]);
16806
+ var handleContentReady = function handleContentReady(e) {
16807
+ var dataGridInstance = e.component;
16808
+ var filteredDataCount = dataGridInstance.totalCount();
16809
+ setFilteredRowCount(filteredDataCount);
16810
+ };
16811
16811
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(DataGrid__default, {
16812
16812
  keyExpr: props.keyExpr,
16813
16813
  dataSource: data,
@@ -16841,7 +16841,8 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16841
16841
  noDataText: props.noDataText,
16842
16842
  onSaved: props.onSaved,
16843
16843
  onSaving: props.onSaving,
16844
- onEditCanceling: props.onEditCanceling
16844
+ onEditCanceling: props.onEditCanceling,
16845
+ onContentReady: handleContentReady
16845
16846
  }, columns.map(function (col) {
16846
16847
  return React__default.createElement(DataGrid.Column, Object.assign({
16847
16848
  key: col.dataField
@@ -17021,7 +17022,6 @@ exports.OdsCard = OdsCard;
17021
17022
  exports.OdsCheckbox = OdsCheckbox;
17022
17023
  exports.OdsCheckboxGroup = OdsCheckboxGroup;
17023
17024
  exports.OdsCollapse = OdsCollapse;
17024
- exports.OdsCustomMultiSelect = OdsCustomMultiSelect;
17025
17025
  exports.OdsDataGrid = OdsDataGrid;
17026
17026
  exports.OdsDateRangePicker = OdsDateRangePicker;
17027
17027
  exports.OdsDatepicker = OdsDatepicker;
@@ -17035,6 +17035,7 @@ exports.OdsInputNumber = OdsInputNumber;
17035
17035
  exports.OdsLink = OdsLink;
17036
17036
  exports.OdsList = OdsList;
17037
17037
  exports.OdsModal = OdsModal;
17038
+ exports.OdsMultiSelect = OdsMultiSelect;
17038
17039
  exports.OdsNotification = OdsNotification;
17039
17040
  exports.OdsParagraph = OdsParagraph;
17040
17041
  exports.OdsPassword = OdsPassword;