ods-component-lib 1.13.8 → 1.13.11

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.
@@ -1,4 +1,4 @@
1
- import React, { useState } from 'react';
1
+ import React, { useState, useRef } from 'react';
2
2
  import { AutoComplete, Button, Dropdown, Calendar, Card as Card$1, Checkbox, DatePicker, Divider, Input, Form, Image, InputNumber, List, Modal, notification, Radio, Rate, Select, Spin, Switch, Tabs, Table, Tag, Timeline, TimePicker, Typography } from 'antd';
3
3
  import styled, { ThemeProvider } from 'styled-components';
4
4
  import Card from 'antd/es/card/Card';
@@ -7,7 +7,7 @@ import 'react-phone-input-2/lib/style.css';
7
7
  import PhoneInput from 'react-phone-input-2';
8
8
  import message from 'antd/es/message';
9
9
  import Parser from 'html-react-parser';
10
- import { DataGrid, Paging, Pager, SearchPanel, FilterRow, HeaderFilter, ColumnChooser, Position, ColumnChooserSearch, ColumnChooserSelection, Selection, Editing, Popup, Form as Form$1, Scrolling, Export, Column, RequiredRule, Button as Button$1, Toolbar, Item as Item$1 } from 'devextreme-react/data-grid';
10
+ import { DataGrid, Paging, Pager, SearchPanel, FilterRow, HeaderFilter, ColumnChooser, Position, ColumnChooserSearch, ColumnChooserSelection, Selection, Editing, Popup, Form as Form$1, Scrolling, Export, Column, RequiredRule, Button as Button$1, Toolbar, Item as Item$1, LoadPanel } from 'devextreme-react/data-grid';
11
11
  import { Item } from 'devextreme-react/form';
12
12
  import jsPDF from 'jspdf';
13
13
  import { exportDataGrid as exportDataGrid$1 } from 'devextreme/pdf_exporter';
@@ -15,7 +15,7 @@ import { exportDataGrid } from 'devextreme/excel_exporter';
15
15
  import { Workbook } from 'exceljs';
16
16
  import { saveAs } from 'file-saver-es';
17
17
  import moment from 'moment';
18
- import { TreeList } from 'devextreme-react';
18
+ import { CheckBox, TreeList } from 'devextreme-react';
19
19
  import { TreeView } from 'devextreme-react/tree-view';
20
20
 
21
21
  function _extends() {
@@ -1202,7 +1202,7 @@ function grid(props) {
1202
1202
  }, colProperties.column.caption);
1203
1203
  };
1204
1204
  var fileName = props.exportFileName ? props.exportFileName + moment().format("YYYYMMDD") : "DatagridExportFile" + moment().format("YYYYMMDD");
1205
- var onExporting = React.useCallback(function (e) {
1205
+ var onExporting = function onExporting(e) {
1206
1206
  if (e.format === 'excel') {
1207
1207
  var workbook = new Workbook();
1208
1208
  exportDataGrid({
@@ -1226,7 +1226,7 @@ function grid(props) {
1226
1226
  doc.save(fileName + '.pdf');
1227
1227
  });
1228
1228
  }
1229
- }, []);
1229
+ };
1230
1230
  return React.createElement(React.Fragment, null, React.createElement("div", {
1231
1231
  className: "odsDatagrid",
1232
1232
  style: {
@@ -1352,9 +1352,9 @@ function grid(props) {
1352
1352
  return React.createElement(Column, {
1353
1353
  type: "buttons",
1354
1354
  width: 110
1355
- }, React.createElement(React.Fragment, null, React.createElement(Button$1, {
1355
+ }, React.createElement(React.Fragment, null, props.edit.allowUpdating && React.createElement(Button$1, {
1356
1356
  name: "edit"
1357
- }), React.createElement(Button$1, {
1357
+ }), props.edit.allowDeleting && React.createElement(Button$1, {
1358
1358
  name: "delete"
1359
1359
  })));
1360
1360
  }
@@ -1446,6 +1446,267 @@ function grid$1(props) {
1446
1446
  })));
1447
1447
  }
1448
1448
 
1449
+ var exportFormats$2 = ['xlsx', 'pdf'];
1450
+ var searchEditorOptions$2 = {
1451
+ placeholder: 'Search column'
1452
+ };
1453
+ var renderMenuItem$1 = function renderMenuItem() {
1454
+ return React.createElement(Export, {
1455
+ enabled: true,
1456
+ allowExportSelectedData: true,
1457
+ formats: exportFormats$2
1458
+ });
1459
+ };
1460
+ var customizeBooleanColumnRender$1 = function customizeBooleanColumnRender(e) {
1461
+ var tagColor = e.value ? 'green' : 'gold';
1462
+ return React.createElement(Tag, {
1463
+ color: tagColor
1464
+ }, e.value ? 'Active' : 'Passive');
1465
+ };
1466
+ function OdsDataGrid$1(props) {
1467
+ return grid$2(props);
1468
+ }
1469
+ function grid$2(props) {
1470
+ var _useState = useState(true),
1471
+ showPageSizeSelector = _useState[0],
1472
+ setShowPageSizeSelector = _useState[1];
1473
+ var _useState2 = useState(true),
1474
+ enablePaging = _useState2[0],
1475
+ setEnablePaging = _useState2[1];
1476
+ var _useState3 = useState(true),
1477
+ loadPanelEnabled = _useState3[0],
1478
+ setLoadPanelEnabled = _useState3[1];
1479
+ var dataGridRef = useRef(null);
1480
+ var headerCellRender = function headerCellRender(colProperties) {
1481
+ return React.createElement("th", {
1482
+ className: "dx-datagrid-headers"
1483
+ }, colProperties.column.caption);
1484
+ };
1485
+ var fileName = props.exportFileName ? props.exportFileName + moment().format("YYYYMMDD") : "DatagridExportFile" + moment().format("YYYYMMDD");
1486
+ var onExporting = function onExporting(e) {
1487
+ if (e.format === 'xlsx') {
1488
+ var workbook = new Workbook();
1489
+ exportDataGrid({
1490
+ component: e.component,
1491
+ worksheet: workbook.addWorksheet('Main sheet'),
1492
+ autoFilterEnabled: true
1493
+ }).then(function () {
1494
+ workbook.xlsx.writeBuffer().then(function (buffer) {
1495
+ saveAs(new Blob([buffer], {
1496
+ type: 'application/octet-stream'
1497
+ }), fileName + '.xlsx');
1498
+ });
1499
+ });
1500
+ } else {
1501
+ var doc = new jsPDF();
1502
+ exportDataGrid$1({
1503
+ jsPDFDocument: doc,
1504
+ component: e.component,
1505
+ indent: 5
1506
+ }).then(function () {
1507
+ doc.save(fileName + '.pdf');
1508
+ });
1509
+ }
1510
+ };
1511
+ var showPageSizeSelectorChange = function showPageSizeSelectorChange(value) {
1512
+ setShowPageSizeSelector(value);
1513
+ };
1514
+ var onEnablePagingChange = function onEnablePagingChange(value) {
1515
+ setEnablePaging(value);
1516
+ refreshGrid();
1517
+ };
1518
+ var handleScrollingTypeChange = function handleScrollingTypeChange(newScrollingType) {
1519
+ console.log(newScrollingType);
1520
+ debugger;
1521
+ refreshGrid();
1522
+ };
1523
+ var onContentReady = function onContentReady() {
1524
+ setLoadPanelEnabled(false);
1525
+ };
1526
+ var refreshGrid = function refreshGrid() {
1527
+ if (dataGridRef.current) {
1528
+ dataGridRef.current.instance.refresh();
1529
+ }
1530
+ };
1531
+ return React.createElement(React.Fragment, null, React.createElement("div", {
1532
+ className: "odsDatagrid",
1533
+ style: {
1534
+ width: "100%",
1535
+ overflowX: 'auto'
1536
+ }
1537
+ }, React.createElement(DataGrid, {
1538
+ dataSource: props.dataSource,
1539
+ keyExpr: props.keyExpr,
1540
+ allowColumnResizing: true,
1541
+ columnResizingMode: "widget",
1542
+ onRowInserted: props.onRowInserted,
1543
+ onRowUpdated: props.onRowUpdated,
1544
+ onRowRemoved: props.onRowRemoved,
1545
+ onSaving: props.onSaving,
1546
+ allowColumnReordering: true,
1547
+ showRowLines: true,
1548
+ showBorders: true,
1549
+ ref: dataGridRef,
1550
+ columnAutoWidth: false,
1551
+ onEditCanceling: props.onEditCanceling,
1552
+ onExporting: onExporting,
1553
+ onContentReady: onContentReady
1554
+ }, React.createElement(Paging, {
1555
+ enabled: true,
1556
+ defaultPageSize: props.pageSize
1557
+ }), enablePaging && React.createElement(Pager, {
1558
+ visible: true,
1559
+ displayMode: "full",
1560
+ showPageSizeSelector: showPageSizeSelector,
1561
+ showNavigationButtons: true,
1562
+ showInfo: true
1563
+ }), props.searchEnable && React.createElement(SearchPanel, {
1564
+ visible: true
1565
+ }), props.filterEnable && React.createElement(FilterRow, {
1566
+ visible: true
1567
+ }), props.headerFilterEnable && React.createElement(HeaderFilter, {
1568
+ visible: true
1569
+ }), React.createElement(ColumnChooser, {
1570
+ enabled: true,
1571
+ mode: "select"
1572
+ }, React.createElement(Position, {
1573
+ my: "right top",
1574
+ at: "right bottom",
1575
+ of: ".dx-datagrid-column-chooser-button"
1576
+ }), React.createElement(ColumnChooserSearch, {
1577
+ enabled: true,
1578
+ editorOptions: searchEditorOptions$2
1579
+ }), React.createElement(ColumnChooserSelection, {
1580
+ allowSelectAll: true,
1581
+ selectByClick: true,
1582
+ recursive: true
1583
+ })), props.selectEnable && React.createElement(Selection, {
1584
+ mode: "multiple",
1585
+ deferred: true
1586
+ }), React.createElement(Scrolling, {
1587
+ mode: 'virtual'
1588
+ }), React.createElement(LoadPanel, {
1589
+ enabled: loadPanelEnabled
1590
+ }), props.editEnable === true && React.createElement(Editing, {
1591
+ mode: props.edit.mode,
1592
+ allowUpdating: props.edit.allowUpdating,
1593
+ allowDeleting: props.edit.allowDeleting,
1594
+ allowAdding: props.edit.allowAdding,
1595
+ useIcons: true
1596
+ }, props.edit.mode === "popup" && React.createElement(Popup, {
1597
+ title: props.popupTitle,
1598
+ showTitle: true,
1599
+ width: 700,
1600
+ height: 300,
1601
+ showCloseButton: false
1602
+ }), React.createElement(Form$1, null, props.formItems.map(function (formItem) {
1603
+ return React.createElement(Item, {
1604
+ itemType: formItem.itemType,
1605
+ colCount: formItem.colCount,
1606
+ colSpan: formItem.colSpan
1607
+ }, formItem.items.map(function (subItem) {
1608
+ return React.createElement(Item, {
1609
+ key: subItem.dataField,
1610
+ dataField: subItem.dataField
1611
+ });
1612
+ }));
1613
+ }))), props.exportEnable === true && React.createElement(Export, {
1614
+ enabled: true,
1615
+ allowExportSelectedData: true,
1616
+ formats: exportFormats$2
1617
+ }), props.columns.map(function (col) {
1618
+ return React.createElement(Column, Object.assign({
1619
+ key: col.dataField
1620
+ }, col, {
1621
+ headerCellRender: headerCellRender,
1622
+ cellRender: col.dataField === 'IsActive' || col.dataField === 'Status' ? customizeBooleanColumnRender$1 : ""
1623
+ }), col.required && React.createElement(RequiredRule, {
1624
+ message: col.requiredMessage
1625
+ }), col.dataField === 'IsActive' && React.createElement(HeaderFilter, {
1626
+ dataSource: [{
1627
+ text: 'All',
1628
+ value: null
1629
+ }, {
1630
+ text: 'Active',
1631
+ value: true
1632
+ }, {
1633
+ text: 'Passive',
1634
+ value: false
1635
+ }]
1636
+ }));
1637
+ }), function () {
1638
+ if (props.customPopup !== undefined) {
1639
+ return React.createElement(Column, {
1640
+ type: "buttons",
1641
+ width: 110
1642
+ }, React.createElement(Button$1, {
1643
+ hint: "Edit",
1644
+ visible: true,
1645
+ disabled: false,
1646
+ icon: "edit",
1647
+ onClick: props.editButtonClick
1648
+ }), React.createElement(Button$1, {
1649
+ hint: "Delete",
1650
+ visible: true,
1651
+ disabled: false,
1652
+ icon: "trash",
1653
+ onClick: props.deleteButtonClick
1654
+ }));
1655
+ } else {
1656
+ return React.createElement(Column, {
1657
+ type: "buttons",
1658
+ width: 110
1659
+ }, React.createElement(React.Fragment, null, props.edit.allowUpdating && React.createElement(Button$1, {
1660
+ name: "edit"
1661
+ }), props.edit.allowDeleting && React.createElement(Button$1, {
1662
+ name: "delete"
1663
+ })));
1664
+ }
1665
+ }(), React.createElement(Toolbar, null, React.createElement(Item$1, {
1666
+ location: "after"
1667
+ }, React.createElement(OdsButton, {
1668
+ type: "primary",
1669
+ onClick: props.onAddButton
1670
+ }, "Add New")), React.createElement(Item$1, {
1671
+ location: "after"
1672
+ }, React.createElement(CheckBox, {
1673
+ id: 'showPageSizes',
1674
+ text: 'Show Page Size',
1675
+ value: showPageSizeSelector,
1676
+ onValueChange: showPageSizeSelectorChange
1677
+ })), React.createElement(Item$1, {
1678
+ location: "after"
1679
+ }, React.createElement(CheckBox, {
1680
+ id: 'showPages',
1681
+ text: 'Enable Paging',
1682
+ value: enablePaging,
1683
+ onValueChange: onEnablePagingChange
1684
+ })), React.createElement(Item$1, {
1685
+ location: "after"
1686
+ }, React.createElement(OdsSelect, {
1687
+ value: "standard",
1688
+ options: [{
1689
+ value: "standard",
1690
+ label: "standard"
1691
+ }, {
1692
+ value: "virtual",
1693
+ label: "Active"
1694
+ }, {
1695
+ value: "infinite",
1696
+ label: "infinite"
1697
+ }],
1698
+ onChange: handleScrollingTypeChange
1699
+ })), React.createElement(Item$1, {
1700
+ name: "columnChooserButton"
1701
+ }), React.createElement(Item$1, {
1702
+ name: "searchPanel"
1703
+ }), React.createElement(Item$1, {
1704
+ name: "exportButton"
1705
+ }), React.createElement(Item$1, {
1706
+ menuItemRender: renderMenuItem$1
1707
+ })))));
1708
+ }
1709
+
1449
1710
  var DxTreeList = function DxTreeList(props) {
1450
1711
  var _useState = useState(props.dataSource),
1451
1712
  dataSource = _useState[0];
@@ -1518,5 +1779,5 @@ var DxTreeView = function DxTreeView(props) {
1518
1779
  }));
1519
1780
  };
1520
1781
 
1521
- export { DxTreeList, DxTreeView, OdsAutoComplete, OdsBasicForm, OdsBasicTable, OdsButton, OdsCalendar, OdsCard, OdsCheckbox, OdsCheckboxGroup, OdsCollapse, OdsDataGrid, OdsDateRangePicker, OdsDateRangePicker as OdsDatepicker, OdsDisplayGrid, OdsDivider, OdsCollapse as OdsDropdown, OdsDropdownButton, OdsImage, OdsInput, OdsInputNumber, OdsLink, OdsList, OdsLogin, OdsMessage, OdsModal, OdsNotification, OdsParagraph, OdsPassword, OdsPhoneInput, OdsRadio, OdsRadioGroup, OdsRangeTimepicker, OdsRate, OdsSearch, OdsSelect, OdsSelectableTable, OdsSpin, OdsSwitch, OdsTab, OdsBasicTable as OdsTable, OdsTag, OdsText, OdsTextArea, OdsTimeline, OdsTimepicker, OdsTitle };
1782
+ export { DxTreeList, DxTreeView, OdsAutoComplete, OdsBasicForm, OdsBasicTable, OdsButton, OdsCalendar, OdsCard, OdsCheckbox, OdsCheckboxGroup, OdsCollapse, OdsDataGrid, OdsDateRangePicker, OdsDateRangePicker as OdsDatepicker, OdsDisplayGrid, OdsDivider, OdsCollapse as OdsDropdown, OdsDropdownButton, OdsImage, OdsInput, OdsInputNumber, OdsLink, OdsList, OdsLogin, OdsMessage, OdsModal, OdsNotification, OdsParagraph, OdsPassword, OdsPhoneInput, OdsDataGrid$1 as OdsProfDataGrid, OdsRadio, OdsRadioGroup, OdsRangeTimepicker, OdsRate, OdsSearch, OdsSelect, OdsSelectableTable, OdsSpin, OdsSwitch, OdsTab, OdsBasicTable as OdsTable, OdsTag, OdsText, OdsTextArea, OdsTimeline, OdsTimepicker, OdsTitle };
1522
1783
  //# sourceMappingURL=index.modern.js.map