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