ods-component-lib 1.18.188 → 1.18.190

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.
Files changed (35) hide show
  1. package/dist/components/antd/change/OdsChange.Style.d.ts +5 -0
  2. package/dist/components/antd/change/OdsChange.d.ts +29 -0
  3. package/dist/components/filter/OdsFilter.d.ts +1 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +253 -5
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.modern.js +254 -7
  8. package/dist/index.modern.js.map +1 -1
  9. package/package.json +1 -1
  10. package/dist/App.d.ts +0 -3
  11. package/dist/components/antd/modal/OdsAdvanceModal.d.ts +0 -7
  12. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/ContentHandlers.d.ts +0 -14
  13. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/EditorPreparedHandlers.d.ts +0 -7
  14. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OnExportingHandlers.d.ts +0 -19
  15. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OptionHandlers.d.ts +0 -7
  16. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/SummaryHandlers.d.ts +0 -21
  17. package/dist/components/devextreme/OdsInlineEditDataGrid/partials/ActionCellRender.d.ts +0 -15
  18. package/dist/components/devextreme/OdsInlineEditDataGrid/partials/EditingPartial.d.ts +0 -9
  19. package/dist/components/devextreme/OdsInlineEditDataGrid/partials/PageTitle.d.ts +0 -8
  20. package/dist/components/devextreme/OdsInlineEditDataGrid/utils.d.ts +0 -19
  21. package/dist/components/devextreme/OdsTimeline/OdsTimeline.Constants.d.ts +0 -4
  22. package/dist/components/devextreme/OdsTimeline/OdsTimeline.Functions.d.ts +0 -6
  23. package/dist/components/devextreme/OdsTimeline/OdsTimeline.Types.d.ts +0 -77
  24. package/dist/components/devextreme/OdsTimeline/OdsTimeline.d.ts +0 -5
  25. package/dist/components/devextreme/OdsTimeline/OdsTimelineDateFilter.d.ts +0 -3
  26. package/dist/components/devextreme/OdsTimeline/OdsTimelineSelectionColumn.d.ts +0 -2
  27. package/dist/index.umd.js +0 -2
  28. package/dist/index.umd.js.map +0 -1
  29. package/dist/stories/OdsAdvanceModal/OdsAdvanceModal.stories.d.ts +0 -42
  30. package/dist/stories/OdsAdvanceModal/Samples/BasicOdsAdvanceModal.sample.d.ts +0 -8
  31. package/dist/stories/OdsModal/Samples/OdsModal.Sample.d.ts +0 -1
  32. package/dist/stories/OdsTimePicker/Samples/TimeRangePicker.d.ts +0 -2
  33. package/dist/stories/OdsTimeline/OdsTimeline.Constants.d.ts +0 -3
  34. package/dist/stories/OdsTimeline/OdsTimeline.Functions.d.ts +0 -6
  35. package/dist/stories/OdsTimeline/OdsTimeline.MockData.d.ts +0 -39
@@ -0,0 +1,5 @@
1
+ export declare const useStyles: (props?: unknown) => import("antd-style").ReturnStyles<{
2
+ Wrapper: string;
3
+ Colls: string;
4
+ ButtonWrapper: string;
5
+ }>;
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ export interface element {
3
+ elementItems: elementItem[];
4
+ }
5
+ interface elementItem {
6
+ key: string;
7
+ title: string;
8
+ placeholder: string;
9
+ dataSource?: RecordType[];
10
+ type: 'select' | 'switch' | 'input';
11
+ }
12
+ interface RecordType {
13
+ value: string | number;
14
+ label: string;
15
+ }
16
+ export interface selectedItem {
17
+ key: string;
18
+ type: 'select' | 'switch' | 'input';
19
+ selectedItem: RecordType;
20
+ }
21
+ interface OdsChangeProps {
22
+ element: element;
23
+ leftSectionTitle: string | '';
24
+ rightSectionTitle: string | '';
25
+ onSelectedItemChangeLeft?: (selectedItems: selectedItem[] | null) => void;
26
+ onSelectedItemChangeRight?: (selectedItems: selectedItem[] | null) => void;
27
+ }
28
+ declare const _default: React.NamedExoticComponent<OdsChangeProps>;
29
+ export default _default;
@@ -13,6 +13,7 @@ export interface FilterProps {
13
13
  buttonAdvancedSearchName?: string;
14
14
  buttonClearAllName: string;
15
15
  buttonApplyName: string;
16
+ advancedFilterClosed?: boolean;
16
17
  }
17
18
  declare const OdsFilter: (props: PropsWithChildren<FilterProps>) => React.JSX.Element;
18
19
  export default OdsFilter;
package/dist/index.d.ts CHANGED
@@ -55,6 +55,7 @@ import OdsTransfer from "./components/devextreme/OdsTransfer";
55
55
  import OdsServerSideDatagrid from "./components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid";
56
56
  import OdsInlineEditDataGrid from "./components/devextreme/OdsInlineEditDataGrid/OdsInlineEditDataGrid";
57
57
  import OdsMasterDetailDataGrid from "./components/devextreme/OdsMasterDetailDataGrid/OdsMasterDetailDataGrid";
58
+ import OdsChange from "./components/antd/change/OdsChange";
58
59
  export { OdsButton };
59
60
  export { OdsInput };
60
61
  export { OdsDropdownButton };
@@ -111,5 +112,6 @@ export { OdsDisplayGrid };
111
112
  export { OdsRemoteDataGrid } from "./components/devextreme/index";
112
113
  export { OdsBasicDataGrid };
113
114
  export { OdsTransfer };
115
+ export { OdsChange };
114
116
  export { OdsServerSideDatagrid };
115
117
  export { OdsInlineEditDataGrid };
package/dist/index.js CHANGED
@@ -1652,15 +1652,14 @@ var OdsFilter = function OdsFilter(props) {
1652
1652
  var _useState = React.useState(true),
1653
1653
  showFilter = _useState[0],
1654
1654
  setShowFilter = _useState[1];
1655
- var _useState2 = React.useState(true),
1655
+ var _useState2 = React.useState(!props.advancedFilterClosed),
1656
1656
  showAdvanceFilter = _useState2[0],
1657
- setshowAdvanceFilter = _useState2[1];
1657
+ setShowAdvanceFilter = _useState2[1];
1658
1658
  var hasAdvancedFilters = props.advancedFilterRow !== undefined;
1659
1659
  var hasTagFilter = props.tabs !== undefined;
1660
1660
  var hasFilterRow = props.filterRow !== undefined;
1661
1661
  React.useEffect(function () {
1662
- var _props$filterTag;
1663
- if (props.filterTag && ((_props$filterTag = props.filterTag) === null || _props$filterTag === void 0 ? void 0 : _props$filterTag.length) > 0) handleHideShowFilter();
1662
+ if (props.filterTag && props.filterTag.length > 0) handleHideShowFilter();
1664
1663
  }, [props.filterTag]);
1665
1664
  var onFinish = function onFinish(values) {
1666
1665
  if (props.onFinish) {
@@ -1668,7 +1667,7 @@ var OdsFilter = function OdsFilter(props) {
1668
1667
  }
1669
1668
  };
1670
1669
  var handleHideShowAdvancedFilter = function handleHideShowAdvancedFilter() {
1671
- setshowAdvanceFilter(!showAdvanceFilter);
1670
+ setShowAdvanceFilter(!showAdvanceFilter);
1672
1671
  };
1673
1672
  var handleHideShowFilter = function handleHideShowFilter() {
1674
1673
  setShowFilter(!showFilter);
@@ -35512,6 +35511,254 @@ var MasterDetailDataGrid = function MasterDetailDataGrid(_ref) {
35512
35511
  })));
35513
35512
  };
35514
35513
 
35514
+ var _templateObject$s, _templateObject2$4;
35515
+ var useStyles$3 = antdStyle.createStyles(function (_ref) {
35516
+ var token = _ref.token,
35517
+ css = _ref.css,
35518
+ cx = _ref.cx;
35519
+ return {
35520
+ Wrapper: cx('relative', css(_templateObject$s || (_templateObject$s = _taggedTemplateLiteralLoose(["\n & .ant-card {\n border-radius: ", "px;\n & > .ant-card-body {\n padding: ", "px;\n }\n }\n "])), token.borderRadiusLG * 2, token.padding)),
35521
+ Colls: cx('relative z-10'),
35522
+ ButtonWrapper: cx('absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-20 flex justify-center items-center bg-white', css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n border-radius: ", "px;\n "])), token.borderRadius))
35523
+ };
35524
+ });
35525
+
35526
+ var Text$1 = antd.Typography.Text;
35527
+ var OdsChange = function OdsChange(props) {
35528
+ var _useState = React.useState(null),
35529
+ selectedItemsLeft = _useState[0],
35530
+ setSelectedItemsLeft = _useState[1];
35531
+ var _useState2 = React.useState(null),
35532
+ selectedItemsRight = _useState2[0],
35533
+ setSelectedItemsRight = _useState2[1];
35534
+ var _useStyles = useStyles$3(),
35535
+ styles = _useStyles.styles;
35536
+ var addOrUpdateSelectedItem = React.useCallback(function (newItem, key, section, type) {
35537
+ var updateItem = function updateItem(prevItems) {
35538
+ var items = prevItems ? [].concat(prevItems) : [];
35539
+ var itemIndex = items.findIndex(function (item) {
35540
+ return item.key === key;
35541
+ });
35542
+ if (newItem) {
35543
+ var newSelectedItem = {
35544
+ key: key,
35545
+ type: type,
35546
+ selectedItem: newItem
35547
+ };
35548
+ if (itemIndex > -1) {
35549
+ items[itemIndex] = newSelectedItem;
35550
+ } else {
35551
+ items.push(newSelectedItem);
35552
+ }
35553
+ } else if (itemIndex > -1) {
35554
+ items.splice(itemIndex, 1);
35555
+ }
35556
+ return items;
35557
+ };
35558
+ if (section === 'Left') {
35559
+ setSelectedItemsLeft(updateItem);
35560
+ } else {
35561
+ setSelectedItemsRight(updateItem);
35562
+ }
35563
+ }, []);
35564
+ var renderSelect = React.useCallback(function (key, section, value, placeholder, dataSource) {
35565
+ return React__default.createElement(OdsSelect, {
35566
+ value: value,
35567
+ onChange: function onChange(value) {
35568
+ var selectedItem = dataSource.find(function (item) {
35569
+ return item.value === value;
35570
+ });
35571
+ if (selectedItem) {
35572
+ addOrUpdateSelectedItem(selectedItem, key, section, 'select');
35573
+ }
35574
+ },
35575
+ placeholder: placeholder,
35576
+ showSearch: true,
35577
+ allowClear: true,
35578
+ style: {
35579
+ width: '100%',
35580
+ margin: "8px 0 0"
35581
+ },
35582
+ options: dataSource
35583
+ });
35584
+ }, [addOrUpdateSelectedItem]);
35585
+ var renderSwitch = React.useCallback(function (key, section, value) {
35586
+ return React__default.createElement(OdsSwitch, {
35587
+ onChange: function onChange(checked) {
35588
+ addOrUpdateSelectedItem({
35589
+ value: checked.toString(),
35590
+ label: checked.toString()
35591
+ }, key, section, 'switch');
35592
+ },
35593
+ style: {
35594
+ margin: "8px 0 0",
35595
+ display: "block"
35596
+ },
35597
+ defaultChecked: false,
35598
+ value: value === 'true',
35599
+ id: key + '_' + section
35600
+ });
35601
+ }, [addOrUpdateSelectedItem]);
35602
+ var renderInput = React.useCallback(function (key, section, placeholder) {
35603
+ var _selectedItemsLeft$fi, _selectedItemsRight$f;
35604
+ return React__default.createElement(OdsInput, {
35605
+ placeholder: placeholder,
35606
+ style: {
35607
+ width: "100%",
35608
+ margin: "8px 0 0"
35609
+ },
35610
+ maxLength: 50,
35611
+ autoComplete: "off",
35612
+ value: section === 'Left' ? (selectedItemsLeft === null || selectedItemsLeft === void 0 ? void 0 : (_selectedItemsLeft$fi = selectedItemsLeft.find(function (item) {
35613
+ return item.key === key;
35614
+ })) === null || _selectedItemsLeft$fi === void 0 ? void 0 : _selectedItemsLeft$fi.selectedItem.value) || '' : (selectedItemsRight === null || selectedItemsRight === void 0 ? void 0 : (_selectedItemsRight$f = selectedItemsRight.find(function (item) {
35615
+ return item.key === key;
35616
+ })) === null || _selectedItemsRight$f === void 0 ? void 0 : _selectedItemsRight$f.selectedItem.value) || '',
35617
+ onChange: function onChange(e) {
35618
+ var newValue = e.target.value;
35619
+ addOrUpdateSelectedItem({
35620
+ value: newValue,
35621
+ label: newValue
35622
+ }, key, section, 'input');
35623
+ }
35624
+ });
35625
+ }, [addOrUpdateSelectedItem, selectedItemsLeft, selectedItemsRight]);
35626
+ React.useEffect(function () {
35627
+ if (props.onSelectedItemChangeLeft) {
35628
+ props.onSelectedItemChangeLeft(selectedItemsLeft);
35629
+ }
35630
+ }, [selectedItemsLeft, props.onSelectedItemChangeLeft]);
35631
+ React.useEffect(function () {
35632
+ if (props.onSelectedItemChangeRight) {
35633
+ props.onSelectedItemChangeRight(selectedItemsRight);
35634
+ }
35635
+ }, [selectedItemsRight, props.onSelectedItemChangeRight]);
35636
+ var handleExchange = React.useCallback(function () {
35637
+ if (!selectedItemsLeft || !selectedItemsRight) return;
35638
+ var newSelectedItemsLeft = selectedItemsLeft.map(function (leftItem) {
35639
+ var correspondingRightItem = selectedItemsRight.find(function (rightItem) {
35640
+ return rightItem.key === leftItem.key;
35641
+ });
35642
+ if (leftItem.type === 'switch' && correspondingRightItem) {
35643
+ return _extends({}, leftItem, {
35644
+ selectedItem: correspondingRightItem.selectedItem
35645
+ });
35646
+ }
35647
+ return correspondingRightItem ? _extends({}, leftItem, {
35648
+ selectedItem: correspondingRightItem.selectedItem
35649
+ }) : leftItem;
35650
+ });
35651
+ var newSelectedItemsRight = selectedItemsRight.map(function (rightItem) {
35652
+ var correspondingLeftItem = selectedItemsLeft.find(function (leftItem) {
35653
+ return leftItem.key === rightItem.key;
35654
+ });
35655
+ if (rightItem.type === 'switch' && correspondingLeftItem) {
35656
+ return _extends({}, rightItem, {
35657
+ selectedItem: correspondingLeftItem.selectedItem
35658
+ });
35659
+ }
35660
+ return correspondingLeftItem ? _extends({}, rightItem, {
35661
+ selectedItem: correspondingLeftItem.selectedItem
35662
+ }) : rightItem;
35663
+ });
35664
+ var missingSwitchesLeft = selectedItemsRight.filter(function (rightItem) {
35665
+ return rightItem.type === 'switch' && !selectedItemsLeft.some(function (leftItem) {
35666
+ return leftItem.key === rightItem.key;
35667
+ });
35668
+ }).map(function (item) {
35669
+ return {
35670
+ key: item.key,
35671
+ selectedItem: false,
35672
+ type: 'switch'
35673
+ };
35674
+ });
35675
+ var missingSwitchesRight = selectedItemsLeft.filter(function (leftItem) {
35676
+ return leftItem.type === 'switch' && !selectedItemsRight.some(function (rightItem) {
35677
+ return rightItem.key === leftItem.key;
35678
+ });
35679
+ }).map(function (item) {
35680
+ return {
35681
+ key: item.key,
35682
+ selectedItem: false,
35683
+ type: 'switch'
35684
+ };
35685
+ });
35686
+ setSelectedItemsLeft([].concat(newSelectedItemsLeft, missingSwitchesLeft));
35687
+ setSelectedItemsRight([].concat(newSelectedItemsRight, missingSwitchesRight));
35688
+ if (props.onSelectedItemChangeLeft) {
35689
+ props.onSelectedItemChangeLeft([].concat(newSelectedItemsLeft, missingSwitchesLeft));
35690
+ }
35691
+ if (props.onSelectedItemChangeRight) {
35692
+ props.onSelectedItemChangeRight([].concat(newSelectedItemsRight, missingSwitchesRight));
35693
+ }
35694
+ }, [selectedItemsLeft, selectedItemsRight]);
35695
+ var allItemsSelected = React.useCallback(function (selectedItems) {
35696
+ var _props$element$elemen, _props$element;
35697
+ return (_props$element$elemen = (_props$element = props.element) === null || _props$element === void 0 ? void 0 : _props$element.elementItems.filter(function (element) {
35698
+ return element.type !== 'switch';
35699
+ }).every(function (element) {
35700
+ return selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.some(function (item) {
35701
+ return item.key === element.key && item.selectedItem;
35702
+ });
35703
+ })) != null ? _props$element$elemen : false;
35704
+ }, [props.element]);
35705
+ var DynamicForm = React.useMemo(function () {
35706
+ var renderSelectColumns = function renderSelectColumns(selectedItems, section) {
35707
+ return props.element.elementItems.map(function (el) {
35708
+ var _selectedItems$find, _selectedItems$find$s, _selectedItems$find2, _selectedItems$find2$;
35709
+ return React__default.createElement(antd.Col, {
35710
+ key: el.key,
35711
+ span: 8
35712
+ }, React__default.createElement(Text$1, {
35713
+ className: 'ant-form-item-label'
35714
+ }, el.title), el.type === 'select' && renderSelect(el.key, section, selectedItems === null || selectedItems === void 0 ? void 0 : (_selectedItems$find = selectedItems.find(function (item) {
35715
+ return item.key === el.key;
35716
+ })) === null || _selectedItems$find === void 0 ? void 0 : (_selectedItems$find$s = _selectedItems$find.selectedItem) === null || _selectedItems$find$s === void 0 ? void 0 : _selectedItems$find$s.value, el.placeholder, el.dataSource || []), el.type === 'switch' && renderSwitch(el.key, section, selectedItems === null || selectedItems === void 0 ? void 0 : (_selectedItems$find2 = selectedItems.find(function (item) {
35717
+ return item.key === el.key;
35718
+ })) === null || _selectedItems$find2 === void 0 ? void 0 : (_selectedItems$find2$ = _selectedItems$find2.selectedItem) === null || _selectedItems$find2$ === void 0 ? void 0 : _selectedItems$find2$.value), el.type === 'input' && renderInput(el.key, section, el.placeholder));
35719
+ });
35720
+ };
35721
+ return React__default.createElement("div", {
35722
+ className: styles.Wrapper
35723
+ }, React__default.createElement(antd.Row, {
35724
+ gutter: [12, 12],
35725
+ justify: "center",
35726
+ className: styles.Colls
35727
+ }, React__default.createElement(antd.Col, {
35728
+ xs: 24,
35729
+ md: 12
35730
+ }, React__default.createElement(antd.Card, null, React__default.createElement(antd.Row, {
35731
+ gutter: [16, 8]
35732
+ }, React__default.createElement(antd.Col, {
35733
+ span: 24
35734
+ }, React__default.createElement(Text$1, {
35735
+ strong: true
35736
+ }, props.leftSectionTitle)), renderSelectColumns(selectedItemsLeft, 'Left')))), React__default.createElement("div", {
35737
+ className: styles.ButtonWrapper
35738
+ }, React__default.createElement(antd.Button, {
35739
+ icon: React__default.createElement(outline.Slide1Icon, {
35740
+ width: 16,
35741
+ height: 16,
35742
+ viewBox: '0 0 24 24'
35743
+ }),
35744
+ disabled: !allItemsSelected(selectedItemsLeft) || !allItemsSelected(selectedItemsRight),
35745
+ onClick: handleExchange
35746
+ })), React__default.createElement(antd.Col, {
35747
+ xs: 24,
35748
+ md: 12,
35749
+ className: styles.Colls
35750
+ }, React__default.createElement(antd.Card, null, React__default.createElement(antd.Row, {
35751
+ gutter: [16, 8]
35752
+ }, React__default.createElement(antd.Col, {
35753
+ span: 24
35754
+ }, React__default.createElement(Text$1, {
35755
+ strong: true
35756
+ }, props.rightSectionTitle)), renderSelectColumns(selectedItemsRight, 'Right'))))));
35757
+ }, [props.element, selectedItemsLeft, selectedItemsRight]);
35758
+ return React__default.createElement(React__default.Fragment, null, DynamicForm);
35759
+ };
35760
+ var OdsChange$1 = React__default.memo(OdsChange);
35761
+
35515
35762
  /**
35516
35763
  * Checks if `value` is the
35517
35764
  * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
@@ -37171,6 +37418,7 @@ exports.OdsBasicTable = OdsBasicTable;
37171
37418
  exports.OdsButton = OdsButton;
37172
37419
  exports.OdsCalendar = OdsCalendar;
37173
37420
  exports.OdsCard = OdsCard;
37421
+ exports.OdsChange = OdsChange$1;
37174
37422
  exports.OdsCheckbox = OdsCheckbox;
37175
37423
  exports.OdsCheckboxGroup = OdsCheckboxGroup;
37176
37424
  exports.OdsCollapse = OdsCollapse;