ods-component-lib 1.20.2 → 1.20.4

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 { Alert, AutoComplete, Badge, Table, Button, Calendar, Card as Card$1, Switch, Input, Select, Row, Col, Typography, Checkbox, Collapse, Tooltip as Tooltip$1, InputNumber, DatePicker, Divider, Dropdown, notification, Upload, Modal, Image, List, Space, Progress, Radio, TimePicker, Rate, Spin, Tabs, Tag, Timeline, Tree, ConfigProvider, TreeSelect, theme, Form, Popover, Transfer, Menu } from 'antd';
1
+ import { Alert, AutoComplete, Badge, Table, Button, Calendar, Card as Card$1, Switch, Input, Select, Row, Col, Typography, Checkbox, Collapse, Tooltip as Tooltip$1, InputNumber, DatePicker, Divider, Dropdown, notification, Upload, Modal, Image as Image$1, List, Space, Progress, Radio, TimePicker, Rate, Spin, Tabs, Tag, Timeline, Tree, ConfigProvider, TreeSelect, theme, Form, Popover, Transfer, Menu } from 'antd';
2
2
  import styled, { ThemeProvider } from 'styled-components';
3
3
  import React, { useState, useCallback, useEffect, useMemo, useRef, Suspense, forwardRef, useImperativeHandle } from 'react';
4
4
  import Marquee from 'react-fast-marquee';
@@ -1094,25 +1094,50 @@ function OdsFileUpload(props) {
1094
1094
  var fileType = allowDocumentUpload ? ["image/png", "image/jpg", "image/jpeg", "image/svg+xml", "application/pdf", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"] : ["image/png", "image/jpg", "image/jpeg", "image/svg+xml"];
1095
1095
  var isFileSizeOk = skipSizeValidation ? true : file.size / (1024 * 1024) <= maxFileSizeMB;
1096
1096
  var checkType = fileType.includes(file.type);
1097
- if (!checkType) {
1098
- OdsNotification({
1099
- title: "",
1100
- content: customValidationMessages.typeValidationFailMessage,
1101
- type: "warning",
1102
- placement: "bottom"
1103
- });
1104
- return Promise.resolve(Upload.LIST_IGNORE);
1105
- }
1106
- if (!isFileSizeOk) {
1107
- OdsNotification({
1108
- title: "",
1109
- content: customValidationMessages.sizeValidationFailMessage,
1110
- type: "warning",
1111
- placement: "bottom"
1097
+ var checkDimensions = function checkDimensions(file) {
1098
+ return new Promise(function (resolve) {
1099
+ if (file.type.startsWith("image/") && (props.minWidth || props.minHeight)) {
1100
+ var img = new Image();
1101
+ img.src = URL.createObjectURL(file);
1102
+ img.onload = function () {
1103
+ var isValid = (!props.minWidth || img.width >= props.minWidth) && (!props.minHeight || img.height >= props.minHeight);
1104
+ resolve(isValid);
1105
+ };
1106
+ } else {
1107
+ resolve(true);
1108
+ }
1112
1109
  });
1113
- return Promise.resolve(Upload.LIST_IGNORE);
1114
- }
1115
- return Promise.resolve(false);
1110
+ };
1111
+ return Promise.resolve(checkDimensions(file)).then(function (isDimensionsOk) {
1112
+ if (!isDimensionsOk) {
1113
+ OdsNotification({
1114
+ title: "",
1115
+ content: customValidationMessages.dimensionValidationFailMessage || "Image dimensions are too small. Minimum size is " + (props.minWidth || 0) + "px width and " + (props.minHeight || 0) + "px height.",
1116
+ type: "warning",
1117
+ placement: "bottom"
1118
+ });
1119
+ return Upload.LIST_IGNORE;
1120
+ }
1121
+ if (!checkType) {
1122
+ OdsNotification({
1123
+ title: "",
1124
+ content: customValidationMessages.typeValidationFailMessage,
1125
+ type: "warning",
1126
+ placement: "bottom"
1127
+ });
1128
+ return Upload.LIST_IGNORE;
1129
+ }
1130
+ if (!isFileSizeOk) {
1131
+ OdsNotification({
1132
+ title: "",
1133
+ content: customValidationMessages.sizeValidationFailMessage,
1134
+ type: "warning",
1135
+ placement: "bottom"
1136
+ });
1137
+ return Upload.LIST_IGNORE;
1138
+ }
1139
+ return false;
1140
+ });
1116
1141
  } catch (e) {
1117
1142
  return Promise.reject(e);
1118
1143
  }
@@ -1628,7 +1653,7 @@ function OdsFileUploadv2(props) {
1628
1653
  }
1629
1654
 
1630
1655
  function OdsImage(props) {
1631
- return React.createElement(Image, Object.assign({}, props));
1656
+ return React.createElement(Image$1, Object.assign({}, props));
1632
1657
  }
1633
1658
 
1634
1659
  var _templateObject$g;
@@ -34082,6 +34107,70 @@ var ExportDataGridToExcel = function ExportDataGridToExcel(_ref) {
34082
34107
  });
34083
34108
  };
34084
34109
 
34110
+ var uniqueRecords = function uniqueRecords(value, index, array) {
34111
+ return array.indexOf(value) === index;
34112
+ };
34113
+ var exportToExcel = function exportToExcel(props) {
34114
+ var workbook = new Workbook();
34115
+ var worksheet = workbook.addWorksheet('Main Sheet');
34116
+ var lastProcessedRowData = null;
34117
+ var rowCount = 0;
34118
+ exportDataGrid({
34119
+ component: props.gridComponent,
34120
+ worksheet: worksheet,
34121
+ selectedRowsOnly: props.selectedRowsOnly,
34122
+ customizeCell: function customizeCell(options) {
34123
+ var gridCell = options.gridCell,
34124
+ excelCell = options.excelCell;
34125
+ if (gridCell && excelCell) {
34126
+ if (gridCell.rowType === 'data' && lastProcessedRowData !== gridCell.data) {
34127
+ rowCount++;
34128
+ lastProcessedRowData = gridCell.data;
34129
+ }
34130
+ if ((gridCell.column.dataType === "datetime" || gridCell.column.dataField === "CreateDate" || gridCell.column.dataField === "ModifyDate") && gridCell.value) {
34131
+ excelCell.value = moment(gridCell.value).format("DD.MM.YYYY HH:mm");
34132
+ } else if (gridCell.column.dataType === "date" && gridCell.value) {
34133
+ excelCell.value = moment(gridCell.value).format("DD.MM.YYYY");
34134
+ }
34135
+ if (gridCell.rowType === 'data' && gridCell.column.dataField.toLowerCase() === "isactive") {
34136
+ excelCell.value = gridCell.value === true ? "" + props.activeText : "" + props.passiveText;
34137
+ }
34138
+ excelCell.font = {
34139
+ name: 'Arial',
34140
+ size: 12
34141
+ };
34142
+ excelCell.alignment = {
34143
+ horizontal: 'left'
34144
+ };
34145
+ }
34146
+ }
34147
+ }).then(function () {
34148
+ var summaryResult = props.getSummary();
34149
+ var summaryText = props.selectedRowsOnly ? summaryResult + " - " + rowCount + " " + props.selectedText : summaryResult;
34150
+ var lastRow = worksheet.addRow([summaryText]);
34151
+ lastRow.font = {
34152
+ name: 'Arial',
34153
+ size: 10,
34154
+ bold: true
34155
+ };
34156
+ lastRow.alignment = {
34157
+ horizontal: 'left'
34158
+ };
34159
+ workbook.xlsx.writeBuffer().then(function (buffer) {
34160
+ var now = new Date();
34161
+ var datePart = ('0' + now.getDate()).slice(-2) + "-" + ('0' + (now.getMonth() + 1)).slice(-2) + "-" + now.getFullYear();
34162
+ var timePart = ('0' + now.getHours()).slice(-2) + ":" + ('0' + now.getMinutes()).slice(-2);
34163
+ var fullFileName = props.baseFileName + "-" + datePart + "-" + timePart + ".xlsx";
34164
+ saveAs(new Blob([buffer], {
34165
+ type: 'application/octet-stream'
34166
+ }), fullFileName);
34167
+ });
34168
+ });
34169
+ };
34170
+ var isTextEmpty = function isTextEmpty(text) {
34171
+ return text === undefined || text === null || (text === null || text === void 0 ? void 0 : text.trim()) === '';
34172
+ };
34173
+
34085
34174
  var useToken = theme.useToken;
34086
34175
  var OdsBatchEditDataGrid = function OdsBatchEditDataGrid(props) {
34087
34176
  var _props$columnResizing, _props$className, _props$selection, _props$selectOptions, _props$selectOptions$, _props$selectOptions2, _props$selectOptions$2, _props$selectOptions3;
@@ -34466,23 +34555,25 @@ var OdsBatchEditDataGrid = function OdsBatchEditDataGrid(props) {
34466
34555
  }
34467
34556
  });
34468
34557
  }
34469
- e.toolbarOptions.items.unshift({
34470
- location: "before",
34471
- cssClass: "toolbarTitleItem",
34472
- template: function template(_, __, container) {
34473
- var wrapper = document.createElement("div");
34474
- container.appendChild(wrapper);
34475
- reactDom.render(React.createElement(React.StrictMode, null, React.createElement(OdsTitle, {
34476
- level: 5,
34477
- style: {
34478
- display: "flex",
34479
- alignItems: "center",
34480
- alignSelf: "stretch",
34481
- margin: 0
34482
- }
34483
- }, props.pageTitle)), wrapper);
34484
- }
34485
- });
34558
+ if (!isTextEmpty(props.pageTitle)) {
34559
+ e.toolbarOptions.items.unshift({
34560
+ location: "before",
34561
+ cssClass: "toolbarTitleItem",
34562
+ template: function template(_, __, container) {
34563
+ var wrapper = document.createElement("div");
34564
+ container.appendChild(wrapper);
34565
+ reactDom.render(React.createElement(React.StrictMode, null, React.createElement(OdsTitle, {
34566
+ level: 5,
34567
+ style: {
34568
+ display: "flex",
34569
+ alignItems: "center",
34570
+ alignSelf: "stretch",
34571
+ margin: 0
34572
+ }
34573
+ }, props.pageTitle)), wrapper);
34574
+ }
34575
+ });
34576
+ }
34486
34577
  };
34487
34578
  var checkIsPropArray = function checkIsPropArray(prop) {
34488
34579
  return prop && Array.isArray(prop);
@@ -35496,23 +35587,25 @@ var OdsBasicDataGrid = function OdsBasicDataGrid(props) {
35496
35587
  }
35497
35588
  });
35498
35589
  }
35499
- e.toolbarOptions.items.unshift({
35500
- location: "before",
35501
- cssClass: "toolbarTitleItem",
35502
- template: function template(_, __, container) {
35503
- var wrapper = document.createElement("div");
35504
- container.appendChild(wrapper);
35505
- reactDom.render(React.createElement(React.StrictMode, null, React.createElement(OdsTitle, {
35506
- level: 5,
35507
- style: {
35508
- display: "flex",
35509
- alignItems: "center",
35510
- alignSelf: "stretch",
35511
- margin: 0
35512
- }
35513
- }, props.pageTitle)), wrapper);
35514
- }
35515
- });
35590
+ if (!isTextEmpty(props.pageTitle)) {
35591
+ e.toolbarOptions.items.unshift({
35592
+ location: "before",
35593
+ cssClass: "toolbarTitleItem",
35594
+ template: function template(_, __, container) {
35595
+ var wrapper = document.createElement("div");
35596
+ container.appendChild(wrapper);
35597
+ reactDom.render(React.createElement(React.StrictMode, null, React.createElement(OdsTitle, {
35598
+ level: 5,
35599
+ style: {
35600
+ display: "flex",
35601
+ alignItems: "center",
35602
+ alignSelf: "stretch",
35603
+ margin: 0
35604
+ }
35605
+ }, props.pageTitle)), wrapper);
35606
+ }
35607
+ });
35608
+ }
35516
35609
  };
35517
35610
  var renderMasterDetailGrid = useCallback(function (_ref) {
35518
35611
  var _dataSource$data, _dataSource$data2;
@@ -54258,24 +54351,26 @@ var OdsMergeCellDataGrid = forwardRef(function (props, ref) {
54258
54351
  }
54259
54352
  });
54260
54353
  }
54261
- e.toolbarOptions.items.unshift({
54262
- location: "before",
54263
- cssClass: "toolbarTitleItem",
54264
- template: function template(_, __, container) {
54265
- var wrapper = document.createElement("div");
54266
- container.appendChild(wrapper);
54267
- var root = client_1(wrapper);
54268
- root.render(React.createElement(React.StrictMode, null, React.createElement(OdsTitle, {
54269
- level: 5,
54270
- style: {
54271
- display: "flex",
54272
- alignItems: "center",
54273
- alignSelf: "stretch",
54274
- margin: 0
54275
- }
54276
- }, props.pageTitle)));
54277
- }
54278
- });
54354
+ if (!isTextEmpty(props.pageTitle)) {
54355
+ e.toolbarOptions.items.unshift({
54356
+ location: "before",
54357
+ cssClass: "toolbarTitleItem",
54358
+ template: function template(_, __, container) {
54359
+ var wrapper = document.createElement("div");
54360
+ container.appendChild(wrapper);
54361
+ var root = client_1(wrapper);
54362
+ root.render(React.createElement(React.StrictMode, null, React.createElement(OdsTitle, {
54363
+ level: 5,
54364
+ style: {
54365
+ display: "flex",
54366
+ alignItems: "center",
54367
+ alignSelf: "stretch",
54368
+ margin: 0
54369
+ }
54370
+ }, props.pageTitle)));
54371
+ }
54372
+ });
54373
+ }
54279
54374
  };
54280
54375
  var handleSelectionChanged = function handleSelectionChanged(e) {
54281
54376
  var triggerEvent = true;
@@ -55666,23 +55761,25 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
55666
55761
  }
55667
55762
  });
55668
55763
  }
55669
- e.toolbarOptions.items.unshift({
55670
- location: 'before',
55671
- cssClass: 'toolbarTitleItem',
55672
- template: function template(_, __, container) {
55673
- var wrapper = document.createElement('div');
55674
- container.appendChild(wrapper);
55675
- reactDom.render(React.createElement(React.StrictMode, null, React.createElement(OdsTitle, {
55676
- level: 5,
55677
- style: {
55678
- display: "flex",
55679
- alignItems: "center",
55680
- alignSelf: "stretch",
55681
- margin: 0
55682
- }
55683
- }, props.pageTitle)), wrapper);
55684
- }
55685
- });
55764
+ if (!isTextEmpty(props.pageTitle)) {
55765
+ e.toolbarOptions.items.unshift({
55766
+ location: 'before',
55767
+ cssClass: 'toolbarTitleItem',
55768
+ template: function template(_, __, container) {
55769
+ var wrapper = document.createElement('div');
55770
+ container.appendChild(wrapper);
55771
+ reactDom.render(React.createElement(React.StrictMode, null, React.createElement(OdsTitle, {
55772
+ level: 5,
55773
+ style: {
55774
+ display: "flex",
55775
+ alignItems: "center",
55776
+ alignSelf: "stretch",
55777
+ margin: 0
55778
+ }
55779
+ }, props.pageTitle)), wrapper);
55780
+ }
55781
+ });
55782
+ }
55686
55783
  };
55687
55784
  var detailGrid = function detailGrid(_ref) {
55688
55785
  var data = _ref.data;
@@ -56283,67 +56380,6 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
56283
56380
  }, React.createElement("p", null, renderTotal())));
56284
56381
  };
56285
56382
 
56286
- var uniqueRecords = function uniqueRecords(value, index, array) {
56287
- return array.indexOf(value) === index;
56288
- };
56289
- var exportToExcel = function exportToExcel(props) {
56290
- var workbook = new Workbook();
56291
- var worksheet = workbook.addWorksheet('Main Sheet');
56292
- var lastProcessedRowData = null;
56293
- var rowCount = 0;
56294
- exportDataGrid({
56295
- component: props.gridComponent,
56296
- worksheet: worksheet,
56297
- selectedRowsOnly: props.selectedRowsOnly,
56298
- customizeCell: function customizeCell(options) {
56299
- var gridCell = options.gridCell,
56300
- excelCell = options.excelCell;
56301
- if (gridCell && excelCell) {
56302
- if (gridCell.rowType === 'data' && lastProcessedRowData !== gridCell.data) {
56303
- rowCount++;
56304
- lastProcessedRowData = gridCell.data;
56305
- }
56306
- if ((gridCell.column.dataType === "datetime" || gridCell.column.dataField === "CreateDate" || gridCell.column.dataField === "ModifyDate") && gridCell.value) {
56307
- excelCell.value = moment(gridCell.value).format("DD.MM.YYYY HH:mm");
56308
- } else if (gridCell.column.dataType === "date" && gridCell.value) {
56309
- excelCell.value = moment(gridCell.value).format("DD.MM.YYYY");
56310
- }
56311
- if (gridCell.rowType === 'data' && gridCell.column.dataField.toLowerCase() === "isactive") {
56312
- excelCell.value = gridCell.value === true ? "" + props.activeText : "" + props.passiveText;
56313
- }
56314
- excelCell.font = {
56315
- name: 'Arial',
56316
- size: 12
56317
- };
56318
- excelCell.alignment = {
56319
- horizontal: 'left'
56320
- };
56321
- }
56322
- }
56323
- }).then(function () {
56324
- var summaryResult = props.getSummary();
56325
- var summaryText = props.selectedRowsOnly ? summaryResult + " - " + rowCount + " " + props.selectedText : summaryResult;
56326
- var lastRow = worksheet.addRow([summaryText]);
56327
- lastRow.font = {
56328
- name: 'Arial',
56329
- size: 10,
56330
- bold: true
56331
- };
56332
- lastRow.alignment = {
56333
- horizontal: 'left'
56334
- };
56335
- workbook.xlsx.writeBuffer().then(function (buffer) {
56336
- var now = new Date();
56337
- var datePart = ('0' + now.getDate()).slice(-2) + "-" + ('0' + (now.getMonth() + 1)).slice(-2) + "-" + now.getFullYear();
56338
- var timePart = ('0' + now.getHours()).slice(-2) + ":" + ('0' + now.getMinutes()).slice(-2);
56339
- var fullFileName = props.baseFileName + "-" + datePart + "-" + timePart + ".xlsx";
56340
- saveAs(new Blob([buffer], {
56341
- type: 'application/octet-stream'
56342
- }), fullFileName);
56343
- });
56344
- });
56345
- };
56346
-
56347
56383
  var _templateObject$A, _templateObject2$8;
56348
56384
  var useStyles$a = createStyles(function (_ref) {
56349
56385
  var css = _ref.css;
@@ -57776,7 +57812,7 @@ var OdsTransfer = function OdsTransfer(props) {
57776
57812
  calculateSortValue: column.calculateSortValue,
57777
57813
  allowHeaderFiltering: props.showFilters
57778
57814
  });
57779
- }), props.displayPageTitle && React.createElement(Toolbar, null, React.createElement(Item, {
57815
+ }), props.displayPageTitle && !isTextEmpty(props.pageTitle) && React.createElement(Toolbar, null, React.createElement(Item, {
57780
57816
  location: "before",
57781
57817
  cssClass: "toolbarTitleItem"
57782
57818
  }, React.createElement(OdsTitle, {
@@ -58039,7 +58075,7 @@ var OdsTransferV2 = function OdsTransferV2(_ref) {
58039
58075
  calculateSortValue: column.calculateSortValue,
58040
58076
  headerFilter: {}
58041
58077
  });
58042
- }), displayPageTitle && React.createElement(Toolbar, null, React.createElement(Item, {
58078
+ }), displayPageTitle && !isTextEmpty(pageTitle) && React.createElement(Toolbar, null, React.createElement(Item, {
58043
58079
  location: "before",
58044
58080
  cssClass: "toolbarTitleItem"
58045
58081
  }, React.createElement(OdsTitle, {