ods-component-lib 1.16.9 → 1.17.1

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