ods-component-lib 1.16.9 → 1.17.0

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,4 @@
1
+ import React from "react";
2
+ import "./DxDataGrid.css";
3
+ declare function OdsRemoteDataGrid(props: any): React.JSX.Element;
4
+ export default OdsRemoteDataGrid;
package/dist/index.d.ts CHANGED
@@ -44,6 +44,7 @@ import OdsLogin from "./components/custom/OdsLogin";
44
44
  import OdsDataGrid from "./components/devextreme/OdsDataGrid";
45
45
  import OdsDisplayGrid from "./components/devextreme/OdsDisplayGrid";
46
46
  import OdsProfDataGrid from "./components/devextreme/OdsProfDataGrid";
47
+ import OdsRemoteDataGrid from "./components/devextreme/OdsRemoteDataGrid";
47
48
  import DxTreeList from "./components/devextreme/treeview/DxTreeList";
48
49
  import DxTreeView from "./components/devextreme/treeview/DxTreeView";
49
50
  export { OdsButton };
@@ -94,3 +95,4 @@ export { DxTreeView };
94
95
  export { DxTreeList };
95
96
  export { OdsDisplayGrid };
96
97
  export { OdsProfDataGrid };
98
+ export { OdsRemoteDataGrid };
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ var exceljs = require('exceljs');
20
20
  var fileSaverEs = require('file-saver-es');
21
21
  var moment = _interopDefault(require('moment'));
22
22
  var devextremeReact = require('devextreme-react');
23
+ var AspNetData = require('devextreme-aspnet-data-nojquery');
23
24
  var treeView = require('devextreme-react/tree-view');
24
25
 
25
26
  function _extends() {
@@ -1784,6 +1785,202 @@ function OdsProfDataGrid(props) {
1784
1785
  })))));
1785
1786
  }
1786
1787
 
1788
+ var exportFormats$3 = ['xlsx', 'pdf'];
1789
+ var searchEditorOptions$3 = {
1790
+ placeholder: 'Search column'
1791
+ };
1792
+ var renderMenuItem$2 = function renderMenuItem() {
1793
+ return React__default.createElement(dataGrid.Export, {
1794
+ enabled: true,
1795
+ allowExportSelectedData: true,
1796
+ formats: exportFormats$3
1797
+ });
1798
+ };
1799
+ var customizeBooleanColumnRender$2 = function customizeBooleanColumnRender(e) {
1800
+ if (e.column.dataField === 'IsActive' || e.column.dataField === 'Status') {
1801
+ var tagColor = e.value ? 'green' : 'gold';
1802
+ return React__default.createElement(antd.Tag, {
1803
+ color: tagColor
1804
+ }, e.value ? 'Active' : 'Passive');
1805
+ }
1806
+ if (e.column.dataType === 'datetime') {
1807
+ if (e.value !== null) {
1808
+ var date = moment(e.value);
1809
+ var offsetMinutes = date.utcOffset();
1810
+ var sign = offsetMinutes >= 0 ? '+' : '-';
1811
+ var hours = Math.floor(Math.abs(offsetMinutes) / 60);
1812
+ var minutes = Math.abs(offsetMinutes) % 60;
1813
+ var formattedOffset = "(UTC" + sign + hours.toString().padStart(2, '0') + ":" + minutes.toString().padStart(2, '0') + ")";
1814
+ var formatedDate = date.format('DD.MM.YYYY HH.mm') + " " + formattedOffset;
1815
+ return formatedDate;
1816
+ }
1817
+ }
1818
+ return e.value;
1819
+ };
1820
+ function OdsRemoteDataGrid(props) {
1821
+ return grid$2(props);
1822
+ }
1823
+ function grid$2(props) {
1824
+ var _ref;
1825
+ var headerCellRender = function headerCellRender(colProperties) {
1826
+ return React__default.createElement("th", {
1827
+ className: "dx-datagrid-headers"
1828
+ }, colProperties.column.caption);
1829
+ };
1830
+ var fileName = props.exportFileName ? props.exportFileName + moment().format("YYYYMMDD") : "DatagridExportFile" + moment().format("YYYYMMDD");
1831
+ var onExporting = function onExporting(e) {
1832
+ if (e.format === 'xlsx') {
1833
+ var workbook = new exceljs.Workbook();
1834
+ excel_exporter.exportDataGrid({
1835
+ component: e.component,
1836
+ worksheet: workbook.addWorksheet('Main sheet'),
1837
+ autoFilterEnabled: true
1838
+ }).then(function () {
1839
+ workbook.xlsx.writeBuffer().then(function (buffer) {
1840
+ fileSaverEs.saveAs(new Blob([buffer], {
1841
+ type: 'application/octet-stream'
1842
+ }), fileName + '.xlsx');
1843
+ });
1844
+ });
1845
+ } else {
1846
+ var doc = new jsPDF();
1847
+ pdf_exporter.exportDataGrid({
1848
+ jsPDFDocument: doc,
1849
+ component: e.component,
1850
+ indent: 5
1851
+ }).then(function () {
1852
+ doc.save(fileName + '.pdf');
1853
+ });
1854
+ }
1855
+ };
1856
+ var dataSource = AspNetData.createStore({
1857
+ key: props.keyExpr,
1858
+ loadUrl: props.loadUrl
1859
+ });
1860
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
1861
+ className: "odsDatagrid",
1862
+ style: {
1863
+ width: "100%",
1864
+ overflowX: 'auto'
1865
+ }
1866
+ }, React__default.createElement(dataGrid.DataGrid, {
1867
+ dataSource: dataSource,
1868
+ onRowInserted: props.onRowInserted,
1869
+ onRowUpdated: props.onRowUpdated,
1870
+ onRowRemoved: props.onRowRemoved,
1871
+ onSaving: props.onSaving,
1872
+ onEditCanceling: props.onEditCanceling,
1873
+ onExporting: onExporting,
1874
+ height: (_ref = props.height !== undefined) != null ? _ref : props.height,
1875
+ allowColumnResizing: true,
1876
+ allowColumnReordering: true,
1877
+ showRowLines: true,
1878
+ showBorders: true,
1879
+ columnAutoWidth: true,
1880
+ columnResizingMode: "widget",
1881
+ paging: {
1882
+ pageSize: props.pageSize ? props.pageSize : 20
1883
+ },
1884
+ remoteOperations: true
1885
+ }, React__default.createElement(dataGrid.SearchPanel, {
1886
+ visible: true
1887
+ }), React__default.createElement(dataGrid.FilterRow, {
1888
+ visible: true
1889
+ }), React__default.createElement(dataGrid.HeaderFilter, {
1890
+ visible: true
1891
+ }), React__default.createElement(dataGrid.Selection, {
1892
+ mode: "multiple",
1893
+ deferred: true
1894
+ }), React__default.createElement(dataGrid.Scrolling, {
1895
+ mode: "infinite"
1896
+ }), React__default.createElement(dataGrid.StateStoring, {
1897
+ enabled: true,
1898
+ type: "localStorage",
1899
+ storageKey: props.exportFileName + "Storage"
1900
+ }), React__default.createElement(dataGrid.ColumnChooser, {
1901
+ enabled: true,
1902
+ mode: "select"
1903
+ }, React__default.createElement(dataGrid.Position, {
1904
+ my: "right top",
1905
+ at: "right bottom",
1906
+ of: ".dx-datagrid-column-chooser-button"
1907
+ }), React__default.createElement(dataGrid.ColumnChooserSearch, {
1908
+ enabled: true,
1909
+ editorOptions: searchEditorOptions$3
1910
+ }), React__default.createElement(dataGrid.ColumnChooserSelection, {
1911
+ allowSelectAll: true,
1912
+ selectByClick: true,
1913
+ recursive: true
1914
+ })), props.editEnable === true && React__default.createElement(dataGrid.Editing, {
1915
+ mode: props.edit.mode,
1916
+ allowUpdating: props.edit.allowUpdating,
1917
+ allowDeleting: props.edit.allowDeleting,
1918
+ allowAdding: props.edit.allowAdding,
1919
+ useIcons: true
1920
+ }, props.edit.mode === "popup" && React__default.createElement(dataGrid.Popup, {
1921
+ title: props.popupTitle,
1922
+ showTitle: true,
1923
+ width: 700,
1924
+ height: 300,
1925
+ showCloseButton: false
1926
+ }), React__default.createElement(dataGrid.Form, null, props.formItems.map(function (formItem) {
1927
+ return React__default.createElement(form.Item, {
1928
+ itemType: formItem.itemType,
1929
+ colCount: formItem.colCount,
1930
+ colSpan: formItem.colSpan
1931
+ }, formItem.items.map(function (subItem) {
1932
+ return React__default.createElement(form.Item, {
1933
+ key: subItem.dataField,
1934
+ dataField: subItem.dataField
1935
+ });
1936
+ }));
1937
+ }))), props.columns.map(function (col) {
1938
+ return React__default.createElement(dataGrid.Column, Object.assign({
1939
+ key: col.dataField
1940
+ }, col, {
1941
+ headerCellRender: headerCellRender,
1942
+ cellRender: customizeBooleanColumnRender$2
1943
+ }), col.required && React__default.createElement(dataGrid.RequiredRule, {
1944
+ message: col.requiredMessage
1945
+ }), col.dataField === 'IsActive' && React__default.createElement(dataGrid.HeaderFilter, {
1946
+ dataSource: [{
1947
+ text: 'All',
1948
+ value: null
1949
+ }, {
1950
+ text: 'Active',
1951
+ value: true
1952
+ }, {
1953
+ text: 'Passive',
1954
+ value: false
1955
+ }]
1956
+ }));
1957
+ }), React__default.createElement(dataGrid.Toolbar, null, React__default.createElement(dataGrid.Item, {
1958
+ location: "after"
1959
+ }, React__default.createElement(OdsButton, {
1960
+ type: "primary",
1961
+ onClick: props.onAddButton
1962
+ }, "Add New")), React__default.createElement(dataGrid.Item, {
1963
+ name: "searchPanel"
1964
+ }), React__default.createElement(dataGrid.Item, {
1965
+ name: "columnChooserButton"
1966
+ }), React__default.createElement(dataGrid.Item, {
1967
+ name: "exportButton"
1968
+ }), React__default.createElement(dataGrid.Item, {
1969
+ menuItemRender: renderMenuItem$2
1970
+ })), React__default.createElement(dataGrid.Summary, null, React__default.createElement(dataGrid.TotalItem, {
1971
+ column: "Id",
1972
+ summaryType: "count",
1973
+ displayFormat: "{0} Total Data"
1974
+ }), props.sumaryRowItems && props.sumaryRowItems.map(function (item) {
1975
+ return React__default.createElement(dataGrid.TotalItem, {
1976
+ column: item.columnName,
1977
+ summaryType: item.aggregateFn,
1978
+ valueFormat: item.valueFormat ? item.valueFormat : "",
1979
+ displayFormat: "Total: {0}"
1980
+ });
1981
+ })))));
1982
+ }
1983
+
1787
1984
  var DxTreeList = function DxTreeList(props) {
1788
1985
  var _useState = React.useState(props.dataSource),
1789
1986
  dataSource = _useState[0];
@@ -1891,6 +2088,7 @@ exports.OdsRadio = OdsRadio;
1891
2088
  exports.OdsRadioGroup = OdsRadioGroup;
1892
2089
  exports.OdsRangeTimepicker = OdsRangeTimepicker;
1893
2090
  exports.OdsRate = OdsRate;
2091
+ exports.OdsRemoteDataGrid = OdsRemoteDataGrid;
1894
2092
  exports.OdsSearch = OdsSearch;
1895
2093
  exports.OdsSelect = OdsSelect;
1896
2094
  exports.OdsSelectableTable = OdsSelectableTable;