ods-component-lib 1.18.209 → 1.18.211

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/index.js CHANGED
@@ -33206,6 +33206,214 @@ var ExportDataGridToExcel = function ExportDataGridToExcel(_ref) {
33206
33206
  });
33207
33207
  };
33208
33208
 
33209
+ var iconComponents = {
33210
+ edit: outline.EditIcon,
33211
+ "delete": outline.Trash1Icon,
33212
+ copy: outline.CopyIcon,
33213
+ discount: outline.DiscountIcon,
33214
+ kebabMenu: outline.KebabMenuIcon,
33215
+ refresh: outline.RefreshIcon,
33216
+ unmap: outline.LinkBreakIcon,
33217
+ save: outline.FloppyDiskIcon,
33218
+ cancel: outline.Loop1Icon,
33219
+ discount2Icon: outline.Discount2Icon
33220
+ };
33221
+ var DynamicIcon = function DynamicIcon(_ref) {
33222
+ var iconName = _ref.iconName;
33223
+ var IconComponent = iconComponents[iconName];
33224
+ if (!IconComponent) {
33225
+ return null;
33226
+ }
33227
+ return React__default.createElement(IconComponent, null);
33228
+ };
33229
+
33230
+ var useOnActionCellRenderHandler = function useOnActionCellRenderHandler(visibleActionButtons, actionButtonGroup, edit, actionButtonsTooltipType) {
33231
+ var onActionCellRender = React.useCallback(function (cellData) {
33232
+ if (!cellData || !visibleActionButtons) return null;
33233
+ var kebabMenuButtons = actionButtonGroup && actionButtonGroup.length >= 2 && !edit ? actionButtonGroup.slice(2).map(function (button) {
33234
+ return {
33235
+ icon: button.icon,
33236
+ onClick: function onClick(event) {
33237
+ var customEvent = {
33238
+ column: cellData.column,
33239
+ component: cellData.component,
33240
+ element: cellData.element,
33241
+ event: event,
33242
+ model: cellData.data,
33243
+ row: cellData.row
33244
+ };
33245
+ button.onClick(customEvent);
33246
+ }
33247
+ };
33248
+ }) : [];
33249
+ var buttonElements = visibleActionButtons.map(function (buttonItem) {
33250
+ var isVisible = typeof buttonItem.visible === "function" ? buttonItem.visible({
33251
+ column: cellData.column,
33252
+ component: cellData.component,
33253
+ row: cellData.row
33254
+ }) : buttonItem.visible;
33255
+ return React__default.createElement(OdsDataGrdiRowButton, Object.assign({
33256
+ key: "action-button-" + buttonItem.name,
33257
+ name: buttonItem.name,
33258
+ hint: buttonItem.hint,
33259
+ visible: isVisible,
33260
+ size: "small",
33261
+ type: "text",
33262
+ disabled: buttonItem.actionPermission === undefined ? false : !buttonItem.actionPermission,
33263
+ icon: buttonItem.icon
33264
+ }, actionButtonsTooltipType === "styled" && {
33265
+ tooltip: buttonItem.hint
33266
+ }, {
33267
+ onClick: function onClick(event) {
33268
+ if (buttonItem.onClick) {
33269
+ var customEvent = {
33270
+ column: cellData.column,
33271
+ component: cellData.component,
33272
+ element: cellData.element,
33273
+ event: event,
33274
+ model: cellData.data,
33275
+ row: cellData.row
33276
+ };
33277
+ buttonItem.onClick(customEvent);
33278
+ }
33279
+ }
33280
+ }));
33281
+ });
33282
+ if (kebabMenuButtons.length > 0) {
33283
+ buttonElements.push(React__default.createElement(OdsDropdown, {
33284
+ key: "dropdown-" + (cellData.rowIndex || cellData.data.ID),
33285
+ menuItems: kebabMenuButtons
33286
+ }, React__default.createElement(OdsDataGrdiRowButton, {
33287
+ type: "text",
33288
+ icon: React__default.createElement(DynamicIcon, {
33289
+ iconName: "kebabMenu"
33290
+ })
33291
+ })));
33292
+ }
33293
+ return React__default.createElement(React__default.Fragment, null, buttonElements);
33294
+ }, [visibleActionButtons]);
33295
+ return onActionCellRender;
33296
+ };
33297
+
33298
+ var useOnExportingHandler = function useOnExportingHandler(exportProps, getSummary, callback) {
33299
+ var onExporting = React.useCallback(function (e) {
33300
+ if (exportProps) {
33301
+ var _exportProps$fileName, _exportProps$activeTe, _exportProps$passiveT;
33302
+ ExportDataGridToExcel({
33303
+ gridComponent: e.component,
33304
+ baseFileName: (_exportProps$fileName = exportProps.fileName) != null ? _exportProps$fileName : "DataGrid",
33305
+ selectedText: exportProps.selectedText,
33306
+ getSummary: getSummary,
33307
+ selectedRowsOnly: e.selectedRowsOnly,
33308
+ activeText: (_exportProps$activeTe = exportProps.activeText) != null ? _exportProps$activeTe : "Active",
33309
+ passiveText: (_exportProps$passiveT = exportProps.passiveText) != null ? _exportProps$passiveT : "Passive"
33310
+ });
33311
+ }
33312
+ if (callback) {
33313
+ callback(e);
33314
+ }
33315
+ }, [getSummary]);
33316
+ return onExporting;
33317
+ };
33318
+
33319
+ var MasterDetailDataGrid = function MasterDetailDataGrid(_ref) {
33320
+ var columns = _ref.columns,
33321
+ dataSource = _ref.dataSource,
33322
+ _ref$masterDetailFeat = _ref.masterDetailFeatures,
33323
+ masterDetailFeatures = _ref$masterDetailFeat === void 0 ? {} : _ref$masterDetailFeat,
33324
+ masterDetailData = _ref.masterDetailData;
33325
+ var visibleActionButtons = React.useMemo(function () {
33326
+ if (masterDetailFeatures.masterActionButtonGroup && masterDetailFeatures.masterActionButtonGroup.length >= 2) {
33327
+ return masterDetailFeatures.masterActionButtonGroup.slice(0, 2);
33328
+ }
33329
+ return masterDetailFeatures.masterActionButtonGroup || [];
33330
+ }, [masterDetailFeatures.masterActionButtonGroup]);
33331
+ var onActionCellRender = useOnActionCellRenderHandler(visibleActionButtons, masterDetailFeatures.masterActionButtonGroup);
33332
+ var getTotalDataCount = function getTotalDataCount() {
33333
+ return "" + dataSource.length;
33334
+ };
33335
+ var handleExporting = useOnExportingHandler(masterDetailFeatures.exportProps, getTotalDataCount);
33336
+ var effectiveColumns = (masterDetailData === null || masterDetailData === void 0 ? void 0 : masterDetailData.detailGridColumns) || columns || (dataSource[0] ? Object.keys(dataSource[0]).map(function (key) {
33337
+ return {
33338
+ dataField: key,
33339
+ caption: key.charAt(0).toUpperCase() + key.slice(1),
33340
+ allowFiltering: true
33341
+ };
33342
+ }) : []);
33343
+ return React__default.createElement(DataGrid__default, {
33344
+ style: {
33345
+ maxHeight: masterDetailFeatures.maxHeight ? masterDetailFeatures.maxHeight + "px" : "400px",
33346
+ overflow: "auto"
33347
+ },
33348
+ dataSource: dataSource,
33349
+ showBorders: true,
33350
+ columnAutoWidth: true,
33351
+ allowColumnReordering: true,
33352
+ selection: {
33353
+ mode: masterDetailFeatures.showCheckbox ? "multiple" : "none"
33354
+ },
33355
+ paging: {
33356
+ enabled: true,
33357
+ pageSize: masterDetailFeatures.pageSize || 20
33358
+ },
33359
+ filterRow: {
33360
+ visible: masterDetailFeatures.createFilter
33361
+ },
33362
+ onExporting: handleExporting,
33363
+ onToolbarPreparing: masterDetailFeatures.detailToolbar
33364
+ }, effectiveColumns.map(function (col) {
33365
+ return React__default.createElement(DataGrid.Column, Object.assign({
33366
+ key: col.dataField
33367
+ }, col, {
33368
+ headerFilter: {
33369
+ visible: col.allowFiltering
33370
+ }
33371
+ }));
33372
+ }), React__default.createElement(DataGrid.ColumnChooser, {
33373
+ enabled: masterDetailFeatures.columnChooser,
33374
+ mode: "select"
33375
+ }, React__default.createElement(DataGrid.Position, {
33376
+ my: "right top",
33377
+ at: "right bottom",
33378
+ of: document.querySelector("." + "props.dataGridPageName") ? "." + "props.dataGridPageName" + " .dx-datagrid-column-chooser-button" : ".dx-datagrid-column-chooser-button"
33379
+ }), React__default.createElement(DataGrid.ColumnChooserSearch, {
33380
+ enabled: true,
33381
+ editorOptions: {
33382
+ placeholder: ""
33383
+ }
33384
+ }), React__default.createElement(DataGrid.HeaderFilter, {
33385
+ visible: true
33386
+ }), React__default.createElement(DataGrid.ColumnChooserSelection, {
33387
+ allowSelectAll: true,
33388
+ selectByClick: true,
33389
+ recursive: true
33390
+ })), (masterDetailFeatures === null || masterDetailFeatures === void 0 ? void 0 : masterDetailFeatures.exportEnabled) && React__default.createElement(DataGrid.Export, Object.assign({}, masterDetailFeatures.exportProps)), masterDetailFeatures.actionColumnEnable && React__default.createElement(DataGrid.Column, {
33391
+ dataField: "Actions",
33392
+ caption: "",
33393
+ minWidth: 10,
33394
+ width: 160,
33395
+ fixed: true,
33396
+ allowSorting: false,
33397
+ type: "buttons",
33398
+ showInColumnChooser: false,
33399
+ cellRender: onActionCellRender
33400
+ }), React__default.createElement(DataGrid.FilterRow, {
33401
+ visible: masterDetailFeatures.createFilter
33402
+ }), React__default.createElement(DataGrid.Selection, {
33403
+ mode: masterDetailFeatures.showCheckbox ? "multiple" : "none"
33404
+ }), React__default.createElement(DataGrid.SearchPanel, {
33405
+ visible: masterDetailFeatures.showSearchPanel
33406
+ }), React__default.createElement(DataGrid.Toolbar, null, React__default.createElement(DataGrid.Item, {
33407
+ name: "searchPanel"
33408
+ }), React__default.createElement(DataGrid.Item, {
33409
+ name: "columnChooserButton",
33410
+ cssClass: "toolbarPanelItems"
33411
+ }), React__default.createElement(DataGrid.Item, {
33412
+ name: "exportButton",
33413
+ cssClass: "toolbarPanelItems"
33414
+ })));
33415
+ };
33416
+
33209
33417
  var useToken$1 = antd.theme.useToken;
33210
33418
  var OdsBasicDataGrid = function OdsBasicDataGrid(props) {
33211
33419
  var _props$columnResizing, _props$className, _props$selection, _props$selectOptions, _props$selectOptions$, _props$selectOptions2, _props$selectOptions$2, _props$selectOptions3;
@@ -33221,7 +33429,10 @@ var OdsBasicDataGrid = function OdsBasicDataGrid(props) {
33221
33429
  onFastUpdateButtonClick = props.onFastUpdateButtonClick,
33222
33430
  onFastUpdateFinish = props.onFastUpdateFinish,
33223
33431
  onFastUpdateCancel = props.onFastUpdateCancel,
33224
- onFastUpdateFailed = props.onFastUpdateFailed;
33432
+ onFastUpdateFailed = props.onFastUpdateFailed,
33433
+ detailGridColumns = props.detailGridColumns,
33434
+ detailData = props.detailData,
33435
+ masterDetailFeatures = props.masterDetailFeatures;
33225
33436
  var _useToken = useToken$1(),
33226
33437
  token = _useToken.token;
33227
33438
  var _AntForm$useForm = antd.Form.useForm(),
@@ -33793,14 +34004,19 @@ var OdsBasicDataGrid = function OdsBasicDataGrid(props) {
33793
34004
  }
33794
34005
  });
33795
34006
  };
33796
- var detailGrid = function detailGrid(_ref) {
33797
- var data = _ref.data;
33798
- return React__default.createElement(OdsBasicDataGrid, Object.assign({}, props, {
33799
- showMasterDetail: false,
33800
- columns: props.detailGridColums,
33801
- dataSource: props.detailData[data.key.ID]
33802
- }));
33803
- };
34007
+ var renderMasterDetailGrid = React.useCallback(function (_ref) {
34008
+ var _dataSource$data;
34009
+ var dataSource = _ref.data;
34010
+ var detailID = dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$data = dataSource.data) === null || _dataSource$data === void 0 ? void 0 : _dataSource$data.ID;
34011
+ if (!detailID || !(detailData !== null && detailData !== void 0 && detailData[detailID])) {
34012
+ return null;
34013
+ }
34014
+ return React__default.createElement(MasterDetailDataGrid, {
34015
+ columns: detailGridColumns,
34016
+ dataSource: detailData[detailID],
34017
+ masterDetailFeatures: masterDetailFeatures
34018
+ });
34019
+ }, [detailGridColumns, detailData, masterDetailFeatures]);
33804
34020
  var checkIsPropArray = function checkIsPropArray(prop) {
33805
34021
  return prop && Array.isArray(prop);
33806
34022
  };
@@ -33950,7 +34166,7 @@ var OdsBasicDataGrid = function OdsBasicDataGrid(props) {
33950
34166
  }
33951
34167
  }), props.showMasterDetail && React__default.createElement(DataGrid.MasterDetail, {
33952
34168
  enabled: true,
33953
- component: detailGrid
34169
+ component: renderMasterDetailGrid
33954
34170
  }), props.edit && React__default.createElement(DataGrid.Editing, {
33955
34171
  mode: props.edit.mode,
33956
34172
  allowUpdating: props.edit.allowUpdating,
@@ -34641,27 +34857,6 @@ var useStyles$2 = antdStyle.createStyles(function (_ref) {
34641
34857
  };
34642
34858
  });
34643
34859
 
34644
- var iconComponents = {
34645
- edit: outline.EditIcon,
34646
- "delete": outline.Trash1Icon,
34647
- copy: outline.CopyIcon,
34648
- discount: outline.DiscountIcon,
34649
- kebabMenu: outline.KebabMenuIcon,
34650
- refresh: outline.RefreshIcon,
34651
- unmap: outline.LinkBreakIcon,
34652
- save: outline.FloppyDiskIcon,
34653
- cancel: outline.Loop1Icon,
34654
- discount2Icon: outline.Discount2Icon
34655
- };
34656
- var DynamicIcon = function DynamicIcon(_ref) {
34657
- var iconName = _ref.iconName;
34658
- var IconComponent = iconComponents[iconName];
34659
- if (!IconComponent) {
34660
- return null;
34661
- }
34662
- return React__default.createElement(IconComponent, null);
34663
- };
34664
-
34665
34860
  var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
34666
34861
  var _props$dataGridRef, _props$dataGridRef$da, _props$dataGridRef$da2, _props$dataGridRef$da3, _props$columnResizing, _props$selection, _props$pagerProps$vis, _props$pagerProps, _props$pagerProps$sho, _props$pagerProps2, _props$pagerProps$sho2, _props$pagerProps3, _props$pagerProps$dis, _props$pagerProps4, _props$pagerProps$inf, _props$pagerProps5, _props$exportProps;
34667
34862
  var rowCount = React.useRef(0);
@@ -35052,7 +35247,7 @@ var usePageTitleAndToolbarStyles = antdStyle.createStyles(function (_ref2) {
35052
35247
  };
35053
35248
  });
35054
35249
 
35055
- var useOnActionCellRenderHandler = function useOnActionCellRenderHandler(visibleActionButtons, actionButtonGroup, edit, actionButtonsTooltipType) {
35250
+ var useOnActionCellRenderHandler$1 = function useOnActionCellRenderHandler(visibleActionButtons, actionButtonGroup, edit, actionButtonsTooltipType) {
35056
35251
  var onActionCellRender = React.useCallback(function (cellData) {
35057
35252
  if (!cellData || !visibleActionButtons) return null;
35058
35253
  var kebabMenuButtons = actionButtonGroup && actionButtonGroup.length >= 2 && !edit ? actionButtonGroup.slice(2).map(function (button) {
@@ -35172,7 +35367,7 @@ var useOnEditorPreparedHandler = function useOnEditorPreparedHandler(callback) {
35172
35367
  return onEditorPrepared;
35173
35368
  };
35174
35369
 
35175
- var useOnExportingHandler = function useOnExportingHandler(exportProps, getSummary, callback) {
35370
+ var useOnExportingHandler$1 = function useOnExportingHandler(exportProps, getSummary, callback) {
35176
35371
  var onExporting = React.useCallback(function (e) {
35177
35372
  if (exportProps) {
35178
35373
  var _exportProps$fileName, _exportProps$activeTe, _exportProps$passiveT;
@@ -35352,7 +35547,7 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
35352
35547
  var handleOptionChanged = useOnOptionChangedHandler(dataGridRefFromProps, totalFilteredCount, sortingPropsFromProps, setFilterApplied, setUpdateTrigger, onOptionChangedFromProps);
35353
35548
  React.useEffect(function () {}, [updateTrigger]);
35354
35549
  var handleEditorPrepared = useOnEditorPreparedHandler(onEditorPreparedFromProps);
35355
- var handleExporting = useOnExportingHandler(exportPropsFromProps, renderTotal, onExportingFromProps);
35550
+ var handleExporting = useOnExportingHandler$1(exportPropsFromProps, renderTotal, onExportingFromProps);
35356
35551
  var handleCellClick = React.useCallback(function (e) {
35357
35552
  if (e.rowType != "header") {
35358
35553
  e.cellElement.style.backgroundColor = "transparent";
@@ -35370,7 +35565,7 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
35370
35565
  }
35371
35566
  return [];
35372
35567
  }, []);
35373
- var ActionCellRenderPartial = useOnActionCellRenderHandler(VisibleActionButtons, actionButtonGroupFromProps, editPropsFromProps, actionButtonsTooltipTypeFromProps);
35568
+ var ActionCellRenderPartial = useOnActionCellRenderHandler$1(VisibleActionButtons, actionButtonGroupFromProps, editPropsFromProps, actionButtonsTooltipTypeFromProps);
35374
35569
  var DataGridOptionsFromProps = React.useMemo(function () {
35375
35570
  return _extends({}, AllGridOptions, DefaultDataGridOptions, {
35376
35571
  columnResizingMode: columnResizingModeFromProps != null ? columnResizingModeFromProps : "nextColumn"
@@ -35478,193 +35673,6 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
35478
35673
  }, React__default.createElement("p", null, renderTotal())));
35479
35674
  };
35480
35675
 
35481
- var useOnActionCellRenderHandler$1 = function useOnActionCellRenderHandler(visibleActionButtons, actionButtonGroup, edit, actionButtonsTooltipType) {
35482
- var onActionCellRender = React.useCallback(function (cellData) {
35483
- if (!cellData || !visibleActionButtons) return null;
35484
- var kebabMenuButtons = actionButtonGroup && actionButtonGroup.length >= 2 && !edit ? actionButtonGroup.slice(2).map(function (button) {
35485
- return {
35486
- icon: button.icon,
35487
- onClick: function onClick(event) {
35488
- var customEvent = {
35489
- column: cellData.column,
35490
- component: cellData.component,
35491
- element: cellData.element,
35492
- event: event,
35493
- model: cellData.data,
35494
- row: cellData.row
35495
- };
35496
- button.onClick(customEvent);
35497
- }
35498
- };
35499
- }) : [];
35500
- var buttonElements = visibleActionButtons.map(function (buttonItem) {
35501
- var isVisible = typeof buttonItem.visible === "function" ? buttonItem.visible({
35502
- column: cellData.column,
35503
- component: cellData.component,
35504
- row: cellData.row
35505
- }) : buttonItem.visible;
35506
- return React__default.createElement(OdsDataGrdiRowButton, Object.assign({
35507
- key: "action-button-" + buttonItem.name,
35508
- name: buttonItem.name,
35509
- hint: buttonItem.hint,
35510
- visible: isVisible,
35511
- size: "small",
35512
- type: "text",
35513
- disabled: buttonItem.actionPermission === undefined ? false : !buttonItem.actionPermission,
35514
- icon: buttonItem.icon
35515
- }, actionButtonsTooltipType === "styled" && {
35516
- tooltip: buttonItem.hint
35517
- }, {
35518
- onClick: function onClick(event) {
35519
- if (buttonItem.onClick) {
35520
- var customEvent = {
35521
- column: cellData.column,
35522
- component: cellData.component,
35523
- element: cellData.element,
35524
- event: event,
35525
- model: cellData.data,
35526
- row: cellData.row
35527
- };
35528
- buttonItem.onClick(customEvent);
35529
- }
35530
- }
35531
- }));
35532
- });
35533
- if (kebabMenuButtons.length > 0) {
35534
- buttonElements.push(React__default.createElement(OdsDropdown, {
35535
- key: "dropdown-" + (cellData.rowIndex || cellData.data.ID),
35536
- menuItems: kebabMenuButtons
35537
- }, React__default.createElement(OdsDataGrdiRowButton, {
35538
- type: "text",
35539
- icon: React__default.createElement(DynamicIcon, {
35540
- iconName: "kebabMenu"
35541
- })
35542
- })));
35543
- }
35544
- return React__default.createElement(React__default.Fragment, null, buttonElements);
35545
- }, [visibleActionButtons]);
35546
- return onActionCellRender;
35547
- };
35548
-
35549
- var useOnExportingHandler$1 = function useOnExportingHandler(exportProps, getSummary, callback) {
35550
- var onExporting = React.useCallback(function (e) {
35551
- if (exportProps) {
35552
- var _exportProps$fileName, _exportProps$activeTe, _exportProps$passiveT;
35553
- ExportDataGridToExcel({
35554
- gridComponent: e.component,
35555
- baseFileName: (_exportProps$fileName = exportProps.fileName) != null ? _exportProps$fileName : "DataGrid",
35556
- selectedText: exportProps.selectedText,
35557
- getSummary: getSummary,
35558
- selectedRowsOnly: e.selectedRowsOnly,
35559
- activeText: (_exportProps$activeTe = exportProps.activeText) != null ? _exportProps$activeTe : "Active",
35560
- passiveText: (_exportProps$passiveT = exportProps.passiveText) != null ? _exportProps$passiveT : "Passive"
35561
- });
35562
- }
35563
- if (callback) {
35564
- callback(e);
35565
- }
35566
- }, [getSummary]);
35567
- return onExporting;
35568
- };
35569
-
35570
- var MasterDetailDataGrid = function MasterDetailDataGrid(_ref) {
35571
- var columns = _ref.columns,
35572
- dataSource = _ref.dataSource,
35573
- _ref$masterDetailFeat = _ref.masterDetailFeatures,
35574
- masterDetailFeatures = _ref$masterDetailFeat === void 0 ? {} : _ref$masterDetailFeat,
35575
- masterDetailData = _ref.masterDetailData;
35576
- var visibleActionButtons = React.useMemo(function () {
35577
- if (masterDetailFeatures.masterActionButtonGroup && masterDetailFeatures.masterActionButtonGroup.length >= 2) {
35578
- return masterDetailFeatures.masterActionButtonGroup.slice(0, 2);
35579
- }
35580
- return masterDetailFeatures.masterActionButtonGroup || [];
35581
- }, [masterDetailFeatures.masterActionButtonGroup]);
35582
- var onActionCellRender = useOnActionCellRenderHandler$1(visibleActionButtons, masterDetailFeatures.masterActionButtonGroup);
35583
- var getTotalDataCount = function getTotalDataCount() {
35584
- return "" + dataSource.length;
35585
- };
35586
- var handleExporting = useOnExportingHandler$1(masterDetailFeatures.exportProps, getTotalDataCount);
35587
- var effectiveColumns = (masterDetailData === null || masterDetailData === void 0 ? void 0 : masterDetailData.detailGridColumns) || columns || (dataSource[0] ? Object.keys(dataSource[0]).map(function (key) {
35588
- return {
35589
- dataField: key,
35590
- caption: key.charAt(0).toUpperCase() + key.slice(1),
35591
- allowFiltering: true
35592
- };
35593
- }) : []);
35594
- return React__default.createElement(DataGrid__default, {
35595
- style: {
35596
- maxHeight: masterDetailFeatures.maxHeight ? masterDetailFeatures.maxHeight + "px" : "400px",
35597
- overflow: "auto"
35598
- },
35599
- dataSource: dataSource,
35600
- showBorders: true,
35601
- columnAutoWidth: true,
35602
- allowColumnReordering: true,
35603
- selection: {
35604
- mode: masterDetailFeatures.showCheckbox ? "multiple" : "none"
35605
- },
35606
- paging: {
35607
- enabled: true,
35608
- pageSize: masterDetailFeatures.pageSize || 20
35609
- },
35610
- filterRow: {
35611
- visible: masterDetailFeatures.createFilter
35612
- },
35613
- onExporting: handleExporting,
35614
- onToolbarPreparing: masterDetailFeatures.detailToolbar
35615
- }, effectiveColumns.map(function (col) {
35616
- return React__default.createElement(DataGrid.Column, Object.assign({
35617
- key: col.dataField
35618
- }, col, {
35619
- headerFilter: {
35620
- visible: col.allowFiltering
35621
- }
35622
- }));
35623
- }), React__default.createElement(DataGrid.ColumnChooser, {
35624
- enabled: masterDetailFeatures.columnChooser,
35625
- mode: "select"
35626
- }, React__default.createElement(DataGrid.Position, {
35627
- my: "right top",
35628
- at: "right bottom",
35629
- of: document.querySelector("." + "props.dataGridPageName") ? "." + "props.dataGridPageName" + " .dx-datagrid-column-chooser-button" : ".dx-datagrid-column-chooser-button"
35630
- }), React__default.createElement(DataGrid.ColumnChooserSearch, {
35631
- enabled: true,
35632
- editorOptions: {
35633
- placeholder: ""
35634
- }
35635
- }), React__default.createElement(DataGrid.HeaderFilter, {
35636
- visible: true
35637
- }), React__default.createElement(DataGrid.ColumnChooserSelection, {
35638
- allowSelectAll: true,
35639
- selectByClick: true,
35640
- recursive: true
35641
- })), (masterDetailFeatures === null || masterDetailFeatures === void 0 ? void 0 : masterDetailFeatures.exportEnabled) && React__default.createElement(DataGrid.Export, Object.assign({}, masterDetailFeatures.exportProps)), masterDetailFeatures.actionColumnEnable && React__default.createElement(DataGrid.Column, {
35642
- dataField: "Actions",
35643
- caption: "",
35644
- minWidth: 10,
35645
- width: 160,
35646
- fixed: true,
35647
- allowSorting: false,
35648
- type: "buttons",
35649
- showInColumnChooser: false,
35650
- cellRender: onActionCellRender
35651
- }), React__default.createElement(DataGrid.FilterRow, {
35652
- visible: masterDetailFeatures.createFilter
35653
- }), React__default.createElement(DataGrid.Selection, {
35654
- mode: masterDetailFeatures.showCheckbox ? "multiple" : "none"
35655
- }), React__default.createElement(DataGrid.SearchPanel, {
35656
- visible: masterDetailFeatures.showSearchPanel
35657
- }), React__default.createElement(DataGrid.Toolbar, null, React__default.createElement(DataGrid.Item, {
35658
- name: "searchPanel"
35659
- }), React__default.createElement(DataGrid.Item, {
35660
- name: "columnChooserButton",
35661
- cssClass: "toolbarPanelItems"
35662
- }), React__default.createElement(DataGrid.Item, {
35663
- name: "exportButton",
35664
- cssClass: "toolbarPanelItems"
35665
- })));
35666
- };
35667
-
35668
35676
  var _templateObject$t, _templateObject2$5;
35669
35677
  var useStyles$4 = antdStyle.createStyles(function (_ref) {
35670
35678
  var token = _ref.token,
@@ -35947,7 +35955,36 @@ function OdsTreeSelect(props) {
35947
35955
  }, props)))));
35948
35956
  }
35949
35957
 
35950
- var _excluded$6 = ["currencyOptions", "defaultCurrencyId", "locale", "onChange"];
35958
+ var _excluded$6 = ["currencyOptions", "onSelect", "defaultCurrencyId", "disabled"];
35959
+ var CurrencySelect = function CurrencySelect(_ref) {
35960
+ var currencyOptions = _ref.currencyOptions,
35961
+ onSelect = _ref.onSelect,
35962
+ defaultCurrencyId = _ref.defaultCurrencyId,
35963
+ disabled = _ref.disabled,
35964
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$6);
35965
+ var onSelectHandler = function onSelectHandler(value) {
35966
+ var selectedOption = currencyOptions.find(function (option) {
35967
+ return option.id === Number(value);
35968
+ });
35969
+ onSelect(selectedOption);
35970
+ };
35971
+ return React__default.createElement(antd.Select, Object.assign({
35972
+ disabled: disabled,
35973
+ defaultValue: defaultCurrencyId,
35974
+ onSelect: onSelectHandler
35975
+ }, props), currencyOptions.map(function (option) {
35976
+ return React__default.createElement(antd.Select.Option, {
35977
+ key: "" + option.code,
35978
+ value: option.id
35979
+ }, React__default.createElement(antd.Tooltip, {
35980
+ placement: 'right',
35981
+ title: option.name
35982
+ }, option.symbol));
35983
+ }));
35984
+ };
35985
+
35986
+ var _excluded$7 = ["currencyOptions", "defaultCurrencyId", "defaultCurrencyCode", "fixedCurrency"],
35987
+ _excluded2 = ["currencySelectProps", "defaultValue", "locale", "onChange", "dontFormatValue", "min"];
35951
35988
  var _templateObject$w;
35952
35989
  var useStyles$6 = antdStyle.createStyles(function (_ref) {
35953
35990
  var css = _ref.css;
@@ -35956,91 +35993,84 @@ var useStyles$6 = antdStyle.createStyles(function (_ref) {
35956
35993
  };
35957
35994
  });
35958
35995
  var OdsCurrencyInput = function OdsCurrencyInput(_ref2) {
35959
- var _currencyOptions$find;
35960
- var currencyOptions = _ref2.currencyOptions,
35961
- defaultCurrencyId = _ref2.defaultCurrencyId,
35996
+ var _ref2$currencySelectP = _ref2.currencySelectProps,
35997
+ currencyOptions = _ref2$currencySelectP.currencyOptions,
35998
+ defaultCurrencyId = _ref2$currencySelectP.defaultCurrencyId,
35999
+ defaultCurrencyCode = _ref2$currencySelectP.defaultCurrencyCode,
36000
+ _ref2$currencySelectP2 = _ref2$currencySelectP.fixedCurrency,
36001
+ fixedCurrency = _ref2$currencySelectP2 === void 0 ? false : _ref2$currencySelectP2,
36002
+ currencySelectProps = _objectWithoutPropertiesLoose(_ref2$currencySelectP, _excluded$7),
36003
+ _ref2$defaultValue = _ref2.defaultValue,
36004
+ defaultValue = _ref2$defaultValue === void 0 ? "" : _ref2$defaultValue,
35962
36005
  _ref2$locale = _ref2.locale,
35963
36006
  locale = _ref2$locale === void 0 ? 'tr-TR' : _ref2$locale,
35964
36007
  onChange = _ref2.onChange,
35965
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$6);
36008
+ dontFormatValue = _ref2.dontFormatValue,
36009
+ _ref2$min = _ref2.min,
36010
+ min = _ref2$min === void 0 ? 0 : _ref2$min,
36011
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
35966
36012
  var _useStyles = useStyles$6(),
35967
36013
  styles = _useStyles.styles;
35968
- var _useState = React.useState({
35969
- value: undefined,
35970
- currencyId: defaultCurrencyId,
35971
- currencyLabel: ((_currencyOptions$find = currencyOptions.find(function (option) {
35972
- return option.value === defaultCurrencyId;
35973
- })) === null || _currencyOptions$find === void 0 ? void 0 : _currencyOptions$find.label) || ''
35974
- }),
35975
- result = _useState[0],
35976
- setResult = _useState[1];
36014
+ var defaultCurrency = React.useMemo(function () {
36015
+ return currencyOptions.find(function (option) {
36016
+ return option.id === defaultCurrencyId || option.code === defaultCurrencyCode;
36017
+ });
36018
+ }, [currencyOptions, defaultCurrencyId, defaultCurrencyCode]);
36019
+ var _useState = React.useState(defaultValue),
36020
+ value = _useState[0],
36021
+ setValue = _useState[1];
36022
+ var _useState2 = React.useState(defaultCurrency),
36023
+ currency = _useState2[0],
36024
+ setCurrency = _useState2[1];
35977
36025
  React.useEffect(function () {
35978
- if (result) {
35979
- onChange === null || onChange === void 0 ? void 0 : onChange(result);
36026
+ if (currency && value !== undefined) {
36027
+ onChange === null || onChange === void 0 ? void 0 : onChange({
36028
+ value: value,
36029
+ currency: currency
36030
+ });
35980
36031
  }
35981
- }, [result]);
35982
- var formatValue = function formatValue(value) {
35983
- if (value === undefined || value === null) return '';
35984
- return new Intl.NumberFormat(locale).format(Number(value));
35985
- };
35986
- var parseValue = function parseValue(stringNumber) {
35987
- var thousandSeparator = Intl.NumberFormat(locale).format(11111).replace(/(?:[0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDF50-\uDF59\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD839[\uDCF0-\uDCF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9])/g, '');
35988
- var decimalSeparator = Intl.NumberFormat(locale).format(1.1).replace(/(?:[0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDF50-\uDF59\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD839[\uDCF0-\uDCF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9])/g, '');
35989
- return parseFloat(stringNumber.replace(new RegExp('\\' + thousandSeparator, 'g'), '').replace(new RegExp('\\' + decimalSeparator), '.'));
35990
- };
35991
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(styled.ThemeProvider, {
35992
- theme: lightTheme
35993
- }, React__default.createElement(antd.ConfigProvider, {
35994
- theme: {
35995
- components: {}
36032
+ }, [currency, value]);
36033
+ var currencySelector = React.useMemo(function () {
36034
+ if (!currencyOptions || currencyOptions.length === 0) {
36035
+ return undefined;
36036
+ } else if (fixedCurrency) {
36037
+ return defaultCurrency === null || defaultCurrency === void 0 ? void 0 : defaultCurrency.symbol;
35996
36038
  }
35997
- }, React__default.createElement(antd.InputNumber, Object.assign({
35998
- addonAfter: React__default.createElement(CurrencySelect, {
36039
+ return React__default.createElement(CurrencySelect, Object.assign({
35999
36040
  currencyOptions: currencyOptions,
36000
- onSelect: function onSelect(value, selected) {
36001
- setResult(_extends({}, result, {
36002
- currencyId: value,
36003
- currencyLabel: selected.label
36004
- }));
36041
+ onSelect: function onSelect(selected) {
36042
+ return setCurrency(selected);
36005
36043
  },
36006
- defaultCurrencyId: defaultCurrencyId
36007
- }),
36008
- value: result.value,
36044
+ defaultCurrencyId: defaultCurrency === null || defaultCurrency === void 0 ? void 0 : defaultCurrency.id
36045
+ }, currencySelectProps));
36046
+ }, [fixedCurrency, currencyOptions, defaultCurrency]);
36047
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(styled.ThemeProvider, {
36048
+ theme: lightTheme
36049
+ }, React__default.createElement(antd.InputNumber, Object.assign({
36050
+ defaultValue: defaultValue,
36051
+ min: min,
36052
+ addonBefore: currencySelector,
36053
+ value: value,
36009
36054
  className: styles.Wrapper,
36010
36055
  onChange: function onChange(value) {
36011
- setResult(_extends({}, result, {
36012
- value: value
36013
- }));
36056
+ return setValue(value);
36014
36057
  },
36015
36058
  formatter: function formatter(value) {
36016
- return formatValue(Number(value));
36059
+ return dontFormatValue ? String(value) : formatValue(Number(value), locale);
36017
36060
  },
36018
36061
  parser: function parser(value) {
36019
- return parseValue(value);
36062
+ return dontFormatValue ? value : parseValue(value, locale);
36020
36063
  }
36021
- }, props)))));
36064
+ }, props))));
36022
36065
  };
36023
- var CurrencySelect = function CurrencySelect(_ref3) {
36024
- var currencyOptions = _ref3.currencyOptions,
36025
- _onSelect = _ref3.onSelect,
36026
- defaultCurrencyId = _ref3.defaultCurrencyId;
36027
- return React__default.createElement(antd.Select, {
36028
- defaultValue: defaultCurrencyId,
36029
- style: {
36030
- width: 80
36031
- },
36032
- onSelect: function onSelect(value, selected) {
36033
- _onSelect(Number(value), {
36034
- value: Number(selected.value),
36035
- label: selected.key
36036
- });
36037
- }
36038
- }, currencyOptions.map(function (option) {
36039
- return React__default.createElement(antd.Select.Option, {
36040
- key: option.label,
36041
- value: option.value
36042
- }, option.label);
36043
- }));
36066
+ var formatValue = function formatValue(value, locale) {
36067
+ if (value === undefined || value === null) return '';
36068
+ return new Intl.NumberFormat(locale).format(Number(value));
36069
+ };
36070
+ var parseValue = function parseValue(stringNumber, locale) {
36071
+ var thousandSeparator = Intl.NumberFormat(locale).format(11111).replace(/(?:[0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDF50-\uDF59\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD839[\uDCF0-\uDCF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9])/g, '');
36072
+ var decimalSeparator = Intl.NumberFormat(locale).format(1.1).replace(/(?:[0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDF50-\uDF59\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD839[\uDCF0-\uDCF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9])/g, '');
36073
+ return parseFloat(stringNumber.replace(new RegExp('\\' + thousandSeparator, 'g'), '').replace(new RegExp('\\' + decimalSeparator), '.'));
36044
36074
  };
36045
36075
 
36046
36076
  /**