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.
- package/dist/components/antd/fileUpload/OdsFileUpload.d.ts +3 -0
- package/dist/index.js +186 -150
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +188 -152
- package/dist/index.modern.js.map +1 -1
- package/dist/utils/commonFunctions.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -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
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
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
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
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
|
-
|
|
34470
|
-
|
|
34471
|
-
|
|
34472
|
-
|
|
34473
|
-
|
|
34474
|
-
|
|
34475
|
-
|
|
34476
|
-
|
|
34477
|
-
|
|
34478
|
-
|
|
34479
|
-
|
|
34480
|
-
|
|
34481
|
-
|
|
34482
|
-
|
|
34483
|
-
|
|
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
|
-
|
|
35500
|
-
|
|
35501
|
-
|
|
35502
|
-
|
|
35503
|
-
|
|
35504
|
-
|
|
35505
|
-
|
|
35506
|
-
|
|
35507
|
-
|
|
35508
|
-
|
|
35509
|
-
|
|
35510
|
-
|
|
35511
|
-
|
|
35512
|
-
|
|
35513
|
-
|
|
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
|
-
|
|
54262
|
-
|
|
54263
|
-
|
|
54264
|
-
|
|
54265
|
-
|
|
54266
|
-
|
|
54267
|
-
|
|
54268
|
-
|
|
54269
|
-
|
|
54270
|
-
|
|
54271
|
-
|
|
54272
|
-
|
|
54273
|
-
|
|
54274
|
-
|
|
54275
|
-
|
|
54276
|
-
|
|
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
|
-
|
|
55670
|
-
|
|
55671
|
-
|
|
55672
|
-
|
|
55673
|
-
|
|
55674
|
-
|
|
55675
|
-
|
|
55676
|
-
|
|
55677
|
-
|
|
55678
|
-
|
|
55679
|
-
|
|
55680
|
-
|
|
55681
|
-
|
|
55682
|
-
|
|
55683
|
-
|
|
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, {
|