ods-component-lib 1.18.92 → 1.18.94

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.
@@ -14,5 +14,5 @@ export interface FilterProps {
14
14
  buttonClearAllName: string;
15
15
  buttonApplyName: string;
16
16
  }
17
- declare const Filter: (props: PropsWithChildren<FilterProps>) => React.JSX.Element;
18
- export default Filter;
17
+ declare const OdsFilter: (props: PropsWithChildren<FilterProps>) => React.JSX.Element;
18
+ export default OdsFilter;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ declare const OdsFilterTagView: ({ preparedFilterTextViewJson }: {
3
+ preparedFilterTextViewJson: any;
4
+ }) => React.JSX.Element;
5
+ export default OdsFilterTagView;
package/dist/index.d.ts CHANGED
@@ -47,6 +47,8 @@ import DxTreeList from "./components/devextreme/treeview/DxTreeList";
47
47
  import OdsBadge from "./components/antd/badge/OdsBadge";
48
48
  import OdsBadgeRibbon from "./components/antd/badge/OdsBadgeRibbon";
49
49
  import OdsModal from "./components/antd/modal/OdsModal";
50
+ import OdsFilter from "./components/filter/OdsFilter";
51
+ import OdsFilterTagView from "./components/filter/OdsFilterTagView";
50
52
  export { OdsButton };
51
53
  export { OdsInput };
52
54
  export { OdsDropdownButton };
@@ -94,6 +96,8 @@ export { OdsMultiSelect };
94
96
  export { OdsBadge };
95
97
  export { OdsBadgeRibbon };
96
98
  export { OdsModal };
99
+ export { OdsFilter };
100
+ export { OdsFilterTagView };
97
101
  export { OdsDataGrid };
98
102
  export { OdsDisplayGrid };
99
103
  export { OdsRemoteDataGrid } from "./components/devextreme/index";
package/dist/index.js CHANGED
@@ -1581,6 +1581,143 @@ function OdsModal(props) {
1581
1581
  }), props.content));
1582
1582
  }
1583
1583
 
1584
+ var OdsFilterTagView = function OdsFilterTagView(_ref) {
1585
+ var preparedFilterTextViewJson = _ref.preparedFilterTextViewJson;
1586
+ var _useState = React.useState([]),
1587
+ menuItems = _useState[0],
1588
+ setMenuItems = _useState[1];
1589
+ React.useEffect(function () {
1590
+ var tags = preparedFilterTextViewJson.map(function (item) {
1591
+ var fieldValue = item.value;
1592
+ var transformedValue = fieldValue;
1593
+ var realValue = item.realValue;
1594
+ if (transformedValue !== null && transformedValue !== undefined && transformedValue !== "" && (realValue === null || realValue === void 0 ? void 0 : realValue.length) !== 0) {
1595
+ return {
1596
+ fieldName: item.key,
1597
+ fieldValue: transformedValue,
1598
+ tag: item.Label
1599
+ };
1600
+ }
1601
+ return null;
1602
+ }).filter(function (tag) {
1603
+ return tag !== null;
1604
+ });
1605
+ setMenuItems(tags);
1606
+ }, [preparedFilterTextViewJson]);
1607
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(antd.Menu, {
1608
+ expandIcon: React__default.createElement("div", null, React__default.createElement(outline.ChevronDownIcon, null)),
1609
+ defaultSelectedKeys: ["1"],
1610
+ mode: "horizontal",
1611
+ style: {
1612
+ width: "85%",
1613
+ border: "0"
1614
+ }
1615
+ }, menuItems.map(function (tagObj) {
1616
+ return React__default.createElement(antd.Menu.Item, {
1617
+ key: tagObj.fieldName
1618
+ }, React__default.createElement(antd.Tag, null, tagObj.tag + ": " + (tagObj.fieldValue.length > 10 ? tagObj.fieldValue.substring(0, 10) + " ..." : tagObj.fieldValue)));
1619
+ })));
1620
+ };
1621
+
1622
+ var useToken$1 = antd.theme.useToken;
1623
+ var Title = antd.Typography.Title;
1624
+ var OdsFilter = function OdsFilter(props) {
1625
+ var _useToken = useToken$1(),
1626
+ token = _useToken.token;
1627
+ var _useState = React.useState(true),
1628
+ showFilter = _useState[0],
1629
+ setShowFilter = _useState[1];
1630
+ var _useState2 = React.useState(false),
1631
+ showAdvanceFilter = _useState2[0],
1632
+ setshowAdvanceFilter = _useState2[1];
1633
+ var hasAdvancedFilters = props.advancedFilterRow !== undefined;
1634
+ var hasTagFilter = props.tabs !== undefined;
1635
+ var hasFilterRow = props.filterRow !== undefined;
1636
+ React.useEffect(function () {
1637
+ var _props$filterTag;
1638
+ if (props.filterTag && ((_props$filterTag = props.filterTag) === null || _props$filterTag === void 0 ? void 0 : _props$filterTag.length) > 0) handleHideShowFilter();
1639
+ }, [props.filterTag]);
1640
+ var onFinish = function onFinish(values) {
1641
+ if (props.onFinish) {
1642
+ props.onFinish(values);
1643
+ }
1644
+ };
1645
+ var handleHideShowAdvancedFilter = function handleHideShowAdvancedFilter() {
1646
+ setshowAdvanceFilter(!showAdvanceFilter);
1647
+ };
1648
+ var handleHideShowFilter = function handleHideShowFilter() {
1649
+ setShowFilter(!showFilter);
1650
+ };
1651
+ var onClearSearch = function onClearSearch() {
1652
+ if (props.onClickClear) {
1653
+ props.onClickClear();
1654
+ }
1655
+ };
1656
+ return React__default.createElement(OdsCard, {
1657
+ style: {
1658
+ width: "100%",
1659
+ padding: token.padding,
1660
+ borderRadius: token.borderRadiusLG * 2,
1661
+ marginBottom: token.margin
1662
+ }
1663
+ }, React__default.createElement(antd.Form, {
1664
+ form: props.form,
1665
+ onFinish: onFinish,
1666
+ layout: "vertical"
1667
+ }, React__default.createElement(antd.Row, {
1668
+ gutter: [12, 12],
1669
+ align: "middle"
1670
+ }, React__default.createElement(antd.Col, {
1671
+ flex: "1 1 auto",
1672
+ style: {
1673
+ display: "flex",
1674
+ alignItems: "center",
1675
+ overflow: "hidden"
1676
+ }
1677
+ }, React__default.createElement(Title, {
1678
+ level: 5,
1679
+ style: {
1680
+ margin: 0
1681
+ }
1682
+ }, props.title), props.filterTag && props.filterTag.length > 0 && React__default.createElement(OdsFilterTagView, {
1683
+ preparedFilterTextViewJson: props.filterTag
1684
+ })), hasAdvancedFilters && React__default.createElement(antd.Col, null, React__default.createElement(OdsButton, {
1685
+ style: {
1686
+ border: "none",
1687
+ color: "#1677FF",
1688
+ display: "flex",
1689
+ alignItems: "flex-end"
1690
+ },
1691
+ title: "Advanced Search",
1692
+ className: "filter-arrow-btn",
1693
+ size: "medium",
1694
+ type: "default",
1695
+ icon: showAdvanceFilter ? React__default.createElement(outline.UpArrow5Icon, null) : React__default.createElement(outline.DownArrow5Icon, null),
1696
+ onClick: handleHideShowAdvancedFilter
1697
+ }, props.buttonAdvancedSearchName)), props.savedFilter, React__default.createElement(antd.Col, null, React__default.createElement(OdsButton, {
1698
+ className: "filter-arrow-btn",
1699
+ size: "large",
1700
+ type: "default",
1701
+ icon: showFilter ? React__default.createElement(outline.UpArrow5Icon, null) : React__default.createElement(outline.DownArrow5Icon, null),
1702
+ onClick: handleHideShowFilter
1703
+ }))), showFilter && React__default.createElement(React.Fragment, null, hasTagFilter && React__default.createElement(OdsTab, {
1704
+ items: props.tabs
1705
+ }), hasFilterRow && props.filterRow, showAdvanceFilter && props.advancedFilterRow, React__default.createElement(antd.Row, {
1706
+ gutter: [12, 12],
1707
+ justify: "end"
1708
+ }, React__default.createElement(antd.Col, null, React__default.createElement(OdsButton, {
1709
+ type: "text",
1710
+ onClick: onClearSearch,
1711
+ icon: React__default.createElement(outline.Loop1Icon, null),
1712
+ style: {
1713
+ display: "flex"
1714
+ }
1715
+ }, props.buttonClearAllName)), React__default.createElement(antd.Col, null, React__default.createElement(OdsButton, {
1716
+ type: "primary",
1717
+ htmlType: "submit"
1718
+ }, props.buttonApplyName))))));
1719
+ };
1720
+
1584
1721
  // A type of promise-like that resolves synchronously and supports only one observer
1585
1722
 
1586
1723
  const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
@@ -33398,7 +33535,7 @@ var onCancelEditEvent = new CustomEvent("cancelEdit", {
33398
33535
  }
33399
33536
  });
33400
33537
 
33401
- var useToken$1 = antd.theme.useToken;
33538
+ var useToken$2 = antd.theme.useToken;
33402
33539
  var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
33403
33540
  var _props$axiosRequest4, _props$axiosRequest5, _props$axiosRequest6, _props$axiosRequest7, _props$axiosRequest8, _props$axiosRequest9, _props$axiosRequest10, _props$axiosRequest11, _props$selectOptions, _props$selectOptions$, _props$selectOptions2, _props$selectOptions$2, _props$selectOptions3;
33404
33541
  var keyExpr = props.keyExpr,
@@ -33414,7 +33551,7 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
33414
33551
  onFastUpdateFinish = props.onFastUpdateFinish,
33415
33552
  onFastUpdateCancel = props.onFastUpdateCancel,
33416
33553
  onFastUpdateFailed = props.onFastUpdateFailed;
33417
- var _useToken = useToken$1(),
33554
+ var _useToken = useToken$2(),
33418
33555
  token = _useToken.token;
33419
33556
  var _AntForm$useForm = antd.Form.useForm(),
33420
33557
  fastUpdateForm = _AntForm$useForm[0];
@@ -34447,6 +34584,8 @@ exports.OdsDisplayGrid = OdsDisplayGrid;
34447
34584
  exports.OdsDivider = OdsDivider;
34448
34585
  exports.OdsDropdown = OdsDropdown;
34449
34586
  exports.OdsDropdownButton = OdsDropdownButton;
34587
+ exports.OdsFilter = OdsFilter;
34588
+ exports.OdsFilterTagView = OdsFilterTagView;
34450
34589
  exports.OdsImage = OdsImage;
34451
34590
  exports.OdsInput = OdsInput;
34452
34591
  exports.OdsInputNumber = OdsInputNumber;